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
よしたろう
December 03, 2022
Programming
0
70
最近の学びを簡単にご紹介2
A brief introduction to recent learning2
よしたろう
December 03, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
真のリーダーの本質と条件
yoshitaroyoyo
0
12
チーム間の相互理解を阻む要因 超個人的かつ情緒的かつ自己満的な見解
yoshitaroyoyo
0
64
Javaによるセキュアコーディングの第一歩
yoshitaroyoyo
2
80
ゼロから始める システム障害対応フロー
yoshitaroyoyo
1
160
最近の学びを簡単にご紹介
yoshitaroyoyo
2
550
デザインパターン入門とオブジェクト指向について
yoshitaroyoyo
0
28
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaroyoyo
0
2.9k
入社一発目で激烈炎上案件にテスターとして参加して得た気付き
yoshitaroyoyo
0
38
挑戦のすゝめ
yoshitaroyoyo
0
16
Other Decks in Programming
See All in Programming
Elm Form Validation
bkuhlmann
0
510
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
240
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
180
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
Goのエラースタックトレースの歴史と今後
sonatard
8
1.4k
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Goのmultiple errorsについて (2024年4月版)
syumai
3
790
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
220
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
78
42k
Automating Front-end Workflow
addyosmani
1356
200k
YesSQL, Process and Tooling at Scale
rocio
164
13k
Rails Girls Zürich Keynote
gr2m
91
13k
Web Components: a chance to create the future
zenorocha
305
41k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
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 最近の学びを簡単に ͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