ホーム > タグ > Ruby
Ruby
Pythonista見習いから、少しだけステップアップするための9クエスチョン from Quora
- 2011年4月14日 10:00 AM
- Python

Pythonistaとしてステップアップするには何が必要か。
それは、
Pythonの弱みと強みを知ること
でしょう。
これは他言語にも言えます。
Pythonを含め、プログラミング言語は道具です。
道具を使うためには、その道具の最適な使い道を知ってる必要があります。
ただ、このような情報は、なかなか手に入りません。
ブログの記事は、書いた人の好みのバイアスが掛かっているため、鵜呑みに出来ません。
道具を使いこなすには、自分自身で長時間、その道具に触れること。
そして、他の人がどのように使っているのか、知ることが必要です。
そうして、その道具の強みと弱みを見出していきます。
前者は、あなたがひたすらに、時間を費やすしかありません。
しかし、後者に関しては良い方法があります。
それが、Quoraです。
今日は、QuoraからPythonに関する質問をピックアップしていきます。
Pythonの弱みは、何か?
まずは、Pythonの弱みに関する質問です。
“Pythonを使っていて微妙に思う点“がまとまっています。
スコープに関する話、インデントに関する話、lambda式に関する話…。
一度見ておくと、Pythonの弱みが見えてきます。
なぜ、PythonはPHPより良いのか?
1-byte.jpで取り上げる、もう一つの言語といえばPHPです。
つまり、この質問は外せません。
“PHPとPythonの比較“がまとまっています。
PHPとPythonを両方使ったことがある人は、ここに書いてある内容に納得してしまいます。
確かに、Pythonではこんなことが出来て、PHPでは出来ないな…と。
どのプログラミング言語を始めるべきか、悩んでいる人も読んでおくと良いかと。
PHPにない、Pythonの便利な機能は?
こちらは、”PHPとPythonにおける機能面の比較“です。
先程の記事とは違い、コードベースでPHPとPythonが比較されています。
Pythonにはない、Rubyの良さは?
この質問を読むと、RubyとPythonがよく似た言語であることがわかります。
その中でも、”Pythonにはない、Rubyの使いやすい機能“がまとまっています。
これも、どの言語を始めるべきか、悩んでいる人にお勧めです。
ただし、Pythonistaがこれを読んでいると、Rubyも触りたくなるので、注意が必要です。
比較演算子を2回書かずに、値をn以上m以下で比較できる言語は?
私は、この観点で言語を比較したことがありませんでした。
確かに、
if (1 < $a and $a < 10) {
print 'True'
}
と書くのは野暮ったいですよね。
Pythonのデコレータの主な使い道は?
デコレータを理解すれば、Pythonistaとしての幅が広がるはずです。
簡単な例と共に、デコレータの使い方が紹介されています。
まだ、デコレータなんて使ったことがない、という人にもお勧めです。
皆が嫌いな言語は?
ブログでも良く、この手の話が議論されますね。
俺はこの言語が嫌いだ。俺はPHPが嫌いだ。PHPなんて…(ry
筆頭に上がるのはPHPでしょうが、それ以外の言語もたくさん解答されています。
言語の強みと弱みを知るために、読んでおくと良いかもしれません。
どんな企業がPythonを使ってる?
この質問は、Quoraの真骨頂です。
Quora上には、有名な企業に務めるエンジニアがたくさんいます。
そのため、こういった質問には多くの答えが返ってきます。
どんな企業が、Pythonを活用しているのか。
そして、自分たちがどの言語を使うべきなのか、見定めるのに参考になります。
なぜ、QuoraはPythonを選んだのか?
最後はQuoraに関する質問で閉めましょう。
Quoraは冒頭で述べたとおり、Pythonで出来ています。
この質問では、Quora創設者のAdamがPythonと他言語と比較しながら、Pythonの優位性を語っています。
Pythonの強みを知ることが出来ます。
いかがでしょうか。
ここに上げた質問はいずれも、ブログの記事として取り上げられません。
また、あったとしても、それはその人の意見です。
一度に、これほどたくさんの意見を得ることは出来ません。
また、QuoraがPythonで作られているせいなのか、たくさんのPythonistaがいます。
新たに質問を作っても、すぐに答えてくれます。
これは私が試しに投げた質問ですが、1時間で4つの解答が得られました。
ぜひ、Quoraを活用してください。
そして、一緒に、Pythonistaとしてステップアップしていきましょう。
おまけ
Pythonに限らず、こんな質問も上がってたり。
A Hard Days Nightのイントロのコードって、ビートルズの謎の一つなんですよね。
勉強会でタイムラインを垂れ流しにするTweet Search Stream
- 2010年11月2日 12:00 AM
- Service

Google日本語入力 TechTalk 2010で教えて頂いた”Tweet Search Stream“を紹介。
簡単にいえば、TwitterのTLを垂れ流しにするだけなのですが、これがかなりシンプルで地味に活用できそうです。
特に勉強会で!
tweet search streamとは
Tweet Search Streamは@gimiteさんが作られたWebアプリケーションです。
サイトから引用します。
This is real time Twitter search using Twitter Streaming API. New tweets are automatically shown in a few seconds after posting.
“Twitter Streaming API“を使ったTwitterのリアルタイム検索ですね。
サイトを開いてみると分かるのですが、ものすごい勢いでツイートが更新されていきます。
これだけで分からないのが、その更新の反映速度です。
つまり、自分がつぶやいた内容がどの程度でこのTweet Search Streamに反映されるのか。
これを見てください。
タイムラグがほとんどないのがわかります。
これはすごい!
勉強会で活用する
先程の動画を見ていただいた方は分かると思います。
“Tweet Search Stream“の臨場感は半端ではありません。
これをフルスクリーンで、会場のモニタに写してやる。それで、即席のTwitterリアルタイム実況環境が出来上がり。
盛り上がること間違いなし。
自分のつぶやきが即座に会場のモニタに反映されるのだから、呟きたくもなりますよね。
Google日本語入力 TechTalk 2010では常に会場のモニタに映し出されていました。
そのモニタを見ながらセッションの質疑応答をしたり、LT参加者の募集をしたり、とかなり活用されていましたよ。
Twitterはこの臨場感が堪りませんよね。
それを会場で共有できるのだから、使わない手はない。
自分で実装する
エンジニアならこういうツールを知れば、自分で作りたくなるもの。
あるいは、どうやって実装しているのか気になりませんか。
実は、Tweet Search Streamのソースコードが公開されています。
公開してくれた@gimiteさんに感謝!
Rubyで書かれていますが、本体のソースは500行ぐらい。
Rubyを書いたことがない人でも、ちょっと調べながらコードリーディングできそうなレベルです。
(私自身、Rubyを書いたことがないのですが(笑))
PHP Matsuriに行ったときから、私のタスクボックスに
“Twitter Streaming APIを調べて、遊ぶ。”
が存在し続けているので、ちょうど良い機会かもしれません。
Tweet Search Streamを見ながら、私も何か作ってみます。
技術的にも、ツールとしても興味がそそられるモノがあったので紹介してみました。
是非、勉強会に、Twitter Streaming APIの参考に、とTweet Search Streamを活用してみてください。
TextMateをLinux/Windowsで使いたい人のためのRedcar
- 2010年10月20日 12:00 AM
- Application

プログラマーなら”TextMate“はご存知だと思います。
この”TextMate“があるから、Macを使っているという方もいます。
しかし、このTextMate、”56ドル“もするんです。
(仕事道具なんだから56ドルぐらい出せよ、とも思うけど。)
さらにはLinuxやWindowsには対応していません。
今日はその代替えとなる”Redcar“というオープンソースエディタを紹介します。
Redcarとは
先ほど述べた通り、オープンソースのエディタ。
つまり、TextMateとは違い、無料で使えます。
トップページに行けば分かると思いますが、クロスプラットフォーム対応です。
Linux/Mac/Windows、どの環境でも使えます。
これがRedcarの魅力の一つ。
また、TextMateのバンドルと互換性があり、これを使うことが出来ます。
あくまで互換性があるだけなので、使えないバンドルもあるようです。
プラグインで拡張も可能です。
今、公式のgithubに上がっているプラグインはこれ。
- Github viewer: View a Github repository in Redcar
- Go to github: Show current file in github, and selects the same lines that are selected in RedcarEditor
- GCCSense: highly precise code completion for C/C++, GCCSense required
- Redcar Debug: Debugger supporting GDB and JDB
- RSense: highly precise code completion for Ruby
- redcar-pastie: create a gist from Redcar
- redcar-help: Displays a help file/user guide for Redcar
- touchy: Adds a ‘Touch File’ option to the project context menu
- Code Package View: View directories grouped as packages, for Java, etc
- Web Bookmarks: View webpages or html files from within redcar
その他にデフォルトでインストールされているプラグイン達。
- Auto Completer
- auto_indenter
- document_search
- find-in-project
- HTML View
- scm
- scm_git
- scm_hg
- scm_svn
- snippets
- Strip Trailing Spaces
- task_manager
- todo_list
説明は省きますが、昨日のイメージはつきますよね。
色々なことが出来そうです。
しかし、このRedcar、最新バージョンは0.7です。
つまり、まだβ版です。
そのため、日本語でも英語でも情報がとても少ない。
このプロジェクトへの応援も兼ねて、MacにおけるRedcarのインストール方法をまとめてみます。
(といってもものすごく簡単ですが。)
Redcarをインストールする
インストールの仕方は、こちらにあります。
手順は簡単で、
- RubyGemsでRedcarをインストールする。
- RubyGemsにインストールされたRedcarを自分の環境にインストールする。
これだけです。
コマンドを2つ入力するだけで、インストール完了です。
まずは環境チェック。
JavaとRubyのバージョンをチェックします。
Rubyは1.8.7以降、Javaは1.4.0以降が必要だとGetting Startedにあります。

バージョンチェックしたら、早速RubyGemsにインストールします。
sudo gem install redcar

次は自分の環境にインストール。
redcar install

“redcar install“を忘れると、起動しないので注意。
あとはターミナルからRedcarを起動します。
redcar

この記事の始めに使った画像が表示されます。
10秒ほど待つと、エディタが起動。これで準備完了!

試しにCakePHPのプロジェクトを開いてみました。
デフォルトでPHPのステートメントがカラーリングされます。
良いですね!

AppControllerをコーディングしてみました。
これもしっかり、PHPのコードだと認識されていますね。
カッコも自動補完してくれるので、打ち心地もなかなか良い。

Redcarのショートカットをアプリケーションフォルダに作る
ターミナルから起動するのも悪くはないのですが、Macならアプリケーションはアプリケーションフォルダに登録したいですよね。
そこで、アプリケーションフォルダにRedcar起動用のシェルスクリプトを追加します。
cd /Application vi Redcar
viが開いたら次のコードを書き込みます。
#!/bin/bash /usr/bin/redcar --ignore-stdin & exit
後は保存して、実行権限を与えます。
chmod 755 Redcar
これでショートカットが出来ました。
しかし、何かが足りない…そう、アイコンです。
今度は作成したRedcarのショートカットから、”情報を見る“を開きます。

左上のアイコンは選択出来るんです。
知っていました?
ここに設定したい画像をコピーした上で、ペーストします。
画像をコピーする場合は、プレビューを開いて”Command + a“と”Command + c“で可能。

これでショートカットにアイコンが設定されました。

ちなみに、私はこのアイコンを使わせて頂きました。
公式のアイコンはここにあるのですが、解像度が低いんです。
アイコンが拡大されたときに、画像が荒れてしまうので、私は上記のアイコンを設定しました。
いかがですか?
少し使った感じでは、なかなかキビキビと動いてくれます。
良く使う言語はデフォルトでカラーリングもしてくれますしね。
TextMateのバンドルが使えるかどうか、試してみたのですが、インストール方法が分かりませんでした。
CakePHPバンドルをインストールしたんですが、うまくいかなかった…。
この辺りの情報を持っている方は、教えて頂けると助かります。
引き続き、ちょっと使ってみます。
また機会があれば、ブログにも書きますね。
皆さんも使ってみてください。
ホーム > タグ > Ruby
- setup.pyのinstall_requiresにgitのリポジトリを指定したい。どうすればいいかな。 1 day ago
- ツイッタークライアントを久々に開いたけど、なんか違和感。 3 days ago
- 最近、イベント参加出来てないな(_ _) 3 days ago
- More updates...
- 無印良品の高度なFacebook連携がさすがだと思った件 « Looops 直人の備忘録
- Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
- 0から始めるiPhoneからのWordPress更新術。第9回 終わりに。一連の流れ ...
- shell.vim 0.9.6 -- Improved integration between Vim and its environment (fullscreen, open URL, etc)
- Cakephp auth refresh websites and posts on cakephp auth refresh
- さよなら、iPhone。 日本でも訴訟されて発売されるGalaxyS2の凄さがわかる動画 alpha device
- フィードからの情報をデスクトップ通知してくれるChrome拡張機能「RSS Alert」
- PHPとアジャイル開発の勉強会を開催しました | 48JIGEN
- レノボ、Android 採用の ThinkPad タブレットを今夏発売へ。Windowsタブレットは年内
- 致命的すぎるバグがgithubで話題 « A-Listers
