profile
๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ๊ฐ€ ๋ณ„๊ฑฐ๋‹ˆ ๊ทธ๋ƒฅ ๋ฐฐ์šด๊ฑฐ ์ ์œผ๋ฉด ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ์ง€
post-thumbnail

AWS transcoder์—์„œ MediaConvert๋กœ ๋ฐ”๊พธ๋Š” ์‚ฝ์งˆ ๊ณผ์ • + CloudWatch Events

ํ”„๋กœ์ ํŠธ์ƒ์—์„œ transcoder๋ฅผ media converter๋กœ ์–ธ์  ๊ฐ€๋Š” ์ „ํ™˜ํ•ด์•ผ ํ•˜๊ธฐ์— ๊ฐœ๋ฐœ์„œ๋ฒ„์—์„œ ํ…Œ์ŠคํŠธ ์ง„ํ–‰ํ•ด๋ณธ ๋‚ด์šฉ์„ ๋ฏธ๋ฆฌ ์ •๋ฆฌํ•ด๋‘” ๊ฒƒ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์ƒ์—๋Š” Pre-signed Post ๋ฐฉ์‹์œผ๋กœ ์˜์ƒ์ด ์˜ฌ๋ผ๊ฐ€์„œ ๋žŒ๋‹ค์—์„œ Put ํŠธ๋ฆฌ๊ฑฐ ์บ์น˜๊ฐ€ ์•ˆ

2022๋…„ 6์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

Git - log ๋ช…๋ น์–ด

gui๋กœ๋งŒ ํŽธํ•˜๊ฒŒ ์“ฐ๋ฉด์„œ ์šด์˜์„œ๋ฒ„ ๋ฐ˜์˜ํ•˜๋‹ค ํด๋” ํ•˜๋‚˜ ๋‚ ๋ ค๋จน์€ ์ง€๋‚œ๋‚ ์„ ๋ฐ˜์„ฑํ•˜๋ฉฐ ๊ธฐ๋ก2.3 Git์˜ ๊ธฐ์ดˆ - ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ ์กฐํšŒํ•˜๊ธฐ

2022๋…„ 6์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

Git - init, status, gitignore

gui๋งŒ ์“ฐ๋‹ค ์šด์˜์„œ๋ฒ„ ๋ฐ˜์˜ํ•˜๋‹ค ํด๋” ํ•˜๋‚˜ ๋‚ ๋ ค๋จน์€ ์ง€๋‚œ๋‚ ์„ ๋ฐ˜์„ฑํ•˜๋ฉฐ ๊ธฐ๋ก์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๋ผ์ธ, '- ํ‘œ์ค€ Glob ํŒจํ„ด ์‚ฌ์šฉ \- ์ •๊ทœํ‘œํ˜„์‹์„ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“  ๊ฒƒ\* : ๋ฌธ์ž๊ฐ€ ํ•˜๋‚˜๋„ ์—†๊ฑฐ๋‚˜ ํ•˜๋‚˜ ์ด์ƒ\[sdf] : ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ๋ฌธ์ž ์ค‘ ํ•˜๋‚˜? : ๋ฌธ์žํ•˜๋‚˜\[a-

2022๋…„ 6์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

AWS ๋„๋ฉ”์ธ (Route53, ELB, ACM)

๊ฐœ๋ฐœ์„œ๋ฒ„๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ AWS์—์„œ ๋‚˜ ํ˜ผ์ž ๋งŒ๋“ค๊ณ  ๋„๋ฉ”์ธ์—ฐ๊ฒฐ๊นŒ์ง€ ํ•ด์•ผ๋˜๋Š” ๊ณผ์ •์—์„œ๊ธฐ์–ตํ•ด๋†“๊ธฐ ์œ„ํ•ด ์ ์–ด๋†“์€ ๋‚ด์šฉEC2, RDS ๋กœ ์ด๋ฏธ ์„œ๋ฒ„์™€ DB๋Š” ๋งŒ๋“ค์–ด๋†จ์Œ.vpc๋„ ์ด๋ฏธ ๊ธฐ์กด์— ์“ฐ๋˜ ๋ณด์•ˆ๊ทธ๋ฃน์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœํ•จ.๋„๋ฉ”์ธ ๊ตฌ๋งค ํ›„ Route53๊นŒ์ง€์˜ ํ˜ธ์ŠคํŒ…๋“ฑ๋ก์€ ์ด๋ฏธ CTO๋‹˜

2022๋…„ 6์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€

