はじめまして、2018年7月入社の sue445です。自称「フルスタックキュアエンジニア」です。最近はpixiv PAYのチームでRailsを書いたり社内gemを作ったりしています。 好きなプリキュアはキュアピースです。 前置き 先日Rails 5.2.1がリリースされました https://weblog.rubyonrails.org/2018/8/7/Rails-5-2-1-has-been-released/ pixiv PAYでもその対応を行っていて、先日本番環境にRails 5.2.1を投入しました 💪 ググると特定のバージョンでのアップデート方法はいろいろ見つかるのですが、どのバージョンでも使える汎用的な方法が意外になかったので紹介しようと思います。 Rails 4.1系以降はだいたいこの方法でアップデートしてきたのでそれなりに実績のある手法だと思います。 筆者スペック 初め
ご近所SNS「マチマチ」を作っている武者(@knu)です。夏生まれだけど暑い夏は大の苦手です。 マチマチとHeroku マチマチでは、きめ細かい地域の情報を扱うそのサービス特性から、PostGIS(PostgreSQLの地理空間情報拡張)をかなりヘヴィーに使い倒しています。また、サーバサイドアプリケーションの実装にはRuby on Railsを採用しています。 これらを載せて動かすプラットフォームとして、マチマチでは当初Herokuを利用していました。Herokuはご存じの通りRails専用PaaSとしてスタートし、DBMSとしてPostgreSQLのみをネイティブ提供してきました。この組合せのPaaSとしては第一人者であり、今なお最適解の一つと言えます。様々なSaaSをプラグインの形で簡単に追加でき、デプロイも手軽かつ高速、といったあたりは、スタートアップにとって非常にありがたいサービス
Mar 4, 2018 09:49 · 29 words · 1 minute read 資料。 (GitHub Page) (GitHub Page) 5.1についてやった時に一回で詰め込みすぎたな、と反省したので、今回は二回に分けてやった(一回目がmajor featureで、二回目が各コンポーネント)。割と良かったんじゃないかと個人的には思っているので、多分次もそうすると思う。 なお、面倒なので資料は更新してないのですが、Content Security Policyについてはその後また手が少し入りまして、 デフォルトでは無効化されたり Disable CSP by default Rails UJS用にnonceの自動生成処理が入ったりしました Add support for automatic nonce generation for Rails UJS という感じになりました。
まとめ: アプリのサーバー設定はRuby Webアプリのスループットやコストあたりのパフォーマンスに大きな影響を与えます。設定の中でも最も重要なものについて解説します(2846 word、13分) RubyのWebアプリサーバーは、ある意味で自動車のガソリンに似ています。よいものを使ってもそれ以上速くなりませんが、粗悪なものを使えば止まってしまいます。実際にはアプリサーバーでアプリを著しく高速化することはできません。どのサーバーもだいたい同じようなものであり、取っ替え引っ替えしたところでスループットやレスポンスタイムが向上するわけではありません。しかしダメな設定を使ったりサーバーで設定ミスしたりすれば、たちまち自分の足を撃ち抜く結果になります。クライアントのアプリでよく見かける問題のひとつがこれです。 本記事では、3つの主要なRuby アプリサーバーであるPuma、Unicorn、Pass
I’ve been using Docker for my Rails development environment for a while now. This means I’ve had to address a lot of different issues and learn some of the good and bad practices around containerized systems. I’m also a heavy advocate of TDD and testing in general. I think the time you lose writing tests is actually less than the time you spend testing your application by hand to see if your new m
In Ruby, web application servers are like gasoline in a car: the fancy stuff won’t make your car go any faster, but the nasty stuff will bring you grinding to a halt. Application servers can’t actually make your app significantly faster - no, they’re all pretty much the same and changing from one to the other won’t improve your throughput or response times by much. But it is easy to shoot yourself
前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら
Kubernetes hellonode tutorial is great, but it didn’t answer many questions that I had when building and deploying an actual app such as “how does my database get setup?”, “when do app packages get installed?”, “how does the developer environment setup work?” and “how do my containers talk to each other?”. In Part I of this walkthrough, we created a docker-compose developer environment and a fresh
RailsのローカルだってSSL/HTTPSにしたい サードパーティなJSライブラリを入れると、HTTPS環境もしくはlocalhostじゃないと動かないよとか、ServiceWorkerを動かしたいけどlocalhost以外の名前でアクセスしたいよとか、色々と要望はあると思います。なので、Rails5 + pumaで設定してみました。簡単です。 証明書の作成 プロダクション用の本物証明書を使ってもいいですし、ローカルでHTTPSになっていれば良いやって言う場合はオレオレ証明書を作ってブラウザで例外追加してもいいです。オレオレ証明書は下記コマンドでさくっと作れます。 $ openssl genrsa 2048 > server.key $ openssl req -new -key server.key > server.csr $ openssl x509 -days 3650 -req
Updated: 7/21/2020 In this walkthrough, we’ll create a dockerized development environment for a new Rails 6 application. At the end, you should have a Rails application with distributed services running on your local machine in docker with little effort and provisioning. In Part II of this guide, I’ll explain how to continuously deploy that application on Kubernetes—offering high availability, sel
好みのgemが無いのでいつも書いてるヤツをご紹介します。gemにすると仰々しくなりそうでしない。 使い方 例えば、 トップページ > ブランド一覧 > ブランド個別 > モデル個別 > グレード個別 のような構造になってる車のサイトのグレード個別ページの場合。 indexやshowのviewの上の方に書く。(設定ファイルやcontrollerに書くやり方は好かん) リンク文字とURLをadd_breadcrumbする。 - add_breadcrumb "全てのブランド", brands_path - add_breadcrumb @grade.model.brand.name, @grade.model.brand - add_breadcrumb @grade.model.name, @grade.model - add_breadcrumb @grade.name, @grade (
おはようございます。一番よく使うemojiは 👀 (:eyes:) のうなすけです。 さて弊社では、最近社内Railsアプリをひとつ構築しました。それをECSで運用することにしたので、そこに至るまでの経緯、つまづき、これからの課題などなどを記事にしていこうと思います。上の図は現時点での簡単なAWS上での構成図です。 以下、見出しは時系列順でやったことを記録していきます。 社内Railsアプリ、一体どんなもの? ここで新規に構築することになった社内Railsアプリですが、特に凝ったことはしていない単純なRailsアプリです。初めからECSで運用することにしていたので、開発環境も全てDockerで構築しています。Railsのバージョンは5.1.0、Docker imageのFROMにはruby:2.4.1-silmを採用しています。 Docker imageのtagについて developm
Speee エンジニア組織推進室の服部 (yhatt) です。 みなさん E2E テストされていますでしょうか。弊社の Ruby on Rails プロダクトにおいては、RSpec、Capybara、 Poltergeist を組み合わせ、 feature spec で E2E テストを行う構成が一般的でした。 そんな中、Chrome 59 に ヘッドレスモード (--headless) が搭載 されたことで、テストや CI 環境において、最新の Chrome 環境による E2E テストを実施できるようになりました。それに合わせて、PhantomJS のコアメンテナーがメンテナーを降りる ことを発表し、PhantomJS のアップデートや、継続的サポートは期待できない状況となっています。 ヘッドレス Chrome ことはじめ | Web | Google Developers [A
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く