社長BLOG

OpenPNE 開発者流のソースコードの追い方 #3 – vim + ctags 編

開発チームの海老原です。
仕事で疲れた日もソースコードを追えばたちまち元気になりますよね! ということで今回も技術ネタです。

ソースコードを追うための必需品といえばやはりエディタです。
そんなわけで今回はエディタを使ってソースコードを追っていきましょう。

ちなみに僕は開発でもバリバリに Vim を使っているため、ここでは Vim (version 7.2) 前提で解説します。

他のエディタを使われている方は適宜読み替えてください。

■ Ctags を導入する

今回は Ctags を使います。 Ctags はソースコードなどから識別子のタグファイル(インデックスファイル)
を生成するプログラムです。おそらく Unix 系 OS には標準で含まれているはずです。
お使いの環境に入っていない場合は以下のようなコマンドによって入手してください(例は Debian)。

# apt-get install ctags

Ctags には Exuberant Ctags や Etags、 gtags などといった派生版も存在します。
どれを使っても基本は同じですので、お好みのものを選んでください。

Ctags を導入したら、プロジェクトのルートディレクトリで以下のコマンドを実行してください。

$ ctags -R

これで tags というタグファイルが自動的に生成されるはずです。

以下のように指定することでタグファイルの対象を限定することもできます。(これについてはまた後日)

$ ctags –langmap=PHP:.php

■ Vim からタグファイルを読みに行く

Vim にタグファイルの場所を教えます。
$HOME/.vimrc に以下の設定を追記してください。

set tags+=tags

■ いざタグジャンプ!

Vim でソースコードを開き、定義を知りたい識別子にカーソルを合わせ、
Ctrl + ]
をタイプしてください。

これだけで定義元にジャンプすることができます。

これはすごい! 便利! それに速い!

ジャンプ前に戻りたい場合は
Ctrl + t
をタイプしてください。

これさえマスターすれば、巨大なソースコードであっても充分読んでいくことができます。

……とはいえ、 Ctrl + ] は正直言って打ちづらいです。

タグジャンプは頻繁に使っていくものなので、ちょっとこれはなんとかしたいところです。
ということで、海老原は以下の設定を $HOME/.vimrc に書いています。

map t

これで、 t をタイプするだけでタグジャンプできます。もうやみつきです。

■ 識別名を直接指定する

定義を知りたいクラス名などがカーソルを合わせるでもなく分かっている場合、あなたならどうしますか?
ここでソースコード検索をしたり諦めて API リファレンスに逃げたりしてしまう方に朗報です。

おもむろに Vim を開き、以下を入力してください。

:tag 【識別名】

すると、指定した識別子の定義元にジャンプすることができます。

これまた便利です。

さらに、指定する識別子は tab で補完することができます。
op*Form というような曖昧な指定もばっちりサポート!

■次回は?

ctags で生成することのできるタグファイルについて深く突っ込んでいきます。乞うご期待!

それではみなさん、今日もハッピーなコードリーディングライフをお過ごしください!

手嶋屋に入社しました!~長澤編~

初めまして。
3ヶ月のトライアル期間を経て

3月から開発部の社員として採用されました長澤です。

このブログに書くのはこれが初めてですが、
OpenPNE3のプラグイン開発をやっていたので、
もしかしたら私の名前を知っている人もいらっしゃるかもしれません。

私はゲーム系の専門学校卒で、今までWeb系プログラムはほとんど
手を出していませんでした。

なので知らないことの連続で毎日が充実しています。

入社式にて

●入社はOpenPNE2を導入できてから!?

実を言いますと、採用前まで私は手嶋屋はおろか、OpenPNEの事も全く知りませんでした。

プログラマの募集で検索していた時にたまたま手嶋屋のホームページを見て、
ブログを通して手嶋さんの人柄の良さと社風に好感を持ち、

その日のうちに問い合わせました。

その後、面接をし、とりあえず自分のPCにOpenPNE2を導入できてから…という話になりました。

これが悪戦苦闘してしまい、当初の予定より大幅に時間がかかり、
それでも採用担当の山口さんは待っていてくれるという事を言ってくれました。
そしてなんとか正常に動作する事を確認でき、晴れてトライアル採用されたわけです。

