メインコンテンツまでスキップ
2020
91

SEKIRO: SHADOWS DIE TWICE(隻狼)

『SEKIRO: SHADOWS DIE TWICE』は From Software が制作した三人称視点のアクションアドベンチャーゲームです。本記事では、ゲーム背景の二つの軸——葦名一心の国盗り、そして桜竜と不死の力——を整理します。

92

IntelliJ IDEA 2020 JRebel クラック

JRebel を IDEA でアクティベートする手順を記録し、あわせて JVM ホットデプロイの能力の境界と、いくつかの合法的な代替案を整理します。

93

MySQL トランザクションデッドロック解析

並行トランザクションはどのようにして互いに待ち合う膠着状態に陥るのか。ロック取得順序からデッドロックの成因を推理し、InnoDB の undo log に基づくロールバックの取捨と wait-for graph 検出機構を解説し、最後にデッドロック確率を下げる実践的ノウハウを紹介します。

94

IDEA プラグイン開発の記録

MyBatis の SQL ログ解析プラグインを自作した記録です。なぜ作ったのか、パラメータ補完の原理、IDEA プラグイン開発の学習曲線、そしてプラグインマーケットへの公開前後で感じたことをまとめます。

95

この数年間の仕事で得た気づき

はじめに 気がつけば、もうインターネット業界で数年働いています。 技術を学び始めたばかりの頃を思い返すと、毎日いろいろな Demo プロジェクトを書いていました。いちばん簡単な Hello World から、ミニゲーム、クローラー、管理システムまで、新しい技術を身につけるたびにはっきりとした達成感がありました。

96

分散ロックと Spring トランザクション管理の順序問題

あるネットユーザーが zookeeper の分散ロックでチケット販売の在庫減算を実装したところ、高並行時に枚数が合わなくなりました。根本原因はトランザクションのコミット前にロックが解放され、次のスレッドがダーティデータを読んでしまうこと。推理の過程と修正の考え方を記録します。

97

Java バックエンドアーキテクチャの理解

Java バックエンドアーキテクチャに対する理解を整理します。コード規約、モジュール分割、ミドルウェア、データベースガバナンスから、セキュリティ、チームコラボレーション、マイクロサービスへの進化まで、全体的な考察をまとめます。

98

Java でリモートデスクトップを実装する

Java でリモートデスクトップを実装してみた記録: Robot によるスクリーンキャプチャの効率、画像転送の帯域幅から、h.264 ビデオストリームとランレングス符号化による差分転送のトレードオフまで。

99

MySQL 億単位のデータをExcelドキュメントにエクスポートする

SaaS システムで億単位のリストデータを Excel にエクスポートするための実践的なソリューション。MQ によるピークカットと非同期コンシューム、リードレプリカでのクエリ負荷分散、id カーソルページングと EasyExcel によるディスク書き出し・OSS アップロードにより、7,550 万件のデータを約 20 分でエクスポート完了。

100

MySQL 億単位データのページネーション

単一テーブルのデータが数百万件になると、単純な limit でのページ送りはどんどん遅くなります。会計テーブルのページネーション最適化の記録:サブクエリで主キーを特定、遅延 JOIN、explain での検証によって、深いページネーションのクエリを許容範囲まで抑え込みました。