Passion make things more better

Ruby on Rails / React.js / Swift / AWS / Docker

Ruby on Rails

RailsをAWS Fargateにデプロイする (AWS CLI / ECS CLIを使用)

AWS CLIとECS CLIを用いてRailsをFargateにデプロイする方法について書きます。 イメージのビルドや自動デプロイの仕組みはまた別で書こうと思っています。今回は、MacOSで実行することを想定しています。 目次 CLIツールのインストール IAMアカウントおよび…

RailsのAssets構成(css / javascript)について

Railsでプロジェクトを作る際のassets周り(css / javascript)の構成等についてまとめました。 ※yarnを使ったパターンは、別途まとめたいと思います。 Boostrapの導入 bootstrap-sassというgemを利用します。Gemfileに以下を記述し、bundle installを行ってく…

RailsでActiveModel::Serializerを使ってAPIを作成する

RailsでAPIを作る時の手法として、 ActiveModel::Serializerを使ったものを紹介する。 インストール Gemfileに以下を記述し、bundle installを実行する。 gem 'active_model_serializers' Serializer用ファイルの作成 以下のコマンドにてSerialize用のファイ…

Ruby(rbenv), MySQL, Ruby on Railsの環境構築 - MacOS

Macでゼロから環境構築をするための手順です。以下のことをやっていきます。 xcodeのインストール Homebrewのインストール MySQLのインストール rbenvによるRubyのインストール Ruby on Railsのインストール Ruby on Railsのプロジェクト作成 Hello World!!!…

ridgepole task

Railsなどでridgepoleを採用した時に使うridgepole用のtaskです。以下をridgepole.rakeとして保存すれば使えます。 namespace :ridgepole do desc 'Apply database schema' task apply: :environment do ridgepole('--apply', "--file #{schema_file}") Rake…

RailsでRoutesを分割する

config/routes.rb class ActionDispatch::Routing::Mapper def draw(routes_name) instance_eval(File.read(Rails.root.join("config/routes/#{routes_name}.rb"))) end end Rails.application.routes.draw do root to: 'pages#home' draw :common draw :adm…

sorceryを使ってEmail + Passwordログインを実装

Sorceyを用いたログイン機能実装を解説します。 Railsのログイン機能でよく知らているdeviseよりも機能が少なく、簡単に扱えるのでこちらを採用しております。 実装の詳細に関してはSorceryのGitHubのリポジトリのwikiに書かれています。 今回の実装はwikiの…

sorceryでFacebookログインを実装する

個人的に最近deviceではなくsorceryを使うことが多くなりました。deviceと比較してsorceryの良い点として、必要な機能だけを使えるという所です。 今回はsorceryを使ってFacebookログインを実装する方法を紹介します。 初期設定 # Gemfile gem 'sorcery' # b…

Sidekiqの導入

前提 redisが必要です 初期設定 やることは以下の2つ。 Gemfileの編集 設定ファイルの作成 Gemfile Gemfileにsidekiqを記述 & bundle install。 # Gemfile gem 'sidekiq' gem 'redis-namespace' ~ bundle install --path vendor/bundle 設定ファイルの作成 c…

Railsでseedデータを分割して実行できるようにする

個人的にRailsのseed運用は以外と悩みがちです。seed-fu使ったりと色々やりましたが、これから説明する方法に落ち着きました。 ファイルを指定してseedを実行できるようにrake taskを作成する db/seeds以下のディレクトリを作成し、以下にxxxx.rbといった実…

carrierwaveの設定ファイル

carrierwaveを使う時にいつも設定ファイルを調べているので、備忘録としてよく使うベースの物を。 ファイル名をuniqueにしたい original及びthumbのversionで、リサイズを行う resize_to_fitとresize_to_limitどちらもありますが、今回はresize_to_fitを使用…

Rails runnerを使ってスクリプトを実行する

Railsを使っている時に、普通の処理とは別だけどもRailsの機能も使いつつ単独のスクリプト実行したい(バッチ処理とか、アプデに伴う諸々のデータの更新など)、と思ったことがある人は多いのではないでしょうか?そんな時に役立つのがRails runnerです。 はじ…