●symfony入門からスタート!

その頃、手嶋屋ではOpenPNE3を開発している真っ最中でした。
OpenPNE3ではsymfonyというフレームワークを基盤として開発しています。
symfonyを採用した事で、プラグインを利用し、各機能を分離して開発する事が
可能になりました。

自分が手嶋屋に来たとき、OpenPNE2で標準的な機能がOpenPNE3で
実装されていなかったので、その開発をするために、symfonyの公式HPにある

入門編を勉強をする事になりました。

当初、その内容に理解できずに、ただ書かれている通り試しているだけで、
内容を理解するまでに至りませんでした。
こんな状態でしたのでOpenPNE3のプラグイン開発が自分にできるのか心配でした。

しかし、開発担当の小川さん、海老原さんに教えてもらい、悪戦苦闘しつつも、
なんとか形にすることができて今はほっとしています。

そんなわけで手嶋屋では私のようなプログラマでも、
他社の新入社員ではできないような仕事にチャレンジさせてもらっています。
それゆえにプレッシャーも大きいですが、なによりやりがいを感じますね。

今は、先輩方にいつも迷惑をかけているので、まずは自分で仕事をこなせるようになって、

ゆくゆくは自分のように経験の浅い新人さんに、頼られるような存在になりたいと
思っています。

こんな頼りない自分ですが、どうぞこれからよろしくお願いいたします。

入社式にて

OpenPNE 開発者流のソースコードの追い方 #2 – Rak 編

            <p>開発部の海老原です。<br />
            ソースコード読むのはホント楽しいですね! ということで技術ネタです。</p>
            <p>「<a href="https://www.tejimaya.com/archives/1362/">OpenPNE 開発者流のソースコードの追い方 #1 - ack 編</a>」を書かせていただいたばかりですが、<br />

            なぜか開発部プロマネの國忠さんが ack の導入ができないということなので、<br />
            他のツールについても触れてみようと思います。</p>
            <p>今回紹介するのは、 <a href="http://rak.rubyforge.org/">Rak</a> というツールです。 ack は Perl ですが、こちらは Ruby で書かれています。</p>
            <blockquote><p>It is based on the Perl tool ack by Andy Lester.</p></blockquote>
            <p>とあるように、 ack を基にして作られたツールだけあって、<br />

            現時点ではほとんど ack と同じように使うことができます。</p>
            <p>「ack をどうしても導入できない!」「Perl 製じゃなくて Ruby 製がいい!」という方は<br />
            一度試してみてはどうでしょうか。</p>
            <h3>■導入方法</h3>
            <p>Ruby で書かれているだけあって、 Rak は RubyGems で提供されています。<br />
            RubyGems で提供されているパッケージを入手するには、 gem コマンドを実行する必要があります。<br />

            パッケージ管理システムなどを使って gem をインストールしてください。</p>
            <p>Debian の場合だと以下のようにして gem を取得可能です。</p>
            <blockquote><p><code># apt-get install rubygems</code></p></blockquote>
            <p>gem の準備が整ったら、以下のようなコマンドで Rak を入手できます。</p>
            <blockquote><p><code># gem install rak</code></p></blockquote>
            <p>では、ちょっと試してみましょう。</p>

            <blockquote><p><code>$ rak "foo("</code></p></blockquote>
            <p></p>
            <p>ack よりもちょっと遅い印象がありますが、機能としては遜色ありません。すごい!</p>
            <h3>■実行例</h3>
            <p><a href="https://www.tejimaya.com/archives/1362/">前回</a>紹介した ack の実行例と同じことを Rak にもやってもらうことにします。</p>
            <h4>前後の行を表示する</h4>

            <p>ack では「前後を含めた10行を表示」でしたが、 Rak では「前後5行を含めて表示」となります。</p>
            <blockquote><p><code>$ rak -C5 "foo("</code></p></blockquote>
            <p></p>
            <h4>検索パターンに正規表現を使う</h4>
            <p>これはまったく ack と同じですね。</p>
            <blockquote><p><code>$ rak "(class|interface)s+opS+" lib</code></p></blockquote>

            <p></p>
            <h4>「条件にマッチする」ファイルの一覧を表示</h4>
            <p>これも同じ。</p>
            <blockquote><p><code>$ rak -l " * This file is part of the OpenPNE package" lib</code></p></blockquote>
            <p></p>
            <h3>■ ack と Rak 、どちらを使えばいいの?</h3>
            <p>ということで、基本的にはどちらを使っても同じですが、<br />

            僕は ack が完全に肌になじんでしまっているので、 Rak の常用はしないかもしれないです<br />
            (気分転換に……ということはあるかも)。<br />
            # ack の場合は .ackrc を書くことで初期設定をおこなうことができますが、<br />
            Rak にはそういったものがあるんでしょうか? それだったら乗り換えてもいいですね。</p>
            <p>ともあれ、 ack や Rak のようなツールを駆使して今日も一日気持ちよくコードとたわむれましょう。<br />
            それでは、よいコードリーディングライフを!</p>

