俗一吧,也总结一下,程序员,代码说话。 发起了一个互联网公司技术选型的调查想知道国内互联网公司都在用什么时髦或靠谱的技术,服务,开源项目吗? 这里给出你结果,很有代表性的,值得去借鉴,少走弯路。 编程语言PK台社区里各种语言之争从来不绝,要想听一些理性的语言分析,可以到这里看看,希望大家发表专业客观的评价,以便帮助别人。 代码洁癖练习每个程序员都希望自己的代码干净整洁,可以来做一下 对象健身操,我根据此方案做了两个练习。 80行实现的中文分词算法80行实现的中文分词算法,中英文都支持,还附带测试,可直接使用搜狗词库,实现原理是正向最大匹配,没有学习功能。 100多行写了个数据库名字叫WawaDB,一个纯文本的试验性数据库,只有100多行,还带测试,目的是用来存日志,用二分查找实现了索引。
70行实现的javascript词法分析器(未完善)代码,可直接测试,有一些包含javascript正则的输入目前解析还有问题,龙书太难,正则那部分看了几遍都没理解透彻。 100行写了个博客程序小天天博客,纯前端实现,比jekyll还简单,可直接托管在github上,用程序员最喜欢的Markdown格式写博客,这篇博客就是正在用Vim写Markdown,完了就会发布到用这个博客程序搭建的上。 100行写了个类似Backbone的前端MVC框架演示在这里,代码在这里,主要是实现了路由的功能,然后Model,View,Control都支持提供了一个命名空间,主要是方便组织代码。 由于新浪微博升级API,通过关键词搜索微博的功能不能直接调用了,所以Demo里部分功能已经不能用了。 70行实现的日志分析脚本代码,可直接对文本日至进行分组和排序功能,完了输出结果粘贴到excel里就可以直接生成图表,对于排查一些生产环境问题有很大的作用。 大腿网,你懂得代码, 之前写一个分享礼物的网站晒礼物,然后把它开源了。主要功能就是定时扫描微博上包含指定关键词的图片,然后以很俗的瀑布流的方式展示出来。 后来又有人改造出了其它语言的版本: 前端的UI自动化测试框架-未完善代码, 网页UI测试因为好多操作是异步的,所以比较难测试。我用老着的jscex,DOMSubtreeModified和iframe写了个UI自动化测试的框架,对Backbone Todo进行了测试,完全OK,甚至对公司网站进行登陆,添加,删除数据等操作都可以测试。 不过目前还拿不出手,还需要时间去完善一下,不过思路和方向是可以的。 Python项目初始化模版代码, 好的开始是成功的一半,如果要写一个新的Python项目或模块,可以从这个项目开始。本项目参考了很多github上比较规范的Python项目,从测试,文件安排等方面都比较科学。 linux的性能计数器玩过windows的同学肯定对Windows的性能计数器深有体会,一些生产环境的疑难问题经常可以通过计数器来进行一些诊断排查,但linux却没有统一的性能计数器API。 今年为了排查一些生产环境问题,我用python写了一个性能计数器组件,包含了客户端和服务端,使用起来非常简单,只需一行代码,然后一个计数器收集中心对这些计数器进行收集,展示,以及根据一定规则向开发人员和运维人员发送报警。 目前该项目还未开源,在内部使用,大家要想解决这类的问题,可以使用开源的pystatsd和Graphite,很好用。 基于gevent的纯异步高性能双向通信框架代码,HTTP虽好却不支持双向通信,Websocket支持双向通信且没有request,response这种语义,zeroMQ有多种通信模式却比较复杂,我这个综合了这些通信框架的优点,总共代码才200多行,出了问题也很好排查,大家也可以很轻松的扩展。 目前还是使用UDP,不能传输大数据,要用TCP的话会复杂很多。 为flake8修复了git hooks不能使用的Bugflake8综合了pep8,PyFlakes,Ned's McCabe script三个代码检查工具,对有洁癖的Pythoner很有帮助,但是它的git hooks却一直不能用了,给作者提交了好几次pull request后,升级后还是问题,索性我自己维护一个版本吧。 现在我的新的python项目在git commit的时候都会自动进行flake8的检查,保持了一致的代码风格。 前后端可同时扩展的web框架代码, 目前文档还不完善,但主要功能是实现了一个大网站的模块化。一个网站由很多功能组成,每个功能都由一组web api和前端js,css,html等组成,我使用web.py,bootstrap,seajs等实现了一个前后端可同时扩展的web框架, web api由web.py生成,前端的各种模版,js,样式都由seajs来按需异步加载。 这样大家可以共同完成一个有很多功能的大网站,每个功能可以独立的开发,测试,包括前端和后端,都是独立的。最后只要把各自的代码放到一个子目录里整个网站就有各种功能了,而且整体风格还是统一的。 自动生成数据库操作和RESTFull API的业务实体基类代码, 用Sqlalchemy做的,你只要声明一个实体的字段列表,然后就可以自动生成数据库操作和前端的web api,这样做一个数据驱动的应用,简直是方便极了。 Backbone的Todo demo是用HTML5 Storage存储数据的,我用这个框架只需要写不到10行代码就可以让前端只修改一行代码,而数据全部存取在Mysql里了。 演示和文档目前还有待完善。 一个通用的登陆组件代码, 实现了用户注册,登陆,session管理,而且包含了使用qq,weibo登陆的功能,如果要做内部工具,基本不需要考虑用户注册和用户登陆了。 代码还需进一步整理。 40行的通用的oAuth2.0客户端组件代码,目前测试dnspod,qq,weibo的oauth登陆均无压力。 世界末日倒计时留言版演示, 代码,这其实只是一个我的web框架的demo,为了演示我的框架即可以使用seajs,也可以使用requirejs,没想到很多人在世界末日前留言,呵呵。 80后小学语文课本为80后同学收集整理了80后小学语文课本,并做了个网站,怀旧的同学可以翻翻。 蛙蛙生词本记录生词用的 我的笔记本记录一些常用信息,可作为自己的浏览器首页 javascript事件管理器为了处理一些异步工作流开发了的一个小组件,现在看起来有些搓。 Javascript前端Router小玩具。 javascript indexof的实现算法小练习 测试支持HTTP持久连接的客户端和服务端测了半天最终决定使用requests和gevent.pywsgi 找出arr数组中第k个最小元素算法小练习 找出重复代码-未完成每个人都不想自己的项目里有重复代码,我想写一个小工具来找出项目里重复和相似的代码,但目前还没有完成,需要一些词法分析的理论,现在还在构思中,以前的思路有些问题。 通用的词法分析器先做完这个项目,然后找出重复代码的项目才能完成,目前这个词法分析器支持类c语言包括c,c++,c#,javascript等语言的词法分析,已经python的词法分析,当然,通用的词法分析器是不存在的,所以这个词法分析器不是精确的实现,只是为了进行简单的文本分割。 运维辅助工具写了个内部使用的运维辅助工具,可以通过命令行或web界面对远程机器上的服务进行代码升级,依赖更新,代码备份/回滚,启动/停止/重启,日志察看等。 目前还没开源,如果在公司内部能存活下来才能证明它的价值,其实只是写了一些shell脚本,然后通过一个agent来执行。 学写seajs花了几十个小时把seajs的所有文档都看完了,现在基本我的任何一个前端项目都会使用seajs来组织代码。 学习unittest和mock花时间学习了python下的单元测试,主要是内置模块unittest和mock,第一次改变了对mock的看法,python的mock真是太NB了。 现在一些新项目也逐渐主动的写下单元测试,我甚至基于git hook写了一个CI工具,我的python项目一push代码,然后那个工具就会自动拉下来代码,执行所有的单元测试,并显示测试报告,后来被gitlab-CI所替代。 给公司非技术部门培训了python入门总结了如何编写高质量的Python项目还需持续修改 总结了如何规范的写一个前端项目还需要继续总结 总结了git的用法总结了python基础设施建设-讨论稿在微博上请教了90多个问题其它睡前听评书,今年听了以下几部
看书没看几本
买了相机(550d+50/1.8+17-50/2.8),开始学学摄影,拍了一些照片放图虫了。 最后感谢下github,往年每年也折腾很多东西,但都在自己电脑上,有的甚至丢了,现在有了github,可以把很多小东西发上去和大家交流。 |
|