- 博客(151)
- 资源 (7)
- 收藏
- 关注
原创 Go学习笔记——类型与接口
如果说go语言的其他内容看起来和c/c++语言没什么太大的区别,那么它的接口设计一定会让人大吃一惊,是的,有时它真的让我产生我使用的是一种动态语言的幻觉。结构类型 这里,还是和C语言很像的,定义结构:type Man struct { name string age int} 声明结构变量及初始化:var m Man //声明Man变量m
2014-02-07 17:06:34 1961
原创 Go学习笔记——go routine
Go routine indeed 本短结论引用自:goroutine背后的系统知识,让我了解为什么goroutine这么轻量级,以及其优势劣势。Go语言通过goroutine提供了目前为止所有(我所了解的)语言里对于并发编程的最清晰最直接的支持,Go语言的文档里对其特性也描述的非常全面甚至超过了,在这里,基于我们上面的系统知识介绍,列举一下goroutine的特性,算
2014-02-07 17:06:06 2390 1
原创 Go学习笔记——函数和包
函数定义 go语言中使用func关键字定义函数,如main函数的定义:func main() { fmt.Println("main function")} 定义一个具有参数和返回值的函数:func sum(a int,b int) int { return a+b}多值返回 go语言的函数可以有多个返回值,它是真正的多值返回,这个特性让r
2014-02-07 17:05:15 866
原创 shell 字符串处理
1.获取字符串长度 ${#string}[jason@localhost ~]$ str="hello,world"[jason@localhost ~]$ echo ${#str}112.获取子串${string:position}${string:position:length}$(string:(-postion)) 如果使用负数,表示从右开始计数,注意负数必须使用
2014-01-20 13:10:29 1217
原创 退出ssh继续执行命令
如果long_run_cmd是一个长时间执行的命令,而我们又想在退出ssh后不至于中断该命令:nohup long_run_cmd &
2014-01-08 22:51:17 1960
原创 一步一步搭建mysql主从同步
下载mysql数据库$ wget http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar vzxf mysql-5.1.73.tar.gz编译安装 最好专门创建一个用户mysql来安装数据库。MYSQL_BASEDIR=$HOME/mysqlcd mysql-5.1.73./configure
2014-01-08 19:03:57 1025
原创 axlsx报表工具(四)——条件格式化
定义格式化操作 条件格式化风格定义也是使用格式化定义语句add_style,不同的是必须将type指定为:dxf。# define the style for conditional formattingprofitable = book.styles.add_style( :fg_color => "FF428751", :type => :dxf )unprofitab
2013-12-22 22:46:03 1406
原创 axlsx报表工具(三)——创建图表
饼图 axlsx创建饼状图非常简单,上图:wb.add_worksheet(:name => "Pie Chart") do |sheet| sheet.add_row ["First", "Second", "Third", "Fourth"] sheet.add_row [1, 2, 3, 4] sheet.add_chart(Axlsx::Pie3DCh
2013-12-22 22:45:32 1742
原创 axlsx报表工具(二)——格式化为美观的表格
基础知识 axlsx的格式化使用Aslsx::Styles类来处理,通常使用Axlsx::Styles#add_style 帮助方法来添加格式,该方法定义:(Integer) add_style(options = {}) 所有的格式设置操作都在options这个hash中指定,该hash的键名非常好记,下面是常见的键值列表:Options Hash (opti
2013-12-22 15:38:27 2480
原创 axlsx报表工具(一)——安装及入门
安装 axlsx是一个基于ruby的Office Open XML Spreadsheet报表生成工具,下图是它生成的一个报表截图(图片来源:https://raw.github.com/randym/axlsx/master/examples/sample.png)。 安装axlsx和安装其他gem一样:$ gem install axlsx创
2013-12-22 15:15:35 3073
转载 Linux系统启动的标准流程
原文链接:Linux系统启动的标准流程系统的启动是指从计算机加电到显示用户登陆提示的整个过程。我们将在这里对整个流程以及关系到的一些内容做讨论。过程主要可以分为两个阶段:载入内核和准备运行环境,我们分别进行讨论。本部分的讨论只基于i386硬件架构,但大部分内容是有共通性的。图一 启动过程综述载入内核(将内核载入内存,并将控制权传递给它) 计算机加电到Boot Load
2013-12-08 11:04:15 1000
原创 在Rails外单独使用ActiveRecord
单独使用ActiveRecord 需要在应用根目录demo/下的app.rb文件中写入:require 'active_record' require 'sqlite3' ActiveRecord::Base.establish_connection( :adapter=>'sqlite3', :database=>'data.sqlite3'
2013-12-03 20:32:03 1712
翻译 Rspec简介
英文原文:An introduction to Rspec 在ruby世界中有许多好用的测试框架,rspec算是其中比较流行的一个。rspec使用了和直接测试方法的不同测试思路——测试应用的行为。下面我就来解释一下怎样实用rspec来测试应用。Rspec入门 RSpec使用describe块及其近亲context块来封装测试代码。通常在单元测试时我们使用describe
2013-12-02 15:51:31 2903 1
原创 Rack-based applications
1.什么是rack rack是基于ruby的web服务器接口,它将http协议以非常简单的方式包裹起来,为web服务器和应用提供一致性的接口。rack被用于几乎所有的ruby web应用开发框架中。这是维基百科上给出的一个基于rack的ruby应用:app = lambda do |env| body = "Hello, World!" [200, {"Content-Ty
2013-11-30 16:22:25 1150
原创 天道酬勤——在追逐梦想的路上
还记得大概一年前,也是在CSDN博客上读过一篇文章,拜读某个大牛描述了他为心仪的公司准备的过程,当时觉得很受触动,于是在博客下留言自勉,还记得他回复的话说:跨专业,更要提早准备。而现在,作为一个机械专业的学生,一路过关斩将拿到百度offer,除了激动之余,我能清晰的感觉到,自己的梦想画卷才刚刚展开。 说起来,我一开始完全没想到自己会干上IT这一行。大学学的是机械,但老实说,我对机械一
2013-10-31 15:57:35 1130 2
原创 ruby之 周期性任务
1.前言 无论是用ruby做系统管理,还是用rails做web开发,都可能遇到周期性任务,它们按照一定时间周期(1小时,2天......)继续地触发。在ruby中,我认为一次性任务使用sidekiq来完成是非常方便的,而周期性的任务就需要用到whenever,sidetiq,clockwork等等gem了。2.whenever 首先,whenever是基于linux的cr
2013-10-20 18:03:26 2577
原创 学算法并非和语言无关
1. 写在前面 算法这个东西,本来不是什么特别复杂的东西,就是为了解决某个问题提出的一个解决方案,说白了,就是一种思路。基本上,所有的算法书上都默认选用了伪代码来表达算法,因为这样可以脱离具体的语言,让算法学习者能够直面算法的本质,理解算法的核心,然后使用自己常用的语言来重新表达,写出能够运行的代码。实际上,在我接触到ruby这类高表达力的语言前,我也这么认为。虽然我能够理解很多算法
2013-09-14 20:09:26 1316 1
原创 ruby 状态转移
关于对象状态转移的问题,简要描述一下就是:对于一个人,他有进食,帮助他人,恋爱等功能,但是这些功能是有先后顺序的,对于刚出生的人,他要先学会进食,然后随着他的成长,他逐渐学会帮助他人,在这个过程中他学会了爱与被爱,当他遇到一个合适的女孩,他就坠入了爱河。所以,对象状态转移就是:某个对象随着状态转移获得调用新方法的能力或权限,未达到某个状态前无法调用该状态下的方法。
2013-08-06 13:43:47 935 1
原创 初识jruby之 在tomcat上部署jruby on rails
1. prerequesite 假定部署的sever上已经安装好了Java环境和mysql数据库(因为这里我将以mysql为例)。并且,这里为了和前面几篇博文保持一致,还是在windows上进行部署,实际在linux上部署的节奏也差不多了,即便遇到问题,google is ready for you.2. 安装配置Apache Tomcat 首先,在Apache T
2013-08-02 14:26:15 1359
原创 初识jruby之 安装配置jruby on rails
1. prerequesite 假设你已经安装好了jruby,并且使用的jdk最好是1.7。2. 安装rails 安装rails4.0.0:C:\>jruby -S gem install rails -V 查看安装的rails版本:C:\>jruby -S rails -vRails 4.0.03. 新建一个rails AppsC:\>j
2013-08-01 16:56:18 2188
原创 初识JRuby之入门
首先,Jruby的官方站点是http://jruby.org/,最详尽的资料都在那里。至于为什么选择JRuby,官方站点上列举了诸如jvm的普及以及性能等等优点,但我想最简单的回答就是,我喜欢用ruby编程,而大多数不再充电的老板还固守着java,相对于ruby,java这个词本身先产生了50%的安全感,所以这可能是比较贴近现实的选择。不过我今天想去倒腾倒腾这个东西,则完全是为了了解ruby的方方
2013-07-31 13:06:58 1430
原创 ruby 性感的迭代操作
ruby是一门可以用sexy来形容的语言,下面就列举几个sexy的迭代操作。1. each each是ruby中非常常见的遍历操作。words=%w(good god ruby sexy girl run)words.each do |word| puts wordend2. find 查找到第一个符合条件的元素。words=%w(good g
2013-07-30 14:42:36 983
原创 rails live on the edge: 安装rails 4
如果你也喜欢live on the edge,那么就从rails3升级到rails4吧。1.安装ruby rails4推荐使用ruby2.0,但也兼容ruby1.9 。而且新ruby推荐使用rbenv安装,我试用了,的确比rvm方便许多。以ubuntu为例: 1.从github上检出rbenv$ git clone https://github.com/sstephen
2013-07-23 19:21:01 1358
原创 ruby webdriver
前言 Watir Webdriver是用ruby操作webdriver的很酷的方式,通常被用来做一些rails app的测试。Example 下面的示例是一个网站的登录示例:require 'watir-webdriver'b = Watir::Browser.newb.driver.manage.window.maximizeb.goto "http://x
2013-07-18 21:01:12 1035
原创 rails为paperclip上传文件添加访问控制
0 前言 由paperclip上传的文件默认是放在rails项目的public目录下的,也就是说,只要能得到该文件的URL,就可以直接访问/下载该文件,如果要对该文件添加访问控制,就需要更改paperclip的默认上传位置。1 更改paperclip默认的上传位置 若有一个story类,每个story有一个封面cover,该cover是一张图片,就可以这样更
2013-07-13 23:08:58 1495
原创 Rails 在javascript中使用ruby对象
1.在javascript中使用ruby简单对象 如,需要将ruby对象转换成javascript的简单变量: url = ''; 此时的是由引号包裹的。rails的j方法是为了正确地转义ruby对象从而嵌入javascript中。2.在javascript中使用ruby复杂对象 公共桥梁显然是json,但要正确地转义ruby的has
2013-07-09 19:22:09 2029
原创 rails URL路由
rails URL路由的最权威文档当然是其官方站点Rails routing from the outside in,我这里只提几个文档中常用的要点。1.CRUB 由resources建立的资源,是rails中最常见的路由方式,不用多说。resources :photos2.单例资源 单例资源也比较常用,官方文档上举的例子很形象也很常见,用户user需要拥有一个pr
2013-07-07 23:56:15 1188
原创 rails 使用bootstrap及bootswatch
1.简介 Twitter-bootstrap是一个功能强大的前端web框架,使用它可以快速地开发出漂亮的web UI。而thomas-mcdonald/bootstrap-sass是rails sass版本的bootstrap。其他类似的gem还有jlong/sass-twitter-bootstrap,metaskills/less-rails-bootstrap,seyhun
2013-07-07 01:39:19 3011
原创 rails填充数据库初始数据
利用db/seeds.rb文件将数据库的initial data填入即可,该文件位于rails环境中,可以访问railsApp中任何类和方法。如,填充product表的初始数据: 使用rake命令填充数据:rake db:seed 或者从头调用所有migration创建空的数据库并自动seed填充数据库:rake db:setup
2013-06-29 19:18:56 1358
原创 在centos上搭建git服务器
0.定义 这里的示例中出现的主机有三台:localhost是一台centos主机,也是git服务器;ubuntu是git服务器管理员的workstation;linux是某个git用户jason的workstation。 localhost即git服务器上出现了两个账户test和git,test是用来搭建git服务器的已存在账户,git是为git服务器创建的专有账户。
2013-06-28 13:23:46 7910 7
原创 Rails配置使用jquery-fileupload-rails step by step
一步步安装使用jquery-file-upload1.安装Gem 在gemfile中添加jquery-fileupload-rails和paperclip的gem:gem "jquery-fileupload-rails"gem 'paperclip'2.在app/assets/application.js添加//= require jquery-fileu
2013-06-22 19:26:29 2320
原创 rails Eager loading
若存在如下Post model:使用下面的循环加载数据时产生了N+1查询问题:Post.all.each do |post| puts "Post: " + post.title puts "Written by: " + post.author.name puts "Last comment on: " + post.comment
2013-06-22 10:51:11 1118
原创 rails 创建数据库索引
以经典的customer-order为例1.在创建数据表时直接创建索引查看order的migration文件,rails自动为我们添加了index:2.手动附加索引此时创建数据表是以普通字段创建的外键如果需要创建索引,就需要手动新建一个migration来添加索引:修改migration文件,手动添加index3.many-to-
2013-06-22 10:16:02 3400
原创 Rails使用Devise验证用户
1.安装配置devise 在gemfile中添加一行:gem 'devise' 执行bundle install后,需要安装devise到工程:rails generate devise:install 创建验证用户model,通常用user,也可以使用其他名称:rails generate devise userrails db:migr
2013-06-20 22:35:01 6342 1
XML解析(读取)
2012-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人