Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Node学園 39 時限目資料 kuriyosh
Search
Yoshiki Kurihara
June 27, 2022
Technology
0
140
Node学園 39 時限目資料 kuriyosh
Yoshiki Kurihara
June 27, 2022
Tweet
Share
More Decks by Yoshiki Kurihara
See All by Yoshiki Kurihara
Next.js App Router x @apollo/client
kuriyosh
9
400
Other Decks in Technology
See All in Technology
カメラを用いた店内計測におけるオプトインの仕組みの実現 / ai-optin-camera
cyberagentdevelopers
PRO
1
120
物価高なラスベガスでの過ごし方
zakky
0
380
よくわからんサービスについての問い合わせが来たときの強い味方 Amazon Q について
kazzpapa3
0
220
10分でわかるfreeeのQA
freee
1
3.4k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
49k
Aurora_BlueGreenDeploymentsやってみた
tsukasa_ishimaru
1
120
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
プロダクトチームへのSystem Risk Records導入・運用事例の紹介/Introduction and Case Studies on Implementing and Operating System Risk Records for Product Teams
taddy_919
1
170
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
ガバメントクラウド単独利用方式におけるIaC活用
techniczna
3
270
スプリントゴールにチームの状態も設定する背景とその効果 / Team state in sprint goals why and impact
kakehashi
2
100
急成長中のWINTICKETにおける品質と開発スピードと向き合ったQA戦略と今後の展望 / winticket-autify
cyberagentdevelopers
PRO
1
160
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
Building Adaptive Systems
keathley
38
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Thoughts on Productivity
jonyablonski
67
4.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Being A Developer After 40
akosma
86
590k
Raft: Consensus for Rubyists
vanstee
136
6.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
1.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
40
Transcript
z Node.js の Collaborator になった話 @kuriyosh
z 自己紹介 § ID・名前 § kuriyosh (Yoshiki Kurihara) § 職歴
§ Yuimedi Software Engineer 2021/7~ 原罪 § AWS Support Engineer (Windows) 2019/4 ~ 2021/6 § Windows Server とか、Active Directory とか、VDI とか § 好きなもの § TypeScript, React, Serverless architecture, AWS
z 目次 § Core collaborator とは § コミットを始めたきっかけ § 活動内容
§ 苦労したこと § おわりに
z Node.js collaborator になりました https://kuriyosh.net/blog/2022-05-17
z Node.js の組織 § Triager § Issue の一時受け § Core
collaborator § PRの管理 (レビュー、CI の実行) § Technical Steering Committee § 技術的方向性の決定 § 組織設計
z コミットをはじめたきっかけ § 現職で勤務時間の内 20% の時間を OSS や自己研鑽 に使ってよいというルールがあり何をするか迷っていた §
プロダクト開発を行いたいから転職したものの前職とは 全然違った職種であるため、成功体験がほしかった § 社内に既に collaborator の方が複数人おり @watilde さんに勧められてコミットをはじめてみた
z 最初のコミット § とりあえず Contributing ガイドを読んでどうしたら良いか理解 § https://github.com/nodejs/node/blob/main/CONTRIBUTING.md § PR
投げる体験をしたかったので Typo fix の PR を出してみた § Typo 探すのが面倒だったのでコマンドラインから実行できる Aspell というスペルチェッカーを使って Typo 探しをした § 辞書の作成が結構面倒だったのでもしよければ利用ください § https://gist.github.com/kuriyosh/3b592f90140a98c908e222e1ec1d8e2 2
z 最初の PR
z 続いてやったこと § テストカバレッジ向上 § DNS, HTTP とか § Node.js
の Code の Coverage を掲載してるサイト § https://coverage.nodejs.org/
z テスト追加のフロー § 1. カバレッジからテストが追加されてないコード § 2. テストを追加 § 3.
ローカルでカバレッジ作成 → カバレッジが上がったことを確認 § 4. lint を実行 § 5. PR作成
z テストの追加に関する Tips § テストの追加方法に関するドキュメント § https://github.com/nodejs/node/blob/main/doc/contributing/ writing-tests.md § Test
に利用できる Utils 関数 § https://github.com/nodejs/node/tree/main/test/common
z テスト追加で苦労したこと § 色んなライブラリを駆使して便利に書けるプロダクトのテ ストコード異なりプリミティブなJSで書かれている § 前述の Utils 関数はしっかり把握しておく必要 §
こればっかりは慣れるしかない § コードベースが膨大で誤った理解をしちゃう § 誤った理解で PR を出したりもしたが特に咎められない(優しく 修正してくれる) § TSCはすごい
z オンボーディング § ノミネーションプロセス § 既存の collaborator に GitHub issue
で推薦いただく § 1週間 Issue をオープンにして反対意見なければOK § オンボーディングセッション § 既存の TSC と PR を作成しながらオペレーションを学ぶ § https://github.com/nodejs/node/blob/main/onboarding.md
z 感想 § JS 何もわからん § Collaborator になる前は完全に理解してたけど、なる頃には 何もわからなくなっていた §
Node.js コミュニティの安心感 § 自分が参加した OSS の母数が少ないとはいえ、OSS なのに ここまでプロセスが整っているのは感動した § 英語勉強した方が良い § 先にオンボーディングのドキュメント見ていてよかった
z おわりに § Yuimedi ではエンジニア募集中です。 § 医療用のデータクレンジングソフトウェア Yuicleaner の開発をしています §
技術スタック § 気軽に Twitter で連絡いただけると嬉しいです フロントエンド バックエンド インフラ - React - Next.js - Electron - NestJS - GraphQL - TypeORM - AWS CDK - Cognito - ALB - Fargate - S3 - RDS TypeScript GitHub Asana Docker その他 共通 Node.js