痕无落


  • 首页

  • 归档

  • 标签

Yii2 中关于cookie使用遇到的问题

发表于 2017-07-27 | 分类于 PHP

关于 Yii2这里我就不介绍,主要讲的是cookie的使用及遇到的一些问题

客户端与服务器通信,这是一个request与response的过程。在Yii2中分别有yii\web\Request.php 和 yii\web\Response.php 来处理。

其中request处理cookie的逻辑是:

阅读全文 »

在docker容器内使用容器外的mongodb的复制集

发表于 2017-06-16

复制集配置:

1
2
3
4
5
6
7
8
9
config = {
_id: "mike",
members: [
{_id:1, host:"127.0.0.1:30001"},
{_id:2, host:"127.0.0.1:30002"},
{_id:3, host:"127.0.0.1:30003",arbiterOnly:true}
]
}
rs.initiate(config);
阅读全文 »

关于代码规范

发表于 2017-05-05

对于多人协作的项目,如果没有强制性的代码风格约束,很容易出现不一致问题。
我们需要有规范来告诉别人应该怎么去做,但是我们无法保证每个人都是在按照规范来做。
标准规范都应该落实到强制性约束上,这可以让开发者无需考虑规范,但又始终在规范之内.

这里我不得不赞一下golang语言,存在相应的工具,你无需纠结于缩进使用空格还是TAB, gofmt来解决, import的顺序是如何,也有goimports的工具.

之前一直也想着整理PHP代码规范,然后落实到项目中去,但没有具体落实下去。留下来
的技术债,终究是要还的。最近项目集成了gitlab-ci, 可以在提交代码的时候在代码检查,正好符合强制性约束的要求。

一开始使用的是PHP_Code_Sniffer来做代码检查,但是因为一些历史原因,不能很好的适配,如果忽略warning级别的提示,检查的力度又太粗了。于是换了php-cs-fixer, 对里面的一些配置项做了筛选,确定了最终的配置。

阅读全文 »

Yii2 controller中如何设置layout和view的路径

发表于 2017-03-02

在yii\base\View中的 findViewFile($view, $context = null) 中 存在 5种view的处理方式:

阅读全文 »

endless是如何实现graceful restart

发表于 2017-02-14
  • https://grisha.org/blog/2014/06/03/graceful-restart-in-golang/
  • https://github.com/fvbock/endless
  • https://github.com/fvbock/endless/tree/master/examples

什么是graceful restart

能够优雅的重启,可以处理未处理完的request, 保证服务不中断

graceful restart需要做的事

  • 重启服务期间可以确保待处理的request能够得到处理(完成或超时)
  • 不关闭已经打开的socket连接(重用socket)
阅读全文 »

【web性能权威指南】TCP

发表于 2017-01-19

延迟

  • 分组从信息源发送到目的地所需要的时间

带宽

  • 逻辑或物理通信路径上的最大吞吐量

TCP连接 三次握手:

  • 为什么说在发送数据之前需要经历一次完整的往返?
  • 建立TCP连接需要3次SYN分组确认,而在发送第三次SYN确认分组后,发送端可以立即发送数据。此时已经经历了一次完整的往返。但是接收端必须在第三次SYN到达确认后才可以接收数据。
阅读全文 »

go code review comments 【译文】

发表于 2016-12-05

翻译自:https://github.com/golang/go/wiki/CodeReviewComments

注释

  • 注释应该是一段完整的语句
  • 注释应该以所描述内容的名字开头,并且以句号结尾

声明空的切片

应该使用: var t []string, 而不是: t := []string{}
前者会避免内存分配,除非使用了append()

不要使用panic

对于普通的错误处理,不要使用panic,使用error和多返回值,

  • 参考:https://golang.org/doc/effective_go.html#errors
阅读全文 »

influxdb简单使用

发表于 2016-10-11
  • github: https://github.com/influxdata/influxdb

Deploying InfluxDB using Docker

  • 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
阅读全文 »

go有用的使用方式

发表于 2016-09-08
  • http://lib.csdn.net/base/go/structure go知识总结
  • http://www.hellogcc.org/effective_go.html
  • 查看函数的方法名
1
2
3
4
5
import (
"reflect"
"runtime"
)
runtime.FuncForPC(reflect.ValueOf(md.Handler).Pointer()).Name()
阅读全文 »

golang升级到1.7过程中使用gorequest碰到的问题

发表于 2016-08-19

go在1.6的版本中加入了 Detection of unsafe concurrent access to maps, 考虑下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const workers = 100 // what if we have 1, 2, 25?

var wg sync.WaitGroup
wg.Add(workers)
m := map[int]int{}
for i := 1; i <= workers; i++ {
go func(i int) {
for j := 0; j < i; j++ {
m[i]++
}
wg.Done()
}(i)
}
wg.Wait()
阅读全文 »
1234
wangming

wangming

做一个高产的程序员

37 日志
5 分类
28 标签
GitHub 微博
© 2015 - 2019 wangming
由 Hexo 强力驱动
主题 - NexT.Pisces