์‚ฝ์งˆ์— ๊ธฐ๋ฐ˜ํ•œ git ๋ช…๋ น์–ด ์ •๋ฆฌ

name ๋ถ€๋ถ„์— ๋ณดํ†ต origin๋ชจ๋“  remote ์ €์žฅ์†Œ์˜ ์ตœ์‹  ์ƒํ™ฉ์„ ์—…๋ฐ์ดํŠธ์ƒํ™ฉ์ด ๋กœ์ปฌ์— ์—…๋ฐ์ดํŠธ๋งŒ ๋˜๋Š”๊ฒƒ์ด์ง€ ๋™๊ธฐํ™”๊ฐ€ ๋˜๋Š”๊ฒƒ์€ ์•„๋‹ˆ๋‹ค!์šด์˜์„œ๋ฒ„ ์™ธ ๊ฐœ๋ฐœ์„œ๋ฒ„๋ฅผ AWS์ƒ์— ์ตœ์ดˆ ์„ธํŒ…ํ•˜๊ณ  git๊ณผ์˜ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰์„œ๋ฒ„์— ์ด๋ฏธ ์†Œ์Šค๋Š” ์˜ฌ๋ผ๊ฐ€์žˆ๋Š” ์ƒํƒœ์ด๋ฏ€

2022๋…„ 6์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

์ƒˆ ํšŒ์‚ฌ ์ž…์‚ฌํ•ด์„œ ์ž‘์—…ํ™˜๊ฒฝ ์„ธํŒ… ์‚ฝ์งˆ ๊ธฐ๋ก - ํ”„๋ก ํŠธ ๋นŒ๋“œ

์™ธ์ฃผ๊ฐœ๋ฐœ์ž๋‹˜๊ป˜ ๋“ค์„ ๋•Œ๋Š” ๋นŒ๋“œ๊ฐ€ ์•ˆ๋˜์„œ ubuntu18 ๋ฒ„์ „์œผ๋กœ ํ•˜์…จ๋‹ค๋Š” ์–˜๊ธฐ๋ฅผ ๋“ฃ๊ณ  ์ด๋ฏธ ํ•ดํƒˆwsl2 ์ชฝ์— ํ•ด๋‹น ๋ฒ„์ „์œผ๋กœ ์ผ๋‹จ ์„ธํŒ…์„ ํ•ด๋ณด๊ณ  ์•ผ์‹ฌ์ฐจ๊ฒŒ npm install์„ ํ–ˆ์œผ๋‚˜ ์‹คํŒจ https://github.com/sass/node-sass/releas

2022๋…„ 5์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

์ƒˆ ํšŒ์‚ฌ ์ž…์‚ฌํ•ด์„œ ์ž‘์—…ํ™˜๊ฒฝ ์„ธํŒ… ์‚ฝ์งˆ ๊ธฐ๋ก - AWS

๊ณฑ๊ฒŒ ๊ณฑ๊ฒŒ ์ž๋ผ์˜ค๋‹ค๊ฐ€ ๋ฐ›์€ pem ํ‚ค ๊ฐ€์ง€๊ณ  ์•Œ์•„์„œ ์ ‘์†ํ–ˆ์–ด์•ผ ํ–ˆ๋˜ ์ƒํ™ฉMobaXterm์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ฒ˜์Œ์—” ์•ˆ๋˜์„œ ๊ฒ€์ƒ‰์„ ์ข€ ํ•ด๋ณด๋‹ˆ ์œˆ๋„์šฐ๋Š” pem๋ง๊ณ  ppk๋ฅผ ์จ์•ผ๋œ๋‹ค๊ธธ๋ž˜ ppk๋ฅผ ๋งŒ๋“ค์–ด๋ดค์œผ๋‚˜ ์•ˆ๋จ. Putty๋ฅผ ์จ๋ด๋„ ์•ˆ๋จ.์›์ธ์€ AWS์— ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๊ฐ€ ์„ธํŒ…๋œ

2022๋…„ 5์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ Firestore ์‚ฌ์šฉ

firebase ์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ 2๊ฐœ DB ์ค‘ ํ•˜๋‚˜ realtime database, firestore ์ด๋ ‡๊ฒŒ 2๊ฐœ ์žˆ์Œ. NoSQL DB, SQL ๋ฌธ๋ฒ•์—†์ด ์‚ฌ์šฉํ•˜๋Š” DBํด๋”( collection )๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— ๋ฌธ์„œ( document )๋ฅผ ๋„ฃ๋Š”์‹์œผ๋กœ ์ž๋ฃŒ

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ Local notification, Firebase ์„ค์น˜

