什么是 RESTful
RESTful 是一种软件设计风格,由 Roy Fielding 在他的 论文 中提出,全称为 Representational State Transfer
,直译为表现层状态转移
,或许可以解释为用 URL 定位资源,用 HTTP 动词描述操作
,不用太纠结于定义,接下来我们会详细讨论。
RESTful 风格的接口,目前来看,实现的最好的就是 Github API,经常被效仿。接下来我们通过分析 Github API 来引出我们的 API 设计原则。
RESTful 是一种软件设计风格,由 Roy Fielding 在他的 论文 中提出,全称为 Representational State Transfer
,直译为表现层状态转移
,或许可以解释为用 URL 定位资源,用 HTTP 动词描述操作
,不用太纠结于定义,接下来我们会详细讨论。
RESTful 风格的接口,目前来看,实现的最好的就是 Github API,经常被效仿。接下来我们通过分析 Github API 来引出我们的 API 设计原则。
http://blog.csdn.net/longshihua/article/details/50252163
https://www.cnblogs.com/zhuzi1995/p/7534999.html
https://www.hangge.com/blog/cache/detail_534.html
textarea 原本是不会自适应高度的。可恨的滚动条也总会出现。想要让textarea自适应高度的,就用 js
吧。
$('textarea').each(function () {
this.setAttribute('style', 'height:' + (this.scrollHeight) + 'px;overflow-y:hidden;');
}).on('input', function () {
this.style.height = 'auto';
this.style.height = (this.scrollHeight) + 'px';
});
$('textarea').bind('input propertychange', function() {
$('.msg').html($(this).val().length + ' characters');
});
smplemde
https://github.com/sparksuite/simplemde-markdown-editor
可隐藏bar,可设置最小高度,可侦听变化,可复制粘贴图片。
js
markdown->htmlhttps://github.com/chjj/marked
调用 marked 方法即可。
批处理是一种高效的操作模式。既然是批量,就得有迹可循,有规则可定义。比如给最后5个文件打包压缩,又比如只将.jpg
文件打包压缩。下边,就来总结下常见的操作。
cd ss
for i in `find ./*.jpg`;
do echo $i;
done
上边的 for
循环会将 ss文件下,所有的以 .jpg
结尾的文件名列出来。需要注意 符号以及变量
$i`。
laravel错误1071 Specified key was too long; max key length is 1000 bytes
Laravel 5.4默认使用utf8mb4
字符编码,而不是之前的utf8
编码。因此运行php artisan migrate
会出现如下错误:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
那么问题根源,以及怎么解决呢。
假如我们要使用七牛的 token。
写在 config/app.php
文件中。[x]无法区分环境进行配置
存储在 .env
文件中,使用 env()
方法直接读取。 [x]虽然解决了环境问题,但不推荐。
存储在 .env
和 config/app.php
文件中,然后使用 config()
函数来读取。 [x] 最佳方案
一种方法是最古老的方法,代码可维护性极低,一旦域名变更就只能全局替换。第二种方法无法区分环境,例如本地使用开发环境域名测试,线上才是正式的 CDN 域名。第三种方法虽然解决了环境变量的问题,并且也具备一定的灵活性,但是不够灵活,假如你的网站流量巨大,需要配置几个 CDN 域名,使其在加载静态资源时随机支配域名,这种做法就无法满足需求了。第四种方法既支持环境变量,又具备极高的灵活性,假如遇到同样的 CDN 多域名随机问题,你只需要写一个辅助方法,然后在 config/app.php
中调用即可,不需要动到任何一行业务逻辑代码。
如果想在mac下使用windows,用虚拟机安装windows是一个不错的选择。比装双系统好多了。想用就用,不要就卸,就跟安装软件卸载软件一样方便。虚拟机容器比较多,有vm,pd,vbox。因为之前用vbox安装了homestead,那么就用vbox来装windows。
https://msdn.itellyou.cn/ 这里有你想要的windows版本,xp,vista,win7,win10,server等。个人比较中意win7,这里选择win7 64位旗舰版。
先安装 virtualbox, 以及 vagrant 。 这两个都是免费软件。默认安装即可。安装 virtualbox 时,记得要运行它的pkg文件。
再来安装 homestead.box。
Laravel的auth功能非常好用。只需要按照模板写,几乎不写代码就可以完成注册,登录,忘记密码这一整套流程。但是,仅仅照搬,还是有些不足的。下边列出个人注意的一些知识点,以备以后会用到。
前端表单页面 -> 路由 -> 控制器(RegisterController) + RegistersUsers。
什么是 Vagrant。
什么是 Homestead。
VirtualBox 是 Oracle 公司的开源虚拟机软件。VirtualBox号称是最强的免费虚拟机软件,它不仅功能齐全,而且性能也很优异!VirtualBox 支持大部分流行的系统,如:Mac, Windows, Linux 等。