モヒカンは正義

プログラマー風林火山で言う「風のエンジニア」になりたい(比較的)若者Webエンジニアの備忘録

硬貨を傷つけると違法でも、お札を傷つけても違法ではないってマジ?

きっかけはこのツイート。 横浜駅東口で金下ろしたらなんだこれ pic.twitter.com/8gxOaFTEGA— ぱんぱーす (@or_or_o) September 14, 2019 記名された紙幣がATMから払い出されたとのこと。お金に落書きとかするのって違法だったよなーと思ったけど「貨幣の定…

Docker for Macでは定期的にdisk imageをお掃除する必要がある

要点 Docker for Macを使うなら、定期的にdisk imageをお掃除してあげるべし 背景 Docker for Macで開発しているとあるScalaアプリで、下記のようなエラーが出た java.io.IOException: No space left on device あっれー?そんなにdisk使ってたかなーと思っ…

徳丸試験(ウェブセキュリティ試験)を受けてきた

セキュリティ界隈で有名な徳丸さん監修のウェブセキュリティ試験(通称: 徳丸試験)を受けてきた。 peatix.com 徳丸試験受けてきた pic.twitter.com/5oRirTvdw0— ぴんくもひかん (@pinkumohikan) 2019年8月4日 動機 今回、徳丸試験を受けようと思った動機は…

定年や年金受給開始年齢が後ろ倒しになるのは改めて考えると自然だなって思った

65歳定年説や年金受給開始年齢が後ろ倒しになる話を聞くたび、「少子高齢化の影響で財源がないんかなあ、大変だなあ。」ぐらいに思っていた。 今日、下記の記事を読んでちょっと認識が変わった。 life.mattoco.jp 1950年と比較すると、定年後から平均寿命を…

無限LT会 #2 に行ったけどLTを一本もしませんでした

若手ものづくりコミュニティ Oysters 主催のLT会へ行ってきました oysters.connpass.com 無限LT会 #1に続き、2回目の参加です blog.pinkumohikan.com 無限LT会? 無限LTは、すーぐにLTしたがるLTジャンキーの寄り合いみたいなものです(雑) 「LTをするため…

mysqldumpしたら "unknown option '--show-warnings'" と怒られる問題

概要 長年困っていた、.my.cnfに "show-warnings" のオプション書いてたらmysqldumpしたときにunknown optionって怒られる問題。show-warningsを "client" じゃなくて "mysql" ディレクティブに書いとけば、mysql clientのときだけshow warningsできることに…

Ubuntu 18.04.2 LTSへtracerouteコマンドをインストールする

Ubuntu 18環境でネットワーク経路を確認しようとtracerouteコマンドを使おうとしたら入ってなかったのでシュパッとインストールする traceroute --version tracerouteコマンドとは 特定のIPやホストへのネットワーク経路や疎通を確認するためのコマンド 詳し…

docker alpineイメージでtimezoneをAsia/Tokyoに設定する

なぜやるか dockerで良く使われる軽量イメージalpineは、デフォルトtimezoneがUTCになっており、Asia/Tokyo (JST) に設定しないと日本時間から9時間ずれてしまう。 どうやるか Dockerfileに下記のように記せばOK FROM alpine:latest RUN apk --no-cache add …

mysqldumpコマンドで "Unknown table 'COLUMN_STATISTICS' in information_schema (1109)" と怒られる

エラー mysqldump コマンドでMySQL上のデータのバックアップを取ろうとしたとき、下記のようなエラーが出た。 mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLU…

Scalaで使えそうなメールライブラリの調査

Scalaでメール送りたくなってメールライブラリを探したのでまとめておく。 2019年になぜメールか アプリのプッシュ通知やLINE@などの通知手段が普及した2019年でも、保存性やエビデンス、長文の書きやすさ、所有の証明といったの観点でメールという手段も無…

cronの実行ログを見るにはjournalctlコマンドを使う

概要 定期的にコマンドを実行するためのcronという仕組みがある。 いつ、どういうコマンドがcronによって実行されたかを確認したくて、実行ログの確認方法を調べた。 調べて分かったことのまとめ Ubuntu 18 (というか今どきのLinuxたぶん全般) では、crondは…

自宅からメールが送れない?それOP25Bのせいかも

メールを送るシステムを開発していて、会社のネットワークからはメールが送れるのに、自宅やポケットWiFiからだとメールが送れないことがあります。例えば、メールを送ろうとすると No route to host や Destination host unreachable Request timed out が…

MySQLに投げられたすべてのSQLクエリをロギングする

概要 クエリビルダやORMが生成するクエリを確認したい、などの理由で、MySQLに投げられたクエリを確認したくなることがある そういうときは、MySQLのクエリログ (general_log) と言う設定をONにすることによって、すべてのクエリをログに吐かせることができ…

"[skip ci]" とコミットメッセージに書くと、CIをスキップできる

TravisCIやCircleCIを使ってCI/CDするのはだいぶメジャーになりましたね。 ドキュメントのみの更新時やwipのときなど、「git commitはしておきたいけどCIは走らせなくて良いだよな〜」というときありますよね。 そういうとき [skip ci] とコミットメッセージ…

ゆるゆる無限LTというクレイジーイベントへ参加してLT3本やってきた

自分もワイワイしている若者ものづくりコミュニティ Oysters主催、ゆるゆる無限LTというクレイジーイベントへ参加した。 oysters.connpass.com 会場はウィルゲートさん提供。サンクス! 雰囲気 無限LTとwはwww 他の人の LT を聞きながら、LT の資料を作る。 …

