Intelligence without ambition is a bird without wings.

2015-10-20
go-windows下科学上网

通过设置环境变量代理

1
2
set HTTP_PROXY=http://127.0.0.1:1080
set HTTPS_PROXY=http://127.0.0.1:1080
阅读此文

2015-10-20
mysql-datetime

要点

  1. mysql中有DATE, TIME, DATETIME, TIMESTAMP, YEAR5种时间类型

  2. 时间类型的零值0000-00-00 00:00:00

  3. mysql输出时间值时,默认为标准格式2006-01-02 15:04:05

  4. mysql读入时间值时(赋值, 比较等操作),会尝试转换各种值如整数20151020, "2015-10-20"等(详见)

常用函数

  1. 格式化时间值

    select date_format('2015-10-20 16:00:04', "%Y%m");
    

参考

  1. https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
  2. https://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html
  3. https://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html
  4. https://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html
阅读此文

2015-10-19
http-content-encoding

要点

  • 用来说明内容编码

常见值

  • gzip(用于文本压缩传输)

  • MIME

阅读此文

2015-10-19
http

要点

  • http是请求-应答协议,只能客户端主动发起请求,服务端只负责应答

  • http请求包:状态行,头部,内容

阅读此文

2015-10-19
http-chunked

要点

  • 在不指定Content-Length的情况下,来传输数据,常用来配合gzip使用,边压缩边传输

  • 用一系列分块来传输。每个分块包含十六进制的长度值和数据,长度值独占一行,长度不包括它结尾的 CRLF(\r\n),
    也不包括分块数据结尾的 CRLF。最后一个分块长度值必须为 0,对应的分块数据没有内容,表示实体结束

参考

  1. wiki-chunked
阅读此文

2015-10-19
mysql-prepare-update部分更新

需求

有的时候prepare update只需要部分更新,其他字段保留原来的值,例如
update set A=?, B=?,这里只更新A,但是prepare语句执行的时候,
必须需要带2个参数.

实现方式

update set A=COALESCE(?, A), B=COALESCE(?, B)

prepare(NULL, 1) => 则只更新B

prepare(1, NULL) => 则只更新A

参考

  1. https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce
  2. http://www.perlmonks.org/?node_id=302181
阅读此文

2015-10-19
Exchange ActiveSync

要点

  • 是微软开发地一种同步协议

  • 用来同步通讯录,日历,邮件

阅读此文

2015-10-16
go-fmt

包内特征

  • 3种IO函数

    • 输出

      1. Print用默认格式打印值,中间用空格分隔

      2. Println追加换行

      3. Printf自定义格式化

    • 输入

  • IO源

    1. 默认stdin, stdout

    2. S族(fmt.Sprint, fmt.Sprintln, fmt.Sprintf),string

    3. F族(fmt.Fprint, fmt.Fprintln, fmt.Fprintf),io.Writer

格式化控制

  • %v 默认格式

  • %+v 打印结构体字段名

  • %T 类型

  • %q 转换为字符串字面值,将非打印字符转义(\xXX)

  • %q 转换为字符串字面值,将非打印字符转义(\xXX),将utf-8编码的字符转换为\uXXYY

参考

  1. https://golang.org/pkg/fmt/
阅读此文

2015-10-15
go-time

要点

  • go采用一种独特地时间格式化格式,与传统的C风格不同

  • 格式化标志中带有前导0时(比如月,日,分等),输出也会带有前导0

格式化

    • 2006 4位数

    • 06 年(2位数)

  • 01

  • 02

  • 15:24h制时, 03:12h制时

  • 04

  • 05

  • 周几 Mon,Monday

参考

  1. https://golang.org/pkg/time/
阅读此文

2015-10-15
date

  • 20060102150405(golang style)

    date  +"%Y%m%d%H%M%S"
    
  • epoch time=>ASCII time

    date -d @1234567890
    
  • 设置时间

    date --set='2016-10-28 14:14:01'
    

相对时间

  • 减去1天

    date –date=’-1 day’

  • 加上1天

    date –date=’1 day’

参考

  1. http://www.cyberciti.biz/tips/linux-unix-get-yesterdays-tomorrows-date.html
阅读此文