<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[压碎起重机]]></title><description><![CDATA[靡不有初，鲜克有终]]></description><link>https://blog.youkuaiyun.com/qjpcpu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qjpcpu]]></copyright><item><title><![CDATA[移居qjpcpu.github.io]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/19939613</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/19939613</guid><author>qjpcpu</author><pubDate>Tue, 25 Feb 2014 23:10:04 +0800</pubDate><description><![CDATA[如题]]></description><category></category></item><item><title><![CDATA[Go学习笔记——类型与接口]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18602525</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18602525</guid><author>qjpcpu</author><pubDate>Fri, 07 Feb 2014 17:06:34 +0800</pubDate><description><![CDATA[如果说go语言的其他内容看起来和c/c++语言没什么太大的区别，那么它的接口设计一定会让人大吃一惊，是的，有时它真的让我产生我使用的是一种动态语言的幻觉。
结构类型
     这里，还是和C语言很像的，定义结构：
type Man struct {
     name string
     age int
}
   声明结构变量及初始化：
var m Man   //声明Man变量
m]]></description><category></category></item><item><title><![CDATA[Go学习笔记——go routine]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18606207</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18606207</guid><author>qjpcpu</author><pubDate>Fri, 07 Feb 2014 17:06:06 +0800</pubDate><description><![CDATA[Go routine indeed
       本短结论引用自：goroutine背后的系统知识，让我了解为什么goroutine这么轻量级，以及其优势劣势。


Go语言通过goroutine提供了目前为止所有(我所了解的)语言里对于并发编程的最清晰最直接的支持，Go语言的文档里对其特性也描述的非常全面甚至超过了，在这里，基于我们上面的系统知识介绍，列举一下goroutine的特性，算]]></description><category></category></item><item><title><![CDATA[Go学习笔记——函数和包]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18601509</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18601509</guid><author>qjpcpu</author><pubDate>Fri, 07 Feb 2014 17:05:15 +0800</pubDate><description><![CDATA[函数定义
      go语言中使用func关键字定义函数，如main函数的定义：
func main() {
	 fmt.Println("main function")
}
   定义一个具有参数和返回值的函数：
func sum(a int,b int) int {
	return a+b
}
多值返回

    go语言的函数可以有多个返回值，它是真正的多值返回，这个特性让r]]></description><category></category></item><item><title><![CDATA[shell 字符串处理]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18551403</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18551403</guid><author>qjpcpu</author><pubDate>Mon, 20 Jan 2014 13:10:29 +0800</pubDate><description><![CDATA[1.获取字符串长度
    ${#string}[jason@localhost ~]$ str="hello,world"
[jason@localhost ~]$ echo ${#str}
11
2.获取子串
${string:position}
${string:position:length}
$(string:(-postion)) 如果使用负数，表示从右开始计数，注意负数必须使用]]></description><category></category></item><item><title><![CDATA[碎片]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18402519</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18402519</guid><author>qjpcpu</author><pubDate>Fri, 17 Jan 2014 10:53:29 +0800</pubDate><description><![CDATA[1.ruby文件utf-8编码
# -*- coding: UTF-8 -*-]]></description><category></category></item><item><title><![CDATA[退出ssh继续执行命令]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18014537</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18014537</guid><author>qjpcpu</author><pubDate>Wed, 08 Jan 2014 22:51:17 +0800</pubDate><description><![CDATA[如果long_run_cmd是一个长时间执行的命令，而我们又想在退出ssh后不至于中断该命令：
nohup long_run_cmd &]]></description><category></category></item><item><title><![CDATA[一步一步搭建mysql主从同步]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/18005473</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/18005473</guid><author>qjpcpu</author><pubDate>Wed, 08 Jan 2014 19:03:57 +0800</pubDate><description><![CDATA[下载mysql数据库
$ wget http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz
tar vzxf mysql-5.1.73.tar.gz
编译安装

     最好专门创建一个用户mysql来安装数据库。
MYSQL_BASEDIR=$HOME/mysql
cd mysql-5.1.73
./configure]]></description><category></category></item><item><title><![CDATA[axlsx报表工具(四)——条件格式化]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17483649</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17483649</guid><author>qjpcpu</author><pubDate>Sun, 22 Dec 2013 22:46:03 +0800</pubDate><description><![CDATA[定义格式化操作
       条件格式化风格定义也是使用格式化定义语句add_style，不同的是必须将type指定为:dxf。
# define the style for conditional formatting
profitable = book.styles.add_style( :fg_color => "FF428751", :type => :dxf )
unprofitab]]></description><category></category></item><item><title><![CDATA[axlsx报表工具(三)——创建图表]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17483431</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17483431</guid><author>qjpcpu</author><pubDate>Sun, 22 Dec 2013 22:45:32 +0800</pubDate><description><![CDATA[饼图
      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]]></description><category></category></item><item><title><![CDATA[axlsx报表工具(二)——格式化为美观的表格]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17483283</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17483283</guid><author>qjpcpu</author><pubDate>Sun, 22 Dec 2013 15:38:27 +0800</pubDate><description><![CDATA[基础知识
      axlsx的格式化使用Aslsx::Styles类来处理，通常使用Axlsx::Styles#add_style 帮助方法来添加格式，该方法定义：
(Integer) add_style(options = {})
      所有的格式设置操作都在options这个hash中指定，该hash的键名非常好记，下面是常见的键值列表：
Options Hash (opti]]></description><category></category></item><item><title><![CDATA[axlsx报表工具(一)——安装及入门]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17483051</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17483051</guid><author>qjpcpu</author><pubDate>Sun, 22 Dec 2013 15:15:35 +0800</pubDate><description><![CDATA[安装
      
axlsx是一个基于ruby的Office Open XML Spreadsheet报表生成工具，下图是它生成的一个报表截图（图片来源：https://raw.github.com/randym/axlsx/master/examples/sample.png）。


        安装axlsx和安装其他gem一样：
$ gem install axlsx
创]]></description><category></category></item><item><title><![CDATA[Linux系统启动的标准流程]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17199157</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17199157</guid><author>qjpcpu</author><pubDate>Sun, 08 Dec 2013 11:04:15 +0800</pubDate><description><![CDATA[原文链接：Linux系统启动的标准流程

系统的启动是指从计算机加电到显示用户登陆提示的整个过程。我们将在这里对整个流程以及关系到的一些内容做讨论。过程主要可以分为两个阶段：载入内核和准备运行环境，我们分别进行讨论。本部分的讨论只基于i386硬件架构，但大部分内容是有共通性的。

图一 启动过程综述
载入内核（将内核载入内存，并将控制权传递给它）
    计算机加电到Boot Load]]></description><category></category></item><item><title><![CDATA[在Rails外单独使用ActiveRecord]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17100511</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17100511</guid><author>qjpcpu</author><pubDate>Tue, 03 Dec 2013 20:32:03 +0800</pubDate><description><![CDATA[单独使用ActiveRecord
     需要在应用根目录demo/下的app.rb文件中写入：
require 'active_record'  
require 'sqlite3'  
  
ActiveRecord::Base.establish_connection(  
    :adapter=>'sqlite3',  
    :database=>'data.sqlite3']]></description><category></category></item><item><title><![CDATA[rake- Ruby Make]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17093027</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17093027</guid><author>qjpcpu</author><pubDate>Tue, 03 Dec 2013 15:14:14 +0800</pubDate><description><![CDATA[Rake，顾名思义，就是Ruby的Make工具。的]]></description><category></category></item><item><title><![CDATA[Rspec简介]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17072145</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17072145</guid><author>qjpcpu</author><pubDate>Mon, 02 Dec 2013 15:51:31 +0800</pubDate><description><![CDATA[英文原文：An introduction to Rspec
      在ruby世界中有许多好用的测试框架，rspec算是其中比较流行的一个。rspec使用了和直接测试方法的不同测试思路——测试应用的行为。下面我就来解释一下怎样实用rspec来测试应用。
Rspec入门
    RSpec使用describe块及其近亲context块来封装测试代码。通常在单元测试时我们使用describe]]></description><category></category></item><item><title><![CDATA[Rack-based applications]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/17040329</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/17040329</guid><author>qjpcpu</author><pubDate>Sat, 30 Nov 2013 16:22:25 +0800</pubDate><description><![CDATA[1.什么是rack
     rack是基于ruby的web服务器接口，它将http协议以非常简单的方式包裹起来，为web服务器和应用提供一致性的接口。rack被用于几乎所有的ruby web应用开发框架中。这是维基百科上给出的一个基于rack的ruby应用：
app = lambda do |env|
  body = "Hello, World!"
  [200, {"Content-Ty]]></description><category></category></item><item><title><![CDATA[天道酬勤——在追逐梦想的路上]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/13772165</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/13772165</guid><author>qjpcpu</author><pubDate>Thu, 31 Oct 2013 15:57:35 +0800</pubDate><description><![CDATA[还记得大概一年前，也是在优快云博客上读过一篇文章，拜读某个大牛描述了他为心仪的公司准备的过程，当时觉得很受触动，于是在博客下留言自勉，还记得他回复的话说：跨专业，更要提早准备。而现在，作为一个机械专业的学生，一路过关斩将拿到百度offer，除了激动之余，我能清晰的感觉到，自己的梦想画卷才刚刚展开。
      说起来，我一开始完全没想到自己会干上IT这一行。大学学的是机械，但老实说，我对机械一]]></description><category></category></item><item><title><![CDATA[ruby之 周期性任务]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/12884887</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/12884887</guid><author>qjpcpu</author><pubDate>Sun, 20 Oct 2013 18:03:26 +0800</pubDate><description><![CDATA[1.前言
     无论是用ruby做系统管理，还是用rails做web开发，都可能遇到周期性任务，它们按照一定时间周期（1小时，2天......）继续地触发。在ruby中，我认为一次性任务使用sidekiq来完成是非常方便的，而周期性的任务就需要用到whenever，sidetiq，clockwork等等gem了。
2.whenever
    首先，whenever是基于linux的cr]]></description><category></category></item><item><title><![CDATA[学算法并非和语言无关]]></title><link>https://blog.youkuaiyun.com/qjpcpu/article/details/11693025</link><guid>https://blog.youkuaiyun.com/qjpcpu/article/details/11693025</guid><author>qjpcpu</author><pubDate>Sat, 14 Sep 2013 20:09:26 +0800</pubDate><description><![CDATA[1. 写在前面
      算法这个东西，本来不是什么特别复杂的东西，就是为了解决某个问题提出的一个解决方案，说白了，就是一种思路。基本上，所有的算法书上都默认选用了伪代码来表达算法，因为这样可以脱离具体的语言，让算法学习者能够直面算法的本质，理解算法的核心，然后使用自己常用的语言来重新表达，写出能够运行的代码。实际上，在我接触到ruby这类高表达力的语言前，我也这么认为。虽然我能够理解很多算法]]></description><category></category></item></channel></rss>