2009-09-07
■ [javascript] srcを指定したscriptタグの中身にコードを書くとどうなる?
<script src="foo.js"> print("bar"); </script>
などとした場合、foo.jsと、print("bar")のどちらが先に実行されるのでしょうか?
Firefox 3, Opera 10, Safari 4 ではfoo.jsの方が先でした。保証されている?
(追記:なんか変なことを言っている?そもそも実行されない?)
2009-09-04
■ [ruby][git] githubコマンドでforkした
昨日紹介したgithubコマンドだけど、wikiやissuesをブラウザで開く機能が欲しかったので実装してみた。
- http://github.com/yhara/github-gem/ (まだ表示されてないかも?)
ここに至るまでもgithubコマンド使いまくりで、
- github clone defunkt github-gem でリポジトリ複製
- 編集
- github fork でgithub上に俺用リポジトリができて、さらにoriginがそっちに書き換えられる
- git push origin master
という感じでした。
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のことがだいたい分かる」みたいな感じ。
4844327453
原書はこちら。「Comprehensive」「Step-by-step」とか付いてるな。
0981531601
ということは、「スケーラブル」という単語を入れたのは日本の出版社の判断だと思うけど、 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) 強調 これは *テスト* だ これは *テスト* だ ※どちらも「*」の前後に空白が必要
文法の詳細については以下を参照してください。
- Textile: http://redcloth.org/hobix.com/textile/
- Markdown: http://daringfireball.net/projects/markdown/basics
実装
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について書いた。
- 脳が劣化した
- 記憶について書いた(もうちょっと気軽に更新しようかな、と思った結果がこれだよ)。
□ ujihisa [Markdownのリストのところのネストは不可ってあるけど、ネスタできるよー。 * this * is *..]
□ ujihisa [s/ネスタ/ネスト/]
□ yhara [ども。直しました。]