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
82
最近の学びを簡単にご紹介2
A brief introduction to recent learning2
よしたろう
December 03, 2022
Tweet
Share
More Decks by よしたろう
See All by よしたろう
銀河英雄伝説・攻殻機動隊 から人としてのあり方を学んだ
yoshitaroyoyo
1
22
視点の探索と取得〜見える世界が変わるとは何か?何が見えるようになるのか?
yoshitaroyoyo
1
73
フォロワーを活かすリーダー リーダーを活かすフォロワー
yoshitaroyoyo
1
110
対話・多様性が イノベーション・情報精緻化・組織学習に繋がる
yoshitaroyoyo
1
48
人文学から学ぶ 人として、リーダーとして、スクラムマスターとしてのより善い在り方
yoshitaroyoyo
3
1.7k
世界のTOPが世界をどう捉えているのか知りたくないっすか?
yoshitaroyoyo
1
56
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
260
組織学習とアジャイル
yoshitaroyoyo
1
310
スクラムマスターのお仕事.pdf
yoshitaroyoyo
0
140
Other Decks in Programming
See All in Programming
ミリしらMCP勉強会
watany
2
310
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
430
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
12
3.7k
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
160
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
580
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
410
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
0
320
RCPと宣言型ポリシーについてのお話し
kokitamura
2
150
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
2
570
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
820
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
160
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
240
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
4 Signs Your Business is Dying
shpigford
183
22k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Designing Experiences People Love
moore
141
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Music & Morning Musume
bryan
46
6.4k
Code Reviewing Like a Champion
maltzj
522
39k
GitHub's CSS Performance
jonrohan
1030
460k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Documentation Writing (for coders)
carmenintech
69
4.7k
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 最近の学びを簡単に ͝੩ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