Frontend ๐Ÿ“š/Flutter

[Flutter]Memo App Project_(2)

leejaejae 2022. 2. 19. 00:29

 

2022.02.18 - [Flutter] - Memo App Project_(1)

 

Memo App Project_(1)

๊ฐ„๋‹จํ•œ ๋ฉ”๋ชจ์žฅ์„ ๋งŒ๋“ค์–ด ๋ณผ ๊ฑฐ์ž„! 1. ๋‹ค๋ฅธ ํŽ˜์ด์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ - Navigator Push 2. ๋ฆฌ์ŠคํŠธ ๋ทฐ ์ƒ์„ฑํ•˜๊ณ  ๋‚˜์—ดํ•˜๊ธฐ - ListView 3. ๋ฉ”๋ชจ ์“ฐ๊ธฐ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ - TextField์™€ AppBar 1. ๋‹ค๋ฅธ ํŽ˜์ด์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ - Navigato..

jaejae-sosp.tistory.com

๊ณ„์† Memo App์„ ๋งŒ๋“ค์–ด๋ณด์ž! 

1. SQLite ์‚ฌ์šฉํ•˜๊ธฐ

 

2. ํ•ด์‹œ - Sha512


1. SQLite ์‚ฌ์šฉํ•˜๊ธฐ

๋น„๋™๊ธฐ์‹(vs ๋™๊ธฐ์‹)
* future - ๋ฏธ๋ž˜์— ์‘๋‹ต๊ฐ’ ๋Œ๋ ค๋ฐ›
* async - ๋น„๋™๊ธฐ์‹ ํ•จ์ˆ˜ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ถ™์ž„
* await - ๋น„๋™๊ธฐ์‹ ํ•จ์ˆœ๋ฐ ์ค‘๊ฐ„์— ๊ฒฐ๊ณผ ํ™•์ธํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฑฐ์ž„

๋™๊ธฐ์‹: 
์ˆœ์ฐจ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹. ์‘๋‹ต ๊ธฐ๋‹ค๋ฆผ. 
→ ๋ฌธ์ œ ๋ฐœ์ƒ: ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ( ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜, DB์— ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ), ๋น„ํšจ์œจ์ ์ž„
๋น„๋™๊ธฐ์‹: 
ํ”„๋กœ๊ทธ๋žจ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋‚˜๋ฉด ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญ๋งŒ ํ•ด๋†“๊ณ  ์ง€๋‚˜๊ฐ. ๊ทธ๋Ÿผ ๊ทธ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ฒ˜๋ฆฌํ•จ. ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์Œ. 
→ ์‘๋‹ต๊ฐ’์„ ๋‚˜์ค‘์—(๋ฏธ๋ž˜์—) ๋Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Œ

 

1) edit.dart

 

 

๋จผ์ € edit.dart์—์„œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด id, title, text, ๋งŒ๋“  ์‹œ๊ฐ„, ์ˆ˜์ • ์‹œ๊ฐ„์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ์ˆ˜๋„ ์ •์˜ํ•˜๊ณ  ๋ฒ„ํŠผ๋„ ์‚ด์ง ์ˆ˜์ •.

 

2) db.dart

01

pubspec.yaml์— dependency ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ์˜ค๋ฅ˜ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

์ฐจ๋ก€๋Œ€๋กœ update๋ž‘ delete

 

3) memo.dart

 

 

memo class๊นŒ์ง€ ์ •์˜ํ•ด์ฃผ๋ฉด..!


์™„์„ฑ!


2. ํ•ด์‹œ - Sha512

์•ž์„œ ์ง„ํ–‰ํ•œ ์ฝ”๋“œ๋Š” ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฅผ ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค ์ผ์ผ์ด id ๊ฐ’์„ ์ƒˆ๋กœ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋‹นํžˆ ๋ฒˆ๊ฑฐ๋กญ๋‹ค. ๊ทธ๋ž˜์„œ ์•„์˜ˆ id๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด hash-sha512๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. (์ž์„ธํžˆ)

 

dependencies

 

dependency ์„ค์ •ํ•ด์ค˜์•ผ crypto import ๊ฐ€๋Šฅ

 

data hash ์‹œ์ผœ์ฃผ๋Š” ํ•จ์ˆ˜ ์ •์˜ํ•˜๊ณ  digest๋œ ๋ชจ์–‘์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์— string์œผ๋กœ ๋ฐ”๊ฟ”์•ผํ•จ.

์•„ ๋งž๋‹ค ๊ทธ๋ฆฌ๊ณ  ์•ž์—์„œ id๋ฅผ int ๊ฐ’์œผ๋กœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ๋‹ค string์œผ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•จ!

 

๊ฒฐ๊ณผ๊ฐ’, ์ž˜ ๋‚˜์˜จ๋‹ค