Sam Phippen, Myron Marston, Jon Rowe and Yuji NakayamaJul 1, 2016RSpec 3.5 がリリースされました! 私たちは semantic versioning に準拠する方針を掲げているため、 このリリースはすでに RSpec 3 を使っている方にとってなにか対応が必要になるものではありません。 しかし、もし私たちがバグを作り込んでしまっていた場合は教えてください。 できるだけ早く修正をし、パッチ版をリリースします。 RSpec は世界中のコントリビュータと共に、コミュニティ主導のプロジェクトであり続けます。 今回のリリースには、50 人以上のコントリビュータによる 600 以上のコミットと 150 以上の pull request が含まれています! このリリースに向けて力になってくれたみなさん、ありがとう! 主要な変更 C
PHPでアプリケーションを作ってゆく。大きくなると、classが増えてゆく。classが増えてゆき、constructorの引数が増えてゆく。classをnewする順番が決まってゆき、それに従はねばならない。同じインスタンスがあちこちで必要になる。DI (Dependency Injection, IoC) の出番だ。 はじめはPimpleを使うてゐたが面倒になり、既存のDIライブラリは複雑な手続きが必要で、面倒だったので自分で作った。Ranyuen/Diだ。 cf. Ranyuen/Di https://github.com/Ranyuen/Di cf. PHPで簡単に華麗にDIとAOPをキメる http://c4se.hatenablog.com/entry/2014/12/11/013136 こんなに苦労して作ったDIコンテナだが、Rubyでは20行で書けるとMatzも言ってゐる。
あけましておめでとうございます。 大晦日は実家でプログレ聞きながらコード書いてました。 今さらながら Heldon の Stand by とか聞いてたんですが、Tangerine Dream を思わせるミニマルなシンセサイザーの反復と、リシャール・ピナスによるロバート・フリップばりの暴力的なギターソロが絡みあっており、大変良いですね。 作ったもの また説明長くなりそうなので、はじめに作ったものの紹介です。 dee dee-rails この Dee というのが DI コンテナの本体です。 名前は Ozzy Osbourne ソロ 1st Blizzard of Ozz におけるランディ・ローズのギター曲からです。 50 秒と短く、メタルアルバムの中にあってクラシック風の静かなギター曲ですが、同時にアルバムから欠かせない存在感を放つ名曲です。 何が言いたいかというと、Dee はコンパクトな実装
Rails5と同時にリリースされたTurbolinks5についてまとめてみます。 前に書いたturbolinks-classicの記事はこちら (Turbolinksをオフしないためにやった事)。 READMEの翻訳は(未完成)Turbolinks 5 のREADME.mdを日本語訳してみるを参照してください。 Features ページ間の遷移をXHR化し、bodyだけを変えることでレンダリングコストを下げる。js, cssの読み込みを最小限にする。 1度訪れたことのあるページに再度訪れるときにキャッシュから前回の表示を一度表示し、その間にリクエストを送り、レスポンスが返ると最新の状態を表示する(プレビュー) 戻るボタンなどで1度訪れたことのあるページに遷移するときにキャッシュがあればリクエストなしに遷移する。 Railsに依存しなくなったので、他の言語でも使用可能に。 ついでにjQuer
概要 例えば User という Model に対してアソシエーション (has_many users あるいは belongs_to user) を持つ Model が複数存在するケースを想定します。 この場合、関連する User によってレコードを絞り込みたいときなどに by_users(users), by_user(user) のような同じフィルタ系の scope が重複することがしばしばあると思います。 これを防ぐために scope の定義を concerns に切り出してみました。 例1 module RelatedToUser extend ActiveSupport::Concern # user もしくは users というアソシエーションを利用して # users テーブルと INNER JOIN する。 joins_users = lambda do |relation
スタートアップ・ウィークエンドは山形で起業と仲間づくりの一歩目を踏み出す54時間! ■スタートアップウィークエンドとは 起業で世界を変えるをミッションとした「起業体験イベント」を開催する NPO 団体です。 スタートアップウィークエンドのイベントでは、金曜日の夜〜日曜日の週末 54 時間で、新事業のビジネスモデルを検討するワークショップイベントを開催します。このイベントを通じて、参加者はアイディアをカタチにするための方法論を学び、起業をリアルに経験します。 これまでに、全世界 約500都市におきまして 2000回以上開催し、日本でも既に 4 年以上の開催実績があります。 スタートアップウィークエンド 公式サイト http://startupweekend.org 今回のテーマは自由。どんな起業アイデアでもOKです! ホントになんでも良いです。特に山形にこだわったも出なくても全然OKです。世
インフラストラクチャー部の成田です。 先日開催された RubyKaigi 2013 で、 "High Performance Rails" というタイトルの発表をしてきました。 スライドと動画 発表の様子は ustream の録画をご覧ください。 [ustream id=33559705 hwaccel=1 version=3 width=480 height=302] スライドは以下にアップロードしてあります。 High Performance Rails (long edition) // Speaker Deck なお、発表時間の都合上、当日はここから 40 枚ほどのスライドを削除してしまいました。発表に使った短いバージョンのスライドはこちらです。 発表の概要 クックパッドは 2008 年から Ruby on Rails を採用し、ずっと使い続けてきました。サービスが成長するとともに
先週から今日まで2週間アメリカ旅行をしていた伊藤です。 サンフランシスコで日本時間のチームとリモートワークをしてみた感想は別の記事で書こうと思っています。 Rack::ErrorToSlack 先日 hitode909 さんの ローカルサーバーでエラーが出たら即座にSlackに投稿するPlackミドルウェア という記事を拝見したのですが、ちょうどその時に社内でもサーバーサイドエンジニアとフロントエンドエンジニアが密な関係で開発を進めていたプロジェクトがあり、これは便利そうだね!と話題に上りました。 ということで早速 Rails でそれと同じような動作をする Rack ミドルウェア rack-error_to_slack を書いてみました。恥ずかしいことに今まで Rack がそもそも何なのかよくわかっていませんでしたが、先人たちがインターネット上に知見を残しておいてくれたおかげで半日ぐらいで
クラウド上でアプリケーションを構築する新しい手法として「サーバーレスアーキテクチャ」が急速に注目を集めています。しかし一方で、サーバーレスアーキテクチャを採用することで得られる本質的なメリットはなにか、そもそもサーバーレスアーキテクチャとはなにを指すのか、などについてはまだ識者の間でも議論されていることです。 10月24日に都内で開催されたイベント「QCon Tokyo 2016」の伊藤直也氏のセッション「Serverless Architecture」は、こうしたサーバーレスアーキテクチャの本質について大きな示唆をもたらす内容でした。この記事では、その内容をダイジェストで紹介します。 (本記事は前編、中編、後編に分かれています。いまお読みの記事は前編です。) Serverless Architecture 一休 CTO 伊藤直也氏。 先に結論を言ってしまうと、サーバーレスアーキテクチャと
こんにちは、Engineeringチームの石村(kamatama41)です。Engineeringチームの主な役割はインフラ構築や監視、パフォーマンス改善などのいわゆるDevOpsやSREと言われる領域になります。 Quipperでは現在グローバル向けであるQuipper (School, Video)と日本向けのスタディサプリという二つのプロダクトを運用しており、それらのプロダクトはAWS上に構築され、Terraformを使って構成管理をしています。そこで、私達がTerraformを運用するために工夫している点を紹介したいと思います。 Terraformとは? Vagrantなどを提供するHashiCorp社製のインフラ構成管理ツールで、AWSやGCPなどが提供している各種クラウドサービスをリソースという単位で構築、コード化出来るツールになります。 (AWSのEC2インスタンスを5台立ち
こんにちは。トゥギャッター株式会社でバックエンド中心にエンジニアをしている @MintoAoyama です。 Togetter はツイートを始めとした様々な情報を組み合わせてコンテンツを作り出すキュレーションサービスです。 2009年に誕生してから今年で8年目に突入し、現在も月間6000万PV・1200万UUを超える規模で成長を続けています。 海外版の Chirpstory も政治家・公共団体・ジャーナリストなど影響力のあるユーザに支えられ、成長を続けています。 そんなTogetter・Chirpstoryを支えるシステムの1つに 画像配信サーバ があります。もう少し詳しくすると リアルタイム変換機能付き 画像プロキシサーバ です。 この仕組み、特に当サービスにおいては地味に重要な役割を持っているのですが、社内に関心を持って貰える人が居なかった(※)ので、とりあえずここに整理することにしま
@methane です。タイトルの通り、 ISUCON でとうとう優勝してきました。 チームメンバーは、(予選と同じく) @kizkoh (インフラ担当), @mecha_g3 (アプリ担当) でした。 私は予選のときはガッツリとアプリを書いていたのですが、本戦では netstat -tn (←老害), top, dstat -ai, sudo perf top などをみつつ指示をだしたり、方針を決めたり、完全に未経験だった node.js & react.js 対策をしたりが主な仕事で、あとは序盤のインフラのタスクが大量にあるときに MySQL を docker から外して基本的なチューニングを入れたり Go を100行程度書いただけです。 結果的には優勝できましたが、メンバーの2人がよく準備し本番でも実力を発揮してくれたのに対して 僕の戦略ミスで中盤から全くスコアを上げられなかったので
最近、Rails界隈でDocker使い始めました、という話を聞く機会が増えてきたので、自分が開発環境整備用に構築したDockerの設定をまとめておく。 ちなみに、production運用については以前書いたので適当に探してくださいw 結論から書いておくと、volumeをちゃんと活用すればいい、ってだけの話です。 まず、本番用と開発用のDockerfileは分けた方が良い。一つでやろうとするとどうにも無理がでるので。 自分はDockerfileとDockerfile-devというものを用意している。 docker-composeはほぼ必須です。少なくともrailsプロセスとDBだけでも二つは必要だし、Dockerfileを分けてると事故るので。 Dockerfileはこんな感じ。 FROM mybase:ruby-2.3.1-debian RUN echo "deb http://http.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く