手嶋屋に入社しました!~酒井編~

はじめまして。開発チームの酒井です。

OpenPNE公式サイトでは以前から「開発チームのきわ」と名乗って、
リリースの告知などをさせていただいています。

今まではアルバイトとして、OpenPNE本線の仕様策定・動作確認などを担当していましたが、
今月はじめからは新入社員として手嶋屋でがんばっていくことになりました!

実は、手嶋屋開発チーム初の女子社員でもあります。ちょっと自慢です。

「どうしてアルバイトから社員になろうと思ったの?」
社員になったことを友人たちに報告すると、必ずこの質問をされます。
私が手嶋屋に入社しようと思ったきっかけは、こんな事からでした。

去年の夏の夜、開発チームでOpenPNE3.0について雑談したことがありました。
その頃はまだOpenPNE3.0について確定している事が少なかったのですが、
「次のOpenPNEはこうだー!」と熱く語る開発者の男たちの目は、
まさに夢見る少年の輝く瞳をしていたんです!

「絵に描いたような物作りの男たちだ!」

と、アルバイト3年目にして開発者たちの澄んだ目に感激しました。

しかし、そんな開発チームですが、実際は開発以外の雑務も山のようにこなさなくてはなりません。
その雑務に追われ、夢見る少年の瞳が死んだ魚のように淀んでいるときも……。
それでも仕事が大好きで、熱い気持ちで取り組んでいるというのはヒシヒシと伝わります。

ですが、一度彼らのキラキラした目を見てしまった私は、
やっぱりいつでも開発者に楽しく開発に打ち込んでもらいたい!
色々な面白いことに取り組んで欲しい! 

そのために、細かい仕事を自分が引き受けられれば……と思っていました。

とはいえ、アルバイトの頃は仕事でできる範囲が限られている上、
「アルバイト」という身でチームの深くに入ることにも抵抗を感じていました。

ですが、今後は開発者が全力で面白いものの開発に取り組めるよう、
開発チーム唯一の女子社員として陰に日向に支えていきたいと思います。
そしてそこから、開発者の熱ーい思いでOpenPNEがさらに魅力的なアプリケーションとして

進化してくれればと思います。

まだまだ未熟者ではありますが、これからよろしくお願いします!


