開発環境のパフォーマンスチューニング - クックパッド開発者ブログ http://techlife.cookpad.com/entry/2015/10/13/101031 cookpad/chanko - GitHub https://github.com/cookpad/chanko …
タイトルは釣りです。すみません。Ruby 3.0 はかなり先の将来の話なので、最終的にどうなるかはわかりません。でも Ruby 3.0 に重大な変更が予定されているのは事実なので、一緒に考えて欲しいと思います。 immutable string literal Ruby 3.0 では文字列リテラルをデフォルトで immutable (破壊的変更不可) にする、という方針が『決定』しました。(Feature #11473: Immutable String literal in Ruby 3) つまり、次のようなプログラムが動かなくなります。(当チケットから少し改変して引用) sql = "SELECT #{sec_id}, pt.path, st.doc_count " sql << "FROM #{stats_tablename} AS st " #### ←ここで例外: can't m
Executive summary Phusion Passenger is an app server that supports Ruby. We have released version 5 beta 1, codename “Raptor”. This new version is much faster, helps you better identify and solve problems, and has a ton of other improvements. If you’ve followed the Raptor campaign then you may wonder why we held the campaign like this. Read on if you’re interested. If you just want to try it, scro
2014年12月にRuby 2.2がリリースされる予定です1。 Ruby 2.2にはRuby 1.9.1のときに外されたtest-unitというテスティングフレームワークが再びバンドルされる予定です。Rubyのテスティングフレームワーク周りに詳しくない人にはよくわからない状況でしょう。そこで、Rubyのテスティングフレームワークの歴史を説明することで状況を整理します。 名称の整理 この説明の中ではたくさんのテスティングフレームワークが登場します。似たようなものもあるため、最初にテスティングフレームワークの名称を整理します。この説明の中で登場する名称は次の通りです。 RubyUnit Lapidary rubyunit Test::Unit test/unit test-unit miniunit minitest RSpec 違いがわかりますか?ざっくり説明すると次の通りです。 RubyU
sanemat さんが作っている tachikoma という gem があります。tachikoma の機能は簡単に言うと「github の指定のプロジェクトで bundle update して、差分を pull request してくれる rake タスク」です。cron や jenkins などで定期的に実行するようにすると、依存する gem のバージョンを常に最新に保つことができます。べんり! そんなべんりな tachikoma なのですが、ドキュメントが分かりづらくて損をしている気がします…><。すこしでも足しになるように、僕が作っている revenger というプロジェクト(github 上のプライベートリポジトリに置いてある)の tachikoma 設定手順をまとめましたのでご参考あれ。 前提 github のプライベートリポジトリで管理してる jenkins サーバ上で定期実
A radically new Ruby web server Phusion Passenger 5 (codename "Raptor") The wait is over Phusion Passenger 5 is a brand new version, faster than ever. Many of you have been waiting for this for a month. We have worked hard to reach this day and we are grateful for all the support and encouragement you've given us so far. Read the release announcement Or visit the Phusion Passenger website Tweet Fo
革命的に速いとされるRuby用の新しいアプリケーション・サーバー「Raptor」のサイトが公開され期待を煽っています(Hacker News)。 公式サイトによると、RaptorはRailsやSinatraなどを動かすための新しいアプリケーション・サーバー。最適化されたHTTPエンジンにより従来のアプリケーションサーバーと比較して高速に動作し、Unicornの最大4倍、PumaとTorqueboxの最大2倍の速度で動作するとのこと。 現在まだ何もダウンロードできるものは公開されたおらず、パブリックベータ版のリリース日は2014年11月25日に設定されています。メールアドレスを登録しておくと、状態が更新されるか、あるいは第三者のレビューが公開されたときなどにメールで連絡してくれるようなので気になった方は登録してみてはいかがでしょうか。 ちなみに誰が開発されているかということに関しても「We
Originally presented at Baruco 2014. Updated for RubyConf Portugal 2014. Video here: https://www.youtube.com/watch?v=fGFM_UrSp70.
RubyKaigi 2014 レポート Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 2014年9月18日~20日の3日間、タワーホール船堀にてRubyKaigi 2014が開催されました。基調講演をそれぞれレポートしてきました。 3日目最後の基調講演は@a_matsudaの紹介を受けて登壇した、Aman Gupta(@tmm1)です。タイトルは「Ruby 2.1 in Production」。Aman Guptaは現在GitHub, Inc.(以下、GitHub)に勤め、そこで使用している高速化のテクニックとツールを紹介しました。Ruby本体のコミッタでもあるAmanによる講演は、圧巻でした。 当日のスライド(PDF版)は次のリンクから参照できます。 http://bit.ly/ruby21-
セコン (id:secondlife, @hotchpotch) です。ウェブサービスにはよく「このエントリーに関連するブログ記事」や「このレシピに関連するレシピ」という機能が実現されてますよね。さて、この機能はどのように実現すれば良いでしょうか。例えば tf-idf で単語の類似度を求め…といった実装が必要になり、いささか面倒です。 しかしながら Elasticsearch や Solr *1を使うと手軽に実現できます。例えば、クックパッドニュースの記事では Solr を使い「この記事を読んだ人におすすめ」の機能に、最近クックパッドにジョインしたインドネシアの会社の DapurMasak では Elasticsearch を使い「Resep serupa(関連レシピ)」の機能で利用しています。 クックパッドニュースでのこの記事を読んだ人におすすめ DapurMasak での関連レシピ 使
Railsの仕組みを体系的に学べる大型コンテンツ Rails Guides に基づいた1,600ページ超えの大型リファレンスです。 プロダクト開発に役立つ実践的な知識が満載 Railsチュートリアルを完走し、プロダクト開発中の人に最適です。 全文検索やバージョン毎の検索にも対応 Proプランでは、さらに効率的な活用をサポートします。 このアイコンが付いているガイドは現在作業中 (WIP: Work In Progress) です。作業中のガイドはそれなりに有用ではありますが、不完全な情報やエラーが含まれている可能性があります。 はじめに Rails をはじめよう Railsのインストール方法と最初のRailsアプリケーションの作成に必要なすべてを解説します。 Dev Containerでの開発ガイド VS CodeとDev Containerを使ってRailsアプリケーションの開発を行う方
rbdockというRuby/Rails/Sinatra用のDockerfileを生成するgemをつくった tcnksm/rbdock rbdock | RubyGems.org | your community gem host 実験的に作ってみた.RubyやRails,Sinatraアプリケーションを動かすためのDockerfileを生成する. これを作った理由は,今まで自分でRuby/Rails/Sinatraのコンテナを作ってみたり,Web上のRuby+Docker関連の記事などを見ていると,どれも同じようなDockerfileを書いていたため. さらに,Dockerの流れを見ていると, コンテナは必要なものだけを入れるようになりそう.つまり,RedisならRedisの,nginxならnginxの,RailsならRailsのコンテナをそれぞれ作るようになりそう. コンテナの起動やコン
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
Complete Ruby geocoding solution. easy to use • supports Ruby 2.x and JRuby • compatible with ActiveRecord, Mongoid, MongoMapper • result caching • proxy support • multi-lingual • Nominatim, Google, Bing, Yandex, MaxMind, and more • works with Rails, Sinatra, any Rack framework • command line interface
TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIはレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or
ちょっと不便なRspecのテスト Rspecでテストを書いている人は多いと思うんですが,Rspecのテストちょっと不便じゃありませんか? 例えばテスト実行中 あとどれくらい残ってるの!?いつ終わるの?(どれくらいのテストが残っているかわからない) テスト落ちたなら,それ先に見せてよ!(どのテストが失敗したかわからない,でも一応最後までテストを実行したい,けど終わるまで結果がわからない) うーん,やっぱりちょっと不便. そんな時に便利なFuubar こちらのビデオを見てもらうとFuubarがどういうものかわかると思います. Fuubarのいいところは 落ちたテストからFaiure/Errorメッセージを出してくれる. 残りのテスト数がわかる 予想終了時間が表示される 素晴らしい! インストール Fuubarを使うには
はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基本的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基本的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く