以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがある。これに従って振り返る(過去分:2023年、2022年、2021年、2020年)。 技術的なもの 続・性能改善 P2P 地震情報 技術的だがお気持ちが強いもの 『コードの…
以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがある。これに従って振り返る(過去分:2022年、2021年、2020年)。 技術的なもの 性能改善 P2P 地震情報 技術的だがお気持ちが強いもの 仕事: 答え合わせの 1 …
ソフトウェアの外部品質を上げたい局面はいろんなところで発生する。不具合が発生した、障害が発生した、利用者が増えた… などなど。 このとき私がポリシーにしているのは、品質と工数をトレードオフにしない、ということだ。 品質が上がるが、工数も増える…
以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがある。これに従って、 2020 年、 2021 年と振り返っていたので、 2022 年も振り返る。 技術的なもの ISUCON 初参加(予選敗退) Rust で DNS フルリゾルバ実装 …
デプロイ頻度を上げた話ではなく、デプロイ頻度を上げるために必要なことを洗い出して実施したという話。 月 1 回のビッグバンリリース 所属チームは月 1 回のいわゆるビッグバンリリースで、まあ大変な状況だった。 デプロイ作業は 2 時間超 500 ファイル以…
P2P地震情報の API サーバー (api.p2pquake.net) は、毎日 1000 万リクエスト以上を捌いている。ピーク時は毎秒 300 リクエストを超える。 VPS 1 台でここまで到達するのにそこそこ試行錯誤した。結果として意外性はなくやることやっただけという感じではあ…
※個人開発の備忘録です。 Debian 9 (stretch) が EOL を迎えたので、ちょうど良い機会だと思って色々と手を加えた。 Debian 11 (bullseye) に すべてを Docker でコンテナ化 監視ツールを Munin + Xymon から Prometheus + Grafana に Vultr から Linode へ …
以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがある。これに従って 2020 年を振り返っていたので、 2021 年も少し遅いけれど振り返っておく。 技術的なもの 個人開発: フロントエンドから OS 自作まで やっと…
地震情報アプリ界隈 Advent Calendar 2021 14 日目の記事です。 P2P 地震情報 Windows 版を 10 年ぶりに更新しました。デザインは一新しましたが、目立った新機能はなく、未実装の箇所も残っています。 しかし、実は半分くらいがクロスプラットフォームにな…
1 年半くらいテックリードっぽいことをしている。具体的には、 higepon さんの以下記事にあるような役割を概ねやっているつもり。 振り返ってみて、試行錯誤の連続だったと思う。「こんな成果が出ました!(バン!)」って派手なものはなくて、様々なところ…
クロスプラットフォーム。プラットフォーム間の差異に悩まされる地獄だ。 ということで、 .NET 5 でのテキストレンダリングの差を調べてみた。フォントは等幅な Roboto Mono とプロポーショナルな Roboto を用いた。 System.Drawing.Common 5.0.2 Roboto Mon…
方法 同時接続数 4 で観察 AWS App Runner: 20 インスタンスも起動する GCP Cloud Run: 4 インスタンスだけ起動する 突然 20 同時接続して観察 AWS App Runner: 過半数がエラーに GCP Cloud Run: すべて正常応答 まとめ: App Runner のオートスケールは Clou…
緊急地震速報の概要(おさらい) 猶予時間はわずか。迅速な配信が必要 テレビ (NHK): 2 種類の音と表示 「文字スーパー」で低遅延。 2010 年から実施 スマートフォン: 2 回の表示 ETWS で低遅延に まとめ 参考 緊急地震速報の概要(おさらい) 地震波の P 波…
新しい Web サービスを「本番環境に載せられる品質で作っていく」のは大変です。一体何から考えればいいのでしょう。インフラ? テーブル? API 仕様? 「MVP (Minimum Viable Product) で」とか「アジャイルで」といった話はよく聞きます。一方で「どのよう…
VTuber が歌った曲をまとめたい 前半(検討編) の続きです。 前半(検討編) のおさらい ざっくりイメージ データ抽出 (Ruby) API クォータ チャンネル URL → アップロード済み動画 プレイリスト アップロード済み動画 プレイリスト → プレイリストアイテム プ…
VTuber にハマり気味です。 百合と V の沼につかりながらでもコードは書けます!!!(まず 1 週間) pic.twitter.com/2fYhms1cKq— たいぷらいた〜 (@no_clock) 2020年6月23日 その中で、「過去、どんな曲を歌っていたのかな」と知りたくなりました。その欲…
コードリーディングのメモ。 まとめ outdated コマンドで古いパッケージが見つかった場合の終了コード: パッケージマネージャ バージョン リリース日 終了コード Yarn >=0.26.0 2017/06/06 1 <0.26.0 - 0 npm >=7.0.0 2020/10/13 0 >=4.0.0 <7.0.0 2016/10/2…
以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがあり、実感として確かに大事だと感じた。 ということで 2020 年にやったことを整理しておく。 技術的なもの 仕事: SRE 寄り AtCoder 新規 Web サービス 既存サ…
Linuxその2 Advent Calendar 2020 18 日目の記事です。 「スクリプト書いてたんですが、なぜか途中で止まるんです」と言われた。 止まっている様子(シンタックスハイライトが綺麗でないので画像で) 確かに yarn gen で止まっている。 yarn start も date …
おことわり: TCP/IP スタックの設定値などを深追いしておらず、「こう動いたが、根拠は調べていない」というレベルのものです。 いきなりまとめ Google Chrome (Windows 10, macOS Mojave), curl (WSL2 Ubuntu, macOS Mojave) は、一定間隔 (21~75秒) で順…
一部フィクションを含むポエムです。 XX システム SQL コーディング規約 性能劣化の可能性があるため、インデックスが作成されていないカラムを WHERE 句に書かないこと。 (インデックスの作成有無はテーブル定義書を参照) こうしたコーディング規約が あ…
3 行まとめ API のモック化ツール WireMock には、動的にスタブ/モックを定義できる Admin API がある ECS タスク定義に「 Admin API を叩く curl コンテナ」を加えて WireMock のスタブ/モック定義を行う タスク定義だけ完結するので楽 タスク定義だけでモ…
3 行でまとめると: Traefik を使って Docker Compose だけで無停止デプロイを実現。 docker-compose.yml に定義するだけ、他の設定ファイルは不要のお手軽さ。 コンテナは graceful shutdown するようにしておく。
3 行でまとめると ログを CloudWatch Logs に集約した Metric filter でエラー数をメトリクス化した CloudWatch Alarms ではなく Lambda でエラーを Slack 通知させるようにした CloudWatch Logs にログを集約した zenrei.nyamikan.net をすべて Docker 化し…
「 .NET サポートあるじゃん」と思ったのでちょっと触ってみました。 手順とコード Getting Started With the AWS CDK - AWS Cloud Development Kit (AWS CDK) を参照して npm で AWS CDK をインストールする。 Working with the AWS CDK in C# - AWS Cloud …
事例が何かの参考になればと思ったので記事にしました。 3行でまとめると Zenrei (zenrei.nyamikan.net) の Web サーバ・ API サーバ・ DB サーバすべてを Docker 化した SteveLTN/https-portal という Let's Encrypt の証明書取得を自動化した nginx のリバ…
温湿度センサモジュール AM2320の温湿度を取得するサンプルコードは数あれど、CRCチェックまでやっているコードが見当たりません。 ということで、データシートを見つつ書きました。 import smbus import time i2c = smbus.SMBus(1) address = 0x5c # Step o…
「 Linux コマンドでしりとりをすると、最長でいくつ繋がるのか?」 この疑問を解消すべく、最長しりとりを求めるプログラムを実装しました。 結論 論文「最長しりとり問題の解法」に沿って実装 CentOS 8 Docker イメージでは 326 コマンドが最長 ソースコー…
ひとり開発 Advent Calendar 2019 10日目の記事です。 成果物: ソーシャル紅葉見頃情報 動機: 紅葉情報サイトの「見頃」表示が信用できない 解説: サービス構成 ツイート収集 紅葉スポットの自動抽出 紅葉状況の推定 Webサービス 検証: 紅葉状況の推定結果 …
SIer脱出を語る Advent Calendar 2019 8日目の記事です。 「アウトプット大事」というHow toの話しかしません。 転職の経緯や転職後については SIerから自社サービス系に転職して半年ちょっと経過した (2019/05/15) をご覧ください。 目次 どんなアウトプッ…