March 23, 2011 by SLJ | Category:Life | 2,223
今天公司的大力同学推荐了一篇很经典的文章,就转载了。正文如下:
在StakeOverflow上有这样一个贴子叫“Confessions of your worst WTF moment”(WTF就是What the fuck的缩写),挺有意思的,我摘几个小故事过来,希望大家在笑过之后能从中学到什么——所有的经验都是从错误中来的(我在其中加了一些点评)
我们公司的软件是给警察局用的,那是一个对用来处理被逮捕的人的系统,此系统还需要收集脸部特征和指纹信息,并且,这个系 统和会向FBI的系统提交这些信息。当我们在测试这个系统的时候,我们一般都是用我们自己的指纹,当然,数据库联着的是我们的测试数据库。不过,有一次, 在我们测试完后,我们忘了把系统切换回生产库,于是我们的测试数据库就联上了生产环境,于是我们的指纹信息和照片就散布到了其它系统中……清除我们警察局 这边的还好办,但是,你需要波士顿警察局警司去法院签字才能从FBI的数据库中清除我们的信息。
More »
March 21, 2011 by SLJ | Category:Web Structure | 1,722
自从有了VPS,感觉自由多了。今天整理东西,分享两则我用在自己vps上自我感觉实用的sh脚本。
第一则的效果是,每当有用户登录服务器的ssh,就会发邮件到特定邮箱通知
第二则是穷人用的,没有钱买备份服务怎么办?那就申请一个免费的svn服务,我的是在unfuddle上。设置cron每日执行一次mysqldump并commit到svn库上去。出了问题手工去库里拣来恢复就是了。
第一则:登录ssh后自动发提醒邮件
在/etc/bashrc文件中添加 存有以下脚本的可执行权限的文件的地址。
#!/bin/sh
sendmail -t >/dev/null 2>&1 <<EOF
To: 接本邮件的地址@domain.com
From: 随便@domain.com
Subject:$USER@`hostname` login from ${SSH_CLIENT%% *}
EOF
第二则:每日自动备份MySQL中全部数据库并同步到svn库中实现异地拥有版本库的备份
进 crontab -e 添加 存有以下脚本的可执行权限的文件的地址。
More »
March 19, 2011 by SLJ | Category:MySQL | 1,681
记:
最近在测试MySQL在高并发下连接失败的方法。在修改 max_connections 等等的方法后没有本质的提升,在PHP中的连接方法尝试retry也没有明显提升,用多个实例来分摊其实也是在同一个机器上抢占资源。只能从硬件方面学习了。一个有效的解决方法就是MySQL的主从replication.
在咨询过羽同学后得出以下结论:从服务器会异步从主服务器单向同步数据。update,insert等操作应在主服务器上进行。对于生产环境中实时性比较高的select操作应在主服务器上执行,其他select操作都在从服务器上进行。
==下面是转载==
MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新。
More »
by SLJ | Category:iPhone/Android | 2,824
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活。不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.经过作者团队的慎重讨论,他们 评选出了10款能够极大提高iOS开发效率的类库,根据原文作者的评价来看,基本上有了这10款工具,做iOS开发就真的跟泡Cocoa一样了。
MBProgressHUD——进展指示符库
苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同时还提供了其他附加功能,比如虚拟进展 指示符,以及完成提示信息。整合到项目里也很容易,这里不细谈了。
More »
March 1, 2011 by SLJ | Category:Life | 5,149
昨天终于是买下了linode的VPS,今天把博客移过来,用nginx + mysql + memcache组合,无拘束的感觉真是爽,还通过slow query日志把那个虚拟主机上查不到的涉及慢查询统计插件给删了!同时也把wp给升级到了3.0,解决了一些BOM产生的markup错乱后,大家有没有觉得现在的速度比以前快很多呢?
PS,当然,vps要发挥最大用处,建了一个PPTP VPS给自己偶尔用以用,哈哈。
最近工作很忙,很久都没发博客了,有兴趣的同学倒可以follow me:
新浪围脖@申力军
由于某些不开心的经历已经结束了与美国的合作。 至于新计划,以后再公布吧。
February 24, 2011 by SLJ | Category:PHP, Web Structure | 2,369
PHP 实现多服务器共享 SESSION 数据
一、问题起源
稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整个网站的各个模块中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可。但还存在一个问题,就是用户在这个服务器登录之后,进入另一个服务器的别的模块时,仍然需要重新登录,这就是一次登录,全部通行的问题,映射到技术上,其实就是各个服务器之间如何实现共享 SESSION 数据的问题。
More »
by SLJ | Category:Apache/Nginx, Web Structure | 4,612
一、购买 Godaddy SSL 证书
我买的是最便宜的一款,用优惠码 cjcssl12t2 以后 12.99 美元一年 ,购买地址: http://www.godaddy.com/gdshop/ssl/ssl.asp?isc=cjcssl12t2
二、生成服务器的 CSR 文件
用 root 权限进入服务器,输入:
openssl genrsa -des3 -out <name of your certificate>.key 2048
openssl req -new -key <name of your certificate>.key -out <name of your certificate>.csr
(必须是 2048 ,Godaddy 规定如此)
按照要求填写正确的信息
(Godaddy 帮助页面有相关帮助:http://help.godaddy.com/topic/746/article/5269)
More »
by SLJ | Category:Web Structure | 1,382
开发网页的时候,往往需要观察HTTP通信。我使用的工具主要有两个,在Firefox中是Firebug,在IE中是Fiddler。但是,一直听别人说,付费软件HttpWatch是这方面最好的工具。

前几天,HttpWatch的官方网志刊登了一篇好文章,澄清了一些HTTPS协议容易产生误解的地方。学习之后,我增长了不少网页加密通信的知识。
我觉得这篇文章很实用,值得留作参考,就翻译了出来。
HTTPS的七个误解

误解七:HTTPS无法缓存
许多人以为,出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命令,HTTPS是可以缓存的。
More »
December 23, 2010 by SLJ | Category:HTML/CSS, Javascript | 2,480
转载一篇,这个有的时候还是很有用的,所以收藏一下
1、判断select选项中 是否存在Value=”paraValue”的Item
2、向select选项中 加入一个Item
3、从select选项中 删除一个Item
4、删除select中选中的项
5、修改select选项中 value=”paraValue”的text为”paraText”
6、设置select中text=”paraText”的第一个Item为选中
7、设置select中value=”paraValue”的Item为选中
8、得到select的当前选中项的value
9、得到select的当前选中项的text
10、得到select的当前选中项的Index
11、清空select的项
More »
December 18, 2010 by SLJ | Category:NoSQL | 1,818
转自:Tim 后端技术
前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,而是多条实践经验分享,每个公司对这些经验的理解及执行力决定了架构成败。
题外话说完,最近又研究了Redis。去年曾做过一个MemcacheDB, Tokyo Tyrant, Redis performance test,到目前为止,这个benchmark结果依然有效。这1年我们经历了很多眼花缭乱的key value存储产品的诱惑,从Cassandra的淡出(Twitter暂停在主业务使用)到HBase的兴起(Facebook新的邮箱业务选用HBase(2)),当再回头再去看Redis,发现这个只有1万多行源代码的程序充满了神奇及大量未经挖掘的特性。Redis性能惊人,国内前十大网站的子产品估计用1台Redis就可以满足存储及Cache的需求。除了性能印象之外,业界其实普遍对Redis的认识存在一定误区。本文提出一些观点供大家探讨。
Recent Replies / 最新回复