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
Hiroki Nagasawa
October 18, 2024
Programming
0
10
日付の繰り返しの話 / Mobile Act OSAKA 14
Mobile Act OSAKA 14:
https://mobileact.connpass.com/event/330822/
Hiroki Nagasawa
October 18, 2024
Tweet
Share
More Decks by Hiroki Nagasawa
See All by Hiroki Nagasawa
個人開発こそ世界へ / Indie App Development Lunch LT 2
pixyzehn
1
1.1k
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
220
Other Decks in Programming
See All in Programming
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
410
階層化自動テストで開発に機動力を
ickx
1
440
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
210
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1k
AIのメモリー
watany
11
1.1k
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1k
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
720
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
570
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.9k
iOS開発スターターキットの作り方
akidon0000
0
210
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
220
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Scaling GitHub
holman
461
140k
Producing Creativity
orderedlist
PRO
346
40k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Done Done
chrislema
184
16k
Unsuck your backbone
ammeep
671
58k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Typedesign – Prime Four
hannesfritz
42
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ͰΛੜ͢ΔͷͰΩϟογϡͳͲͷ࠷ దԽඞཁ • ܁Γฦ͠ʹؔ͢ΔՃػೳϦΫΤετ΄ͱΜͲͳ͠ • ͜͜·Ͱ࣮͍ͯ͠ΔྨࣅΞϓϦগͳ͘ධྑ͍ ☺