MySQL8をバージョンアップしたら起動しなくなった

背景 個人プロダクト用にMySQL8を運用していて定期的にバージョンアップを行っている 8.0.14 から 8.0.16 にマイナーバージョンアップしたところMySQLが起動しなくなった ファーーーーーーー pic.twitter.com/FrFW5kfi1K— ぴんくもひかん (@pinkumohikan) A…

2019/4/21 ISUCON練習記 こんにちはAlibaba Cloud編

TL; DR 9月頭にISUCONの予選があるよ Alibaba CloudでISUCON5を動かしたぞ ISUCONってなんやねん? Iikanjini Speed Up Contestだよ!(雑) isucon.net インフラからアプリと全域に渡るパフォーマンスチューニングのコンテストで、お題となるWebアプリをガ…

Scalaで使うテンプレートエンジンの検討 (Scalate、Twirl、Beard)

Scalaでテンプレートエンジン使いたくなったので調べた。 www.scala-lang.org 探し方 GitHubでホスティングされているホットなものを探す。 github.com こういうのを探すときは、 そこそこstarがついている (= みんなに使われている) 定期的に新バージョンが…

CircleCIでdockerを使うときはバージョン指定を忘れないこと

学び CircleCI上でdockerを動かすとデフォルトではバージョン17.09っていう化石エンジンで動いてしまうので気をつけるべし。 背景 とあるOSSアプリ のCIをCircleCIでしようと思って悪戦苦闘していたら、こういうリプを貰った。 よい子はちゃんとバージョン指…

貴族会のLT大会で「貴族のための仮想通貨 売買BOT開発 入門」というテーマで話してきた #kizokukai

遅くなったけど、貴族会の第3回LT大会へ参加してきたので参加レポートをば。 What’s the 貴族会 LT大会? こ↑れ↓ kizokukai.connpass.com 場所はウィルゲートさんの提供。オフィスきれい。あざます! 貴族会とはなんぞね? 貴族会はトリキ好きな酔っぱらいの…

Docker for Macが路頭に迷わないようにたくさんメモリを食べられるようにする

こんにちは。 軽量でポータブルな開発&実行環境としてDockerが人気ですね。 僕は数年前までは開発環境にはもっぱらVagrantを使っていたのですが、最近は仕事でもプライベートでもDockerしか使ってないです。 Dockerは単純に捨てやすい開発環境という使い方…

30日間brew cleanupしてなかったらbrew upgradeのついでに実行されるようになっていた

僕は仕事でもプライベートでも開発環境としてMacBookを使っているのですが、毎朝 brew upgrade コマンドを叩いています。今日は何が上がったかな?を確かめるのが日課です。これをせずにbrew installをした日にはたくさんのupgradeが走ってめちゃめちゃ待た…

travis encrypt-fileに気をつけろ!2回コマンド叩くと復号に失敗する!?

なんか釣りっぽいタイトルになってしまいましたが、そんな意図はありませんw CI/CDツールとして良くTravis CIを使っています。CDの際などにアプリ設定やDB接続情報と言った機微情報を扱うとき、travis-cliの travis encrypt-file というコマンドを使うとTr…

使わなくなったWAONの残高をAmazonギフト券に変えた

大学生時代の住処の近くにイオン系スーパーマーケットがあったので良くWAONを使っていたが、上京してからは全く使わなくなった。 それからしばらくWAONのことを忘れていたが、年明けにふと思いだして残高が勿体無いのでどうにかしようと動いた。 作戦を立て…

MySQLにパスワードポリシーで怒られるときの回避策

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…

大規模サービス構築インターン Sunriseのサポーターをしました

VOYAGE GROUPのエンジニア向け大規模サービス構築インターン Sunrise 2018でサポーターをしました Sunrise 2018 Sunriseってなんやねん? Webサービスを作るインターンや個人でWebサービスを作る開発者が増えてきましたが、実際にサービスを作って利用者が増…

口頭で話したことは必ず文字に起こす

口頭で話したことは絶対に文字に起こして、相手へ共有したほうが良いと思っている。 それは電話であろうが、対面であろうが、関係ない。 なぜか? 証拠を残すため 悪意が有っても無くても、言った言わなかった問題は絶対に起こる。 心理学的には、ひとは一ヶ…

スマホの分割払いを滞納したら記録され、次の分割払いの審査にひびく

少し時間が経ってしまったが、 "年収300万円以下はiPhone XSの割賦審査が通らない” tweetが話題になっていたとき、ふと気になって次のようなアンケートを取った。 スマホでもPCでも、割賦はローンなので滞納したら記録されて、次のローン契約に響くのってど…

ワイルドカード証明書はサブドメインでなくても利用できるのかどうかを調べた

背景 *.pinkumohikan.com 用のワイルドカード証明書が pinkumohikan.com ドメインでも使えるのかどうかが気になった。 これまでは pinkumohikan.com はドメインの階層(深さ)が違うので使えないと考えていたが、あるとき pinkumohikan.com でも使えるという…

Makefileを使ってcomposerをスマートにダウンロードする

やりたいこと composerをダウンロードしたい 繰り返し実行できるように、composerが既にDL済みのときは何もしたくない (毎回DLするのは無駄なのでやりたくない) やりたいことを叶えるMakefile .PHONY: setup setup: composer.phar # ここにアプリケーション…