エンジニアリング
背景 個人プロダクト用にMySQL8を運用していて定期的にバージョンアップを行っている 8.0.14 から 8.0.16 にマイナーバージョンアップしたところMySQLが起動しなくなった ファーーーーーーー pic.twitter.com/FrFW5kfi1K— ぴんくもひかん (@pinkumohikan) A…
Scalaでテンプレートエンジン使いたくなったので調べた。 www.scala-lang.org 探し方 GitHubでホスティングされているホットなものを探す。 github.com こういうのを探すときは、 そこそこstarがついている (= みんなに使われている) 定期的に新バージョンが…
学び CircleCI上でdockerを動かすとデフォルトではバージョン17.09っていう化石エンジンで動いてしまうので気をつけるべし。 背景 とあるOSSアプリ のCIをCircleCIでしようと思って悪戦苦闘していたら、こういうリプを貰った。 よい子はちゃんとバージョン指…
こんにちは。 軽量でポータブルな開発&実行環境としてDockerが人気ですね。 僕は数年前までは開発環境にはもっぱらVagrantを使っていたのですが、最近は仕事でもプライベートでもDockerしか使ってないです。 Dockerは単純に捨てやすい開発環境という使い方…
僕は仕事でもプライベートでも開発環境としてMacBookを使っているのですが、毎朝 brew upgrade コマンドを叩いています。今日は何が上がったかな?を確かめるのが日課です。これをせずにbrew installをした日にはたくさんのupgradeが走ってめちゃめちゃ待た…
なんか釣りっぽいタイトルになってしまいましたが、そんな意図はありませんw CI/CDツールとして良くTravis CIを使っています。CDの際などにアプリ設定やDB接続情報と言った機微情報を扱うとき、travis-cliの travis encrypt-file というコマンドを使うとTr…
MySQL5.7.8以降で、ゆるいパスワードでユーザを作成しようとした際に下記のようなエラーで怒られる mysql> create user "user_name"@"localhost" identified by "some_weak_password"; ERROR 1819 (HY000): Your password does not satisfy the current poli…
背景 *.pinkumohikan.com 用のワイルドカード証明書が pinkumohikan.com ドメインでも使えるのかどうかが気になった。 これまでは pinkumohikan.com はドメインの階層(深さ)が違うので使えないと考えていたが、あるとき pinkumohikan.com でも使えるという…
やりたいこと composerをダウンロードしたい 繰り返し実行できるように、composerが既にDL済みのときは何もしたくない (毎回DLするのは無駄なのでやりたくない) やりたいことを叶えるMakefile .PHONY: setup setup: composer.phar # ここにアプリケーション…
背景 phpプラグインを有効にしているJetBrains IntelliJで、とあるphp拡張を利用した実装をしたとき下記のような警告がでた ext-json is missing in composer.json 「ext-jsonって確か組み込みモジュールだよなー。足りないはずはないし、なんで警告でるねん…
時代はフルSSLなので追従しました staff.hatenablog.com SSL化してURL Schemeが変わるとソーシャルブックマークが(はてなブックマーク以外は)リセットされるし、Google Search ConsoleやAnalyticsの設定変更なども必要になってvery 面倒なので腰が重く、着…
Laravelベースなマイクロフレーム LumenでキャッシュドライバとしてRedisを使おうとしていくつかハマったのでメモ (改めて公式ドキュメントみたら大体書いてたw)。 必要なこと Redisを使えるようにする Redisサーバの用意 (割愛) .env に REDIS_ 系環境変数…
Iikanjini Speed Up Contestへ人生2回目の参加をして、無事爆死してきました ▼ チームメンバー がんばるぞ〜!起床に成功したので、今のところ優勝ペース#isucon #isucon8— 寝具突撃部隊 寝無理隊 (@pinkumohikan) September 15, 2018 予選おつかれさまでし…
gitには、今作業中なんだけどすぐに別の作業したくなって一時的に変更を退避させたいんだよねーという時に使える git stash という便利コマンドがあります。 gitを使い始めて6年ぐらいの先日、stashに名前をつけられることを知りました (厳密には名前じゃあ…
症状 ConoHa のVPSで /etc/hostname へホスト名を書いても、インスタンスが再起動すると初期値へ戻っている。 原因 インスタンスの初期化に使われている cloud-init というソフトウェアの「ホスト名を変更する機能」が有効になっているため。 なので、ConoHa…
Dockerイメージを作る際のベースイメージとしてよく使われるOSに AlpineLinux がある。超軽量なのが特徴で、イメージサイズはわずか4MByte強!参考までに、CentOS7.4のイメージは約200MBある。 $ docker images alpine REPOSITORY TAG IMAGE ID CREATED SIZE…
CircleCIでdocker buildする際、初期状態ではbuild cacheが無効になっている。documentを漁っていたら、オプションでbuild cacheを有効にできるようだったので試してみた。 By default, the Remote Docker Environment doesn’t provide layer caching, but y…
Laravel tinkerからデータベースへつながっていること (SQLを発行出来る状態になっていること) を確認したい!そんなとき コマンド DB::select('select 1'); 実行するとこんな感じ >>> DB::select('select 1'); => [ {#2300 +"1": 1, }, ] 赤くハイライトさ…
package.jsonのlicenseフィールドに何も指定しないと、npm install or yarn installしたときに下記のような警告が出てしまって地味に目障り warning package.json: No license field プライベートプロダクトでpackage managerとしてnpm / yarnを使っているだ…
▼ アイキャッチ画像は適当です ミドルウェアなどのバージョンアップやマイグレーションなどの際に、「今の設定ってデフォルトからどこがどう変わってるんだっけ?」って気になることありますよね? でも、単純に diff コマンドで差分を出すだけだと改行やコ…
PHP Laravel 5.5系のアプリをdockerコンテナにして、所定のログファイルpathから /dev/stdout へのsymlinkを貼って動かしたところ Permission denied エラーが出た。原因を調べたところそれなりにめんどくさかったので調べたことをまとめておく。 症状 docke…
背景 DockerHubにある nginx:latest イメージから起動したコンテナ内で ps を叩いたら root@de0ff7733246:/# ps bash: ps: command not found と言われてしまったので、インストールする インストール nginx:latest の Dockerfile をちら見してみたら、Debia…
PHPで使える 古参 HTTPクライアント、 HTTP_Request2 をcomposerを使ってインストールする方法を紹介します。 今時composerを使っていないPHPプロジェクトなんて有るわけないですからね! pearライブラリをcomposerでinstallするには事前にリポジトリを追加…
crontabファイルを etc/cron.d へ置いても期待通り動かなかったことがあって調べたメモ まとめ /etc/cron.dへ置くファイルは ownerは、rootでなければならない permissionは、owner以外に書き込み権限があってはならない 検証 ownerがroot、かつowner以外のw…
エンジニアにはお馴染みRubyのパパ、Matz氏による「若手エンジニアの生存戦略」勉強会に行って来た 講師: まつもとゆきひろ 提供: サポーターズ 特別協賛: Speee 会場提供: DRECOM ↑ 会場設営中の様子。素敵な空間でした!DRECOMさんありがとうございます! …
CentOSへpipでaws-cliを入れようとしたら、下記のようなエラーが出た。 $ pip install aws Collecting aws Downloading aws-0.2.5.tar.gz ...snip... No package 'libffi' found c/_cffi_backend.c:2:20: 致命的エラー: Python.h: そのようなファイルやディ…
正規表現って構文が色々あって、読むごとに学びがありますよね。 今回は “?:” っていう構文について調べたので、備忘録がてらメモっときます (写真は昨日の夜に行った 七志 とんこつ編 渋谷道玄坂店 です) 正規表現 “?:” の意味 MSDNによると、 (?:pattern) …
unix系OSには任意のユーザとしてコマンドを実行する sudo というコマンドがあります。 Linuxコマンド集 - 【 sudo 】指定したユーザーでコマンドを実行する:ITpro このコマンドは、一般ユーザでログインした状態でroot権限でコマンドを実行したいときに良く…
ことのはじまり シェルスクリプトを書くときに set -e しますよね これをしておくとシェルスクリプトの途中でエラーが発生した場合に処理を中断してくれるので、ある処理が失敗したあと、意図せず後続の処理が動いて悲劇が起こるのを防いてくれます ところが…
はじめに PHPは素敵な言語です。 ※ 「素敵」という表現は主観的なものであり、何を素敵と思うかは個々の自由である。そのため異論は一切認めない。 この #PHPの不思議な世界 という謎のタグの付いている記事は、職業プログラマーとしてPHPコードを書いていて…