{"posts":[{"title":"Vagrant + Chef ⇒ LAMP環境構築","text":"目的Vagrant と Chef を利用して LAMP 環境をローカルの仮想環境で実現する 経緯同一サーバ上で作業している場合にMySQL のバージョンアップしてパフォーマンステストしたりしたいなぁ、","link":"/2014/05/29/2014-05-30-vagrant-chef/"},{"title":"「購入しようとしたアイテムが見つかりませんでした」 GooglePlay","text":"概要2014.05.30時点でリリース前のドラフト版での課金テストができない仕様になりました。 その為、今までのようにテスト課金しようとすると「購入しようとしたアイテムが見つかりませんでした」と表示さ","link":"/2014/06/15/2014-06-16-googleplay/"},{"title":"Mac OS X に wget インストール","text":"ターミナルから以下実行 curlコマンドで圧縮されたwgetモジュール（wget-x.x.x.tar.gz）をダウンロードする。curl -Oオプション 出力をオリジナルのシステムと同名のファイルに保","link":"/2014/06/17/2014-06-18-install-wget-on-macosx/"},{"title":"Mac OS X に SonarQube 導入 - UnityのC#コーディング規約チェック","text":"[f:id:kenzo0107:20140620233131p:plain] 環境 Mac OS X 10.9.3 (Marvericks) SonarQube 4.3.1 SonarRunner 2","link":"/2014/06/21/2014-06-22-sonarqube-maxosx/"},{"title":"Ansible でサーバ環境構築","text":"目的Ansible でLAMP環境を構築する 経緯Chefでサーバ環境構築していましたが、設定ファイルが多い印象を持っていた為、より敷居が低いという噂のAnsibleでの構築を考えました。 覚える為に","link":"/2014/09/11/2014-09-12-make-lamp-by-ansible/"},{"title":"さくらVPS CentOS6.5にRedisを導入しphpで動かすまで","text":"Redis - ( レディス ) Remote Dictionary ServerKey Value Storeを構築できるツール 環境 さくらVPS CentOS6.5 Final Redis 2.","link":"/2014/09/11/2014-09-12-php-redis-on-centos6.5-sakura-vps/"},{"title":"Python エラー対処：error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory","text":"概要以下コマンドでpythonのバージョン確認しようとしたら掲題のエラーが発生。トラブルシューティングします。 手順 エラーが消えました。 以上","link":"/2015/02/16/2015-02-17-python-error-about-loading-shared-libraries-libpython2.7.so.md/"},{"title":"Python エラー対処： PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp &gt;&#x3D; 5 to avoid timing attack vulnerability.   _warn(&quot;Not using mpz_powm_sec.  You should rebuild using libgmp &gt;&#x3D; 5 to avoid timing attack vulnerability.&quot;, PowmInsec","text":"概要pysftp利用としたらgmp5以上にしてくれと怒られている。 pysftpを利用するのに必要なparamiko、そのparamikoに必要なpycryptoがエラー出力している。 ToDogmp","link":"/2015/02/16/2015-02-17-python-error-about-powmlnsecurewarning/"},{"title":"CentOS で Python バージョンアップ","text":"経緯pysftp を利用したかったが元々インストール済みの 2.4 系が古く、動作しなかったため、動作可能なバージョンを 2.7 系にアップする 環境CentOS5.8(Final) インストールする","link":"/2015/02/16/2015-02-17-versionup-python-on-centos/"},{"title":"MAMPにMemcacheをインストールしphpで動かすまで","text":"概要ローカル開発環境にMemcacheをインストールしたい。 環境MacOSX Yosemite 10.10.1MAMP3.0.7.3 注意インストールするのはMemcacheです。Memcached","link":"/2015/02/19/2015-02-20-mamp-with-memcache/"},{"title":"CentOSに phpMyAdminインストール利用するまで","text":"概要CentOSにphpMyAdminを設定 環境 CentOS release 5.11 (Final) PHP 5.3.6 MySQL 5.5.41 phpMyAdmin 5.3.6 手順","link":"/2015/02/23/2015-02-24-install-phpadmin-centos/"},{"title":"MacOSXにHomebrewをインストールする","text":"1ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\" 以下MacOSXの","link":"/2015/02/27/2015-02-28-install-homebrew-on-macosx/"},{"title":"DUNSナンバー確認手順","text":"概要thawteにて「SGC Super Certs」の申請する際DUNSナンバーが必要となる為クライアント様がDUNS(ダンズ)ナンバーを所持されているか確認する必要がありました。 http://w","link":"/2015/02/27/2015-02-28-show-duns-number/"},{"title":"SVN から Git へ過去コミットログを担保した上で移行する","text":"概要リポジトリ管理を SVN から Git 移行する必要がありその際に利用したコマンドをまとめます。 手順まずリモートに移行先のリポジトリを作成しておきます。 以下コマンドを実行しようとしたら以下エラ","link":"/2015/02/27/2015-02-28-transit-svn-to-git/"},{"title":"Apache + OpenSSL でSHA256対応CSR生成","text":"ドメイン登録者情報確認※特にドメイン登録者を明確に指定する必要がなければ、「手順」へ進んでください。 企業認証周りが必要な場合は事前にWHOIS(フーイズ)でドメイン登録者情報を確認しておくとスムーズ","link":"/2015/02/28/2015-03-01-apache-openssl-sha256/"},{"title":"さくらVPS fluentd + elasticsearch + kibana3","text":"ElasticSearch インストール公式サイト: http://www.elasticsearch.org/blog/apt-and-yum-repositories/ yum リポジトリ追加1r","link":"/2015/02/28/2015-03-01-fluentd-elasticsearch-kibana-sakura-vps/"},{"title":"ドメインの所有者を確認する方法","text":"概要クライアント様所有のドメインにSSL証明書をインストールして欲しいという依頼についてthawteよりSGC SuperCertsから申請しSSL証明書発行する経緯となった。 その申請に必要なDUN","link":"/2015/02/28/2015-03-01-show-domains-owner/"},{"title":"EC-CUBEベリトランス設定","text":"前提ベリトランス契約を完了していただいていることが条件となります。 テスト用と本番用モジュール設定があるので注意してください。注意点を以下にまとめます。 注意点本番環境用のベリトランス決済モジュールは","link":"/2015/03/03/2015-03-04-setting-veritrans-on-eccube/"},{"title":"CentOS にmuninインストール 監視しアラートメール受信","text":"概要 CentOSにmuninをインストールし死活監視します。 warning, criticalを検知した際にアラートメール送信をします。 MySQL, Redisの監視設定も記載しました。 環境C","link":"/2015/03/04/2015-03-05-install-munin-and-notify-alart-mail-on-centos/"},{"title":"MacOSX ipv6 OFF","text":"概要Yosemite のネット回線遅い？と思うことが多く初期設定でipv6設定されている為世の中のipv6化しきっていないのもあり一旦ipv6をOFF設定しようと思います。 ps↓ こんな記事も ht","link":"/2015/03/10/2015-03-11-off-ipv6-macosx/"},{"title":"MacOSX パスワード付きzipファイル作成法","text":"概要クライアント様へ資料等を送付する場合、パスワード付きの圧縮ファイルでメール2回に分けて送付すると思います。 1回目: 圧縮ファイル添付2回目: 圧縮ファイルのパスワード そんなときよく使っているT","link":"/2015/03/10/2015-03-11-how-to-make-zipfile-with-password-on-macosx/"},{"title":"httpd: Could not reliably determine the server&#39;s fully qualified domain name, using 127.0.0.1 for ServerName","text":"概要Apache再起動時に以下のようなエラー文が表示される。※Apache自体は問題なく再起動できています。 12345service httpd restarthttpd を停止中: [ OK ]h","link":"/2015/03/15/2015-03-16-httpd-error-could-not-reliably-determine-the-servers-fully-qualified-domain-name/"},{"title":"EC-CUBE管理画面でパスワード不用でログインさせる方法","text":"概要EC-CUBEパッケージで管理画面にログイン情報なしにログインする方法をまとめました。 管理画面パスワードが誰も知らず、アクセスできないなんてときに以下実施しました。 上記修正後、パスワードなしで","link":"/2015/03/17/2015-03-18-login-without-password-to-admin/"},{"title":"logrotate ログファイル名に日毎に日付追加 保存期間 過去ファイル圧縮 設定","text":"概要/etc/logrotate.conf 初期設定では、以下の不便さがあります。 error_log.1とファイル名に連番が振られていて、具体的な日付がわかりにくい。 基本、logを残すのは4wee","link":"/2015/03/16/2015-03-17-logrotate-daily/"},{"title":"Google Analytics Tagの設定をチェックする","text":"手順Google Chrome ExtensionでTag Assistantをインストールする。ツール表示箇所に以下のように表示される。 設定箇所該当ページアクセスしTag Assistantマーク","link":"/2015/03/23/2015-03-24-check-google-analytics-tag/"},{"title":"robots.txtを配置してsitemap.xmlを読み込ませSEO効率を上げる","text":"概要SEO対応としてリリース時にやっておきたいことの1つです。検索エンジンのクローラーに読み込ませたいファイルを指定することでSEO効率を上げます。 前提サイトリリース可能な状態にある、または、リリー","link":"/2015/04/05/2015-04-06-robot-txt-for-seo/"},{"title":"MySQL vs postgreSQL コマンド対比","text":"MySQL vs PostgreSQLコマンド対比表 |*項目|*MySQL|*PostgreSQL||DB接続|mysql -h hostname -u user -ppasswd |psql -h","link":"/2015/04/06/2015-04-07-mysql-vs-postgresql/"},{"title":"CentOS7にredisインストール","text":"概要CentOS7でのredisインストールと起動方法まとめ 以上","link":"/2015/04/07/2015-04-08-install-redis-centos7/"},{"title":"ターミナルからファイル指定しSublime Text 2で開く","text":"環境 MacOSX 10.10.2 SublimeText2 2.0.2 シンボリックリンク1$ sudo ln -s /Applications/Sublime\\ Text\\ 2.app/Conte","link":"/2015/04/09/2015-04-10-open-sublimetext2-via-termianl/"},{"title":"MacOSX+Vagrant (CentOS7)にSenrtyをインストールして動作確認するまで","text":"概要https://sentry.readthedocs.org/en/latest/quickstart/ 環境 MacOS 10.10.2 Yosemite Vagrant 1.6.5 Virtu","link":"/2015/04/10/2015-04-11-install-sentry-on-centos7/"},{"title":"MacOSXにgoをインストール","text":"概要golangのとっかかりとして簡単に Googleが開発した言語 動的型付け (Like Python) 分散処理が得意などなど Wiki参照 http://ja.wikipedia.org/wi","link":"/2015/04/11/2015-04-12-install-go-on-macosx/"},{"title":"Linux 32bitか64bitか確認する","text":"システム情報表示1$ uname -a i686, i686, i386–&gt; 32 bit X86_64, amd64–&gt; 64 bit","link":"/2015/04/12/2015-04-13-show-32-or-64-bit-on-linux/"},{"title":"git rev-parse でできること","text":"","link":"/2015/04/16/2015-04-17-git-rev-parse/"},{"title":"独自pre-commit設定","text":"手順 pre-commitは以下からどうぞ https://github.com/kenzo0107/git-hooks php構文チェック (php -l ) masterでのcommit禁止 ph","link":"/2015/04/16/2015-04-17-original-pre-commit/"},{"title":"MacOSX  zsh を使おう！","text":"メリット ターミナル上で補間機能をつけられる コマンドやファイルパス、大文字・小文字も変換して補間 手順zshがあるか確認1234$ cat /etc/shells.../etc/zsh なければ、b","link":"/2015/04/23/2015-04-24-lets-use-zsh/"},{"title":"Mac - caps lock を Control に","text":"概要CapsLockなんていらん！という人向けにメモ代わり。 手順メニュー マーク &gt; システム環境設定クリックキーボードを選択 修飾キー選択 Caps Lock キーをControlにアサイ","link":"/2015/04/26/2015-04-27-capslock-to-control-on-macosx/"},{"title":"git コマンドまとめ","text":"123456789101112131415161718192021222324252627282930313233343536// リモートのorigin/developをlocalのdevelopブ","link":"/2015/04/26/2015-04-27-git-command-list/"},{"title":"SSH autologin でサーバログイン 〜毎回sshコマンドいちいち打つのはやめよう〜","text":"環境MacOSX 10.10.3 Yosemite 概要サーバへSSHでログインして、と伝えるとExcelやらテキストを開いてサーバ情報をコピペしてはっつけて…と頑張っている人をみてこれはしんどそうだ","link":"/2015/04/30/2015-05-01-ssh-autologin/"},{"title":"独自git-hooksをglobal設定","text":"概要ローカルの全git管理の開発環境に適用する。 やったこと今回はpre-commitの設定 PHPのシンタックスチェック masterブランチでのcommit禁止→ masterはmergeしてpu","link":"/2015/05/01/2015-05-02-git-hooks-global-template/"},{"title":"簡単♪ Vagrant で Ansible 設定 -  pingで疎通確認までを3分で実施","text":"Vagrantでローカル開発環境構築を簡易的にAnsibleで実施した手順を以下githubにまとめました。 GitHub - kenzo0107/Vagrant-Ansible: Default A","link":"/2015/05/07/2015-05-08-ansible-on-vagrant/"},{"title":"AnsibleでSentry導入！起動確認まで10分以内♪","text":"SentryとはSentryはアプリからイベントログを送信し集計するツールです。エラーログの管理にも利用できます。 そのエラーが解決したかしていないか、どの程度の頻度で発生するか、などグラフ化してくれ","link":"/2015/05/09/2015-05-10-install-sentry-by-ansible/"},{"title":"net-tools vs. iproute2 対応表","text":"RHEL7/CentOS7ではnet-toolsを廃止予定としています。 ipコマンド推奨の理由は以下。 net-toolsでは、 ネットワークトラフィック制御対応できない。 ルーティングテーブルを複","link":"/2015/05/10/2015-05-11-net-tools-vs-iproute2/"},{"title":"CentOSにPHPUnitをComposer.phar経由でインストールする。","text":"概要yum でインストール場合、以下コマンド実行します。 1$ sudo yum install php-xml php-pear php-phpunit-PHPUnit --enablerepo=e","link":"/2015/05/13/2015-05-14-install-phpunit-via-composer.phar-on-centos/"},{"title":"AWS EC2(CentOS) SSHログイン設定ToDo","text":"","link":"/2015/05/14/2015-05-15-ssh-login-to-ec2/"},{"title":"MacOSX環境にgoインストールして実行確認まで","text":"環境 MacOSX10.10.3 Yosemite インストール手順brewでインストール1$ brew install go goバージョン確認1$ go version .bash_profile","link":"/2015/05/17/2015-05-18-install-go-macosx/"},{"title":"nslookup で レコードタイプ確認","text":"概要DNSのクラウド管理サービス(お名前.com等)でレコード設定すると「設定反映まで72時間掛かる場合があります。」とメッセージが表示されることがあります。 設定確認法としてnslookupコマンド","link":"/2015/05/17/2015-05-18-nslookup/"},{"title":"Vagrant+Ansibleでhttpd, MySQL, PHPをソースからインストールし起動確認するまで","text":"開発環境 MacOSX Yosemite 10.10.3 VirtualBox 4.3.26 r98988 Vagrant 1.7.2 Ansible 1.9.1 手順1. Vagrant Box追加","link":"/2015/05/19/2015-05-20-install-php-httpd-mysql-on-vagrant/"},{"title":"Vagrant + Ansible で go実行環境構築し、フレームワーク(goji)で簡易的なCRUD処理実行","text":"環境 MacOSX Yosemite 10.10.3 Virtual Box 4.3.28 Vagrant 1.7.2 Ansible 1.9.1 go実行構築環境VagrantへAnsibleで以下","link":"/2015/06/14/2015-06-15-go-framework-goji-on-vagrant/"},{"title":"コマンドラインでURLの存在チェック","text":"以下コマンドをMacローカルでterminalから実行 1curl -v &lt;URL&gt; 2&gt;&amp;1 1&gt;/dev/null | awk '{if($2~\"HTTP\") pr","link":"/2015/06/15/2015-06-16-check-whether-the-url-exists/"},{"title":"find検索で「Permission denided」を除いて表示したい","text":"1find / -name 'hogehoge' 2&gt;/dev/null","link":"/2015/06/15/2015-06-16-find-command-results-exclude-permission-denied/"},{"title":"CentOSにmysqldiffインストールし実行確認","text":"rootユーザに切り替え1$ sudo su - mysqldiff インストール123# cd /usr/local/src# wget http://search.cpan.org/CPAN/au","link":"/2015/06/15/2015-06-16-install-mysqldiff-on-centos/"},{"title":"クライアント受注のWebサイト構築時のSSL証明書インストールする為にしたこと","text":"概要クライアントより受注したWebサイト構築時にSSL証明書をインストールする必要が生じ、その際に行った手続きをまとめます。 前提無料SSLや自作SSLではセキュリティ面で不安な為、シェアの高いSSL","link":"/2015/06/15/2015-06-16-install-ssl-certificate-for-customers/"},{"title":"SSL証明書インストール","text":"対象サーバにアクセスし以下SSL証明書インストール手順に沿って進めます。 手順 rootユーザに変更12sudo su -Password: (rootユーザのパスワード入力) 秘密鍵のパスフレーズ解","link":"/2015/06/15/2015-06-16-install-ssl-certificate/"},{"title":"UnityでAndroidアプリ「マメコラン！」公開♪","text":"アプリ公開しました ♪Google Play 『マメコラン！』 アンドロイダー紹介 VTR種ちゃんに紹介してもらいました ♪ アンドロイダー詳細ページアンドロイドアプリ情報サイト[アンドロイダー]アン","link":"/2015/06/15/2015-06-16-mamekorun-android-application-by-unity/"},{"title":"SGC SuperCerts 購入手順","text":"概要クライアントより指定ドメインにSSL証明書をインストールして欲しいとの依頼があり、比較的安価なthawteによりSSL証明書発行するよう手配しました。その手順を以下に記載します。 ※2015年4月","link":"/2015/06/15/2015-06-16-sgc-supercerts/"},{"title":".htaccessでmod_rewriteを利用可能にする","text":"概要あまり意識せず利用しているmod_rewriteですがhttpd設定により使用できない場合があります。 以下設定手順をまとめました。 設定手順/etc/httpd/conf/httpd.conf ","link":"/2015/06/23/2015-06-24-htaccess_mod_rewrite/"},{"title":"さくらVPS iptables設定 ~ある日警告文が届いた「ご利用中のサーバから、外部へ向けてUDP FloodによるDoSと思わしきトラフィックを確認いたしました。」~","text":"iptables (FireWall) Settingさくらレンタルサーバから以下のような警告文が届きました。 12345678ご利用中のサーバから、外部へ向けてUDP FloodによるDoSと思わし","link":"/2015/06/23/2015-06-24-sakua-vps-iptables/"},{"title":"Boot2DockerでMacOSXローカル環境に開発環境構築","text":"DockerEngine環境構築開発環境 MacOSX Yosemite 10.3.3 VirtualBox 4.3.28 Vagrant 1.7.2 Dockerを利用するには以下が必要 Docke","link":"/2015/06/27/2015-06-28-boot2docker-on-macosx/"},{"title":"Google Cloud SDKインストール For MacOSX","text":"概要2015/06/18(木) Google Cloud Platform Next に参加し無料クーポンも頂き早速利用したくなり登録！ お目当はKubanetes！ Google Cloud SDK","link":"/2015/06/27/2015-06-28-install-google-cloud-sdk-on-macosx/"},{"title":"CentOS7 に PHP5.6インストール","text":"概要CentOS7 で Laravel5.1を利用するべく、PHP5.6をインストールする運びとなった為、以下メモ。","link":"/2015/07/15/2015-07-16-install-php56-on-centos7/"},{"title":"Go言語 開発整備 on MacOSX","text":"環境 MacOSX 10.10.4 Yosemite Go 1.4 Eclipse Mars Release (4.5.0) 概要2015-08-01時点 IntelliJでgo開発を検討していました","link":"/2015/08/01/2015-08-02-golang-development-on-macosx/"},{"title":"Eclipse でGoコードデバッグツールgdb設定  on MacOSX","text":"概要goのデバックモジュール GDBをインストールします。ただMacのセキュリティ上の理由からGDBを利用するには証明書を作成する必要があります。 環境 MacOSX 10.10.4 Yosemite","link":"/2015/08/01/2015-08-02-setting-for-gdb/"},{"title":"CentOS7 に Nginx + Go + Revel インストール・動作確認","text":"環境 EC2 t2.micro CentOS Linux release 7.1.1503 (Core) Go version go1.4.2 linux/amd64 以下手順です。 事前準備EC2 ","link":"/2015/08/03/2015-08-04-install-nginx-go-revel-on-centos7/"},{"title":"CentOS7 に MySQL 5.6インストール","text":"参照: http://www.kakiro-web.com/linux/mysql-yum-repository-install.html MySQLのリポジトリ設定パッケージをダウンロード1$ wg","link":"/2015/08/04/2015-08-05-install-mysql5.6-on-centos7/"},{"title":"MySQL コマンドまとめ","text":"Dump 不要なテーブルは「–ignore-table=(テーブル名)」で排除1mysqldump -u &lt;user&gt; -p&lt;password&gt; dbname --ignore","link":"/2015/08/04/2015-08-05-mysql-command-list/"},{"title":"Safariで証明書情報確認","text":"鍵マークをクリック 「証明書を表示」ボタンクリック 「証明書情報」","link":"/2015/08/04/2015-08-05-show-infomation-about-certificate-on-safari/"},{"title":"NginxにオレオレSSL証明書インストール","text":"環境 AWS EC2 : t2.micro OS : CentOS Linux release 7.1.1503 (Core) Nginx: 1.8.0 OpenSSL: 1.0.1e-fips 11","link":"/2015/08/04/2015-08-05-use-my-certificate-on-nginx/"},{"title":"ElasticSearchインストール on CentOS7","text":"環境 CentOS Linux release 7.0.1406 (Core) ElasticSearch 1.7.1 必要モジュールダウンロード1$ yum install -y curl-deve","link":"/2015/08/05/2015-08-06-install-elasticsearch-on-centos7/"},{"title":"Ruby インストール on CentOS7","text":"環境 AWS CentOS Linux release 7.0.1406 (Core) 必要モジュールインストール1$ sudo yum -y install git libffi libffi-de","link":"/2015/08/05/2015-08-06-install-ruby-on-centos7/"},{"title":"go get で 「exec: &quot;bzr&quot;: executable file not found in $PATH」エラー対策","text":"結論bzrモジュールインストールした後、再度go getして問題なく動作しました。 1# yum install -y bzr 概要EC2のCentOS7で以下のように go get した際にbzrが","link":"/2015/08/18/2015-08-19-go-get-executable-file-not-found/"},{"title":"Golang Revelフレームワークエラー 「server.go:1775: http: TLS handshake error from 127.0.0.1:36799: tls: first record does not look like a TLS handshake」対応","text":"結論[prod]モード以外で http.ssl = true とし起動すると発生するエラーでした。その為、[prod]以外では http.ssl = false として起動することとしました。 概要テ","link":"/2015/08/18/2015-08-19-go-revel-fw-tls-handshake-error/"},{"title":"go-sql-driver&#x2F;mysqlでcreated_at (datetime) がUTCで登録されてしまう件","text":"環境 go-sql-driver/mysql version 1.2 結論以下のように parseTime=trueとloc=Asia%2FTokyoを設定する。 1db, err := sql.Op","link":"/2015/08/18/2015-08-19-gosql-driver-mysql-created_at-utc/"},{"title":"Go初心者におすすめ本","text":"概要身の回りであまり Go を積極的にやっている人がいないのでやってみたいなぁ、気になってはいる、という方に本をおすすめしてみたいと思いました。 この一冊！以下をチョイスしました！ WEB+DB PR","link":"/2015/08/19/2015-08-20-beginner-gopher/"},{"title":"Kibana4 インストール on CentOS7","text":"前提 Nginx インストール済み 環境 CentOS Linux release 7.0.1406 (Core) Nginx 1.9.3 Kibana 4.1.1 Kibana インストール123$","link":"/2015/08/19/2015-08-20-install-kibana-on-centos7/"},{"title":"CentOS7 に Nginx インストール","text":"Kibana構築用に書いときました。 環境 CentOS7 Nginxインストール Nginx用リポジトリ作成 1# vim /etc/yum.repos.d/nginx.repo 以下追記 1234","link":"/2015/08/19/2015-08-20-install-nginx-on-centos7/"},{"title":"fluentd設定ハマった所あるある","text":"以下随時追加。 環境 CentOS Linux release 7.1.1503 (Core) Fluentd 0.12.12 Nginx 1.8.0 Permission denined パーミッシ","link":"/2015/08/20/2015-08-21-fluentd-failpattern/"},{"title":"Golang Revelフレームワーク ホットデプロイ方法","text":"概要Revel Official サイトにあるデプロイ方法を検証しました。 Revel Deployment ローカルでアプリをビルドしサーバにコピーする サーバーで更新したコードを pull し、ビ","link":"/2015/08/11/2015-08-21-go-revel-fw-hotdeploy/"},{"title":"Nginx ssl.conf設定 特定ページのみhttpsへリダイレクトさせる設定","text":"概要Go RevelフレームをNginx上で利用しています。 その際に設定したssl設定、及び、特定ページのみhttpsへリダイレクトする様な設定をする必要があったので以下まとめました。 https通","link":"/2015/09/13/2015-09-14-nginx-redirect-https/"},{"title":"Go Revelフレームワーク jQuery非同期処理","text":"概要Go RevelフレームワークでAjax非同期処理を実装します。 CSRF 対策以下コマンドによりRevelフレームワークでCSFR対策する為のライブラリをインストール 1$ go get git","link":"/2015/08/29/2015-08-30-go-revel-fw-jquery/"},{"title":"3分で出来る！ AWS EC2(CentOS7)に td-agent2インストール","text":"環境 AWS EC2 CentOS Linux release 7.1.1503 (Core) td-agent2 インストール1$ sudo curl -L http://toolbelt.trea","link":"/2015/09/18/2015-09-19-install-td-agent2-centos7/"},{"title":"エラーログをSlack通知する","text":"環境 CentOS Linux release 7.1.1503 (Core) td-agent: 0.12.12 Nginx: 1.8.0 概要社内でSlackによる連携が進みログ管理もfluent","link":"/2015/09/23/2015-09-24-errorlog-to-slack/"},{"title":"NginxでGeoIP設定しアクセスログにアクセスポイントを追加する","text":"概要GeoIP Libraryを設定後、access.logにアクセスポイントを表示 GeoIP データファイル取得GeoIPライブラリを提供しているMaxMindサイトから取得可能です。有料版もあり","link":"/2015/09/30/2015-10-01-nginx-geip/"},{"title":"インストール済みNginx にgeoIP Library追加","text":"概要元々yumでNignxをインストールしていましたがIP制限やfluentdでip情報を割り出す必要がありgeoIPが必要になりました。 その為には新たにNginxをソースからダウンロードしLibr","link":"/2015/09/30/2015-10-01-nginx-geoip-library/"},{"title":"Nginxエラー調査 「duplicate MIME type &#39;text&#x2F;html&#39; in &#x2F;etc&#x2F;nginx&#x2F;nginx.conf」","text":"概要エラーログをslackに通知させるようにしてるとほんと便利。 エラーログをSlack通知する - 長生村本郷Engineers'Blog以下に移行しました。 kenzo0107.github.io","link":"/2015/10/04/2015-10-05-nginx-error-duplicate-mime-type-text-html/"},{"title":"Kibana エラー対応 - Discover: An error occurred with your request. Reset your inputs and try again.","text":"問題ある日、Kibana &gt; Discover にアクセスすると以下のようなエラー表示でSearchingが完了できない状態に陥った。 ElasticSearchログ確認123456789101","link":"/2015/10/06/2015-10-07-kibana-error-discover-an-error-occured-with-your-request/"},{"title":"Elasticsearch インデックス一覧・マッピング一覧・マッピング設定","text":"前提Elasticsearch のインストールされているサーバ内での作業を想定しています。 インデックス一覧1curl -XGET localhost:9200/_aliases?pretty 123","link":"/2015/10/07/2015-10-08-elasticsearch-index-mapping/"},{"title":"Nginx Basic認証設定、社内IPなど特定ipのみ許可","text":"概要サービス公開前にNginxでBasic認証を掛ける必要がありました ちょうど社内公開したときでもありBasic認証のポップアップが出るのが鬱陶しいのもあって社内だけオフりたい、というときに以下のよ","link":"/2015/10/18/2015-10-19-allow-specified-ip-nginx/"},{"title":"Nginxエラー対策 a client request body is buffered to a temporary file","text":"概要Nginxで以下のようなエラーが発生 [warn]とあるしものものしさは否めない汗 要求されるバッファサイズが設定量より多く、一時ファイルを利用しますよ、という警告です。 1[warn] 1493","link":"/2015/10/18/2015-10-19-nginx-error-a-client-request-body-is-buffered-to-a-temporary-file/"},{"title":"Ruby &amp; gem インストール","text":"備忘録です。 環境 CentOS 5.8 (Final) ruby 2.1.2 インストール1234567# cd /usr/local/src# wget http://cache.ruby-lan","link":"/2015/10/21/2015-10-22-install-ruby-gem/"},{"title":"By grunt, uglify js &amp; minify css on MacOSX.","text":"environment MacOSX 10.11 grunt-cli v0.1.13 grunt v0.4.5 Install npm, Initilize npm123cd ~ # dependin","link":"/2015/11/08/2015-11-09-grunt-uglify-js-minify-css-on-macos/"},{"title":"Use Redis via Python","text":"MemorandumThe below codes is how to use redis via Python. 123456789101112131415161718192021222324252","link":"/2015/11/09/2015-11-10-redis-python/"},{"title":"Elasticsearch curatorで不要Indexをまとめて削除","text":"概要fluentd + ElasticSearch + kibana を運用していますがある日ElasticSearchが動作しなくなる事象が発生しました。 過去indexが溜まりに溜まってメモリ不足","link":"/2015/11/12/2015-11-12-elasticsearch-curator-delete-norequired-index/"},{"title":"コンテンツがgzip圧縮されているかチェック","text":"本当にただの備忘録です。 Nginx で gzip on にしたけど設定反映されているか shell で確認","link":"/2015/11/12/2015-11-13-check-gzip-compress/"},{"title":"運用中のNginxをノーメンテでバージョンアップ&amp;HTTP2.0モジュールを導入","text":"概要運用中の Nginx に HTTP2.0 モジュール http_v2_module を導入しサイトのパフォーマンス向上を図ります。 ※ Nginx 1.9.5 から http_spdy_modul","link":"/2015/11/16/2015-11-17-versionup-nginx-without-maintenance/"},{"title":"Kibana4 検索窓での検索 正規表現パターンマッチ等","text":"概要アクセスログを fluentd で集積(aggregate)してElasticSearch へ保存、そのデータを kibana で表示しています。 ちょっとしたアクセスログ解析したい場合、かつては","link":"/2015/11/23/2015-11-24-kibana-regex-pattern-match/"},{"title":"意外と容量食ってた yum cache","text":"yum cache 容量12# du -sh /var/cache/yum155M /var/cache/yum 155MByteある汗 yum cache 削除12345# yum clean al","link":"/2015/11/25/2015-11-26-cleanup-yum-cache/"},{"title":"Twilio で電話通知","text":"概要障害検知をメールや Slack に流しても休日に業務系連絡を見ることは少ない。その為、より検知報告に気付きやすくする様、電話通知にするべく Twilio を導入する運びとなりました。 まずは利用す","link":"/2015/12/07/2015-12-08-tellme-twillio/"},{"title":"Git で削除したブランチを復活させる","text":"概要以下コマンドでブランチを強制的に削除した後、やっぱり必要だったのに、となったときの対処 1$ git branch -D &lt;branch_name&gt; 復活手順 HEADの変更履歴を確認","link":"/2015/12/08/2015-12-09-revive-deleted-git-branch/"},{"title":"今更ながらMacでドットファイルを表示する","text":"概要Finder でドットファイルを開きたいという際にやっておく設定 環境 MacOSX Yosemite 10.10.3 手順ターミナルを開き以下コマンド実行1$ defaults write co","link":"/2015/12/08/2015-12-09-show-dotfile-on-macos/"},{"title":"Redis - (error) NOAUTH Authentication required への対応","text":"概要経年運用し特にメモリも問題なかったRedisが突如接続エラーが発生したのでその際の対応をまとめました。 エラー内容1PHP Fatal error: Uncaught exception 'Red","link":"/2015/12/11/2015-12-12-redis-error-noauth-authentication-required/"},{"title":"MySQLトラブルシューティング - ERROR 2006 (HY000) at line ***: MySQL server has gone away","text":"概要DBインポート時に掲題のエラーが発生しました。 インポートサイズが大きすぎる為です。 インポートデータサイズのデフォルト値は 1M です。 以下コマンドで確認できます。 1mysql&gt; sh","link":"/2015/12/16/2015-12-17-mysql-error-2006-hy000-mysql-server-has-gone-away/"},{"title":"Outlook にメールが届かない件対応","text":"概要EC2を利用してますがSESかまさずにメール送信をしていた時に以下のようなエラーが発生しました。 エラー内容 Dec 18 17:24:11 ip-xxx-xx-xx-xx postfix/smt","link":"/2015/12/21/2015-12-22-cannot-get-mail-in-outlook/"},{"title":"pingを通すiptableの設定","text":"環境 CentOS 5.8 実現したいことServer A が Server B からのみ ping を通す 12345+----------+ Ping Request +----------+| ","link":"/2015/12/23/2015-12-24-iptables-allow-ping/"},{"title":"AWS Multi-AZにおける Pacemaker + Corosync による Elastic IP の付け替え","text":"概要Pacemaker &amp; Corosync によるAWS での Multi-AZ 間のEIP付け替えによるフェイルオーバーについて実装したのでまとめます。 以下イメージです。 通常状態 Av","link":"/2015/12/25/2015-12-26-aws-multi-az-pacemaker-corosync-switching-eip/"},{"title":"pod install で ASSERSION対策","text":"pod install で ASSERSION対策 概要pod install 実行時に正常にインストール処理ができなかったのでメモ。 冬休み中にSwift2.0をほんきで学ぶ為、以下書籍購入してチャ","link":"/2015/12/30/2015-12-31-pod-install-assersion/"},{"title":"Hubot + Slack on Amazon Linux","text":"Prerequisite Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type(t2.nano) npm 1.3.6 hubot 2.17.0 coffe","link":"/2016/01/12/2016-01-13-hubot-slack-on-amazonlinux/"},{"title":"MySQLトラブルシューティング - ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: NO)","text":"概要ローカルでMacOSXでMAMPを使っていてある日誤った操作により以下のようなエラーが発生した為対応まとめました。 12$ mysql -u rootERROR 1045 (28000): Acc","link":"/2016/01/14/2016-01-15-mysql-error-1045-28000-access-denied-for-user/"},{"title":"MySQLトラブルシューティング - mysqldump: Couldn&#39;t execute &#39;FLUSH TABLES&#39;: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)","text":"概要以下のように mysqldump コマンド実行時に掲題のエラーが発生しました。 123$ mysqldump --lock-all-tables --events -h &lt;host_name","link":"/2016/01/18/2016-01-19-mysqldump-couldnt-execute-flush-tables-access-denied/"},{"title":"CentOS7用 Revel(Golang)フレームワークの起動スクリプト 書いてみた。","text":"起動スクリプト作成まず成果物から 1# vim /usr/lib/systemd/system/revel.service 12345678910[Unit]Description=RevelBuil","link":"/2016/02/02/2016-02-03-buildscript-for-revel-go/"},{"title":"no-ipでAWSインスタンスの動的ip更新対応 ~いつも同じドメイン名でアクセスしたい~","text":"概要AWSの起動停止をするとElasticIPを設定していない限りPublic IPが変更されてしまいます。 ElasticIPは設定するとAWSを停止していても費用が発生します。 検証用環境など一時","link":"/2016/02/03/2016-02-04-no-ip-aws-instance-dynamic-ip/"},{"title":"Pythonエラー対応: UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters","text":"結論Pythonの文字コードを utf-8 に設定する。 概要python で以下のような画像URLから画像をダウンロードする処理を実装した所掲題のエラーが発生しました。 12345678910111","link":"/2016/02/15/2016-02-16-python-error-unicodeencodeerror-ascii-codec-cant-encode-characters/"},{"title":"MacOSX python 3.4.3 インストール","text":"概要 機械学習養成読本という素晴らしい本を頂き早速学習を深めています。 115ページ 第2部 第1章「Pythonのインストール」がすんなりいかなかったのでメモです。 pyenv install 3.","link":"/2016/02/18/2016-02-19-install-python343-on-macos/"},{"title":"Clam AntiVirus 導入","text":"Clam Antivirus略称ClamAV はUnix系OSで動作するウィルススキャンOSSです。 http://www.clamav.net wiki - Clam_AntiVirus 個人的にさ","link":"/2016/02/22/2016-02-22-clam-antivirus/"},{"title":"PHP+OpenSSLバージョンアップ","text":"概要ベリトランスモジュールのバージョンアップに際して2016 年以内にSSL v3.0/TLS 1.0 無効化処理が必須となりました。 世界的なセキュリティ対策の一環として必須事項なのでベリトランス以","link":"/2016/02/22/2016-02-22-versionup-php-openssl/"},{"title":"Install latest Git on CentOS.","text":"Environment Information CentOS release 6.6 (Final) Install required modules1# yum -y install curl-de","link":"/2016/02/22/2016-02-23-install-latest-git-on-centos/"},{"title":"無料SSL証明書発行しセキュリティでA+を取る！ 〜Apache編〜","text":"概要ベリトランスモジュールバージョンアップに際してSHA256で発行したSSL証明書が必須となりました。 テスト環境でベリトランスモジュールバージョンアップ試験を行う際にSSL証明書導入する必要が生じ","link":"/2016/02/24/2016-02-25-get-a-plus-ssl-quality/"},{"title":"inputボックスにURL打ち込むと自動URL短縮化されるjs","text":"[f:id:kenzo0107:20160310115924p:plain] 概要最近では URL に日本語を利用するケースが増えてきました。 SEO として価値がある作業かどうかは眉唾ではありますが","link":"/2016/03/09/2016-03-10-auto-shorten-url-js/"},{"title":"Android Studio AVD (エミュレータ) からデスクトップのローカルホストに接続させる設定","text":"概要MacOSX 上で Android Studio で Android アプリ開発中です。 AVD(Android Virtual Device) から Volley で API の繋ぎこみ先をMA","link":"/2016/03/08/2016-03-09-android-studio-avd-from-desktop-to-localhost/"},{"title":"StatsBotのSlack通知 通知方法と通知時の見え方 一覧","text":"概要Statsbot は、GoogleAnalytics、NewRelic、Mixpanel と連携し各データを Slack へ通知できるサービスです。 連携自体は画面中央の Add to Slack","link":"/2016/03/10/2016-03-11-statsbot-slack/"},{"title":"MySQL SQL結果をINTO OUTFILEを使用せずCSV取得","text":"概要MySQL SELECT 文の結果を csv で取得する際以下のように CLI 上で実行することで取得できます。 12$ mysql -u &lt;user&gt; -p&lt;password&","link":"/2016/03/13/2016-03-14-mysql-output-csv-without-outfile/"},{"title":"ファイルの中身でなくファイル名の文字コードを変更する","text":"概要EC サイトの売上のレポートなどを送信したい、というときファイル名に日本語を指定せざるを得ないとき(クライアントさんが「絶対に日本語！」)がときたまあります。 クライアント様の環境は Window","link":"/2016/03/15/2016-03-16-encode-filename/"},{"title":"IPアドレスからホスト情報取得","text":"概要ipinfo.io の API によりホスト情報を取得するシェルを書きました。 不審なアクセスが増えてきた、というときに接続元ホストを探る際に利用しています。","link":"/2016/03/22/2016-03-23-get-host-data-from-ip/"},{"title":"awk で CSV の特定列を整形 〜数値を文字列扱いする〜","text":"概要ある顧客データを抽出してレポートしたい、というときにCSV ファイルで “090” などと携帯電話があると Excel で CSV ファイルを開いたときに“90” になってしまうということがあるか","link":"/2016/03/27/2016-03-28-awk-shapes-csv/"},{"title":".htaccessが効かない、動かないときの対処","text":"概要.htaccess に設定した通りに動作しない、そもそも読み込んでいないように見える場合の対策です。 http だと mod_rewrite でリダイレクトするけど、 https だとしない、とか","link":"/2016/03/27/2016-03-28-htaccess_not_move/"},{"title":"パスワードなし！公開鍵認証でSSHログイン","text":"概要rsync を Jenkins や crontab で利用する場合SSH 経由で実行する際、パスワードを求められ処理が中断してしまうということがあるかと思います。 その為、SSH で公開鍵認証とい","link":"/2016/04/04/2016-04-05-ssh-login-without-password/"},{"title":"Zabbix3.x系からSlack通知","text":"概要Zabbix3.x 系での Slack への障害内容通知方法をまとめました。 簡単なメッセージの通知でなくある程度見やすく、状況判断しやすい様にしました。 ↓ まずざっくりとこんな感じです。 手順","link":"/2016/05/06/2016-05-07-zabbix2slack/"},{"title":"とにかくシンプルにPHPでLineBotApiを書きました","text":"概要話題の Line bot Api 用スクリプトを PHP で書きました。 とにかくシンプルに = カスタマイズしやすさ という所で修正する場所を限って利用できるようにしたつもりです。 作ったもの適","link":"/2016/04/27/2016-04-28-simple-php-linebotapi/"},{"title":"sftpをシェル化してファイルアップロード","text":"概要データ解析サービスを提供するサードパーティで指定の Server, Path に指定形式で格納するように、と指示がありました。 また、「Protocol は sftp のみ許可でお願いします」とも","link":"/2016/05/09/2016-05-10-sftp-via-shell/"},{"title":"CentOS7にSonarQubeをインストールしアクセス確認まで","text":"概要sonarqube はJava, Python, Ruby, PHP 等、複数言語のコードメトリクス集計ができる優れものです。 以前 MacOSX ローカル環境でUnity プロジェクト C#コー","link":"/2016/05/18/2016-05-19-install-sonarqube-on-centos7/"},{"title":"MySQが落ちる トラブルシューティング Cannot allocate memory for the buffer pool","text":"概要AWS E2 インスタンス上に MySQL, SonarQube インストールし起動するもののMySQL が落ちるという事象が発生。 ログを見ると以下のエラーが。。 /var/log/mysqld","link":"/2016/05/19/2016-05-20-mysql-cannot-allocate-memory-for-the-buffer-pool/"},{"title":"Jenkins + SonarQube で PHPコードメトリクス計測！","text":"前回Jenkins とは別のサーバ上にSonarQube をインストールしアクセスできるまでをまとめました。 CentOS7にSonarQubeをインストールしアクセス確認まで - 長生村本郷Engi","link":"/2016/05/20/2016-05-21-jenkins-sonarqube-php-code-metrics/"},{"title":"日本国内からアクセスされるIP取得スクリプト Ruby 30秒クッキング","text":"まずスクリプト 1234567891011121314$ git clone https://gist.github.com/kenzo0107/714ece62cf6450386ff0fb16fd5","link":"/2016/05/25/2016-05-26-ruby-30-sec-cooking-get-access-ip-from-japan/"},{"title":"Jenkins - Short cycles in the day-of-month field will behave oddly near the end of a month","text":"完全なる備忘録です。 Jenkins で 毎月第 1 月曜日のみ設定しようとしたら 1Short cycles in the day-of-month field will behave oddly ","link":"/2016/05/31/2016-06-01-jenkins-short-cycles-in-the-day-of-month-field-will-behave-oddly-near-the-end-of-a-month/"},{"title":"Ansible+Vagrant でシンプルなPrometheusモニタリング環境構築","text":"概要Prometheus 入門 にあるチュートリアルをAnsible で簡単に構築できるようにした、というものです。 先日 2016 年 6 月 14 日、LINE 株式会社でのPrometheus ","link":"/2016/06/20/2016-06-21-ansible-vagrant-prometheus/"},{"title":"MySQL テーブル単位の容量確認","text":"SQL 1234567891011mysql&gt; use zabbixDatabase changedmysql&gt; select -&gt; table_name, engine, tabl","link":"/2016/06/26/2016-06-27-each-table-mysql/"},{"title":"2016年5月現在、SSL評価Fを取らない為に","text":"それは、ある日 QUALYS SSL LABS で SSL チェックしたとき F になってる… 常に A+ を保っていたのに… どうやら 2016/5/3 時点で新たに脆弱性が発見されたとのこと。 S","link":"/2016/06/26/2016-06-27-ssl-qualys-get-a-plus/"},{"title":"Nginx 1.9.6 → 1.11.1 へバージョンアップ 脆弱性対応","text":"脆弱性 CVE-2016-4450 に対応した Nginx 1.11.1 が 2016-05-31 リリースされたということで早速バージョンアップを試みました。 SIOS Tech. Lab - エン","link":"/2016/06/26/2016-06-27-versionup-nginx/"},{"title":"CentOS5 系 に pip インストール","text":"2017 年 3 月にサポート終了する CentOS5 ですが今なお利用されているサーバは多々あるかと思います。 今回の目的デフォルトインストールされている Python 2.4.3 を残した状態でP","link":"/2016/07/10/2016-07-11-install-pip-on-centos5/"},{"title":"Raspberry Pi 3 B に Raspberry Jessie セットアップ","text":"概要Amazon Prime 会員の無料体験版でRaspberry Pi 3 B 買いました♪ 開発 Ready な状態を作るべくそのセットアップ方法をまとめました。 環境 MacBook Pro :","link":"/2016/07/11/2016-07-12-setup-raspberrypi3b-jessie/"},{"title":"Zabbix + Reactio 連携","text":"概要Reactio の無料化によりその機能が解放され、様々な監視・アラートツールとの連携が可能になりました。これを機に Zabbix + Reactio 連携したのでまとめました。 Reactio が","link":"/2016/07/13/2016-07-14-zabbix-reactio/"},{"title":"MacOSX に Python2, Python3 仮想環境構築","text":"経緯MacOSX デフォルトでは python 2 系。 python 2.7 は 2020 年までのサポート なのでpython 3 系 に慣れておこうということで3 系環境を構築しようと思いました","link":"/2016/07/27/2016-07-28-setup-python2-python3-on-macos/"},{"title":"cat id_rsa.pub &gt;&gt; authorized_keys したつもりが error key_read: uudecode が出るエラー対応","text":"1$ tail -f /var/log/secure 結論「/n」 が入ってしまっていました。「/n」削除すれば問題なくなりました。 多少編集した際に混入させてしまったのかも。。","link":"/2016/07/28/2016-07-29-error-key-read-uudecode/"},{"title":"複数画像ファイルから顔検知し顔部分をトリミングしたサンプルを集める","text":"前回画像ファイルを指定し顔検知させる機能を実装しました。 顔検出 3分クッキング on MacOSX - 長生村本郷Engineers'Blog以下に移行しました。 kenzo0107.github.","link":"/2016/08/03/2016-08-04-detect-face-triming-sample/"},{"title":"メンテ時に社内Wifi IPのみサイトアクセス許可する","text":"備忘録です。 サイトメンテナンスする際の手順をまとめています。 手順maintenance.htmlDocumentRoot に maintenance.html を配置 .htaccess にてアク","link":"/2016/08/08/2016-08-09-allow-ip-under-the-maintenance/"},{"title":"http https 混在サイトでの Cookie Secure 属性の扱い方","text":"問題提起https 通信環境下で Cookie に Secure 属性つけていますか？ Secure 属性とは？http と https と各通信で相互の行き来がある場合などにhttps の通信でのみ","link":"/2016/08/09/2016-08-10-http-https-mixed/"},{"title":"ある日 Nginx で HTTP&#x2F;2 and SPDY indicator が青く輝いてくれなくなった件","text":"概要Chrome Extention の HTTP/2 and SPDY indicator はHTTP/2 で通信していることを確認する Chrome の拡張 Plugin です。 これがある日 n","link":"/2016/08/09/2016-08-10-nginx-http2/"},{"title":"jenkins が停止していますが PID ファイルが残っています","text":"プロセス ID の管理ファイルは通常停止すれば削除されます。但し、Jenkins 再起動時に サーバそのものを再起動させたとか、野暮なことをすると Jenkins おじさんが怒ります。 対策 1PID","link":"/2016/08/14/2016-08-15-jenkins-stopped-due-to-pid-file/"},{"title":"du でデバイスの使用率が残り少ない、何か消さなきゃいけないというときに","text":"あっ！使い切ってる… という事象が発生しました。あるモジュールを導入しようとした際に一気に使い切ってしまった。。 123456ファイルシス サイズ 使用 残り 使用% マウント位置/dev/xvda1","link":"/2016/08/14/2016-08-15-reduce-disk-usage/"},{"title":"Jenkins 死亡時の対策","text":"スレッドが死亡するとこんな表示に… 原因は 1No space left on device デバイスの容量不足でした。。 対策以下 cleanBuild.sh を作成しビルド掃除をするようにしました","link":"/2016/08/14/2016-08-15-why-jenkins-died/"},{"title":"Digest 認証設定","text":"Basic 認証 と Digest 認証の違いBasic 認証 user と password を平文でサーバに送っている。 通信内容を傍受されると user / password がわかってしまう。","link":"/2016/08/15/2016-08-16-digest-authentication/"},{"title":"PHP エンジニアであれば必ずやるべき 1 ライナー","text":"みんなが幸せになれるhiraku さんの究極の 1 ライナーです。 1$ composer config -g repositories.packagist composer http://packa","link":"/2016/08/17/2016-08-18-oneliner-for-phper/"},{"title":"SlowQuery を検知して Explain で解析し Slack へ通知","text":"fluentd でエラーログを Slack へ通知 の続きです。 エラーログをSlack通知する環境 CentOS Linux release 7.1.1503 (Core) td-agent: 0.","link":"/2016/08/23/2016-08-24-detect-slowquery-to-slack/"},{"title":"SSL証明書有効期限をチェックして結果をSlackに通知","text":"概要1SSL証明書の有効期限切れでサイトにアクセスができなくなってしまった。 なんてことが発生しない様にする為に実装しました。 Shell スクリプト DOMAIN_LIST で設定した複数ドメインに","link":"/2016/08/25/2016-08-26-valid-ssl-to-slack/"},{"title":"CSVエンコード問題解決","text":"概要Linux サーバで DB で集計して CSV ファイルをレポートするなんてことがあるかと思います。 CSV ファイルを Linux サーバで作成しWindows, Mac にメール添付して送信す","link":"/2016/09/08/2016-09-09-fix-problem-csv-encode/"},{"title":"PHP 検証フィルタで Email アドレス検証 を検証する","text":"概要Email アドレスのフォーマットチェックとして PHP には検証フィルタが用意されています。 こんな使い方しますね。 12345if (filter_var($email, FILTER_VAL","link":"/2016/09/08/2016-09-09-valid-email-by-php/"},{"title":"機械学習ド素人のWebエンジニアが始める機械学習で顔認識","text":"前回顔検知と顔認識は本質が異なる。 顔検知は顔と判定すること 顔認識は顔が誰か特定の人の顔だと判定すること 今回は後者の顔認識をする仕組みをまとめました。 GitHub - kenzo0107/Fac","link":"/2016/09/19/2016-09-20-machine-learning/"},{"title":"負荷監視とその原因調査","text":"概要新卒向けの説明として簡単な備忘録です。 -Item- -Explain- %user ユーザー空間での CPU 使用率 %system カーネル空間での CPU 使用率 %iowait I/","link":"/2016/09/20/2016-09-21-heavy-load-the-reason/"},{"title":"error RPC failed; curl 56 SSLRead() return on MacOS Sierra","text":"概要みんなのGo言語を購入しましてghq でGit管理してみよう！と心動いた方は多いはず 昔から peco で Git Repository 移動コマンドはしてたけど、ghq を利用したリポジトリ管理","link":"/2016/09/27/2016-09-28-error-rpc-failed-curl-56-sslread-return-on-macos/"},{"title":"LINE Notify で Zabbix Alert 通知","text":"概要Zabbix アラート を LINE Notify を利用してLINE にメッセージを送るように設定しました。 手順LINE Notify アクセス[https://notify-bot.line","link":"/2016/10/10/2016-10-11-line-notify/"},{"title":"MySQL COUNT, SUM, GROUP BY, CASE WHEN THEN で集計する","text":"概要ECサイトに新しい決済機能の利用率出したいなと思ったときのクエリです。 ちょうどいくつかの集計関数がまとまった1クエリとなったのでまとめました。 1234567891011121314151617","link":"/2016/10/19/2016-10-20-totalization-mysql/"},{"title":"Let&#39;s encrypt SSL 証明書自動更新","text":"概要Let’s encrypt SSL は開発環境で本番環境と同等にhttps 通信プロトコルを利用したい為に利用しています。 バーチャルホストで複数ドメインを利用している場合等でもマルチドメイン S","link":"/2016/11/13/2016-11-14-autoupdate-letsencrypt/"},{"title":"Golang 簡易パフォーマンス測定","text":"概要簡易的なパフォーマンス測定覚書です。よく使うので備忘録的に保存。 12345678910111213141516171819202122232425262728293031323334packag","link":"/2016/11/20/2016-11-21-monitoring-performance-of-go/"},{"title":"Python ローカルとリモートサーバ上のファイル差分抽出ツール","text":"概要これまで数社経験してきましたが必ずといっていいほど存在する、現状のステータスがわからないサーバ。。 Git 上の master とも差分が激しく生じている状態。。 そんなサーバとローカルの wor","link":"/2016/11/29/2016-11-28-detect-diff-between-local-and-remote-in-python/"},{"title":"CentOS 5系 Neobundle 対応 vim をインストール","text":"概要CentOS 5 に vim をソースからビルドしようとした所.configure 実行時にエラー発生 1234no terminal library foundchecking for tget","link":"/2016/11/29/2016-11-30-install-neobundle-vim/"},{"title":"zsh vcs_info が使えない問題解決","text":"概要CentOS5 系で yum でインストールした zsh で以下エラー発生 1precmd: vcs_info: function definition file not found Versio","link":"/2016/11/29/2016-11-30-zsh-not-use-vcs_info/"},{"title":"「会員登録完了メールが迷惑メールに入っちゃいます」対策","text":"概要サイト作りにありがちな設定忘れ「会員登録完了メールが迷惑メールに入っちゃいます」 SPF レコード設定と DNS の逆引き設定が必要です。 まず DNS 正引きとは ドメイン — 問合せ —&gt","link":"/2016/12/01/2016-12-02-meiwaku-mail/"},{"title":"Jenkins が起動しない - Unable to read &#x2F;var&#x2F;lib&#x2F;jenkins&#x2F;config.xml -","text":"とある午後、Jenkins を再起動したときに出たエラー12345678910hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.Reac","link":"/2016/12/08/2016-12-09-fix-unable-to-read-jenkins-config/"},{"title":"リモートサーバとローカルサーバとの差分のあるファイル情報を取得するツール作ってみた","text":"概要リモートサーバとローカルサーバとの差分のあるファイル情報を取得するツールを Golang で作成しました。 GitHub - kenzo0107/diffrelo: diffrelo is a t","link":"/2017/01/09/2017-01-10-detect-diff-between-local-and-remote/"},{"title":"Prometheus でサーバ監視","text":"概要以前 Ansible + Vagrant で Prometheus モニタリング環境構築について書きました。 Ansible+Vagrant でシンプルなPrometheusモニタリング環境構築 ","link":"/2017/01/19/2017-01-20-prometheus-monitoring/"},{"title":"Node Exporter 構築手順 + Prometheus からAWSオートスケール監視","text":"概要前回 Prometheus Server 構築しました。 Prometheus でサーバ監視 - 長生村本郷Engineers'Blog以下に移行しました。 kenzo0107.github.io","link":"/2017/01/24/2017-01-25-prometheus-aws-autoscaling/"},{"title":"Alertmanager 構築手順","text":"概要前回 Node Exporter 構築しました。 Node Exporter 構築手順 + Prometheus からAWSオートスケール監視 - 長生村本郷Engineers'Blog以下に移行","link":"/2017/02/01/2017-02-02-prometheus-alertmanager/"},{"title":"node_expoter error occured ! hwmon collector failed","text":"概要Amazon Linux に node_exporter をインストールし起動した所以下のエラーが発生し、起動停止してしまいました。 1ERRO[0007] ERROR: hwmon collec","link":"/2017/02/02/2017-02-03-node_exporter-hwmon-collector-failed/"},{"title":"標準的な Golang インストール方法","text":"概要Golang オフィシャルサイトに書かれているそのままです。 Download and install - The Go Programming Language 他 Golang 関連記事説明の","link":"/2017/02/02/2017-02-03-standard-instalation-golang/"},{"title":"node_exporter シェルでクエリ自作","text":"概要node_expoter のオプション --collector.textfile.directory で指定したディレクトリに *.prom という拡張子を配置することでそこに記述したメトリクス情","link":"/2017/02/15/2017-02-16-node_exporter/"},{"title":"Terraform で AWS インフラストラクチャ！","text":"Terraform とは インフラ構成や設定をコードにより実行計画を確認しながら自動化できるツール AWS, Google Cloud 等多数のクラウドサービスで利用可能 HashiCorp 社製 今","link":"/2017/03/22/2017-03-23-terraform-aws/"},{"title":"Terraform でキーペア登録し起動した EC2 に SSH接続","text":"今回やること Mac ローカルで公開鍵、秘密鍵を生成 Terraform で EC2 起動、セキュリティグループで SSH (ポート 22)許可、key-pair 登録 Terraform の Hel","link":"/2017/03/26/2017-03-27-create-keypair-by-terraform/"},{"title":"Vagrant (Ubuntu) に Docker, Docker Compose インストール","text":"概要開発環境構築用に作成した、Vagrant (Ubuntu) に Docker と Docker Compose をインストールする手順をまとめました。 Vagrantfile 作成かなりシンプルに","link":"/2017/04/12/2017-04-13-install-docker-and-docker-compose-on-vagrant/"},{"title":"Docker Compose チュートリアル","text":"前回 Vagrant (Ubuntu)で Docker, Docker Compose 環境構築しました。 Vagrant (Ubuntu) に Docker, Docker Compose インスト","link":"/2017/04/12/2017-04-13-tutorial-docker-compose/"},{"title":"Docker コマンド早見表","text":"バージョン123docker --versionDocker version 17.04.0-ce, build 4845c56 コンテナ123456789101112131415docker ps ","link":"/2017/04/13/2017-04-14-teat-docker/"},{"title":"AWS [Retirement Notification] 対応","text":"概要とある日、AWS よりこんなメール通知が来ました。 要約するとホストしている基盤のハードウェアで回復不可能な障害が検知されたので指定期限までに対応しないとインスタンスが停止する、とのこと。 今回こ","link":"/2017/04/17/2017-04-18-aws-retairement-notification/"},{"title":"docker-compose で開発環境構築 〜Nginx アクセスログ(ltsv) を fluentd + elasticsearch + kibana で可視化〜","text":"概要前回構築した Vagrant 環境上で docker-compose による開発環境構築をします。 Vagrant (Ubuntu) に Docker, Docker Compose インストール","link":"/2017/04/20/2017-04-21-fke-on-docker-compose/"},{"title":"peco 小技シリーズ  〜多段ssh + peco, ghq + peco + atom〜","text":"概要本当に小技です。が、割と使ってみると作業時間の短縮となって便利という声を頂きpeco 関連でよく使うものを記事にしました。 peco インストール1macOS %$ brew install pe","link":"/2017/04/26/2017-04-27-peco/"},{"title":"Raspberry PI3 Model B に docker-compose で Nginx で認証かけて Prometheus + Node Exporter + Grafana + cAdvisor構築","text":"概要Raspi3 に docker-compose で Prometheus による監視機構を作成しました。 vagrant-docker/docker/prometheus-grafana-on-r","link":"/2017/04/30/2017-05-01-nginx-prometheus-nodeexporter-grafana-cadvisor-on-raspi3/"},{"title":"無料枠で運用！ GKE + Kubernetes で Hubot 〜CLIから実行編〜","text":"概要 無料枠を使って Slack 連携する Hubot を GKE で構築します。 おまけで JIRA 連携も Google Cloud SDK のインストール方法と初期化Mac OS X 用クイック","link":"/2017/05/09/2017-05-10-gke-kubernetes-hubot-cli/"},{"title":"無料枠で運用！ GKE + Kubernetes で Hubot 〜独自ネットワーク作成、設定ファイルから起動編〜","text":"前回手元の Mac からコンテナクラスタ → Deployment → LB 作成する手順をまとめました。 無料枠で運用！ GKE + Kubernetes で Hubot 〜CLIから実行編〜 - ","link":"/2017/05/15/2017-05-16-gke-kubernetes-hubot/"},{"title":"Install PHP7, PECL, PEAR on MacOS","text":"備忘録です。忘れない為の自分への一筆。 PHP 7 インストール1234$ brew update$ brew install homebrew/php/php70$ echo 'export PAT","link":"/2017/06/12/2017-06-04-install-php7-pecl-pear-on-macos/"},{"title":"Apache 2.2.15 → 2.4.25   PHP 5.6 → 7 へアップデート on CentOS 6.9","text":"概要PHP5 利用していますか？ PHP5.6 のセキュリティサポート期限は 31 Dec 2018 迄※ Supported Versions 参考 Apache/PHP アップデート、腰が重かった","link":"/2017/06/12/2017-06-13-update-apache-php/"},{"title":"Flask Python3 で 戸田市 tocoちゃんバスあと何分？ Webアプリ作成♪","text":"Flask(フラスク) とはFlask Official Site を参照すると冒頭に以下の文章があります。 1Flask is a microframework for Python based o","link":"/2017/07/06/2017-07-07-flask/"},{"title":"Install latest Nginx on Ubuntu","text":"Just a memo. Install Nginx123456ubuntu%$ sudo suubuntu%$ curl http://nginx.org/keys/nginx_signing.ke","link":"/2017/07/09/2017-07-10-install-latest-nginx-on-ubuntu/"},{"title":"Mackerel で Docker の起動状態確認","text":"概要Docker コンテナがいつの間にか Exit していた！なんてことを防ぐ為の Mackerel Agent の設定です。 mackerel-plugin-docker-state インストール1","link":"/2017/07/13/2017-07-14-monitor-state-of-docker-by-mackerel/"},{"title":"5分でできる♪ AWS Lambda で EC2 Event を Slack 通知","text":"以前 AWS EC2 メンテ通知のイベントチェックスクリプトを作成しました。合わせて、対象インスタンスを停止・起動する様にしました。 AWS [Retirement Notification] 対応概","link":"/2017/07/17/2017-07-18-notify-to-slack-about-ec2-events-by-lambda/"},{"title":"I used Phinx, DB migration Tool on Docker!","text":"OverviewThis is Sandbox for DB Migration Tool Phinx. Preparation12$ git clone https://github.com/ken","link":"/2017/07/20/2017-07-21-commit-to-phinx-migration-tool/"},{"title":"GKEチュートリアルでサイト構築・運用","text":"概要以前さくらVPS上で tocoちゃんバスアプリを作成しました。 Flask Python3 で 戸田市 tocoちゃんバスあと何分？ Webアプリ作成♪ - 長生村本郷Engineers'Blog","link":"/2017/08/02/2017-08-03-tutorial-of-gke/"},{"title":"Go+Revelフレームワーク 非同期でS3へ画像リサイズ&#x2F;アップロード","text":"備忘録です。 概要AWS 向けの go ライブラリが乱立していてどれ使ったらいい？という感じだったので本家の launchpad.net/goamz/aws を利用して実装することにしました。 Con","link":"/2017/08/08/2017-08-09-go-revel-upload-to-s3/"},{"title":"今更聞けない！CPU, Memory 使用率の見方","text":"気持ちを抑えられずありがちなタイトルを付けました。 サーバ負荷監視時のボトルネックの特定をする為、実際に手を動かして自分で見て解決するというチュートリアルとして本記事を参照いただければ何よりです。 サ","link":"/2016/08/09/2017-08-10-how-to-see-cpu-memory-utili/"},{"title":"Vagrant + docker-compose で Rails 5.1.0 (Puma) + Nginx + MySQL 環境構築","text":"概要簡易的に Rails 環境を構築・開発できる様にすべく構築しました。 こんな時に利用してます。 新規プロジェクト開発 新規 gem, その他ミドルウェアの試験 簡単なモックを作ってディレクターに見","link":"/2017/08/21/2017-08-22-docker-compose-rails-nginx-mysql-on-vagrant/"},{"title":"MySQL 一定秒以上 Sleep しているプロセスを一括 kill","text":"メモ 300秒以上 Sleep しているプロセスIDをまとめて表示1234567$ mysql -h &lt;host&gt; -u &lt;user&gt; -p -e'SELECT GROUP_C","link":"/2017/08/24/2017-08-25-mysql-kill-sleep-process/"},{"title":"docker-comopse で Rails 5 (Puma) + Nginx + Mysql 構築 on Vagrant(Ubuntu)","text":"自身の Rails 開発環境の雛形として利用している docker-compose です。 vagrant-docker/docker/rails-puma-nginx-mysql at master","link":"/2017/09/12/2017-09-13-docker-compose-rails5-nginx-mysql-on-vagrant/"},{"title":"AWS Elasticsearch Service バージョンアップ 2.2 → 5.5","text":"概要AWS Elasticsearch Service (ES) 2.3 → 5.5 へバージョンアップを実施に際して以下記事をまとめました。 大まかな流れ ES バージョン 2.3 のドメインから ","link":"/2017/10/01/2017-10-02-elasticsearch-service-version-up/"},{"title":"WAF+CloudFront でリファラチェック (直リンク禁止)","text":"概要AWS WAF (Web Application Firewall) を利用し Cloudfront でのリファラ制御を実装しましたのでそのまとめです。 直リンク禁止対策として導入しました。 以下","link":"/2017/10/07/2017-10-08-waf-cloudfront-referer-check/"},{"title":"CasperJS+PhantomJS で Github Organization 移行","text":"概要Github Enterprise の Organization 移行を実施した際に CasperJS と PhantomJS でヘッドレスブラウザより操作し移行しました。Github 上で AP","link":"/2017/10/24/2017-10-25-casperjs-phantomjs-github-organization/"},{"title":"toda-tocochan-bus flask on IBM Bluemix へ引っ越し","text":"GCP から IBM Bluemix へ引っ越しました！ toco ちゃんバス あと何分？ 概要さくら VPS から GCP、そして今度は GCP から IBM Bluemix に引越ししました。 以","link":"/2017/10/28/2017-10-29-toda-tocochan-bus-flask-on-ibm-bluemix/"},{"title":"iftop でネットワーク接続状況をリアルタイム監視","text":"iftop 概要CLI上で利用できるネットワークの接続状況をリアルモニタリングするツールです。→ ネットワークのボトルネックを特定する為に利用します。 単にネットワークのモニタリングであれば、モニタリ","link":"/2017/11/07/2017-11-08-iftop/"},{"title":"Prometheus2.0 remote storage 検証","text":"いよいよ出ました Prometheus 2.0 ！ Announcing Prometheus 2.0 | Prometheus 先日モニタリング勉強会でも Paul Taylor さんの LT を拝","link":"/2017/11/12/2017-11-13-prometheus-remote-storage/"},{"title":"Hubot で Git の Pull Request や Issue のコメントのメンション相手に Slack DM で通知","text":"概要Git での Pull Request や Issue コメントのメンションがメール通知で気づけず困った！という声を多く聞き、メンション相手に Slack DM を通知する様な仕組みを作りました。","link":"/2017/11/22/2017-11-23-slack-dm-pullrequest-or-issue-comment-by-Hubot/"},{"title":"terraform workspace で環境毎に tfsate 管理","text":"terraform workspace で環境毎に tfsate 管理した話です。 追記 2019/04/17追記時点で workspace は運用時点の問題が多くあった為、利用していません。以下記事","link":"/2017/12/04/2017-12-05-terraform-workspace-tfsate/"},{"title":"Datadog で Rails Unicorn の Memory, Idle|Busy Worker 監視 〜呉越同舟〜","text":"概要Rails の乗っているホストへ Datadog で Unicorn を監視しようとした所、それらしい Integration がありません((あったら教えてください &gt;_&lt; ))。 ","link":"/2017/12/22/2017-12-23-monitoring-rails-unicorn-by-datadog-using-mackerel/"},{"title":"Datadog Agent 6系にアップデートして Logging 機能を試す！","text":"Datadog Agent 6 系にアップデートして Logging 機能を試す！ 2017 年末に β 版ですが、Datadog の Log 可視化ツールの利用が発表されました。 Unifying ","link":"/2018/01/09/2018-01-10-update-datadog-and-try-loggin-feature/"},{"title":"Linux に rbenv をセットアップして ruby バージョンを切り替える","text":"概要サーバの ruby のバージョンが古かった為、rbenv で ruby のバージョンを切り替える様にした際の設定メモです。 setup rbenv123456789$ git clone http","link":"/2018/03/06/2018-03-07-change-ruby-version-via-rbenv/"},{"title":"ECR にログイン(aws ecr get-login)無しでプッシュする","text":"概要Docker version 1.11 で実装された credential-helper を利用しECR へのプッシュを安全に簡易的に行う仕組みを実装します。 Docker ver 1.11 以上","link":"/2018/03/06/2018-03-07-push-to-ecr-without-login-ecr/"},{"title":"docker build 時に Text file busy で shell が実行できない対策","text":"概要Dockerfile 内に以下のように shell の実行を記述していました。 12RUN chmod +x hoge.sh \\ &amp;&amp; hoge.sh 上記記述のある状態で doc","link":"/2018/04/17/2018-04-18-fix-text-file-busy-on-docker-build/"},{"title":"curl で FTPS (File Transfer Protocol over SSL&#x2F;TLS) 接続確認","text":"以下コマンドで FTPS 接続確認ができます。 1curl -u &lt;user&gt; --ftp-ssl -k ftp://&lt;ftp domain&gt;/ 概要備忘録記事です。 社外向け","link":"/2018/04/17/2018-04-18-ftps-by-curl/"},{"title":"続　ECR にログイン(aws ecr get-login)無しでプッシュする","text":"概要前回 ECR への Docker イメージをプッシュする際の認証コマンドを実行せずにプッシュできる様にしました。 ECR にログイン(aws ecr get-login)無しでプッシュする ですが","link":"/2018/05/09/2018-05-10-ecr-nologin-push/"},{"title":"AWS Vault で複数アカウントにMFA認証通過","text":"AWS Vault とは？AWS Vault は IAM の認証情報 (Access Key Id, Secret Access Key) を安全に OS のキーストアに保存しアクセスできる仕組みを提","link":"/2018/05/13/2018-05-14-aws-vault-mfa/"},{"title":"AWS ECS prefix 指定してまとめてタスク登録解除","text":"概要awscli でタスク定義のまとめて登録解除がなかったので簡単に Shell 化しました 実行1sh deregister_all_tasks_filtered_by_family_prefix.","link":"/2018/05/17/2018-05-18-ecs_prefix/"},{"title":"Rails × Redis でスレッドセーフなアクセス数ランキング実装","text":"概要メディアサイトで記事ページへアクセス数ランキングを実装しました。 Rails 5.1 Redis (AWS ElastiCache 3.2.10) その際にマルチスレッド環境を考慮してスレッドセー","link":"/2018/06/05/2018-06-06-rails-redis-threadsafe/"},{"title":"ecs-cli バージョン指定してインストール","text":"完全な備忘録です。 経緯6月に入って数日、ecs-cli の latest をインストールすると latest が 1.6.0 となりecs-cli compose ... を実行すると以下のようなエ","link":"/2018/06/05/2018-06-06-specify-ecscli-version/"},{"title":"ElastiCache メンテナンス対応 ~2018年梅雨~","text":"2018年6月頃 AWS ElastiCache のメンテナンス通知が大量発生した時の備忘録です。 メンテ時に参照したリンクRedis 用 Amazon ElastiCache 基本、ノードのリプレイ","link":"/2018/06/23/2018-06-24-maintenance_aws_elasticache/"},{"title":"Docker 不要リソースお掃除 compose","text":"概要ECS EC2 で一部コンテナが 起動開始 → 失敗 → 起動開始 → 失敗 を繰り返しサーバが容量不足 no space left に陥る事象がありました。 その時の対応をまとめました。 doc","link":"/2018/07/10/2018-07-11-cleanup_docker_no_required_resource/"},{"title":"顔検出 3分クッキング on MacOSX","text":"概要ラズパイ使って家族と判断したら「こんにちはご主人様」家族以外なら「通報しまーす」と話してくれるおもちゃを作ろうと思ってます。 その前段の前段として静止画で顔検出してみます。 ちなみに顔検出と顔認識","link":"/2018/07/31/2018-08-01-face-detector/"},{"title":"Datadog NTP 監視でアラート鳴りまくり対応","text":"概要サーバ時刻の監視を Datadog で実施する際、標準時刻の参照先が異なることで不要なアラートが発生する事象がありました。 Datadog はデフォルトで pool.ntp.org を参照していま","link":"/2018/07/29/2018-07-30-datadog_ntp_alert/"},{"title":"Flask+Service Worker on Heroku で PWA チュートリアル","text":"概要自分にとっては dev.to でバズった Service Worker。その概要と機能性をなぞってみようとチュートリアル的に学んだ内容をまとめました。 掲題の通り、Flask + Service ","link":"/2018/08/13/2018-08-14-flask-service-worker-on-heroku-pwa/"},{"title":"子供の笑顔と笑い声を聞く為に ffmpeg + Nginx + RTMP on RaspberryPI","text":"概要RaspberryPI 上で rtmp モジュール付きの nginx をビルドし WebCamera で撮影した 動画+音声付き を HLS 配信する際の手順をまとめました。 経緯はじめは外出中に","link":"/2018/08/14/2018-08-15-ffmpeg-nginx-rtmp-on-raspberrypi/"},{"title":"食洗機かけ終わったかわからなくなる問題を RaspberryPI + BlueButton + LINE Notify + Google Home で解決した話","text":"概要食洗機かけ終わったかどうかわからなくなる問題が我が家で多発していました。 それを RaspberryPI + BluetButton + LINE Notify + Google Home で解決","link":"/2018/08/19/2018-08-20-raspberrypi-bluebutton-line-notify-google-home/"},{"title":"プロセスの起動経過時間・CPU使用時間","text":"備忘録です。 プロセスがいつ頃から起動しているものか、全然再起動してないと再起動するのもやや不安になるので 一旦確認しておこう、という気持ちから以下コマンドを使っています。 $ ps -eo pid,","link":"/2018/09/07/2018-09-08-cpu/"},{"title":"S3 に5分毎に出力される AWS LB ログファイルを時間帯を指定してまとめてダウンロード","text":"概要AWS で LB のログを S3 に保存設定をしている場合に、 インシデントがあった時間帯のログがまとめて欲しいという時に awscli でまとめてログ取得しています。 その時の手順を備忘録として","link":"/2018/09/11/2018-09-12-s3-5-aws-lb/"},{"title":"AWS EC2 t2 から t3 へ移行する為の step by step","text":"概要AWS EC2 に t3 系インタスタンスが登場した為、サクッとできるかと思いきや、つまづいた箇所をまとめました。 今回対象のインスタンスは HVM で ubuntu 16.04.5 LTS を使","link":"/2018/09/13/2018-09-14-aws-ec2-t2-t3-step-by-step/"},{"title":"No space left on device が発生して i-node 枯渇してた時の原因調査法","text":"Linux Server で No space left on device が発生した時の対処まとめです。 とりあえず df -h してみるdf -h しても 最大で 77%no space lef","link":"/2018/10/14/2018-10-15-no-space-left-on-device-i-node/"},{"title":"boto3 の AssumeRole をしたアカウントスイッチ credentials 利用時の MFA 突破対応","text":"概要備忘録です。 AssumeRole でのアカウントスイッチで credentials 情報を持っている場合に対応した boto3.Session での認証の仕方です。 MFA 設定してる場合も付け","link":"/2018/12/05/2018-12-06-boto3-assumerole-credentials-mfa/"},{"title":"ECS EC2 上で起動する Datadog Agent コンテナが unhealthy になる時の処方箋","text":"概要1234$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8baa0e2cff47 datadog/docker-dd","link":"/2019/01/09/2019-01-10-ecs-ec2-datadog-agent-unhealthy/"},{"title":"AWS ECS トラブルシューティング","text":"ECS を利用していて幾つかはまったポイントがあったのでまとめました。 started 1 task が複数回実行されるが、コンテナが起動しない12345$ ecs-cli compose servi","link":"/2018/02/07/2019-02-08-aws-ecs/"},{"title":"Rails に reCAPTCHA v3 導入して bot 対策","text":"概要Rails で構築した Web サービスで bot 攻撃を定期的に受けた為、問い合わせフォームに reCAPTCHA v3 を導入しました。 何故 v2 でなく、reCAPTCHA v3 ? v2","link":"/2019/02/16/2019-02-17-rails-recaptcha-v3-bot/"},{"title":"Rails (gem &#39;sendgrid-ruby&#39;) × SendGrid の Event Notification で API Key ごとの独自メタ情報を設定する","text":"SendGrid の Event Notification の使い所SendGrid には Event Notification という Webhook を設定することでメールの送信状態をイベント情報","link":"/2019/03/12/2019-03-13-rails-gem-sendgrid-ruby-x-sendgrid-event-notification-api-key/"},{"title":"ProxySQL で DB の Read&#x2F;Write Endpoint スイッチング","text":"docker-compose 上で ProxySQL で primary DB と secondary DB への SQL 毎にアクセス先をスイッチングする環境を構築し、試験してみました。 kenzo","link":"/2019/03/24/2019-03-25-proxysql-db-read-write-endpoint/"},{"title":"Terraform 運用ベストプラクティス 2019 ~workspace をやめてみた等諸々~","text":"2020-05-05 追記 2020 年春のベストプラクティス更新しています。 以前 terraform で workspace 毎に tfstate 管理する方法を執筆しましたが、実運用上いくつかの","link":"/2019/04/16/2019-04-17-terraform-2019-workspace/"},{"title":"Nginx IP 直アクセス不許可 &amp; LB ヘルスチェック設定","text":"よく設定している Nginx の configure file のアクセス元によっての振り分け方をまとめました。 1LB → Nginx → Rails Nginx 設定 conf.d/default","link":"/2019/04/23/2019-04-24-nginx-ip-lb/"},{"title":"EC2 Instance Connect で AWS EC2 への ssh 管理を IAM User or Group で簡単に♪","text":"概要2019-06-28 に EC2 Instance Conncet が発表されました！ これによって、セキュリティグループと IAM 権限で ssh アクセス許可が可能になります。 例えば、 会社","link":"/2019/06/27/2019-06-28-ec2-instance-connect-aws-ec2-ssh-iam-user-or-group/"},{"title":"EC2 Instance Connect API で ssh ログインできるインタラクティブ cli tool &quot;omssh&quot; を作ってみました。","text":"概要oreno-mssh、またの名を omssh という AWS EC2 Instance Connect API を利用した ssh ログインツールを作成しました。 View post on img","link":"/2019/08/03/2019-08-04-ec2-instance-connect-api-ssh-cli-tool-omssh/"},{"title":"puppeteer on Docker","text":"概要備忘録です。 Puppeteer をローカル環境を汚さず、 Docker 環境上で実行すべくまとめました。 サンプルスクリプトは example.com のスクリーンショットを取得する、というシン","link":"/2019/08/15/2019-08-16-puppeteer-on-docker/"},{"title":"puppeteer で radio ボタンチェック","text":"概要puppeteer というスクレイピングツールで radio ボタンをチェックする為の備忘録です。 例題以下のような radio ボタングループがあるとします。 &lt;input type=\"r","link":"/2019/09/05/2019-09-06-puppeteer-radio/"},{"title":"Ansible FAILED! &#x3D;&gt; {&quot;msg&quot;: &quot;to use the &#39;ssh&#39; connection type with passwords, you must install the ssh pass program&quot;} on MacOS","text":"MacOS で Ansible を利用した所、掲題のようなエラーが発生しました。 その際の対策です。 1brew install https://git.io/sshpass.rb インストール完了ま","link":"/2019/09/18/2019-09-19-ansible-failed-msg-to-use-the-ssh-connection-type-with-passwords-you-must-install-the-ssh-pass-program-on-macos/"},{"title":"AWS ApplicationLoadBalancerリスナールールで特定 IP 以外をメンテナンスページ表示","text":"概要AWS で運用している Web サービスでメンテナンスが必要となり、ALB でメンテ切り替えをした際の対応をまとめました。 手順ALB Listener 一覧からルール変更をします。 ※ 今回 2","link":"/2019/09/29/2019-09-30-aws-applicationloadbalancer-ip/"},{"title":"terraform 0.11 系に対応した GitHub Actions 作った &amp;  tflint も入れてみた♪","text":"概要Terraform 用の GitHub Actions として hashicorp 社にて以下リポジトリが用意されています。 hashicorp/terraform-github-actions ","link":"/2019/09/30/2019-10-01-terraform-0-11-github-actions-tflint/"},{"title":"Datadog Agent for ECS Launch Type&#x3D;EC2","text":"概要ECS 起動タイプ EC2 にてタスク定義に datadog/agent:latest を設定したがメトリクスが取得できない事象がありました。 Infrastructure &gt; Contai","link":"/2019/10/16/2019-10-17-datadog-agent-for-ecs-launch-type-ec2/"},{"title":"Golang で関数のデフォルト引数を指定する","text":"概要Ruby で関数のデフォルト引数を設定する場合は以下のように指定できます。 12345678def hoge(a, b = 2) c = a + bendc = hoge(1)p c// c = ","link":"/2019/11/10/2019-11-11-golang/"},{"title":"Ruby inject (Enumerable) メソッドを学ぶ","text":"概要お題を通して Ruby で inject メソッドを学びました。その備忘録です。 お題123,456 円を紙幣・硬貨が一番少なくなる様になる組み合わせを求めてください。硬貨 … 1, 5, 10,","link":"/2019/11/25/2019-11-26-ruby-inject-enumerable/"},{"title":"Fix: can&#39;t find gem bundler (&gt;&#x3D; 0.a) with executable bundle (Gem::GemNotFoundException)","text":"rbenv で複数 ruby バージョンが存在する環境下で bundle install しようとすると以下のエラーが出てしまいました。 1can't find gem bundler (&gt;= ","link":"/2019/12/05/2019-12-06-fix-can-t-find-gem-bundler-0-a-with-executable-bundle-gem-gemnotfoundexception/"},{"title":"Golang errcheck による defer 警告対応","text":"概要このようなコードを書いていると errcheck を実行した場合、 defer f.Close() と指摘されてしまいます。 12345678910func hoge() error { ... ","link":"/2019/12/08/2019-12-09-golang-errcheck-defer/"},{"title":"gosec で警告される os.Open() 対応","text":"gosec で警告される os.Open() に対応した話です。 gosec で以下のようなコードがあると 1os.Open(fname) 以下のように警告されます。 1G304 (CWE-22): ","link":"/2019/12/08/2019-12-09-gosec-os-open/"},{"title":"Go 静的解析 &amp; 単体テスト on GitHub Actions","text":"以前、複数の AWS Account EC2 インスタンスへの接続を EC2 Instance Connect を使用しインタラクティブに ssh 接続できるツールを作成しました。 EC2 Insta","link":"/2019/12/25/2019-12-26-go_static_analytics_and_unit_test_on_github_actions/"},{"title":"ディスク使用量が増加した際の調査方法","text":"備忘録ディスク使用量増加のアラートが上がったので調査した際の手順をまとめました。 123456$ df -hFilesystem Size Used Avail Use% Mounted ondevt","link":"/2020/02/09/2020-02-10-disk-usage/"},{"title":"GitHub Actions で job を 直列 と 並列 実行どっちにしよう？","text":"概要GitHub Actions で go の errcheck や lint 等、静的解析を実行していますが、その job の直列構成と並列構成、どちらがいいんだろう？と悩んだ時の話です。 悩んだポ","link":"/2020/02/19/2020-02-20-github-actions/"},{"title":"Backlog でコメント追加時に 「お知らせしたいユーザ」に Slack DM する","text":"Backlog でコメント追加時に 「お知らせしたいユーザ」に Slack DM する AWS Serverless Application Model with Golang プロジェクト作りました","link":"/2020/02/24/2020-02-25-backlog-comment-slack-dm/"},{"title":"vscode で Go Generate Unit Test が便利だった♪","text":"Go でテストを書く際に vscode の Go extension の単体テストのフォーマットを簡単に生成できる機能があったので利用すると非常に便利でした。 以下の様な main.go ファイルがあ","link":"/2020/03/06/2020-03-07-vscode-go/"},{"title":"Serverless Framework の設定値の上書き・追加 方法","text":"Serverless Framework での上書き設定について詰まった点をまとめました。 基本的には以下公式ドキュメントを参考にしつつ、いくつか実装パターンを試験しました。 環境変数を例にとって設定","link":"/2020/03/23/2020-03-24-serverlessfw-environment/"},{"title":"CodePipeline で CodeBuild へ環境変数を渡し、上書きすることで CodeBuild を再利用する","text":"CodeBuild を再利用し、不要に作成しない様にした話です。 terraform で buildspec を管理してみる buildspec.yml 1234567---version: 0.2e","link":"/2020/03/30/2020-03-31-buildspec-env/"},{"title":"go.uber.org&#x2F;multierr で error をまとめる","text":"こんなツイートを見つけた！ これはやってみたい！ と早速取り掛かって、これは知って良かった！という内容の一つがコチラ！ 複数のエラーをまとめる処理！ for 内で発生したエラーをまとめて後で表示する、","link":"/2020/03/30/2020-03-31-go-multierr/"},{"title":"Lambda Edge で Basic 認証 や CSP 対応","text":"Basic 認証 や CSP 対応を Lambda Edge で対応した話です。 CSP とは？ XSS, Data Injection の様な特定種類の攻撃を検知し、影響を軽減する為に追加できるセキ","link":"/2020/04/15/2020-04-16-cloudfront-csp/"},{"title":"Terraform ベストプラクティス 2020 春 ~moduleやめてみた~","text":"ToC 概要 結論 module やめてみた これ modules/stg, modules/common どっち？ 問題 そもそも何故分けた？ だから module やめてみた module が便利","link":"/2020/04/24/2020-04-25-terraform-bestpractice-2020/"},{"title":"Go でタイピングゲーム作った","text":"メルカリさんのご好意で「プログラミング言語 Go 完全入門」の期間限定公開のお知らせがあり、早速入門しました！ とても良いなと思ったのは、各章毎、学んだことをハンズオン形式でプログラミングして都度使い","link":"/2020/04/29/2020-04-30-typing-game-go/"},{"title":"Go で Json 取扱","text":"ToC やりたいこと Json ファイルの読み込み struct に格納する Json ファイル出力 余談 やりたいこと Json ファイルの読み込み・構造体に格納 Json ファイルの書き込み時のエ","link":"/2020/05/06/2020-05-07-go-json/"},{"title":"Go で時刻を json.Unmarshal する際の注意点","text":"ToC とある 3rd Party の API のお話 フォーマットどこで定義してるんだろう？ フォーマットを自由に扱うにはどうする？ その他、実例 Slack API usergroups.crea","link":"/2020/05/19/2020-05-20-go-json-time/"},{"title":"aws_ssm_parameter の value を ignore_change に指定しない","text":"ToC 概要 対応ステップ まとめ 概要これまで秘密情報は以下の様な取り扱いをしていることが多かったです。 123456789resource \"aws_ssm_parameter\" \"master_","link":"/2020/05/31/2020-06-01-terraform-sensitive-data/"},{"title":"Backlog API in Go 作りました","text":"ToC Backlog API in Go 作りました Backlog API を作る経緯 Backlog API in Go 作りましたGitHub - kenzo0107/backlog: Bac","link":"/2020/06/05/2020-06-06-backlog-api-go/"},{"title":"AWS IAM Policy はインラインでなく、管理ポリシーを積極的に使おう","text":"ToC 概要 結論、インラインポリシーを控え、管理ポリシーを積極的に使おう terraform の気持ちになってみる 例) 管理ポリシー 例) インラインポリシー まとめ 概要IAM Policy で","link":"/2020/07/01/2020-07-02-aws-iam-policy-managed-or-inline/"},{"title":"AWS S3 Bucket の特定フォルダ以下を社外に共有する際のポイント","text":"ToC 概要 共有方法案 案1. A 社の所有するストレージのアップロード権限をいただく 案2. ROM に入れてお渡し 案3. A 社から弊社 S3 Bucket へのアクセスを許可する 結論: 共","link":"/2020/08/12/2020-08-13-external-s3-bucket/"},{"title":"aws-cli KMS で暗号化・復号","text":"ToC 暗号化 復号 備忘録です。 暗号化aws cli ver.1 1aws kms encrypt --key-id alias/&lt;kms鍵&gt; --plaintext \"&lt;暗号化","link":"/2020/08/13/2020-08-14-aws-kms-encrypt-decrypt/"},{"title":"You are not subscribed to this service","text":"ToC 概要 結論 概要「AWS アカウント開設完了しました！」と言われ、terraform 流してみたら以下の様なエラーが発生。その時対処した内容を備忘録としてまとめます。 1Error: Erro","link":"/2020/10/05/2020-10-06-aws-startup/"},{"title":"SendGrid メール送信できるまで &amp; なりすまし対策","text":"ToC 概要 メール送信設定手続き SubUser 作成 Username Email I.P. ADDRESSES Domain Authentication 設定 Domain Authentic","link":"/2020/10/07/2020-10-08-sendgrid-settings/"},{"title":"Terraform CodePipeline 認証エラー対応","text":"ToC 概要 エラーが発生する経緯 回避策 概要Terraform で管理する CodePipeline で GitHub 認証エラーが発生した為、その回避方法をまとめます。 terraform-pr","link":"/2020/11/19/2020-11-20-terraform-codepipeline-github-oauth-error/"},{"title":"Go logrus でログ出力レベルを変更する","text":"ToC 概要 実際に動かすとわかりやすい。 概要Go の sirupsen/logrus が便利でよかったので、備忘録として残しておきます。 Go でツール作成時にデバッグしたい時にレベルをさくっと変","link":"/2020/11/26/2020-11-27-go-logging-level/"},{"title":"ruby で ElastiCache Redis （クラスターモード有効） 利用でハマった所","text":"ToC 概要 まず結論 接続設定 Redis Cluster の接続でハマった。 クラスターモード使用時の注意 スケーリング中のアクセスは本当に処理され続けるのか？ sidekiq で利用するには 参","link":"/2020/12/10/2020-12-11-ruby-to-elasticache-redis-cluster-mode/"},{"title":"Terraform Elasticache Redis 6.x 構築時の注意","text":"ToC 概要 redis engine_version = 6.x 指定時の問題点 概要terraform で ElastiCache redis 6 系を利用時に通る儀式があったので、備忘録 red","link":"/2020/12/13/2020-12-14-terraform-elasticache-redis-6.x/"},{"title":"2020年 RapberryPI で作ったおもちゃ達","text":"ロトム図鑑Instagram 息子にポケモンのスマホロトム作って！と言われて作りました♪「ロトム、ピカチュウ」でピカチュウの情報を喋ってくれます。 ポケモンの API でもあればなぁ〜と思って探したら","link":"/2021/01/21/2021-01-22-pokemon/"},{"title":"既存 ECS Service の Fargate Spot への切り替え方法","text":"ToC 概要 terraform で切り替える aws-cli で切り替える CodeDeploy のデプロイコントローラーで管理されている場合 ダウンタイムなしで切り替え &amp; tfstate","link":"/2021/01/28/2021-01-29-apply-fargate-spot-for-existed-fargate/"},{"title":"Go で init() 内の os.Exit(1) を go test で回避する方法","text":"ToC 概要 検証 main_test.go で main.go の処理を上書きできるか検証する テスト実行時のみ環境変数で制御する まとめ 追伸 概要AWS Lambda Go プロジェクトを SA","link":"/2021/01/31/2021-02-01-avoid-go-init-osexit/"},{"title":"terraform-provider-aws 3.26.0 で ElastiCache ClusterMode でエラーになる件","text":"ToC 備忘録です。 terraform-provider-aws 3.26.0 で 以下設定ではエラーになります。 12345678910resource \"aws_elasticache_repl","link":"/2021/02/01/2021-02-02-avoid-elasticache-cluster-mode-error-in-terraform-provider-aws-3-26-0/"},{"title":"Ansible のターゲットホストで Python3 を指定し pip install する","text":"ToC 概要 OS バージョン情報は以下の通り サムネイルが全てですが、一応 概要Raspberry PI Zero WH で、 python -V すると Python 2.7.16 が返ってきた。","link":"/2021/03/06/2021-03-07-use-python3-by-ansible/"},{"title":"Nginx on Fargate で発生した Resource temporarily unavailable エラーを調査した","text":"Nginx を Fargate で起動しているが、検証中にすぐにリクエストが詰まってしまう事象に悩まされました。その際に調査したことをまとめます。 ToC エラーログレベルを debug に設定 ne","link":"/2021/04/15/2021-04-16-nginx-on-fargate-somaxconn/"},{"title":"Fargate のタスクサイズ による Nginx の起動プロセス数","text":"備忘録です。 Nginx の設定で、プロセス数を auto にして CPU コア数に委ねる設定があります。 1worker_processes auto; Fargate のタスクサイズだとプロセス数","link":"/2021/04/29/2021-04-30-nginx-process-count-on-fargate/"},{"title":"NLB+Fargate でクライアントIP を Fargate に送り届ける","text":"ToC 原因 対策 TargetGroup の設定 Nginx の設定 結果 NLB 配下の TargetGroup では、アクセス元のクライアント IP を変更することなく、Target に渡すこと","link":"/2021/04/29/2021-04-30-send-clientip-nlb-nginx-on-fargate/"},{"title":"Nginx で ELB のヘルスチェックのログを出力させない","text":"概要ELB のヘルスチェック時の User-Agent ($http_user_agent) が ELB-HealthChecker の場合に、ログをオフにする設定の備忘録です。 123456789h","link":"/2021/05/19/2021-05-20-nginx-no-logging-at-elb-healthcheck/"},{"title":"日本の祝日判定 Go ライブラリ shukujitsu を作った","text":"ToC 概要 祝日判定の方法 自動化はどう実現したか？ Google Calendar API を採用した理由 総評 概要2021 年の夏は五輪特措法で海の日が 7/19 から 7/22 に移動されて","link":"/2021/07/08/2021-07-09-shukujitsu-go-library/"},{"title":"ecs execute command が失敗した際に調査したこと","text":"ToC 概要 まずは本当に有効化されているか調査する Task Role が権限を所持しているか 他のコンテナで試してみる 対象のコンテナを再度実行 同一タスクで強制デプロイでタスクを入れ替える まと","link":"/2021/07/26/2021-07-27-ecs-execute-command-agent-not-running/"},{"title":"Nginx access_log $host が _ になる件調査","text":"Nginx access_log で指定している $host が _ となるケースがあるので調査したことをまとめます。 ToC $host とは？ アクセスログ設定 Host ヘッダーを空指定してリク","link":"/2021/09/06/2021-09-07-nginx_access_log_host_empty/"},{"title":"DynamoDB Scan ではなく Query を使おう！ ~GSI の設定には気をつけようの巻~","text":"ToC 【例題】 どうやって Query を実行する？ GSI を指定する 余談 参考: https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest","link":"/2021/09/20/2021-09-21-dynamodb-query-better-than-scan/"},{"title":"AWS KMS キーを設定する意味を考える","text":"aws_rds_cluster の kms_key_id は Optional (任意) ですが、これを設定するとどんなメリットがあるか考えたいと思います。 ToC kms_key_id とは？ スト","link":"/2021/09/28/2021-09-29-you-should-set-kms-key/"},{"title":"AWS Transfer for sftp + S3 で IP 制限付き sftp サーバ構築","text":"ToC 概要 SFTP 構築方法 比較 アーキテクチャ terraform で対応 Transfer for sftp サーバ構築 Transfer for sftp アクセス可能ユーザ作成 操作ログ","link":"/2021/10/19/2021-10-20-aws-transfer-for-sftp/"},{"title":"curl で Datadog ユーザ ID リスト取得","text":"ToC 備忘録です。 Datadog ユーザをコンソール上で登録して、後追いで terraform 管理せねば！という時がありました。 後追いで terraform datadog_user で管理す","link":"/2021/10/19/2021-10-20-datadogapi-get-user-id/"},{"title":"ログ保存用 S3 Bucket の ACL で CloudFront や他 S3 Bucket のアクセスログを保存許可する","text":"ToC CloudFront Log Delivery Canonical User ID が data ソースで取れる様になった！ まとめ terraform 的には以下の様に設定します。 1234","link":"/2021/11/03/2021-11-04-cloudfront-logdelivery/"},{"title":"公開された S3 Objcet を探せ！","text":"ToC スクリプトで調査する CloudTrail を Athena で検索する AWS075: S3 Access block should restrict public bucket to li","link":"/2021/11/04/2021-11-05-find-public-s3-objects/"},{"title":"DIY 初心者の工具選び","text":"ToC 最近作ったもの 大まかな工程 1. 設計図を書く 2. 木材調達 3. 木材カット Black &amp; Decker ジグソー利用時の注意点 4. 木材を運ぶ 5. 研磨 makita オ","link":"/2021/11/10/2021-11-11-diy-for-beginner/"},{"title":"no-cache, no-store の違い","text":"ToC no-cache の仕組み 使い所 利用時の注意点 no-store 使い所 厳密にキャッシュさせたくない場合 手厚い防御をしている理由 総評 参考 キャッシュ関連のディレクティブは多々ありま","link":"/2021/12/29/2021-12-30-web-delivery/"},{"title":"warning: reattach-to-user-namespace: unsupported new OS, trying as if it were 10.10","text":"macOS を Catalina から BigSur にアップグレードしたところ、ターミナル起動で以下 warning が見られる様になりました。 1warning: reattach-to-user","link":"/2022/01/03/2022-01-04-rettach-to-user-namespace-unsupported-new-os/"},{"title":"Raspberry PI zero で CO2 濃度測定 &amp; アラートを LINE 通知","text":"ToC 設計図 要点 プロット先を Mackerel にした理由 事前に購入したもの 価格について Raspberry PI OS Ansible で設定 各 Role について Mackerel の","link":"/2022/01/05/2022-01-06-raspberrypi-co2-monitoring/"},{"title":"2022-01-15 昼頃に発生した AWS ElastiCache CPU 使用率の異常上昇について","text":"2022-01-15 11:40 頃 AWS ElastiCache (ap-northeast-1) のいくつかの node で CPU 使用率が 100 % を優に超える値を記録する事象が確認され","link":"/2022/01/14/2022-01-15-aws-elasticache-redis-cpu-utilization-unnormally-up/"},{"title":"terraform で CloudFront マネージドプリフィックスリストを利用したアクセス制限","text":"ToC 早速 terraform で実装してみた CloudFront のプレフィックスリストの取得方法について よりセキュアに 総評 https://aws.amazon.com/jp/about-","link":"/2022/02/09/2022-02-10-cloudfront-managed-prefix/"},{"title":"AWS ALB&#x2F;CloudFront でのメンテナンス切り替え方法","text":"ToC ALB の場合 var.maintenance_mode をメンテモード切り替えに利用している理由 ALB のデフォルトアクションを 404 にしている理由 CloudFront の場合 デフ","link":"/2022/03/12/2022-03-13-maintenance-mode-for-alb-or-cloudfront/"},{"title":"fluentbit JSON のネストしたキーの取得方法","text":"ToC キー log の中身だけ欲しい場合 キー log の中の b の中身だけ欲しい場合 キー log の b のリストの中身だけ欲しい場合 その 2 lua スクリプトで対応 まとめ ECS Se","link":"/2022/03/24/2022-03-25-fluentbit-get-key-from-nested-list/"},{"title":"GitHub Actions で特定ブランチが削除された場合に実行する","text":"ToC 結論 on: delete と if でブランチ名指定 デフォルトブランチに push して初めて on.delete は利用できる まとめ GitHub Actions で特定ブランチが削除","link":"/2022/04/05/2022-04-06-github-actions-delete-event/"},{"title":"Raspberry PI OS で vim インストール","text":"備忘録です。 Raspberry PI OS (32-bit) Bullseye で vim インストールした際のメモです。 12sudo apt-get --purge remove vim-com","link":"/2022/05/08/2022-05-09-install_vim_on_raspberrypi_os/"},{"title":"おうち k8s 構築","text":"ToC 目的 購入したものリスト Raspberry Pi Imager で OS 書き込み cgroup の有効化 swap 無効化 IP 固定 Docker インストール Cgroup Drive","link":"/2022/05/05/2022-05-06-ouchi-kubernetes/"},{"title":"tfsec aws-vpc-add-description-to-security-group 対応","text":"ToC aws-cli でセキュリティグループの description 更新はできない AWS コンソール上でも変更はできない かくなる上は terraform で AWS Security Gro","link":"/2022/05/12/2022-05-13-fix-tfsec-aws-vpc-add-description-to-security-group/"},{"title":"kubeadm init で発生したエラー「unknown service runtime.v1alpha2.RuntimeService」対応","text":"ToC 結論 検証環境 kubeadm init 時に以下エラーが発生した際の対処についてまとめます。 1level=fatal msg=\"getting status of runtime fail","link":"/2022/05/13/2022-05-14-fix-unknown-service-runtime.v1alpha2.runtimeservice/"},{"title":"RaspberryPI に Go をインストールする","text":"RPi に Go をインストールする手順です。2022.05.15 時点最新 1.18.2 をインストールします。 12345678wget https://golang.org/dl/go1.18.","link":"/2022/05/14/2022-05-15-install-golang-on-raspberrypios/"},{"title":"k8s リソースをディスプレイに表示する","text":"ToC 手順 Pod metrics-server 追加 sampler ビルド/実行 いざ sampler 起動 ちょっとハマりポイント 参考 おうち k8s 構築の続きです。 おうち k8s 構築","link":"/2022/05/17/2022-05-18-k8s-monitoring-metric/"},{"title":"black「ImportError: cannot import name _unicodefun from click」 エラー対応","text":"python の自動整形ツール black で以下エラーが発生した為、その時の対応をまとめます。 123456$ black . --check --skip-string-normalization","link":"/2022/05/24/2022-05-25-black-fix-cannot-import-name-unicodefun-from-click/"},{"title":"AWS コンソール上で CodeDeploy でデプロイ管理されている ECS Service をアップデートすると capacity provider が FARGATE になってしまう件","text":"capacity provider strategy で FARGATE_SPOT に weight = 1 で全振りしていた FARGATE がいます。 FARGATE_SPOT weight = ","link":"/2022/05/26/2022-05-27-update-ecs-service-on-aws-console/"},{"title":"AWS CodeBuild で git lfs pull する","text":"ToC 概要 まず問題発生について AWS サポートに問い合わせた Git Large File Storage を利用する チェックアウトするリポジトリ側の対応 CodePipeline &amp;","link":"/2022/06/15/2022-06-16-git-lfs-pull-on-codebuild/"},{"title":"Raspberry PI bullseye で motion を起動しブラウザで表示する","text":"ToC 概要 RPi の設定 RPi 外のマシンの作業 概要Raspberry PI bullseye で motion 起動しブラウザで表示します。 RPi の設定数行で完了します。 123456$","link":"/2022/07/15/2022-07-16-raspberrypi-bullseye-motion/"},{"title":"fix the system should be configured for the legacy camera stack","text":"ToC 概要 libcamera を利用しよう legacy camera stack をサポートしても良し 概要Raspberry PI bullseye で raspistill -o test.","link":"/2022/07/29/2022-07-30-fix-the-system-should-be-configured-for-the-legacy-camera-stack/"},{"title":"RPi opencv で笑顔検知して Slack に通知するカメラを作った","text":"ToC 概要 bullseye 64-bit with Desktop を選択 手順 総評 概要以前 RPi bullseye でカメラモジュール周りの設定が変わったことについて記載させていただきまし","link":"/2022/08/09/2022-08-10-raspberrypi-bullseye-opencv-setup/"},{"title":"Lake Formation で生成される Python スクリプトが動作しないので修正した","text":"ToC 概要 まず結論 まとめ 概要2022.08.02 時点、Lake Formation blueprint incremental database で生成された Glue Workflow を","link":"/2022/08/04/2022-08-05-lake-formation-incremental-database-issue/"},{"title":"ebitengine インストール時に Xcode ライセンスに同意しておきましょう","text":"ToC 概要 実行環境 ebiten 導入時にエラー 再度実行 概要公式 ebitengine インストール の通り、MacOS で ebitengine 導入時に一手間あったので備忘録 実行環境12","link":"/2022/08/20/2022-08-21-install-ebitengine-on-mac/"},{"title":"マルチステージビルドで alpine イメージに nodejs をセットアップする","text":"ToC php の alpine ベースイメージに nodejs をセットアップする場合、apk add nodejs でインストールも可能ですが、マルチステージビルドで node の alpine ","link":"/2022/08/23/2022-08-24-setup-nodejs-on-alpine/"},{"title":"tfsec で terraform 管理リソースのセキュリティ強化","text":"ToC ローカルに tfsec インストール 個々のリソースでルールを除外したいとき プロジェクト全体でルールを除外したいとき GitHub Actions で実行する まとめ tfsec を使用し ","link":"/2022/09/12/2022-09-13-setup-tfsec/"},{"title":"AWS ElastiCache Redis バージョンアップ&amp;ノードタイプ変更時の注意点","text":"AWS より cache.m3 系から cache.m5 系へのアップグレードを促されました。 One or more of your Amazon ElastiCache clusters is r","link":"/2022/09/28/2022-09-29-upgrade_elasticache_redis/"},{"title":"terraform で map 型の値を key 順にソートした上で value のリストを取得する","text":"terraform で map 型を for で整形した際に key を昇順にソートして並べてくれます。 123456789101112131415&gt; {for k, v in {\"a\":3, ","link":"/2022/10/25/2022-10-26-terraform-sort-map/"},{"title":"JavaScript で日付計算の妙","text":"問題です。以下コードを実行した際に何と出力されるでしょう？先月の 1 日を取得したい気持ちです。 1234let dt = new Date('2022-10-31T15:00:00+0900');d","link":"/2022/10/30/2022-10-31-js-get-a-last-month/"},{"title":"AWS Bot 対策","text":"ToC WAF v2 で GEO マッチステートメントで対策 WAF v2 Bot Control で Bot 対策 ManagedRuleGroupConfigs をサポートしていない Bot Co","link":"/2022/11/28/2022-11-29-aws-block-bot/"},{"title":"RDS DB メンテ回避方法","text":"ToC 概要 結論 aws-cli でも確認 AWS ドキュメントでメンテ延期方法の記載があったが… 突発的なメンテは起こり得るものなのか？ また検知方法は？ 検知方法 RDS で突如として対応必須の","link":"/2023/02/16/2023-02-17-avoid-rds-maintenance/"},{"title":"RDS PostgreSQL バージョンアップ","text":"ToC 概要 DB インスタンスクラス毎のサポートする DB エンジンバージョンを確認 10.23 から 14.6 へのバージョンアップは可能か reg* データがないか等の確認 最終的な対応内容 全","link":"/2023/03/19/2023-03-20-versionup-rds-postgresql/"},{"title":"S3 のパブリックアクセスブロック有効後、無効にした際の S3 Object の ACL の挙動","text":"ToC 概要 まず結論 公式ドキュメント参照 試すこと 試してみた acl = public-read でファイルアップロード S3 Object URL へのアクセス可否の確認 S3 パブリックアク","link":"/2023/04/04/2023-04-05-s3-bucket-public-access-block/"},{"title":"terraform の linter tflin を導入し、GitHub Actions で構文チェック","text":"ToC asdf で導入 GitHub Actions で設定 timeout-minutes: 3 GITHUB_TOKEN を指定する理由 terraform の linter として tflin","link":"/2023/04/04/2023-04-05-tflint-is-good/"},{"title":"fix: curl: (48) An unknown option was passed in to libcurl","text":"ToC Dockerfile alpine イメージをベースで RUN curl が失敗し以下エラーが出力されました。 1curl: (48) An unknown option was passed","link":"/2023/04/13/2023-04-14-curl-not-match-libcurl-on-alpine/"},{"title":"alpine イメージに awscli をインストールする","text":"ToC alpine イメージで awscli をインストールする際の備忘録です。 1234567RUN apk add --no-cache \\ python3 \\ py3-pip \\ &amp;&","link":"/2023/04/20/2023-04-21-install-awscli-on-alpine/"},{"title":"Raspberry Pi に USB スピーカーを接続しテキストを音声変換しお話しさせる","text":"ToC 概要 環境 usb スピーカー接続 接続先の USB スピーカーのカード番号・デバイス番号を確認 音がスピーカーから聞こえるかテスト python スクリプトから再生してみる テキストから音声","link":"/2023/05/17/2023-05-18-raspberrypi4b-speaks-via-usb-speaker/"},{"title":"fix: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device","text":"RPi 4B で以下エラーで詰まった時の備忘録です。 123$ pip3 install xxxCould not install packages due to an EnvironmentErro","link":"/2023/05/31/2023-06-01-fix-no-space-left-on-device-when-pip-install/"},{"title":"AWS Savings Plans Coverage API 実行時に DataUnavailableException エラーが発生する","text":"ToC 概要 サポートの回答 Cost Explorer で確認 まとめ 概要AWS Savings Plans Coverage API 実行時に DataUnavailableException ","link":"/2023/05/31/2023-06-01-get-savings-plans-coverage-data-unavailable-exception/"},{"title":"Raspberry Pi 4 Model B に google-cloud-speech インストール時にハマったこと","text":"Raspberry Pi 4 Model B の環境1234567891011121314151617181920$ cat /etc/os-releasePRETTY_NAME=\"Raspbian ","link":"/2023/05/31/2023-06-01-install-google-cloud-speech-on-raspberrypi4b/"},{"title":"SAM テンプレートに既存リソースをインポートする手順 - CloudWatch Logs 編 -","text":"ToC 手順 CloudFormation のテンプレート取得 template.yml にインポートしたいリソースを追記 import.json にインポートしたいリソースを記載 Change se","link":"/2023/06/06/2023-06-07-aws-sam-import-resource/"},{"title":"SAM テンプレートに既存リソースをインポートする手順 - IAM Role 編 -","text":"ToC 手順 CloudFormation のテンプレート取得し template.yml にインポートしたいリソースを追記 import.json にインポートしたいリソースを記載 SAM テンプレ","link":"/2023/06/19/2023-06-20-aws-sam-import-iam-role/"},{"title":"SAM プロジェクトで管理する API Gateway のアクセスログを有効化する","text":"ToC 概要 SAM template.yml 設定 結論 試したこと (NG 集) 概要SAM プロジェクトで管理する API Gateway についてAWS Config rule: api-gw","link":"/2023/07/06/2023-07-07-aws-sam-enable-apigateway-accesslog/"},{"title":"asdf で terraform 複数バージョン管理","text":"ToC asdf 推した理由 MacOS に asdf インストール terraform plugin 追加 &amp; 複数バージョンインストール 特定ディレクトリのみバージョンを指定する tfli","link":"/2023/07/07/2023-07-08-install-terraform-multi-versions-by-asdf/"},{"title":"dependabot が pull request を作成しているか確認するスクリプト","text":"ToC 概要 手順 スクリプト 概要terraform provider の更新等、 dependabot で Pull Request の作成をしていると自分がアサインされていないので気づきにくいで","link":"/2023/07/13/2023-07-14-show-dependabot-pull-requests/"},{"title":"python でファイルの内容を取得する","text":"ToC 概要 テストで使用するファイル用意 ファイルの内容を取得 ファイルの 1 行目のみ取得 ファイルを行毎に取得 ファイルを取得し Yaml としてパースする 概要Python3 でファイルの中身","link":"/2023/07/20/2023-07-21-python-load-file/"},{"title":"AWS CLI で EC2 インスタンス名一覧を取得","text":"AWS CLI で EC2 に設定されたタグから特定のキーを指定し、その値をリストするスクリプトです。以下は Key = Name でその値を取得しています。 EC2 インスタンス名の一覧を取得したい","link":"/2023/11/06/2023-11-07-describe-ec2-specified-tag-key-value/"},{"title":"aws-cli で AWS 起動中のリソース一覧取得する","text":"備忘録です。 複数 AWS アカウントで起動中のリソース一覧作りたい時によく利用しています。 1234567891011121314151617181920212223#!/bin/bashprofi","link":"/2023/11/30/2023-12-01-show-running-aws-resources/"},{"title":"AWS リソースの年間予約購入","text":"ToC 年間予約購入まとめ RI 期限切れ通知 設定 Reserved Instance 購入前後のコスト削減額の計算 Savings Plans コスト削減額 計算 AWS Savings Plan","link":"/2023/12/06/2023-12-07-annual-subscription-purchase-of-aws-resources/"},{"title":"Python ファイル読み込み","text":"ToC Python でファイル内容を読み込みして Azure OpenAI Service に読ませたい時があったのでまとめました。 12345678910111213141516171819202","link":"/2024/05/27/2024-05-28-read-file-by-python/"},{"title":"ALB アクセスログに新たな項目が追加された","text":"2024.05.22 より、ALB のアクセスログを Athena でクエリ実行してみると空の行が返るようになりました。原因を調査してみるとどうやら ALB アクセスログに以下の項目が追加され、フォー","link":"/2024/05/28/2024-05-29-upgrade-alb-accesslog-format/"},{"title":"GitHub Profile Status をクリアする (busy 解除)","text":"GitHub のプロフィールの busy を解除したい時に利用しています。 以上参考まで","link":"/2024/06/23/2024-06-24-clear-github-profile-status/"},{"title":"Error: Docker is unreachable. Docker needs to be running to build inside a container.","text":"ToC DOCKER_HOST を指定する sam build --use-container でビルド実行した際に以下エラーが発生しました。 1Error: Docker is unreachabl","link":"/2024/08/26/2024-08-27-docker-is-unreachable/"},{"title":"asdf で ruby の最新バージョンが見つからない時","text":"ToC 対策: asdf ruby plugin をアップデートする 再度バージョンのリストを表示してみる asdf で ruby の最新バージョンを利用したかったけど、リストになくて困った時の話です","link":"/2024/09/02/2024-09-03-asdf-plugin-update-ruby/"},{"title":"Glue Job Bookmark 機能でなく sampleQuery を使って DB データをエクスポートしてみた","text":"ToC 概要 Glue Job Bookmark 機能とは？ Glue Job Bookmark の問題点 例: 不整合が起こる例 問題点への対応策 まとめ 概要Glue Job で DB データを取","link":"/2024/10/17/2024-10-18-glue-job-bookmark/"},{"title":"RDS のテーブルデータを分析用テーブルにレプリケートする方法一覧","text":"ToC 概要 前提 RDS→GlueJob→Iceberg テーブル RDS Zero-ETL 統合 →Redshift RDS→DMS→S3→GlueJob→Iceberg テーブル RDS→deb","link":"/2024/12/18/2024-12-19-rds-replicate-to-glue-iceberg-table/"},{"title":"Datadog 子組織の削除方法","text":"備忘録としてDatadog の子組織の削除方法をまとめます。 手順1. 監視や API Key, Application Key を削除 監視が残っていると削除できない場合があります。 API Key","link":"/2025/01/14/2025-01-15-how-to-delete-datadog-child-org/"},{"title":"データ分析観点から見た AWS ECS コンテナロギング","text":"AWS ECS コンテナロギングをデータ分析観点からどの様な構成だと分析に都合が良いかの観点を記載します。 基本ログは追加のみで更新や削除はされない性質があるので、その点を考慮して登録されることを意識","link":"/2025/04/21/2025-04-22-ecs-container-logging/"},{"title":"Python tox を利用し複数の構文チェックツール管理","text":"Python の構文チェックツールが乱立しており、それぞれ用途が異なり、設定が大変だったところを tox というツールでまとめてみました。 利用する構文チェックツール requirements-dev","link":"/2025/06/04/2025-06-05-python-tox/"},{"title":"Confluent Cloud の料金比較：SaaS版 vs AWS Marketplace版","text":"Confluent Cloud の料金体系について、SaaS版と AWS Marketplace版の比較を調べてみました。 ※ 本記事は Claude Code で調べ得た内容を Obsidian に","link":"/2025/07/02/2025-07-03-confluent-pricing-saas-vs-aws-marketplace/"},{"title":"awsume と peco を使ってスイッチロールを簡単に","text":"AWS で複数のアカウントを管理している際、プロファイルの切り替えが面倒になることがあります。今回は awsume と peco を組み合わせたインタラクティブな AWS プロファイル選択スクリプトを","link":"/2025/07/03/2025-07-04-awsume-switch-role/"},{"title":"Kafka への流入量の試算","text":"AWS RDS の CDC を Kafka でストリーミングし Iceberg テーブルへ配信し分析基盤を構築しました。その際に RDS のメトリクスから Kafka への流入量を試算するスクリプトを","link":"/2025/07/16/2025-07-17-aws-aurora-cdc-calculator/"},{"title":"parquet 解析ツール on macOS","text":"iceberg テーブルの圧縮形式は snappy や gzip 等が選択できますが、zstd が圧縮・伸縮効率がよくコストパフォーマンスに優れています。 ですが、圧縮形式 zstd の parque","link":"/2025/10/02/2025-10-03-parquet-cli-on-macos/"},{"title":"AWS Glue Iceberg テーブル v3 スペックの最適化","text":"AWS Glue Iceberg テーブルは 2025.10.28 時点で format-version=2 までサポートしていますが、format-version=3 はサポートしていません。 とは","link":"/2025/10/27/2025-10-28-aws-glue-iceberg-v3-optimization/"},{"title":"Claude Code + AWS 関連MCP で調査を円滑にする","text":"Claude Code + MCP で自然言語で調査指示できる様になった話です。 事前準備 uv 導入 1curl -LsSf https://astral.sh/uv/install.sh | sh","link":"/2025/11/16/2025-11-17-claude-code-aws-mcp/"},{"title":"NAT Gateway リージョナル vs ゾーナル - コストとIPアドレス管理","text":"Claude Code + AWS Document MCP で調査した内容をまとめます。 概要AWS NAT Gatewayには従来の**ゾーナル（Zonal）**モードに加えて、新しく**リージョ","link":"/2025/11/25/2025-11-26-nat-gateway-regional-vs-zonal/"},{"title":"Aurora PostgreSQL db.t4g.medium 相当の Aurora Serverless v2 のキャパシティ設定どのくらい？","text":"概要Aurora Serverless v2 を導入検討する際に Aurora RDS Cluster Instance の最低インスタンスクラスである db.t4g.medium がどの程度のキャパ","link":"/2025/11/30/2025-12-01-aws-aurora-rds-cluster-instance-vs-serverless-v2/"},{"title":"RDS Performance Insights が 2026年6月に EOL、 Database Insights への移行を考える","text":"概要Performance Insights は 2026年6月30日にデプリケートされる予定です。 Monitoring DB load with Performance Insights on A","link":"/2025/12/04/2025-12-05-migrate-from-performance-insights-to-database-insights/"},{"title":"AWS VPC Lattice Resource Gateway と NLB+VPC Endpoint 構成の比較分析","text":"概要本記事では、AWS VPC Lattice の Resource Gateway と、従来の Network Load Balancer (NLB) + VPC Endpoint Service ","link":"/2025/12/10/2025-12-11-nlb-vpc-endpoint-service-vpc-endpoint-vs-vpc-lattice-resource-gateway/"},{"title":"Application Signals MCP に問い合わせしてできること","text":"CloudWatch Application Signals で AIOps 強化が進んでおり期待が高まっております。 Application Signals MCP でどんなことができるのか AWS","link":"/2025/12/16/2025-12-17-what-application-signals-mcp-can-do/"},{"title":"AWS CloudWatch Application Signals の料金体系","text":"AWS Pricing MCP を利用し取得した価格データから AWS CloudWatch Application Signals の料金体系は以下の通りです。 Application Signal","link":"/2025/12/18/2025-12-19-application-signals-price/"},{"title":"完全無料で常時稼働可能なデータベースサービス徹底比較（2026年版）","text":"小規模サービスやプロトタイプ開発において、24時間365日稼働可能で、セキュリティも担保できる完全無料のデータベースサービスを比較検証しました。 はじめに個人開発やスタートアップの初期段階では、インフ","link":"/2026/04/17/2026-04-18-free-database-services-comparison/"},{"title":"CodeBuild Docker キャッシュの損益分岐点：S3 vs ローカル","text":"AWS CodeBuild の Docker キャッシュは S3 とローカルどちらを選ぶべきか。結論から言うと、ほとんどの場合ローカルキャッシュが最適です。本記事では具体的な損益分岐点を示します。 T","link":"/2026/04/19/2026-04-20-codebuild-docker-cache-break-even-analysis/"},{"title":"ECR 用 VPC Interface Endpoint の損益分岐点分析","text":"Amazon ECR（Elastic Container Registry）へのアクセスに VPC Interface Endpoint を導入すべきか、NAT Gateway 経由でアクセスを続ける","link":"/2026/04/19/2026-04-20-ecr-vpc-endpoint-break-even-analysis/"},{"title":"Claude Code でコスト削減 ── AI の主戦場は「実装」より「課題発見」だった","text":"Claude Code のような AI コーディングエージェントは、つい「コードを書かせる道具」として見てしまいます。でも SRE 業務でコスト削減に取り組んでみて気づいたのは、AI の費用対効果が一","link":"/2026/06/10/2026-06-11-ai-cost-reduction-discovery/"},{"title":"AI にシステム月次レポートを書かせる ─ Claude Code × MCP で運用レポートを自動生成する","text":"SRE / インフラ運用をやっていると、サービスごとの「システム月次レポート」を求められる場面があります。先月のコストはどう推移したか、障害やエラーは増えていないか、EOL が近いものはないか ── ","link":"/2026/06/10/2026-06-11-ai-system-monthly-report/"},{"title":"AWS コストを「前月比」で語るときにハマる罠","text":"「先月よりコストが N% 増えた／減った」── コスト管理でよく使うこの比較、実は素朴にやると 構成変更がなくても増減して見える ことがあります。 毎月のコスト比較レポートを自動化する過程で踏んだ「罠","link":"/2026/06/10/2026-06-11-aws-cost-comparison-pitfalls/"},{"title":"LLM 監視ツール比較 Langfuse vs Datadog LLM Observability","text":"LLM 監視ツールの Langfuse と Datadog LLM Observability を一次資料（公式ドキュメント・GitHub）をもとに比較しました。 ※ 本記事は 2026年6月11日時","link":"/2026/06/10/2026-06-11-langfuse-vs-datadog-llm-observability/"},{"title":"ブラウザで動くサッカー作戦盤を作った ── 子供に戦術を説明したくて","text":"選手を配置して動きを 1 ステップずつ保存し、なめらかなアニメーションとして再生できるサッカー作戦盤を作りました。GitHub Pages にもそのまま置ける、ビルド不要の HTML + Pure J","link":"/2026/06/11/2026-06-12-soccer-tactics-board/"},{"title":"PrivacyPolicy","text":"個人情報の利用目的アクセス解析ツールについて当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しております。このGoogleアナリティクスはトラフィックデータの収集","link":"/2013/12/31/PrivacyPolicy/"},{"title":"about","text":"🔧 OSS 📩 Terraform Provider for SendGrid: kenzo0107/terraform-provider-sendgrid 📨 SendGrid Go Clie","link":"/2013/12/31/about/"}],"tags":[{"name":"Vagrant","slug":"Vagrant","link":"/tags/Vagrant/"},{"name":"Chef","slug":"Chef","link":"/tags/Chef/"},{"name":"Android","slug":"Android","link":"/tags/Android/"},{"name":"GooglePlay","slug":"GooglePlay","link":"/tags/GooglePlay/"},{"name":"wget","slug":"wget","link":"/tags/wget/"},{"name":"SonarQube","slug":"SonarQube","link":"/tags/SonarQube/"},{"name":"Unity","slug":"Unity","link":"/tags/Unity/"},{"name":"Apache","slug":"Apache","link":"/tags/Apache/"},{"name":"OpenSSL","slug":"OpenSSL","link":"/tags/OpenSSL/"},{"name":"Ruby","slug":"Ruby","link":"/tags/Ruby/"},{"name":"Go","slug":"Go","link":"/tags/Go/"},{"name":"Kibana","slug":"Kibana","link":"/tags/Kibana/"},{"name":"Nginx","slug":"Nginx","link":"/tags/Nginx/"},{"name":"Fluentd","slug":"Fluentd","link":"/tags/Fluentd/"},{"name":"Slack","slug":"Slack","link":"/tags/Slack/"},{"name":"Elasticsearch","slug":"Elasticsearch","link":"/tags/Elasticsearch/"},{"name":"JavaScript","slug":"JavaScript","link":"/tags/JavaScript/"},{"name":"Redis","slug":"Redis","link":"/tags/Redis/"},{"name":"Python","slug":"Python","link":"/tags/Python/"},{"name":"yum","slug":"yum","link":"/tags/yum/"},{"name":"Monitoring","slug":"Monitoring","link":"/tags/Monitoring/"},{"name":"Twilio","slug":"Twilio","link":"/tags/Twilio/"},{"name":"git","slug":"git","link":"/tags/git/"},{"name":"macos","slug":"macos","link":"/tags/macos/"},{"name":"MySQL","slug":"MySQL","link":"/tags/MySQL/"},{"name":"Outlook","slug":"Outlook","link":"/tags/Outlook/"},{"name":"Email","slug":"Email","link":"/tags/Email/"},{"name":"ping","slug":"ping","link":"/tags/ping/"},{"name":"iptable","slug":"iptable","link":"/tags/iptable/"},{"name":"AWS","slug":"AWS","link":"/tags/AWS/"},{"name":"Pacemaker","slug":"Pacemaker","link":"/tags/Pacemaker/"},{"name":"Corosync","slug":"Corosync","link":"/tags/Corosync/"},{"name":"Swift","slug":"Swift","link":"/tags/Swift/"},{"name":"Hubot","slug":"Hubot","link":"/tags/Hubot/"},{"name":"no-ip","slug":"no-ip","link":"/tags/no-ip/"},{"name":"Security","slug":"Security","link":"/tags/Security/"},{"name":"AntiVirus","slug":"AntiVirus","link":"/tags/AntiVirus/"},{"name":"PHP","slug":"PHP","link":"/tags/PHP/"},{"name":"SSL","slug":"SSL","link":"/tags/SSL/"},{"name":"StatsBot","slug":"StatsBot","link":"/tags/StatsBot/"},{"name":"awk","slug":"awk","link":"/tags/awk/"},{"name":"csv","slug":"csv","link":"/tags/csv/"},{"name":"ipinfo","slug":"ipinfo","link":"/tags/ipinfo/"},{"name":".htaccess","slug":"htaccess","link":"/tags/htaccess/"},{"name":"ssh","slug":"ssh","link":"/tags/ssh/"},{"name":"Zabbix","slug":"Zabbix","link":"/tags/Zabbix/"},{"name":"sftp","slug":"sftp","link":"/tags/sftp/"},{"name":"Jenkins","slug":"Jenkins","link":"/tags/Jenkins/"},{"name":"Prometheus","slug":"Prometheus","link":"/tags/Prometheus/"},{"name":"Ansible","slug":"Ansible","link":"/tags/Ansible/"},{"name":"pip","slug":"pip","link":"/tags/pip/"},{"name":"RaspberryPI","slug":"RaspberryPI","link":"/tags/RaspberryPI/"},{"name":"Reactio","slug":"Reactio","link":"/tags/Reactio/"},{"name":"MachineLearning","slug":"MachineLearning","link":"/tags/MachineLearning/"},{"name":"Cookie","slug":"Cookie","link":"/tags/Cookie/"},{"name":"LINE Notify","slug":"LINE-Notify","link":"/tags/LINE-Notify/"},{"name":"Let&#39;s encrypt","slug":"Let-s-encrypt","link":"/tags/Let-s-encrypt/"},{"name":"vim","slug":"vim","link":"/tags/vim/"},{"name":"zsh","slug":"zsh","link":"/tags/zsh/"},{"name":"spam","slug":"spam","link":"/tags/spam/"},{"name":"Terraform","slug":"Terraform","link":"/tags/Terraform/"},{"name":"Docker","slug":"Docker","link":"/tags/Docker/"},{"name":"GKE","slug":"GKE","link":"/tags/GKE/"},{"name":"Linux","slug":"Linux","link":"/tags/Linux/"},{"name":"WAF","slug":"WAF","link":"/tags/WAF/"},{"name":"casperjs","slug":"casperjs","link":"/tags/casperjs/"},{"name":"flask","slug":"flask","link":"/tags/flask/"},{"name":"iftop","slug":"iftop","link":"/tags/iftop/"},{"name":"Datadog","slug":"Datadog","link":"/tags/Datadog/"},{"name":"Rails","slug":"Rails","link":"/tags/Rails/"},{"name":"ECR","slug":"ECR","link":"/tags/ECR/"},{"name":"FTPS","slug":"FTPS","link":"/tags/FTPS/"},{"name":"Vault","slug":"Vault","link":"/tags/Vault/"},{"name":"ECS","slug":"ECS","link":"/tags/ECS/"},{"name":"ElastiCache","slug":"ElastiCache","link":"/tags/ElastiCache/"},{"name":"cpu","slug":"cpu","link":"/tags/cpu/"},{"name":"S3","slug":"S3","link":"/tags/S3/"},{"name":"ALB","slug":"ALB","link":"/tags/ALB/"},{"name":"i-node","slug":"i-node","link":"/tags/i-node/"},{"name":"reCAPTCHA","slug":"reCAPTCHA","link":"/tags/reCAPTCHA/"},{"name":"SendGrid","slug":"SendGrid","link":"/tags/SendGrid/"},{"name":"ProxySQL","slug":"ProxySQL","link":"/tags/ProxySQL/"},{"name":"Puppeteer","slug":"Puppeteer","link":"/tags/Puppeteer/"},{"name":"GitHub Actions","slug":"GitHub-Actions","link":"/tags/GitHub-Actions/"},{"name":"Lambda","slug":"Lambda","link":"/tags/Lambda/"},{"name":"CodeBuild","slug":"CodeBuild","link":"/tags/CodeBuild/"},{"name":"Confluent","slug":"Confluent","link":"/tags/Confluent/"},{"name":"Kafka","slug":"Kafka","link":"/tags/Kafka/"},{"name":"awsume","slug":"awsume","link":"/tags/awsume/"},{"name":"peco","slug":"peco","link":"/tags/peco/"},{"name":"shell","slug":"shell","link":"/tags/shell/"},{"name":"cli","slug":"cli","link":"/tags/cli/"},{"name":"Aurora","slug":"Aurora","link":"/tags/Aurora/"},{"name":"CDC","slug":"CDC","link":"/tags/CDC/"},{"name":"CloudWatch","slug":"CloudWatch","link":"/tags/CloudWatch/"},{"name":"PostgreSQL","slug":"PostgreSQL","link":"/tags/PostgreSQL/"},{"name":"Database","slug":"Database","link":"/tags/Database/"},{"name":"Supabase","slug":"Supabase","link":"/tags/Supabase/"},{"name":"Turso","slug":"Turso","link":"/tags/Turso/"},{"name":"MongoDB","slug":"MongoDB","link":"/tags/MongoDB/"},{"name":"Firebase","slug":"Firebase","link":"/tags/Firebase/"},{"name":"CockroachDB","slug":"CockroachDB","link":"/tags/CockroachDB/"},{"name":"Cost Optimization","slug":"Cost-Optimization","link":"/tags/Cost-Optimization/"},{"name":"Claude Code","slug":"Claude-Code","link":"/tags/Claude-Code/"},{"name":"SRE","slug":"SRE","link":"/tags/SRE/"},{"name":"Cost","slug":"Cost","link":"/tags/Cost/"},{"name":"MCP","slug":"MCP","link":"/tags/MCP/"},{"name":"FinOps","slug":"FinOps","link":"/tags/FinOps/"},{"name":"LLM","slug":"LLM","link":"/tags/LLM/"},{"name":"Langfuse","slug":"Langfuse","link":"/tags/Langfuse/"},{"name":"Observability","slug":"Observability","link":"/tags/Observability/"},{"name":"Canvas","slug":"Canvas","link":"/tags/Canvas/"},{"name":"個人開発","slug":"個人開発","link":"/tags/%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA/"},{"name":"サッカー","slug":"サッカー","link":"/tags/%E3%82%B5%E3%83%83%E3%82%AB%E3%83%BC/"}],"categories":[{"name":"Infrastructure","slug":"Infrastructure","link":"/categories/Infrastructure/"},{"name":"Database","slug":"Database","link":"/categories/Database/"},{"name":"Python","slug":"Python","link":"/categories/Python/"},{"name":"Git","slug":"Git","link":"/categories/Git/"},{"name":"Monitoring","slug":"Monitoring","link":"/categories/Monitoring/"},{"name":"Data Analytics","slug":"Data-Analytics","link":"/categories/Data-Analytics/"},{"name":"Go","slug":"Go","link":"/categories/Go/"},{"name":"AWS","slug":"AWS","link":"/categories/AWS/"},{"name":"RaspberryPI","slug":"RaspberryPI","link":"/categories/RaspberryPI/"},{"name":"AI","slug":"AI","link":"/categories/AI/"},{"name":"Terraform","slug":"Terraform","link":"/categories/Terraform/"},{"name":"DIY","slug":"DIY","link":"/categories/DIY/"}],"pages":[{"title":"","text":"(() => { const LS_CIRCUIT = 'toco_circuit_id'; const LS_STATION = 'toco_station_id'; let selectedCir","link":"/toda-tocochan-bus/app.js"},{"title":"","text":"// tocoちゃんバス 時刻表データ (2025年版) // PDF (66996.pdf) より更新 const CIRCUITS = [ { id: 1, name: '南西', color: ","link":"/toda-tocochan-bus/data.js"},{"title":"","text":"tocoちゃんバス 時刻表 tocoちゃんバス 時刻表 循環を選択してください 循環選択に戻る 停留所選択に戻る 更新 [戸田市非公式] バス事業者公式アプリではありません。事業者様へのお問い合わせは","link":"/toda-tocochan-bus/index.html"},{"title":"","text":"*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --green: #16a34a; ","link":"/toda-tocochan-bus/style.css"},{"title":"","text":"const CACHE = 'tocochan-v2'; const ASSETS = [ './', './index.html', './style.css', './app.js', './da","link":"/toda-tocochan-bus/sw.js"}]}