エンジニアリング
これまでデータベースのカラム名を命名する際、日付 (date) でも日時 (datetime) でもsuffixには `at` を使っていたが、日付の場合は `at` よりも `on` のほうが適切である、と教えてもらったのでそれについてまとめた。
jsonを比較する際にkeyとvalueの組が同じでもkeyの並びが微妙に違っていたりして余計な差分が出てキレそうなとき、jqを使ってkeyでソートしてからdiffを取ったりすると便利だよっていう小ネタを紹介する。 jq jqはjsonをいい感じに整形したり、色付け表示し…
nginxでリクエストを受けてphp-fpmにpassするというPHPアプリケーションではスタンダードな構成において、リクエストが中断されたときphp-fpmの処理って中断されるんだっけ?されないんだっけ?というのが気になったので調べた。
10/3 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン本戦にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として33チーム中20位でフィニッシュし「またあいま賞」を頂きました 🎉
9/12 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン予選にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として予選18位で予選突破しました ISUCON10 FINALIST認定証 isucon.net 初めての予選突破本戦頑張り…
デフォルトリポジトリを使ってPHPをインストールするとCentOS 7系では5.4が、CentOS8系ではPHP 7.2が入る。それよりも新しめなバージョンのPHPを使いたいときの王道的な方法として、remiリポジトリを使う方法を紹介する。 PHP 7.4 前提 2020/09/20 (日) 時点…
Redash SaaSからRDSへつなげるように出来るんだっけ、とか、どんなリスクがあるんだっけ、みたいなことを調べたのでまとめておく
mysqlコマンドの実行結果から枠線とカラム名を取り除いて表示する方法を調べたので備忘録がてらまとめておく
Webエンジニア御用達のソースコード管理ツール "GitHub" でのアクティビティを可視化してくれる GitHub Readme Stats というおもしろツールが、結構映えるグラフを作ってくれていい感じだったのでご紹介します。
Linuxユーザを追加するときに使うuseraddコマンド。Amazon Linux2のdockerイメージではデフォルトでは入っていなかったのでインストール方法を調べたたときの備忘録。Amazon Linux2に限らず、Linuxのminimal環境にuseraddコマンドを入れるのに使える方法だと…
Linux環境で特定のポートを使いたいけど先に使われていてどのプログラムがそのポートを使っているか知りたいとき、lsofコマンドが便利。 lsofコマンド 「lsof」はオープンしているファイルを一覧表示するコマンドです。 www.atmarkit.co.jp lsofコマンドに-i…
Nginxをリバースプロキシとして使っている環境でファイルアップロードなどを行おうとしたとき "413 Request Entity Too Large" というエラーレスポンスが返ることが有る。 nginx.org 413 Request Entity Too Large 原因 Nginxへ送信されたコンテンツのサイズ…
ファイルをFileReader.readAsDataURLを使って文字列化したものは純粋なbase64文字列だと思っていたけど、decodeしようとしたら出来なくてなんでやねん!と思ったので残しておく。 まとめ 画像とかの添付ファイルをJavaScriptで扱うときにFileReaderを使う Fi…
ふとしたtweetをきっかけに、海外向けにWebコンテンツを配信する際には現地のアクセシビリティに関する法律に気をつける必要があることを学んだ。 アクセシビリティを頑張っているところに、そのモチベーションを聞きたい— ぴんくもひかん (@pinkumohikan) 2…
ちょっと何を言っているか分からないと思うけど、自分も分かりたくなかった! ざっくりまとめ AWS CloudFrontにはいわゆるエッジコンピューティングを提供する Lambda@Edge がある Lambda@Edgeではオリジンから返ってきたbodyの一部を書き換えて返すことは(…
Amazon Linux 2へPHP 7.4をインストールしたので備忘録がてら残しておく。 PHP 7.4.1 前提 2019/12/28 時点の情報 Amazon Linux 2 ( ami-068a6cefc24c301d2 ) amazon-linux-extras Amazon Linux 2には amazon-linux-extras という便利コマンドがある。このコ…
PHPでデファクトスタンダードなテスティングツール PHPUnit の7系バージョンが2020年2月7日でサポートが終了します。 ざっくりまとめ PHPUnit 7系(あるいはそれ以下)を使っているひとは、PHPUnit 8系へ乗り換えましょう PHPUnit 8系はPHP7.2以上が必須。7.…
ざっくりまとめ awscliをインストールして使おうとしたら何か怒られた よく分からんけど、aptでインストールするのやめてpipで入れ直したら直った 起きたこと とあるUbuntuサーバへawscliをインストールして、aws configureして、awsコマンドを叩いたところ…
ざっくりまとめ Laravelには任意のエンドポイントに対してレートリミットを行うためのミドルウェアが用意されている 1分当たり10リクエストまで、という感じで制限可能 ログイン中ならユーザ、そうでなければIPアドレス単位でカウントされる レートリミット…
ざっくりまとめ CircleCIのDocker Layer Caching (DLC) がパフォーマンスプラン (従量課金) の有料機能になっていた DLCが有効だと、ジョブが1回走る度にVMを20分間動かしたのと同じぶんのクレジットを消費する クレジットは減ったら自動チャージで課金され…
8月頭にウェブ・セキュリティ基礎試験(徳丸基礎試験)のベータ試験を受けて、ついに今日、試験結果が届いた。 試験結果 受験直後の記事で私はこう言いました: ちなみに今回の試験としては手応え十分なのでまあ受かっているんじゃないかな。もしこれで落ちて…
セキュリティ界隈で有名な徳丸さん監修のウェブセキュリティ試験(通称: 徳丸試験)を受けてきた。 peatix.com 徳丸試験受けてきた pic.twitter.com/5oRirTvdw0— ぴんくもひかん - サバゲ系Webエンジニア (@pinkumohikan) August 4, 2019 動機 今回、徳丸試…
概要 長年困っていた、.my.cnfに "show-warnings" のオプション書いてたらmysqldumpしたときにunknown optionって怒られる問題。show-warningsを "client" じゃなくて "mysql" ディレクティブに書いとけば、mysql clientのときだけshow warningsできることに…
Ubuntu 18環境でネットワーク経路を確認しようとtracerouteコマンドを使おうとしたら入ってなかったのでシュパッとインストールする traceroute --version tracerouteコマンドとは 特定のIPやホストへのネットワーク経路や疎通を確認するためのコマンド 詳し…
なぜやるか dockerで良く使われる軽量イメージalpineは、デフォルトtimezoneがUTCになっており、Asia/Tokyo (JST) に設定しないと日本時間から9時間ずれてしまう。 どうやるか Dockerfileに下記のように記せばOK FROM alpine:latest RUN apk --no-cache add …
エラーメッセージ mysqldump コマンドでMySQL上のデータのバックアップを取ろうとしたとき、下記のようなエラーが出た。 mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_s…
Scalaでメール送りたくなってメールライブラリを探したのでまとめておく。 2019年になぜメールか アプリのプッシュ通知やLINE@などの通知手段が普及した2019年でも、保存性やエビデンス、長文の書きやすさ、所有の証明といったの観点でメールという手段も無…
メールを送るシステムを開発していて、会社のネットワークからはメールが送れるのに、自宅やポケットWiFiからだとメールが送れないことがあります。例えば、メールを送ろうとすると No route to host や Destination host unreachable Request timed out が…
概要 クエリビルダやORMが生成するクエリを確認したい、などの理由で、MySQLに投げられたクエリを確認したくなることがある そういうときは、MySQLのクエリログ (general_log) と言う設定をONにすることによって、すべてのクエリをログに吐かせることができ…
TravisCIやCircleCIを使ってCI/CDするのはだいぶメジャーになりましたね。 ドキュメントのみの更新時やwipのときなど、「git commitはしておきたいけどCIは走らせなくて良いだよな〜」というときありますよね。 そういうとき [skip ci] とコミットメッセージ…