Posted by & filed under いろいろ.


昨日、Agile渋谷のEmacs勉強会で話をしてきました。参加者に若者が目立ちました。みんなが積極的にLTするのが印象的でした。下手すると会場で最年長だったかもしれません。怖いので確認していませんが。

プレゼン資料はCRITICAL WORKSに公開しています。公開記事は「Agile渋谷のEmacs勉強会で話した講演資料を公開します」です。

しばらく、ありえるえりあを離れてCRITICAL WORKSでブログを書く予定です。別にありえるえりあが嫌になったわけではありません。気分転換です。たぶん1年後にありえるえりあに戻ってきます。ただCRITICAL WORKSの黒い背景色が気持ち悪いので、これがいつまでも変わらなかったらもっと早く戻ってくるかもしれません。ついでに書くとCRITICAL WORKSというタイトルもあまり気に入っていませんが、良い代案がないので、こっちは特に変更を希望していません。

追記:
誤解されると困るので追記します。アリエルのCTOはやめていません。


関連文書:

  • 関連文書は見つからんがな

run_command

Posted by & filed under 開発.


開発部 川野です。最近、Sublime Text が流行っていますよね。私の周りでも、Sublime Text を使っている、というエンジニアが増えてきたように思います。 パワフルでモダンなエディタを探している方は、ぜひ一度試してみてはいかがでしょうか。

そんな Sublime Text ですが、魅力のひとつに便利なプラグインの存在があります。本記事では、Sublime Text のプラグイン開発について取り上げてみようと思います。

Hello, World!

Sublime Text のプラグイン開発を始めるのは、とっても簡単です。メニューバーの Tools > New Plugin.. を選択して下さい。雛形となるプラグインのコードが記述されたバッファを作ってくれます。Sublime Text のプラグインは、Python を使って書いていきます。

このプラグインは、バッファの一番最初に、「Hello, World!」という文字を挿入するだけの単純なものです。ファイルを保存して、実際に試してみましょう。

# 保存先のダイアログを開くと、User パッケージのディレクトリが選ばれた状態になっています。この場所に保存しても動作しますが、Packages ディレクトリに任意のフォルダを作って、そこに保存する方が望ましいです。

