トップ «前の日記(2009-09-02) 最新 次の日記(2009-09-04)» 編集

Route 477



2009-09-03

[ruby][git] githubを10倍便利にするgithubコマンド

*** 注意 *** 現在はgit-hub gemの方がおすすめです:Route 477 - github gemからgit-hub gemに乗り換えた (2011/1/13追記)

githubはよく使うけど、プロジェクト作るのにブラウザ開かないといけないのが 面倒だなーとか思っていませんか?githubコマンドをインストールすると、 ターミナルからgithubプロジェクトを新規作成できるようになります。

インストール

$ gem install defunkt-github -s http://gems.github.com

リポジトリの作成

新しく作る:

$ github create foobar
-> foobar/ 以下にgitリポジトリができ、githubにも登録される

既存のgitリポジトリから作る:

$ github create-from-local
-> ディレクトリ名がリポジトリ名になり、githubに登録される

ブラウザを開く

現在のリポジトリ:

$ github home

特定のリポジトリ:

$ github yhara biwascheme

その他

あとgithubの別のリポジトリからpullしたり、networkを表示したり、pull-request送ったりなどなど。

$ github -h

あとはWikiとかIssuesとか簡単に開けるといいなぁ。

[book] Scalaスケーラブルプログラミング

Scalaの本としては日本初?なのかな。

タイトルから応用編なのかと思ったが、立ち読みで確認したところ、入門書のようだった。 「これ一冊でScalaのことがだいたい分かる」みたいな感じ。

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)(Martin Odersky/Lex Spoon、Bill Venners/羽生田 栄一/長尾 高弘)

原書はこちら。「Comprehensive」「Step-by-step」とか付いてるな。

Programming in Scala: A Comprehensive Step-by-step Guide(Martin Odersky/Lex Spoon/Bill Venners)

ということは、「スケーラブル」という単語を入れたのは日本の出版社の判断だと思うけど、 Scalaの利点ってスケーラビリティなんだっけ?

汎用言語はスケーラブルでなくてはならない。同じ概念で、小さいプログラムも大きなプログラムも記述できるべきである。

[Scala - Wikipediaより引用]

ああ、なんか、僕の思ってたスケーラブルと違う(笑)。

[ruby] 日本人のためのMarkdown/Textile入門

Markdown(wikipedia)及び Textile(wikipedia)は、 海外で(アメリカで、か?)人気のあるマークアップ言語です。 HTMLを簡単に書くためのやつね。 どちらもgithubとかRedMineで使われてたりして、避けがたくなりつつあるので、両者の特徴を簡単にまとめてみました。

文法

まずはそれぞれの文法を見てみましょう。 Textileは「HTMLの代替」を指向していて、実にいろいろな機能が用意されているのに対し、 Markdownは「自然な見た目」を指向しているようです。 両者は似ているように見えますが、Rubyist的に言うと「HamlとRDくらい違う」と言えるでしょう。

                   Textile                  Markdown
------------------------------------------------------------
見出し1          h1. Hello world      Hello world
                 ※空行が必要         ===========

見出し2          h2. About            About
                 ※空行が必要         -----

見出し3          h3. foo              ### foo
                 ※空行が必要         (あるいは ### foo ###)

リスト           * foo                * foo     ※+や-でもOK
                 ** bar                 * bar   

順序付きリスト   # step 1             1. foo    ※ネストは不可
                 ## step 1-a             bar    ※複数行書ける
                 ## step 1-b          2. baz   
                 # step 2                quux

pre              Sample code:         Sample code:
                 <pre>                    require 'hello'
                 require 'hello'          Hello.greet
                 Hello.greet             
                 </pre>                   ※空白は4つ

画像             !http://a.jpg!       ![Alt text](http://a.jpg)

表               |_.foo|_.bar|        (<table>タグを書く)
                 | o | x |
                 | x | o |

リンク           "Ruby":http://url    [Ruby](http://url)

強調             これは *テスト* だ   これは *テスト* だ
                    ※どちらも「*」の前後に空白が必要

文法の詳細については以下を参照してください。

実装

TexitileはPHP生まれ、MarkdownはPerl生まれですが、どちらもRuby実装が存在します。それも、複数の。 こういう時に便利なのがRuby Toolboxです。

これを見ると、TextileコンバータとしてはRedClothが、 MarkdownコンバータとしてはRDiscountが最も人気があることが 分かります。(が、githubにリポジトリがあるものが点が高くなる傾向があり、実際は BlueClothも使われているんじゃないでしょうか)

それぞれ、

 $ gem install RedCloth
 $ gem install rdiscount

でインストールできます。

まあ実際に自分で動かすよりは、githubなりRedMine経由でお世話になることがほとんどだとは思いますが。

まとめとしては、Textileは「高機能」、Markdownは「見た目重視」。これでどっちがどっちだか迷わないはずです。

[misc] 7月、8月のサブブログ

7月は1件しか書けず。8月は3件。

白MacBookの掃除
MacBookの掃除方法について書いた。
太陽と月は同じ天体ではない
常識(らしい)科学知識について書いた。
ロボリスとの再会
ロボリスという思い出のゲームと、googlabilityについて書いた。
脳が劣化した
記憶について書いた(もうちょっと気軽に更新しようかな、と思った結果がこれだよ)。
本日のツッコミ(全3件) [ツッコミを入れる]
ujihisa (2009-09-04 03:08)

Markdownのリストのところのネストは不可ってあるけど、ネスタできるよー。<br><br>* this<br> * is<br>* a pen.<br><br>blogger.vimはMarkdown使ってます

ujihisa (2009-09-04 03:09)

s/ネスタ/ネスト/

yhara (2009-09-04 13:03)

ども。直しました。