Skip to content

Commit a3e0fcc

Browse files
committed
deploy: d3542f3
1 parent 23ee869 commit a3e0fcc

File tree

5 files changed

+53
-6
lines changed

5 files changed

+53
-6
lines changed

assets/AssetManifest.bin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
assets/profile.WEBP assetassets/profile.WEBP2packages/cupertino_icons/assets/CupertinoIcons.ttf asset2packages/cupertino_icons/assets/CupertinoIcons.ttfpost/markdown_example.md assetpost/markdown_example.md-project_images/iconhabit-ios-screenshot-1.png asset-project_images/iconhabit-ios-screenshot-1.pngproject_info/iconhabit.md assetproject_info/iconhabit.mdproject_info/mindlift.md assetproject_info/mindlift.mdproject_info/projects.json assetproject_info/projects.jsonproject_info/sando-diary.md assetproject_info/sando-diary.md
1+
assets/profile.WEBP assetassets/profile.WEBP2packages/cupertino_icons/assets/CupertinoIcons.ttf asset2packages/cupertino_icons/assets/CupertinoIcons.ttfpost/markdown_example.md assetpost/markdown_example.mdpost/til_250915.md assetpost/til_250915.md-project_images/iconhabit-ios-screenshot-1.png asset-project_images/iconhabit-ios-screenshot-1.pngproject_info/iconhabit.md assetproject_info/iconhabit.mdproject_info/mindlift.md assetproject_info/mindlift.mdproject_info/projects.json assetproject_info/projects.jsonproject_info/sando-diary.md assetproject_info/sando-diary.md

assets/AssetManifest.bin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"DQgHE2Fzc2V0cy9wcm9maWxlLldFQlAMAQ0BBwVhc3NldAcTYXNzZXRzL3Byb2ZpbGUuV0VCUAcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYMAQ0BBwVhc3NldAcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYHGHBvc3QvbWFya2Rvd25fZXhhbXBsZS5tZAwBDQEHBWFzc2V0Bxhwb3N0L21hcmtkb3duX2V4YW1wbGUubWQHLXByb2plY3RfaW1hZ2VzL2ljb25oYWJpdC1pb3Mtc2NyZWVuc2hvdC0xLnBuZwwBDQEHBWFzc2V0By1wcm9qZWN0X2ltYWdlcy9pY29uaGFiaXQtaW9zLXNjcmVlbnNob3QtMS5wbmcHGXByb2plY3RfaW5mby9pY29uaGFiaXQubWQMAQ0BBwVhc3NldAcZcHJvamVjdF9pbmZvL2ljb25oYWJpdC5tZAcYcHJvamVjdF9pbmZvL21pbmRsaWZ0Lm1kDAENAQcFYXNzZXQHGHByb2plY3RfaW5mby9taW5kbGlmdC5tZAcacHJvamVjdF9pbmZvL3Byb2plY3RzLmpzb24MAQ0BBwVhc3NldAcacHJvamVjdF9pbmZvL3Byb2plY3RzLmpzb24HG3Byb2plY3RfaW5mby9zYW5kby1kaWFyeS5tZAwBDQEHBWFzc2V0Bxtwcm9qZWN0X2luZm8vc2FuZG8tZGlhcnkubWQ="
1+
"DQkHE2Fzc2V0cy9wcm9maWxlLldFQlAMAQ0BBwVhc3NldAcTYXNzZXRzL3Byb2ZpbGUuV0VCUAcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYMAQ0BBwVhc3NldAcycGFja2FnZXMvY3VwZXJ0aW5vX2ljb25zL2Fzc2V0cy9DdXBlcnRpbm9JY29ucy50dGYHGHBvc3QvbWFya2Rvd25fZXhhbXBsZS5tZAwBDQEHBWFzc2V0Bxhwb3N0L21hcmtkb3duX2V4YW1wbGUubWQHEnBvc3QvdGlsXzI1MDkxNS5tZAwBDQEHBWFzc2V0BxJwb3N0L3RpbF8yNTA5MTUubWQHLXByb2plY3RfaW1hZ2VzL2ljb25oYWJpdC1pb3Mtc2NyZWVuc2hvdC0xLnBuZwwBDQEHBWFzc2V0By1wcm9qZWN0X2ltYWdlcy9pY29uaGFiaXQtaW9zLXNjcmVlbnNob3QtMS5wbmcHGXByb2plY3RfaW5mby9pY29uaGFiaXQubWQMAQ0BBwVhc3NldAcZcHJvamVjdF9pbmZvL2ljb25oYWJpdC5tZAcYcHJvamVjdF9pbmZvL21pbmRsaWZ0Lm1kDAENAQcFYXNzZXQHGHByb2plY3RfaW5mby9taW5kbGlmdC5tZAcacHJvamVjdF9pbmZvL3Byb2plY3RzLmpzb24MAQ0BBwVhc3NldAcacHJvamVjdF9pbmZvL3Byb2plY3RzLmpzb24HG3Byb2plY3RfaW5mby9zYW5kby1kaWFyeS5tZAwBDQEHBWFzc2V0Bxtwcm9qZWN0X2luZm8vc2FuZG8tZGlhcnkubWQ="

