トップ 最新 追記

Route 477



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をブラウザで開く機能が欲しかったので実装してみた。

ここに至るまでもgithubコマンド使いまくりで、

  1. github clone defunkt github-gem でリポジトリ複製
  2. 編集
  3. github fork でgithub上に俺用リポジトリができて、さらにoriginがそっちに書き換えられる
  4. 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)

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

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

実装

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 [Markdownのリストのところのネストは不可ってあるけど、ネスタできるよー。 * this * is *..]

ujihisa [s/ネスタ/ネスト/]

yhara [ども。直しました。]


2009-09-02

[Ruby/SDL] Ruby/SDLのMac用gemを作っておりますが

1.9でコンパイルが通らない。

具体的にはsmpeg/smpeg.hがないぞというエラーになる。1.9.1でも、1.9.2-preview1でも同じ。

どうもCPPFLAGSから-I /opt/local/include が抜けているようだ。mkmfが何か変わった?

ソースはここ


2009-09-01

[hiki] Re: GBL

なおしました!


あとHikiDocのバージョンが上がって

[[foo|http:../foo]]

というハックができなくなっていたので、

[[foo|:../foo]]

に修正。これは直すところが沢山あるな多分。

Wikiなんで直してもらっていいんですけど(RSSをチェックしてるので変更があれば分かる)、 ふつうのWebサイトのようにも見える中途半端さがいかんですな。