RubyWorld Conference 2015 A-5-4 「Building Ruby on Rails applications with the Taiwan Government 台湾官公庁におけるRuby on Railsを導入する事例」 Tsehau Chao( 5xRuby Ltd)
RubyWorld Conference 2015の動画を見ています。 18分ほどの短めのセッションでしたが、とても面白かったです。 MySQLにしか製品していなかった製品を大人の事情でPostgreSQLにも対応したというお話。 ORMとしてSequel を導入したがいろいろ問題があり、それらをいかにして乗り越えたという心温まるおエピソードでした。 A-5-1 「非Railsアプリケーションのマルチデータベース対応と高速化の取り組み」 Sequel導入 結果 遅くなった! 原因 ARパターンでDB接続時にテーブル構造を取得 Unixデーモンモデル(接続ごとに子プロセスをfork) マルチスレッド化 プロセス生成コスト減 クラスメソッド クラス変数 グローバル変数 シングルトン PID コネクションプール 結果 遅くなった!! 原因 Rubyは1プロセスが同時に1CPUしか使えない 複数ス
Ruby 2.3.0 リリース まずはInstall $ brew update $ brew upgrade ruby-build $ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl` --with-libyaml-dir=`brew --prefix libyaml`" \ rbenv install 2.3.0 $ rbenv global 2.3.0 $ ruby --version ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] 追加機能 Frozen String Literal プラグマ 公式ブログにはmagi
RubyKaigi 2015レポート まつもとゆきひろさん、Rubyの変化で大事にしているルールを守りつつ「2019年までにRuby 3x3を実現したい」 〜RubyKaigi 2015基調講演 1日目 12月11日~13日、ベルサール汐留にて「RubyKaigi 2015」が開催されました。今年も基調講演が毎日一つずつ行われました。その模様をレポートします。 RubyKaigi 2015初日の基調講演はまつもとゆきひろさんです。「Ruby 3 challenges」と題して、間もなくリリース予定のRuby 2.3.0の紹介をしつつ、Ruby 3について話しました。 MINASWAN "MINASWAN"という海外で生まれた標語があります。この言葉、その文化を日本に逆輸入したいと、まつもとさんは話し始めました。 Rubyコミュニティの徳 ラリー・ウォールがプログラマに必要なものとして提唱
Posted by naruse on 25 Dec 2015 Translated by sorah Ruby 2.3 シリーズの最初の安定版である、Ruby 2.3.0 のリリースをお知らせします。 Ruby 2.3.0 には以下に示すようなたくさんの新機能が含まれています: Frozen String Literal プラグマ が導入されました。 Ruby 2.1 では既に、オブジェクトアロケーション削減のために "str".freeze が最適化されていましたが、Ruby 2.3 では 1 ファイル中の全 String リテラルを freeze する新しいマジックコメントとコマンドラインオプションが導入されました。 また、can't modify frozen String エラーのデバッグを容易にするため、当該エラーにおいてどこで対象の String オブジェクトが作成されたかを
こんにちは、2015年新卒エンジニアのnewuniverseことチュウです!現在はレシピ動画を見ながら料理を学べる料理サプリのサーバーサイドを担当しています。入社前にはエンジニア向けメディアPostdの運営をしていました。 今回は初出張ということで、2015年11月10日・11日に開催されたRubyWorld Conference 2015 に参加してきました。そのご報告を兼ねて、Rubyを触り始めて5ヶ月目の者として感想を書いていきます。 初出張 開催地がRubyの父Matz氏の出身地の島根県松江ということで、東京から前日入りしました。島根県特に松江はカンファレンス全面バックアップしていて、Rubyの普及を後押しているようです。現地到着後飯屋を探してウロウロしていたらすごく気になった広告板を発見しました。 松江の本気がガンガン伝わってきます。 会場の「くにびきメッセ」 『RubyWorl
技術部の国分 (@k0kubun) です。 先日byebugの高速化を行っていた最中、変更を加えたbyebugを使っていると一定の確率でrubyがSEGVするバグを発見しました。 私はC言語のコードのデバッグの経験はなかったのですが、デバッガの使い方を調べながらSEGVの原因調査を行いパッチを送ったところ無事取り込まれ、最新の高速なbyebugが安全に使えるようになりました。 その際、ruby自体をデバッグするために必要な情報が分散していて大変だったので、まだrubyのデバッグをしたことがないけれどやってみたいという人を対象に、gdbというデバッガを使ったrubyのデバッグの方法を紹介します。 デバッグ用にrubyをビルドする デバッグ時に変数名やソースコードなどの情報を見るためには、最適化オプションをオフにしてデバッグ用にrubyをビルドしておく必要があります。 rubyのデバッグ用ビル
明日から RubyKaigi なので、ちょっとした小ネタを一つ。 例えば、0 から 9999 までをハッシュに順に入れます。 h = {} 10000.times do |n| h[n] = true end このとき、h[9998] や h[9999] は、h[0] や h[1] より高速です。 どのくらい高速かというと、 1_000_000_000.times { h } # 40.8 sec (ループ自体の速度) 1_000_000_000.times { h[9999] } # 57.2 sec 1_000_000_000.times { h[0] } # 89.1 sech[0] は 89.1 - 40.8 = 48.3 nsec 、h[9999] は 57.2 - 40.8 = 16.4 nsec ということになります。なんと 3 倍も速い。*1 なぜこんなことが起きるのか ハ
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai
rochefort/git-stars 経緯 普段からgithubでstarはよく付けるけど、見返すこともあまりなく もったいないと思っていました。 consoleアプリでなんか良いツールがないか探してみると JacksonGariety/galileo というのがあり 直近のstarsをカラフルに罫線付きの表形式で表示してくれます。 しかし、残念なことにDescriptionにマルチバイトを含むと、この表が崩れてしまいます。 レイアウト崩れの原因は、tj/terminal-table というgemを利用しており これがunicodeに対応していないからです。 自分のstarsもこのカラフルな表示できれいに見たいという思いに駆られて、 rochefort/terminal-table-unicode を作ったり galileo にpull request出したりしてみたのですが、どうやらt
console applicationを作っていると、マルチバイトに対応した String#ljust, String#rjust, String#center が欲しくなるケースがちょいちょいあり、こないだ同じやつ書いたなぁということがあったので gem化しました。 rochefort/mb_string padding文字列もマルチバイトに対応しています。この辺りエッジケースを考えると結構面倒なんです。 こんな感じ require 'mb_string' # ljustだと半角空白が15文字追加されてしまう "あいうえお".ljust(20) => "あいうえお " # mb_ljustだと、期待通り半角空白が10文字追加される "あいうえお".mb_ljust(20) => "あいうえお " # padding文字列にマルチバイトを複数指定してもok "あいうえお".mb_ljust
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) } + spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } This means that the Bundler-generated gems can use and commit binstubs, such as bin/rake, to the bin/ directory. Only files in the exe/ directory will be built with the gem. Prior to this change, we would need to either not commit binstubs or change the
$ bundle gem mygem とすると、rubygemsの雛形が作れてとても捗るのですが 実行ファイルを配置する場所が、bin から exe に変更されていました。 spec.bindir = 'exe' spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } $ bundle --version Bundler version 1.10.6 $ bundle gem mygem Creating gem 'mygem'... create mygem/Gemfile create mygem/.gitignore create mygem/lib/mygem.rb create mygem/lib/mygem/version.rb create mygem/mygem.gemspec creat
今日は frozen_string_literal: true の時に "#{var}" のように式展開を含む文字列も freeze するようにする変更と、新機能として Array#dig と Hash#dig というネストした要素にアクセスするためのメソッド追加がありました。 kazu: r52498 2015-11-09 00:13:18 +0900 r52473 と r52487 の ChangeLog エントリの typo 修正。 svn: r52499 2015-11-09 00:13:35 +0900 version.h の日付更新。 hsbt: r52500 2015-11-09 15:56:36 +0900 make test や make test-all での coverage のための simplecov を clone してくるリポジトリは hsbt さんの for
2015/09/28に開催されたイベントでの講演模様です。 Ruby・Rails コミッターの松田明さんから、Ruby・Railsの思想・歴史やコミュニティなどの魅力をご紹介いただきました。 【本動画の対象者】 - これからRubyを学びはじめたい方 - Rubyに興味がある方 【登壇者】 松田 明(@a_matsuda) Rubyコミッター、かつ、日本人唯一のRuby on Railsコミッター。 kaminari, action_args, active_decorator, database_rewinder, gem-srcなどのライブラリの作者。 地域Rubyユーザーグループ「Asakusa.rb」の主催。 年末に開かれるRubyistの祭典 "RubyKaigi 2015" のチーフ・オーガナイザー。 【スライド資料】 https://speakerdeck.com
« 1日1個 golang のクイズを出す twitter アカウント @DailyGolangQuiz の質問に答えてみた。 | Main | Perl6 で俺俺 Gyazo 作った。 » 追記 perl もでした。。。 随分前の話だけど こういう仕様だとは分かったが、len(strings.Split("", ","))が1になるのが納得いかん。 #golang — Sheile (@Sheile) August 19, 2015 僕にはドキュメントでは「分割できなかったときは、要素が文字列1つだけの配列を返します。」って書いてあるのに "a".split(/,/).size が1になり、 "".split(/,/).size が0になるrubyの方が分からない。 — mattn (@mattn_jp) August 19, 2015 javascript "".split(",").
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く