Submitted by gouki on 2013, June 30, 11:41 PM
本期thinkinlamp应该算是第三期了吧?每一期都有热点,这一期也不例外
只是这一期都集中在百度和微博的爆点上了,都在讲自己怎么优化怎么优化,怎么提高性能,他们也都用图例说明了自己的架构原来是多么的复杂,这些离我们都太远了,其实大家也都明白,PHP能做的事情很多,不仅仅局限于前台,但受限于语言的特性,对于多线程之类的不适合用它来做。也正因此,他们几个都在尝试用其他方式 来避开这个问题,让刀用在刀刃上。
其中有一点就是扩展的问题,百度的人在认为扩展能不用就不用。而鸟哥则认为合理的利用扩展可以有效的提高 性能
然后就是另外三个让我有兴趣的话题了:hm的全文检索/老高的开发规范/梁枫的PHP在web之外
hm的全文检索我是用过了,性能上还是不错,只是当时我的需求是任意字符都必须要能够出搜索结果,但是基于分词的话,就没有办法这么准确。所以,有时候就很纠结。。
老高的几个规范其实在开发中也已经遇到,但有时候真的是为了赶时间就忽略 了这些,不过,在review的时候,偶尔会对这些问题进行修复,但不是每次都保证一定能发现问题,如果到后期遇到了,恐怕就真的很难再改了
梁枫的在WEB之外,是真的让我耳目一新, 无论是直接读ttyACMD之类的文件来使得用PHP与其他设备交互,在linux中,所有的一些都是文件,所以什么都能操作,这点就比windows方便很多。梁枫演示的,用PHP在屏幕画图,视频播放器等功能,真的让我感觉PHP有很多功能没有开发出来。不要忽略了PHP在其他方面的作用。事实上,我就经常用PHP来做运维工具,毕竟用PHP写脚本,对我来说,比shell/bash之类的快很多,而且功能也更强劲
------
顺便,中午的时候,居然有演出,四位朋友的友情演出,才让我突然想起,原来今天是家驹的忌日。从第一次听他的歌到现在居然都快20年了,家驹走好
------
今天的分享中让我记忆犹新的就是几个:1、规范一定要能落地;2、尽量用技术来支撑规范;3、开发的时候就最好把安全都先考虑好;4、PHP能做很多事,就看你敢不敢想
性能有时候虽然重要,但我还是觉得,如果能够加速迭待,那才是更好的。准备开始尝试下一个项目中使用yaf了。理由真的有几点,一是纯C框架,效率有上升,2是有PHP的复刻版,即使真的装不了扩展,也能用这个复刻版
YAR,YAC都还可以考虑,先忍着点。。。。yar因为RPC的不是每个项目里都能够用得上,YAC的话,如果不是因为他无锁,都不太想用,但是又太新了,也不是每台机器上都能使用,所以就先不作考虑了,不过可以尝试在自己的项目里小小的应用一下。。。
鸟哥的扩展太多了。。。小心的用,哈
Tags: thinkinlamp
PHP | 评论:0
| 阅读:15220
Submitted by gouki on 2013, June 30, 12:16 AM
在修改数据库结构的时候,突然间报这个错:Data truncated for column 'xxxxx' at row 1,xxxxx是数据库的字段名。
检查了一下,原来刚才在修改字段的时候,加了一个允许 null,然后默认的值都变成null,可是后来我又修改表结构为not null default '';所以,报会这个错
到数据库里:update xxxx set xxx = '';,再修改表结构,一切Over。
DataBase | 评论:1
| 阅读:30503
Submitted by gouki on 2013, June 28, 6:23 PM
虽然不是设计师,但还是会用到这些东西,所以还是记录一下。。我平时只知道 #CCC,#FFF,#888,#000,还有几个英文,什么black,red,blue之类的。所以保存一下,以后查起来也比较方便
白色 |
255 255 255 |
FFFFFF |
红色 |
255 0 0 |
FF0000 |
绿色 |
0 255 0 |
00FF00 |
蓝色 |
0 0 255 |
0000FF |
洋红 |
255 0 255 |
FF00FF |
墨绿 |
0 255 255 |
00FFFF |
黄色 |
255 255 0 |
FFFF00 |
黑色 |
0 0 0 |
0 |
爱丽丝兰 |
240 248 255 |
F0F8FF |
碧绿 |
112 219 147 |
70DB93 |
巧克力色 |
92 51 23 |
5C3317 |
蓝紫色 |
159 95 159 |
9F5F9F |
黄铜 |
181 166 66 |
B5A642 |
亮金 |
217 217 25 |
D9D919 |
褐色 |
166 42 162 |
A62AA2 |
青铜 |
140 120 83 |
8C7853 |
青铜2 |
166 125 61 |
A67D3D |
藏青 |
95 159 159 |
5F9F9F |
亮铜 |
217 135 25 |
D98719 |
铜色 |
184 115 51 |
B87333 |
珊瑚色 |
255 127 0 |
FF7F00 |
矢车菊兰 |
66 66 111 |
42426F |
深褐色 |
92 64 51 |
5C4033 |
深绿色 |
47 79 47 |
2F4F2F |
深铜绿色 |
74 118 110 |
4A766E |
|
|
|
深橄榄绿 |
79 79 47 |
4F4F2F |
紫色 |
153 50 205 |
9932CD |
深紫色 |
135 31 120 |
871F78 |
深石板蓝 |
107 35 142 |
6B238E |
深石板灰 |
47 79 79 |
2F4F4F |
深黄褐色 |
151 105 79 |
97694F |
深蓝玉色 |
112 147 219 |
7093DB |
暗木色 |
133 94 66 |
8.55E+44 |
暗灰 |
84 84 84 |
545454 |
暗玫瑰色 |
133 99 99 |
856363 |
长石色 |
209 146 117 |
D19275 |
砖红色 |
142 35 35 |
8E2323 |
草绿 |
35 142 35 |
2.38E+25 |
金色 |
205 127 50 |
CD7F32 |
秋叶色 |
219 219 112 |
DBDB70 |
灰色 |
192 192 192 |
C0C0C0 |
铜绿色 |
82 127 118 |
527F76 |
黄绿色 |
147 219 112 |
93DB70 |
军绿 |
33 94 33 |
2.15E+23 |
印第安红色 |
78 47 47 |
4E2F2F |
土黄 |
159 159 95 |
9F9F5F |
浅蓝 |
192 217 217 |
C0D9D9 |
浅灰 |
168 168 168 |
A8A8A8 |
浅铜蓝 |
143 143 189 |
8F8FBD |
浅木色 |
233 194 166 |
E9C2A6 |
|
|
|
浅绿 |
50 205 50 |
32CD32 |
橙色 |
228 120 51 |
E47833 |
栗色 |
142 35 107 |
8E236B |
中绿 |
50 205 153 |
32CD99 |
中蓝 |
50 50 205 |
3232CD |
中草绿 |
107 142 35 |
6B8E23 |
中秋叶色 |
234 234 174 |
EAEAAE |
中紫色 |
147 112 219 |
9370DB |
中海绿 |
66 111 66 |
426F42 |
中石板蓝 |
127 0 255 |
7F00FF |
中春绿 |
127 255 0 |
7FFF00 |
中蓝玉色 |
112 219 219 |
70DBDB |
|
|
|
中紫红色 |
219 112 147 |
DB7093 |
中木色 |
166 128 100 |
A68064 |
夜蓝色 |
47 47 79 |
2F2F4F |
海蓝色 |
35 35 142 |
23238E |
氖蓝色 |
77 77 255 |
4D4DFF |
氖粉红色 |
255 110 199 |
FF6EC7 |
新夜蓝色 |
0 0 156 |
00009C |
新黄褐色 |
235 199 158 |
EBC79E |
暗金色 |
207 181 59 |
CFB53B |
橘色 |
255 127 0 |
FF7F00 |
橘红 |
255 36 0 |
FF2400 |
淡紫 |
219 112 219 |
DB70DB |
淡绿 |
143 188 143 |
8FBC8F |
|
|
|
粉红 |
188 143 143 |
BC8F8F |
棕色 |
234 173 234 |
EAADEA |
石英色 |
217 217 243 |
D9D9F3 |
富兰色 |
89 89 171 |
5959AB |
橙红色 |
111 66 66 |
6F4242 |
猩红 |
140 23 23 |
8C1717 |
海绿 |
35 142 104 |
2.38E+70 |
半甜巧克力色 |
107 66 38 |
6B4226 |
赭色 |
142 107 35 |
8E6B23 |
银色 |
230 232 250 |
E6E8FA |
天蓝 |
50 153 204 |
3299CC |
石板蓝 |
0 127 255 |
007FFF |
|
|
|
香粉红 |
255 28 174 |
FF1CAE |
春绿 |
0 255 127 |
00FF7F |
钢蓝 |
35 107 142 |
236B8E |
夏天的天空 |
56 176 222 |
38B0DE |
黄褐色 |
219 147 112 |
DB9370 |
蓝玉色 |
173 234 234 |
ADEAEA |
暗褐色 |
92 64 51 |
5C4033 |
亮灰 |
205 205 205 |
CDCDCD |
紫罗兰色 |
79 47 79 |
4F2F4F |
紫红 |
204 50 153 |
CC3299 |
麦色 |
216 216 191 |
D8d8BF |
暗黄 |
153 204 50 |
99CC32 |
Tags: color
Misc | 评论:0
| 阅读:15416
Submitted by gouki on 2013, June 28, 1:56 PM
ios出来不少时间了,也从beta1升到了beta2,性能上感觉,也不卡了,终于也有一些话可以拿出来说了,beta1我实在是没什么好说的。。。。
说说特性吧,与ios6相比:
1、控制台可以单独呼出,类似android的管理,不过android是从上面往下呼出,ios从下往上(屏幕上一个向上,一个向下的箭头,看起来好恶心),不过方便是方便了。可以控制声音、亮度、还有快捷开关,还有电筒、计算器、闹钟等小工具;确实方便了很多,比如计算器我就不用再找了(突然觉得就是把下面的4个快捷方式变成了8个)
2、蜂窝管理:可以针对APP使用蜂窝数据,可以屏蔽某些APP用手机流量,很不错
3、照相的速度快了很多,增加了一个正方型的照相,以前打开HDR的时候,拍张照要等半天,现在就和以前一样快了,不知道是从哪里优化的。。。还是说因为支持了多进程,把它扔在后台而不影响拍照了?
4、APP更新自动下载。这个功能比较有意思,也比较方便,最起码你在无线的时候你就不用关心APP是否在更新,它会帮你悄悄的更新完了,如果。。。你用苹果皮带的无线功能,估计你会哭。。。(中国移动推出的td-scdma的苹果皮,我就是在上面吃药了,流量一下子超了200多M,看了下,还好,我都没有大型 APP,可就算更新一个淘宝,TMD也要40多M啊)
5、spotlight,原来是单独一屏,现在也没有了,只要在主界面手指下划,在顶部就会出现一个搜索框。感觉有点卡,不如以前的单独一屏。。。但方便是方便了
6、输入法更新了。原来的笔画输入,连丁、士这类词都打不出,只能用拼音,现在。。。。都可以输入了,听说要开放输入法API,但估计不太可能。。。
由于一些其他界面的东西,官网上、各种各样的网站都有说明,所以我这里就不多说了。。。
一些小问题:
1、微信,发表图文的时候,只能选择拍照。其他功能都会有小问题:长信息展开不正常,从相册选择照片不正常,文字信息看不到第一行等等。其实也就是朋友圈有各种小问题
2、锁屏的时候,桌面图片好象会有切边,不太好看
3、接电话的时候,偶尔会突然打开扬声器,有几次差点吓死我。。。
小瑕疵,可以忍受。
当然如果你要刷回去,可能是有点问题的,听说苹果已经不允许刷回6.1.2了。考虑一下再说哦
Tags: ios
苹果相关 | 评论:0
| 阅读:16099
Submitted by gouki on 2013, June 27, 11:09 AM
在mac下面,居然没有好的抓包工具,这让我十分纠结,毕竟不可能为了抓一个http包就跑到win下折腾。或许有人说tcpdump这么好的工具,你怎么不用。说实话,tcpdump太复杂了,我还没有细看,再加上不是所见所得,所以,用起来不是那么习惯
又有人说,wireshark怎么不用?好吧,其实我是有装wireshark,只是启动的时候会启动XQuartz,有点慢,当然这不是主要的,而是wireshark功能太强大了,以至于都不会写过滤器。
也有人说,图方便的话,完全可以用chrome自带的抓包工具啊?在没有找到这个工具之前,你可以尝试在地址栏输入:chrome://chrome-urls/,你会发现chrome原来有这么多的隐藏工具,嗯。我要说的就是其中的一个:chrome://net-internals/ ,在Events中,你可以进行过滤,不过,针对https的包,内容没法显示
越来越怀念windows下面,smartsniff完全就是wireshark的简化版,抓起包来刷刷的,过滤数据也很方便。
当然,mac下面的charles就真心不错了,试用了一下,果然对于https的包也能够抓取。
这里有一个简单的教程(实际操作略有出入):
在Mac下做开发,用Fiddler抓包由于离不开Windows比较痛苦,还好有Charles,到官网http://www.charlesproxy.com/可下载到最新版本(若不支持rMBP可拖到Retinizer中把文字变清晰)
HTTP抓包
- 打开Charles程序
- 查看Mac电脑的IP地址,如192.168.1.7
- 打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888
- iOS设备打开你要抓包的app进行网络操作
- Charles弹出确认框,点击Allow按钮即可
HTTPS抓包
- 下载Charles证书http://www.charlesproxy.com/ssl.zip,解压后导入到iOS设备中(将crt文件作为邮件附件发给自己,再在iOS设备中点击附件即可安装;也可上传至dropbox之类的网盘,通过safari下载安装)
- 在Charles的工具栏上点击设置按钮,选择Proxy Settings…
- 切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步
- 这一步跟Fiddler不同,Fiddler安装证书后就可以抓HTTPS网址的包了,Charles则麻烦一些,需要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443
接下来就跟HTTP抓包一样了
---EOF---
上文中的一些操作,其实是有点出入的(HTTPS)抓包
1、如果没有设置ssl的话,那么你看到的ssl的接口中,会有一个报错:SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations,这个时候,在左侧的域名上点右键:enable ssl,就OK了。(其实就是上面的第4部,不过这个操作是简化操作,上面的第4步太麻烦了)
2、如果这样还是不能抓包,那么官方会有一个说明(http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/):
MAC OS X
Download and unzip the Charles CA Certificate bundle. The bundle contains the Charles CA Certificate file.
Run the Keychain Access utility from the Applications/Utilities folder. This tool enables you to manage your certificates.
Choose the "login" keychain then go to the File menu and choose Import. Choose the .crt file you downloaded above, and ensure that the login keychain is chosen in the dropdown menu.
Complete the import and the Charles CA SSL Certificate will now be trusted for your login account.
Move the Charles Proxy SSL Proxying certificate from your login keychain to the System keychain by drag-and-drop if you want all users on the machine to trust it.
You will need to quit and reopen Safari to see the change.
GOOGLE CHROME
On Mac OS X, please follow the instructions for Mac OS X above. These instructions only apply on Windows.
Open the Options dialog, go to the "Under the Hood" tab, then click the "Manage certificates" button.
Go to the Trusted Root Certification Authorities tab and click Import.
Find the charles-proxy-ssl-proxying-certificate.crt file. On Windows and Linux it is in the docs directory in your Charles installation directory. On Mac OS X (or if you can’t find it) you can download and unzip ssl.zip.
Choose the charles-proxy-ssl-proxying-certificate.crt file, then click Next and Finish, leaving the default options, until you complete the import. Chrome will now always trust certificates signed by Charles.
After importing you can delete the charles-proxy-ssl-proxying-certificate.crt file if you downloaded it.
---如果用chrome,那就直接可以使用/如果firefox,会有插件提示你安装/如果是safari,则需要打开证书管理器,将刚才导入的证书把login改为system(这样所有用户就都能使用了,不过都是自己的电脑,无所谓了),safari可能需要重启下浏览器
经此,我终于可以抓包了。而且https包也不再只是一堆 乱码。黑黑
Tags: charles, wireshark
苹果相关 | 评论:2
| 阅读:55984