技術.
45 件 — 技術に関する記事
IDEA プラグイン開発の記録
MyBatis の SQL ログ解析プラグインを自作した記録です。なぜ作ったのか、パラメータ補完の原理、IDEA プラグイン開発の学習曲線、そしてプラグインマーケットへの公開前後で感じたことをまとめます。
この数年間の仕事で得た気づき
はじめに 気がつけば、もうインターネット業界で数年働いています。 技術を学び始めたばかりの頃を思い返すと、毎日いろいろな Demo プロジェクトを書いていました。いちばん簡単な Hello World から、ミニゲーム、クローラー、管理システムまで、新しい技術を身につけるたびにはっきりとした達成感がありました。
分散ロックと Spring トランザクション管理の順序問題
あるネットユーザーが zookeeper の分散ロックでチケット販売の在庫減算を実装したところ、高並行時に枚数が合わなくなりました。根本原因はトランザクションのコミット前にロックが解放され、次のスレッドがダーティデータを読んでしまうこと。推理の過程と修正の考え方を記録します。
Java バックエンドアーキテクチャの理解
Java バックエンドアーキテクチャに対する理解を整理します。コード規約、モジュール分割、ミドルウェア、データベースガバナンスから、セキュリティ、チームコラボレーション、マイクロサービスへの進化まで、全体的な考察をまとめます。
Java でリモートデスクトップを実装する
Java でリモートデスクトップを実装してみた記録: Robot によるスクリーンキャプチャの効率、画像転送の帯域幅から、h.264 ビデオストリームとランレングス符号化による差分転送のトレードオフまで。
MySQL 億単位のデータをExcelドキュメントにエクスポートする
SaaS システムで億単位のリストデータを Excel にエクスポートするための実践的なソリューション。MQ によるピークカットと非同期コンシューム、リードレプリカでのクエリ負荷分散、id カーソルページングと EasyExcel によるディスク書き出し・OSS アップロードにより、7,550 万件のデータを約 20 分でエクスポート完了。
MySQL 億単位データのページネーション
単一テーブルのデータが数百万件になると、単純な limit でのページ送りはどんどん遅くなります。会計テーブルのページネーション最適化の記録:サブクエリで主キーを特定、遅延 JOIN、explain での検証によって、深いページネーションのクエリを許容範囲まで抑え込みました。
ロゴデザインについての雑感
企業のポジショニング、色の取捨選択、図形の形態から商標登録まで。ロゴがデザインから実際に使われるまでに考えるべきこと:ロゴは単なる美しい図形ではなく、ブランド記憶の器なのです。
ELK 導入の記録
会社の集計業務で MySQL クラスタがボトルネックに達し、インデックス最適化でも改善しなかったため ELK を導入。Logstash による増分同期、Elasticsearch での集計クエリ、Kibana での可視化——技術選定と増分同期の方式を記録します。
Alibaba Cloud への移行
独身の日セールに乗じてブログを香港サーバーから Alibaba Cloud へ移行: Docker での丸ごと引っ越し、ドメインの ICP 備案、certbot による Let's Encrypt 証明書の自動更新まで、過程とハマったポイントを記録します。