タグ

Railsに関するaiza_waiのブックマーク (13)

  • [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法

    こちらの記事は翻訳記事となります。 原著者の許諾を得て翻訳・公開しております。 英語記事: How to Write Fast Code in Ruby on Rails原文公開日: 2019/10/08著者: Gannon McGibbonURL: https://engineering.shopify.com/blogs/engineering/write-fast-code-ruby-rails はじめにShopifyでは、ほとんどのプロジェクトの開発フレームワークにRuby on Railsを使用しています。 RailsRubyはともにパフォーマンスに対するスティグマ(偏見)が存在します。 多くの個人や企業が、Rails以外での解決方法を探しています。 しかし一方で、私たちShopifyではRuby on Railsを採用して、毎分何百万ものリクエスト(requests per

    [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法
    aiza_wai
    aiza_wai 2020/01/29
    “Shopifyでは、パフォーマンスや速度を機能として扱っています。” ← new relic使ってるからってのもあるけど、最近はいろいろなところでこのフレーズを聞くようになった。
  • ERDをPlantUML形式で自動生成するツールを作った - くりにっき

    PlantUML + ERDでPlantERDです github.com モチベーション PlantERDの特徴 使い方 出力するテーブル数の制限について 技術的に頑張ったこと テストのこと Foreign keyで隣接している別のテーブルを探す方法 複数DB対応のつらみ 追記:2019/12/13 9:45 モチベーション 既存プロダクトへの不満が一番大きいです。 https://github.com/voormedia/rails-erd は出力が画像なので取り回ししづらい そもそもRails前提なので他言語とかでは使えない https://github.com/schemaspy/schemaspy も悪くなさそうなんだけどここまでリッチじゃなくていい テーブル数個の小規模アプリならいいんだけど、中規模以上のアプリで使うと人間が読むに耐えないERDが生成されて精神が崩壊する 僕は初め

    ERDをPlantUML形式で自動生成するツールを作った - くりにっき
    aiza_wai
    aiza_wai 2019/12/13
    最初にデータモデルつくるならastahが一番と今でも思ってるけど、保守のメンテ考えるとコード自動生成に軍配。rails-erdより良いとは気になる。
  • 【7年かかった】19歳から7年、1人で30個のWebサービスを作り一発当ててもう働く必要がなくなったので振り返ってみる - 考えすぎてしまう人のブログ

    どうもせせりです:) 19歳の頃からほぼ1人でRailsWebサービスを作り始めて早7年 紆余曲折ありなんだかんだで作ったサービスは30個ほどになりました 7年ほど前に一番最初に作ったTwitterアカウントで「僕の夢は25歳までに3億円を稼いで残りの人生を楽しむ事です」などと言っていました あれから7年がたち26歳になり、3億円は無理でしたが残りの人生贅沢しなければ働かずに生きていけるくらいにはなりました Rails勉強会、ハッカソン、未踏、などなど色々参加していましたし、狭いRails界隈なのでもしかしたら勉強会などでお会いした方は覚えている方もいるかもしれません 色々お話を聞いてくださりアドバイス下さった先輩方ありがとうございます あの頃の初心者は無事に夢にたどり着きました! 振り返ってみれば訴訟起こすぞって怒られたり、警察から電話がきたり、サーバー会社にサービス止められたり、サー

    【7年かかった】19歳から7年、1人で30個のWebサービスを作り一発当ててもう働く必要がなくなったので振り返ってみる - 考えすぎてしまう人のブログ
    aiza_wai
    aiza_wai 2017/10/29
    こういう生き方憧れる。行動と継続の力が異彩。つくったあとに嵩む運用費が続々つくるやる気を削ぐので、無料だけど技術でサービス品質をできるアーキテクチャ構築術を身につけたいと思っている。
  • Grape on Rails で API 開発 - ボクココ

    ども、@kimihom です。2016年になりました。今年もよろしくお願いします。 前回は、API の周辺技術の選定と設計について書いた。 さて、昨年から書き続けている API 関連の話題だが、実際にコード書くところを細かく見ていきたいと思う。スタートさえうまくいけば後は追加していくだけなので、環境作りとコードの構成のところで参考になる部分があれば幸いだ。 環境構築 さて、 Grape の世界に飛び込もう。 Gemfile # api gem 'grape' gem 'grape-swagger' gem 'grape-swagger-rails' gem 'grape-entity' gem 'api-pagination' gem 'ruby-swagger' 前にもちょっと解説したが、それぞれのGemを解説しよう。 Grape : API 開発用のRuby DSL grape-ent

    Grape on Rails で API 開発 - ボクココ
    aiza_wai
    aiza_wai 2016/07/24
    限られた人員で立ち上げにgrape選んだのは悪くはなかったと思いつつ、つぶしが効かないところはあるのは否めない。
  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
    aiza_wai
    aiza_wai 2016/04/18
    “ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ”
  • RailsとGrapeで行う最高のWeb API開発 - Qiita

    Ruby Advent Calendar 2013 2日目 るびぃあどぅべんどぅくぁれんだー2013、2日目の記事となります。昨日はすうぱぁももんがさんのあくろばてぃっくな今年こそRubyを始めたいあなたに!ももんが流・最強のRuby学習法です。 概要 三回ほど手を変え品を変えWeb APIRubyで作ってきました。ここではそこから学んだ今の私の全力全開、最高のWeb API開発についてコード例を交えてお話したいと思います。ここで言うWeb APIとはスマホアプリから使用する、サーバに置いてあるAPIをイメージして頂ければと思います。 ここではユーザが写真をサーバに保存できるAPIを想定し、応答のフォーマットはJSONとします。 使うもの rails 4 Rails 3ではなくRails 4を使うのは趣味です。 grape APIを書く際に非常に楽になります。APIで使用するURLとHT

    RailsとGrapeで行う最高のWeb API開発 - Qiita
    aiza_wai
    aiza_wai 2016/04/18
    grapeでAPIつくる時に参考にさせてもらった。拡張難はあれど、まだ何とか使い続けられている。
  • Railsエンジニアならこれだけは知っておけっていう便利メソッド - (゚∀゚)o彡 sasata299's blog

    2011年07月26日13:29 Ruby Railsエンジニアならこれだけは知っておけっていう便利メソッド Object#presence と Object#try という便利なメソッドがあることをご存知ですか?この2つのメソッドはとっても便利なのでちょっと紹介してみます。 Object#presence メソッド これは以下のような定義となっています。 def presence self if present? end present? メソッドというのはみんな大好き blank? の反対のメソッド (!blank?) です。 つまり、nil, false, [](空配列), {}(空ハッシュ), ""(空文字列), " "(半角スペースだけの文字列)であれば false、それ以外であれば true になります(blank? って半角スペースだけの文字列を true と判定するの知って

    aiza_wai
    aiza_wai 2016/04/17
    presence, tryはこの記事で学んだ。
  • #352 Securing an API - RailsCasts

    Download: source codeProject Files in Zip (95.7 KB)mp4Full Size H.264 Video (20 MB)m4vSmaller H.264 Video (9.66 MB)webmFull Size VP8 Video (7.81 MB)ogvFull Size Theora Video (25.9 MB) 先週はエピソード350で販売サイト用のバージョン管理されたAPIを構築する方法を紹介しました。/api/productsというパスにアクセスすると、JSONを介してこのアプリケーションとデータのやりとりが可能です。このAPIは完全に公開されていて誰でも利用可能で商品情報の編集や削除ができてしまいますが、APIへのアクセスには制限をかけるのが通常でしょう。これを実現する方法はいろいろありますが、どの方法を選択するかはアプリケーショ

    aiza_wai
    aiza_wai 2016/04/17
    当時、この記事でAPIの認証について学んだ。
  • #283 Authentication with Sorcery - RailsCasts

    エピソード250[動画を見る, 読む]で、Railsアプリケーションにゼロから認証機能を追加しました。既存のサードパーティ製のツールを使いたい場合は、一部の機能を自動化してくれるgemがいくつかありますが、今回のエピソードではSorceryを紹介します。 Sorceryはシンプルなツールです。わずか20のメソッドを持つだけですが、およそ必要な認証機能のすべてを提供します。そのシンプルさに反してフル機能を持ち、またモジュール方式をとっているため、例えばパスワードの初期化、活動ログなど、必要な部品のみを選択して有効化できます。Sorceryは他の認証用gemと比較するとより低いレベルで動作し、コントローラ層やビュー層のコーディングは開発者にゆだねられています。今回のエピソードではこのSorceryを使って既存のRailsアプリケーションに認証機能を付加していきます。 はじめに 対象とするアプリ

    aiza_wai
    aiza_wai 2016/04/17
    当時ソーサリーは程よく自由度も効いて良いgemだと思っていたけど、最近のスタンダードは何だろう。
  • Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記

    このエントリでは,Ruby on Rails (以下 Rails)の ActiveRecord モデルテストについて,1) どこの何をテストすればよいか,2) どのようにテストを書けばよいか,のガイドラインを示します.このガイドラインは Rails 公式のものではなく,id:passingloop が使っている私的なものです.疑問・質問・批判・間違いの指摘はページ下部のコメント欄までお願いします. はじめに Rails は TDD/BDD サポートが充実した Web アプリケーション開発フレームワークです.Rails で使える Test::Unit や RSpec などといったテスティングフレームワークの使い方に関する解説も豊富にあります.しかし,「どこをどうテストすればよいのか」についての解説は,「使い方」の解説と比較して少ないように思います.もっとも,テスト一般についてどう書くかはアプ

    Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記
    aiza_wai
    aiza_wai 2016/04/17
    当時、モデルテストのガイドラインを作る際の参考に。モデルというよりはEntityに近かったので、基本はバリデーションとリレーション。
  • RailsとWordPressをシングルサインオンでつなぐ·Rails Integration API MOONGIFT

    ※ 画面は公式サイトデモより ああ、これは個人的にとても嬉しい。Railsはとても優秀なフレームワークだが、これで敢えてブログを運用しようとも、開発しようとも思わない。既にWordPressという優秀なブログエンジンが存在するからだ。車輪の再開発は個人的にはしても良いと思うのだが、もっと別なことにエネルギーを向けられるならそれがベストだ。 デモ。ユーザを選んでログインを実行する また、WordPressには既に多数のプラグインが存在し、それらを使えばできることはたくさんある。それの足りない部分をRailsで補うというのはどうだろう。 今回紹介するオープンソース・ソフトウェアはRails Integration APIRailsを使ってWordPressにシングルサインオンするプラグインだ。 Rails Integration APIRailsだけで成り立つものではない。WordPres

    RailsとWordPressをシングルサインオンでつなぐ·Rails Integration API MOONGIFT
    aiza_wai
    aiza_wai 2016/04/17
    ちゃんと使えるか未確認だけど、個人開発の延長線でも、何気にニーズがありそうな予感。
  • Rails + Grape と nginx + リバースプロキシでRESTfulなAPIサーバーを作ってみる - DRY

    Rails + Grape と nginx + リバースプロキシでRESTfulなAPIサーバーを作ってみる 題名の通り、RESTfulなAPIサーバーを作りたくて最近の私の流れからRubyでやろうかなと。 ruby-toolboxのAPI_Buildersなどで見るとGrapeというのが一番人気なようでしたのでコレにしました。 この公式のGitHubにサンプルがたくさんあるのも良い点かと思います。 それで公式サイト以外にも検索して、Grapeのお作法みたいのをいろいろ調べたのですが、幾つかやり方とか書き方があるみたいでコレが正解とういうのはハッキリとは無さそうです。 ですので私のやり方以外にも多々書き方はあるかと思います。 更に、私はまだまだRuby on Rails + somethingは初心者の域を出ていないので、、、 以上よりGrapeを使用してAPIを作成しました。 またRai

    Rails + Grape と nginx + リバースプロキシでRESTfulなAPIサーバーを作ってみる - DRY
    aiza_wai
    aiza_wai 2014/09/28
    まさにRailsAPI作っていたので大変参考になりました。URLにバージョン入れるかどうかは設計思想次第ですかね。次回エントリーお待ちしております。
  • パーフェクトRuby on Rails

    2014年6月6日紙版発売 2014年11月1日電子版発売 すがわらまさのり,前島真一,近藤宇智朗,橋立友宏 著 B5変形判/432ページ 定価3,168円(体2,880円+税10%) ISBN 978-4-7741-6516-5 ただいま弊社在庫はございません。 →書の新版が発行されています。 このの概要 Ruby 2.0の対応を見据え,MVCフレームワークRuby on Railsも4系になり,より高機能なWebアプリケーションフレームワークへと進化しました。書は,RubyRailsに関する基的なことから開発や運用に活用するツール,Railsを拡張する方法など現場で役立つ知識を中心に,最新のRails4.1.1に対応した書籍です。初心者から中上級者までをカバーした実践的なWebアプリケーション開発手法を解説します。 こんな方におすすめ 普段Ruby on Railsを使って

    パーフェクトRuby on Rails
    aiza_wai
    aiza_wai 2014/05/24
    立ち上げ当時お世話になった書籍。
  • 1