Slide 1

Slide 1 text

⼤学⽣向けアプリの開発において、 レガシーと思っていた技術を採⽤した理由 :学⽣開発者の挑戦 あきどん (@akidon0000)

Slide 2

Slide 2 text

ɾদࢁ ߊେ !BLJEPO ɾಙౡେֶӃ ػೳԽֶߨ࠲ म࢜೥ ɾझຯͰಙౡେֶੜΛࢧԉ͢Δ ΞϓϦͷݸਓ։ൃɾӡ༻ ⾃⼰紹介

Slide 3

Slide 3 text

突然ですが、 徳島大学には公式のモバイルアプリ DreamCampus for TokushimaUniv というアプリがあります

Slide 4

Slide 4 text

DreamCampus for TokushimaUniv WebView *%ύεϫʔυೖྗը໘ 8FC7JFXը໘

Slide 5

Slide 5 text

DreamCampus for TokushimaUniv WebView *%ύεϫʔυೖྗը໘ 8FC7JFXը໘ ػೳ *%ύεϫʔυΛ୺຤಺ʹอଘ͢Δ͚ͩͰେֶ͕ఏڙ͢Δ ϩάΠϯ͕ඞཁͳαΠτʹɺࣗಈͰϩάΠϯͯ͘͠ΕΔ

Slide 6

Slide 6 text

DreamCampus for TokushimaUniv ΞϓϦΛॳΊͯݟͨಙౡେֶੜୡ https://profile.yoshimoto.co.jp/talent/detail?id=6222

Slide 7

Slide 7 text

DreamCampus for TokushimaUniv ͜ͷαΠτ͸ɺ ͦΜͳʹݟͶ͐ https://corobuzz.com/wp-content/uploads/2020/04/tdoo1.jpg ΞϓϦΛॳΊͯݟͨಙౡେֶੜୡ

Slide 8

Slide 8 text

DreamCampus for TokushimaUniv NBOBCB ߨٛͰຖ౓࢖༻͢Δ ʮNBOBCBʯΛ ݟΕΔ༷ʹͤ͐ NBOBCB ߨٛͷ࿈བྷɺߨٛࢿྉɺখςετɺϨϙʔτఏग़ Λߦ͏8FCαΠτ ϩάΠϯ͕ඞཁ https://corobuzz.com/wp-content/uploads/2020/04/tdoo1.jpg ΞϓϦΛॳΊͯݟͨಙౡେֶੜୡ

Slide 9

Slide 9 text

ߨٛ৘ใαΠτʮNBOBCBʯͱ େֶͷ৘ใΛ·ͱΊͨΞϓϦΛ࡞Ζ͏ʂ NBOBCB ݸਓ։ൃΛ࢝Ίͨ

Slide 10

Slide 10 text

ߨٛ৘ใαΠτʮNBOBCBʯͱ େֶͷ৘ใΛ·ͱΊͨΞϓϦΛ࡞Ζ͏ʂ NBOBCB େֶଆ͸ɺ"1*Λఏڙ͍ͯ͠ͳ͔ͬͨ

Slide 11

Slide 11 text

SSOサーバー サイトA サイトB サイトC 認証 連携 େֶ͸ͲͷΑ͏ͳϩάΠϯͷ࢓૊ΈΛͱ͍ͬͯͨͷ͔ γϯάϧαΠϯΦϯ 440 ログインが必要なサイトA,B,C ౓ͷೝূͰରԠ͢Δ ෳ਺ͷαΠτʹϩάΠϯՄೳ https://localidp.ait230.tokushima-u.ac.jp/idp/profile/SAML2/Redirect/SSO?execution=e1s1

Slide 12

