RinariのRubyコマンドをRVMで切り替える

EmacsでRubyOnRailsの開発をしている方には、Rinariを使っている方が多いと思います。RinariはEmacsのマイナーモードで、Rails開発に便利な機能を多数提供しています。

Rinariをご存知の無い方は以下の記事を一読してインストールをお薦めします。

emacsとRinariで快適Rails開発!

Rinaiには、Emacsのバッファ内でテストやウェブサーバを立てるような機能があるのですが、このとき利用すRubyコマンドがRVM(RubyVersionManager)と連携していないため、別のバージョンのRubyコマンドが起動してしまいとても不便でした。ずっとターミナルで我慢していたのですが、先日たまたまRVMをEmacs上から制御するrvm.elなるものを見つけてたので、これを利用してRinari上で動くRubyコマンドをRVMで切り替えられるように設定しました。
この投稿の続きを読む »

スケーラブルで堅牢な参照用NFSサーバのつくりかた

今開発しているサービで、約100台位のサーバに対し/usrマウントを提供しているのNFSサーバがあります。参照専用とはいえ、100台位になってくるとそこそこのパフォーマンスが要求されますし、/usrという重要なポイントをマウントしているため冗長化も重要です、また台数が日に日に増えているためとスケールアウトも出来なくてはなりません。そこで、スケーラブルで障害に強い参照用NFSサーバを構築してみました。
この投稿の続きを読む »

rdefs を emacs/anything から使おう!

はじめまして、kmori と申します。最近は主に Ruby/Rails 案件を担当しています。初見で他人の Ruby で書かれたライブラリなどを読むときに便利な rdefs というツールがあります。モジュール、クラス、メソッドなどを単位にファイルの構造を一覧/可視化するコマンドラインツールです。著名なスーパーハッカー青木峰郎さんの書かれた小さな Ruby スクリプトです。ターミナルからこんなかんじに利用します。

dino-blog-1

この投稿の続きを読む »

OpenSSHのauthorized_keys2はもう古い

お久しぶりです。ずいぶん記事を書くのをサボっていてごめんなさい。ディノでもAdvent Calendarやろうよ、なんて話もあったんですが、タイミングを逸した感がありますね。毎日とは言わなくても、またボチボチ書いていきたいと思います。

さて、今日は社内での雑談の話題から、「~/.ssh/authorized_keys2」ファイルはobsolete(古い、時代遅れ)だよ、という話題です。

この投稿の続きを読む »

autotest で Symfony + Lime を自動テストする

screen-shot-2010-05-12-at-140931
ruby 界隈でよく使われている自動テストツール autotest の Symfony + Lime 用スタイルを書いて公開しました。
プロジェクトのローカルルールに合わせてあるのですが、軽く手を入れれば他のプロジェクトでも、また Symfony や PHP 以外でも使えると思います。

  • TDD で書いていないと不安が高じて動悸と息切れが始まる
  • red-green-refactoring を唱えなさいとじっちゃに言われた
  • growl の red を見ないとコードが先に進まない

よくある話だと思います。
まずテストが無いと何も始まらない!書いたテストはがんがん自動実行して使い倒したい!
となるとやはり、自動テストの出番ですね。

この投稿の続きを読む »

Subversionのブランチ操作をgit並に簡単にする

svnとgit両方使うようになりました。するとgitの便利さに感嘆する一方、svnのブランチ操作の面倒臭さが際立ってきました。特に、ブランチ操作ではgitは素晴らしく例えば以下のような例をご覧いただくとその差は一目瞭然かと思います。

ブランチ一覧を得る

git branch
svn list http://example.com/svn/branches

ブランチを作る

git branch mybranch
svn cp http://example.com/svn/trunk http://example.com/svn/branches/mybranch -m 'create mybranch from trunk'

以上のように、svnはブランチをブランチとして扱っていないためとても面倒なコマンドを打たなくてはなりません。これではとてもsvnのブランチなんて使ってられないのでとっととgitに移動したいところです。しかしながら、諸処の都合によりまだ、しばらくは両方使い続けなくてはならないため、svnのブランチ操作を簡単にする、svnbrというRubyスクリプトを書きました。

この投稿の続きを読む »

rsyncの-Cオプションの指示を上書きする

rsyncの-Cまたは--cvs-excludeオプションって便利ですよね。これは、下記のファイル・ディレクトリを転送対象から外す設定です。

RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS
.make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak
*.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe
*.Z *.elc *.ln core .svn/ .git/ .bzr/

転送すると問題になりがちなファイルを転送対象から外せるので、普段はとても便利です(よく見るとEmacsユーザーにしか影響の無いファイル*.elcも混ざってますね)。でも、「上記のうち*.soだけは転送したい」なんて時はどうすればいいんでしょうか。

解決方法は色々あると思いますが、私はrsyncのオプションに「--include-from=rsync_include.txt」を追加し、rsync_include.txtを下記の内容で作成しました。

*.so

これで-Cにより他のファイルを転送しないままで*.soだけ転送するようにできます。バイナリ配布されている共有ライブラリをデプロイしたい状況で上記のように対処したので、小ネタとして記録しておきます。

jquery.mockAjax でサーバ待ちしないさくさく開発を

ディノ日本酒調達部員の sou です。こんにちは。 今日はAjax開発に便利なjQueryプラグインを紹介します。

ディノも昨年から JavaScript 案件が増えており、本格的な JavaScript アプリケーションも実装するようになってきました。ただ、サーバサイドのみの開発に比べるとXMLHttpRequest経由でサーバサイドとのつなぎ込みが発生するので、問題の切り分けや実装スケジュール調整など難しい点もあるのではないでしょうか。

そんな時には jquery.mockAjax プラグインが便利です。

この投稿の続きを読む »

Go For C++ Programmers #Conceptual Differences の勝手に和訳

たかはらです。

Googleが新しいプログラム言語を発表しました。早速プログラムされている方(1 2)とか尊敬します。最近はご無沙汰ですが、C++最強説を今だに唱え続ける自分としてはGo For C++ Programmersのようなドキュメントをみるとうれしくなってしまいまして、Go For C++ Programmersの最初の”Conceptual Differences”部分を勝手に和訳しました。権利的に問題があれば削除します。

適当に訳したので致命的な誤訳はありそうです。コメント欄で指摘頂けるとありがたいです。

以下、訳となります。

この投稿の続きを読む »

株式会社ディノの中途採用について

株式会社ディノでは技術者の中途採用を随時行っています。いま現在も一緒に仕事する仲間を募集しています。本記事では、採用の方針や採用フローのご紹介をさせて頂きます。

募集するエンジニアについて

ディノではプログラミング・データベース・サーバ管理などの分野について一家言あるようなエンジニアを募集しています。ディノは社長が技術者ということもあり、技術指向の強いメンバーが集まっている会社だと思います。これは本ブログの内容からも見て取れるのではないでしょうか。

弊社ではプログラミング言語としてPHPを採用していますが、プログラミング言語の知識はそれほど重視していません。Webで複数人での開発を経験されている方なら、言語の知識は大して重要ではないと考えています。また、多少経験が足りなくても熱意のある方なら大歓迎です。入社後にはsymfonyを利用してWeb+DBシステム構築のプロジェクトに参加して頂くことになります。

サーバ・ネットワークまわりに特化したエンジニアも募集しています。サーバ周りでは仮想化技術に特に注力していますので、面白そうな会社だと思った方はぜひ一度面接にいらしてください。

この投稿の続きを読む »