タグ

githubとrubyに関するluccafortのブックマーク (8)

  • CircleCIの実行を速くした - pockestrap

    先週仕事でやったのをメモします。 CI力が低いので、記事を公開することでツッコミをもらうのが目的です。 モチベーション 弊社ではCIの実行が1回あたり20分ほどかかっています。 これはわりとストレスなので速くしたいです。幸いにも削れそうなところが2つ見つかったので削ってみました。 Shallow Clone CircleCIではデフォルトのcheckoutを使用するとリポジトリの全体をcloneしてきます。 これを回避するためにshallow cloneを導入しました。 まず、次のようなコマンドを定義します。 commands: shallow-clone: description: 'Git clone shallowly' steps: - run: name: 'shallow clone' command: | set -x echo "machine github.com log

    CircleCIの実行を速くした - pockestrap
    luccafort
    luccafort 2020/07/09
    ブクマしたと思ってたらしてなかった。
  • 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false

    「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
    luccafort
    luccafort 2019/03/09
    ようやく読み切ったぞ!!!気になったのが2点あって記事へのアクセスを制限するようなユーザ制限を行うときGraphQLだとどうやるのだろう?もう1つがサーバ側がエラー返すときはRESTと同じ感覚でいいのかな?
  • Ruby コミッターになりました - k0kubun's blog

    m_sekiさんとhsbtさんの推薦で、ERBのメンテナとしてRubyのコミット権をいただきました。 以下が初コミットです。 github.com 普段テンプレート言語Hamlの高速化やその更に高速な別実装Hamlitの実装をやっていてテンプレートエンジンの高速化に知見があり、ちょこちょこERBにも知見を還元したりしていたのですが、一昨日ふとERBの生成コードのiseqを眺めていた時に気付いてパッチを送った後、「入れるのめんどくさいし、ERBのコミッタやりますか」とお声がけいただいた形です。 というわけで、引き続き主に高速化の方面でERBのメンテナンスをやっていきますが、他にも以前僕がC拡張にしたHTMLエスケープとか、広い範囲でパフォーマンス改善をやれたらいいなと思います。 さっきのパッチに関連してto_sもメソッド呼び出しをバイパスできるようにしたら結構いろんなものが速くなるんじゃない

    Ruby コミッターになりました - k0kubun's blog
    luccafort
    luccafort 2017/05/16
    紹介文が非常に簡潔でわかりやすいw
  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
    luccafort
    luccafort 2014/03/25
    「大学の学部生で学ぶ、初歩的な計算機科学や教養で出てくるツールですが」こういうの見るたびに大学入り直したいなぁと思うんだけどそのためだけにン百万は払いにくい。しかしこのレベルでアルバイトって……
  • RailsエンジニアのためのTwitter Bootstrapカスタマイズ例

    Sassを使ったり、人からパクったりして、極力失敗しない方法

    RailsエンジニアのためのTwitter Bootstrapカスタマイズ例
  • DRY原則とテストの可読性 - ✘╹◡╹✘

    DRY原則に従おうとするほど、テストコードがどんどん読みづらくなる。 The RSpec Bookに答えがあるかと思って読んでみたものの、「あるある」と一言述べているだけだった。辛い。 テストコードが読みづらくなる例を示すために、1つRubyのライブラリをつくった。 値とパターンを与えてValidationを行う機能を提供するライブラリ。 実装60行、テスト120行なので、詳しく見たければすぐ読めると思う。 最近不意ながらキラキラネームの命名力が上がってきたと思う。 avalon - A validator implementation for Ruby https://github.com/r7kamura/avalon 冗長だが読みやすい例 letもsubjectもローカル変数も何も用いずに率直に書いたテストコード例がこちら。 冗長だが読みやすく、テストコードを見ればライブラリの使い

    DRY原則とテストの可読性 - ✘╹◡╹✘
  • 喜びの多いプログラミング言語はObjective-CとPHPと判明

    いやいやもっと楽しい言語あるでしょ?と思った方にとっても興味深い調査結果がExploring Expressions of Emotions in GitHub Commit Messages(GitHub上のコミットメッセージの感情表現の調査)として公開されていました。記事の作者はベルリンのRamiro Gómezさんで、自然言語とプログラミング言語の双方に関心のある彼はGitHubが公開した統計情報からさまざまな感情表現をコミットメッセージから探して分析するという調査を行いました。これによりanger(怒り), joy(喜び), amusement(楽しみ) surprise(驚き)の表現が多く使われているプログラミング言語のランキングを生成して公開しています。 怒りの言語はVimL、C、Shell 怒りのランキングではangry(腹を立てる)、annoying(いらいらする)、cra

    喜びの多いプログラミング言語はObjective-CとPHPと判明
    luccafort
    luccafort 2012/06/16
    ネタとしては面白い。実際にお仕事でPHPやったら喜びよりも怒りを感じることのほうが多いと思うが…。
  • いまどきの Ruby 書くときのテスト環境 - Stats of the Rivers

    romaji というライブラリを書いた。 - 寿司じゃないブログ という記事を書いたのだが、テスト環境について反応があったのでもうちょい詳しく書く。 RSpec テスティングツールのデファクトスタンダード。 http://rspec.info/ に行くか、The RSpec Book を読もう。 Guard ソースコードが編集されているかを監視して、変更があった場合に自動でテストを走らせてくれる。 guard/guard · GitHub guard と guard-rspec を gem install して、以下のようなファイルを Guardfile という名前でプロジェクトのルートディレクトリに置き、 guard コマンドを走らせると、watch で指定したファイルの変更の監視してくれる。 guard 'rspec', :version => 2, :all_after_pass =

  • 1