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
84
最近の学びを簡単にご紹介2
A brief introduction to recent learning2
よしたろう
December 03, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方【完全版】
yoshitaroyoyo
0
1
自分を変えるを邪魔するのは自分自身!? 免疫マップで可視化てみよう!
yoshitaroyoyo
0
1
今、人類史上で最もリベラルアーツが必要な時代になっている.pdf
yoshitaroyoyo
0
32
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
1
30
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
1
99
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
1
130
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
1
58
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
3
1.8k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
1
68
Other Decks in Programming
See All in Programming
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
160
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
670
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
12
2.9k
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
240
A comprehensive view of refactoring
marabesi
0
970
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
3
820
Is Xcode slowly dying out in 2025?
uetyo
1
180
AIネイティブなプロダクトをGolangで挑む取り組み
nmatsumoto4
0
120
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
0
250
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
860
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.8k
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
330
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
What's in a price? How to price your products and services
michaelherold
246
12k
The Cost Of JavaScript in 2023
addyosmani
51
8.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Visualization
eitanlees
146
16k
Speed Design
sergeychernyshev
31
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Bash Introduction
62gerente
614
210k
Navigating Team Friction
lara
187
15k
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 最近の学びを簡単に ͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