最新发表

Jenkins集成Ruby on Rails单元测试

发表于: other  

Jenkins集成Rails单元测试关键是安装ruby环境,jenkins可以通过插件安装ruby运行环境,但是安装的ruby版本是j-ruby,和我们使用的标准ruby有一定区别不推荐安装。
我们需要通过ruby版本控制工具安装rvm或者rbenv安装需要的ruby版本。这里选择rvm来安装。

阅读 →

Jenkins与Gitlab集成

发表于: other  

Jenkins和Gitlab集成主要目的是将Jenkins作为Gitlab持续集成工具,版本库有提交或者合并时能够触发Jenkins自动build

阅读 →

Linux的文件链接

发表于: linux  

链接Linux文件系统中非常重要的一个概念,在这里探讨Linux文件系统中的硬链接和软连接,以帮助我们更好的理解和正确使用硬链接和软连接。

阅读 →

为什么你的代码如此难以理解

发表于: other  

无意间读了一篇博客《Why your code is so hard to understand》 恰好最近遇到这些问题,引起了一些思考和共鸣。作为工程师你是如何看待代码的好与坏?该文章中提到的几点我觉得特别有道理,如,过度复杂的心智模型(overly complex mental models),从语义模型到代码的糟糕转化(poor translation of semantic models into code)和隐晦的用法(obscured usage)等等。今天我结合自己的工作谈谈看法。

阅读 →

提高你水平git命令

发表于: other  

我们在使用Git常用的add, commit和merge等命令来处理我们日常的工作。本文介绍几个不常用,但是能给你带来极大的效率提高同时也能让你Git水平提高一个档次。

阅读 →

字符编码

发表于: other  

乱码是我们在使用计算机(不止编程)中经常遇到,如,网页显示乱码,Linux文本文件到Windows中乱码。最近花时间研究了一番,在这里做个总结。

阅读 →

Javascript中类,名字空间和类的继承的实现

发表于: javascript  

最近在做一个微信项目,由于微信加载页面很慢,所以像jquery这些成熟的js库显得是个庞然大物。没办只能自己动手实现一些基础的东西,
首先,需要实现最基础javascript的类定义和类的继承,其次是名字空间。这几个是方便我们管理和组织代码最基础的,当然不是必须的,你也可以以最少代码方式将js写在你需要的地方;作为一个完整的项目我不建议这做。来看看我的具体实现吧。

阅读 →

记一枚不错的Gem:wechat-rails

发表于: ruby  

很少因为某个gem写博客觉得只是某个工具,最近做微信发下一枚不错的gem, 不得不记一笔。

wechat-rails是一个微信开发者api接口的gem包,可以在rails和命令行中使用。它的主要优点有这么几个:

  1. 提供命令行调用方式,大大方便了调试
  2. DSL的事件处理方式,让开发者更关注具体业务逻辑
  3. 最重要的作者对ruby的使用很熟练,gem设计很简洁明了

安装和使用自己去看他的readme不再这里重复了,我们来看看使用的几个要点。

阅读 →

Swift中的闭包

发表于: ios  

闭包的概念来自函数编程,很多语言都支持。Swift对闭包的定义可能是最明确易懂的(与js和ruby比较,哈哈),来看看官方定义。

闭包是自包含的函数代码块,可以在代码中被传递和使用。
闭包可以捕获和存储其所在上下文中任意常量和变量的引用。 这就是所谓的闭合并包裹着这些常量和变量,俗称闭包。

非常明确的指出闭包的实质,一、闭包是可以被传递的代码块,二、闭包可以访问所处上下文(context)中的变量和常量。这里请记住一个词上下文(context), 对于闭包理解十分重要。

阅读 →