Monthly Archives: 08月 2013

写代码那些事2

1.  函数一开始是处理A功能的. 结果越加参数越多, 越加逻辑分支越多. 还有各种各种人加的return   .
总结: 该写新函数就写新函数. 别跟着函数数量较劲. 于是就不用纠结突然谁把bug修了, 然后你的功能却不好使了. 归根到底其实还是函数名惹的祸.
方案2:如果真觉得函数名需要统一. 那就应该把原有的函数体移出 成为一个新函数. 然后其它重载的函数在这里继续.  你的老函数不用和其它函数搅在一起.
def  findMatch(matchid=1,roundid=1):
pass
但凡能隔离开的就可以写成独立函数. 好维护.
2. 默认值万能大法,  为了兼容老函数调用者, 加了若干默认值.. 结果无意间就产生了新bug..  因为有人用参数值个数阿啥的做逻辑判断了.
制造破坏性代码, 最好显示的让所有调用的 都不工作. 总比日后上线了 再发现bug好得多.
方案2:  保证单元测试代码及时更新和检查. 可以确保每一个函数都是按设计者的初衷工作, 真的出了问题 , 那也是设计的缺陷. 很容易定位.
3. 临时修bug 火线上传.
越着急越悲剧. 修了A 又发现B.   除非是导致服务器崩溃, 否则切忌临时起意.
方案2:  尽早测试. 不要心存侥幸. 为自己写的代码负责, 也可以避免无谓的加班.

WindowsPhone8 开发环境评估

几个没想到
1. WindowsPhone8 要开发 就必须要x64的 Windows8系统. 而且因为模拟器要使用 Hyper-v 技术. 而且要cpu支持SLAT
检测您的CPU是否支持RemoteFX(SLAT二级地址转换) http://rdsrv.blog.51cto.com/2996778/932424/
2.  微软原来还有一个对学生和研究组织非常友好的 DreamSpark .  大致上就是学生可以得到正版的开发工具. 而且是存在好多年了.
再一次印证, 信息是不对称的.  信息 的传播是双向阻力. 如果接受者从未打开过通道, 再广泛流行, 也还是不会传播到这个接受者.
所以先要安装Windows8 64位.
然后下载WP8 SDK   http://download.microsoft.com/download/9/3/8/938A5074-461F-4E3D-89F4-5CE2F42C1E36/fulltril30/iso/wpsdkv80_enu1.iso  (1.6G)
注册商店账号. https://dev.windowsphone.com/zh-cn/downloadsdk 可以通过dreamspark 免费得到.
暂时写到这里.
Mac 开发也要求装苹果的操作系统, 现在微软也学会了. 也是因为用了Hyper-v 的缘故. 效果是一样的.
3.  原本以为不支持虚拟机的,  没想到有个hack的方法 .  虚拟机中搭建WP8 SDK开发环境并且完美使用WP8模拟器
“找到虚拟机的存放目录,找到.vmx文件,用记事本打开,在里面加上两条配置
hypervisor.cpuid.v0 = “FALSE”
mce.enable = “TRUE”
最关键的.
所以虚拟机再一次亮了, 可以Vmware装Win8 WP8SDK  以及做技术测试.
这是继上一次 Vwmare 装 ML 10.8 后我再一次折腾虚拟机. 真是很爽.

程序猿的福利- 使用NewRelic发布应用免费送T恤.

After creating your new account, make sure you deploy the New Relic agent and we’ll send you this free NERD LIFE t-shirt!
http://newrelic.com/signup 注册账号,完成App的部署,就可以得到一件如左图的T恤衫.
程序员的福利.developer friendly project. 有爱.
才注意到这个福利.
看我发布App的过程记录
New Relic 提供在线的Python 性能分析可视化方案.无所不能的样子.服务器移动web通吃.

要润滑油还是螺丝母

回家的路上,车来车往.天气很热.立秋第二天. 大宝贝鼻子长了小豆豆.
想起形形色色的人.大体上分成两种人, 一种是润滑油. 一种是螺丝母. 加在一起组成一个还算好用的机器. 然而, 润滑油单拿出来, 就毫无组织可言, 只是一堆 一坨.  尽管他们过去是光鲜的.
螺丝母单拿出来, 还是有型的, 尽管暂时是有些锈迹.  但运转久了, 总归会变亮.
一个组织终归是A+B+C+.. 的. 如果只看到团队的成就 就以为自己多么的伟大, 实在是有点自大. 出走之后, 就会明白, 其实离开了以前的螺丝母们, 自己啥也不是.  而离开了润滑油, 螺丝母还是可以找到新的润滑油.
当然, 润滑油也会找到新的螺丝母.  创业, 需要选择好 合适的合作伙伴.

