きゃまなかのブログ

新卒6年目の WEB エンジニアです。 Ruby on Rails の TIPS を中心にブログ書いてます。 去年まで運用・保守のエンジニアだったので、サーバサイドの記事もたまに書きます。 よろしくお願いします。

【Ruby on Rails】POST リクエストにリトライ処理を入れる

概要 はじめに 対応方針 サンプルコード まとめ 概要 HTTP リクエストは必ずしも成功するものではありません。 リクエストを受け取るサーバ側の問題だったり、ネットワークの問題だったりで稀に失敗する事があります。 そう言った場合にリトライ処理(再送処…

【Ruby on Rails】rubocop と pre-commit を利用して git commit 時にコーディングチェックを行う

概要 rubocop とは 使い方 注意点 pre-commit とは 使い方 設定を解除したい場合 まとめ 概要 Rails アプリケーションに rubocop と pre-commit という gem をインストールして、git commit 時にコーディングチェックを行うようにします。 もし、コーディン…

【Ruby on Rails】オートコンプリート機能付き検索フォームを実装する

概要 gem の紹介 対応手順 1. Gemfile の修正 2. application.js の修正 3. Controller の修正 full オプション 4. ルーティングの設定 5. View の修正 6. form の実装 7. 検索機能の実装 まとめ 概要 Ruby on Rails でオートコンプリート機能付きの検索フォ…

【Ruby on Rails】Mysql2::Error: Data too long for column 'xxxxx' at row 1:

概要 エラー文言 原因 解決策 何のデータ型にすれば良いのか? 日本語文字って何バイトか? 例外処理を入れる まとめ 概要 自分が担当しているシステムでユーザーからデータの保存ができないとお問い合わせを受けたことがあります。 システムが高負荷になっ…

【Apache】502 Bad Gateway proxy: error reading status line from remote server

概要 エラー文言 原因 解決策 パフォーマンス確認 概要 内部ネットワークからインターネットへのアクセスをプロキシしているサーバで稀に 502 Bad Gateway のエラーを返していることがありました。 リクエスト元のサーバではリトライ処理を入れていたので問…

【Apache】http 通信を https 通信に変換してプロキシする

概要 必要なパッケージ 対応方法 余談 概要 内部ネットワークのサーバがインターネット上のサーバにアクセスする場合、セキュリティ上の理由でプロキシサーバを経由してアクセスする場合が多いと思います。 参考:プロキシサーバーを使うと、なぜセキュリテ…

【備忘録】HBase とは?HBase の構成とデータ構造について!

概要 HBase とは? 構成 Master サーバ Region サーバ データ構造 まとめ 概要 新しく HBase を扱うサーバの担当になりました。 IT 業界ではデータ利活用の分野が活発になっており、ビッグデータを安全かつ高速に扱える HBase のようなプラットフォームは今…

【Ruby on Rails】whenever を使って定期的にバッチ処理を行う

概要 導入方法 gem インストール 設定ファイル生成 定期的に実行したい処理を記載 設定の反映・削除など 設定の確認 設定の反映 設定の削除 まとめ 概要 Ruby on Rails で定期的にバッチ処理を実行する方法をまとめます。 定期的に処理を実行したい場合、ク…

【Linux】xargs コマンドの使い方がよく分からない

概要 xargs とは よく見る利用法 高速に並列処理できる exec オプションを使った場合 xargs コマンドを使った場合 Argument list too long の制限を受けない ドライランオプション 引数の場所を指定する 便利なワンライナー 最後に 概要 結構複雑な処理をサ…

【Linux】コマンドの標準出力を色付けして運用を楽しくする

概要 導入方法 拡張パッケージ exa colordiff grc ccze source-highlight 標準コマンドのエイリアスを設定 最後に 概要 単色の標準出力だと見づらいですし、運用していて楽しくないので、コマンドの標準出力を色付けしてくれる拡張パッケージをまとめました…

【Apache】graceful 再起動でホットデプロイを行う

概要 はじめに LAMP 環境とは? ホットデプロイとは? ホットデプロイ導入 graceful で再起動 コマンド 注意点 まとめ 概要 自分のお仕事は運用メインなので、リリース作業を行う機会が多いです。 正直、数年間同じ仕事をしているので、リリース作業は慣れま…

【Ruby on Rails】ログ出力とログローテートの設定まとめ【Logger】

概要 ログの設定 ログレベルの変更 ログファイルの変更 ログフォーマットの変更 ログ出力 ログローテート 日付でログローテート ファイルサイズでログローテート その他 まとめ 概要 Rails では ActiveSupport::Logger クラスを利用してログ出力ができます。…

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

概要 紹介する前に コピペして使っているメソッド 使い方 動作確認 おまけ ページが存在しません 最後に 概要 Ruby on Rails 5 からは API モードが導入され、API 専用のアプリケーションを簡単に作成できるようになりました。 railsguides.jp Ruby on Rails…

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

概要 RAID とは RAID の種類 RAID 0(ストライピング)とは RAID 1(ミラーリング)とは RAID 5(分散パリティ)とは RAID 0+1 とは RAID 1+0 とは おまけ RAID 0+1 と RAID 1+0 の比較 最後に 概要 最近、仮想サーバばかり扱っていて、実機サーバを自分で購…

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

概要 Chef サーバを構築 1.『Go to OpsWorks for Chef Automate』を使ってみる 2.『Create Chef Automate server』で Chef サーバを作成 3. 設定の入力 4. Chef サーバの起動 5. Chef サーバにログイン デベロッパーキットのインストール ノード追加 最後に …