Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
2014.02.07 ちょっと待った! Railsのgitリポジトリから Gemfile.lockとdb/schema.rbを除外してはいけない こんにちは、hachi8833です。 Railsをgitで管理するのであれば、ログファイルや、パスワード入りdatabase.ymlなどの登録したくないファイルを.gitignoreに記載してリポジトリから除外するのが普通です。しかし実際の案件では、除外すべきでないファイルが除外されていることがたまにあります。言うまでもないような話ですが、心当たりのある方は念のためチェックしてみましょう。 gitリポジトリから除外すべきでないファイル 以下では、誤ってgitリポジトリから除外されがちなGemfile.lockとdb/schema.rbについて説明します。代表的なものであり、すべてを網羅しているわけではないのでご注意ください。 Gemfile.lo
もう二度とasset pipelineで苦しみたくないので、問題切り分けの手順をまとめたい。 (asset pipelineのおおかた理解してる人は5->1の順で切り分けていったほうが効率的かもです) 1. assetsパスの確認(アセットパイプラインで配信したいコンテンツがassetsパスに入っているか?) 当然ですが、app/controllersやdb/migrateなどの下に画像ファイルを置いても、アセットパイプラインでコンテンツ配信することはできません。 では、どこにアセットを置けば配信できるのか? assetsパスに置く必要があります。 確認方法 アプリケーションの現在のassetsパスは以下のように確認できる rails c $> Rails.application.config.assets.paths => ["/vagrant/shared/test_app/app/a
先日Railsで開発中に、Configというgemで環境変数を読み込もうとしているにもかかわらず、環境変数が読み込まれず、対応に苦しんだので、その対策を紹介したいと思います。 <スポンサードリンク> 環境 バージョン ruby 2.4.0 Rails 5.1.4 使用したgem dotenv-rails config 現象 今回、「config」という定数を環境ごとに管理するgemと「dotenv」という環境変数を使えるようにするgemです。 Gemfile .env.development そして下記のように、config/setting.ymlから環境変数を呼ぼうとした際、 環境変数がうまく読み込めておらず、設定ファイルのhostという変数をnilになってしまうという現象が起きました。 config/settings.yml コンソール この原因がわからず1時間ぐらいつまってしまっ
Ruby・Railsに限らず、ライブラリの古いバージョンを使い続けるのは、セキュリティ的にも開発効率的にも良くありません。 しかし、アップデートはアプリケーションの機能を向上させるものではありませんから、機能開発や不具合修正の方が優先されがちです。そのため、古いバージョンが放置されないようにするには、あらかじめ年間計画の中にアップグレード作業を織り込んでおくのが1つの方法です。 ところで、RubyもRailsも、マイナーバージョンも含めれば2・3ヶ月に1回リリースされます。アップデートはいつ行えばいいのでしょうか? RubyとRailsのリリース周期 アップデート計画を考える上では、機能の追加変更がある X.Y.0 (マイナーバージョンアップ)と、大きな不具合が見つかることが多いとされる X.Y.1 のリリースが重要です。以下で X.Y.0, X.Y.1 のリリース日を調べました。 Rub
3.1 Railsバージョンごとのデフォルト値 config.load_defaults はターゲットバージョンとそれ以前のすべてのバージョンのデフォルトの設定値を読み込みます。たとえば、config.load_defaults 6.1はバージョン6.1までの全バージョンのデフォルトを読み込みます。 ターゲットバージョンごとに関連するデフォルト値を以下に示します。値が矛盾する場合は、新しいバージョンが古いバージョンより優先されます。 3.1.1 ターゲットバージョン7.2のデフォルト値 config.active_job.enqueue_after_transaction_commit: :default config.active_record.postgresql_adapter_decode_dates: true config.active_record.validate_migr
2018.05.29 Rails tips: あまり知られてない機能1: ActiveJobとActiveModel(翻訳) 私はRailsガイドを通しで読んだことがなかったのですが、同ガイドを自国語に翻訳していて、それまで気づかなかったクールな機能をいくつも発見しました。皆さまのお役に立てばと思います。ActiveJobやActiveModelモジュールの知られざる機能を他にもご存知でしたらぜひお知らせください。 ⚓1. ActiveJobのカスタムシリアライズ 大規模なRailsアプリを構築していれば、Sidekiqやdelayed_jobといったバックグラウンド処理用エンジンをおそらくお使いでしょう。私はSidekiqが本当に好きなのですが、中にはSidekiqではできないこともあります。 class Worker include Sidekiq::Worker def perfor
Rejectcon 2018 レポート記事 こんにちは。オウチーノ吉川です。 去る9/29にRejectconで「Rails+ReactなSPAサイトでのSEO」について登壇してきました。 SPAサイトでSEOを行う際にぶつかった壁と、それをどのように乗り越えていったかの経緯をご紹介しました。 ちょっと内容詰め込みすぎて途中途中端折ってしまったのと、発表後にもいろいろ質問などをいただいていたのであわせて補足しながらご紹介します。 発表資料はこちらです。 なぜ経緯を紹介したのか? 昨今のフロントエンド技術の進化速度は非常に速く、どんどん新しい技術が登場しています。 記事などでどういった技術が登場しているのかは抑えているが、実際に全てちゃんと触ってはいないという方も多いのではないでしょうか。 SSRをするためにはreact-railsやhypernovaがある、ということを知っているだけでは、
Jul 16, 2018 09:49 · 158 words · 1 minute read rails いまだとどうするのが良いんだろうね、と思い調べたのメモ。サーバはPumaを使う前提で、2018/07時点での話。 証明書準備 昔はこれが色々手間だったのだが、今はmkcertという大変便利なツールがあり、これを使えばすぐ終わった。 READMEに書いてあるとおりにインストールすれば、Linux / Macについては直ぐ準備出来ると思う。因みにWindowsは「Windows will be supported next.」とのこと(2018/07時点)。 で、このツールを使い、localhost用のcertificateとkeyファイルを生成する。 $ mkcert -install Using the local CA at "/home/yaginuma/.local/share/
前記事: Railsは2018年も現役か?: 前編(翻訳) 次記事: Railsは2018年も現役か?: 後編(翻訳) 言語 それでは、初めに述べた言語たちを分析することにしましょう。 Rubyはオブジェクト指向プログラミング言語として優れています。(私見では)Rubyは優れたOOPエクスペリエンスと開発者の幸せを主要な目標に置いています。しかしコードの実行速度は主要な目標ではありません。 訳注: ご存知のとおり、現在のRubyは「Ruby 3x3」の旗のもとでコードの実行速度改善の優先順位を以前よりも上げています。 Ruby on Railsは、Ruby言語上で構築されたWebフレームワークであり、生産性と開発者の幸せを主要な目標に置いています。コードの実行速度や、癒着のないOOPエクスペリエンスはRailsの主要な目標ではありません。ソケット接続はまあまあですが、優秀というほどでもあり
はじめに この記事はDockerその2アドベントカレンダーの14日目です。 DockerでRails開発環境を作るに当たってしたことについて書きます。 普通のRails環境構築については他に記事がいっぱいあるのでそちらを見てください。 なお、現在RailsでAPIサーバを書いているのでフロントエンドでのみ必要になることについては触れません。 また、今回の記事を書くにあたってリポジトリをgithubで公開しています。 https://github.com/yuemori/docker-adventcalendar-example アジェンダ Dockerfileとdocker-composeを環境毎に分ける data volume containerを使ってデータをキャッシュする entrykit, dockerizeでDBの起動待ちをする ラッパースクリプトを書く springを使えるよう
今回は、qnyp GraphQL APIを設計・実装する過程で役立ったものや参考になった情報を実際のコードを交えて紹介しようと思います(qnypはアニメの感想を記録するサービスです)。API設計の詳細や具体的な実装手順までは踏み込みません。 API実装はRailsアプリ内で行っていますので、紹介するライブラリなどは主にRuby向けのものとなります。 GraphQLの概要をつかむ The Anatomy of a GraphQL Query このエントリは、GraphQLを使う際に知っておく必要のあるOperationやVariables、Fragments、Directiveといった概念を手っ取り早く俯瞰する際に役立ちました。 GraphQL APIの実装を進めていくと、最終的には graphql.org にある Introduction to GraphQL を隅々まで読むことになるとは
Docker Composeを使ってRailsのプロジェクトの開発環境、ステージング環境を構築します。 🗻 Railsプロジェクトの構築まずはローカルにRailsのプロジェクトを構築します。 # Dockerfile FROM ruby:2.4.1 # Gemのドキュメンテーションをしない RUN mkdir -p /usr/local/etc \ && { \ echo 'install: --no-document'; \ echo 'update: --no-document'; \ } >> /usr/local/etc/gemrc # ライブラリの追加 RUN apt-get update && \ apt-get install -y --no-install-recommends \ postgresql-client \ nodejs \ && \ rm -rf /var
tl;dr タイトルの「私」は関係ありません。語感だけです。 主にDockerを用いた開発環境の話。 Docker使って開発するとメリットも大きいけど、ハマりどころもあるし、デメリットもある。 目的を見極めて適切に使いましょう。 who am i github/bananaumai twitter/banana_umai Working at Livesense, inc as SRE 背景 - 運用状況 転職会議で部分的に本番導入中(順次移行中)。 Amazon ECSを利用中。 サービス開発に関わる、チームの規模が大きくなってきて、それとあわせて、サービスもマイクロに分割し始めていた。 背景 - 開発現場の課題感とDocker化 以下、自分の所属する開発チームでの課題感とそれに対してのDocker化によって(想定している)メリット感です。 課題感 サービスはAWS EC2上で構築してい
1.3.1. 課題: 受注登録画面の実装¶ 1対多の関連を持つオブジェクトの編集画面について、 販売管理システムの受注登録画面を例に考えてみます。 受注登録画面では、受注に関する基本情報(受注名称と取引先)と明細情報を登録可能です。 画面のイメージは下図の通りです。 明細を追加ボタンを押すことで、受注明細をいくつでも追加可能です。 不要な明細は削除ボタンを押すことで削除可能です。 システムはorders(注文)テーブルと、order_details(注文明細)テーブルを持ち、 注文と注文明細は1対多の関連を持ちます。 また、corporations(法人)テーブルとproducts(商品)テーブルも今回の販管システムでは持っています。 corporationsは注文と関連を持ち、productsは注文明細と関連を持ちます。 DB設計は以下の通りです。 # == Schema Informa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く