Monthly Bookmarks 2020/05
2020年5月に読んだ記事とかのなかでメモしておきたいもののまとめ。
Entry
Frontend
- JavaScriptで重複排除を自分で実装してはいけない(Setを使う) - Qiita
- React NativeをWebに持ってくることの意味 - ナカザンドットネット
- モダンJavaScript概論 − Node, npm, ECMAScript, Babel, Webpack | Hypertext Candy
- TypeScript: 「電話番号型」という意味を持たせた特殊なstring型の作り方
- mozaic.fm v3 リリースと Podcast の PWA 化
- Next.js + Vercel + swr + TypeScript (No Redux + No SSR) で短期間チーム開発した
- Node.js Best Practices — Security Attacks
- DenoとNode.jsの大きな違い
- ガワネイティブアプリ(Creator)を、React Nativeで置き換えてみての一年間戦いの記録
- Rebuilding our tech stack for the new Facebook.com
- What Is Deno and Why Is Everyone Talking About It?
- Hello, Deno v1.0.0
- From Node to Deno
- Svelte, why so much hype ?
- 仕事ですぐに使えるTypeScript
- Facebook製の新しいステート管理ライブラリ「Recoil」を最速で理解する
- 髪型別コーデ検索におけるSPAの開発
- Best free resources to learn React in 2020
Backend
- HTTPステータスコードを適切に選ぶためのフローチャート : 難しく考えるのをやめよう | POSTD
- Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記
- 本番運用まで行かなかったgRPCの知見をまとめておく - suusan2号の戯れ
- gRPC in the Life of Microservices
- GraphQL vs. REST API Architecture
- Which Java Microservice Framework Should You Choose in 2020?
- Gormが本番テーブルの数億件のデータを消そうとした話
- GoのORMを作った
- Growth Engineering at Netflix — Accelerating Innovation
- Kafkaを利用したジョブキューライブラリ「Decaton」の活用事例
- Why Your Microservices Need GraphQL?
- サービス間通信のための新技術「gRPC」入門
- eBay Integrates Video into the eBay Motors App
- Protocol BuffersでgRPCとGraphQL両対応のコードを生成するプラグイン書いた
- Tips for Building Smooth Live Tracking
- Principled GraphQL
- MTC2018 カンファレンスLPの裏話 〜GraphQL編〜
- 秒間120万つぶやきを処理、Twitterシステムの“今”
- 文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう!
- RustのHashMapはentryが便利
- 同期エンジンの心臓部を書き換える
- PayPayの1秒あたり1000決済への道のり
Test
Database
- DBの寿命はアプリより長い! 長生きするDBに必要な設計とリファクタリングを実践から学ぶ
- 時系列データベースに関する基礎知識と時系列データの符号化方式について
- MySQLの物理削除によるパフォーマンスの悪化とその回避策について
- 不揮発性メモリでのデータベース処理最適化 〜 ヤフーにおけるデータベース技術の研究開発
- 広告配信サーバーにおける DynamoDB Accelerator (DAX) 活用事例の紹介
Infra
- Kubernetes-nativeなアーキテクチャ導入の手引き 先進的なクラウド環境を最強テストベッドで体験 - エンジニアHub|若手Webエンジニアのキャリアを考える!
- AWS におけるマルチアカウント構成の動向
- 11種類のオペレーティング・システムについてまとめてみた
- さくらのVPSを支える技術とこれから / Technology behind SAKURA VPS and the future
- Dockerfile をベースイメージの更新に自動で追従させる
- 複数バージョンの kubectl や他の CLI ツールを管理するには asdf-vm を使う
- プラットフォームの上でものを作るということ
- AWS上のコンテナはネットワークをどう利用するのか? ポート番号の扱いとDNSの仕組みを中心に
- ECSとGoで構築したシステムにDatadogを導入する
- Infrastructure as Dataとは何か
- Azureにおけるデプロイ停止の取り組み - Gandalf
- IPFSとは何か?
- 大規模システムにおける5つのログ転送パターン
- 死活監視、ロギング、メトリクス――Kubernetesと監視の話 (1/2)
- コンテナを使いこなすための心強い味方!「Kubernetes」(中編)
- 転職したらKubernetesだった件
- Kubernetes で実践するクラウドネイティブ DevOps / Cloud Native DevOps with Kubernetes (DevOps, CloudNative and GitOps)
Security/Privacy
- Cookie の性質を利用した攻撃と Same Site Cookie の効果
- Referrer-Policy によるリファラ制御
- Cookie の SameSite 属性について
- Privacy Sandboxはなにを語るのか
- An introduction to CSRF Attacks: Who Is Riding With You?
- Webサービスによくある各機能の仕様とセキュリティ観点(ユーザ登録機能)
- パスワードハッシュ化で用いるソルト(Salt)とペッパー(Pepper)/シークレットソルト(Secret Salt)の役割と効果
- パスワード保存方法の過去と現在そして未来
- パスワードのハッシュ値を保管するときのsaltの作り方
- Site Isolation 及び Web のセキュリティモデルの更新
- AWSマルチアカウントにおけるIAMユーザー設計戦略を考えてみる
- SECCON Beginners CTF 2020の監視・オペレーションを支える技術
- パーソナルデータは新しい時代の石油か?
Other
- 僕の個人開発を成功に導いてくれた本たち - 週休7日で働きたい
- 「ネイティブアプリ開発者は絶滅危惧種なのか?」への感想文 - ナカザンドットネット
- 2020年の転職活動と御礼 | Apitore blog
- 障害対応時にまずはissueを作ると良い - そーだいなるらくがき帳
- UoPeopleの入学を見送ってCourseraで勉強することにした
- プロダクトの成功に必要な 3 つのステージと 20 のタスクについて:現場の動き方をまとめました
- withコロナ時代のフリーランスエンジニアの生存戦略
- 外資系企業で学んだ「何が起こりますか?対象者は誰ですか?何をしなければなりませんか?」スタイルのアナウンスメール
- 競技プログラミングで解法を思いつくための典型的な考え方
- マイクロサービスのアプリケーションログ転送量の抑制と改善
- 個人の「成長サイクルモデル」を書いてみた
- コーディング面接対策のために解きたいLeetCode 60問
- Googleからオファーをもらうまで
- こうしてGoogleに入社した(kumagi編)
- 1.5流エンジニアの生存戦略
- 僕は僕にどういう教育を授けたか
- 帝京大学の通信教育課程の学生やってます
- 帝京大学通信教育課程、 2 年目の状況
- Computer Scienceの学位が取れる米国のオンライン大学University of the Peopleに入ってみた感想
- 今後やるかもしれないこと、トランスファー(単位移行)
- 私が社会人大学院に合格するまで
- なぜ今社会人大学院に行くのか?
- 『みんなのデータ構造』でデータ構造の基礎を学んだ
- Courseraで"Algorithms, Part I"を修了した
- 制約と誓約
- 世界で戦うエンジニアになるために
- Amazonの従業員が学ぶ伝わる文章構成の極意
- 大手からベンチャーに転職するか迷ってる人に伝えたい失敗談
- pre-commitでこんな自動レビューをしています!手戻りが少なくて最高!
- あなたがもし、スタートアップに転職を考えたなら
- 100 Remote Companies Hiring Right Now
- 米国スタートアップ界で話題の次世代SNS「Clubhouse」になぜ100億円以上も時価総額がつくのか?
- フリーランスなので4ヶ月仕事をせず学習と趣味に全力投球しようとしたけどそんなに強くなかった
- スクラムの原則を、いかにして実践するか - 現場にありがちな悩みを吉羽龍太郎に相談してみた
- グーグルがトロントで夢見た「未来都市」の挫折が意味すること
- My Productivity Tools as a Software Engineer
- 人気C向けアプリはいかにして初期ユーザー1000人を獲得したのか?
- leetcode時代の外資コーディング面接対策
- コードレビューのやり方、基礎の基礎 - コード改善に重要なレビューの基本的な考え方を学ぼう
- メルカリのテックリードが学んだ、HowよりWhyを重視することが大切なわけ
- カナダ・トロントでRailsエンジニアとして働くようになるまで
- ドイツ・ベルリンに移住してエンジニアの仕事を見つけるまで
- 追い風が消えるとき―、2020年代のインターネット
- 【リンクトイン日本代表・村上臣】全管理職、1人YouTuber時代になる。最新ツール使いこなす支援も
- iOSからSREに転向した
- 成功するスタートアップは一夜にして成功する。ただし、
- 10 Signs That You Are Not Ready to Be an Engineering Manager Yet
- プログラマーのキャリアについて考える
- ITエンジニアは転職すると給料が上がるという話
- 月額500円のオンラインサロンを始めました
- Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい
- 「自分でその船を漕ぐ意思はあるか?」転職が当たり前の今、“1社で長く働く20代”が改めて考えたいこと 【グッドパッチ土屋尚史】
- 人はいかにして定性×定量のデータ分析者になるのか
- Build for the World, From Where You Are
- エンジニアがプロジェクトを牽引する上でやったほうが良いこと
- フォートナイトの急成長、テックジャイアントが注目する「メタバース」とはなにか
- Goodpatchがクライアントワークを続ける理由
- The Process Behind Program Management
Service/App
- 副業・複業の仕事を探すならKasooku
- Duolingo English Test
- アルゴリズムロジック
- Visual Studio Codespaces
- https://sokudan.work/top/projects
- Macでアプリの画面配置を記憶するアプリ「Stay」、外部ディスプレイを使うならインストール必須
- Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary)
- PreBill
- applyf
- MasterClass
- eventbrite - Uncle Bob Consulting LLC
- Fast Notion というアプリを作ってリリースした
Book
- Getting Real: The smarter, faster, easier way to build a successful web application | Basecamp
- スタートアップで働くなら読んでほしい基本の教科書30選:仕事力を作ってくれる知識と考え方
- 書評「Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える」は Kubernetes を中心に AWS も学ぶことができる良書
- Top 5 Books and Courses to Learn RESTful Web Services in Java using Spring MVC and Spring Boot