モヒカンメモ

髪色が定期的に変わることに定評のある(比較的)若者Webエンジニアの備忘録

ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利

登録不要・インストールなし、ブラウザ上から手軽に使えるDB Playgroundサービスの「DB Fiddle」が便利だったので紹介する。

DBでdateとdatetimeを扱うときのカラム名suffixの使い分け

これまでデータベースのカラム名を命名する際、日付 (date) でも日時 (datetime) でもsuffixには `at` を使っていたが、日付の場合は `at` よりも `on` のほうが適切である、と教えてもらったのでそれについてまとめた。

2021年のやっていきリスト

2021年にやっていきたいことリスト!!!!!

jqを使ってjsonの差分をスマートに確認する

jsonを比較する際にkeyとvalueの組が同じでもkeyの並びが微妙に違っていたりして余計な差分が出てキレそうなとき、jqを使ってkeyでソートしてからdiffを取ったりすると便利だよっていう小ネタを紹介する。 jq jqはjsonをいい感じに整形したり、色付け表示し…

php-fpmはリクエストが中断されても処理中のプログラムを中断しない

nginxでリクエストを受けてphp-fpmにpassするというPHPアプリケーションではスタンダードな構成において、リクエストが中断されたときphp-fpmの処理って中断されるんだっけ?されないんだっけ?というのが気になったので調べた。

ISUCON10本戦へ出場して「またあいま賞」を受賞しました

10/3 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン本戦にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として33チーム中20位でフィニッシュし「またあいま賞」を頂きました 🎉

ISUCON10予選を何とか突破出来たンゴ〜〜〜

9/12 (土) に開催されたパフォーマンスチューニングコンテスト「ISUCON10」のオンライン予選にて、チーム「牡蠣の鋭利な殻が指に突き刺さり利き手を負傷」として予選18位で予選突破しました ISUCON10 FINALIST認定証 isucon.net 初めての予選突破本戦頑張り…

CentOS8へremiリポジトリを使ってPHP7.4をインストールする

デフォルトリポジトリを使ってPHPをインストールするとCentOS 7系では5.4が、CentOS8系ではPHP 7.2が入る。それよりも新しめなバージョンのPHPを使いたいときの王道的な方法として、remiリポジトリを使う方法を紹介する。 PHP 7.4 前提 2020/09/20 (日) 時点…

Redash SaaSからRDSにアクセスするために調べたこと、考えたことまとめ

Redash SaaSからRDSへつなげるように出来るんだっけ、とか、どんなリスクがあるんだっけ、みたいなことを調べたのでまとめておく

mysqlコマンドの実行結果から枠線とカラム名を除いて表示する

mysqlコマンドの実行結果から枠線とカラム名を取り除いて表示する方法を調べたので備忘録がてらまとめておく

GitHub Activityをグラフで可視化してくれるGitHub Readme StatsでGitHub映えを狙う

Webエンジニア御用達のソースコード管理ツール "GitHub" でのアクティビティを可視化してくれる GitHub Readme Stats というおもしろツールが、結構映えるグラフを作ってくれていい感じだったのでご紹介します。

useraddコマンドをAmazon Linux2へインストールする

Linuxユーザを追加するときに使うuseraddコマンド。Amazon Linux2のdockerイメージではデフォルトでは入っていなかったのでインストール方法を調べたたときの備忘録。Amazon Linux2に限らず、Linuxのminimal環境にuseraddコマンドを入れるのに使える方法だと…

80番ポートを使っているプログラムをlsofコマンドで特定する

Linux環境で特定のポートを使いたいけど先に使われていてどのプログラムがそのポートを使っているか知りたいとき、lsofコマンドが便利。 lsofコマンド 「lsof」はオープンしているファイルを一覧表示するコマンドです。 www.atmarkit.co.jp lsofコマンドに-i…

Nginxに "413 Request Entity Too Large" と怒られる原因と対処法

Nginxをリバースプロキシとして使っている環境でファイルアップロードなどを行おうとしたとき "413 Request Entity Too Large" というエラーレスポンスが返ることが有る。 nginx.org 413 Request Entity Too Large 原因 Nginxへ送信されたコンテンツのサイズ…

FileReader.readAsDataURLで得られるのはData URIであって純粋なbase64文字列じゃないぞ

ファイルをFileReader.readAsDataURLを使って文字列化したものは純粋なbase64文字列だと思っていたけど、decodeしようとしたら出来なくてなんでやねん!と思ったので残しておく。 まとめ 画像とかの添付ファイルをJavaScriptで扱うときにFileReaderを使う Fi…

自分の仕事に対するモチベーション 2020年ver

モチベーションポーカーという自分や他者のモチベーションについて話すゲームをやった。 モチベーションポーカー モチベーションは人によって違う。例えば「自由」を重視して働く人に、ガッチガチにやることが決まっていて自由度のない仕事をやらせると仕事…

