印象に残った点 高トラフィックで大規模なサービスの設計について考える機会を与えてくれる レートリミッターの設計が面白い まとめ 1月は毎日少しずつ「システム設計の面接試験」を読んでいました。 とても良い本だったので感想をまとめておきます。 目的は…
概要 使い方 補足 感想 概要 albconv という ALB のアクセスログを JSON に変換するコマンドラインツールを作ったので、紹介です。 github.com demo albconv きっかけは ALB のアクセスログを少し解析する必要があり、量も少ないので手元で確認しようとした…
買ってよかったものを書いた後に届いたんですが、iPad 用のペーパーライクフィルムがめちゃくちゃよかったです。 僕が買ったのはこれです。Amazon のレビューが高いのを適当に選びました。 PCフィルター専門工房 iPad Pro 11インチ (2022 第4世代 M2)/ iPad …
今年も残り僅かですね。 恒例の今年買ってよかったものです。(今回書くのが初めてかも知れない...) 骨盤職人 ScanSnap iX1600 & DURODEX パーソナル断裁機 200DX DAVE THE DIVER ジョン・フルシアンテ・ファイル Ubisoft 90’s ロゴ キャップ 骨盤職人 ペルビ…
タイトルの通りですが結論だけ先に書きます。 localstack のボリュームマウントは /tmp/localstack ではなく /var/lib/localstack にしましょう。 詳細 docker-compose を使ってローカル開発をしていたところ、ある日 localstack が立ち上がらなくなりました…
概要 Go で Graceful Shutdown な Web サーバーを書きたかったのでその備忘録です。 結論 net/http パッケージの Server.Shutdown() を使え http package - net/http - Go Packages それだけなんですが、動作確認しながら挙動を追いたいので Web サーバーを…
概要 初めての Go 言語の テスト の章が勉強になったのでそのまとめです。 まとめ テストは製品版と同じディレクトリ、パッケージに置く エクスポートされていない関数や変数にもアクセスしてテストが可能 ファイル名は xxx_test.go とする テスト関数は Tes…
概要 connect-go の interceptor に外部から context を渡す方法についてです。 あまりすることは無さそうですが、context に値をセットするような interceptor を書いていて、単体テストを書く際に今回のような方法が有用だったので紹介します。 intercepto…
golang-jwt/jwt を使って JWT の発行、検証を試したので残しておきます。 github.com サンプルコードはこちら。 github.com JWT の発行 func generate() (string, error) { token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.RegisteredClaims{ Issue…
asdf でバージョン管理をしているため GOPATH が動的に変わるので以下のように PATH を通した。 export PATH="$(go env GOPATH)/bin:$PATH" .zprofile だと上手く読み込めなかったので .zlogin に記述した。
今年に入ってまた Ruby をメインで書くようになりました。 少しずつ Ruby 力を高めたいので、今回は Retryable という Gem をコードリーディングします。 github.com コード量も少なくて読みやすいです。 概要 Retryable は例外発生時に指定した回数 retry …
var newMeta = document.createElement("meta"); newMeta.setAttribute("name", "robots"); newMeta.setAttribute("content", "noindex"); document.getElementsByTagName("head")[0].appendChild(newMeta); 読み込んでいます…
var newMeta = document.createElement("meta"); newMeta.setAttribute("name", "robots"); newMeta.setAttribute("content", "noindex"); document.getElementsByTagName("head")[0].appendChild(newMeta); 個人情報の利用目的 当ブログでは、お問い合わせ…
TL に流れてきて気になりざっくり読んだので忘れないうちに感想を書く。 前提 自分はソフトウェアエンジニアを本業にしていて、平均すると2ヶ月に1冊は技術書を読んでいる。 課題感はいざ学ぼうと技術書を手に取るが、難しくて途中で投げ出すことが多い。 だ…
表題の通り プリンシプル オブ プログラミング を読んだので忘れないように感想文を書く。 「3年目にまで身につけたい」とタイトルでは謳われていて、ソフトウェアエンジニアになって7年近く経った気がするけど読み物として面白そうだったので手にとってみた…
今まで雰囲気で TypeScript (node.js) を書き続けていたので OSS のコードを読みながら少し真面目に勉強しようと思いました。 早速 husky のコードリーディングをしたので、記録としてメモを残します。 github.com husky は Git Hooks を簡単に設定できるよ…
FILCO 漆塗りリストレスト 摺漆塗り Sサイズを購入しました。 こんな感じです。 写真の通りいつも HHKB を使っているのですが、最近手首のだるい気がしたので初めてリストレスト (パームレスト) を導入しました。 電子バードから出ている公式の物と迷いまし…
iOS, Android 向けに「魚偏漢字神経衰弱」というアプリを作ってリリースしました。 魚偏神経衰弱Shota Okunakaゲーム無料apps.apple.com play.google.com どんなアプリか タイトルから予想がつくと思いますが、魚偏の漢字のカードで神経衰弱ができるミニゲー…
まだ今月は3日残っているが、先月から引き続き今月の振り返り。 エンジニアリング 今月は本業でガッツリコードを書くことが少なかったが Ruby は少し書いた。 Ruby 3.0.0 はまだ触れていないので近々触ってみるつもり。 予定では、今月 Golang をしっかりキ…
前回の更新は5月なので約半年ぶりになるが、最近特に物忘れもひどく朝食べた物までも平気で忘れてしまうレベルなので、最近やったことを簡単にまとめておく。 これから毎月振り返りしたい気持ちも込めてタイトルは2020年11月振り返りにしてみた。 (まあ次は…
simplecov の流し読みをしたのでまとめておきます。 simplecov simplecov とはテストカバレッジを計測する gem で、計測結果をあらゆるフォーマットで出力してくれます。 Rails と親和性も高く簡単に導入することができます。 github.com コードリーディング…
前回の記事からかなり期間が空いてしまいました。 dotenv の Gem のコードリーディングをしたので、まとめておきたいと思います。 github.com dotenvとは 説明不要だと思いますが、環境変数をファイル管理することができる Gem で rails 以外の WAF や素のRu…
最近業務でよく Base64 に変換をしているが、A–Z, a–z, 0–9, +, / の文字列に変換されるという程度の知識しかなかった。 良い機会なので、もう少し踏み込んでアルゴリズムを自分で実装して理解を深めていこうと思う。 Base64 とは データを64種類の印字可能…
アプリケーション開発する上で、MySQL をよく使っているけれど DB設計やパフォーマンスチューニングを行う際にインデックスについてふわっとした理解だったので再入門した。 インデックス DB から特定の条件でデータを検索する時に効率よく、条件に一致する…
週末に積ん読を消化しようと思い、以前友人にお勧めされてポチっていた、 「現場で困らない!ITエンジニアのための英語リーディング」という本を、読んだので感想をまとめておきます。 所用時間 薄い本なので2時間ほどでサクッと読むことができました。 特に…
CloudNative Days Tokyo 2019 Day2 のレポートです。 Day1 についての記事はこちらです。 okkun-sh.hatenablog.com 今日は雨も降っていて、満員電車が辛いので昨日より遅めで、会場へは 9:50 に到着しましたが、Keynote の席は空いていたので無事着席するこ…
CloudNative Days Tokyo 2019 Day1 レポート?感想?です。 ※OpenStack, k8s 周りの知識不足の為、捉え間違えてる可能性がありますので、その場合はご指摘いただけたら嬉しいです cloudnativedays.jp 登録者数は、約1600人で、スポンサーが約50、セッション…
最近ようやくruby 2.6.3 に上げました。 一先ず RSpec を走らせてみるとこんな感じでコケたので、まとめておきます。 vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/mysql/database_statements.rb:34: warning: …
Rails と Cloud Datastore Emulator を接続するのに少し嵌ったのでまとめておきます。 Cloud Datastore Emulator とは GCP のサービスの一つである Cloud Datastore (以下 GCD) をローカル環境で動かすことができるものです。 通常 GCD を動かす場合お金がか…
先日、銀座rails#9 にお邪魔したところ、とても興味深い LT を見ることができた LT をされていたのは @okuramasafumi さんで、Enumerable モジュール内のメソッドを Ruby で再実装(ライブコーディング)し、どのメソッドを実装するのかもその場で募集して決…