Swagger (OpenAPI 2.0) を使ったAPI仕様Drivenな開発 / API-Spec-Driven development with Swagger
読みました。 Take My Money: Accepting Payments on the Web 作者:Rappin, NoelPragmatic BookshelfAmazon どんな本か 副題が "Accepting Payments on the Web" となっているように、決済 (payment) システムをもつ Web アプリケーションを作る方法について説明しています。『達人プログラマー』などでおなじみの The Pragmatic Bookshelf シリーズの本です。 チケット販売システムの開発を通して、次のような具体的な話題に触れています。基本的には Rails 5 を使ってロジックからビューまでを開発していきます*1。 決済システムの実装 ショッピングカート 外部決済サービスとの連携 サブスクリプション機能 エラーケースとその対策 管理画面の実装 返金など注文の操
こんにちは。マーケティングプロダクト開発部の長田です。 この記事では、私が現在進めているプロジェクトで、Webpackerを使ったJavaScriptのモジュール管理を導入したので、それについて紹介したいと思います。 Webpackerとは Webpackerとは、Webpackを用いてRails上でJavaScript開発をするために必要な一連の流れを提供してくれる、Rails organizationで開発されているgemです。 これまで、Rails上でJavaScriptのパッケージをどのように管理するか、また、モジュール依存をどのように解決するかについて、多くの選択肢があり、それらをどう組み合わせて使うのかについて悩まされてきました。 このブログでも過去に何度か記事が投稿されており、その中でも複数の選択肢が上げられています。 webpackを使った Rails上でのReact開発
ちなみに、最初に結論だけ言っておくと、まず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
最近、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.
はじめに こんにちは、投稿開発部エンジニアの芳賀です。 既存のRailsプロジェクトの中でReact.jsを利用する機会があったので、その時にやったことについてまとめてみます。 私自身は普段RailsのサーバサイドとCoffeeScriptが中心で、最近のJavaScript開発環境についてあまりキャッチアップできていなかったのですが、それらの状況を把握しつつ試行錯誤で開発していった経験から、できるだけ「React採用してみたいけどJavaScript界隈よくわからない目線」で書いてみようと思います。 RailsでReact.jsを使ういくつかの方法 2016年時点で、RailsでReact.jsを使う方法はいくつかあって、どれを採用するかで悩みました。 vendor/assets/javascripts にreact.jsを置いて利用する react-rails gem を利用する br
Ruby on Railsの開発者DHH(David Heinemeier Hansson)氏は、Rails 5.0の正式版がリリースされたことを発表しました。あわせてドキュメントの「Ruby on Rails Guides」もバージョン5.0対応にアップデートされました。 Rails 5.0では、RailsからWebSocketsを直接扱えるフレームワークの「Action Cable」、バックエンドとJSONで通信するようなアプリケーションを構築するためにAPIで通信可能になる「API mode」などを備えているのが特長です。 Action Cableを用いることで、HTTPをポーリングするといった実装に依存することなくWebScocketを用いてクライアントとサーバ間で効率的な通信が可能となり、API modeではJavaScriptやネイティブなモバイルアプリケーションとバックエンド
こんにちは!12月に子供が生まれたばかりの鈴木( @suzan2go ) です。現在は週2~3日リモートで子供の成長を片目にみつつコードを書いています。うちの子はガラピコぷ〜がお気に入りです。 さて今回はRailsでのフロントエンド開発についてです。 昨今のフロントエンドの進化はめまぐるしく、Rails標準のSprocketsというgemでJavaScriptやCSSをコンパイルする仕組みでは以下のような要望に答えられなくなってきています。*1 ECMAScript6で書きたい! フロントエンドのライブラリ管理にnpmを使いたい! で、上記に対応するにはおおまかに分類すると以下のような方法があります。 browserify-rails を使う github.com これが一番導入が簡単ですし、既存のRailsアプリに突っ込むならこれが選択肢としては手堅いと思います。 ただ開発中のビルドがめ
本日で3ヶ月間の試用期間を終了し、正式雇用になった。 上の写真はトレタのオフィス。いつもはエンジニアがカウンターの上にPCを置いて立って仕事したりしている。 年度末という訳でもないのだが、いい区切りなので、入社してからの3ヶ月でこれまでに自分がやったことを振り返っておく。 やったこと 開発フロー整備 サーバーサイドチームのslack channelを作った 開発支援用のhubotを導入して以下のpluginを入れて開発支援に使うようにした hubot-reviewer-lotto hubot-deploy-builder hubot-cron サーバーサイドチーム定例会を導入した(ついでに議事録のフォーマットも決めて定例会までに各自の進捗を記入しておく運用にした) 一人だけが担当していたレビューをチーム全員で分担してやるようにした(前述のhubot-reviewer-lottoで公平に割り
こんにちは。技術部の国分 (@k0kubun) です。 3/28にクラウドワークスさんで行なわれたRails Upgrade Casual Talksで、Railsアップグレードの際にクックパッドが行なっている工夫について紹介しました。 影響範囲の予測が難しいRailsのアップグレードを安全に行なうための動作確認のやり方について参考になればということで、本記事でも改めて紹介いたします。 CookpadのRailsアップグレードの流れ Rails 4.1から4.2にアップグレードした際の例を紹介します。 CIにRails 4.2用ジョブを用意 まずはRails 4.2にアップグレードするためのrails42ブランチでテストを通します。リリースするまでこのブランチはmasterからrebaseし続けるので、リリースまでテストを通る状態を保つため、CIにrails42ブランチ用のジョブを用意しま
Generating and Streaming Potentially Large CSV files using Ruby on RailsMay 9, 2013 Most applications I’ve worked on at some point required that ‘Export’ feature so people would be able to play with the data using the familiar Excel interface. I’m sharing some code here from a recent work that did the following: Generate a CSV file for download with up to 100,000 rows in it. Since the contents of
rails プロジェクトを新たに作る手順 はじめに Vagrant + rbenv + Bundler のセットアップが完了していることが前提です。 まだやってないよーって方は以下を参考に。 blog.tokoyax.com blog.tokoyax.com blog.tokoyax.com プロジェクトで使用する Ruby のバージョンを指定する ユーザー dev1 で作業。 rbenv local でプロジェクトで使用する ruby のバージョンをローカル指定します。 $ cd /home/dev1/rails_apps/myfirstapp インストール済みのRubyのバージョンを確認 $ rbenv versions 2.1.5 * 2.2.0 (set by /usr/local/rbenv/version) インストール可能なRubyのバージョンを確認 $ rbenv inst
こんにちは。 Misoca開発チームの下っ端のめろたん(@renyamizuno_)です。 好きな飲み物はメロンソーダです。 アイスがのっていると、なお良しです。 今回はMisocaで使っている便利・おすすめGemを紹介したいと思います! letter_opener github.com アプリでアカウント登録時にメールを送信する。とか、アプリからメールを送信するといったことは多くあると思います。 しかし開発用にメールサーバーを立てるのも手間ですし、メーラーでメールの文面を確認するのも面倒です。 そこでこのletter_openerというGemを使いましょう! letter_openerを使うことで、メールの内容をブラウザ上で確認することができます。 Gemの追加 Gemfileにletter_openerを追加して、コンソールでbundle installします gem "letter_
id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #
この記事は Turbolinks v2.2.0 時点のものです Turbolinks Classic is now deprecated Rails4系で使われていたTurbolinksはturbolinks-classicと命名が変更されました。 Rails5ではVersion 5 として turbolinks のversion ~> 5.0 が使われます。動作としては似てますが内部の実装が大きく変わっているので注意してください。 Turbolinksとは TurbolinksはRails4.0からデフォルトで導入されたgem railsアプリケーションを 簡単に pjaxっぽくすることが出来る。 ajaxとhistoryAPI(popState, pushState)を利用して画面遷移 Turbolinksで遷移する場合は、titleとbodyとcsrfトークンを変更する csrfトー
最近、RubyやRails系の入門チュートリアルを中心にいくつかの記事があったので、知っている入門系チュートリアルを一式をまとめてみました。本当の初心者な方から、本格的にRubyを勉強したいと思う人にすっごいオススメです! (2016/02/20 17:30) 全般的に内容をリファクタリング 😎 スライド 拙著ですが、Railsをスタートダッシュして学ぶときに良さそうな記事や資料をまとめました。 Ruby 概論のスライド Spice Life CTOの五十嵐邦明さんの一橋大学での講義「Ruby概論」のスライド。 🎳 動画 Ruby入門 (全22回) Ruby on Rails 4入門 (全28回) 最初に見てほしいのがRuby/Railsのドットインストール。このあたりから少しずつ始めていくといいと思います! 🐞 ハンズオンProgate | プログラミングの入門なら基礎から学べるP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く