books

Can we create custom Query using Spring Data REST while using @RepositoryRestResource?

匿名 (未验证) 提交于 2019-12-03 01:41:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am new to spring boot, I was trying to create a simple REST service using Spring-boot JPA. First I used simple @Repository which works fine, I can write custom Query method for the properties defined in my class. But when I use @RepositoryRestResource I am not able to create custom Query methods. Basic finding on primary key and other operations are happening but I can not create any custom Query. package com.example.demo.Model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity

mongodb group values by multiple fields

匿名 (未验证) 提交于 2019-12-03 01:18:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: For example, I have these documents: { addr: 'address1' book: 'book1' }, { addr: 'address2' book: 'book1' }, { addr: 'address1' book: 'book5' }, { addr: 'address3' book: 'book9' }, { addr: 'address2' book: 'book5' }, { addr: 'address2' book: 'book1' }, { addr: 'address1' book: 'book1' }, { addr: 'address15' book: 'book1' }, { addr: 'address9' book: 'book99' }, { addr: 'address90' book: 'book33' }, { addr: 'address4' book: 'book3' }, { addr: 'address5' book: 'book1' }, { addr: 'address77' book: 'book11' }, { addr: 'address1' book: 'book1' }

MonogoDb学习笔记

匿名 (未验证) 提交于 2019-12-03 00:43:02
最近重新学习了Mongodb,总结下了Monogodb的用法,以便以后查看。 备份: mongodump -h 127.0 . 0.1 -d spm -o /home/ liuwei 还原: mongorestore -h dbhost -d dbname -directoryperdb /home/liuwei/ spm 显示所有数据库:   show dbs; 创建数据库: 如果数据库不存在,则创建数据库,否则切换到指定数据库。   use dbname; 删除数据库: db.dropDatabase(); 创建集合: capped 是否固定集合 配合size autoindexid 自动为_id添加索引 max集合中包含文档的最大数量 db.createCollection( ‘ student ‘ ); db.createCollection( " mycol " , { capped : true , autoIndexId : true , size : 6142800 , max : 10000 } ) 删除集合: db.student.drop(); 显示所有集合 show collections; 插入文档: db.student.insert({code: " 201517020119 " ,name: " zhangsan " ,age: 20 });

Scrapy爬虫爬取书籍网站信息(二)

匿名 (未验证) 提交于 2019-12-03 00:19:01
上文中我们了解到了如何在网页中的源代码中查找到相关信息,接下来进行页面爬取工作: 1、首先创建一个Scrapy项目,取名为toscrape_book,接下来创建Spider文件以及Spider类,步骤如下: 整个Scrapy框架建于D盘下的pycodes文件夹中,并在文件夹下的Spider文件中建立一个名为books的爬虫文件。 2、在实现Spider之前,先定义封装书籍信息的Item类,在toscrape_book/items.py中添加如下代码: class BookItem(scrapy.Item): name=scrapy.Field() #书名 price=scrapy.Field() #价格 review_rating=scrapy.Field() #评价等级,1-5星 review_num=scrapy.Field() #评价数量 upc=scrapy.Field() #产品编码 stock=scrapy.Field() #库存量 3,接下来按照5步完成BooksSpider。 class BooksSpider(scrapy.Spider): name = 'books' allowed_domains = ['books.toscrape.com'] start_urls = ['http://books.toscrape.com/'] #书籍列表页面的解析函数

[ef core ] dz̸ Referential Constraint Action Options

匿名 (未验证) 提交于 2019-12-03 00:14:01
link: https://www.learnentityframeworkcore.com/relationships/referential-constraint-action-options 我的理解是, 当你对数据库中的某个数据进行更新或者删除操作时, 对这个数据关联的数据如何操作的设置. 为了能够更好的理解, 首先搞两个表: 根据图示, author 表中的 author id 是作为 books 表中的外键存在的. 在设置 books 表的外键时的sql 语句为: CONSTRAINT [FK_Books_Authors_AuthorId] FOREIGN KEY ([AuthorId]) REFERENCES [Authors] ([AuthorId]) 也就是说当设置外键时, 我们需要指定一下, 当 Author 表中的 record 被 update 或者 delete 时, books 表中相关联的数据的值如何进行联动的设置. ef core 提供了四个设置, 分别是以下: on update/delete no action 这个设置是默认的, 举个例子就是当你删除 author 表中的某个 author 记录时, 如果你不先将 books 表中外键为该 author 的数据先删除, 你就不能去删除 author 表里这条记录. on update

小项目总结

