きゃまなかのブログ

新卒5年目のWEBエンジニアです。仕事は運用メインで、空いた時間に開発しています。何故かブログを始めた次の日に会社の先輩に見つかりました。変な記事書くとダメ出し食らうので、いい記事書けるように頑張ります。

【Ruby on Rails】API のレスポンスを生成するメソッドを紹介

概要 Ruby on Rails 5 からは API モードが導入され、API 専用のアプリケーションを簡単に作成できるようになりました。 railsguides.jp Ruby on Rails では CRUD と呼ばれる HTTP メソッドを利用して、RESTful なアプリケーション(API)を作成できるように…

【備忘録】RAID とは? RAID の種類と仕組みまとめ

概要 最近、仮想サーバばかり扱っていて、実機サーバを自分で購入する機会が無かったので、RAID の種類と仕組みを忘れてしまいました。 忘れないように RAID について調べたことを簡単にまとめました。 RAID とは 複数の HDD を組み合わせて、1 つの論理的な…

【AWS】OpsWorks を使って Chef サーバの構築とノード追加まで

概要 Chef サーバを構築してサーバの構成管理を行いたいと思っています。 AWS には OpsWorks と言うサービスがあって、簡単に Chef サーバを構築できるようです。 OpsWorks を使って Chef サーバを構築して、ノード追加を行う工程までをまとめました。 参考…

【画像解析 API を使ってみる】食べ物の画像は解析できるのか?

概要 最近、食べ物の写真を撮って SNS にシェアする人が増えています。 自分も SNS に食べ物の写真をアップロードした経験があります。 ラーメン屋に行くと、サラリーマンのおっちゃんまで写真を撮っている時代です。( ˙灬˙ ) そんな時代背景もあってか、友…

【Ruby on Rails】重複しているレコードを取得する【MySQL】

概要 Ruby on Rails で DB から重複しているレコードを取得したい時がありました。 MySQL で重複しているレコードを取得する方法は分かるのですが、Ruby on Rails で同じ処理を書く場合、どうしたら良いのか分からなかったので調べて見ました。 MySQL で書く…

【Ruby on Rails】画像は public と app/assets/images のどちらに設置すべき?

概要 Rails ではアプリケーション内で使用される画像の設置場所に、現在 2つの場所が存在します 。 public ディレクトリ app/assets/images ディレクトリ どちらに設置しても画像の読み込みに困りませんが、設置場所によってどんな違いがあるのか、今回調べ…

【AWS】サーバ間でファイルのリアルタイム同期を行う【rsync + xinetd + lsyncd】

概要 サーバ間でファイルのリアルタイム同期を行った時の方法をまとめました。 サーバ環境は Amazon Linux を利用しました。 リアルタイム同期を行うためには rsync, xinetd, lsynd の調査が必要でした。 はじめに rsync とは? リモート・ローカルに関わら…

【Ruby on Rails】deleted_at を使って論理削除をしよう

概要 Rails には DB のカラム名に『created_at』『updated_at』と言う、設定しておくだけで、作成日時と更新日時を自動記録してくれる、お決まりの便利な機能が用意されています。 このカラムのデータはアプリケーション内で利用するデータと言うよりも、DB …

SSL 証明書をどうやって管理する?

概要 SSL 証明書を購入した時の話です。 購入した SSL 証明書をどうやって管理しようか悩んだことがあります。 開発に関するものは全て GitHub で一元管理しているので、SSL 証明書も GitHub に置きたいと思っていました。 SSL 証明書はインスタンスを作り直…

【Ruby on Rails】require と permit の使い方がよく分からない

概要 Rails 4 からストロングパラメータと言う新機能が導入されました。 具体的には require と permit と言うメソッドのことです。 Scaffold で Controller を作成する際にデフォルトで適用されるのですが、使い方がよく分からず、いつも削除していました。…

【AWS】.ssh/config を利用して、ログイン時のコマンドを省略する

概要 インスタンスに毎回ログインする際、ユーザ名と鍵 PATH を記載するのが面倒くさいので、設定ファイル (.ssh/config) にログインに必要な情報を記載して、ログイン時のコマンドを省略しようと思います。 .ssh/config とは SSH を利用してインスタンスへ…

【Ruby on Rails】ルーティング member と collection の違い

概要 Rails には index, show, new, edit, create, update, destroy の 7 つのデフォルトアクションが用意されています。 もし、これ以外のアクションを新しく追加したい場合、ルーティングに設定を追記する必要があります。 この場合、routes.rb をどう書く…

【Ruby on Rails】ルーティング scope と namespace の違い

概要 Rails で API を作成するときに、URL 設計を気にすると思います。 例えは、ユーザ情報を操作する users API のエンドポイントを下記のようなパスで作成したいとします。 http://$(DNS)/api/v1/users この場合、routes.rb をどう書くのか調べたところル…

【AWS】Ruby on Rails + Nginx + Unicorn + MySQL 環境構築

概要 AWS に初めて Rails のアプリを作成した時の手順をまとめました。 はじめに こちらの環境でアプリケーションを作成しました。 サーバOS Amazon Linux Web サーバ Nginx Rack サーバ Unicorn データベース MySQL フレームワーク Rails 5.0.X プログラミ…

【Ruby on Rails】緯度経度から 2 点間の距離を算出する

概要 今日では、企業が公開している API を利用して、簡単にアプリケーションを作成できるようになりました。 その中には、店舗情報を扱う API も数多く存在しています。 店舗情報を扱う API の多くは、店舗の位置情報を表すため、緯度経度を利用しています…