Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
履修登録用アプリの開発
Search
kazui
July 06, 2026
Programming
12
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
履修登録用アプリの開発
kazui
July 06, 2026
More Decks by kazui
See All by kazui
Findy Campus Hackathon Otayori
kazui
0
5
TDU_AO_ slides
kazui
0
46
Other Decks in Programming
See All in Programming
sbt 2.0: takeoff
eed3si9n
0
160
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
120
Railsバージョンを4倍にした話
optim
0
460
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
650
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
290
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
780
The Rails Doctrine Decade
koic
2
600
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
WENDY [Excerpt]
tessaabrams
14
40k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Transcript
履修登録用アプリの開発 情報科2部6組24番 美輪和維 2025/10/25 2026-3-13
目次 1 研究テーマ 研究方法 研究過程 研究成果 まとめ 参考文献
研究テーマ 2 履修登録の課題 デジタル化で解決 • 紙媒体の不便さ • 比較や修正の手間 • 複雑な履修要件
研究テーマ - 昨年度の研究 3 同様のテーマでのWebアプリ開発 しかし、Webアプリではセキュリティ面に不安があった (開発効率、表示速度の向上) React(JavaScriptのライブラリ)でUIを開発 (データ処理, アプリの心臓部)
(UI, アプリの見た目) バックエンドにPython、フロントエンドにWeb技術を使用
研究方法 4 今年度の方針 • セキュリティ重視のローカルデスクトップアプリ • 目標は全生徒がストレスなく履修登録できること • 配布と改善を繰り返し、目標の達成を目指す 成果の検証
アプリの大規模な配布を実現し、 「履修登録が楽になった」というフィードバックを得る
研究方法 5 時間割作成機能 保存/読み込み機能 履修要件の自動検証機能 実装する機能 履修登録の課題 • 紙媒体の不便さ •
比較や修正の手間 • 複雑な履修要件 運用目標 • 授業データの更新機能の実装 • 管理画面の作成 • 仕様書の作成
研究過程 - 初期の使用技術 6 Electron Web技術でデスクトップアプリを開発できる 選定理由 • 昨年度のUIを再利用できる •
実績や資料が豊富 Electron製アプリの特徴 アプリがブラウザを内蔵するので、 全てのOSで同じUIを表示できる
研究過程 - 初期の使用技術 7 Bootstrap UIのデザインをテンプレートから作成できる 昨年度 今年度
研究過程 - 初期のシステム構成 8 データベース データ フロントエンド 命令 結果 バックエンド
内蔵ブラウザ
研究過程 - 開発中の課題 9 • Bootstrapを使わずにデザインすることが増えた Bootstrapの限界 • デザインがテンプレート依存で、開発は楽だが柔軟性が低い テンプレート使用
テンプレート不使用
研究過程 - Bootstrapからの移行 10 Tailwind CSS ユーティリティファーストでデザインを作成できる ユーティリティファーストとは 実装例: •
色や形やサイズ、余白、レイアウトなど、 要素のテンプレートを組み合わせる • 見たままのデザインを適用できる
研究過程 - 中期の研究成果 11 移行成果 • デザインのカスタマイズ性が向上 • 複雑な画面のデザインを実現 実装した機能
• 時間割作成機能 • 保存/読み込み機能 • 授業検索機能
研究過程 - 配布の課題 12 Electronからの移行 対象OSを一人一台端末などの Windowsに限定し、別の技術へ移行する Electronの抱える負債 • 内蔵ブラウザの容量が大きく、
アプリサイズのほとんどを占める • インストールや起動の遅さもストレス
研究過程 - Electronからの移行 13 Tauri ブラウザを内蔵せず、UIをWeb技術で開発できる 懸念点 • OS搭載のWeb表示機能を借りて描画 今回はOK
学習・移行コスト • まだ発展途上で、資料が少ない • バックエンドの言語は高速なRust
研究過程 - Electronからの移行 14 妥協案 「tauri-plugin-sql」を導入することで、 Rustの代わりにJavaScriptを使う Rustより遅いが、今回の規模ならOK Electronのバックエンド JavaScriptで実装していたデータ処理を
Rustへ移行するには学習時間が足りない
研究過程 - Electronからの移行 15 移行前 330MB 6.6MBに 軽量化
フロントエンド 命令 結果 バックエンド データベース データ 研究過程 - 最終的なシステム構成 16
当初のシステム構成 内蔵ブラウザ
研究成果 17 実装内容 • 時間割作成機能 • 保存/読み込み機能 • 検索機能 •
履修要件の検証機能 過去の履修状況を記録し、 前提科目でフィルタリングできる
研究成果 18
研究成果 19 達成状況 複数人に配布し、全員から「履修登録が楽になった」という フィードバックを得ることができた できなかったこと • 卒業要件の検証機能の実装 • 管理画面の実装
• 校内での大規模な配布
まとめ 20 目的 履修登録をデジタル化し、履修違反を防止する 内容 時間割作成、保存/読み込み、授業検索、前提科目の判定 を実装 成果 複数人に配布し、「履修登録が楽になった」という評価を得た 考察
要件定義が甘く、技術の移行に時間がかかった 詳細な技術選定と設計をすれば、研究成果を最大化できる
参考文献 21 Electron 「ドキュメント」 https://www.electronjs.org/ja/docs/latest/ Bootstrap 「ドキュメント」 https://getbootstrap.jp/docs/5.3/getting-started/introduction/ Tauri 「Guides」
https://v2.tauri.app/start/ Tailwind CSS 「Docs」 https://tailwindcss.com/docs/