Web / サーバ開発 / データベース
2018-09-01
(Updated : 2024-03-24)
読み物
Linux
- 2019-10 Linux ファイルシステムを理解したい - Qiita
- 2019-10 いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす - エンジニアHub|若手Webエンジニアのキャリアを考える!
Web アーキテクチャ
- 2015年Webサーバアーキテクチャ序論 - ゆううきブログ
- Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
- Rails - 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
- コレオグラフィ vs オーケストレーション | フィオラノ ソフトウェア ジャパン ブログ
- マイクロサービスアーキテクチャにおけるオーケストレーションとコレオグラフィ - Qiita
- Serverless Architecture // Speaker Deck
- Scala and Play for game servers // Speaker Deck
- Kishi さんのスライド
- Web サービスにパスワードは必要ない - Frasco
- 伊藤直也氏が語る、サーバーレスアーキテクチャの性質を解剖する(前編)。QCon Tokyo 2016 - Publickey
- 真のサーバレスアーキテクトとサーバレス時代のゲーム開発・運用 // Speaker Deck
- RESTful API のおさらい - onk.ninja
- マイクロサービスはもう十分 – プログラミング
- 2.4. アプリケーションのレイヤ化 — TERASOLUNA Global Framework Development Guideline 1.0.0.publicreview documentation
- 実践クリーンアーキテクチャ with Java │ nrslib
- しっかり書かれていてコード例もある
- 2017-10 ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か | DDD - little hands’ lab
- 2023-03 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io
まとまった資料
- system-design-primer/README-ja.md at master · donnemartin/system-design-primer
- 大規模 Web システム設計のドキュメント
- 2019-10 セッション資料・動画一覧 - AWS DevDay Tokyo 2019 | AWS
Web プログラミング / 開発手法
- Web開発の未来 – React、FalcorおよびES6 | プログラミング | POSTD
- Scalaコードでわかった気になるDDD | GREE Engineers’ Blog
- 2018-10 Developers.IO 2018 で「API 設計」の話をしてきた #cmdevio2018 | DevelopersIO
フロントエンド
- なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか
- やわらかVue.js - Scrapbox
- 2019-07 すべての新米フロントエンドエンジニアに読んでほしい50の資料 - Qiita
- 2019-07 2019年版 最先端のフロントエンド開発者になるために学ぶべきこと - Qiita
- 2019-08 現代フロントエンドに欠かせないwebpackとBabelを理解しよう - Speaker Deck
- 2020-05 画像による Layout Shift が無くなる Web がやって来る - mizdra’s blog
Rails
Web 開発で使うアルゴリズム
- 2017-12 ID生成大全 - Qiita
- 2020-07 Generating UUIDs at scale on the Web | by Matthieu Wipliez | Teads Engineering | Jul, 2020 | Medium
- 2020-10 ID生成方法についてあれこれ
サーバ運用
データベース
- デッドロックの起きるパターン
- ACID 特性 - Wikipedia
- トランザクション分離レベル - Wikipedia
- 開発者はインデックスを知る必要がある
- リレーショナルデータベースの仕組み (1⁄3) | コンピュータサイエンス | POSTD
- カーディナリティについてまとめてみた - Qiita
- Webサービスにおける キャッシュ戦略 // Speaker Deck
- RDBアンチパターン // Speaker Deck
- N+1問題 / Eager Loading とは - Rails Webook
- 【決定版】RDBMSとNoSQLにみるDB近現代史 〜データベースに破壊的イノベーションは二度起きるか?〜 - エンジニアHub|若手Webエンジニアのキャリアを考える!
- 2015-09 リレーショナルデータベースの仕組み (1⁄3) | POSTD
- 2018-04 MongoDBの様なNoSQLに勢いがあるのは何故ですか?SQLと比べてどんな利点や欠点がありますか? - Quora
- 2019-04 Aurora - クラウド時代のDBアーキテクチャ - 発明のための再発明
- 2020-06 データベース設計の際に気をつけていること - 食べチョク開発者ブログ
- 2020-11 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
- 2020-11 データベースを遅くするための8つの方法
- 2022-12 はじめに|図解 DB インデックス
MySQL / SQL
- SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
- なぜ、SQLは重たくなるのか?──『SQLパフォーマンス詳解』の翻訳者が教える原因と対策 - エンジニアHub|若手Webエンジニアのキャリアを考える!
- ヤフー社内でやってるMySQLチューニングセミナー大公開
- MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
- MySQLのIndexをはるコツ - Qiita
- Top 20+ MySQL Best Practices
- 2019-09 ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
- 2020-09 SQL記述者全員が理解すべきSELECT文の実行順序のお話 - Qiita
NoSQL
Google App Engine / Datastore
- Datastoreの仕組み 〜Consistencyについて〜 - apps-gcp
- Google Cloud Platform Japan 公式ブログ: Google Cloud Datastoreでのデータ整理の考え方
- GAE/Go Ancestorクエリについて - The Round
Key-Value Store
ゲームサーバ開発
Server-Client 設計
- 【CEDEC2017】人気タイトル『アナザーエデン』になぜ通信待ちストレスがないか。その理由は非同期オートセーブにあった | Social Game Info
- わかる / でもガチャがどれだけセキュアか怪しい / あと障害調査がやりづらそう
- G-MODE Engineers’ Blog — 通信が途切れてしまった場合の対応について
- トランザクション ID の話
トランザクション処理
- アイテム課金を実装する - Smartphone App - Mobage Developers Documentation Center
- マイクロトランザクション(ゲーム内購入)実装ガイド (Steamworks ドキュメント)
- ドリコムを支える中間ポイントシステム - くりにっき
- 2019-06 マイクロサービスにおける決済トランザクション管理 - Mercari Engineering Blog
エラーハンドリング
- 2020-11 ネットワーク越しリトライ考 - その手の平は尻もつかめるさ
通信プロトコル
gRPC
- 2018-08 gRPC | UnityとgolangでgRPCを使ってみる(androidまで) – しゃまとんのたね
- 2017-12 golangでgRPCを使ったAPIServerを作ってみる – Eureka Engineering – Medium
TURN / STUN
- 2015-02 WebRTCの裏側
- 時雨堂という会社の人の発表資料
- 2016-09 coTurnでEC2上にTURNサーバを作ってみた - Qiita
オンラインゲーム開発 / マルチプレイ / リアルタイム通信
- Gabriel Gambetta
- 年の瀬リアルタイム通信サーバ勉強会
- リアルタイム通信ゲーム勉強会で発表してきた|サイバーエージェント 公式エンジニアブログ
- 2014-03 壁を越えろ!WebRTCでNAT/Firewallを越えて通信しよう | HTML5Experts.jp
- 2018-09 Unity Moba - UnityList
- A Multiplayer Online Battle Arena Toolkit for Unity3D with its services and database
- 2018-11 Building real-time messaging server in Go – Alexander Emelin – Medium
- 2018-12 Unity上でUDPを用いた通信機能(マルチプレイ・オンライン通信)を実装する方法 | 洋梨日記🍐
- 2020-01 リアルタイムゲームサーバー開発技術スタックまとめ - Speaker Deck
- 2020-10 『GUILTY GEAR XX ΛCORE PLUS R』にてオンライン対戦の遅延を改善する“期待の技術”テスト開始。ほぼ遅延なしの対戦を実現する「ロールバックネットコード」とは何なのか? | AUTOMATON
- 「エーペックス」の仕組み:開発者によるサーバーとネットコードの解説
制作事例 / 運用事例
世のリアルタイム通信ライブラリ
- Real-Time Web Technologies Guide - Phil Leggetter - Real-Time Web Software & Developer Evangelist
- An overview of realtime libraries and frameworks