Skip to content

Instantly share code, notes, and snippets.

@sivagao
sivagao / recording my thoughts at classroom.md
Created November 14, 2012 11:25
recording my thoughts at classroom.. blah, blah, blah

Using ubuntu like pro

why

  • server, to set up environments for scripts to runnning on
  • productive, be sticky in unix platform to get familiar with taht kind thing
  • treat ti seriously, it really will be helpful if you want to do some works with fun

How

  • to get sync with my win7 notebook, the main one
@sivagao
sivagao / tinytiny.rb
Created November 12, 2012 19:32
tinyurl using sinatra & sequel
#tinytiny.rb
# My first Ruby/Sinatra app, a URL shortener.
# by Leah Culver (http://github.com/leah)
require 'rubygems'
require 'sinatra'
require 'sequel'
# Base36 encoded
BASE = 36
@sivagao
sivagao / sinatra.README.rdoc
Created November 12, 2012 00:54
sinatra.readme.en

Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort:

# myapp.rb
require 'sinatra'

get '/' do
  'Hello world!'
@sivagao
sivagao / README.zh.rdoc
Created November 12, 2012 00:53
sinatra.readme.zh

注:本文档仅仅是英文版的翻译,会出现内容没有及时更新的情况发生。如有不一致的地方,请以英文版为准。

Sinatra是一个基于Ruby语言,以最小精力为代价快速创建web应用为目的的DSL(领域专属语言):

# myapp.rb
require 'sinatra'
@sivagao
sivagao / Ruby: more_advanced_about_activerecord.rb
Created November 12, 2012 00:46
more advanced usage & example of activerecord, scope, validate_presece_of, and etc..
ActiveRecord::Schema.define do
create_table "users", :force => true do |t|
t.column "name", :text
t.column "salary", :integer, :default => 70000
t.column "created_at", :datetime
t.column "updated_at" :datetime
t.column "type", :text
end
== 入门 ==
我将用类比的方式来讲解版本控制的概念,更严谨的解释参见
http://en.wikipedia.com/wiki/Revision_control[维基百科-版本控制-条目]
=== 工作是玩 ===
我从小就玩电脑游戏。
相反,我只是之长大后,才开始用版本控制。我想我宾不特殊,且,对比两者工作方式可以使得概念容易解释和便于读者理解
= Git 魔法 =
Ben Lynn
2007年8月
== 前言 ==
Git, 版本控制中的瑞士军刀。可靠,多才多艺,用途多样的校订工具异常灵活,不易掌握,何况精通。
足够先进的工具与魔法无二。这是学习git的好方法:新手不妨忽略git的内部机制,只是当成小把戏,借助git奇妙的能力,逗逗朋友,气气敌人。
== 基本技巧 ==
与其一头钻进git命令的海洋,先来点基本的例子试一下。
=== 保存状态 ===
要不来点猛的? 做之前,先为当前目录,快照下,使用:
$ git init
$ git add .
== 关于历史 ==
git分布式特性使得历史可以轻易编辑。正如民族间会无休止的争论谁犯下了什么暴行一样,如果在另一个人的克隆里,历史版本与你的不同,当你们的树互操作时,你会遇到一致性方面的问题。
一些开发人员强烈地感觉历史应该永远不变,不好的部分也不变所有都不变。另一些觉得代码树在向外发布之前,应该整得漂漂亮亮的。Git同时支持两者的观点。像克隆,分支和合并一样,重写历史只是Git给你的另一强大功能。
=== 我认错 ===
刚提交,但你期望你输入的是一条不同的信息?那么键入:
@sivagao
sivagao / gitmagic: branches.txt
Created November 10, 2012 00:57
gitmagic: braches.txt
== 分支巫术 ==
即时分支合并时Git最给力的杀手锏
*方案* :Git有一个更好的工具对付这种情况,比克隆快多了而且节省空间: *git branch* 。
使用这个魔咒,目录里的文件突然从一个版本变到另一个。除了只是在历史记录里上跳下窜外,这个转换还可以做更多。你的文件可以从上一个发布版变到实验版本到当前开发版本到你朋友的版本等等。
=== 老板键 ===