assets/AssetManifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"assets/profile.WEBP":["assets/profile.WEBP"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"post/markdown_example.md":["post/markdown_example.md"],"project_images/iconhabit-ios-screenshot-1.png":["project_images/iconhabit-ios-screenshot-1.png"],"project_info/iconhabit.md":["project_info/iconhabit.md"],"project_info/mindlift.md":["project_info/mindlift.md"],"project_info/projects.json":["project_info/projects.json"],"project_info/sando-diary.md":["project_info/sando-diary.md"]}
1+
{"assets/profile.WEBP":["assets/profile.WEBP"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"post/markdown_example.md":["post/markdown_example.md"],"post/til_250915.md":["post/til_250915.md"],"project_images/iconhabit-ios-screenshot-1.png":["project_images/iconhabit-ios-screenshot-1.png"],"project_info/iconhabit.md":["project_info/iconhabit.md"],"project_info/mindlift.md":["project_info/mindlift.md"],"project_info/projects.json":["project_info/projects.json"],"project_info/sando-diary.md":["project_info/sando-diary.md"]}

assets/post/til_250915.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: TIL Flutter Web에서 라우터와 슬러그
3+
date: 2025-09-15
4+
category: Flutter
5+
tag: TIL
6+
slug: til_250915
7+
---
8+
9+
## TIL – Flutter Web에서 라우터와 슬러그 이해하기
10+
11+
### 1. 왜 라우터 패키지가 필요할까?
12+
13+
Flutter Web은 브라우저 위에서 실행되기 때문에, 주소창의 URL이 곧 사용자가 접근하는 경로가 됩니다.
14+
15+
하지만 단순히 Navigator만 사용하면 주소창이 `/`에 고정되고, 새로고침이나 북마크, 직접 URL 입력 시 원하는 페이지로 이동하지 못합니다.
16+
17+
👉 그래서 go_router 같은 라우터 패키지가 필요합니다.
18+
19+
- URL 경로(/about, /posts/slug)와 위젯을 쉽게 매핑
20+
21+
- 브라우저의 뒤로/앞으로 버튼, 새로고침, 직접 URL 입력을 모두 자연스럽게 지원
22+
23+
- 공유 가능한 URL을 통해 웹다운 사용자 경험 제공
24+
25+
### 2. 슬러그(Slug)란?
26+
27+
현재 제 블로그 포스트들은 스택 구조 없이 slug를 기반으로 표시되고 있습니다.
28+
29+
Slug는 블로그 글이나 페이지를 구분하는 고유 문자열 ID입니다.
30+
31+
주로 URL에 포함되어 사람이 읽기 좋은 형태로 작성됩니다.
32+
33+
예시:
34+
35+
`https://ph-value.github.io/posts/til_250915`
36+
37+
여기서 `til_250925` 이 slug입니다.
38+
39+
- Slug를 쓰면 DB의 숫자 ID 대신 의미 있는 URL을 만들 수 있어,
40+
사용자가 기억하기 쉽고 SEO에도 유리합니다.
41+
42+
### 3. 정리
43+
44+
- Flutter Web에서는 URL이 앱의 라우팅과 직결되므로 라우터 패키지가 사실상 필수
45+
46+
- 슬러그는 각 콘텐츠를 식별하는 짧고 읽기 좋은 고유 문자열로, 블로그나 CMS에서 흔히 사용됨

flutter_service_worker.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ const RESOURCES = {"canvaskit/skwasm.js": "445e9e400085faead4493be2224d95aa",
2020
"assets/NOTICES": "008c22bd888395f74b0eb904b489e943",
2121
"assets/fonts/MaterialIcons-Regular.otf": "27aeba40cdc652e9530709be6bfe083e",
2222
"assets/project_images/iconhabit-ios-screenshot-1.png": "5548019b1b502ca5d9848fdc6213d424",
23-
"assets/AssetManifest.json": "0b2dbb194dab90e9ca9518a4a0258385",
23+
"assets/AssetManifest.json": "b0f34d2f4b9f2d7d283515535297cce4",
2424
"assets/loading_animation.gif": "c7f7f8b1658b10eeec183d7faa5c62c2",
2525
"assets/assets/profile.WEBP": "afa74f1588a0a9309fd1149f9ac01037",
26+
"assets/post/til_250915.md": "b82e25d696ffc4302c67362bb3040a4e",
2627
"assets/post/markdown_example.md": "adc53ea26ae4dfd1550fb2c5c010eb5e",
2728
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
28-
"assets/AssetManifest.bin.json": "2eefbc78b836794fafd8fb3efcf5a17b",
29-
"assets/AssetManifest.bin": "e66c5f7d8ea2dc6c594a5f63855b3d2b",
29+
"assets/AssetManifest.bin.json": "d8017185b5ec89bd8aebbd3273ac7b1c",
30+
"assets/AssetManifest.bin": "616b5aeb566a6e268851d1a7b0826b68",
3031
"assets/shaders/ink_sparkle.frag": "ecc85a2e95f5e9f53123dcaf8cb9b6ce",
3132
"assets/project_info/iconhabit.md": "5583d054a15f1c62105e0d4a216e77eb",
3233
"assets/project_info/mindlift.md": "05fbb7e0a5c07cd75036b4d3939b9e00",

0 commit comments

Comments
 (0)