RoadMovie

write down memos or something I found about tech things

Rails

【最終章】 リファクタリングを通してチームを強化していく

※ この記事は「Railsのリファクタリングに立ち向かうための教科書」シリーズの最終章になります(5/5) 【序章】 問題はどうして起こるのか ~ 方針とアーキテクチャについて 【第1章】 ModelとServiceを紐解く 【第2章】 ApplicationServiceの導入 【第3章】…

【第3章】 外部サービスとの連携 - マイクロサービスを見越した実装

※ この記事は「Railsのリファクタリングに立ち向かうための教科書」シリーズの第3章になります(4/5) 【序章】 問題はどうして起こるのか ~ 方針とアーキテクチャについて 【第1章】 ModelとServiceを紐解く 【第2章】 ApplicationServiceの導入 ★【第3章】…

Railsのリファクタリングに立ち向かうための教科書

今回は、Railsのリファクタリング手法を紹介しようと思います。これまで私自身数仕事として数多くのリファクタリングを手伝わせていただいてきましたが、基本的に方針としては毎回ほとんど同じことを実践しています。ですので一度、どう進めればよいのかとい…

【第2章】 ApplicationServiceの導入

※ この記事は「Railsのリファクタリングに立ち向かうための教科書」シリーズの第2章になります(3/5) 【序章】 問題はどうして起こるのか ~ 方針とアーキテクチャについて 【第1章】 ModelとServiceを紐解く ★【第2章】 ApplicationServiceの導入 【第3章】…

【第1章】 ModelとServiceを紐解く

※ この記事は「Railsのリファクタリングに立ち向かうための教科書」シリーズの第1章になります(2/5) 【序章】 問題はどうして起こるのか ~ 方針とアーキテクチャについて ★【第1章】 ModelとServiceを紐解く 【第2章】 ApplicationServiceの導入 【第3章】…

【序章】Railsのリファクタリングに立ち向かうための教科書

※ この記事は「Railsのリファクタリングに立ち向かうための教科書」シリーズの序章になります(1/5) ★【序章】 問題はどうして起こるのか ~ 方針とアーキテクチャについて 【第1章】 ModelとServiceを紐解く 【第2章】 ApplicationServiceの導入 【第3章】 …

bundle installでmysql2(5.7)のインストールに失敗する問題

mac OS MojaveでRails開発中に gem install mysql2 がなかなか成功しなかったのでメモ。 Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load ... ld: library not found for -lssl みたいなログが出てま…

ReactNativeでプッシュ通知を実装する方法

ReactNativeでのプッシュ通知の実装方法を紹介しています。AWS SNSを使って実装しており、いくつかサンプルコードも載せています。

中規模Railsアプリのアーキテクチャ設計

Railsでアプリを作っていますか?設計に問題を抱えている、あるいは悩んでいませんか?もしそうであればこの記事が役に立つかもしれません。 アプリケーションが大きくなっていくに連れて、コードがカオスになってきたり、どこで何が起こっているのか追いに…

Supervisor経由でunicornを立ち上げている環境にCapistrano3で自動デプロイ

前回の続きです。前回はCapistrano3の導入について書きました。 【入門】Capistrano3で自動デプロイ ★★★ 私の環境ではsupervisor経由でunicornを監視しているのですが、supervisorをリスタートしてしまうとhot deploy出来ない問題がありました。 そちらに関…

【入門】Capistrano3で自動デプロイ

※この記事はcapistrano3についてです。capistrano2.x系には対応していません。 ちょこちょこ新規開発しているのですが、毎回リモートサーバーにsshで入って pullして手順見ながらbundleなんちゃらして・・・。 みたいなのが非常にめんどくさいので、capistra…

Railsの404,500エラーページをカスタマイズ

Railsはエラーページをもともと用意してくれていて本番で動かすと そこに飛ばしてくれるので、まぁいいっちゃいいのですが、 簡単に設定できるのでやってしまえばいいかと。 (レイアウトとかそのまま使えてサイト内ページっぽくなるし) ■環境 Rails 4.0.3 …

Rubyでxls(Excelファイル)を簡単にパースする方法

すごく簡単でドキュメント通りな内容なのですが、非常に便利だったのでメモ。 その名もSpreadsheetというgemを使います。 https://github.com/zdavatz/spreadsheet/blob/master/GUIDE.md # Gemfile gem 'spreadsheet' # vim hoge.rb Spreadsheet.client_enco…

メタプログラミングRubyメモ

Object#extend module MyModule def my_method; 'hello'; end end を使いたいときに class MyClass class << self include MyModule …. end end ↓ class MyClass extend MyModule …. end これでもMyClassの特異メソッドとしてmy_methodを呼べる。 ( MyClass.…

RSpecでsessionを使用したテスト(ログイン機能)

内容としてはajaxのテストを書こうとして、それにはsessionが必要というような場合です。(渡しの場合、ログインしていないとajax通信ができないという仕様でした。) ここけっこう困って、前回こういったsessionを使うテストを実装した際にはgrapeというRai…

Ruby(Rails)からExcelで文字化けしないCSVファイル作成

CSVファイル作成でハマったのでメモ。 今回作ろう思っていたのはリンクになっているボタンを押したらCSVファイルがダウンロードされるという単純なものです。 HTML載せようと思いましたがはてブ内での書き方わからないので省略、、 バージョンはRuby2.0, Rai…

【CentOS6.4】はじめの環境構築 ... plenv, rbenv, tmux, oh-my-zsh

サーバーをいちからやり直さなければならない機会があったのでメモ。 いつもやってる自分の設定をとりあえず入れようかなという感じです。 まず最低限必要な物をyumで入れちゃう。 # yum install -y gcc make wget git zsh openssl-devel # useradd homepage…

【rails3】DBでは改行できているのにテンプレート(view)でうまく表示されない際の解決法

フォームで改行ありの文章を入力→DBでselect文投げて確認→改行できてる! となっているのに、テンプレートで呼び出してみると半角空白になっていたりする場合の解決法。 まず一番重要なのは使っているRailsのバージョン。 Rails2であれば「rails 改行 表示」…

Rails3 + deviseのメール設定

認証機能(サインアップ、ログイン、ログアウトetc)が簡単に実装できるので deviseはよく使うのですが、その時に少しハマったのでメモ。 以下、development環境での設定 /config/environments/development.rb デフォルトではfalseになっているが、 trueにす…

Railsで定数管理

ちょっといま作っているサービスでコンテンツをカテゴリ分けしているのですが、カテゴリがまだ不確定なので、こういうの直にコードに書くよりもyamlファイルとかで定数管理しておいたほうがいいよなーってことで探しました。 settingslogicというのが使えそ…