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
日付の繰り返しの話 / Mobile Act OSAKA 14
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroki Nagasawa
October 18, 2024
Programming
34
0
Share
日付の繰り返しの話 / Mobile Act OSAKA 14
Mobile Act OSAKA 14:
https://mobileact.connpass.com/event/330822/
Hiroki Nagasawa
October 18, 2024
More Decks by Hiroki Nagasawa
See All by Hiroki Nagasawa
プラットフォームに馴染むモバイルアプリデザイン / Mobile App UI Design Lunch LT
pixyzehn
0
160
個人開発こそ世界へ / Indie App Development Lunch LT 2
pixyzehn
1
1.2k
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
330
Other Decks in Programming
See All in Programming
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
480
How to stabilize UI tests using XCTest
akkeylab
0
150
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
300
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
180
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
150
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.2k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
250
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
230
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
おれのAgentic Coding 2026/03
tsukasagr
1
120
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
The Cult of Friendly URLs
andyhume
79
6.8k
Navigating Team Friction
lara
192
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
Become a Pro
speakerdeck
PRO
31
5.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
Hiroki Nagasawa ͷ܁Γฦ͠ͷ
ࣗݾհ • @pixyzehn (Hiroki Nagasawa) • iOS Engineer at Doist
(2017 ~ ) • ݸਓ։ൃ at Blue Comet Labs • Expenses - ࢧग़ཧΞϓϦ
ͷ܁Γฦ͠ʹ͍ͭͯ • Expensesʹ͓͚Δࢧग़ऩೖͷ܁Γฦ͠ • ΞϓϦ(ϩʔΧϧ)Ͱ܁Γฦ͠ܭࢉΛߦ͏͜ͱ͕લఏ (ΦϑϥΠϯαϙʔτɺiCloudར༻) • ࢦఆ͞Εͨ܁Γฦ͠Φϓγϣϯ͔Β࣍ͷΛฦ͚ͩ͢ • ݁ߏ؆୯ͦ͏
ͷ܁Γฦ͠ͷ۩ମྫ Part 1 • 7͝ͱʹൃੜ͢ΔΠϕϯτ • 2िؒ͝ͱͷਫ༵ʹൃੜ͢ΔΠϕϯτ • ຖ݄25ʹൃੜ͢ΔΠϕϯτ •
3͔݄͝ͱͷ18ʹൃੜΠϕϯτ • etc…
ͷ܁Γฦ͠ͷ۩ମྫ Part 2 • 3͔݄͝ͱͷୈ3༵ʹൃੜ͢ΔΠϕϯτ • 5͔݄͝ͱͷ11ɺ15ʹൃੜ͢ΔΠϕϯτ • 4͝ͱͷ6݄ɺ10݄ͷ18ʹൃੜ͢ΔΠϕϯτ •
etc… 😅
ͷ܁Γฦ͠ͷ۩ମྫ Part 3 • 3िؒ͝ͱͷՐ༵ɺ༵ɺ༵ʹൃੜ͢ΔɺӬଓతʹ܁Γฦ͢Πϕϯτ • 3͔݄͝ͱͷ11ɺ15ɺ20ʹൃੜ͢Δɺ܁Γฦ͠ऴ͕ྃଘࡏ͢ΔΠϕϯτ • 10͝ͱͷ1݄ɺ2݄ɺ6݄ɺ10݄ͷୈ1༵ʹൃੜ͢ΔɺӬଓతʹ܁Γฦ͢Πϕϯτ •
etc… 😱
ͷ܁Γฦ͠Λཧ • ܁Γฦ͠ͷ୯Ґ (ผɺिผɺ݄ผɺผ) • ܁Γฦ͠ͷִؒ (1 ~ 999) •
܁Γฦ͠ͷऴྃ (Ӭଓతʹ܁Γฦ͢ or ܁Γฦ͠ͷऴྃ) • ܁Γฦ͠։࢝ͦͷΦϒδΣΫτʹؔ࿈͍ͯ͠Δ (ྫ: ࠷ॳʹࢧͬͨ) • AppleͷRemindersΛࢀߟ
ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒͷΈ
िผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • ༵ (ෳબՄ)
݄ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • “Ͱࢦఆ”λΠϓ (ෳબՄ) • “िͱ༵λΠϓ”
ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • ݄ (ෳબՄ) • ༵ (Φϓγϣφϧ)
܁Γฦ͠ઃఆը໘ • γϯϓϧͰΑ͘ΘΕΔΦϓγϣϯΛఏࣔ • ܁Γฦ͠ͷෳࡶͳΧελϚΠζΛผͷը໘ • ΧελϜͷৄࡉΛΘ͔Γ͘͢දࣔ • ܁Γฦ͠ͷऴྃԼ෦ʹදࣔ
܁Γฦ͠ͷ࣮ • Foundationͷ enumerateDates(startingAfter:matching:matchingPolicy:repeatedTimePolicy:direction:using:)Λ ར༻ • ༧ظ͠ͳ͍ಈ࡞ͳͲগʑ͋Γ • OSSϥΠϒϥϦ͕͋Γͦ͏Ͱͳ͍ •
໘ͦ͘͞͏…
custom-repeat-date • Swift Packageͱͯ͠Publicʹެ։ • ̎ؒ΄ͲExpensesͰར༻͠ͳ͕Βमਖ਼ • αϯϓϧϓϩδΣΫτ͋Γ(SwiftUIར༻) • DocCʹΑΔυΩϡϝϯτ͋Γ
• Swift Package IndexʹՃ • https://github.com/pixyzehn/custom-repeat-date
ӡ༻͔ͯ͠Βͷؾ͖ͮ • ݄ผʹ͓͍͕ͯͳ͍݄͕͋Δ (31ͳͲ) → ݄ΛՃ • ୈԿ༵ʹ͓͍ͯୈ4͔ୈ5ͷͲͪΒ͔࠷ऴΛࢦఆ͍ͨ͠߹ → ࠷ऴΛՃ
• ܁Γฦ͠ͷΛͯ͢දࣔ͢Δ߹ɺIn-memoryͰΛੜ͢ΔͷͰΩϟογϡͳͲͷ࠷ దԽඞཁ • ܁Γฦ͠ʹؔ͢ΔՃػೳϦΫΤετ΄ͱΜͲͳ͠ • ͜͜·Ͱ࣮͍ͯ͠ΔྨࣅΞϓϦগͳ͘ධྑ͍ ☺