倾然丶 夕夏残阳落幕 提交于 2019-12-02 16:47:53
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="index.css"> </head> <body> <div id="app"> <div v-if="books.length"> <table> <thead> <tr> <th>书id</th> <th>书名</th> <th>日期</th> <th>书价格</th> <th>购买数量</th> <th>操作</th> </tr> </thead> <tbody> <tr v-for="(book, index) in books"> <td>{{book.id}}</td> <td>{{book.name}}</td> <td>{{book.data}}</td> <!--<td>{{'¥' + book.price.toFixed(2)}}</td>--> <!--<td>{{getFinalPrice(book.price)}}</td>--> <td>{{book.price | showPrice}}</td> <td><button @click="decrement(index)" :disabled="book

百万年薪python之路 -- 请求跨域和CORS协议详解

大憨熊 提交于 2019-12-01 17:13:26
楔子 什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别来自127.0.0.1:8000和127.0.0.1:8001的页面,当浏览器的127.0.0.1:8000的tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和127.0.0.1:8000同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 什么是跨域 简单的说即为浏览器限制访问A站点下的js代码对B站点下的url进行ajax请求。比如说,前端域名是 www.abc.com ,那么在当前环境中运行的js代码,出于安全考虑,访问 www.xyz.com 域名下的资源,是受到限制的。现代浏览器默认都会基于安全原因而阻止跨域的ajax请求,这是现代浏览器中必备的功能,但是往往给开发带来不便。 更详细的资料可以看这里 Web应用跨域访问解决方案汇总 。 CORS协议 在本地文件系统的Web页面,也有需要获取外部数据的需求,而这些需求也必然是跨域的。在寻找跨域解决方案时,发现了最优雅解决方案就是HTML5来带了的“Cross-Origin Resource Sharing”的新特性

drf基础

风格不统一 提交于 2019-12-01 09:57:37
drf框架 全称:django-rest framework 接口 """ 接口:联系两个物质的媒介,完成信息交互 web程序中:联系前台页面与后台数据库的媒介 web接口组成: url:长得像放回数据的url链接 请求参数:前台按照指定的key提供数据给后台 响应数据:后台与数据库交互后将数据反馈给前台 """ restful接口规范 接口规范:就是为了采用不同的后台语言,也能使用同样的接口获取到同样的数据 如何写接口:接口规范是 规范化书写接口的,写接口要写 url、响应数据 注:如果将请求参数也纳入考量范围,那就是在写 接口文档 两大部分: url ''' 1) 用api关键字标识接口url api.baidu.com | www.baidu.com/api 2) 接口数据安全性决定优先选择https协议 3) 如果一个接口有多版本存在,需要在url中标识体现 api.baidu.com/v1/... | api.baidu.com/v2/... 4) 接口操作的数据源称之为 资源,在url中一般采用资源复数形式,一个接口可以概括对该资源的多种操作方式 api.baidu.com/books | api.baidu.com/books/(pk) 5) 请求方式有多种,用一个url处理如何保证不混乱 - 通过请求方式标识操作资源的方式 /books get 获取所有

11-Django站点管理

元气小坏坏 提交于 2019-12-01 08:47:57
站点管理 内容发布的部分由网站的管理员负责,包括查看、添加、修改、删除数据 开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块 在Django项目中默认启用Admin管理站点 列表页选项 编辑页选项 重写模板 1、启动mysql数据库: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bookdb', 'HOST': 'localhost', 'PORT': '3306', 'USER': 'root', 'PASSWORD': '', } } 2、models.py文件中,定义模型类(没有迁移数据表的需要线迁移数据表) python manage.py makemigrations python manage.py migrate from django.db import models # Create your models here. #创建作者信息表 class Authors(models.Model): name = models.CharField(max_length=20)#作者名字 gender = models.BooleanField(default=True)#性别 age = models

链表排序

人走茶凉 提交于 2019-12-01 06:55:40
1、冒泡排序 void Sort(List &L) { List r,q; r= L->next; List p = new LNode; p->next = NULL; for (q=L->next;q;q=q->next)//for(int i=0;i<num;i++) { for (r=L->next;r->next; r=r->next) { if (r->books.price < r->next->books.price) { p->books = r->next->books; r->next->books = r->books; r->books = p->books; } } } }或者 for (int i=0;i<num;i++) { r = L->next; for (int j=0;j<num-i-1;j++) { if (r->books.price < r->next->books.price) { p->books = r->next->books; r->next->books = r->books; r->books = p->books; } r = r->next; } } 2、快排 来源: https://www.cnblogs.com/h694879357/p/11665120.html