OpenPNE 開発者流のソースコードの追い方 #1 – ack 編

            <p>開発チームの海老原です。<br />
            みなさん今日も元気にソースコード追ってますか? ということで今回は技術ネタです。</p>

            <p>普段どおり楽しくコードを追ってたら、手嶋荘住人の川原君に、<br />
            「探索スキル高いですねー」<br />
            と感心されてしまったので、僕がコードを追うのに使っている方法を紹介していきます。</p>
            <h3>■本日のテーマ</h3>
            <p><strong>「foo() という関数がどこで使われているか見たい!」</strong><br />
            といったときのソースコードの追い方をご紹介します。</p>

            <h3>■前提環境</h3>
            <p>僕が開発に使用している以下の OS を想定して解説します。<br />
            といってもまあ UNIX 系 OS ならほとんどそのまま参考になるでしょう。<br />
            ・Debian sid<br />
            ・Mac OS X Leopard</p>
            <h3>■ go &#8220;ack&#8221; !</h3>

            <p>さて、本日のテーマ、<br />
            「foo() という関数がどこで使われているか見たい!」<br />
            というとき、こんなコマンドを叩いている方はいませんか?</p>
            <blockquote><p><code>$ grep -rw  "foo(" .</code></p></blockquote>
            <p></p>
            <p>これでも目的は果たせます。しかし、<br />

            ・結果が見づらい<br />
            ・subversion などのバージョン管理システムが使うディレクトリも対象にしてしまう(パイプで繋ぐことで回避は可能)<br />
            などといった欠点があります。</p>
            <p>これを一気に解決してくれるだけでなく、ソースコード検索において<br />
            強力な機能を提供してくれるツールが ack です。<br />
            <a href="http://search.cpan.org/dist/ack">http://search.cpan.org/dist/ack</a></p>

            <p>ack は CPAN で提供されているので、インストールは CPAN シェルに入って……<br />
            と言いたいところですが、 Debian では apt でインストールすることができます。<br />
            やっぱり Debian はいいですね。</p>
            <blockquote><p><code># apt-get install ack-grep</code></p></blockquote>
            <p>その他の OS では、普通に CPAN でインストールするか、パッケージを取ってきて<br />
            展開して設置という手段を採る必要があります。 まあ CPAN でインストールするのが妥当でしょう。<br />

            以下のコマンドで CPAN シェルに入ってください。</p>
            <blockquote><p><code># cpan</code></p></blockquote>
            <p>CPAN を使うのがはじめてであればここで設定に必要な事項の入力が求められます。<br />
            CPAN の設定についてはここでは解説しませんので、「CPAN 設定」などで検索してみてください。</p>
            <p>準備が整ったら、 CPAN シェル上で以下のコマンドをタイプしてください。</p>
            <blockquote><p><code>cpan> install App::Ack</code></p></blockquote>

            <p>あとは指示に従えばインストールが完了するはずです。シェルから抜けてください。</p>
            <blockquote><p><code>cpan> exit</code></p></blockquote>
            <p>これで晴れて ack を利用できるようになりました!</p>
            <p>それでは以下のコマンドを叩いて grep との差を見せつけてやりましょう。</p>
            <blockquote><p>(Debian の場合)<br />

            <code>$ ack-grep -w "foo("</code></p>
            <p>(それ以外)<br />
            <code>$ ack -w "foo("</code></p></blockquote>
            <p></p>
            <p>すごく見やすい! しかも .svn ディレクトリもご丁寧に無視してくれている!<br />
            これはもう使い倒していくしかないですね。</p>

            <p>ということで、簡単に ack の便利な使い方を紹介していきます。</p>
            <h3>■ ack を使いこなす</h3>
            <h4>前後の行を表示する</h4>
            <p>先ほどの例だと、「どこで」関数が使われているかはわかりますが、<br />
            「どうやって」「なぜ」関数が使われているかが伺い知れなかったりします。<br />
            そんなときにはこれ。</p>

            <blockquote><p>(Debian の場合)<br />
            <code>$ ack-grep -C10 -w "foo("</code></p>
            <p>(それ以外)<br />
            <code>$ ack -C10 -w "foo("</code></p></blockquote>
            <p>この -C10 で、ヒットした行と前後をあわせての 10 行分の結果を出力してくれます。</p>
            <p></p>

            <p>前しか必要ないなら -B10、後ろだけなら -A10 と指定することもできます。</p>
            <p></p>
            <h4>検索パターンに正規表現を使う</h4>
            <p>正規表現は grep でも使えるんですが、 ack では Perl 準拠の正規表現で書けるところがミソです。</p>
            <p>lib ディレクトリ以下で、 op というプレフィックスがついたクラスなどの定義を見たい場合、<br />
            こんな感じでコマンドを実行してみてはどうでしょうか。</p>

            <blockquote><p>(Debian の場合)<br />
            <code>$ ack-grep "(class|interface)s+opS+" lib</code></p>
            <p>(それ以外)<br />
            <code>$ ack "(class|interface)s+opS+" lib</code></p></blockquote>
            <h4></h4>
            <h4>「条件にマッチする」ファイルの一覧を表示</h4>

            <p>ack ではヒットしたファイル名のみを出力することができます。<br />
            lib ディレクトリ以下で OpenPNE のライセンス表記が含まれるファイルをリストアップします。</p>
            <blockquote><p>(Debian の場合)<br />
            <code>$ ack-grep -l " * This file is part of the OpenPNE package" lib</code></p>
            <p>(それ以外)<br />
            <code>$ ack -l " * This file is part of the OpenPNE package" lib</code></p></blockquote>

            <p><a href="https://www.tejimaya.com/wp-content/uploads/e38394e382afe38381e383a3-90.png"></a></p>
            <p>これと xargs コマンドを併用することで、他のコマンドとの連携が可能になるなど応用できます。<br />
            (以下の例では条件にマッチしたファイルを削除します)</p>
            <blockquote><p><code><br />
            $ ack-grep -l "cholesterol" | xargs rm -f<br />
            </code></p></blockquote>
            <h4>「条件にマッチしない」ファイルの一覧を表示</h4>

            <p>逆もできます。<br />
            今度はライセンス表記が含まれないファイルをリストアップします。</p>
            <blockquote><p>(Debian の場合)<br />
            <code>$ ack-grep -L " * This file is part of the OpenPNE package" lib</code></p>
            <p>(それ以外)<br />
            <code>$ ack -L " * This file is part of the OpenPNE package" lib</code></p></blockquote>

            <p>もちろんこれも他のコマンドと組み合わせやすくて重宝します。</p>
            <blockquote><p><code><br />
            $ ack-grep -L "Kousuke Ebihara " | xargs rm -f<br />
            </code></p></blockquote>
            <h3>■他にも便利な使い方がたくさん</h3>
            <p>ack には紹介しきれないくらい多くの便利なオプション(-f や &#8211;thpppt など)が存在します。<br />

            また、設定ファイル .ackrc によって検索対象のルールを作成することもできます。</p>
            <p>ぜひ、 <a href="http://search.cpan.org/dist/ack/ack-base">http://search.cpan.org/dist/ack/ack-base</a> のマニュアルをご覧ください。<br />
            きっと新しい活用方法が見つかるはず!</p>
            <p>コードリーディングを楽しむには、 ack のような便利なツールが不可欠です。<br />
            ぜひみなさんも今回紹介したテクニックを活用して、コードと友達になりましょう!<br />

            それでは、よいコードリーディングライフを!</p>

symfony 開発者の Fabien Potencier さんにお会いしました

            <p>開発チームの海老原です。</p>
            <p>方々で言われているように OpenPNE3 の開発でずっとてんてこ舞いで、<br />
            大晦日もお正月も関係なく働きまくりでした!<br />

            ……ところがどうやら世間的には「冬休み」というものであったらしく、<br />
            大平さんや山口さんから「休め!」とキツーく言われてしまったのです。</p>
            <p>そんなわけで、ありがたいことに 2 月半ばに 7 日間ほど<br />
            お休みをいただけることになりました。</p>
            <p>「でもせっかくだから何か面白いことやりたいよね」<br />
            という話を開発部の面々とお酒を交わしつつしていたなかで、<br />

            「OpenPNE3 もリリースしたんだし、 symfony の開発者に会いにいくのはどう?」<br />
            という提案が出てきました。</p>
            <p><a href="http://labs.cybozu.co.jp/blog/akky/">サイボウズ・ラボの秋元さん</a>が<a href="http://labs.cybozu.co.jp/blog/akky/archives/2009/01/practical_symfony_symfony12lulucom.html">既にお会いしている</a>とのことで、<br />
            ご迷惑でないかどうか不安なまま、<br />
            さっそく開発者の Fabien Potencier さんにコンタクトを取ってみたところ、<br />

            「調節するので時期が決まったらまた連絡してください」<br />
            とのお返事が! これはお会いするしかない、と大慌てで支度し、日本を飛び立ちました。</p>
            <p>OpenPNE3 のベースになっている <a href="http://www.symfony-project.org/">symfony</a> というフレームワークは <a href="http://www.sensiolabs.com/en">Sensio Labs</a> という<br />
            フランスの会社が中心となって作っているオープンソース・ソフトウェアで、<br />

            社長兼プログラマである <a href="http://fabien.potencier.org/">Fabien Potencier</a> さんが中心となって、日々進化させ続けています。</p>
            <p>今回は、その Fabien さんと 1 時間ほど英語でお話ししてきました。<br />
            内容は大きく分けて以下の 3 つです。<br />
             ・OpenPNE3 について<br />
             ・symfony について<br />

             ・オープンソースプロジェクトについて</p>
            <p>OpenPNE3 はばっちり国際化に対応していますが、<br />
            公式サイトは日本語版しか用意していないため、<br />
            「日本語ばっかりで OpenPNE を試せなかった」ということと、<br />
            Fabien さんが僕の名前、海老原昂輔(Kousuke Ebihara)を発音できなかったことは残念でしたが、<br />
            symfony の今後の動向について Fabien さんが思っていることや、<br />

            あのわかりやすい symfony 公式サイトに対するこだわりなどを聴かせていただき、<br />
            非常に有意義な時間を過ごすことができました。</p>
            <p>Fabien さんはとても優しい方で、僕のつたない英語もうんうんと頷きながら聴いてくださいました。<br />
            また、 OpenPNE の紹介の最中に僕のコードに対してアドバイスまでしていただいて、<br />
            嬉しいやら申し訳ないやらで、とにかく感謝の気持ちでいっぱいです。</p>
            <p>それでいて、とても堂々としている方だと感じました。<br />

            Fabien さんは途中、こんなことをおっしゃっていました。</p>
            <p>「ソフトウェア開発者には、『ソフトウェアのために』目指すべき目標があります。<br />
            開発者は、その目標をしっかり見据えて、まっすぐに進んでいかなくてはなりません。<br />
            ユーザの声を聞き入れるのも大事ですが、私たちは常にソフトウェアのことを忘れてはいけません。<br />
            ユーザの声に対して、時には、『それは違う』と言ってあげられることもまた大切です」</p>
            <p>僕はこの言葉にとても心打たれました。<br />

            言葉の内容だけでなく、彼の symfony やソフトウェアに対する真摯な姿勢を見て取り、<br />
            僕が日々感じている OpenPNE やオープンソースに対する迷いのようなものが薄れていくのを感じました。<br />
            それほど、彼の言葉は力強く胸に響いたのです。<br />
            もしかすると Fabien さんのこの言葉には賛否両論あるかもしれませんが、しかし僕は、<br />
            同じオープンソース開発者として Fabien Potencier さんを尊敬します。</p>
            <p><br />

            【Sensio のイメージカラーもあなたたちと同じで緑色なんですよ、と Fabien さん】</p>
            <p>あっという間の 1 時間でしたが、非常に充実した時間を過ごすことができました。<br />
            時間を作っていただいた Fabien さん、本当にありがとうございます。</p>
            <p>ただ、僕の英語力不足で今回はあまり突っ込んだお話ができなかったのが非常に残念です。<br />
            OpenPNE 関連サイトの英語版をバッチリ用意し、英語もいま以上に勉強して、<br />
            次回お会いするときには symfony やオープンソースに関してもっと突っ込んだ話をしたいです。</p>

関西オープンソース2008に参戦してきました

どうも。前回入社の挨拶をさせていただいた、開発チームの海老原です。
先日 OpenPNE のブログの方で手嶋さんからお知らせがありましたが、11月8日(土)に
開催された「関西オープンソース2008」PNE関西が出展するということでしたので、

海老原もお邪魔させていただきました。

ギリギリまで準備とかしない性格なので、前日になって慌てて手嶋さんオススメのビジネスホテルを
予約したり、新幹線の時間を調べたりと大忙しでした。
(その隙に白石さんから手嶋屋Tシャツをデジカメをうっかり受け取ってしまい、いまこうしてブログ
を書くハメになっているわけですね)

さて、早速ですが肝心のイベントの様子を写真付きでご紹介します。


▲人が盛りだくさんの会場。これは少し落ち着いてきた夕方くらいの様子で、一番盛り上がっていた昼頃だとかなりの人出になっていました。

▲PNE関西のブース。PCを叩いているのはPNE関西で最近精力的に活動している keroyon さんです。


▲なにやら自慢げな zeroichi さん。昨年から月一でPNE関西の勉強会を主催しており、継続的に活動を続けておられます。

で、海老原は東京からはるばる大阪にきて何をやっていたかというと……



「実演コーディング」という名目で黙々とOpenPNE3の開発を進めていました。
決して遊ぶ暇がないとかそういうことじゃないです。もちろんいろんな方にご挨拶したり、
OpenPNEの紹介をしたりということも忘れませんでしたよ!

※写真の手嶋屋Tシャツですが、 keroyon さんが異様に欲しがっていました。目をらんらんと輝かせて、「手嶋屋Tシャツいいわあ、欲しいわあ」とずっと言っていました。プレゼント企画とかやらないんですかね?

実際にお邪魔させていただいて、PNE関西は zeroichi さんや keroyon さんをはじめとした
非常に力強い方々に支えられ、力強いユーザコミュニティになっているなと感じました。
OpenPNE のいち開発者として、すごく応援していきたい、大事にしていきたいコミュニティです。

僕は東京で生活しているので、こういう機会でもないとお会いするのは難しいかと思いますが、
月一で開催されているPNE関西の勉強会のほうに海老原もリモートで参加させていただくなど、
今後もいいお付き合いができればいいなと思いました。

また、いつもこういったイベントには手嶋さんが出席しているのですが、今回は参加できないとの
ことで、代わりに海老原が行くことになりました。
せっかく社員になって OpenPNE の開発にタッチする時間が増えたので、こういうイベントにも
開発者として積極的に参加するようにしようと思っています。

ということで、次は何かなあ……今から楽しみです。

手嶋屋に入社しました!

どうも。6月に合コンレポートをお送りした、OpenPNE開発チームの海老原です。

僕は2005年12月、高校2年生の頃から手嶋屋のアルバイトとして、
OpenPNEのプログラミングやQC(品質管理)などに携わってきましたが、
(関連エントリ:社長ブログ – 【手嶋屋最年少】高校生アルバイト参加!

本日からはなんと社員として勤務していくことになりました!

これからは社員として、主に OpenPNE2の品質向上、 OpenPNE3の開発などに
よりいっそう取り組んでいきます。
また、手嶋屋社内スタッフのプログラミング技術の増強を図り、
高いクオリティの製品を提供できるような体制づくりなどに励んでいきたいです。

入社を決めた大きな理由は、

手嶋屋が、真摯、かつ命がけで OpenPNE プロジェクトに注力している企業である
ということでした。
OpenPNE が大好きな僕にとって、
これほど自分に適した会社はありえないと思っています。

また、
●社内の雰囲気がとてもよく、楽しみながら仕事ができる職場である

●ランチが無料(1000円まで)
●サンドバッグがある
という点も、僕にとっては非常に魅力的でした。
このように手嶋屋は、これらの希望をすべて満たす、
とても素晴らしい会社であるということが、お分かりいただけると思います。

ただ唯一、気がかりなのが、毎週月曜日におこなわれる定例ミーティングです。
以前に開発チームの小川さんが紹介していたように、
朝10時開始の定例ミーティングは遅刻厳禁なのです。
あまりにとんでもない寝坊をして、「遅刻の鬼」と称されたこともある僕にとって、
10時出社という壁はあまりにも高すぎる……が、がんばります!

(みなさんぜひアドバイスお願いします)

ということで、気持ちも新たにご挨拶をさせていただきました。
これからもよろしくお願いします!


OpenPNE�~�蓈���񋟃T�[�r�X�̂��m�点

  • ��K�̓z�X�e�B���O
  • �Z�p�T�|�[�g
  • �J�X�^�}�C�Y
  • OpenPNE Manager
  • ���q���܃T�|�[�g

ページの先頭に戻る