- 浏览: 108112 次
- 性别:
- 来自: 杭州
最新评论
-
ouyangshixiong:
非常有用,尤其是对可达的内存泄漏。感谢楼主
valgrind工具之massif -
genmymodel:
hello, 我是在法的中国留学生,我们正致力于一个在线UML ...
UML Online Tool -
huaiyan_sky:
引用
[img][/img][url][/url] ...
Linux之tee命令 -
psuqqvfp:
写得真好。
过程即奖励(The Journey is the Reward) -
Goldice:
fuliang 写道直接ssh-copy-id不就ok了?是的 ...
分享一个ssh打通的脚本
文章列表
使用cobertura:http://mojo.codehaus.org/cobertura-maven-plugin/usage.html
若想要忽略一部分代码,可以通过exclude来指定:
<configuration>
<instrumentation>
<excludes>
<exclude>com/alibaba/ws/gcenter/web/**/*.class</exclude>
</excludes>
...
list = [2, 5, 18, 8, 29, 10, 2, 9]
puts "before reorder: #{list.join(',')}"
def swap(list, i, j)
tmp = list[i]
list[i] = list[j]
list[j] = tmp
end
list.each_with_index do |_, index|
next if index == 0
(index-1).downto(0).each do |j|
if(list[j+1] > list[j ...
Grape Api 笔记
- 博客分类:
- Ruby & Rails
关键字:namespace
aliases:group,resources,resources,segment
define route parameter:
1. namespace ':id'
2. param_route :id
关键字before
每次api请求前均执行一次
关键字helpers
1. 定义module,通过helpers marco mix进class
2. 直接在class中定义helpers方法
两种方法都可以使得定义的方法在endpoint中使用
出于android测试需要,需要在linux机器上部署android模拟器环境,借助官网的文档,总结出如下步骤:
下载android ADT(包括android SDK和android Developer Tools)
wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140702.zip
解压缩zip包,建立images目录
unzip adt-bundle-linux-x86_64-20140702.zip;
cd adt-bundle-linux-x86_64-20140702/sdk/pl ...
Mac下mysql服务器安装
下载mysql
进入http://dev.mysql.com/downloads/mysql/
下载Mac OS X 10.9 (x86, 64-bit), Compressed TAR Archive
安装
tar -zxvf mysql-5.6.25-osx10.9-x86_64.tar.gz
mv mysql-5.6.25-osx10.9-x86_64 mysql
cd mysql
sudo scripts/mysql_install_db --use
yaml文件适合用来描述软件测试过程的步骤。当不同类型的CI过程集中在一个yaml文件时,首先碰到的一个问题是:大量重复的步骤如何进行复用?
举个例子:
stage1:
run_it:
exec:
- A
- B
- C
- D1
stage2:
run_it:
exec:
- A
- B
- C
- D2
显然,ABC步骤重复了。如果确定对于不同stage,ABC都是必备步骤。那么可以如下处理:
首先,将相同的步 ...
Linux下周期性任务一般由cron这个守护进程来处理。cron在系统引导时启动,只要系统在工作,它就会保持运行。
cron的配置文件称为crontab,是为cron table的缩写。cron在三个地方查找
Grape和Sinatra结合使用
- 博客分类:
- Linux和开源软件
Grape && Sinatra
Grape(https://github.com/intridea/grape) is a REST-like API micro-framework for Ruby
Sinatra(http://www.sinatrarb.com/intro.html) is a DSL for quickly creating web applications in Ruby
可见,Grape适合构建纯Api系统,而Sinatra适合搭建web应用。
那么问题来了
下载nginx源码:http://nginx.org/en/download.html
安装:
wget http://nginx.org/download/nginx-1.9.3.tar.gz
cd nginx-1.9.3
./configure --prefix=/usr/local/nginx
发现一个问题:
checking for PCRE library ... not found
checking for PCRE library in /usr/local/ ... not found
checking for PCRE library in /u
travis-ci如何配置android
travis-ci 关于android部分:http://docs.travis-ci.com/user/languages/android/
language: android
android:
components:
- build-tools-19.1.0 # BuildTools version
- android-19 # SDK version
- sys-img-armeabi-v7a-android-19 # System imag ...
使用cobertura:http://mojo.codehaus.org/cobertura-maven-plugin/usage.html
若想要忽略一部分代码,可以通过exclude来指定:
<configuration>
<instrumentation>
<excludes>
<exclude>com/alibaba/ws/gcenter/web/**/*.class</exclude>
</excludes>
...
查看当前字符编码:
mysql < show variables like 'character%';
为了解决中文乱码问题,修改mysql默认数据库编码为utf8,修改/etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
在mysql5.1中[mysqld]可以设置为
日志的作用有两个:当构建日志的数据块通过消息队列进来时,更新数据库对应行,然后推送它到Pusher用于实时的用户界面更新。
日志块以流的形式在同一个时间从不同的进程中进来,然后被一个进程处理。这个进程每秒最高可处理100个消息。
一般情况下这样处理日志流的方式也相当OK,但是这也意味着我们很难处理某些时刻突然增长的日志消息,因此这个唯一的进程对于我们系统的扩展会成为一个很大的障碍。
问题在于,进程是按照这些消息到达消息队列的先后顺序来进行处理的,而Travis CI中的所有事情都依赖于这些消息。
更新数据库里的一条日志流意味更新包含所有日志的一行数据。更新用户界面的日志当然意味 ...
大约1年之前,我们发现当时的架构有些不合理了。尤其是Hub,它上面承担了太多的任务。Hub要接收新的处理请求,处理并推动构建日志,它要同步用户信息到Github,它要通知用户构建是否成功。它跟一大群外部API打交道,全部都是在一个进程中处理。
Hub需要继续演化,但它却不太可能自由扩展。Hub只能以单进程的方式运行,也因此成为我们最有可能发生的单点错误。
Github API是一个有趣的例子。我们是Github API的重度用户,依靠这些API我们的构建任务才能执行。无论是获取构建配置信息,更新构建状态,还是同步用户数据,都离不开这些API。
回顾历史,当这些API中的某一个不可用, ...
(本文翻译自http://www.paperplanes.de/2013/10/18/the-smallest-distributed-system.html,由@金斌_jinbin 翻译)
Travis CI一开始仅仅是个想法,在当时甚至还有些理想化。在这个项目启动之前,开源社区还没有一个可用的持续集成系统。
随着作为开源协作平台的Github越来越被人认可,Github也非常需要可以持续对贡献代码进行测试的服务,来保证一个开源项目始终处于稳定健康的状态。
Travis CI开始于2011年初,而且很快得到了一些试用客户。到了2011年夏天,我们每天进行700次构建。所有这些构 ...