書いたぞ。 ginpei/docker-rails-example 日本語版の方をセルフ転載します。最新版はGitHub↑のほうで。 関連: Docker公式イメージでWordPress環境を用意する。 | Ginpen.com →English DockerでRailsアプリを作ったり動かしたりするサンプルとチュートリアルです。 Windowsの方 コマンドプロンプトやPowerShell入力時、 `pwd` を %CD% に置き換えてください。 じゃないと例えばこんな感じのエラーになります。 docker: Error response from daemon: create `pwd`/app: “pwd/app” includes invalid characters for a local volume name, only “[a-zA-Z0-9][a-zA-Z0-9_.-]”
RailsエンジニアがReactを始めてSSRとReduxを導入するまで Roppongi.rb #3 "Rails x Frontend-Tech" 自己紹介 github.com/gfx BitJourneyでKibelaを開発 Speee, Inc. で技術顧問をしてる Reactは現職で初めて触った(2016年8月~) 今日の話 Kibelaのフロントエンドの話です。 読みはキベラ Markdownで書けて、フロー情報(Blog)とストック情報(Wiki)を区別して整理できる情報共有ツール これまでの話 新規Railsアプリに小さく導入するReact // Speaker Deck (dex1t, 2016/09/05) 小さく導入して学びながら開発を進める ⭕ Interactive UI componentをReactで&jQueryも併用 ❌ viewをすべてReactで実装
待望されたYarnサポートの入ったRails5.1が2017年4月にリリースされました。 Ruby on Rails 5.1 Release Notes — Ruby on Rails Guides 他にもjQueryがデフォルトdependencyから外されたり、Optionalでwebpackサポートが入ったりしており、Railsのフロントエンドは大きな転換点を迎えたと言ってよいでしょう。本エントリではRailsのフロントエンド技術の今を振り返り、今後どうなっていくかをまとめてみたいと思います。 DisられてきたRailsフロントエンド Railsのフロントエンド技術スタックは、フロントエンドを専業とするエンジニアにDisられるものでした。具体的には下記の技術要素です。 jQueryCoffeeScriptAssets Pipeline (sprockets)gemのエコシステムに乗っ
Rail5.1でwebpackとかReactとか使えるようになったよと聞いて、試してみました。 実際にRails+Webpack+Reactでローカル環境で動かすまでにnpmでRactモジュールをインストールしたり、私の環境ではwebpack(config)の設定を少し変えたりしなければいけなかったのでメモです。 成果物は、下記にアップしています。 https://github.com/forest6511/rails5.1-beta-react-webpack 前提条件npmがインストールされていることnodeがインストールされていることruby/rails5.1がインストールされていることnodeやnpmとかってバージョンが違ったりするとハマるので、アップしたgitのほうに試したバージョンを記載しています。 rails5.1でwebpack + reactアプリの作成アプリ作成時に–w
読みました。 Take My Money: Accepting Payments on the Web 作者:Rappin, NoelPragmatic BookshelfAmazon どんな本か 副題が "Accepting Payments on the Web" となっているように、決済 (payment) システムをもつ Web アプリケーションを作る方法について説明しています。『達人プログラマー』などでおなじみの The Pragmatic Bookshelf シリーズの本です。 チケット販売システムの開発を通して、次のような具体的な話題に触れています。基本的には Rails 5 を使ってロジックからビューまでを開発していきます*1。 決済システムの実装 ショッピングカート 外部決済サービスとの連携 サブスクリプション機能 エラーケースとその対策 管理画面の実装 返金など注文の操
つい先日Railsの最新バージョンである5.1のベータ版がリリースされました。Rails5.1では様々な機能追加があり、目玉機能であるwebpackerを使って最近流行りのフロントエンドライブラヂのVue.jsやReact.jsの環境を簡単に構築できるようになりました。 Dockerを使う事によりVagrantといった仮想環境を作って一から構築するよりも早く、さらにDockerなら環境の構築・削除がとても簡単にできます。 今回はその環境をDockerを使って簡単にかつ素早く構築する方法を紹介いたします。 Docker for Macのインストール まずDocker for MacをインストールしてMacでDockerが使えるようにします。 Docker for Macは非Linux環境でサクッとLinux環境を構築するのに適したコンテナを作成できるツールです。 https://docs.d
はじめに Rails 5.1ではJavaScript/index.html.erb周りのサポートが大きく改善されました。 これにより、Vue.jsやReactといったモダンなJSフレームワークをRails内で非常に扱いやすくなっています。 僕も実際に試してみましたが、本当にびっくりするぐらい簡単にVue.jsやReactを動かすことができました。 そこでこの記事ではRails 5.1とVue.jsを組み合わせたサンプルアプリケーションの作成方法をチュートリアル形式で、できるだけ詳しく説明します。 また、ローカルで動かしておしまい、ではなく、Herokuにデプロイしたり、テストコードを書いたりするところまでカバーします。 この記事自体は長いですが、実際に手を動かすと(スムーズに進んだ場合)30分以内で終わらせることができるはずです! 今回作成するサンプルアプリケーション 今回は以下のリンク先
はじめまして、ビューティ開発Tの寺下です。 現在ホットペッパービューティーでは、一部システムのリプレイスに取り組んでいます。 リプレイスはiOS・Android・Webと、各プラットフォームでそれぞれ並行して進めている状況です。 今回は私のチームが担当している、Web開発に焦点をしぼって書いていきたいと思います。 なお、iOS・Androidのリプレイスの取り組みにつきましては、 Wantedly にて紹介していますので、ネイティブアプリにご興味のある方はそちらをご参照下さい。 リプレイスに至った背景 ホットペッパービューティーは、サービス全体で年間5000万件以上のネット予約が行われるなど、 多くのユーザの方にご愛用していただいています。 サービス内容・品質の改善のため、日々機能開発を行っているのですが、 長年の運用・改修により、少なからず技術的負債が蓄積しており、 機能追加開発速度とビ
はじめに Riot.js Redux Railsシリーズで作ったTodoアプリのRiot.js部分をReactを使って書いた。 Riot.js Redux Railsで作ったTodoアプリと全く同じものを作成するのでコードが大分重なっている(Riot.js部分をReactにしただけ)が、今回の一連の記事だけ読んでも出来るように省略はしない(ほぼコピペだし)。 環境構築 React Redux Rails 1 / 5 「環境構築」 Todo Appの作成 React Redux Rails 2 / 5 「Todoリストを表示する」 React Redux Rails 3 / 5 「新たなTodoを追加出来るようにする」 React Redux Rails 4 / 5 「完了したTodoをチェック出来るようにする」 React Redux Rails 5 / 5 「チェックしてあるタスクを削除
vagrantはマシンレベルで構築するので、ベースとなるOSは特に限定されませんが、dockerはLinux上でのみしか動きません。しかし、dockerはLinuxの機能を借りて仮想環境を実現しているので必要なリソースは少なくて起動が早いのが特徴です。逆に仮想マシンはOS単位で仮想化しているのでリソース消費量が高く起動は遅いです。 以前はVirtualBoxが必要だったり環境設定が必要だったり、色々面倒だったそうですが、今はDocker社が公式で出している Docker for (Mac/Windows/Linux)をインストールするとすぐに使えるので、まだインストールをしていない人は入れておきましょう。 docker-composeとは? dockerをインストールするとdockerコマンドが使用できて、それを用いることで色々なコンテナを立ち上げることができるのですが、Railsアプリの
この記事はなに? ベーシック Advent Calendar 2016 20日目です。 機会があって100万枚近い画像を3時間弱でアップロードできるアップローダを作成しました。今回はアップローダを作成する際の手法をご紹介したいと思います! そもそも何故やることになったのか 僕の携わっているサービスが全面リニューアルをおこなっているのですが、要件の中に、MongoDBからMySQLに乗り換えるというものがありました。その際に大量にある画像を下記理由から再アップロードする必要が出てきました。 MongoDBからMySQLへの変更に伴い、データの持ち方が大きく変わったので、画像パスを再登録する必要があった。 画像を保存しているディレクトリ構造がいけてなく、S3上での検索が困難だったので整えたかった。 また、画像のアップロード作業をする際は、サービスを一時停止、また万が一の為にやり直しをするバッフ
VAddyとCSRFトークン VAddyは脆弱性診断を実行する際に、CSRFトークンを最新のものに更新しながら動作します。そのため「どのパラメータがCSRFトークンか?」を判断するロジックが存在しています。最近あるフレームワーク(後述)について「CSRFトークンを正しく認識できない」というバグを修正したのですが、良い機会なのでメジャーなフレームワークやCMSを中心にCSRFトークンの実装をざっと追ってみました。一覧にしても面白くないので、仮想インタビュー形式にまとめてあります。GitHub上で軽く追ったものが多いので、最新のバージョンでなかったり、解釈が間違っている箇所があるかもしれません。 それでは、どうぞ。 Ruby on Rails 金床(以下、金)「こんにちは。ようこそ。」 RoR「こんにちは」 金「相変わらずシェア高いようですね。」 RoR「はい、おかげさまで。この間はルマン24
ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分も本で書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には本当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ
初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使う技術スタックの必要な要件 マイクロサービスの良いところは、サービスごとに合った別々の技術が使えるということです。 とはいえ、一般的な組織であれば、学習コストの面などから、ファーストチョイスとなる言語があり、普通の要件に対してはその言語を使う、ということにな
この記事はRuby Advent Calendar 2016の5日目です。 昨日はiguchi1124さんの「Railsアプリケーションでより良いリソース設計を実装するためのテクニック」 でした。 明日は、tomokane@githubさんの記事になります。 はじめに 最近、個人的なプロダクトを久しぶりにRailsで書いています。 自分の場合、Rubyはテキスト処理とかスクレイピングとかそういったスクリプトで使う用途が多いので、 Railsをまともに触るのは実に2以来。そのせいで5を触るにあたって大分忘れてたことや時代に取り残されたところがありました。 あと、Herokuも本格的に使ったことは無かったのですが、今回Dockerに完全対応したということで使ってみたので、 Heroku Container Registryを使ったDockerによるRails環境について備忘録がてら、今年はまと
株式会社LITALICOでエンジニアをやっております@Takuan_Oishiiです。 この記事は『LITALICO Advent Calendar 2016』4日目の記事です. 4日目は初心者WebエンジニアまたはRailsは書けるけどサーバ構築とかシラネという読者を対象にしたサーバ構築手順をお届けします🎁 はじめに LITALICOでは新卒エンジニアの入社時の研修の題材のひとつとしてRuby on Rails Tutorialを利用しています. RubyとRailsの学習のみならず, テストなどのWebアプリ周辺知識を習得できるので重宝しています. ただし, 実際に仕事をしていく上では「Webサーバってどうやって設定して起動すんの?」「デプロイってどうやんの?」という知識が0の状態だと結構キビしいと思います. そしてその知識はRails Tutorialのカバー範囲外です. 個人的な
Railsアプリケーションを、Heroku上で1分間125,000リクエストに対応できるようにスケーリングする 要約: Herokuでは、Railsのスケーリングが非常に簡単できますが、考慮すべき重要なポイントがあります。DynoとPostgresのさまざまな設定がHerokuでのパフォーマンスにどのように影響を与えるかについて調べました。 スケーリングのテストをする理由 ZeeMee のサーバは、今秋、来たる大学入学のシーズンにリクエストが殺到する見込みです。学生はZeeMeeを使って入学願書に動画や写真を付加することができるので、当社のWebサービスが受ける負荷は非常に深刻なものになっています。ピーク時(大学入学の出願期限)には、リクエストのロードが平均の150倍にもなります。 今年の秋を迎えるにあたり、APIのリクエストの爆発的増加にしっかり備えておこうと考え、Herokuでパフォー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く