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
JLRoutesについて
Search
ninjinkun
March 12, 2014
Technology
2.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JLRoutesについて
ninjinkun
March 12, 2014
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
180
Designer's and Engineer's Thinking Styles
ninjinkun
0
310
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
610
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
11k
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
61
19k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.3k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
750
Other Decks in Technology
See All in Technology
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
160
Escolhendo LLMs na Prática: Lições Reais em Busca Agêntica no Mercado Livre —TDC 2026 Floripa
jpbonson
0
110
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
5
1.5k
AIがコードを書く時代、人間は何を保証するのか———馬場さんと考える、開発者に求められる新しい責任と価値 - TECH PLAY
netmarkjp
0
1k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
530
オートマトンと字句解析でRoslynを読む
tomokusaba
0
130
ガバメントクラウドでのランサムウェア対策
techniczna
1
480
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
160
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
220
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
4
580
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
180
AI工学特論: MLOps・継続的評価
asei
11
3.1k
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
Deep Space Network (abreviated)
tonyrice
0
240
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Facilitating Awesome Meetings
lara
57
7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
330
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
Transcript
+-3PVUFTʹ͍ͭͯ OJOKJOLVO
J04ΞϓϦͱ63-εΩʔϜ w 8FCϖʔδ͔ΒΞϓϦΛىಈͯ͠ίϯςϯπΛදࣔ w ϩάΠϯॲཧͳͲͷϑϩʔͷҰ෦ w ଞΞϓϦͱͷ࿈ܞ 63-εΩʔϜ͕ඞཁʹͳΔ߹
J04ΞϓϦͱ63-εΩʔϜ w εΩʔϜΛઃఆ ! w ύεΛύʔε w OKLTFBSDI w ΫΤϦΛύʔε
w OKLTFBSDI RQPUBUPUJQT w ॲཧΛىಈ ॲཧͷྲྀΕ
J04ΞϓϦͱ63-εΩʔϜ ࣮ྫ -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { if ([url.path isEqualToString:@“/search"])
{ NSString *searchQuery; NSArray *queries = [url.query componentsSeparatedByString:@"&"]; for (NSString *query in queries) { NSArray *keyValue = [query componentsSeparatedByString:@"="]; if (keyValue.count == 2) { if ([keyValue[0] isEqualToString:@"q"]) { searchQuery = keyValue[1]; // Search query found!! } } } ! SearchResultViewController *viewController = [[SearchResultViewController alloc] initWithQuery:query]; [self showViewController:viewController]; return YES; } } OKLTFBSDI RQPUBUPUJQT
J04ΞϓϦͱ63-εΩʔϜ w ϧʔςΟϯάͷϧʔϧهड़ͱॲཧ͕͞Ε͍ͯͳ͍ w "QQ%FMFHBUFʹͨॻ͖͕ͪ͠ w JGจ͕ͲΜͲΜ૿͍͑ͯ͘ w ΫΤϦΛखͰύʔε͍ͯ͠Δ w
/463-ʹΫΤϦΛߏମͱͯ͠औΓग़͢Έ͕ ͳ͍ w ΈΜͳΦϨΦϨΫΤϦύʔαʔΛ࣋ͭΑ͏ʹͳΔ Կ͕͔
J04ΞϓϦͱ63-εΩʔϜ w ύεʹม͕ೖ͍ͬͯΔͱݸผʹύʔε͢Δඞཁ͕͋ Δ w VTFSOJOKJOLVOQSPpMF w શ෦ΫΤϦʹೖΕͯ͘ΕʜΈ͍ͨͳؾʹͳͬͯΑ͘ ͳ͍ !
w ʜͱ৭ʑ͋ͬͯมߋʹऑ͍ Կ͕͔
+-3PVUFT w 63-ͷύλʔϯͱCMPDLTΛొ w 63-͕དྷͨΒCMPDLTΛىಈ w 4JOBUSB3PVUFSMJLFͳΠϯλʔϑΣΠε w ύϥϝʔλʔͷड͚͠ͳͲαϙʔτ w
IUUQTHJUIVCDPNKPFMEFW+-3PVUFT
+-3PVUFT ͍ํ JLRoutes *router = [JLRoutes routesForScheme:@“njk"]; ! [router addRoute:@"/search"
handler:^BOOL(NSDictionary *parameters) { NSString *searchQuery = parameters[@“q"]; ! SearchResultViewController *viewController = [[SearchResultViewController alloc] initWithQuery:searchQuery]; [self showViewController:viewController]; return YES; }]; ! [router addRoute:@"/users/:user_id" handler:^BOOL(NSDictionary *parameters) { NSString *userId = parameters[@"user_id"]; ! UserViewController *viewController = [[UserViewController alloc] init]; viewController.userId = userId; [self showViewController:viewController]; return YES; }];
+-3PVUFT w ϧʔςΟϯάϧʔϧͷొͱ࣮ߦΛͰ͖Δ ͍ํ @implementation AppDelegate ! -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL
*)url { JLRoutes *router = [JLRoutes routesForScheme:@"njk"]; return [router routeURL:url]; } ! @end
ଞϥΠϒϥϦͱͷൺֱ w /JNCVT,JUTPDLJU w 4USJOH0CKFDU$PEJOHGPS0CKFDUJWF$ w จࣈྻͷύλʔϯ͔ΒΦϒδΣΫτͷੜ·Ͱͬͯ͘ΕΔ w SPVUBCMFJPT w
63-6*7JFX$POUSPMMFS w ֎෦͔Β63-εΩʔϚΛىಈ͢Δ͜ͱఆ͍ͯ͠ͳͦ͞͏ w +-3PVUFT w 63-ͱCMPDLTͷσΟεύον͚ͩʹಛԽͯ͠γϯϓϧ
·ͱΊ w 63-εΩʔϜΛ͏͜ͱ͕͋Ε+-3PVUFΦεεϝ w 4JOBUSB3PVUFSMJLFͳͷͰهड़͕γϯϓϧͰมߋ ؆୯
͓·͚ 9DPEF "3$@45"/%"3%
"3$@45"/%"3% w 9DPEF w "3$@45"/%"3%BSNWBSNWT w 9DPEF w
"3$@45"/%"3%BSNWBSNWTBSN ! w CJUະରԠͷϥΠϒϥϦ͕͍ࠞͬͯ͟ΔͱϏϧυͰ ͖ͳ͍
"3$@45"/%"3% w खͰࢦఆ͢Δͱ$PDPB1PETͰ͚͜Δ ! ! ! ! w
ෳͷ"3$)4ΛϋϯυϦϯάͰ͖ͳ͍όά ͕͋Δ $PDPB1PET
"3$@45"/%"3% w 45"/%"3%@"3$)@@#*5 Λ͑ղܾ ! ! w
݁ہCJUରԠ͕ਖ਼ಓ w ͓͍ͷϥΠϒϥϦ͕CJUରԠ͢ΔΛͪ·͠ΐ͏ 4PMVUJPO
"3$@45"/%"3% 4PMVUJPO