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
最近の学びを簡単にご紹介2
Search
よしたろう
PRO
December 03, 2022
Programming
0
76
最近の学びを簡単にご紹介2
A brief introduction to recent learning2
よしたろう
PRO
December 03, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
PRO
1
10
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
PRO
1
40
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
PRO
1
69
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
PRO
1
32
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
PRO
3
1.4k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
PRO
1
39
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
PRO
1
200
組織学習とアジャイル
yoshitaroyoyo
PRO
1
230
スクラムマスターのお仕事.pdf
yoshitaroyoyo
PRO
0
120
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Realtime API 入門
riofujimon
0
150
距離関数を極める! / SESSIONS 2024
gam0022
0
280
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.9k
flutterkaigi_2024.pdf
kyoheig3
0
130
Jakarta EE meets AI
ivargrimstad
0
180
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
880
CSC509 Lecture 12
javiergs
PRO
0
160
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
Jakarta EE meets AI
ivargrimstad
0
640
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Statistics for Hackers
jakevdp
796
220k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Gamification - CAS2011
davidbonilla
80
5k
Site-Speed That Sticks
csswizardry
0
26
How to Ace a Technical Interview
jacobian
276
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Happy Clients
brianwarren
98
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Transcript
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に @yoshitaro-yoyo 2022/12/03 最 近 の 学 び を 簡 単 に ご 紹 介 Ver2
最 近 の 学 び を 簡 単 に ご 紹 介 Ver2
͜͜࠷ۙͰֶΜͩ͜ͱʹ͍ͭͯ·ͱΊͯ·͢ɻ ΓཱͯΤϯδχΞ͕ࢥ͏ࣄͰ͢ʂ ༏͍͠ͰݟͯͶʂ ͋͘·ͰɺݸਓͷҙݟͰ͢ʂ ͋͑ͯஅఆతͳݴ͍ʹͯ͠·͢ʂ ٞͷωλʹͰͳͬͨΒخ͍͠Ͱ͢ʂ
͍ΖΜͳݪଇ நԽ ΠϯλʔϑΣΠεʹ͍ͭͯɹ σβΠϯύλʔϯ ΫϥεࢦͳΦϒδΣΫτࢦݴޠ ؔܕϓϩάϥϛϯά (Pݴޠ ܖɾޚతϓϩάϥϛϯά ςετൃ ΥʔλʔϑΥʔϧʹ͍ͭͯ
ԿࣄτϨʔυΦϑ 最近の学び(2022/08〜2022/09)
40-*% ΧϓηϧԽͱએݴܕϓϩάϥϛϯά ෆมɾڞมɾม )551ͱ63* )551ϝιου 30"ͱ3&45 ҆શੑͱႈੑ εΩʔϚۦಈ։ൃͱ"1*ઃܭ ϓϩμΫτ৫ͷจ຺ΛѲ͢Δ ·͡Ξτϓοτେࣄ
最近の学び(2022/10〜2022/11)
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に 40-*% 40-*%
୯Ұݪଇʢ4JOHMF3FTQPOTJCJMJUZ1SJODJQMFʣ ։์ดݪଇʢ0QFODMPTFEQSJODJQMFʣ Ϧείϑͷஔݪଇʢ -JTLPWTVCTUJUVUJPOQSJODJQMFʣ ΠϯλʔϑΣΠεݪଇʢ*OUFSGBDFTFHSFHBUJPOQSJODJQMFʣ ґଘੑٯసݪଇʢ%FQFOEFODZJOWFSTJPOQSJODJQMFʣ 1. SOLID(以下の原則の頭⽂字)
୯Ұݪଇɿ୯Ґ͋ͨΓʹͨ͢తʮҰݸͷΈʯ ։์ดݪଇɿ༷มߋ࣌ʹطଘͷίʔυΛม͑Δͳ ϦείϑͷஔݪଇɿͰग़དྷΔ͜ͱࢠͰग़དྷͳ͔Μ ΠϯλʔϑΣΠεݪଇɿΫϥΠΞϯτʹඞཁͳܖͷΈ ґଘੑٯసݪଇɿํΛܾΊΔ্ҐϞδϡʔϧʹґଘ͢Δ 1. SOLID(以下の原則の頭⽂字)
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ΧϓηϧԽ ͱએݴܕ ϓϩάϥϛϯά ΧϓηϧԽ ͱએݴܕ ϓϩάϥϛϯά
ΧϓηϧԽผʹΦϒδΣΫτࢦʢ001ʣಛ༗Ͱͳ͍ HFUUFSɾTFUUFSΧϓηϧԽΛഁյ͢Δ HFUUFSແ͖͘͠Εͳ͍͔ʁTFUUFSશʹμϝͩ HFUUFSͷঢ়ଶͷແҋͳࢀরϩδοΫࢄΞϯνύλʔϯ ϑΟʔϧυͷΛม͚͑ͨΕผͷΠϯελϯεΛ࡞͠Α͏ ͜Ε͚ͩͰෆेɻʮཔΊɺਘͶΔͳʯ એݴܕͱظ͢Δ݁Ռ۩ମతͳঢ়ଶΛએݴʢ͑Δʣ͜ͱ HFUUFSͰࢀরͨ͠ΛݩʹॲཧΛߦ͏ͱ໋ྩܕʹͳΔ 42-͝Γ͝Γͷએݴܕ 2.
カプセル化と宣⾔型プログラミング
2. カプセル化と宣⾔型プログラミング
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ෆมɾ ڞมɾม ෆมɾ ڞมɾม
ܧঝʹ͓͚ΔεʔύʔɾαϒؒͰͷܕͷޓੑύλʔϯ 3. 不変・共変・反変 B extends Aͷ࣌ B と A ͷαϒλΠϓؔɺҎԼͷΑ͏ʹͳΔ
ෆมɿࢠ͕ؔͳ͘ͳΔ A a = B b;͕ෆڐՄ ڞมɿA a = B b;͕ڐՄ͞ΕΔɻී௨ มɿB b = A a;͕ڐՄ͞ΕΔɻରɻ͍ͭ͏Μͩʁ
3. 不変・共変・反変 不変の使い所 「複数の型を持つオブジェクトが ⼊り混じることを制限したい時」 共変の使い所 「サブタイピングしたい時」 反変の使い所 「わからん!誰か教えてくれ!」 B
extends Aͷ࣌ ෆมɿ ࢠ͕ؔͳ͘ͳΔ A a = B b;͕ෆڐՄ ڞมɿ A a = B b;͕ڐՄ͞ΕΔ มɿ B b = A a;͕ڐՄ͞ΕΔ
3. 不変・共変・反変 public class Main { public static void main(String[]
args) { List list = new ArrayList(); . list.add(“A”); list.add(“B”); list.add(123); list.add(“C”); . System.out.println(list); } } 4USJOHͱJOU͕ೖΓࠞ͡Δͱ$MBTT$BTU&YDFQUJPO
3. 不変・共変・反変 public class Main { public static void main(String[]
args) { List<String> list = new ArrayList<>(); . list.add(“A”); list.add(“B”); list.add(123); // ͜ͷ࣌ͰΤϥʔग़Δɹ ɹ list.add(“C”); . System.out.println(list); } } -JTUܕมͷMJTUʹ4USJOH͔͠ೖΕΕͳ͘ͳΔ +BWBͷҾෆมੑͷͨΊ0CKFDUܕೖΕΕͳ͍
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に 30"ͱ3&45 30"ͱ3&45
3&45 ΞʔΩςΫνϟͰͳ͘Ұ࿈ͷઃܭ݅Ͱ͔͠ͳ͍ 3&45GVM "1* 30" ͷ࣮ɺ30" ʹଇΓ3&45GVM "1* ࣮͞ΕΔ ϦιʔεࢦΞʔΩςΫνϟ
30"ɿ3FTPVSDF0SJFOUFE"SDIJUFDUVSF 30"ϦιʔεΛத৺ʹߟ͑ΔΞʔΩςΫνϟ Ϧιʔεͱ8FC্ʹଘࡏ͢Δ͋ΒΏΔใͷ͜ͱ Ϧιʔεগͳ͘ͱ63* Λඞͣͭ࣋ͭ 30" ʹ͓͚Δͭͷಛੑ ΞυϨεՄೳੑɾଓੑɾ౷ҰΠϯλʔϑΣʔεɾεςʔτϨεੑ 4. ROAとREST
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に 3&45ͱ63* 3&45ͱ63*
શͯʓʓͰ͋Δɺͱ͍͏நԽΛ3&45࣮ݱ 3&45ʮશͯ63*Ͱ͋Δʯͱఆٛ͢Δ ౷Ұ͞ΕͨΠϯλʔϑΣΠε (&5ˠऔಘɾ1045ˠ࡞ɾ165ˠߋ৽ɾ%&-&5&ˠআ ଟछଟ༷ͳϦιʔεͷૢ࡞ɾॲཧΛͭͷಈࢺͰදݱɾ੍ ଟ༷ͳͷΛಉ͡ΈͰදͨ͢Ίʹڧ੍͍ɾநԽΛߦ͍࣮ߦͰ͖ Δ͜ͱΛগͳ͘͠ɺ౷Ұతʹఏڙ͢ΔࣄͰ࠶ར༻ੑɾ࠶ଓੑΛߴΊΔ 5. RESTとURI
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に )551 ϝιου )551 ϝιου
6. HTTPメソッド
6. HTTPメソッド 1045ϝιουͱ165ϝιουͷҧ͍
ϦΫΤετ͕Ϧιʔεʹରͯ͠ͲΜͳૢ࡞Λ͢Δ͔αʔόʹ͑Δใ )551ϝιουඪ४Խ͞Ε͍ͯΔͨΊੈքதͰ༻Ͱ͖Δ ҆શੑͱႈੑ͕ߟྀ͞ΕΔඞཁ͕͋Δ 6. HTTPメソッド
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ҆શੑ ͱႈੑ ҆શੑ ͱႈੑ
7. 安全性と冪等性
7. 安全性と冪等性 ֤)551ϝιουͷ҆શੑͱႈੑͷରԠ
҆શੑΛຬͨ͞ͳ͍(&5 [GET] /notifications/1/open ௨Λطಡʹߋ৽͢Δ"1*ɿϦιʔεͷঢ়ଶΛมߋ͢ΔͨΊ҆શੑҧɻ ҆શͱϦιʔεͷঢ়ଶΛมߋ͠ͳ͍ͱ͍͏ࣄɻ ႈੑΛຬͨ͞ͳ͍%&-&5&
[DELETE] /notifications/latest ࠷৽ͷ௨Λআɿ࠷৽ͱ͍͏ఆ͔ٛΒ͢Δͱɺ࠷৽Λআͨ͠߹ɺআ͢Δલͷ Ұͭલ͕࣍ͷ࠷৽ʹͳΓɺಉ͡ϦΫΤετΛߦͳͬͨ߹ɺ࣍ʑͱʮ࠷৽ʯͷϦιʔ ε͕আɻႈͱಉ͡ϦΫΤετΛߦͬͯ݁Ռ͕มΘΒͳ͍ࣄɻႈੑҧɻ 7. 安全性と冪等性
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に εΩʔϚ ۦಈ։ൃ ͱ"1*ઃܭ εΩʔϚ ۦಈ։ൃ ͱ"1*ઃܭ
εΩʔϚͱ8FC"1*ͷߏఆٛ͠ɺఆΊΒΕͨܗࣜͰهड़ͨ͠ ͲͷΤϯυϙΠϯτ͕ɾͲΜͳϦΫΤετΛड͚Δͷ͔ɾͲΜͳϨεϙϯεΛฦ͢ͷ͔ εΩʔϚۦಈ։ൃͱʰ"1*εΩʔϚΛ·ͣॳΊʹఆٛɺͦΕΛجʹ ɹαʔόʔଆ "1* ͱΫϥΠΞϯτଆ ը໘ ͷ։ൃΛฒߦͯ͠ਐΊΔ͜ͱʱ "1*ͷεΩʔϚΛ࠷ॳʹఆٛ͠ɺ྆ऀؒͰ"1*ͷ༷ͷζϨΛ͙
εΩʔϚ͔Βɺ*'ͱ"1*υΩϡϝϯτࣗಈੜɾελϒαʔό࡞ 8. スキーマ駆動開発
αʔόଆΛ࣮͔ͯ͠ΒΫϥΠΞϯτଆΛ࣮ɻ݁߹͢Δͱෆ۩߹͕͋ ΔͷͰͦΕͧΕͯ͠ɺςετͯ͠ϦϦʔεɻ 8. スキーマ駆動開発とAPI設計 IUUQTCMPHPOLOJOKBTDIFNB@ fi STU@EFWFMPQNFOU
·ͣҰॹʹ૬ஊ͠ͳ͕ΒεΩʔϚΛఆٛͯ͠ɺεΩʔϚΛͱʹύϥϨϧ ʹ࣮ɻ݁߹ͯ͠΄ͱΜͲෆ۩߹ݟͨΒͳ͍ͷͰͦͷ··ϦϦʔεͱ ͳΓɺೝࣝҧ͍݁߹࣌ͷτϥϒϧ͕গͳ͘ͳΔͷͰՃ͕ظͰ͖·͢ɻ 8. スキーマ駆動開発とAPI設計 IUUQTCMPHPOLOJOKBTDIFNB@ fi STU@EFWFMPQNFOU
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ϓϩμΫτ ৫ͷจ຺ ΛѲ͢Δ ϓϩμΫτ ৫ͷจ຺ ΛѲ͢Δ
ΤϯδχΞʹͳͬͯࢀՃͨ͠ϓϩδΣΫτ̑ݸ ίʔσΟϯάେࣄ͚ͩͲɺͦ͜ʹࢸΔաఔͷํ͕େࣄ͔ ͜ͷ࣌Ͱదͳઃܭ͕Կॲ·ͰͰ͖ͯΔ͔ʹΑΔ͚Ͳ ʮͲͷ༷ʹʯʮ͍ͭ࡞Δ͔ʁʯΑΓʮԿΛʯʮԿނʯʮ୭ͷͨΊʹʯ ͜͜ͷೝ͕ࣝͣΕͨ··ίʔσΟϯάͯ͠େମखΔ େࣄͳͷಉ͡ඪΛݟ͍ͯΔͷ͔ʁ 9. プロダクトや組織の⽂脈を把握する
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ·͡ Ξτϓοτ େࣄ
None
ΞϐʔϧͰ͖Δ υΩϡϝϯτ࡞ೳྗ ݴޠԽೳྗɺੳྗɺຊ࣭ΛݟۃΊΔೳྗ ΩϟονΞοϓྗͱϙςϯγϟϧྗ ਓͱͳΓɺϓϩάϥϛϯά͕͖ͳΜͩͳʔͬͯࢥͬͯΒ͑Δ ϚδͰษڧʹͳΔ స৬࣌ੌ͘ධՁ͞ΕΔ աେධՁ͞ΕΔʢා͍ʣ 10. まじアウトプットは⼤事!
@yoshitaro-yoyo 2022/10/03 最近の学びを簡単に ͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