惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 蛙蛙王子

蛙蛙推荐: TensorFlow Hello World 之平面拟合 [蛙蛙推荐]SICP第一章学习笔记-编程入门 快速学习C语言四: 造轮子,ArrayList 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础 快速学习C语言二: 编译自动化, 静态分析, 单元测试,coredump调试,性能剖析 快速学习C语言一: Hello World 转:python获取linux系统及性能信息 转帖:Python应用性能分析指南 蛙蛙推荐:快速自定义Boostrap样式 蛙蛙推荐:WEB安全入门 蛙蛙推荐:五分钟搞定网站前端性能优化 蛙蛙推荐:AngularJS学习笔记 蛙蛙推荐:如何实时监控MySql状态 蛙蛙推荐:Backbone和seajs搭配最佳实践探讨 蛙蛙推荐:让SecureCRT好使起来 蛙蛙推荐:笨办法提高代码质量 时髦的互联网公司都在用什么技术? 蛙蛙推荐:如何编写高质量的python程序 蛙蛙推荐:第一堂编程课提纲
蛙蛙推荐:一个程序员2012年技术学习总结
蛙蛙王子 · 2013-01-03 · via 博客园 - 蛙蛙王子

俗一吧,也总结一下,程序员,代码说话。

发起了一个互联网公司技术选型的调查

想知道国内互联网公司都在用什么时髦或靠谱的技术,服务,开源项目吗? 这里给出你结果,很有代表性的,值得去借鉴,少走弯路。

编程语言PK台

社区里各种语言之争从来不绝,要想听一些理性的语言分析,可以到这里看看,希望大家发表专业客观的评价,以便帮助别人。

代码洁癖练习

每个程序员都希望自己的代码干净整洁,可以来做一下 对象健身操,我根据此方案做了两个练习。

  1. 一个.NET语言写的纯异步的HTTP客户端
  2. 200行Python代码实现了linux内置工具Grep
    1. 75行c#代码又实现了一版紧凑的Grep
    2. 10行Linq又实现了一个极紧凑版Grep

80行实现的中文分词算法

80行实现的中文分词算法,中英文都支持,还附带测试,可直接使用搜狗词库,实现原理是正向最大匹配,没有学习功能。

100多行写了个数据库

名字叫WawaDB,一个纯文本的试验性数据库,只有100多行,还带测试,目的是用来存日志,用二分查找实现了索引。

  1. 写入性能:写入300万条数据,每条数据54个字符,用时2分51秒
  2. 读取性能:在60万条数据里按条件找96条数据需要1.3秒,(不知道为啥性能这么差)

70行实现的javascript词法分析器(未完善)

代码,可直接测试,有一些包含javascript正则的输入目前解析还有问题,龙书太难,正则那部分看了几遍都没理解透彻。

100行写了个博客程序

小天天博客,纯前端实现,比jekyll还简单,可直接托管在github上,用程序员最喜欢的Markdown格式写博客,这篇博客就是正在用Vim写Markdown,完了就会发布到用这个博客程序搭建的huhao.me上。

100行写了个类似Backbone的前端MVC框架

演示在这里,代码在这里,主要是实现了路由的功能,然后Model,View,Control都支持提供了一个命名空间,主要是方便组织代码。

由于新浪微博升级API,通过关键词搜索微博的功能不能直接调用了,所以Demo里部分功能已经不能用了。

70行实现的日志分析脚本

代码,可直接对文本日至进行分组和排序功能,完了输出结果粘贴到excel里就可以直接生成图表,对于排查一些生产环境问题有很大的作用。

大腿网,你懂得

代码, 之前写一个分享礼物的网站晒礼物,然后把它开源了。主要功能就是定时扫描微博上包含指定关键词的图片,然后以很俗的瀑布流的方式展示出来。

后来又有人改造出了其它语言的版本:

  1. nodejs版大腿,作者是hyynf
  2. php版大腿,作者是hyddd

前端的UI自动化测试框架-未完善

代码, 网页UI测试因为好多操作是异步的,所以比较难测试。我用老着的jscex,DOMSubtreeModified和iframe写了个UI自动化测试的框架,对Backbone Todo进行了测试,完全OK,甚至对公司网站进行登陆,添加,删除数据等操作都可以测试。

不过目前还拿不出手,还需要时间去完善一下,不过思路和方向是可以的。

Python项目初始化模版

代码, 好的开始是成功的一半,如果要写一个新的Python项目或模块,可以从这个项目开始。本项目参考了很多github上比较规范的Python项目,从测试,文件安排等方面都比较科学。

linux的性能计数器

玩过windows的同学肯定对Windows的性能计数器深有体会,一些生产环境的疑难问题经常可以通过计数器来进行一些诊断排查,但linux却没有统一的性能计数器API。

今年为了排查一些生产环境问题,我用python写了一个性能计数器组件,包含了客户端和服务端,使用起来非常简单,只需一行代码,然后一个计数器收集中心对这些计数器进行收集,展示,以及根据一定规则向开发人员和运维人员发送报警。

目前该项目还未开源,在内部使用,大家要想解决这类的问题,可以使用开源的pystatsdGraphite,很好用。

基于gevent的纯异步高性能双向通信框架

代码,HTTP虽好却不支持双向通信,Websocket支持双向通信且没有request,response这种语义,zeroMQ有多种通信模式却比较复杂,我这个综合了这些通信框架的优点,总共代码才200多行,出了问题也很好排查,大家也可以很轻松的扩展。

目前还是使用UDP,不能传输大数据,要用TCP的话会复杂很多。

为flake8修复了git hooks不能使用的Bug

flake8综合了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多个问题

其它

睡前听评书,今年听了以下几部

  1. 张广泰回家
  2. 丑娘娘
  3. 张双喜抓妖
  4. 袁鹏飞讲中国历史
  5. 袁鹏飞讲世界历史

看书没看几本

  1. MongoDb权威指南:后半部分没看
  2. Javascript语言精粹: 看了两遍,还得再看几遍
  3. Python Cookie Book: 没看完呢,收获很大
  4. 程序员杂志合订本:仔细看了下《架构师接龙》,印象比较深
  5. 一本摄影书:看完了
  6. 余华的《活着》和《兄弟》
  7. 初中英语单词:背到G了

买了相机(550d+50/1.8+17-50/2.8),开始学学摄影,拍了一些照片放图虫了。

最后感谢下github,往年每年也折腾很多东西,但都在自己电脑上,有的甚至丢了,现在有了github,可以把很多小东西发上去和大家交流。