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
セッションの有効期限をどう決めるか
Search
TwitterID:@rukiadia
December 02, 2023
Programming
0
160
セッションの有効期限をどう決めるか
https://sumidagawa-dev.connpass.com/event/298849/
「隅田川.dev vol.3 LT会」で発表に利用した資料です。
TwitterID:@rukiadia
December 02, 2023
Tweet
Share
More Decks by TwitterID:@rukiadia
See All by TwitterID:@rukiadia
やらない事を決めるプロダクト設計
rukiadia
16
9.3k
ふんわり理解するcontext
rukiadia
1
450
今こそ深堀りする、PHPのDockerイメージ / understand_php_docker
rukiadia
3
3k
Dependency Injectionとデザインパターン / understand_di_and_design_patterns
rukiadia
1
500
今こそ理解するDI(Dependency Injection) / Understand Dependency Injection of PHP
rukiadia
4
5.5k
今こそ理解する PHPの日時計算 / Understand date manipulation of PHP
rukiadia
0
3.4k
ページネーションから考えるSQLパフォーマンス
rukiadia
1
1.7k
遅延読み込みとの正しい付き合い方 + α
rukiadia
7
1.4k
遅延読み込みとの正しい付き合い方
rukiadia
0
470
Other Decks in Programming
See All in Programming
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
16
3.6k
ワンバイナリWebサービスのススメ
mackee
10
7.7k
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
170
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
Perlで痩せる
yuukis
1
680
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
160
無関心の谷
kanayannet
0
160
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
470
RubyKaigiで得られる10の価値 〜Ruby話を聞くことだけが RubyKaigiじゃない〜
tomohiko9090
0
130
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
310
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Speed Design
sergeychernyshev
30
990
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Gamification - CAS2011
davidbonilla
81
5.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
How to Ace a Technical Interview
jacobian
276
23k
It's Worth the Effort
3n
184
28k
A Tale of Four Properties
chriscoyier
159
23k
How STYLIGHT went responsive
nonsquared
100
5.6k
Building Adaptive Systems
keathley
43
2.6k
Transcript
ηογϣϯͷ༗ޮظݶΛ Ͳ͏ܾΊΔ͔ ʰ۱ాEFWWPMʱ !SVLJBEJB 4IP:BNBEB
ࣗݾհ • Name: ࢁాɹʢ·ͩɹ͠ΐ͏ʣ • Twitter : @rukiadia • גࣜձࣾάϥϑΝʔʹॴଐɻProduct
Developerͱ͍͏ϩʔϧͰϑϧ αΠΫϧͳ։ൃΛ͍ͯͯ͠ɺGoͱTypeScriptΛॻ͘ػձ͕ଟ͍Ͱ͢ɻ
ຊͷ-5ͷςʔϚ w ϩάΠϯͨ࣌͠ͷೝূηογϣϯΛͲͷఔͷ࣌ؒʹ͖͔͢ɺΛ ͠·͢ɻ w ʁͦΕͱ࣌ؒʁͦͦɺԿΛࠜڌʹ࣌ؒΛܾΊΕ͍͍ͷ ͩΖ͏͔ʁ
લఏࣝ w ͕ීஈؔΘ͍ͬͯΔϓϩμΫτʰεϚʔτਃʱͰͷͰ͢ɻ w ؆୯ʹݴ͏ͱɺߦखଓ͖ΛΦϯϥΠϯͰਃՄೳʹ͢Δɻެ ڞαʔϏεΛఏڙ͢Δ࣏ࣗମଆཧ༻ͷΞΧϯτɺࢢຽଆʹ ਃ༻ʹΞΧϯτΛ࡞ͬͯར༻ͯ͠Β͏ఆɻ w ˞ࢢຽଆΞΧϯτ࡞ඞਢͰͳ͍͕ɺΞΧϯτ͕͋Δͱਃ ʹೖྗͨ͠ใΛҰ࣌อଘͰ͖Δརศੑ͕͋Δɻ
w ৄ͘͠IUUQTHSB ff FSKQHPWFSONFOUTTPMVUJPOTNBSUBQQMZ
ͦΕͰຊ
ͱ͋Δͷग़དྷࣄ w ಉ྅ʮ8FCΞΫηγϏϦςΟͷ؍ͰɺΞΧϯτͷೝূ࣌ؒΛԆ ͍ͨ͠Ͱ͢ɻ8$"(ͷୡج४Ͱɺ੍ݶ͕࣌ؒ࣌ؒΑΓ ͚Ε0,ͳͷͰ͕͢ԆՄೳͰ͔͢ʁʯ w ʮ࣮ՄೳͰ͕͢ɺͲ͏͋Δ͖͔Λཧղ͍ͨ͠ͷͰ࣌ؒΛͩ͘ ͍͞ɻʯ
8FCΞΫηγϏϦςΟͷ؍ w 8$"(ʢ8FC$POUFOU"DDFTTJCJMJUZ(VJEFMJOFTʣͷΨΠυϥΠϯ ͷͭʹʮλΠϛϯάௐՄೳʯͷ߲͕͋Δɻ w IUUQTXBJDKQUSBOTMBUJPOT6/%&345"/%*/(8$"( UJNFMJNJUTSFRVJSFECFIBWJPSTIUNM
ʮλΠϛϯάௐՄೳʯͱʁ w ίϯςϯπͷར༻ʹ੍ݶ͕࣌ؒ͋Δ߹ɺར༻ऀͷेͳ࣌ؒΛɺՄೳͳ ݶΓอূ͢ΔͨΊͷࢦඪ w ʰղআʱ੍ݶ͕࣌ؒ͋ΔίϯςϯπΛར༻͢Δલʹɺར༻ऀ੍͕ݶ࣌ؒΛղ আͰ͖Δɻ w ʰௐʱίϯςϯπͷར༻લʹɺར༻ऀ͕গͳ͘ͱσϑΥϧτઃఆͷ ഒΛ͑Δɺେ෯ͳ੍ݶ࣌ؒௐΛ͓͜ͳ͑Δɻ
w ʰ࣌ؒͷྫ֎ʱ੍ݶ͕࣌ؒ࣌ؒΑΓ͍ɻ w ˞ࠓճʰ࣌ؒͷྫ֎ʱΛબ͢ΔલఏͰݕ౼ΛਐΊͨ
ΞΫηγϏϦςΟͷ؍Ҏ֎Ͱ Ͳ͏͍ͬͨݕ౼ࡐྉ͕͋Δʁ
ηΩϡϦςΟͱརศੑ w ྫʮೝূ͕සൟʹແޮʹͳΔͱར༻ऀ͕ෆศ͔ͩΒɺ༗ޮظݶΛʹ͠Α ͏ʯ w ηογϣϯϋΠδϟοΫͳͲͷ߈ܸͰηογϣϯΛͬऔΒΕͨ߹ͷϦ εΫ͕͋Γ͗͢Δɻ w ྫʮηΩϡϦςΟΛॏࢹͯ͠ɺηογϣϯͰΕΔΑ͏ʹ͠Α͏ʯ w
தར༻͢ΔΛఆ͢Δͱɺ͓ͦΒ͘·ͱʹར༻Ͱ͖ͳͯ͘ෆศɻ w ݁ɺ༗ޮظݶΛܾΊΔࡍͷஅج४͕ͲͪΒ͔ʹґΓ͍͚͗ͯ͢ͳ͍ɻ
ࢀߟʹͳΔࢦඪ w #PUIUIFJEMFBOEBCTPMVUFUJNFPVUWBMVFTBSFIJHIMZEFQFOEFOUPOIPX DSJUJDBMUIFXFCBQQMJDBUJPOBOEJUTEBUBBSF$PNNPOJEMFUJNFPVUTSBOHFT BSFNJOVUFTGPSIJHIWBMVFBQQMJDBUJPOTBOENJOVUFTGPSMPXSJTL BQQMJDBUJPOT"CTPMVUFUJNFPVUTEFQFOEPOIPXMPOHBVTFSVTVBMMZVTFT UIFBQQMJDBUJPO*GUIFBQQMJDBUJPOJTJOUFOEFEUPCFVTFECZBOP ffi DF XPSLFSGPSBGVMMEBZ
BOBQQSPQSJBUFBCTPMVUFUJNFPVUSBOHFDPVMECF CFUXFFOBOEIPVST w IUUQTDIFBUTIFFUTFSJFTPXBTQPSHDIFBUTIFFUT
[email protected]
@$IFBU@4IFFUIUNMTFTTJPOFYQJSBUJPO͔ΒҾ༻
ࢀߟʹͳΔࢦඪɾຊޠ༁ w ΞΠυϧλΠϜΞτͱઈରλΠϜΞτͷɺΞϓϦέʔγϣϯͱͦͷσʔλ ͷॏཁੑʹେ͖͘ґଘ͠·͢ɻҰൠతͳΞΠυϧλΠϜΞτͷൣғɺՁͷߴ ͍ΞϓϦέʔγϣϯͰɺϦεΫͷ͍ΞϓϦέʔγϣϯͰͰ ͢ɻઈରλΠϜΞτɺϢʔβ͕௨ৗΞϓϦέʔγϣϯΛ༻͢Δ࣌ؒʹґଘ͠ ·͢ɻΞϓϦέʔγϣϯ͕ΦϑΟεϫʔΧʔʹΑͬͯҰத༻͞ΕΔ͜ͱΛҙਤ ͍ͯ͠Δ߹ɺదͳઈରλΠϜΞτͷൣғʙ࣌ؒͰ͢ɻʯ
ͷੑ࣭ͱར༻γʔϯͰஅ w ಄Ͱʹڍ͛ͨʰεϚʔτਃʱΛྫʹ͠·͢ɻ w ࢢຽ͔ΒͷਃใΛॲཧͯ͠ৗۀΛߦ͏࣏ࣗମ৬һͰ͋Εɺ Λʹ࣌ؒར༻͢ΔഺɻదͳλΠϜΞτͷ࣌ؒ֬͘ อ͞ΕΔ͖ɻ w ࢢຽ͕ਃΛ͓͜ͳ͏ը໘Ͱ͋Εɺଟ͘ͷਓʙ࣌ؒͰར༻ Λऴ͑ΔɻλΠϜΞτͷ࣌ؒʙ࣌ؒఔͰे͔͠Εͳ͍ɻ
w ˞͜͜ʹߋʹ۷ΓԼ͛Δ͖ϙΠϯτ͕ɻৄࡉ࣍ͷεϥΠυͰɻ
ͰਃΛྃͰ͖ͳ͍߹͋Δ w ೖྗ߲͕ඇৗʹଟ͍߹ɺਃྃ·ͰʹͦΕͳΓʹ͕͔͔࣌ؒ Δɻ w ˞ิॿۚؔͷਃఴॻྨೖྗ߲͕ଟ͘ͳΓ͕ͪɻ w શͷར༻ऀɺεϚʔτϑΥϯͷར༻ʹ׳Ε͍ͯͳ͍ར༻ऀΑΓ ͍࣌ؒΛඞཁͱ͢Δ߹͕͋Δɻ
ϦεΫͷߴ͍ใΛѻ͏໘ͰͲ͏͢Δʁ w ྫ͑ɺ&$αΠτͰར༻ऀͷݸਓใʢྸɺੑผɺॅॴͳͲʣ ΫϨδοτΧʔυͷใΛ֬ೝͰ͖Δը໘Λ։͘γʔϯɻ w ηογϣϯ͕ແޮʹͳ͍ͬͯͳͯ͘ɺվΊͯೝূΛٻΊΔΈ ΛೖΕΔͰҰఆͷରࡦʹͳΔɻ w "NB[POͷϚΠϖʔδ͕ͦ͏ͳ͍ͬͯͨهԱɻ
·ͱΊ w ίϯςϯπར༻ͷ੍ݶ࣌ؒϓϩμΫτͷੑ࣭ʹΑͬͯ࠷దղΛஅ ͖͢ɻ w ϓϩμΫτͷੑ࣭͚ͩͰͳ͘ɺͲ͏͍ͬͨਓ͕ར༻ऀʹͳΓ͑Δͷ͔ ॏཁͳࢦඪͱͳΔɻ w ϦεΫͷߴ͍ใΛѻ͏γʔϯͰɺརศੑΑΓηΩϡϦςΟ͕༏ ઌ͞ΕΔ߹͋Δɻ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