ホーム > タグ > Ruby

Ruby

Pythonista見習いから、少しだけステップアップするための9クエスチョン from Quora

Python question

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

tweet_search_stream.png

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.

Tweet Search Streamより

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

redcar-splash.png

プログラマーなら”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をインストールする

インストールの仕方は、こちらにあります。
手順は簡単で、

  1. RubyGemsでRedcarをインストールする。
  2. RubyGemsにインストールされたRedcarを自分の環境にインストールする。

これだけです。
コマンドを2つ入力するだけで、インストール完了です。

まずは環境チェック。
JavaとRubyのバージョンをチェックします。
Rubyは1.8.7以降、Javaは1.4.0以降が必要だとGetting Startedにあります。

check_the_version.png

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

sudo gem install redcar

gem_install_redcar.png

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

redcar install

redcar_install.png

redcar install“を忘れると、起動しないので注意

あとはターミナルからRedcarを起動します。

redcar

running_redcar.png

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

main_window_redcar.png

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

open_database_php.png

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

create_app_controller.png

Redcarのショートカットをアプリケーションフォルダに作る

ターミナルから起動するのも悪くはないのですが、Macならアプリケーションはアプリケーションフォルダに登録したいですよね。
そこで、アプリケーションフォルダにRedcar起動用のシェルスクリプトを追加します。

cd /Application
vi Redcar

viが開いたら次のコードを書き込みます。

#!/bin/bash
/usr/bin/redcar --ignore-stdin &amp;
exit

後は保存して、実行権限を与えます。

chmod 755 Redcar

これでショートカットが出来ました。
しかし、何かが足りない…そう、アイコンです

今度は作成したRedcarのショートカットから、”情報を見る“を開きます。

redcar_information.png

左上のアイコンは選択出来るんです。
知っていました?

ここに設定したい画像をコピーした上で、ペーストします
画像をコピーする場合は、プレビューを開いて”Command + a“と”Command + c“で可能。

redcar_image_preview.png

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

redcar_in_application_folder.png

ちなみに、私はこのアイコンを使わせて頂きました。

公式のアイコンはここにあるのですが、解像度が低いんです
アイコンが拡大されたときに、画像が荒れてしまうので、私は上記のアイコンを設定しました。

いかがですか?
少し使った感じでは、なかなかキビキビと動いてくれます。
良く使う言語はデフォルトでカラーリングもしてくれますしね。

TextMateのバンドルが使えるかどうか、試してみたのですが、インストール方法が分かりませんでした。
CakePHPバンドルをインストールしたんですが、うまくいかなかった…。

この辺りの情報を持っている方は、教えて頂けると助かります。

引き続き、ちょっと使ってみます。
また機会があれば、ブログにも書きますね。
皆さんも使ってみてください。

ホーム > タグ > Ruby

スポンサードリンク
書いている人
つぶやき
  • setup.pyのinstall_requiresにgitのリポジトリを指定したい。どうすればいいかな。 1 day ago
  • ツイッタークライアントを久々に開いたけど、なんか違和感。 3 days ago
  • 最近、イベント参加出来てないな(_ _) 3 days ago
  • More updates...
RSS 気になるニュース
過去の記事

ページの上部に戻る