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
12
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
PRO
1
47
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
PRO
1
82
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
PRO
1
36
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
PRO
3
1.5k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
PRO
1
43
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
PRO
1
220
組織学習とアジャイル
yoshitaroyoyo
PRO
1
260
スクラムマスターのお仕事.pdf
yoshitaroyoyo
PRO
0
130
Other Decks in Programming
See All in Programming
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
750
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
460
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
return文におけるstd::moveについて
onihusube
1
1.1k
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
770
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
130
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
2
670
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
2
220
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
327
38k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
What's in a price? How to price your products and services
michaelherold
243
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
A Tale of Four Properties
chriscoyier
157
23k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Side Projects
sachag
452
42k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
How GitHub (no longer) Works
holman
311
140k
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 最近の学びを簡単に ͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