blog

thinkphp REST

雨燕双飞 提交于 2019-12-04 08:50:33
REST介绍 REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一些设计概念和准则: 大理石构件 1、网络上的所有事物都被抽象为资源(resource); 2、每个资源对应一个唯一的资源标识(resource identifier); 3、通过通用的连接器接口(generic connector interface)对资源进行操作; 4、对资源的各种操作不会改变资源标识; 5、所有的操作都是无状态的(stateless)。 需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML以及HTML这些现有的广泛流行的协议和标准。 传统的请求模式和REST模式的请求模式区别: 作用 传统模式 REST模式 列举出所有的用户 GET /users/list GET /users 列出ID为1的用户信息 GET /users/show/id/1 GET /users/1 插入一个新的用户 POST /users/add POST /users 更新ID为1的用户信息 POST /users/mdy/id/1 PUT /users/1 删除ID为1的用户 POST /users/delete/id/1 DELETE /users/1

Elasticsearch 7.x文档基本操作(CRUD)

為{幸葍}努か 提交于 2019-12-04 08:28:19
官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html 1.1 添加文档 (1)指定文档ID PUT blog/_doc/1 { "title":"1、VMware Workstation虚拟机软件安装图解", "author":"chengyuqiang", "content":"1、VMware Workstation虚拟机软件安装图解...", "url":"http://x.co/6nc81" } Elasticsearch服务会返回一个JSON格式的响应。 { "_index" : "blog", "_type" : "_doc", "_id" : "1", "_version" : 1, "result" : "created", "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 2 } 响应结果说明: _index:文档所在的索引名 _type:文档所在的类型名 _id:文档ID _version:文档的版本 result:created已经创建 _shards: _shards表示索引操作的复制过程的信息。 total

MySQL的JOIN(一):用法

老子叫甜甜 提交于 2019-12-04 06:44:25
MySQL的JOIN(一):用法 JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。这里描述先甩出一张用烂了的图,然后插入测试数据。 CREATE TABLE t_blog( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(50), typeId INT ); SELECT * FROM t_blog; +----+-------+--------+ | id | title | typeId | +----+-------+--------+ | 1 | aaa | 1 | | 2 | bbb | 2 | | 3 | ccc | 3 | | 4 | ddd | 4 | | 5 | eee | 4 | | 6 | fff | 3 | | 7 | ggg | 2 | | 8 | hhh | NULL | | 9 | iii | NULL | | 10 | jjj | NULL | +----+-------+--------+ -- 博客的类别 CREATE TABLE t_type( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20) ); SELECT * FROM t_type; +----+------------+ |

数组

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-04 06:38:33
1. 二维数组的查找 https://my.oschina.net/u/3973793/blog/3097920 2. 数组中重复的数字 https://my.oschina.net/u/3973793/blog/3106083 3. 构建乘积数组 https://my.oschina.net/u/3973793/blog/3106112 4.调整数组顺序使奇数位于偶数前面 https://my.oschina.net/u/3973793/blog/3102354 5. 顺时针打印矩阵 https://my.oschina.net/u/3973793/blog/write 6. 连续子数组的最大和 https://my.oschina.net/u/3973793/blog/3105827 7. 把数组排成最小的数 https://my.oschina.net/u/3973793/blog/3105830 来源: https://my.oschina.net/u/3973793/blog/3128812

mybatis 高级映射

放肆的年华 提交于 2019-12-04 06:34:35
高级结果映射 MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的。虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是。如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有。结果集映射就是MyBatis为解决这些问题而提供的解决方案。例如,我们如何映射下面这条语句? <select id="selectBlogDetails" parameterType="int" resultMap="detailedBlogResultMap"> select B.id as blog_id, B.title as blog_title, B.author_id as blog_author_id, A.id as author_id, A.username as author_username, A.password as author_password, A.email as author_email, A.bio as author_bio, A.favourite_section as author_favourite_section, P.id as post_id, P.blog_id as post_blog_id, P.author_id as post_author_id, P.created_on as post

利用hexo和github搭建静态blog

試著忘記壹切 提交于 2019-12-04 05:03:18
###1. 本地安装 ###2. 从github上导入 hexo init //在文件夹下创建相应文件 INFO You are almost done! Don't forget to run 'npm install' before you start blogging with Hexo! npm install //创建node_modules目录 修改目录下的_config.yml文件 #Deployment ##Docs: http://hexo.io/docs/deployment.html deploy: 以下是新增 type: git // 注意冒号后的空格 repository: git@github.com:name/name.git //ssh格式而不是https格式, 本地多个key的时候 注意主机名 branch: master ssh -T git@github.com //本地多个key的时候,注意测试的主机名 ###常见错误 hexo d 发布时提示'ERROR Deployer not found: git ' npm install hexo-deployer-git --save 再确认下_config.yml中的type是不是 git 来源: oschina 链接: https://my.oschina.net/u/111698/blog

MyBatis:动态SQL

五迷三道 提交于 2019-12-04 04:22:35
动态SQL: 什么是动态SQL: 动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句. 官方描述: MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL 语言得以改进这种情形。 动态 SQL 元素和 JSTL 或基于类似 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多元素需要花时间了解。MyBatis 3 大大精简了元素种类,现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。 if choose (when, otherwise) trim (where, set) foreach ​ 我们之前写的 SQL 语句 都比较 简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不注意,由于引号,空格等缺失可能都会导致错误。那么怎么去解决这个问题呢?这就要使用 mybatis 动态SQL,通过 if, choose,

Win7 64位编译Python扩展解决”error: Unable to find vcvarsa

坚强是说给别人听的谎言 提交于 2019-12-04 02:02:39
Python编译扩展命令python setup.py install但命令总是失败,出现error: Unable to find vcvarsall.bat 参照 http://wangye.org/blog/archives/738/ 按照如下设置解决问题。 set DISTUTILS_USE_SDK=1 set MSSdk=1 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64 来源: oschina 链接: https://my.oschina.net/u/53273/blog/189838