タグ

Railsに関するopparaのブックマーク (55)

  • なぜ Rails の前段に Nginx を置くのか - Qiita

    追記(2023.09.13) X にて、この記事が引用されて多くの議論が投稿されました。 それらの多くは以下の通り「ALB等の利用できる環境の現代であればもうNginxコンテナは不要」という内容が多数です。 その上で、文に入って頂ければと思います。一部「いいね」が多いポストを貼り付けさせていただきます。 文にショートカットしたい場合は、ここをクリック ここから文 以前、チームで以下のような会話が生まれました。 「コンテナに nginx 立てずに、直で rails Appサーバに ALB から流せばいいじゃん?」 みたいな話。その際に理由を即座にレスできなかったので、調査しました。 puma や Unicorn はあくまでAppサーバなのでユーザ直アクセス用途として設計されていない バッファリング処理が弱い バッファリング処理(処理速度や処理にかかる時間の違いを調整すること) ngin

    なぜ Rails の前段に Nginx を置くのか - Qiita
  • Only My Rails Way

    これは何 「Rails Wayに沿って〜」とはReview欄などでよく言われるが、定義が人によってぶれている気がするので俺のRails Wayを示した記事です。 もはや来のモノとは別物かも知れませんが、俺はこういう観点でRailsをみて、コードを書いているよ、ということを知ってもらう意味でもこの記事を公開することにしました。 前提として、「数人以上のチームでプロダクトを実際に開発して運用する」場合の自分のスタンスを示したものです。(私も仕事では独自DSLは書きませんが自由研究用途なら自分も独自DSLを書いたりします。) それでは、いってみましょう。 Model層 データベースの操作およびビジネスロジックを記述する。 テーブルの属性は原則NOT NULLにするべき。どうしても要件上NULLを許容しなければならない場合のみNULLを許容する。 Controllerからparamsを無思考で渡

    Only My Rails Way
  • mysql-clientだけでRails環境構築@Mac | DevelopersIO

    最近では、開発に使うMySQLやPostgresなどのデータベースもDocker上に用意するのが普通だと思います。 他方、RailsMySQLの開発環境をMacで構築しようとすると大抵トラブるのですが、そこでの解決方法として、MySQL体を直接インストールする事を提示している例が多いです。 私も過去にはあまり考えずやっちゃってましたが、新しいMacBookに移行するのを機に心を入れ替えました。使わないものはビタ一つ入れたくない。 という訳でここではMacDocker使用を前提として、クライアントのインストールだけで済ます手順を紹介します。 (そもそも)gem mysql2って何? Railsの開発ではすっかりお馴染みのgem mysql2。環境構築の際に必ずトラブるやつですね。あとOSのUpgradeした時とか。 公式サイトによると This gem links against My

    mysql-clientだけでRails環境構築@Mac | DevelopersIO
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
  • Re: Rails を主戦場としている自分が今後学ぶべき技術について

    この記事は、 Rails を主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ についてのアンサー記事です。 うなすけ君が Ruby on Rails で育ってきたように、僕も JavaScript とともに育ってきたという自覚があります。なので、これについて書くことは、ポジショントークは避けられない、という感覚があります。 冷静に比較しようとも思いましたが、やっぱり開き直って思いっきりポジショントークをすることにしました。そっちのほうが面白いと思うので。 自分の基的な主張は、こちらの記事にあるとおりです。 Frontend Study #1: 基調講演 - Frontend 領域を再定義する 自分と Ruby on Rails 僕は、キャリアとしては Rails の会社で JavaScript を書いてきたことが多かったです。学生の頃は socket.io

    Re: Rails を主戦場としている自分が今後学ぶべき技術について
  • Kaigi on Rails 2021をやったので振り返る - okuramasafumiのブログ

    Kaigi on Rails 2021の振り返り この記事では先日行われたKaigi on Rails 2021の振り返りを行います。 私(@okuramasafumi)はチーフオーガナイザーですので、主催者目線での振り返りとなります。 ブースについて 個人的には、今年のKaigi on Railsの最大のポイントはやはりオンラインブースでした。これはまだあまり前例がない試みであり、カンファレンス全体の印象を左右しかねない試みでもありました。ありがたいことに概ね好評をいただいている今回のオンラインブースについて、振り返ってみましょう。 オンライン開催、再び Kaigi on Railsのカンファレンスは前回のSTAY HOME Editionに続いて2回目です。開催形態はまたしてもオンラインとなりましたが、前回終了時点でオフライン開催の見込みが全く立たなかったことから今回もオンラインでの開

    Kaigi on Rails 2021をやったので振り返る - okuramasafumiのブログ
  • Nuxt.js + Ruby on Rails + AWS Fargate の開発・デプロイチュートリアル

    プライベートで、 Nuxt.js × Rails のアプリケーションを開発し、AWS Fargate にデプロイしました。そこで得た知見・学びを output し更に理解を深める & 備忘録として残しておこうと思い、このを執筆しました!

    Nuxt.js + Ruby on Rails + AWS Fargate の開発・デプロイチュートリアル
  • Alpine+Rails6+MySQLのDockerfileを作る

    Alpine Linux ベースの Docker イメージで Rails6.1 + MySQL の環境を作る機会がありました。構築手順を残しておきます。 以前書いた記事の MySQL 版です。必要なパッケージを調査した内容は記事の後半に書いてあることとほぼ同じなので、興味がある方は参照してください。 目次 Rails プロジェクトを作成する Rails 用の Docker イメージを作る ローカル開発用の docker-compose.yml を作る DB の設定をする データベースの初期化とコンテナの起動 Rails プロジェクトを作成する Rails プロジェクトを作成するための Dockerfile を作成します。 FROM ruby:2.7.2-alpine3.12 WORKDIR /myapp COPY . . RUN apk update \ && apk add --no-c

    Alpine+Rails6+MySQLのDockerfileを作る
  • Ruby on Railsと素のPostgreSQLで日本語全文検索 - 2020-12-22 - ククログ

    PostgreSQLに超高速な日語全文検索機能を追加するPGroongaを開発している須藤です。今回はPGroongaやpg_bigmなど拡張モジュールを使わずにPostgreSQLの組み込み機能だけで日語全文検索を実現する方法を紹介します。PGroongaを使う方法はRuby on RailsでPostgreSQLとPGroongaを使って日語全文検索を実現する方法を参照してください。 Heroku PostgresなどDBaaSとして提供されているPostgreSQLではPGroongaを使えません。(DBaaSとして提供しているベンダーがPGroongaをインストールしてくれないから。)PostgreSQLの組み込み機能だけでは日語全文検索を満足に実現することができないので、DBaaSのPostgreSQLを使っていると次のように日語全文検索で困ってしまいます。 日人のプ

    Ruby on Railsと素のPostgreSQLで日本語全文検索 - 2020-12-22 - ククログ
  • [Rails] Sidekiq の Worker で Amazon SQS のメッセージを処理する | DevelopersIO

    Amazon SQS のメッセージを処理する際、Worker を使って行うことが多いかと思います。 Rails で非同期処理を実現する方法の 1 つとして sidekiq という gem がありますが、 今回この sidekiq の Worker を使って SQS のメッセージを処理してみたいと思います。 必要な gem の追加 Rails プロジェクトを作り、Gemfile を編集します。 source 'https://rubygems.org' gem 'rails', '4.1.2' gem 'sidekiq' gem 'aws-sdk-core' gem 'settingslogic' 必要最低限の指定です。 aws-sdk はバージョン 2 系を使ってます。http://aws.amazon.com/jp/sdkforruby/ settingslogic は定数管理の gem

    [Rails] Sidekiq の Worker で Amazon SQS のメッセージを処理する | DevelopersIO
    oppara
    oppara 2014/07/31
  • [Rails]既存DBを操作するAPIを作成する | DevelopersIO

    はじめに Railsの勉強もかねてRESTfulなAPIを作ろうとしてみました。 そういった際に、0からテーブル構造を考えて、 モデルを作って・・・と言った教科書通りのやり方をやっていくといった方法があります。 今回は、Railsを用いてRESTfulなAPIを作る事を目標の為、 WordPressを立ち上げて、テーブルの設計やテーブルに対する操作はそれを参考にする事にしました。 そのため、今回の記事の内容は以下の通りになります。 WordPressの環境を構築する。 上記で構築したテーブルをRailsから接続し、APIを作成していく。 WordPressの環境を構築する 今回はWordPressが利用するテーブルを作成する事が目標のため、 Webサーバーも適当に立ててしまいます。 PHP 5.4.0からビルドインサーバーがあるため、 それを用いる事で容易にPHPが動くWebサーバーが立ち

    [Rails]既存DBを操作するAPIを作成する | DevelopersIO
    oppara
    oppara 2014/07/31
  • [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO

    Rails で STI(Single Table Inheritance)を使った時の、コントローラの実装をどうするか?という事について書いてみたいと思います。 STI(単一テーブル継承)とは オブジェクト指向の基概念として、あるクラスを元にサブクラスを定義する継承があります。 この継承は、プログラミング言語ですとと予め機能が提供されていることが多いですが、 RDB ですとテーブル構成によって表現する場合があります。 *1 今回使う STI は、一つのテーブル内に継承関係にあるクラスのカラムを全て持ってしまう方法です。 例として Player クラスを継承した Footballer クラスと Cricketer クラスがあるとします。 親クラスに共通のプロパティ、子クラスがそれぞれのプロパティを持っていますが、これを STI で表現すると以下になります。 テーブルのレコードがどちらの型に

    [Rails] STI(Single Table Inheritance)でコントローラも一つに纏める | DevelopersIO
    oppara
    oppara 2014/05/25
  • [Rails]ビューキャッシュにTokyoTyrantを使ってHTMLを高速に表示する

    はじめに 今回はRailsをTokyoTyrantでビューキャッシュする方法についてです。 Railsのキャッシュ機能には、オンメモリ、ファイル、drb、Memcacheから好きなストレージを選んで利用することができます。高速で永続性可能なKeyValueストアのTokyoTyrantをプロジェクトで採用することも多いので、ビューキャッシュにTokyoTyrantを使えないか試してみました。 TokyoTyrant http://fallabs.com/tokyotyrant/ TokyoTyrantのインストール TokyoTyrantがまだインストールされていない場合は、各環境に合った方法でインストールしてください。 Macの場合 % sudo port install tokyotyrant or … % brew install tokyotyrant CentOSの場合 % su

    [Rails]ビューキャッシュにTokyoTyrantを使ってHTMLを高速に表示する
    oppara
    oppara 2013/03/17
    ビューキャッシュにTokyoTyrantを使ってHTMLを高速に表示する | KRAY Inc
  • 画面の文字変更を担当者自ら行ってもらう·WhowishWord MOONGIFT

    WhowishWordは画面上の文字を一部変更し、その差分をYAMLファイルとしてダウンロードできるソフトウェアです。 システム開発をしていて、ちょっとした文字の変更を何度も要求してくる人がいます(大抵社内で権力のある人たちです)。そうした人たちに関わるとろくなことがないのでWhowishWordを使って自分たちでメンテナンスしてもらいましょう。 編集モードがオフです。つまり普通に表示しているのみです。 オンにしました。編集アイコンが出ています。 クリックするとモーダルウィンドウが表示されて内容が編集できるようになります。 WhowishWordを使うとplaceholderやtitle、そして入力値を変更できます。ラベルは変更できませんがボタンの値などは変更可能です。そして編集が完了したらファイルのダウンロードを押すと差分にあたるYAMLファイルが作られます。後はこれをシステム開発者に送

    画面の文字変更を担当者自ら行ってもらう·WhowishWord MOONGIFT
  • Railsのコマンド実行を高速化·zeus MOONGIFT

    zeusはRuby on Railsのコマンド実行速度を高速化するソフトウェアです。 Ruby on Railsはここ数年で一気に知名度を高めてきました。そんなRailsですが、コマンドを実行した後の処理の重さにみんな辟易していました。そこで使ってみたいのがzeusです。 インストールします。 起動しました。 サーバを立ち上げます。おお、速いかも。 コンソールを立ち上げます。こちらも速い。 デモ動画です。 zeusはRailsのインスタンスを常に起動しておいて、それを使って他のコマンドを実行する仕組みになっていると思われます。そのため様々なライブラリなどをロードすることもなく、即座に実行できるのが魅力です。コンソールやサーバ、Generate系、rake、テストなどが高速で処理されるようになります。 zeusはRuby製、MIT Licenseのオープンソース・ソフトウェアです。 MOON

  • rails, rspecでVimのsnippetを使うためのベストプラクティス (自己流) - Qiita

    Vimにはtextmateちっくなsnippet補完を実現するためのプラグインがいくつかあります。 neocomplcache-snippets-complete, snipMate, UltiSnipなどなど。 私が利用しているのは、neocomplcache-snippets-completeなので、それを利用する時の流れについての話です。 neocomplecacheを使っていると、補完が統合されるので、neocomplecacheユーザーは大体これに落ち着くと思います。 ちょっと調べたところだと、UltiSnipはかなり高機能っぽいのですが、pythonインターフェースが必要で、ちょっと複雑過ぎるかもしれません。 読み込みのルール 現在のneocomplecacheは、内部でvimのバッファが持っているファイルタイプとは別に、 独自のファイルタイプ情報を持っています。 最近になって

    rails, rspecでVimのsnippetを使うためのベストプラクティス (自己流) - Qiita
  • アンチソーシャルな本棚サービス·bookqueue MOONGIFT

    bookqueueはソーシャル機能のない棚サービスです。自分の読んだを記録しておけます。 自分が読んだ、読んでいる書籍の情報を共有するサービスは幾つか存在しますが、今回はそれのオープンソース版であるbookqueueを紹介します。といってもアンチソーシャルということで共有する機能はなくとにかく自分の読んでいるを登録するといったサービスです。 例です。幾つかのが並んでいます。 書籍詳細です。関連書籍も出ています。 アカウントを登録してみます。 キーワードで検索してを探します。 が出ました。この中から登録します。 登録しました。データのインポート処理が行われています。 読んだページ数がグラフ化されています。 シェアする機能がない分、とにかく自分が読んでいるを登録していくという雰囲気がシンプルで良いです。データもオープンソースとあって後で自由に加工できるというのも利点と言えそうです

    アンチソーシャルな本棚サービス·bookqueue MOONGIFT
  • タスクのステータスを見える化·かんばんりすと MOONGIFT

    かんばんりすとはカンバン方式におけるカンバンボードをオンラインで実現するソフトウェアです。 トヨタの生産方式として名高いカンバン。様々なプロジェクト管理、生産管理などでその名が聞かれます。今回紹介するかんばんりすともまた、カンバン方式(のカンバンボード)をオンラインで実現するためのソフトウェアになります。 メイン画面です。Todo、Doing、Waiting、Doneの4つの枠があります。 Booksはカテゴリとして使えます。 Booksを選ぶとリストがフィルタリングされます。 編集はその場でできます。 プライオリティの変更や状況の変更はドラッグアンドドロップで行います。 タスクの実行履歴です。 かんばんりすとではタスクリストに枠を設けてそのステータスに従って状況を見える化しています。誰がどのタスクを行っているか、何が終わって何が終わっていないかが一元管理できるのが便利です。 かんばんりす

  • Rails製のシンプルな画像アップローダー·picHack3r MOONGIFT

    picHack3rはRuby on Railsで作られた画像アップロードサービスです。 2ちゃんねるをはじめとして画像アップローダーサービスは重宝されています。そんな画像アップローダーサービスを立ち上げてみたい人にお勧めなのがpicHack3rです。 メイン画面です。ファイルを添付して実行するのみです。 登録されている画像です。単なるアップローダーなので雑多です。 一件表示です。 picHack3rはRuby on RailsとPaperclipを組み合わせたサンプルとして開発されています。写真のアップロードとその一覧、そして詳細画面といった具合にシンプルな作りになっているのでRailsの勉強にも良さそうです。 picHack3rはRuby/Ruby on Rails製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 MOONGIFTはこう見る 視覚か

  • railsを少しずつ勉強する - 1. 環境構築 - アジャイルSEを目指すブログ

    railsを勉強するためにVMwareにUbuntuを入れる所から、環境構築の手順をメモ。 注意 下記にあるソフト類のインストール手順はあくまでも、2012/6/27 現在の方法です。 同じような環境を作るときは、各ソフトの公式サイトのインストール方法なども確認すること。 特に、ruby周りのツールはバージョン変わると、インストール方法やオプションの指定が変わったりするので・・・ 作る環境 使用したVMware Player: 4.0.4 build-744019 仮想マシン内 OS: Ubuntu rvm: 1.14.3 ruby: 1.9.3 rails: 3.2.6 git: 1.7.9.5 VMwareにUbuntuを入れる VMware Player :簡単に仮想マシンを実行できる無償ソフトウェア Home | Ubuntu 上記のurlからVMware PlayerとUbunt

    railsを少しずつ勉強する - 1. 環境構築 - アジャイルSEを目指すブログ