Skip to content

Instantly share code, notes, and snippets.

View chenzx's full-sized avatar
🎯
Focusing

Chen Zhixiang chenzx

🎯
Focusing
  • Shanghai, China
View GitHub Profile
@chenzx
chenzx / 20141024-Web应用安全权威指南
Created October 24, 2014 10:54
Web应用安全权威指南
Web应用安全权威指南
跳转至: 导航、 搜索
p41 每次会话认证完成后更改下一次的会话ID
p44 Cookie Monster Bug:应该指定a.co.jp的却指定成co.jp
php.ini:session.cookie_httponly=on(JS不能访问Cookie)
不显示错误信息:display_errors=off
同源策略:外部网页JS无法访问iframe内部的内容
XSS:将外部JS注入到iframe内部执行(不用iframe也可以)
XSS本质上是由于缺陷网站没有对用户输入做校验过滤导致的!
@chenzx
chenzx / 20141024-深入理解Oracle RAC 12c
Created October 24, 2014 04:32
深入理解Oracle RAC 12c
深入理解Oracle RAC 12c
跳转至: 导航、 搜索
目录
1 概述
2 集群件管理和故障诊断
3 运行实践
4 新特性
5 存储和ASM
6 应用设计上的问题
@chenzx
chenzx / 20141022-Node.js实战
Created October 22, 2014 10:49
Node.js实战
Node.js实战
跳转至: 导航、 搜索
Node基础
DIRT
Browserling https://browserling.com
StackVM https://github.com/substack/stackvm
module.exports
p53 用闭包冻结变量的当前状态值:(function(c){...})(arg1);
串行/并行流程控制
@chenzx
chenzx / 20141022-深入理解Oracle 12c数据库管理
Created October 22, 2014 09:14
深入理解Oracle 12c数据库管理
深入理解Oracle 12c数据库管理
跳转至: 导航、 搜索
目录
1 安装Oracle
2 实现数据库
3 配置高效环境
4 表空间和数据文件
5 管理控制文件、联机重做日志和归档
6 用户账号和基本安全
@chenzx
chenzx / 20141021-微型信用支付:网络微型金融的未来
Created October 21, 2014 06:16
微型信用支付:网络微型金融的未来
现在所谓的微型金融模型是:消费者需要预存一笔钱给托管运营商,比如支付宝。
但这种模式导致大量的钱囤积在一家,用户损失了现期可支配收入、淘宝赚了利息收入不说,实际上还有3个缺点:
1、 托管行收取手续费,这对“自由的贸易”(也就是服务的交换)是巨大的伤害;
2、 托管行有可能拿这些圈水池里的钱去投资,当然,目前的模型只有余额包这种垃圾例子,但不管怎么说,任何投资带来了风险;
3、 用户要是死了,没准这笔钱永远被吞掉了
下面来看看什么是‘微型信用支付’:用户不需要预存一笔钱就可以进行小额支付。这个称之为‘信用’(费用)
譬如一般的信用卡,它的问题是什么呢?过了1个月你还没还钱就会收取高额利息,当然,真正的问题在于信用卡助长了人的物质消费欲望,
这样会导致超出当前实力的大额透支消费,万劫不复之地。
@chenzx
chenzx / 20141021-特别好用!把软件做成‘耐用品’——读周鸿祎《我的互联网方法论》有感
Created October 21, 2014 06:15
特别好用!把软件做成‘耐用品’——读周鸿祎《我的互联网方法论》有感
特别好用!把软件做成‘耐用品’——读周鸿祎《我的互联网方法论》有感
从他说的2个例子:用户下载了软件却不知道点击安装、以及那个“云同步”软用户上传到云服务器端就以为本地的可以删除了(可见所谓的同步软件本质的作用是通过备份增加数据安全,而用户只是想通过数据上传节省本地存储空间),这可以看出,注重用户体验,把软件做到“特别好用”,是有很大的挑战性的。
我进一步可以总结出,不仅仅是要特别好用,而且是要做成‘耐用品’——这是一个更高级的要求,这才是软件供应商真正的任务。而目前的卖软件的不过是想捞一笔就走,这个之间是存在差异的。
设想做一款软件,做成耐用品的意思就是说,用户会一直用一直用,用上几十年,甚至父亲用了儿子用,妈妈用了女儿用,这才是真正牛逼的软件工匠!也就是说,除去一些技术细节(比如说Chrome/Firefox浏览器使用的自动更新特性),这款软件必须能够与时俱进地把握住用户的核心需求,创造独一无二、超出用户期望的使用体验!
要能做到:使用某款软件已经变成了用户的精神寄托(不过这有点夸张了)、以及变成用户生活的一部分。
@chenzx
chenzx / 20141017-urls
Created October 17, 2014 14:39
20141017-urls
https://github.com/operasoftware/browserjs/blob/master/mobile/browserjs-12.10.js
@chenzx
chenzx / 20141014-Effective MySQL之深入解析复制技术
Created October 14, 2014 11:18
Effective MySQL之深入解析复制技术
Effective MySQL之深入解析复制技术
跳转至: 导航、 搜索
目录
1 DBA五分钟速成
2 诊断常见的数据复制问题
3 改善标准数据复制特性
4 多主复制
5 MySQL数据复制工具
6 实际应用中的数据复制扩展技术
@chenzx
chenzx / 20101011-Rust语言的一些特性(基于表达式的系统编程语言?)
Created October 10, 2014 17:02
Rust语言的一些特性(基于表达式的系统编程语言?)
1、let mut x = 10i; 用学术的话来说,let代表文法级别的名字绑定(到value对象)
println!是宏,第一眼看到它时还以为是学习Ruby,!代表函数有副作用呢
destructuring let:解构绑定这个概念来自于LISP/Erlang?
2、表达式语言:if是表达式;加上分号就变成语句;return x;等同于直接的一个x
还有,它的if/for/while的条件判断不用加()圆括号,这跟Swift是一致的(就是感觉有点别扭)
3、函数原型:fn f(x: int, y: &str) -> () { ... }
这里使用的语法风格跟C++ 11、Scala似乎都差不多。
@chenzx
chenzx / 20141010-做事情的真正态度
Created October 10, 2014 09:11
做事情的真正态度
做事情的真正态度,就是说,你应该从中学到什么东西。
如果说,你并没有学到什么东西,而是把你已经掌握的知识熟练地重新运用了而已,那这件事情其实没什么意义。
再者,所谓学到什么东西,应该是学到你自己感兴趣的东西,及能够带来物质回报的东西。
假如仅仅从金钱回报上来看是否是学到东西的标准,那么你无非是在拿自己的生命(时间精力)换钱。而这种行为,和奴隶没什么本质的不同。
所以说,一个人自己生命的意义,是要靠他自己来寻找的。
而这个寻找的手段,就是遵循自己兴趣的学习。
下面驳斥几种观点:
1、 效率优先
效率不是目的,提供效率只是手段。做事情的意义在于首先自己学到东西,其次是顺便帮到了他人,因此带来了价值。