类似github的框架
github是程序员经常上的网站,但如果是在一家苦逼不能访问外网的公司,那不能把自己的代码托管在github上绝对是一件非常痛苦的事情。如果想要在公司内网也可以用github托管自己的代码,那就要自己搭建类似github的服务器,好在类似github的框架有很多,基本上都是基于git的,可以无缝衔接github而无需额外学习其他技术。
github是程序员经常上的网站,但如果是在一家苦逼不能访问外网的公司,那不能把自己的代码托管在github上绝对是一件非常痛苦的事情。如果想要在公司内网也可以用github托管自己的代码,那就要自己搭建类似github的服务器,好在类似github的框架有很多,基本上都是基于git的,可以无缝衔接github而无需额外学习其他技术。
随着微博等新兴社交工具的兴起,很多个人博客的博主都放弃了博客而去转战微博,但仍然有一些个人博客坚持了下来,在微信平台搭建了自己的公众帐号,以自身博客内容做起了自媒体。下面就介绍一下几个比较出名的公众帐号。
除了平时浏览网站外,我们还可以通过手机来了解技术资讯。这里推荐一款APP——多看阅读,这是一款很不错的阅读APP,它以精品阅读来吸引喜欢读书的朋友,虽然上面的电子书没有亚马逊的多,但他们的电子书制作十分精良,每一本书都让人爱不释手,而且完美匹配各种移动设备的尺寸…不说了,说多了就有广告嫌疑了。下面就说说多看上面的电子杂志。
说说自己平时了解业界新技术和技术资讯的途径,其实基本上都是国内的网站,或者是中文的 blog,因为自己实在懒得费精力去看英文哈。
下面的类是一个老系统的代码,现在放到 sonar 上面进行扫描,扫出来的结果发现复杂度超过了 30。
代码复杂度是指代码中的分支数量,比如有一个 if 分支,代码复杂度就加 1,如果 if 中有“||”或者“&&”那么代码复杂度就加 2,for 和 while 同理。一般复杂度超过 10 的类就算是比较复杂的了,而这个类的复杂度竟然达到了 30,代码的糟糕程度可见一斑,现在我们就来重构一下这个类的代码。
在github上用octopress搭建了自己的blog,octopress号称是“专门给黑客打造的博客(A blogging framework for
把hackers)”,使用Markdown语法来写blog确实感觉像写代码一样,而且写好的
把blog可以本地调试好了再上传到github的服务器,就像你的应用程序调试好了部署到服务器一样。
在今年北京的 QCon 大会上听了 facebook 早期中国籍工程师王淮的演讲,受益匪浅,主题是如何打造高效能团队,主要介绍他在 facebook 的一些经历和管理上的经验分享。现在的他是一名天使投资人,投资的领域有移动互联,支付,云应用等。他还写了《打造 facebook》一书,讲了 facebook 的公司文化和他在其中的开发管理等经历。
在上一篇 blog 中讲了在 sonar 中如何新增自定义的 JS 规则,这里面比较难的地方是 XPath 语句的编写,而要编写正确的 XPath 语句,首先要拿到语法的 AST,下面我们就来介绍如何使用 SSLR JavaScript Toolkit 工具来得到源代码的语法树。
在上一篇 blog 中,我们将 sonar 几个需要的环境都搭建好了,包括 sonar 的服务器,sonar runner,sonar 的 javascript 插件。现在我们就来讲如何自定义 JS 扫描规则。
接触sonar已经有段时间了,最早是在一个项目组里面听到这个框架,后来在公司持续集成活动的推动下,也逐渐学习了sonar的具体功能。sonar集成了findbugs,pmd,checkstyle各种静态代码检查工具的功能,并且可以将各种扫描结果组合成一张张漂亮的报告,功能很是强大。下面介绍一下如何使用sonar来自定义javascrpit的扫描规则。