MySQLでプレースホルダ使いすぎて怒られるのを動的プレースホルダを使って回避する

雑に数万件ぐらいのidを突っ込んでMySQLへselectクエリ投げたらエラーになったので調べた。 ざっくりまとめ MySQLでプリペアドステートメントを使う場合、65536個以上のプレースホルダを含めることができない 先の制約はシステム変数で緩和できない (変更で…

迷惑メール死すべし慈悲はない

久しぶりに迷惑メールが届いた。俺たちのインターネッツを荒らすやつは許さない。 届いた迷惑メール ガラケー全盛期のときによく来てたタイプの迷惑メールだ。関連ドメイン調べたら出会い系サイトっぽかった 迷惑メールは違法 (色々細かい要件はあるけど)、…

海外へWebコンテンツを配信する際はアクセシビリティの法律に気をつけるべし

ふとしたtweetをきっかけに、海外向けにWebコンテンツを配信する際には現地のアクセシビリティに関する法律に気をつける必要があることを学んだ。 アクセシビリティを頑張っているところに、そのモチベーションを聞きたい— ぴんくもひかん (@pinkumohikan) 2…

Lambda@Edgeではオリジンのデータを部分的に書き換えて返すことはできない

Lambda@Edgeのfunctionにoriginからのresponse bodyは渡ってこないので、responseの一部を書き換えて返すみたいな使い方はできないっぽい

2020年やることリスト

クレイジーな先輩の一人、チョコパイさんに影響を受けて今年やりたいかもしれないことをまとめた。 chocopie116.hatenablog.com 個人開発関係 VALU関係のツール作る 投資関係のツール作る 個人開発者の繋がり増やす スマホアプリ作る 仮想通貨 売買bot開発再…

Jenkins バージョン2.214 - 2.216でCoreUpdateMonitorが壊れるバグに注意

今北産業 Jenkinsのバージョン2.214 ~ 2.216で、CoreUpdateMonitorが壊れるバグがある バージョン2.217で修正されたのでバージョンアップすべし org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-2.2…

赤外線サバゲ「フラッグハント」行ってきた

Hey guys! 友人に誘われて、赤外線銃を使うサバゲのようなエクストリームスポーツ「フラッグハント」へ行ってきました。 FLAG HUNT 俺が東京タワーだ pic.twitter.com/JxpAWuPDNN— ぴんくもひかん (@pinkumohikan) 2020年1月13日 東京タワーすぐ横の建物が会…

Amazon Linux 2へPHP7.4をインストールする

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 という便利コマンドがある。このコ…

俺的オススメ ふるさと納税先2選 食べ物編 2019年度ver

泉佐野市亡き今、我々はどこへふるさと納税するべきか? 自分がこれまで実際にふるさと納税をして美味しかった or 他人にオススメできるところを2つご紹介します! 2019年もふるさと納税するぞ! PR この記事は若手ものづくりコミュニティ Oysters のAdvent …

PHPUnit 7系が2020年2月でサポート終了するぞ!バージョンアップを急げ!

PHPでデファクトスタンダードなテスティングツール PHPUnit の7系バージョンが2020年2月7日でサポートが終了します。 ざっくりまとめ PHPUnit 7系(あるいはそれ以下)を使っているひとは、PHPUnit 8系へ乗り換えましょう PHPUnit 8系はPHP7.2以上が必須。7.…

仕事を頼むときは具体的な期日とその理由を教えて欲しい

仕事を頼まれるときに「なるはやで」とか「いつでも良い」と言われると困っちゃうので、スムーズに優先度を決められるように 具体的な期日とその理由 を教えて欲しい。 PR この記事は若手ものづくりコミュニティ Oysters のAdvent Calendar 2019にかこつけて…

awscliで 'AWSHTTPSConnection' object has no attribute 'server_hostname' って怒られたときにやったこと

ざっくりまとめ awscliをインストールして使おうとしたら何か怒られた よく分からんけど、aptでインストールするのやめてpipで入れ直したら直った 起きたこと とあるUbuntuサーバへawscliをインストールして、aws configureして、awsコマンドを叩いたところ…

Laravelのレートリミットミドルウェアについて調べた

ざっくりまとめ Laravelには任意のエンドポイントに対してレートリミットを行うためのミドルウェアが用意されている 1分当たり10リクエストまで、という感じで制限可能 ログイン中ならユーザ、そうでなければIPアドレス単位でカウントされる レートリミット…

CircleCIのDocker Layer Cachingが有料 & だいぶ高価になっていた

ざっくりまとめ CircleCIのDocker Layer Caching (DLC) がパフォーマンスプラン (従量課金) の有料機能になっていた DLCが有効だと、ジョブが1回走る度にVMを20分間動かしたのと同じぶんのクレジットを消費する クレジットは減ったら自動チャージで課金され…