meguro.rb#9で発表した資料です 「心霊現象」という文字が映らない心霊現象が発生しております。
RubyからSeleniumを操作する際に使うコードのチートシートです。 Seleniumを使うことでブラウザを操作した表示テストを行ったり、ブラウザをつかった操作の自動化ができます。 🍣 ブラウザを開く
textlintで日本語テキストの文字校正を試してみた とかで、lint 系の記事を目にしたので そろそろ導入してみるか、と思い立った。 RuboCop はRuby の静的コードアナライザ。 bbatsov/rubocop The Ruby Style Guide に沿ったコーディングスタイルに矯正(注意)してくれる。 無駄なスペースが入力されている、とか、無駄な改行が入っている、とか、 この変数1度も使われてないよ?とかクラスの中の行数が多すぎる、とか、 1行の文字数が長すぎる、とか。 大人数で開発していると細かなコーディングスタイルを合わせるだけでも面倒なので こういうツールによって人間が矯正されると AI 時代に思いを馳せることができて良い感じですね。 RuboCop インストール gem でインストールする。
はじめに みなさん、DRY原則はご存知でしょうか? DRY = Don't repeat yourselfの略で「繰り返しを避けること」という意味ですよね。 良いコードを書くための重要かつ基本的な原則なので、みなさんよくご存知だと思います。 ですが、DRY原則はテストコードを書く場合は必ずしも最善にはならない場合があります。 他の人が書いたテストコードを見ていると、テストコードにDRY原則を適用したために、かえって悪いコードになっているケースをときどき見かけます。 この記事ではなぜテストコードをDRYにすると良くないのか、ということを説明します。 追記:タイトルを変更しました @t_wada さんのコメントを受けて、タイトルを見直しました。 「テストコードはDRYを捨ててベタ書きする」 => 「テストコードの期待値はDRYを捨ててベタ書きする」 【注意】この記事は画一的なテストコードの書き
Tweet Many of you are familiar with rbenv and some of the controversy surrounding it. I love RVM and will more than likely continue to use it, but one of the things I truly value in the ruby community is always having more than one option. I was delightfully surprised with the simplicity of rbenv, how easy it was, and how familiar it felt right out of the box. This article will provide a (humorous
railsboxAutomate your Ruby on Rails server configuration with ansiblerailsbox helps you to start applying best DevOps practices in your project by generating ansible playbooks for configuring and deploying Ruby on Rails applications. You no longer need to edit a single configuration file on your server and use tools like capistrano for code deployments - all this comes out of the box.
初めに carrierwaveでS3を使用するために、gemのfogを入れようとした するとlibv8、v8、therubyracer周りでエラーが発生した 色々いじったところ、最終的にtherubyracerのbundle installが通らず、時間がかかった 下記のやり方をしたところ、解決できたので共有します。 エラーログ 下記のエラーログが発生していました。 $ bundle install --path vendor/bundle Fetching gem metadata from https://rubygems.org/......... Fetching version metadata from https://rubygems.org/... Fetching dependency metadata from https://rubygems.org/.. Resol
はじめに 先日、とある知りあいのRubyプログラマからこんな相談を受けました。(内容はちょっとボカしてます) 社内のコードレビューでもっときれいなコードを書けるようになった方がいい、と言われました。 「きれいなコードを書けるようになれ」と言われても、具体的にどうすればいいかわかりません。 伊藤さんのアドバイスを聞きたいです。 この内容だけだとどんな問題があるのかわからないので、実際に指摘を受けたRailsアプリのコードを見せてもらいましたが、確かに「もうちょっと頑張りましょう」と思うような点がチラホラありました。 ただ、具体的にどうすればいいの、という答えは一言では言えません。 というわけで、今回のエントリではこの悩みを解決するのに参考になりそうな話をあれこれ書いてみようと思います。 (その前に)もくじ かなり長い記事になってしまったので、先に目次を載せておきます。 はじめに (その前に)
「計算機プログラムの構造と解釈」で末尾再帰というものを知ったので勉強しました。自分の理解を書いてみます。 再帰 再帰呼び出しとはある手続きの中で、再びその手続き自身を呼び出すことと定義される1。でもこの定義は正確じゃない。なぜなら再帰呼び出しは自分自身を呼んでいないからだ。 階乗を考えてみよう。階乗は数学的にこう定義できる。 ふつうRubyで階乗メソッドはこう書く。 factメソッドの中でfactメソッドが呼ばれているので、自分自身が呼ばれているように見える。でもそうじゃない。 最初の引数5を受け取ったfactメソッド(彼をfact5と呼ぼう)は、引数4と共に自分が呼んだfactメソッド(fact4)の結果を待たなきゃならない。なぜならその結果と5をあとで掛けなきゃならないからだ。fact4もfact3もfact2も同じだ。自分が呼んだメソッドの結果を待たなきゃならない。 人間が待ちながら
技術部の国分 (@k0kubun) です。 先日byebugの高速化を行っていた最中、変更を加えたbyebugを使っていると一定の確率でrubyがSEGVするバグを発見しました。 私はC言語のコードのデバッグの経験はなかったのですが、デバッガの使い方を調べながらSEGVの原因調査を行いパッチを送ったところ無事取り込まれ、最新の高速なbyebugが安全に使えるようになりました。 その際、ruby自体をデバッグするために必要な情報が分散していて大変だったので、まだrubyのデバッグをしたことがないけれどやってみたいという人を対象に、gdbというデバッガを使ったrubyのデバッグの方法を紹介します。 デバッグ用にrubyをビルドする デバッグ時に変数名やソースコードなどの情報を見るためには、最適化オプションをオフにしてデバッグ用にrubyをビルドしておく必要があります。 rubyのデバッグ用ビル
まつもと ゆきひろ1965年大阪府生まれで、4歳の頃から鳥取県米子市で育つ。筑波大学卒業後、数社を経て(株)ネットワーク応用通信研究所に入社。プログラミング言語「Ruby」の生みの親として知られる。島根県松江市在住で、Ruby開発の功績から同市の名誉市民にも選ばれた。 まつもとさんのブログ『Matzにっき』twitter 世界中に大勢のユーザーを抱える、日本産プログラミング言語 Ruby。その開発者である まつもとゆきひろ さんに、Ruby 開発の裏側と成功までの道のり、そして未来を生き抜くエンジニアさんへのアドバイスを伺いました。 プログラミングとの出会いは、父が買ってきたポケコンのBASICー プログラミング言語に興味を持ったキッカケはなんですか? 私が子供の頃は、コンピュータって全然一般的ではなかったんですよ。ものすごく尖った人だけが、NECのPC-8001 や SHARP の MZ
「Ruby 2が一般化した今、そろそろ新しいことを始めよう。これはRuby 3.0への扉を開く宣言です。未来へ備えよう。コミュニティとして死なないように、ワクワクする未来を妄想しよう。新しいことを始めよう」 こんな風に開発コミュニティに呼びかけたのは、世界的に人気の高いプログラミング言語「Ruby」(ルビー)の生みの親で言語設計者のまつもとゆきひろ氏だ。この「宣言」とも言える発言は、2014年9月に開催された「RubyKaigi 2014」で出てきたものだ。基調講演をしたまつもと氏は、講演の中で初めてRuby 3.0というメジャーバージョンへ言及して、次なるマイルストーンとして設定することを公の場で宣言した。 まつもと氏によれば、Rubyのコア開発者はこの何年かはRuby 2で忙しかったという。目の前にある現行バージョンのRuby 2をどうするかということや、機能の安定化、メモリ周辺の改善
Rubyでプログラム書くにあたって、bundlerを使わないプログラムは1年ぐらい経つと動かなくなってる事が多々あって、bundlerマジ重要なのと ぐぐってもあまりbundlerの利点や説明がまとまってる記事がなかったので 研究室のwikiに書いた記事を転載しておく。 Bundlerとは Bundler: The best way to manage a Ruby application's gems プロジェクト内で使うRubygemsを管理するしくみ。 プロジェクトの一番上のディレクトリに「Gemfile」というテキストファイルを置き、その中にgemの名前(と必要あればバージョンも)書く。 % bundle install というコマンドで、gemが一括インストールできる プログラム内で require 'bundler' Bundler.require と書くと、gemが一括req
技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの
Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味:料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで
rbenv 環境下で実行された Ruby プログラムの中から他の Ruby プログラムを起動するときに、 rbenv 環境をリセットしたい―要するに別のバージョンの Ruby で外部プログラムを実行したい―という事情があったので rbenv のメカニズムについて調べた。 rbenv 環境下で ruby コマンドを実行するとき、実際にコンパイルされた ruby バイナリが直接実行されているわけではない。 rbenv 環境をお膳立てした上で ruby バイナリを exec するラッパーのシェルスクリプトが実行される。こういうものを binstub と呼ぶ。 binstub である ruby という名前のシェルスクリプトの中身をみてみると、最終的に rbenv exec というサブコマンドを呼び出している。 rbenv のサブコマンドはリポジトリでいうと libexec ディレクトリ以下にある。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く