awsのEC2でswap領域を指定する際のベストプラクティス
awsのEC2では、一部のインスタンスタイプを除いてswap領域が付いていません。 swap領域を設定する方法としては、swap領域用のイメージをファイルで作成してswaponする方法があります。 今回紹介する方法は、awsナイズした方法で、ボリュームを作成してswapとしてマウントさせる方法になります。 通常はストレージとしてのボリュームはボリュームタイプを標準のgp2に設定されていると思うので、それよりも早いプロビジョンドIOPS SSDというボリュームタイプでswapを作成します。 そうす ...
OpenAMをDockerで立ち上げる(俺俺認証編)
SSOやSAMLといった、主に大、中企業向けのID連携の話になります。
DockerでReact on Ruby on Railsをするための最適なDocker Image構築ガイド【2026年版】
Rails バックエンドと React フロントエンドを同一プロジェクトで扱う場合、Ruby と Node.js の両方が入った Docker Image が必要です。公式イメージをベースに片方だけ追加インストールする方法では、ビルド時間が長くなり、イメージサイズも膨らむという問題があります。 このガイドでは、2026年現在の最新バージョン(Rails 7/8・React 18・Ruby 3.3・Node 20)に対応した最適な Docker Image を構築する方法を、マルチステージビルドを ...
Redis Desktop Manager(rdm)をソースからビルドしよう(mac版)
ちょっと前、Redis Desktop Manager(rdm)はオープンソースで、バイナリも無料で配布されていました。 今は、有料プランになってしまいました。 Contributorプランがあるのは面白いですね。 プルリクエストを送って、マージされたら1年間使えるということのようです。 課金しても良いんですが エンジニア、せっかくなのでコントリビュートすることを目指して まずはビルドできる環境を作ってみましょう。 まずは公式のBuild from sourceを参照します。 手順が実に短いです ...
Docker容量削減の完全ガイド【system prune・イメージ削除・ボリューム掃除】
Dockerを使い続けると、気づかないうちにディスク容量が逼迫していく。「MacBookのSSDがいっぱいになってきた」「docker system dfを見たら20GB以上も消費している」という経験をしたことがあるエンジニアは多いはずだ。 このガイドでは、Dockerによるディスク圧迫を安全に・確実に解消するための手順を体系的に解説する。闇雲にdocker system pruneを実行して必要なコンテナを消してしまった失敗談も含めながら、段階的なアプローチを紹介する。 筆者自身、以前は28イ ...
ssh でkeepaliveを設定するには
~/.ssh/config というファイルを作成して ServerAliveInterval 10 ServerAliveCountMax 12 という2行を追加する
es6でランダムに文字列を生成するロジックを考えてみる
es6では、Array.fromで、配列の数分ループを回せるので 回したい回数分の配列を作成して、Array.fromに渡します。 コールバックでは使用する文字列からランダムに 一文字を抽出する処理をループさせ、 出来上がった配列をjoinすれば ランダムな文字列が完成します。 let digit = 12; // 生成したい文字数 let alArray = ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’; // ...
Ruby on Rails 5.1 用のDockerのベースイメージを作った
Ruby on Rails 5.1からは、Rubyだけではなく、webpackerとか使う場合にはnpm環境も必要となる。 毎回自前でDockerfileでnpm環境をインストールするのも時間がかかるので、その辺をひとまとめにしたDockerイメージを作りました。 使い方は Rails5.1のプロジェクトに Dockerfileを以下のように作成 # 本体 # # VERSION 0.0.1 FROM gendosu/ruby-for-rails-51:2.3 MAINTAINER Gen Ta ...
herokuのコマンドラインツールをdockerイメージにした
herokuのコマンドラインツールをDockerイメージにしてみました。 理由は、色々なherokuのアカウント(プライベートだったり仕事用だったり)を切り替えるのがめんどくさいので、各環境ごとにDockerのコンテナ内にログイン情報を持たせようと思ってやってみました。 hub.docker.comにアップしてあるので docker run --rm -v `pwd`:/app gendosu/heroku-cli heroku apps でという感じで実行出来る。
「技術を持っている」と言う事と「技術を使っている」と言う事の違い
エンジニアの世界では よく、○○の技術を持っている、経験しているから大丈夫だろう、と言う想定の上で採用活動をする。 だけど、技術を持っている、と言うのは、現在進行形ではない場合もあり、その場合は作業者としては使えるけど、開発チームのリーディングには向かない可能性が高い。 何を言いたいかと言うと、技術の鮮度の問題で 例えば、Rubyであれば、Rubyの最新バージョンが現在2.4で、Railsが5です、と言う時にRuby経験あり。Ruby1.8、Rails2やってました。といった人が来てもある程度は ...
野良猫と飼い猫(エンジニアの話)
エンジニアの世界での野良猫と飼い猫の話 どちらが幸せなのか?と言うのは人によってそれぞれだとは思うのだけど、 と言う断り書きをしつつ、ちょっとエンジニアを猫という生き物にたとえてみる。 野良猫(フリーランス・ベンチャー・起業・独立系) エンジニアの世界だと野良猫はフリーランスや、ベンチャーに勤める、いわゆる大企業ではないところで働くエンジニアだと思っている。 ポイントは 自由(リモートOK) 挑戦が出来る(言語選定・技術選定etc) うまく立ち回ればすごく贅沢が出来る 当然、リスクは多い 車に轢 ...
gooseをdockerイメージにした話
gooseというgoで書かれたDBマイグレーションツールがあり、これだけを含んだDockerイメージを作った。 hub.docker.comにアップしてあるので run --rm -v `pwd`:/go gendosu/goose goose create example でという感じで実行出来る。
heroku にデプロイした環境をLet’s EncryptでSSL化して、自動更新までしたいの
Overview herokuにデプロイしたサービスをSSL化するのに、Let’s Encryptを使いたいけど なかなか面倒に感じてしまうところがあると思います。 そこで、herokuにデプロイするアプリにはLet’s Encryptのチャレンジレスポンス用のエンドポイントだけを作り そのエンドポイントに環境変数でキーを渡すようにすれば、ある程度外部から自動化出来るのではないかと思い試してみました。 環境はRuby on Railsです。 今回使うツール certbot certbot-her ...
これで解決!Docker for macのディスク容量を小さくしよう(ベータ)
先日、Docker for macでDocker.qcow2というファイルが肥大化する件というのを書かせていただきましたが、こちらの件、Docker for macの最新版ベータにて、ある程度自動で解消されるような処理がマージされたようです。 New Data Management commands #26108 Docker for mac のベータチャンネルにも降ってきましたので、試してみました。 今回ベータチャンネルで降ってきた内容は多いのですが、その中でReclaim disk size ...
docker-compose.yml の書き方完全ガイド【MySQL・Redis・Nginx設定サンプル付き】
docker-compose.yml の書き方を実例サンプル付きで解説。MySQL・Redis・Nginx を組み合わせた本番環境レベルの構成、環境変数・ボリューム設定のベストプラクティスまでコピペで使えるコードで徹底解説。
Docker for macで仮想ディスクの保存場所が変えられるようになる
Docker for macのベータ版でですが、Docker for macのVMの仮想ディスクの場所を変えられるようになるようです。
Docker for Mac の Docker.qcow2 が肥大化する原因と対処法【ディスク容量解放】
Docker for Mac を使い続けるとディスク容量が減り続ける原因と対処法を解説。Docker.qcow2 という仮想ディスクファイルが肥大化するメカニズムと、docker system prune や Reclaim Disk Space を使ったディスク容量の解放手順を詳しく説明します。
我が家最後の砦、VAIO Z の Windows10 アップグレード
VAIO Zの5年くらい前?機種は DYNAMIC HYBRID GRAPHICS SYSTEM という仕組みで、バッテリーを長持ちにさせる代わりにグラフィックをIntelのチップセットのもを使うようにしたり、ハイパフォーマンスにしてNVIDIAを使うようにしたり、という設定がスイッチで付います。 ※Windows 10にアップした後に撮ったので、LEDが点灯してないですが、本当はスイッチの向いてる方向のLEDが点灯します。 これのおかげでモバイル用途もOKでゲームも楽しめるという贅沢な機種でし ...
ssh2のキーが見たことないフォーマットだった時の対処の仕方
ある日、委託の方にサーバへのアクセス権を付与するためにSSHのキーをくださいと言ったら 以下のようなフォーマットで送られてきた。 ---- BEGIN SSH2 PUBLIC KEY ---- Comment: aaa keykeykye ---- END SSH2 PUBLIC KEY ---- SECSH形式?という解らない形式のものらしい。 と思ってよくよく調べたら 本来のSSHキーはこのような形式のようだ。 (本当か??) 今までOpenSSHに慣れすぎて来たという事なのかな。 というの ...
git clone ブランチ指定の完全ガイド【-b・–depth・shallow clone 2026年版】
git clone でブランチを指定するには -b オプションを使います。git clone -b ブランチ名 URL の基本から、--depth 1 で高速クローンする方法、タグ・コミット指定まで実例付きで徹底解説します。
