客户端与服务器通信,这是一个request
与response
的过程。在Yii2
中分别有yii\web\Request.php
和 yii\web\Response.php
来处理。
其中request处理cookie
的逻辑是:
客户端与服务器通信,这是一个request
与response
的过程。在Yii2
中分别有yii\web\Request.php
和 yii\web\Response.php
来处理。
其中request处理cookie
的逻辑是:
复制集配置:
1 | config = { |
对于多人协作的项目,如果没有强制性的代码风格约束,很容易出现不一致问题。
我们需要有规范来告诉别人应该怎么去做,但是我们无法保证每个人都是在按照规范来做。
标准规范都应该落实到强制性约束上,这可以让开发者无需考虑规范,但又始终在规范之内.
这里我不得不赞一下golang
语言,存在相应的工具,你无需纠结于缩进使用空格还是TAB,
gofmt
来解决, import
的顺序是如何,也有goimports
的工具.
之前一直也想着整理PHP代码规范,然后落实到项目中去,但没有具体落实下去。留下来
的技术债,终究是要还的。最近项目集成了gitlab-ci,
可以在提交代码的时候在代码检查,正好符合强制性约束的要求。
一开始使用的是PHP_Code_Sniffer来做代码检查,但是因为一些历史原因,不能很好的适配,如果忽略warning级别的提示,检查的力度又太粗了。于是换了php-cs-fixer, 对里面的一些配置项做了筛选,确定了最终的配置。
在yii\base\View
中的 findViewFile($view, $context = null)
中 存在 5种view
的处理方式:
能够优雅的重启,可以处理未处理完的request, 保证服务不中断
应该使用: var t []string
, 而不是: t := []string{}
前者会避免内存分配,除非使用了append()
panic
对于普通的错误处理,不要使用panic
,使用error和多返回值,
- docker influxdb: http://www.tomdee.co.uk/2015/10/10/deploying-influxdb-using-docker/
- docker pull influxdb
- docker run -d –volume=/var/influxdb:/data –restart=always -e PRE_CREATE_DB=”tomdee” -p 8083:8083 -p 8086:8086 influxdb:lastest
1 | import ( |
go在1.6的版本中加入了 Detection of unsafe concurrent access to maps
,
考虑下面的代码:
1 | const workers = 100 // what if we have 1, 2, 25? |