You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
The English version of this article is available here: medium.com 2/4(日)に、去年のRubyKaigiが終わった直後の新幹線で開発を始め10月に公開したJITコンパイラをRubyのtrunk (2.6.0-dev) にマージし、昨日TD Tech Talk 2018で以下のような内容の発表をしました。 speakerdeck.com まだそれほど速くできていないということもあり、私はTwitterでのみ共有して満足していたのですが、海外の方がいくつか記事を書いてくださいました。 Playing with ruby's new JIT: MJIT - John Hawthorn Ruby’s New JIT – Square Corner Blog – Medium とても丁寧に書かれているので、私の記事がわかりにくければ
HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ 過去、HashDosの影響を受けたRuby。言語開発者はいかにしてこうした問題に対応してきたのでしょうか。コミッターである卜部氏の貴重な記録を公開します。 2011年の末頃、HashDoSという脆弱性が公表され、Rubyもこの影響を受けた。本稿の筆者である卜部昌平(うらべ・しょうへい/@shyouhei/以下、卜部)は、報告当初からRuby側のチームメンバーとしてプログラム本体の修正を担当した。以下はその記録である。言語開発者たちが普段どのようなことを考え、どういった技術を用いて開発やバグフィックスを行っているのか。その概要を知ってもらえれば幸いだ。 オブジェクト指向スクリプト言語 Ruby HashDoSの概要 なぜ約6年後の今、修正内容を公開するに至ったか? 前史:すでに内包されていたリスク
こんにちは、技術部のフルタイム Ruby コミッタの遠藤(@mametter)です。メリークリスマス。 本日 Ruby 2.5.0 がリリース予定です。いろいろな改善が含まれています。クックパッドからの主な貢献としては、「trace 命令の削除による高速化」や「分岐・メソッドカバレッジの測定のサポート」などがあります。 ユーザから見える改善はいろいろと記事が出てくると思うので、この記事では、「抽象構文木のメモリ管理のリファクタリング」というあまりユーザから見えない改善を紹介してみます。 概要 Ruby のパーサは、NODE という内部的なオブジェクトで構成された抽象構文木を生成します。2.4 までの NODE は GC に管理される普通のオブジェクトでしたが、2.5 からは GC の外で管理するようになりました。これにより、3 つ嬉しいことがあります。 大きなコードのパースが速くなりました
この記事は Speee Advent Calender の25日目の記事です。 開発部 R&D グループの村田です。所謂フルタイム CRuby コミッターの一人です。 今日は 12/25 です。数時間後には Ruby 2.5.0 がリリースされている予定です。 皆さんはもう RC1 を試しましたか?え?毎日 trunk をビルドして使っているって?とても素晴らしいですね。 しかし、そうじゃ無い人も大勢いると思います。ですから、ここでは Ruby 2.5.0 で何がどう変わったのか、インパクトが大きいものを選んで最終確認をしておきましょう。 まとめ方は以下のようにしました*1。 言語仕様の変更 組み込みクラスの変更 パフォーマンス改善 言語仕様の変更 トップレベルで定義された定数の検索 トップレベルで定義された定数はObjectクラスの下に定義されたことになります。 TWO = 2 Obje
Hey folks, As you probably know, last week the RubyMine team joined RubyKaigi 2017 in Hiroshima, Japan. It was great meeting and talking to so many Ruby developers, and especially to hear their feedback and suggestions about RubyMine and Ruby as a whole. Thank you! Special thanks to the Samuraism team for their invaluable help during the preparation and participation in the conference. We couldn’t
技術部の笹田です。Ruby インタープリタの開発をしています。最近は Fiber まわりを10年ぶりにいじってます。 2017/08/30, 31 に、Cookpad Ruby Hack Challenge というイベントを行いますので、その宣伝をさせてください。 Cookpad Ruby Hack Challenge とは クックパッドで Ruby インタプリタを Hack しよう! クックパッドをはじめ、多くのウェブアプリケーション開発でプログラミング言語 Ruby が利用されています。Ruby で書かれたプログラムを動かすときは Ruby インタプリタで実行します。 Cookpad Ruby Hack Challenge は、この Ruby インタプリタに対して機能を追加したり、改良したり、性能向上させたりする方法、つまり Ruby インタプリタを Hack する方法を、二日間かけて
この本の概要 『パーフェクトRuby』の改訂版になります。前版はRuby1.9および2.0対応版として企画しましたが,Ruby2.0のサポートが終了したこともあり,2017年1月リリースのRuby2.4の最新版に対応した改訂になります。改訂にあたり,前版になかったテスト関連なども追加しより充実させています。 こんな方におすすめ 最近のRubyを学びたい人 著者プロフィール すがわらまさのり 1982年生まれ。大学卒業後,Sierに就職。開発に関わったプロダクトを育てていきたいという思いと,BtoCでの仕事に就きたくて現職へ至る。普段は主にRubyでデーモンやアプリケーションを書いたりしている。sugamasaoというアカウントで活動中。 寺田玄太郎(てらだげんたろう) 1985年生まれ。2008年にRubyと出会い,2010年に株式会社永和システムマネジメントに転職し現在に至る。2013年
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist
コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され
インタビュー:Rubyコミッターの笹田氏がクックパッドへの入社を決めた理由。オープンソースのコミッタはどのような思いで転職するのか? Rubyのコアコミッターである笹田耕一氏が、レシピ共有サービスなどを展開しているクックパッドへ入社することは、1月21日付の記事「[速報]Rubyのコアコミッター笹田耕一氏、クックパッドへ」で紹介しました。 本記事ではあらためて、笹田氏がクックパッドへの入社を決めた理由や、クックパッドが笹田氏に声を掛けた背景、そして笹田氏にとっての転職の意味などについて、笹田耕一氏と、クックパッドの執行役CTO成田一生氏に聞きました。 クックパッドへの転職に大きな可能性を感じた ──── あらためてクックパッドが笹田さんに声をかけた背景を教えてください。 成田氏 クックパッドでは長年、Rubyを用いたサービス開発を行ってきました。 Rubyはシンプルな記述で高度な処理を表現
Posted by naruse on 25 Dec 2016 Ruby 2.4シリーズの最初の安定版である、Ruby 2.4.0がリリースされました。 Ruby 2.4.0 には以下に示すようなたくさんの新機能が含まれています: Introduce hash table improvement (by Vladimir Makarov) 従来Rubyのハッシュテーブルの内部実装 (st_table) ではに双方向連結リストとチェイン法を用いた実装が使われていましたが、挿入順の配列にオープンアドレス法を用いることによる高速化が行われました。 この改善に際しては多くの方による議論が行われ、とりわけ Yura Sokolov 氏によって多大な貢献がありました。 Binding#irb: Start a REPL session similar to binding.pry pry を用いると
この記事はSelenium/Appium Advent Calendar 2016の10日目の記事です。 はじめに freee株式会社でアプリエンジニアをしている @kompiro と申します。普段は selenium をガリガリ動かしているエンジニアではないのですが、SitePrism というgemを使って PageObjects パターンを実装してみたら、想像以上に捗ったのでご紹介します。 SitePrism の特徴 SitePrism とは PageObjectパターンをCapybaraを使って実装するためのDSL です。 例えば google.com のページオブジェクトを SitePrism を使って定義すると下記のようになります。 # Pageの定義 class Home < SitePrism::Page set_url 'http://google.com' element
freee Engineers Advent Calendar 2016 12月17日担当の @futoase です。 現在、E2Eテスト基盤構築の担当をしています。1 Capybara、SitePrism および Selenium に触れていく中で自分や弊社メンバーから得た知見について記載します。 4点の内容となります。 Capybara + SitePrism Selenium E2Eの目的 E2E基盤構築を担当してみて思ったこと Capybara + SitePrism 同僚の @kompiro が Capybara + SitePrism を使うことを提案、フレームワーク化を行ってくれたのでテストケース作成に利用しています。2 Selenium/Appium Advent Calendar 2016にてSitePrismを利用したPageObjectsパターンを使ったテスト作成につ
12月1日より、日本人で唯一のRailsコミッター兼Rubyコミッターの松田明氏が株式会社GA technologiesの技術顧問に就任しました。 就任にあたり当社若手エンジニアとともにインタビューをしたので、その模様をアップします!(もう少し短くまとめたかったのですが、お話が面白かったのでほぼ丸々載せちゃいます) ── ご自身でも不動産投資をやられているとのことですが、不動産テックに対して興味や、当社顧問として取り組みたいことはありますか? やれることは無限にあると思ってまして、この業界ってとにかくシステム化が遅れてますよね。 僕自身、2〜3年前の大江戸Ruby会議04っていうRubyのカンファレンスの講演で自分で家を建てた経験を無理やりRubyのプログラミングの話に結びつけて喋ったことがあって(Hacking Home)、そのころから不動産テックには興味はありました。 そのとき話したの
こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ
RubyConf 2016で登壇してきた 2016/11/10〜11/12にアメリカのオハイオ州シンシナティでRubyConfというイベントがあって、Ruby DSLによって設定できるCLIツールをRubyインタプリタやgemの存在に依存しないシングルバイナリとして実装するための知見を「Evaluate Ruby Without Ruby」というタイトルで発表してきた。 発表資料 発表動画 RubyConfってどうなの RubyConfはRubyKaigi並に規模が大きいもののあまりRubyのDeepな部分には期待できないカンファレンスなんだけど、当時行ったことがなかったアメリカに行ってみたいという思いがあって去年も参加していた。あと、RubyKaigiとは違った層の海外のエンジニアと話せる *1 のも良い点だと思う。 去年はRubyKaigi 2015で話したものと同じ内容のCFPをRu
こんにちは、技術部開発基盤グループの小室 (id:hogelog) です。 みんなのウェディングは OSS となった Kuroko2 を早速導入したので、その Kuroko2 の導入方法をブログにて共有します。 何故 Kuroko2 を導入したか みんなのウェディングではジョブ管理ツールとして主に Rundeck を利用していました。汎用のジョブ管理ツールとして開発されている Rundeck は非常に多機能で様々な処理を柔軟に実行できます。雑多なバッチ処理が稼働していたみんなのウェディングのシステムを一つのジョブ管理ツールに集約させるには非常に便利なものでした。 しかし運用を続けるうちにいくつかの難点が見つかってきました。 スケジュール実行がいきなり過去のジョブ定義に巻き戻る(ことが稀にある) https://github.com/rundeck/rundeck/issues/1447 M
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く