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
OSS活動のススメ / oss-activities
Search
k.goto
June 19, 2024
Technology
4
590
OSS活動のススメ / oss-activities
2024/06/20,21開催AWS Summit Japan 2024での登壇資料です。
k.goto
June 19, 2024
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.8k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
5
1.2k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
630
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
gotok365
2
1.2k
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
10
3.7k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
gotok365
4
1.4k
AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns
gotok365
12
5.1k
CloudWatch複合アラームでELBの5XXをいい感じに検知しようとしたらうまくいかなかった話 / cloudwatch alarm elb 5xx
gotok365
0
3k
AWS CDKとZodを活用したバリデーションパターン集 / validation patterns with cdk and zod
gotok365
7
3.3k
Other Decks in Technology
See All in Technology
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
180
Kubernetesって何? -大規模なKubernetesを運用するKubernetes as a Serviceチームの話を添えて-
lycorptech_jp
PRO
13
4.3k
ORM と向き合う
hoto17296
0
200
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
46k
10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜
10xinc
5
990
Sansanにおける全社横断データ分析基盤の挑戦と未来 / Challenges and Future of Cross-Organizational Data Analytics Platform at Sansan
sansan_randd
1
200
AI Tour Mexico: Production-ready RAGwith Azure AI Search
pamelafox
0
130
【虎の穴ラボ Tech Talk】虎の穴ラボTech Talk説明資料
toranoana
0
120
DockerのマルチプラットフォームイメージをGitHub Actionsでビルドして公開する際に、参考にしたドキュメントと便利だったツール
iwamot
3
110
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
2
220
学術機関におけるID連携とOpenID Connect
fujie
0
580
可視化がやりたくてMIERUNEに転職した話 〜“思考のための道具”とコンピューターによる新たな表現〜 / MIERUNE JCT - Tokyo 2024
sorami
2
190
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
90
16k
Become a Pro
speakerdeck
PRO
22
4.9k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Designing for humans not robots
tammielis
248
25k
In The Pink: A Labor of Love
frogandcode
139
22k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Automating Front-end Workflow
addyosmani
1365
200k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Designing the Hi-DPI Web
ddemaree
278
34k
Principles of Awesome APIs and How to Build Them.
keavy
125
17k
RailsConf 2023
tenderlove
28
830
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Transcript
2 0 2 4 / 0 6 / 2 1
AW S S U M M I T JA PA N 2 0 2 4 DAY 2 OSS活動のススメ k.goto (後藤 健太) AWS DevTools Hero 1
自己紹介 (k.goto) X: @365_step_tech AWS HERO AWS DevTools Hero 自作OSS
AWSツール (cls3, delstack, lamver) AWS CDKコントリビュート Top Contributor Trusted Reviewer Community-Driven CDK Construct Library Maintainer CDK Constructライブラリ GitHub: @go-to-k
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 3
本セッションの目的 • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 4 1人でもそう思ってもらえるように・・・ OSS活動のハードルを下げ 一歩踏み出したくなる!
OSS活動とは 5
OSS • OSS = オープンソースソフトウェア § 利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配 布が可能なソフトウェアの総称 (Wikipediaより) •
AWS関連のOSSでも種類はたくさん § AWS公式のものからコミュニティ・個人によるものまで § 海外発のものから国内発のものまで 6
OSS活動 • OSSコントリビュート(貢献) § コード・テスト・ドキュメントなどを書き、Pull Requestを提出 § 機能追加の要望やバグの内容などをissueに起票 § 既存のissueやPull
Requestなどでディスカッション § Pull Requestをレビュー 7
OSS活動は敷居が高い? 8
OSS活動は敷居が高い? 9 興味はあるんだけど・・・ いつかやってみたい・・・ いつも使っているし 何か貢献したい・・・ なんかすごい あまりプログラミング できないし・・・ カッコいいけど
自分にはとても・・・ 今年中には・・・ 自分の書いたコードを 知らない人に見せるのか・・・ すごい人多そう・・・ 英語わからん
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 10
OSS活動は敷居が高い? • 有名なOSSなんてとても・・・ • プログラミングがあまり得意でない • 英語が苦手 • 知らない人怖い・海外の人すごそう 11
自信がない なんか難しそう
OSS活動は敷居が高い? 12 もったいない!!
OSS活動は敷居が高い? 13 そんなことないんです!!
「有名なOSSなんてとても・・・」 • 例えば:AWS Cloud Development Kit (CDK)へのコントリビュート § 深いコーディング知識がなくてもコントリビュートできる –
TypeScript固有の実装方法などはあまり使われていない § むしろ他の面の比重が大きい – ビルド方法・Pull Request提出ルール – AWSサービスの知識 14 マネコンだとこうだから デフォルト値はこれが便利 この設定だとリソース作成失敗 するからバリデーションしよう ログ名にはルールがあるから 最初から設定してあげよう XプロパティとYプロパティ はセットで必要だよな 必要な権限はこれとあれだから 簡単に付与できるようにしよう コーディング知識 << AWS知識 な方にはピッタリのOSS!!
「有名なOSSなんてとても・・・」 • ベンダー公式・有名なOSSへのコントリビュートじゃなくてもいい § 個人・コミュニティで作っているOSS § 自分のリポジトリ(Public) – 自作ツール/ライブラリ •
シェルスクリプトでもいい! – TIPS/コードサンプル • CDKコード • IaCツールの定義コード 15 これらも立派なOSSです! 公開してみるのが大事! (※ライセンスには注意)
「プログラミングがあまり得意でない」 • 何ならプログラミングできなくてもいい § Typo・ドキュメント修正 § issue起票 (バグ報告や機能の要望) § 既存issueやPRにコメント
§ そのOSSを広める – 登壇・ブログ・SNS・etc… 16 「よかった」と書くだけでも立派な貢献!
「英語が苦手」 • 翻訳ツール・生成AIを駆使 § 対面の同期会話じゃない・文章での非同期会話 • 日本語だけで作っても良い § 日本人ユーザーだけでも助かる人はたくさんいる §
一旦日本語で作って、後から英語にするのもOK – ハードル低く始められる! 17 英語のいい経験になります!
「知らない人怖い・海外の人すごそう」 • みんな人間 • だいたい優しい 18 AWSコミュニティの人は特に優しい!
OSS活動はイイぞ 19
OSS活動はイイぞ • グローバルな交流ができる • 自分の貢献したものが色々な人に使われる • アウトプット・アピールになる 20
グローバルな交流ができる • 多くのOSSでは英語が主流 § 必然的に英語の交流が経験できる • 自作OSSを海外の方に使ってもらえたり § Issue, PRをくれたり
§ ブログを書いてくれたり 21 AWS Españolの方が自分のツールの記事を スペイン語で書いてくれました
自分の貢献したものが色々な人に使われる • 日本から海外までたくさんの人が助かる § 自分の業務で使う場合、自分も助かる • とにかく嬉しい! 22 自己肯定感・自信に繋がる
アウトプット・アピールになる • 実際に手を動かすのでスキルが向上 • GitHubに公開することでパブリックな成果物・記録になる § 執筆や登壇以外でのアウトプット方法・アピールにもなる 23 AWS界隈はインフラ寄りの方が多いので 目立てるかも?
(AWS HEROにもなれました)
はじめてのOSS活動 (k.gotoの場合) 24
はじめてのOSS活動 (k.gotoの場合) 25 自作 OSS 作成 AWS CDK 貢献
はじめてのOSS活動: 自作OSS作成 • CLIツールのようなものをシェルスクリプトで自分用に作成 • ポータビリティなどを理由にGo言語で再作成 § AWS CLI部分 ->
AWS SDKに変更 (今の時代なら生成AIに頼めば楽々?) § オプション導入・関数化・ファイル分割・エラーハンドリングなどリファクタ • GitHubリポジトリで公開 § 簡単な概要だけのREADMEを英語でとりあえず作成 • 色々と変更を加えて今に至る 26
はじめてのOSS活動: AWS CDK貢献 • Issue漁る § Good first issueラベル、 Typo/ドキュメント変更系
• 他の人のPull Requestを見まくる・コントリビュートガイド読む § 貢献ルールやビルド・テスト方法を学ぶ • とりあえず着手 + PR出してみる § 初心者にはレビュアーが親切に教えてくれるので、それをもとに修正 • あとは都度やりながらお作法を学んでいく (勢いが大事!) 27
自作OSSの紹介 28
自作OSS: AWSツール 【delstack】AWS CloudFormationスタック強制削除ツール § https://github.com/go-to-k/delstack 【cls3】Amazon S3バケットを高速に削除・空にするツール § https://github.com/go-to-k/cls3
【lamver】AWS Lambdaランタイム/バージョン検索ツール § https://github.com/go-to-k/lamver 29
delstack AWS CloudFormationスタック強制削除ツール 30 スタック削除で失敗するリソースがあっても、そのリソース含めスタックごと強制削除! 対話で検索して、複数スタック一括削除可能! (依存関係を加味して新しいものから順に削除)
cls3 Amazon S3バケットを高速に削除・空にするツール 31 対話で検索して、複数バケット一括削除可能! 非現行バージョンのみ削除も可能!
lamver AWS Lambdaランタイム/バージョン検索ツール 32
lamver AWS Lambdaランタイム/バージョン検索ツール 33 リージョン横断検索! CSV出力オプションもあり!
自作OSS: AWS CDKコンストラクトライブラリ 【image-scanner-with-trivy】CDKでTrivyでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-trivy 【image-scanner-with-dockle】CDKでDockleでコンテナイメージスキャン § https://constructs.dev/packages/image-scanner-with-dockle 【elb-other-5xx-alarm】CDKでマイナーな5xx(501,506...)のELBアラーム
§ https://constructs.dev/packages/image-scanner-with-dockle 34
まとめ 35
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 36
まとめ • OSS活動はそんなに難しくないよ! • OSS活動で得られることはたくさんあるよ! 37 OSS活動のハードルが下がり 一歩踏み出したくなったらいいな 気軽に一歩踏み出してみよう!
宣伝 38
builders.flashに寄稿させていただきました! 2024/06/04 『AWS CDK におけるバリデーションの使い分け方を学ぶ』 • https://aws.amazon.com/jp/builders-flash/202406/cdk-validation/ 39
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 40
CDKコントリビュートワークショップやります! 2024/07/06(土) 『AWS CDK Conference Japan 2024』(@目黒セントラルスクエア 21階) • AWS
CDKへコントリビュートしてみようワークショップ (現地参加のみ) § https://jawsug-cdk.connpass.com/event/317921/ 41 登壇もします! (セッションはオンラインとのハイブリッド) 17:35 - 17:55 『AWS CDKにおける「再利用性」を考える』
Thank you! k.goto (後藤 健太) AWS DevTools Hero X: @365_step_tech
GitHub: @go-to-k 42