Local notification - ํŒจํ‚ค์ง€์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉ๋ฒ• ๋ณต๋ถ™ํ•˜๋ฉด๋จ์„œ๋ฒ„๋ฅผ ๋Œ€์‹  ๋งŒ๋“ค์–ด์ฃผ๋Š” ์„œ๋น„์Šค์„œ๋ฒ„๊ฐœ๋ฐœ์—†์ด DB์— ์ž๋ฃŒ ์ €์žฅ, ์‚ฌ์ง„,ํŒŒ์ผ ๋“ฑ๋“ฑ ์ €์žฅ ๊ฐ€๋Šฅpubspec.yaml ํŒŒ์ผ ๋‚ด ํŒจํ‚ค์ง€ ์„ค์น˜firebase console(https://console.fi

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ GridView, CustomScrollView

ListView๋‚˜ GridView ์‚ฌ์šฉ์‹œ ์ž๋™์œผ๋กœ ์Šคํฌ๋กค์ด ์ƒ์„ฑ๋˜์ง€๋งŒ ๋‹ค๋ฅธ์š”์†Œ์™€ ํ•ฉ์ณ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์œ„์ ฏ์„ ์“ด ์˜์—ญ๋งŒ ์Šคํฌ๋กค์ด ๋จ.์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ํ•ฉ์ณ์„œ ํฌ๊ฒŒ ์Šคํฌ๋กค๋ฐ”๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์œ„์ ฏ๋Œ€์ถฉ Column์ด๋ž‘ ๋˜‘๊ฐ™์€ ์šฉ๋„์ง€๋งŒ ์Šคํฌ๋กค๋ฐ” ์ƒ๊ธฐ๊ณ  ๋ฌธ๋ฒ•๋„ ์•ฝ๊ฐ„

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ Provider ํŒจํ‚ค์ง€

์ „์†ก ์—†์ด ๋ชจ๋“  ์œ„์ ฏ์ด state๋ฅผ ์ง์ ‘ ๊ฐ€์ ธ๋‹ค์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํŒจํ‚ค์ง€Provider ํŒจํ‚ค์ง€state ๋ณด๊ด€ํ•˜๋Š” store ํ•„์š”store ๋“ฑ๋ก ํ•„์š”store๋ฅผ ์‚ฌ์šฉํ•  ์œ„์ ฏ๋“ค์„ ์ „๋ถ€ ChangeNotifierProvider()๋กœ ๊ฐ์‹ธ๋ฉด๋จ. ๋ชจ๋“  ์œ„์ ฏ์— ๋‹ค ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ GestureDetector

ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€ ๋“ฑ์˜ ์œ„์ ฏ์„ ์ด ์œ„์ ฏ์œผ๋กœ ๊ฐ์‹ธ๋ฉด ํ•ด๋‹น ์œ„์ ฏ์„ ์–ด๋–ป๊ฒŒ ๋งŒ์ง€๋Š”์ง€ ๋‹ค ๊ฐ์ง€ํ•ด์„œ ๋™์ž‘ ์ถ”๊ฐ€ํ•ด ์ค„ ์ˆ˜ ์žˆ์ŒonTap ( ํ•œ๋ฒˆํด๋ฆญ )onDoubleTap( ๋”๋ธ”ํƒญ )onLongPress ( ๊ธธ๊ฒŒ ๋ˆ„๋ฅผ ๋•Œ )onScaleStart ( ๋‘์†๊ฐ€๋ฝ์œผ๋กœ ์คŒ์ธ ์‹œ ์‚ฌ์šฉ )๊ทธ

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ shared preferences

String, bool, int, double, stringList ๊ฐ€๋Šฅmap ํ˜•์‹ ์ž๋ฃŒ๋Š” jsonEncode ํ•ด์„œ string ์œผ๋กœ ์ €์žฅ์ด๋ฏธ์ง€๋Š” ์ €์žฅ ๋ชปํ•จ,. ์ด๋ฏธ์ง€ ์ €์žฅํ•˜๋ ค๋ฉด cached_network_image ๊ฐ™์€ ํŒจํ‚ค์ง€ ์‚ฌ์šฉํ•˜๋ฉด๋จ.

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ Image picker

image picker ์„ค์น˜+์‚ฌ์šฉ๋ฒ•์‚ฌ์šฉ์˜ˆ์‹œ๊ณ ๋ฅธ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ, ํ™”์งˆ ์กฐ์ • ๊ฐ€๋Šฅ.์ด๋ฏธ์ง€ ํ•„ํ„ฐ ํŒจํ‚ค์ง€

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ ์Šคํฌ๋กค์œ„์น˜ ํŒŒ์•…ํ•˜๋Š”๋ฒ•, ๋”๋ณด๊ธฐ์š”์ฒญ

๋ฌธ์ž ${๋ณ€์ˆ˜๋ช…} ๋ฌธ์žStatefulWidget์€ class๊ฐ€ 2๊ฐœ, ๋ถ€๋ชจ๊ฐ€ ๋ณด๋‚ธ state๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ฒซ๋ฒˆ์งธ ํด๋ž˜์Šค์—์„œ ๋“ฑ๋กํ•ด์ฃผ๊ณ  ์‚ฌ์šฉ์€ ๋‘๋ฒˆ์งธ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉ ์‚ฌ์šฉํ• ๋•Œ๋Š” widget.๋ณ€์ˆ˜๋ช…๊ณผ ๊ฐ™์ด ์•ž์— widget.์ด ๋ถ™์–ด์•ผํ•จ.ScrollController๋ฅผ

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ Future, Future Builder, Dio ํŒจํ‚ค์ง€

์„œ๋ฒ„์— GET, POST ์š”์ฒญํ•  ์ผ์ด ๋งŽ์œผ๋ฉด http ํŒจํ‚ค์ง€๋ณด๋‹จ Dio ํŒจํ‚ค์ง€ ์„ค์น˜ํ•ด์„œ ์“ฐ๋Š”๊ฒŒ ์ข‹์„์ˆ˜๋„์žˆ์Œ.state ๋‚ด์šฉ์ด GET์š”์ฒญ์œผ๋กœ ๋Šฆ๊ฒŒ ๋„์ฐฉํ•˜๋Š” ๊ฒฝ์šฐ FutureBuilder()๋กœ state ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์„ ๊ฐ์‹ธ์ฃผ๋ฉด๋จ.์ž…๋ ฅํ•œ Future ๋ณ€์ˆ˜๊ฐ€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ ํƒญ์œผ๋กœ ํŽ˜์ด์ง€ ๋‚˜๋ˆ„๊ธฐ, ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ

UI์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ €์žฅํ•  state๋ฅผ ์ƒ์„ฑstate๋ฅผ ๋งŒ๋“ค๋•Œ๋Š” StatefulWidget์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผํ•จ.๊ทธ State์— ๋”ฐ๋ผ UI ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณด์ผ ์ง€ ์ฝ”๋“œ ๋งŒ๋“ค์–ด๋‘๊ณ ์œ ์ €๊ฐ€ state๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ(ํด๋ฆญํ•œ๋‹ค๊ฑฐ๋‚˜)http ๋ผ๋Š” ํŒจํ‚ค์ง€ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•จ.pubs

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ ThemeData

์Šคํƒ€์ผ๋งŒ ๋ชจ์•„์„œ ThemeData ์œ„์ ฏ์œผ๋กœ ๋งŒ๋“  ๋’ค theme ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ ์Šคํƒ€์ผ ์ค‘๋ณต์ด ๋ฐœ์ƒ ํ•  ์‹œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ฐ€๊นŒ์šด ์Šคํƒ€์ผ์„ ๋จผ์ € ์ ์šฉํ•˜๋ ค๊ณ  ํ•จThemeData ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ lib ํด๋” ์•ˆ์—์„œ ๋‹ค๋ฅธ dart ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด๋†“๊ณ  import ํ•ด์˜ค๋ฉด ๊น”๋”ํ•˜

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ํ”Œ๋Ÿฌํ„ฐ TextField ์Šคํƒ€์ผ์ฃผ๋Š”๋ฒ•

icon ํŒŒ๋ผ๋ฏธํ„ฐ ๋Œ€์‹  prefixIcon:, suffixIcon: ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ์žˆ์Œ.์ปค์„œ ์ฐํ˜”์„ ๋•Œ, ์—๋Ÿฌ์ผ ๋•Œ ๋“ฑ ํ…Œ๋‘๋ฆฌ ๊ด€๋ จ ํŒŒ๋ผ๋ฏธํ„ฐborder:focusedBorder:disabledBorder:errorBorder:focusedErrorBorder:Outlin

2022๋…„ 4์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€