実行は、コンソールから行います。コンソールは、ctrl+` キーもしくは View > Show Console を選択して表示します。このコンソールは、組み込みの Python インタープリタ(バージョンは 2.6系)で、Sublime Text の API にアクセスできるようになっています。

サンプルのプラグインを実行するために、コンソールに以下のコマンドを入力して下さい。

ファイルの先頭に、「Hello, World!」の文字が挿入されたでしょうか?これでひとまず、プラグインを作ることができましたね。


# ソースコードの行頭に挿入されたテキストは、保存前に消しておくことを忘れずに :)

More detail..

Sublime Text には最初から、いくつかのプラグインが含まれています。メニューバーの Preferences > Browse Packages で Packages ディレクトリを開いてみて下さい。ここに、プログラミング言語別のプラグインと標準機能のプラグイン(Default)、標準機能のプラグインをカスタマイズするためのプラグイン(User)などが入っています。Sublime Text を使っている方は、何かしらのプラグインをもう既にインストール済みかと思います。それらもこのディレクトリにフォルダが作られていますので、眺めてみて下さい。

プラグインは、公式の API ドキュメントを参照しながら作っていきますが、一番頼りになるのは、ここにある実際のプラグインのソースコードだったりします。特に、Default のプラグインは、サンプル例となることを意識して作られているようなので、参考になります。

また、プラグインから組み込みのコマンドを呼ぶことができるのですが、どのようなコマンドがあるかを調べるには、キーバインディングの定義が参考になります。メニューの Preferences > Key Bindings – Default で keymap のファイルを開き、バインドしているキーからコマンド名を逆引きするのが効率のよいやり方です。

というわけで、私も早速、簡単なものを作ってみました。選択範囲に対して、任意の文字で囲むプラグインです。Vim の Surround.vim を意識してはいるのですが。。

囲みたい範囲を選択して、Ctrl-s, Ctrl-s とキーを打つと、下段に入力窓が現れます。

入力窓に、囲みたい文字を入力。選択領域の前後が、入力した文字で囲まれました。

インストールは、コマンドパレットで「Package Control: Add Repository」を選択し、以下の URL のリポジトリを追加して下さい。

sublime_surround:
https://github.com/kawanoshinobu/sublime_surround

上記は、このプラグインのソースコードを置いている GitHub のリポジトリです。その後、同じくコマンドパレットから「Package Control: Install Package」を選択して、「surround」と入力頂くと、追加した sublime_surround というパッケージ名が出てくるはずです。それを選択すれば、インストールは完了です。

このプラグインのソースコードは、以下になります。全然機能が足りてないので、Pull リクエストしてくれる方がいらっしゃれば大歓迎です。

Could not embed GitHub Gist 3327480: Not Found

まとめ

Sublime Text のプラグインを使った経験がある方はご存知かと思いますが、 Sublime Text は、かなり自由に拡張機能を作れるようになっています。Sublime Text はデフォルトでもかなり便利なエディタですが、それでも使っているうちに、不満な部分に遭遇することはあるかと思います。その時に諦めるのではなく、拡張機能を書いて問題を解決するのもまた楽しいと思います。ただ、エディタの拡張は中毒性があるので、のめり込んでしまった場合、私は責任を取れませんので、ご了承願います… ^^;

さて、Sublime Text をきっかけに、Python に興味が出てきた方に Python Conference Japan 2012 (略して PyCon JP 2012)のお知らせです。9月の15日(土)・16日(日)・17日(月祝)の3日間、品川の産業技術大学院大学を会場に Python のカンファレンスが開催されます。プログラムはこちら
実は縁があって、私も、Sublime Text をテーマに少しお話させて頂くことになっています。セッションでは、今回の記事よりもう少し突っ込んだ内容のお話をさせて頂こうと思っています。面白そうなセッションがたくさんありますので、9月の連休は Python にどっぷり浸かってみるのはいかがでしょうか。

というわけで、Sublime Text のプラグイン開発について、簡単にご紹介させて頂きました。


関連文書:

Posted by & filed under いろいろ.


会社のid:kawanoshinobu に「おおたにさん、まだ、Emacsなんか使っているんですか?(遠い目)。ナウでヤングな若者はSublime Text 2を使ってますよ(プッ)」と罵倒されました。と言うことで、Sublime Text 2を入れたメモです。環境はMacです。

[続きを読む…]


関連文書:

Posted by & filed under 開発.


Sencha Touch をテーマに企画しているありえるえりあミニ勉強会、第三回目を先週金曜日に開催しました。 お越し頂いた皆様、どうもありがとうございました!興味はあるけど諸事情で参加できなかった方もいらっしゃると思うので、今回も簡単にまとめ記事を書かせて頂きます。

カスタムコンポーネントを作るためにおさえておきたい 10 のステップ

第三回目のテーマは「コンポーネント」です。ただ、Sencha Touch のコンポーネントについて、ドキュメントに書いてあるようなことを解説するだけだとつまらないので、何かよい切り口はないか考えていました。そんな訳で、今回の発表は、カスタムコンポーネントを作るステップを紹介する過程(&デモ)で、コンポーネントについての理解を得てもらえるような内容にさせて頂きました。

# 残念ながら、Ustream 中継の録画ができていませんでした。。詳細はスライドから察して頂ければ幸いです。

ABOUT SENCHA ARCHITECT

次に、@basara669 さんから、先日 Sencha がリリースしたアプリケーション開発ツール Sencha Architect についてご紹介頂きました。発表資料は以下の URL で公開されています。

ABOUT SENCHA ARCHITECT:
http://basara669.com/presentation/0727

Sencha Architect は以前から知っていたのですが、@basara669 さんの流暢なデモを見ていると、とてもよいツールのように思えてきて、また触ってみたくなりました。Sencha Architect は、まだ用途が限られそうな印象ですが、今後が楽しみな製品だったりします。

Ustream 中継の録画があるので、興味のある方は、ぜひそちらもご覧下さい。
http://www.ustream.tv/recorded/24277252

HTML5 x Touch UI の UXを考える

最後に @dsuket さんから、開発された Inkpod Web の事例を交えながら、HTML5 x Touch UI の UX についてお話して頂きました。

発表資料は以下になります。

@dsuket さんがブログに補足記事を書かれていますので、そちらもぜひご覧下さい。タッチデバイス の WEB アプリ全般についての内容ですが、Sencha Touch アプリの開発にも活かせるアイデアがいっぱいで、とても勉強になりました。

まとめ

今回はメインテーマ(Sencha Touch のコンポーネント)以外にも、いろいろな話があって、非常に密度の濃い内容でした。次回以降も、この密度の濃さを維持していきたいと気持ちを新たにしています。

さて、Sencha Touch の勉強会ですが、あと数回、開催を予定しています。次回の開催日が決まり次第、また告知致しますので、ぜひぜひお気軽に遊びに来て下さい!また、発表して頂ける方も随時募集しておりますので、どうぞよろしくお願いします _o_


関連文書:

ac2

Posted by & filed under 開発.


開発部 川野です。Sencha Touch で、タップして開閉できるアコーディオンリストが欲しかったのですが、どこにも見当たらなかったため、自分で作ってみました。もし必要な方がいらっしゃれば、ご自由にお使い頂けると嬉しいです(MIT ライセンスで公開しています)。

デモサイト(スマートフォン標準ブラウザか、Chrome、Safari でお願いします):
http://accordionlist.senchafy.com

使い方は簡単で、TreeStore をセットすれば完了です。TreeStore の階層構造に従って、アコーディオンリストを動的に構築します。アコーディオンの入れ子も無制限で可能です。

初期表示時にアコーディオンを展開するかどうかのオプションと、ヘッダーとコンテンツのテンプレートを自由に設定することができます。

ソースコードは GitHub で公開しているので、詳細はそちらをご覧下さい。

https://github.com/kawanoshinobu/Ext.ux.AccordionList

Sencha Market にも試しに登録してみました(もしかして、日本人初!?)。ページのデザインが綺麗なおかげで、立派なコンポーネントに見えます。。

https://market.sencha.com/users/62/addons/81

ところで、ありえるえりあミニ勉強会ですが、今月 7/27(金)に第3回目を開催します。今回のテーマは、Sencha Touch のコンポーネントです。本日より募集を開始しました。皆様のご参加をお待ちしています :)


関連文書:

bt-first

Posted by & filed under 開発.


スマートフォンのブラウザで WEB アプリをストレスなく動作させるのは、結構難しいチャレンジです。モバイルブラウザは非力で、レンダリングもスクリプトの実行も PC ブラウザと比較すると桁違いに遅いです。また外出先で使われることが多い特性上、利用時のネットワーク状況も恵まれているとは言い難いですよね。

このような不利な状況でユーザーに快適に利用してもらうために、いくつか心がけたい工夫があります。

– サーバーへのリクエスト回数を最小限にする
– ファイルのサイズを最小限にする
– 静的ファイルを端末側にキャッシュさせる
– ローディング画面を表示して、ユーザーを安心させる

特に、端末へのキャッシュは強力な手法で、うまく実装すれば電波の届かない状況で WEB アプリを動作させることも不可能ではありません。ただ、適切にファイルをキャッシュさせるのは、なかなか難しい課題のように思われます。意図通りにキャッシュされなかったり、キャッシュが原因でファイルが正しく更新されなかったり。。

こういった最適化を効果的に行うには、それなりのスキルや経験が必要です。そこで頼りになるのが、Sencha 社が現在開発中の Sencha SDK Tools です。今回の記事では、Sencha SDK Tools を使ったアプリケーションの最適化についてご紹介させて頂こうと思います。

Problem:

Solution:

Sencha SDK Tools は Sencha Touch アプリの開発を簡単にしてくれるコマンドラインツールです。このツールを使うことで、Sencha 社が考案した最適化のノウハウをアプリに適用することができます。

Sencha SDK Tools を使って作られたプロジェクトであれば、以下のコマンドでアプリケーションの最適化が完了します。

– ローカルキャッシュを行い、リクエストの回数を最小限にする

以下は、このコマンドを使ってデプロイされたアプリの通信状況です。1回目と2回目で、リクエスト数が大幅に少なくなっていることが分かるかと思います。もちろん1回目も2回目もアプリの動作は全く変わりません。

(1回目のリクエスト)

(2回目のリクエスト)

これは、JavaScript・CSS ファイルのコードを端末にキャッシュさせることで実現しています。コード文字列を、localStorage に格納して、起動時に解析して実行します。

(4つの静的ファイルのコード文字列が localStorage に格納されています)

また、サーバー側でファイルの変更があった場合、端末のキャッシュを適切に更新する機能も備わります。これは Delta-update Mechanism と呼ばれるもので、変更があったファイル「だけ」を再読み込みします。HTML5 Application Cache のように、更新する場合に全てのファイルを再読み込みする、といった動作はしません。

(変更があった場合、再読み込みを促すアラートが表示されます)

– ファイルのサイズを最小限にする

Sencha コマンドのビルドプロセスで生成される JavaScript ファイルは、依存関係が考慮されたものです。つまり、不要なコードが含まれていない必要最小限のサイズになっています。依存関係は、アプリケーションのコードで宣言している requires から算出されます(※例外あり)。また、Google Closure Compiler を使った強力な圧縮が施されています。

ローディング画面を表示して、ユーザーを安心させる

準備が整うまでの間、ローディング画面を表示する機能も備わります。ローディングのアニメーションは HTML ファイル内に記述されている CSS を使って表現しているため、HTML ファイルさえダウンロードされればローディング画面を表示させることができます。

Discussion:

Sencha SDK Tools は以下のページからダウンロードできます。Windows、Mac、Linux それぞれのプラットフォームに対応しています。

http://www.sencha.com/products/sdk-tools/download/

ツールのコードは JavaScript で書かれていて、Node.js を使って実行します。Node.js の他に、PhantomJS, Open-vcdiff, Closure Compiler, YUICompressor, などが必要ですが、それぞれを個別にインストールする必要はなく、Sencha SDK Tools に全て同梱されています。

Sencha SDK Tools を使った、プロジェクト作成からデプロイ用アプリの出力までの一連のサイクルは、以下の動画がとても分かり易いです。

Getting Started with Sencha Touch 2

プロジェクトを作成すると、app.json という設定ファイルが生成されます。このファイルが、以後のビルドプロセスで、非常に重要な役割を果たします。まず第一に、コマンド実行時にディレクトリ構成を伝える役割を担います。具体的には、JavaScript や CSS 、ライブラリのある場所、また生成したファイルの出力先を定義します。その他、ビルドのオプションを定義します。

第二に、micro-loader というファイル読み込み機能を動作させるために利用されます。HTML ファイルが端末にダウンロードされた後、app.json ファイルがダウンロードされ、その情報を元に JavaScript や CSS ファイルを非同期でダウンロードします(そのため、HTML ファイルに、script タグや link タグで、具体的な JavaScript ファイルや CSS ファイルのパスは記述しません)。製品用ビルドの場合は、その際に差分チェックを行い、キャッシュしているデータを利用するか、再読み込みを促すアラートを表示するかの判定を行います。

その他、HTML5 Application Cache の定義も行います。上述したように独自のキャッシュシステムがあるのですが、これは JavaScript や CSS といったテキストデータのキャッシュを行うもので、画像などのバイナリデータは対応していません。そのため、バイナリデータは、HTML5 Application Cache を使うことになります。Sencha Touch 独自のキャッシュシステムと HTML5 Application Cache を組み合わせることで、さらに強力なローカルキャッシュが実現できる、という寸法です。

このように Sencha SDK Tools を使うことで、効果的なアプリケーションの最適化を行うことができます。ただ、このツールはまだβ版で、動作に不安定な点が多々あります。最新のバージョン(Beta3)だと、app.json ファイルのビルドオプション logger の値を no から false に変更しなければ、動作する JavaScript ファイルが作られませんでした。。また、想定されたプロジェクト構成を前提にしているので、イレギュラーな構成の対応が難しかったりと、融通が利かない点もあります。

とはいえ、いくつかの問題点はあるものの、Sencha SDK Tools は、Sencha 社が検証したベストプラクティスを活用できる、非常に便利なツールだと思います。Sencha Touch をおすすめできる理由が、また一つ増えたように感じています :)

追記
64bit 版の ubuntu で実験したところ、$SENCHA_HOME/bin/jsdbが 32bit 版の libstdc++ に依存しているようで、エラーで動きませんでした。「/opt/SenchaSDKTools-2.0.0-beta3/bin/jsdb: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory」といったエラーが出ます。apt-get で ia32-libs を入れたら直りましたので、共有しておきます。

See Also:

Sencha SDK Tools 開発者による、コマンドの紹介記事
Behind the Sencha Command Utility and the Build Process


関連文書:

Posted by & filed under , 開発.


WEB+DB PRESS Vol.69に「大規模コードリーディング」と題した記事を寄稿しました。

元ネタはTGSで行った講義です。この時の講義資料を見た編集者から執筆を依頼されました。講義は2月初めでしたが、雑誌として記事が載るのは6月末になりました。こう考えると紙媒体のタイムラグは相当なものです。今回に関しては時流に関係する内容ではないので問題はありませんが。

講義で一度話した内容なので執筆は余裕だろうと思っていましたが、書けばそれなりに苦労しました。

コードを書く技法もそうですが、コードリーディングの技法はそもそも伝達可能なのかという深刻な問いがあります。わかった気にさせることはできるかもしれませんが、経験しないと結局わからない懸念もあります。ブレンダン・アイク氏もゲシュタルトなプロセスと言っています。ただ、そんなことを言っていると、ソフトウェア開発はいつまで経っても未熟な産業のままです。聞いてくれる人がいる限り、自分が得た知識の伝承の努力は続けていこうと思います。


関連文書:

  • 関連文書は見つからんがな

Posted by & filed under , 開発.


Emacsファンなら既に今月のSoftware Design(以下SD)を買ったかと思います。VimとEmacsの特集が載っているからです。

Emacsの名のつく特集にアリエルから寄稿がないのもあれなので、序章を書きました。エッセイみたいな小文です。もし世の中にEmacsエッセイストという職業が成り立つなら、ぼくは名乗る資格があるかもしれません。なる気はありませんが。

少し前にもSDでVimとEmacsの特集があった気がすると思った人はおっさんかもしれません。前の特集は1年2ヶ月前です。おっさんには最近の話ですが、若い人には遠い昔の話です。

遡ると2008年2月号に「Emacsマスターへの道」がありました。裏話ですが、「Emacsのトラノマキ」を始めるきっかけがこの特集でした。更に言うと、次のふたつの社内勉強会の公開資料をSD編集者が見つけたのが、上記特集のきっかけでした。こういうこともあるので、社内勉強会の記事はどんどん公開すべきです。

今月のSDはアンチEmacsの人にも楽しめます。なぜなら「Emacsのトラノマキ」の連載が終了するからです。次号からは「Vimのトラノマキ」…という話はどこからも聞いていません。

2009年5月号から始まった連載でしたが遂に終わりました。3年3ヶ月の長期連載でした。2009年5月がどんな時代だったかと言うと、Google Wave雑感とか書いていました。これを見て遠い昔と思うか、意外に最近と思うかは人によるかもしれません。個人的には、意外に最近だなと思ってしまいました。

連載最後の記事は、連載の振り返りと最近リリースされたEmacs24の話を書きました。タイトルの「プレイバック」は、レイモンド・チャンドラーから拝借しました。


関連文書:

  • 関連文書は見つからんがな

sublimetext

Posted by & filed under 開発.


開発部 川野です。今回は少し趣旨を変えて、開発の Tips ではなく、Sencha Touch アプリの開発に適したエディタをご紹介させて頂こうと思います。

Sencha Touch のアプリは、規定の MVC(Model View Controller)構成でプロジェクトを作ることが想定されています。また、JavaScript ファイルを動的に読み込む機能や、Sass のコンパイルでも、規定のディレクトリ構成に従ってファイルが配置されていることを前提にしています。

こういった構成を強制されることでファイルが適切に分割されてメンテナンスし易くなるのですが、その分、ファイルの数が増えることになります。私が普段使っているエディタはバッファ間の移動が苦手なので、プロジェクトのファイルが増えてきた場合の移動が煩わしく、何かよい解決策がないか考えていました。

Sencha 社が提供しているスクリーンキャストでは、TextMate というエディタが使われていてファイル間を軽快に移動しているのですが、Mac でしか動作しないため、私は業務で使うことができません。また、Vim のキーバインドが気に入っているため、その操作感は失いたくない、という個人的な要件もあります。

こういったことを悩んでいたところ、Sublime Text(サブライムテキスト)という面白いエディタに出会ったので、今回ご紹介させて頂こうと思いました。

Problem:

Solution:

Sublime Text は、奇麗なユーザーインターフェイスと洗練された機能が特徴の(主に)プログラミング用のテキストエディタです。この Sublime Text、かなり使い勝手が良く、私の要望のほとんどを満たしてくれただけでなく、想像もしてなかった便利な機能がたくさんありました。

懸案だったファイル間の移動は、左側にディレクトリのツリーが表示され直感的にファイルを選択でき、バッファはタブ表示され簡単に切り替え可能、また「ctrl + p」でプロジェクト内のファイルを一発移動できるので、とても快適になりました。

ダウンロードはこちらから
http://www.sublimetext.com/2

以下は、私の Sublime Text のスクリーンショットです。私は、Solarized Light のカラースキーム(デフォルトで入っています)と Soda Dark theme を使っています。

Discussion:

テキストエディタ: Sublime Text 2 は事実上の TextMate 2 ?」なんて Q&A があるのですが、後発なだけあって、Sublime Text は、いろんなエディタのよい部分を上手に取り入れているように感じます。個人的な印象は、「Emacs + Vim + TextMate = Sublime Text」といった感じです。特徴は上記のページで議論されているので割愛しますが、私は今までコードを書く際にスニペットを使っていなかったので、その便利さに感激しました。

Sublime Text では TextMate 用に作られたスニペットをそのまま使うことができます。Sencha Touch のコア開発者である Ed Spencer さんが TextMate 用の Sencha Touch スニペットを作っていて、それをそのまま Sublime Text で使うことができました。Sencha Touch のスクリーンキャストで使われているものと同じものだと思います。

Sencha.tmbundle

インストールは、Sublime Text のパッケージ管理システムを使うと便利です。標準では上記のスニペットは含まれていないのですが、GitHub で公開されているものは、管理システムを経由してインストールできるようになっています。以下のページで、GitHub のリポジトリを追加する方法について紹介されているので、ご参考下さい。

Sublime Text 2のPackage管理

また、Sublime Linter というリアルタイム構文チェック拡張を入れてみたのですが、これもなかなかすごいです。まだ JavaScript でしか試していないのですが、リアルタイムで問題点が強調される様子は、Emacs の js2-mode を彷彿させるものでした。インストールは、以下のページが参考になりました。

macのテキストエディタ Sublime Text2でJavaScriptのシンタックスエラーチェックをリアルタイムで行う方法

最後に、私のキーバインディング設定を共有させて頂こうと思います。Vim と同じく、インサートモードとコマンドモードを切り替えて入力するようにしています。vi モード(正式名称は、ビンテージモード)を有効にするには、設定ファイルの変更が必要です。詳細は以下のページをご参照下さい。設定ファイルは、JSON 形式になっています。

Vintage Mode – Sublime Text 2 Documentation

私は、Vim のキーバインドを標準からいろいろ変更して使っていて、それと同じことができないと困るのですが、Sublime Text はその要件も実現できて助かりました。インサートモードとコマンドモードの切り替えは「k, j」で、行頭移動は「ctrl + h」、行末移動は「ctrl + l」、その他、改行やバックスペースなどを好みのキーバインドに変更しています。また、Vim で煩わしく感じていたファイルの保存は、Emacs の保存キーバインド「ctrl + x, ctrl + s」にしました。何かのご参考になれば幸いです。

Sublime Text は有料のエディタなのですが、評価版を無期限で使うことができるようなので、一度試してみてはいかがでしょうか?評価版のデメリットは、保存時に、たまにメッセージが出る程度です。そして、気に入ったら開発を支援する気持ちも込めて、ライセンスを購入されるとよいかと。

まだ使い始めたばかりですが、Python を使って拡張プログラムを開発できたりと、いろいろ楽しそうです。今回は Sencha Touch アプリの開発に適したマルチプラットフォームの高品質エディタ Sublime Text をご紹介させて頂きました。

See Also:

公式ドキュメント
Sublime Text 2 Documentation

海外のサイトですが、「Sublime Text を使うべき9つの理由(※超訳)」が面白かったので共有します。
9 reasons why Sublime Text 2 should be your next IDE


関連文書:

Posted by & filed under いろいろ, 開発.


ラングリッチからアリエルがケンカを売られました。嘘です。高いEmacs力を褒めてもらいました。ありがとう。

せっかくなので、自分がラングリッチの入社基準を満たしているのか確認してみました。

* PHP, Ruby, JS など、複数の言語がふつうに使える方

「パーフェクトJava」を執筆する程度にはJavaを知っています。JavaよりCのほうが自信があるので、基準は満たせていると思います。なおJavaScriptの文法知識は自信がありますが、DOM知識が絶望的なので期待しないでください。

* MySQL, Apache, Nginx, ロードバランサ, キャッシュサーバなどインフラ知識もふつうにある方

Apacheは細かい落とし穴を含めて色々と知っている自信があります。HTTPはrfc2616をかなり読み込んでいるので基準を満たせていると思います。

* Unix コマンドがふつうに使える方

これが一番自信があります。たぶん負けません(誰に?)。

* HTML, CSS がふつうに使える方

まったく自信がありません。確実にふつう以下です。

* Git などのバージョン管理ツールがふつうに使える方

CVS/subversion世代ですが、使えると思います。

* テストコードがふつうに書ける方

バグとの戦いの経験はそこそこありますが、品質とコストのバランスはいまだ迷い中です。

* きれいな HTML, CSS が書ける方

HTMLの構造は理解できますが、CSSが絶望的にできません。

* ユーザビリティ・アクセシビリティーに興味のある方

興味はありますが、センスがありません。

* URI の意味を知っている方

たぶん。

* Photoshop, Illustrator が使える方

使えません。使う気もありません。ソースが公開されていないツールは使わないからです。

* JS(jQuery)が使える方

苦手なDOMを隠蔽してくれるのは嬉しいですが、結局、CSSみたいなセレクタに馴染めません。

* PHP, Ruby などの言語が簡単でも分かる方

たぶん。

* Git などのバージョン管理ツールが使える方

CVS/subversion世代ですが、使うだけなら大丈夫です。

* LESS, SCSS などのCSSプリプロセッサーが使える方

ミスター高村の勉強会で聞いたことがある程度で、まともに使った経験はありません。

* ウェブサービスが大好きな方

学習系サービスは好きですが、時間つぶし系サービスは嫌いです。

ラングリッチに入社しませんが、最近の若い技術者の英語力に焦りを感じている今日この頃なので、サービスとしてのラングリッチには興味があります。


関連文書:

  • 関連文書は見つからんがな