New Relic 提供在线的Python 性能分析可视化方案.无所不能的样子.服务器移动web通吃.

今天其实是从 PyCon Us 2013开始 https://mark-ransom-pycon-2012-notes.readthedocs.org/en/latest/friday/session_6.html  ,找到 RunSnakeRun  看到 x-ray  又找到 New Relic.  于是下午就试着配置了一下. 感叹自己的孤陋寡闻.
我是装的Python 的Agent .
https://pypi.python.org/pypi/newrelic 找到下载链接.
wget https://pypi.python.org/packages/source/n/newrelic/newrelic-1.13.1.31.tar.gz#md5=dc68d0151e7ed794bc8532792edac257 –no-check-certificate  下载到server上.
tar -zxvf  newrelic-1.13.1.31.tar.gz
python setup.py install
安装之.
回到 New Relic 的 Dash Board . Application 那里选择 Python
执行
newrelic-admin generate-config 10f5cdf19c95aaa9a1d7dc42fc675dc(这里是你的Key)   newrelic.ini
配置原有python 服务器的启动脚本.
NEW_RELIC_CONFIG_FILE=newrelic.ini
export NEW_RELIC_CONFIG_FILE
nohup newrelic-admin run-program python works/sgslab/simpleSGS2.py &
此时,NewRelic 面板还没有提示有新的Application加入.  于是我手动访问了一下我的Python 应用.  很快就加入了. 至此完整的连接到 New Relic 了. 的确很强大, 原理应该是用Agent 采集数据. 然后服务端UI [...]

有心阅读法则9

1. 对于陌生领域,阅读之前要做准备工作.
在动手做一件事之前, 需要先花点时间查询相关的社区有哪些. 做一个泛读. 会有助于你理解一些术语, 加速你搜索以及浏览时对信息的敏感度.
以便可以快速的从海量的搜索结果里快速定位到你想要的信息.
2. 第2页法则.   现在因为有很多人在做所谓的SEO. 直接的结果就导致, Google 的第一页结果 不一定就是我们想看的. 而第二页开始有我们期望关注的实质的内容.  所以在检索未果的情况下, 不妨试试直接打开第二页.
3. 最小化等待和发呆的时间.
搜索的同时,可以打开N个搜索结果页面. 让他们加载, 同时你继续翻页, 浏览和筛选出那些可能是你想要的内容. 要习惯于异步的方式, 尽管会有些累. 但是可以通过一些软件辅助我们. 从当前的页面的阅读的沉浸状态退出.  显然会比挨个打开页面 效率会高很多.
4. 随时修补信息获取的Rss连接.
如果发现某个RSS 半年或者当某个事件出现时, 没有做出反应, 应该去检查一下原始的web页面.  看看是不是搬家了. 如果是的话, 就去订阅新的RSS好了.  互联网这个时代信息传播的路径 随时都会被破坏掉. 只有及时修补 才能持续获取.
5. 善用工具制定自己的规则.
或许真正的用户定制的时代就要到了, 用户会通过自己的一些设定 辅助自己获取信息,  省时省力.  不再是被动的去点击 网页, 按网站的设置在不近乎合理的组织关系里 穿梭. 每天可以节省1W次点击 都不在话下.
写到此处,我真心的表示,每个人都需要有一个 Cloud Node  可以是VPS  云主机, 甚至是 一段代码. 一直在执行的.  7*24的.  节省我们很多脑力. [...]

[分享] Windows上最快捷的批量删除.svn文件夹的方法

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@=”Delete SVN Folders”
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@=”cmd.exe /c \”TITLE Removing SVN Folders in %1 && FOR /r \”%1\” %%f IN (.svn) DO RD /s /q \”%%f\” \””
将上面的代码,复制到一个文本文件里,保存后修改扩展名为 .reg。之后执行此文件。
使用时,在需要删除svn文件夹的目录上,右键,选择“Delete SVN Folders”就可以啦~
你一定想不到, 在centos 上安装 rar 就是一句话.  yum install unrar  完了. 马上就有了解压工具.

[FWD]Persistent Full Duplex Client-Server Connection via Web Socket

Original Link: http://dsheiko.com/weblog/persistent-full-duplex-client-server-connection-via-web-socket
RIA is considered as one of the mostly particular to the modern Web feature, and often stands for the trend, according to which web-applications tend to desktop applications. Nonetheless the approach is very relative. Overwhelming majority of “rich” web-applications is still built on the “request-response” model. I.e. events of the client side can [...]