Learning Paths Curated list of episodes, bundled to help you on your learning path! Video Logs new Videos of tech, infrastructure, hardware and software which non-instructional by nature.
はじめに 先日、とある知りあいのRubyプログラマからこんな相談を受けました。(内容はちょっとボカしてます) 社内のコードレビューでもっときれいなコードを書けるようになった方がいい、と言われました。 「きれいなコードを書けるようになれ」と言われても、具体的にどうすればいいかわかりません。 伊藤さんのアドバイスを聞きたいです。 この内容だけだとどんな問題があるのかわからないので、実際に指摘を受けたRailsアプリのコードを見せてもらいましたが、確かに「もうちょっと頑張りましょう」と思うような点がチラホラありました。 ただ、具体的にどうすればいいの、という答えは一言では言えません。 というわけで、今回のエントリではこの悩みを解決するのに参考になりそうな話をあれこれ書いてみようと思います。 (その前に)もくじ かなり長い記事になってしまったので、先に目次を載せておきます。 はじめに (その前に)
はじめに こんにちは、技術部の土谷です。 現在、私は2015年4月に総合職の新卒社員として入社したのですが、自ら希望してエンジニアに転向するために6ヶ月間の技術教育(トレーニング)を受けています。 この記事では、私が受けているトレーニングの内容に関してご紹介したいと思います。 なぜやっているのか トレーニングのゴールは「クックパッドで一人前のエンジニアとして働ける技術力を身につける」ことです。 クックパッドでは、ディレクターや営業職であってもサービスに関わるスタッフは全て最低限の技術的な知識を持っているべきと考えられています。 そのため総合職の新入社員研修にも、クックパッドで働く上で最低限の技術的な知識を持つために技術研修が組み込まれています。 ただ、私自身、総合職で内定をもらったものの、「自分でものづくりがしたい」「それも、手を動かして納得のいくものをつくりたい」という思いを持っていて、
技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの
Ruby(on Rails)使い始めて半年、まだ自分自身探り探りという状態なのですが幸いにもお手本になる先生のお陰でなんとかやれているという感じです。 個人で勉強してる範囲でいろいろ見てきたものや読んだもの、参考にしている本などをざっとまとめておきます。 id:ukstudioによる勉強会の資料 まずざっくり概要を得るためにこれ読むとよさそう 特異メソッドあたりの解説は一旦スルーしていいかも Ruby&Rails勉強会 認証周りについてid:udzuraによる資料 自分で主催したRuby勉強会で(邪悪な顔で)発表してくれた資料 渋谷で勉強会してきました。(邪悪な顔で)発表もしました。 « blog.udzura.jp テスト周りについて @takaiさんのブログエントリ RSpecによるユニットテストの書き方 - tech.recompile.net またid:ukstudio先生の資料じ
リリースしたものよりもそこに至る過程や理由が自分にとって大事なのでそれを残しておこうと思う。 ※ なんかこれしか書いてないとリリースしたものがどうでもいいように聞こえるけど、そんなことないよ! 付き合い続ける気があるからこその Rails だもの。 Rails の採用に関してオレフレームワークとの決別と人材採用のコストダウンこれまで、PHP 4.2 以降で使えるオレライブラリ、オレフレームワークで小規模なものを作ったり、PHP 3 時代からのレガシーというか遺跡級のシステムの漸進的リプレイスなどを行っていたが、どうも限界を感じていた。なんか仕事が後ろ向きな感じもしていた。このままだとずっと時代に追いつけずに終わりそうという危機感もあった。 また、Google App Engine の登場以降感じていた「うちに必要な技術はこれだよ」と具体的にはっきり言えること、それによって生み出すことのでき
5月20日(金)にNTTソフトウェア様の会場をお借りして、6名の発表者と80名超の参加者と共に「第3回Jenkins勉強会」を開催いたしました。本稿では、今回の勉強会の模様をレポートします。 今回のテーマは「LL言語プロジェクトにおけるJenkinsの運用について」です。Python, PHP, Rubyなど現在運用中の方々による事例報告やお役立ちプラグイン活用術などを発表していただき、発表中やその後の懇親会で活発な意見交換が行われました。 なお、当日のUstreamをはじめ、各発表者の発表資料や参加者の感想ブログはJenkins Wikiにまとめられています。本レポートの補足としてご参照ください。 第3回Jenkins勉強会 - 日本語 - Jenkins Wiki Jenkinsプロジェクトの現状報告 当初の発表スケジュールには含めていなかったのですが、前回の勉強会以降でJenkins
Bundlerは、rubygemsのラッパーです。Rails3のgem管理に採用されています。 Bundlerを使うことで、 このgem、手元にはインストールされているのに、本番環境にインストールされてない! 開発環境にgemを入れまくったら、プロジェクトにどのgemが必要なのか分からなくなった! みたいな問題を解決できます。 詳しくは公式サイトをご覧ください。 今日はそんなBundlerについて色々分かってきたので、Tipsをいくつか紹介したいと思います。 前提知識 この記事は、このへんが理解出来ていることが前提です。 Bundler: The best way to manage Ruby applications Rubygems に /usr/bin を触らせないためには gem をユーザーディレクトリで運用する++ - きたももんががきたん。 Bundlerは1.0系以降を使おう
フィクスチャはメンテナンスしづらい 書籍The Rails Wayの中には「皆フィクスチャが嫌い」という項目があります(次の項目は「フィクスチャはそれほど悪くない」ですが)。 フィクスチャが嫌われる最大の原因は「メンテナンスが難しい」という事でしょう。 中間テーブルを必要とする多対多の関連をフィクスチャにしようと思ってうんざりした経験は誰にもでもあると思います。 Fixtureのhas_manyでこんな書き方したい https://func09.com/wordpress/archives/369 フィクスチャの代わりにFactoryGirlを使ってみる Factory GirlはRailsのテストにおいてfixtureの代替となるツールです。 つまりテスト時のモデルデータを用意するための仕組みです。 Factory Girlはフィクスチャと違い、Rubyのスクリプトで直接データを定義して
2010.07.09 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた 2010.07.20追記: prefixを指定した運用も可能でした。ご指摘頂きありがとうございます。 2010.07.28追記: 関連記事「RailsサーバUnicornを飼いならす! 運用時の便利技」へのリンクを張りました。 Railsサーバはたくさんあってややこしいですね! 最近さらにUnicornというものが頭角を表してきたようで、Twitterやgithubも使っているようなので使ってみましたので、特徴や使い方などレポートしてみたいと思います。 このブログの他にもEngine Yardのブログ記事「Everything You Need to Know About Unicorn」やgithubの記事「Unicorn!」が非常に参考になると思いますので、
Web開発で使っているプログラミング言語やフレームワークを、そのままデスクトップアプリやモバイルアプリの開発に流用しようという動きがある。ますますWeb開発の比重が高まる中、開発者たちが日々使い、日々進化しているフレームワークを使いたいというニーズが出てくるのは自然なことだ。 それぞれアプローチに違いはあるが、こうした分類に当てはまる具体的なプロダクトとして、RubyStation、Titanium、bowline、JQTouch、RHodesなどがある。JavaScript、PHP、Ruby、Pythonを使ってWebアプリケーションを作成し、それをランタイムなどの環境ごとパッケージ。これをデスクトップやモバイル向けに配布して「アプリケーション」としてしまう、というものだ。多少の資源の無駄遣いよりも、手馴れた開発ツールで素早くアプリを構築したいというニーズに応える、富豪的な開発スタイルと
ずいぶん前の話題だが、TwitterのバックヤードScala化に関する記事の要点整理をしてみた。 >>前提 Twitterは、フロントはRailsに依存しており、逆にOffload観点から、キャッシュの失効処理等に、キューイングの仕組みを使った非同期処理が多数あり、それだけデーモンアプリが必要となるシステム構成。 >>なぜ移行?(システム的理由) RubyはGreenThreadでカーネルスレッドを使うことはできず、プロセッサに依存してしまい、マルチコア環境での性能が出ない。これに対処するため複数プロセスを上げる方向に行くのだが、そうなるとメモリが大量に必要となり、さらにRubyのガベコレ性能が(Javaのそれに比べて)悪いこともあり、限界を感じていた。 (これに対し)JVMは、スクリプト言語が苦手とする長時間動かし続けるデーモンアプリを書く環境として適切。 また、動的型付けにより必要とな
aptのパッケージで入れるかとか、ネットで調べて.vimrcをカスタマイズするとか、vimでrailsのアプリを書くには色々なやり方があると思いますが、僕はこんなやり方してます。 1.vimのインストール ubuntuの場合、インストール直後だとvim-tinyという貧弱、貧弱ゥ!!と言いたくなるようなパッケージしか入っていないため、パッケージを追加します。 $ sudo apt-get install vim-full 2.vim-rubyのインストール Contains the official Vim configuration files for the compilation, indenting, and syntax highlighting of Ruby files. If you use Vim to edit Ruby code, you want
GeoRuby provides data types intended to hold data returned from PostGIS and the Spatial Extensions of MySql. The data model roughly follows the OGC Simple Features for SQL specification, although without any kind of advanced functionalities (such as geometric operators or reprojections). The library inputs and outputs EWKB, HexEWKB and EWKT. A recent version also includes input and output of
ちょっとしたニュース 今年11月にアメリカ東海岸のシャーロットで開催されるRubyConf 2007の発表枠応募にAP4Rが通りました! いい機会をもらえたので、がんばって発表してきます。 Agenda for RubyConf 2007 : Introduction to AP4R, Asynchronous Processing for Ruby 手を動かしてみましょう 第1回では、AP4Rの開発に至った背景、システムの構成例、信頼性を保証するSAF機能について見てきました。 そして、非同期処理を利用する場合の一般的な利点と注意点に触れた後、AP4Rの「堅牢」かつ「軽量」という特徴について解説しました。 今回は、Ruby on Railsで作られたウェブアプリケーションをAP4Rと連携させて、非同期処理を実装してみましょう。作成するアプリケーションの機能と、非同期化する箇所を選び出した
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く