Slide 12 text

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { let url = self.webView.url! if url.contains({ログイン⼊⼒が必要な画⾯のURL}) { webView.evaluateJavaScript("document.getElementById(‘username’).value= ‘あいうえお'",completionHandler:nil) webView.evaluateJavaScript("document.getElementById(‘password').value= ‘ABC123'", completionHandler:nil) webView.evaluateJavaScript("document.getElementsByClassName('form-element form-button')[0].click();", completionHandler: } } ABC123 ࣮ߦ あいうえお

Slide 13

Slide 13 text

͜ΕͰɺNBOBCBΛࣗಈϩάΠϯͰ Ӿཡ͢Δ͜ͱ͕Ͱ͖Δ༷ʹͳͬͨʂʂ ଞʹ΋ɺେֶͷ৘ใΛ·ͱΊ͍ͨʂ NBOBCB

Slide 14

Slide 14 text

ֶੜͨΔ΋ͷɺٳ೔΋େֶਤॻؗͰษڧ ਤॻؗͷ։ؗ೔ΧϨϯμʔ Λݟ͍ͨʂʂ

Slide 16

Slide 16 text

https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_2023.pdf

Slide 17

Slide 17 text

2023年は https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_2023.pdf 来年(2024年)は https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_2024.pdf 端末から⻄暦を取得して、 https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_{取得した⻄暦}.pdf とすれば良いのでは!? ͜ͷߟ͑Ͱਖ਼͍͔͠ɺ࣮ࡍʹਤॻؗͷҒ͍ਓʹฉ͍ͯΈͨ ։ؗΧϨϯμʔ1%'ͷ63-΁௚઀ΞΫηε͍ͨ͠

Slide 18

Slide 18 text

https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_2023.pdf https://www.lib.tokushima-u.ac.jp/pub/pdf/calender/calender_main_2023_syuusei.pdf ίϩφ౳Ͱ։ؗ࣌ؒʹมߋ͕͋ͬͨ৔߹ ਤॻؗͷҒ͍ਓ

Slide 19

Slide 19 text

do { let data = try NSData(contentsOf: url) as Data let doc = try HTML(html: data, encoding: String.Encoding.utf8) for node in doc.xpath("//a") { if let str = node["href"] { // タグaのhref属性に設定された⽂字列を取得 // str = pub/pdf/calender/calender_main_2023_syuusei.pdf } } } catch { } )5.-ύʔαʔͷϥΠϒϥϦ,BOOBΛ࢖༻ 8FCεΫϨΠϐϯά λάBͷISFGଐੑ Kanna: https://github.com/tid-kijyun/Kanna

Slide 20

Slide 20 text

ͦΜͳ͜ΜͳͰɺͰ͖ͨΞϓϦʮτΫϝϞʴʯ AppleStore: https://apps.apple.com/jp/app/id1582738889 GooglePlay: https://play.google.com/store/apps/details?id=com.tokudai0000.tokumemo

Slide 21

Slide 21 text

೥݄ʹϦϦʔε͔ͯ͠Β μ΢ϯϩʔυ ಙେੜͷ෼ͷ ݄ؒར༻ऀ਺ɿਓ ೔ؒར༻ऀ਺ɿਓ

Slide 22

Slide 22 text

ࢲ͕ϓϩάϥϛϯάֶशΛ࢝Ίͨ౰ॳ͔Βɺ "1*͕ओྲྀͰطʹ༻ҙ͞Ε͍ͯΔσʔλΛѻ͏͜ͱ͕ଟ͘ +BWB4DSJQUΠϯδΣΫγϣϯ΍8FCεΫϨΠϐϯάͳͲΛϨΨγʔͳٕज़ͱࢥ͍ͬͯ·ͨ͠ɻ ͔͠͠ɺ͢΂ͯͷ৘ใݯ͕"1*Λఏڙ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍͜ͱɺ ·ͨ։ൃʹεϐʔυ͕ඞཁͱ͞ΕΔ৔߹ʹ͸ɺ͜ΕΒͷٕज़͕ඇৗʹ༗༻Ͱ͋Δͱײ͡·ͨ͠ɻ ͦΕʹɺl"1*Λఏڙ͍ͯ͠ͳ͍͔ΒμϝͩʜzͱࢥΘͣʹɺ ͜ΕΒͷٕज़Λ༻͍ͯ՝୊΁ͷରॲ͕Մೳͱ͍͏͜ͱΛ஌͍͚ͬͯͨͩͨΒخ͍͠Ͱ͢ɻ ※これらの技術を使⽤する際は、各ウェブサイトの利⽤規約や法律を遵守し配慮することが重要です 8FCεΫϨΠϐϯάʹ͍ͭͯڵຯΛ࣋ͬͨํ͸ Ԭ࡚ࢢཱਤॻؗࣄ݅ ௨শ-JCSBIBDL ΛӾཡ͢Δ༷ʹ͓ئ͍͠·͢ɻ

Slide 23

Slide 23 text

'JO τΫϝϞʴͷΩϟϥΫλʔ Ί΋͖ͪ