profile
I want to become a versatile freelancer programmer๐Ÿ’ป

dummy data(๋”๋ฏธ ๋ฐ์ดํ„ฐ)๋ž€?

์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ž˜ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ์‚ฌ์šฉ.

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

[flutter] ๊ธฐ๋ณธ model ์ •๋ฆฌ

<json ๊ฒฐ๊ณผ ๊ฐ’>String jsonString = '''{"name" : "jyk","age" : 31,}''';

2023๋…„ 9์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] abstract class ๋ž€?

bloc ํŒจํ„ด ์˜ˆ์ œ๋ฅผ ๋ณด๋‹ค๋ณด๋‹ˆ abstract class ๊ฐ€ ์žˆ์—ˆ๋‹ค.ํ•™์›์ด๋‚˜ ํ•™๊ต๋ฅผ ํ†ตํ•ด์„œ ๋ฐฐ์›Œ ์ถ”์ƒ ํด๋ž˜์Šค๋ผ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์„ค๋ช…์€ ๋“ค์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์„ ๋•Œ abstract class๋ฅผ ์จ๋ณธ ์ ์ด ์—†๋‹ค.๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ์™„์ „ํžˆ ์™€๋‹ฟ์ง€ ์•Š์€ ์ƒํƒœ์—ฌ์„œ ๊ธ€์„ ์งง๊ฒŒ ๋‚จ๊ธด๋‹ค.์ƒํ™œ

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

[flutter] pub.dev ์‚ฌ์šฉ ์ „ ๋ผ์ด์„ผ์Šค ํ™•์ธ ํ•„์š”

๋‚˜๋Š” pub.dev ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ทธ๋ƒฅ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š” ์ค„ ์•Œ์•˜๋‹ค ํ•˜์ง€๋งŒ ํฐ ์˜คํ•ด์˜€๋‹ค. ํ•œ์ปด๋งํฌ๊ฐ€ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์ œ๋Œ€๋กœ ํ™•์ธ์•ˆํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋‹ค 23์–ต์„ ์ง€๊ธˆํ•˜๊ณ  ํ•ฉ์˜๋ฅผ ๋ณด์•˜๋‹ค. ๊ธฐ์‚ฌ: https://www.nepla.net/post/%ED%95%9C%EC%BB%B

2023๋…„ 8์›” 29์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ์ƒ๊ฐ๊ณผ ๊นจ๋‹ฌ์Œ

๋””์ž์ธ ํŒจํ„ด์ด๋ž€ ์šฉ์–ด๋ฅผ IT ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ˆ˜๋„ ์—†์ด ๋“ค์—ˆ๊ณ  ์ฑ…๋„ ์ƒ€๋‹ค.๋””์ž์ธ ํŒจํ„ด์ด๋ผ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๊ณ  ์ฑ…์„ ๊ตฌ๋งคํ•ด์„œ ๋ณด๋‹ˆ ์‚ฌ์šฉํ•˜๊ธฐ ๊ฑฐ์ฐฝํ•˜๊ณ  ์–ด๋ ต๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.๊ทธ๋ž˜์„œ ๊ผญ ํ•„์š”ํ•œ๊ฐ€? ๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•˜๋‹ค๋ฉด ์™œ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์ ์ด ๋“ค์–ด ์งง์ง€๋งŒ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธฐ๋ ค ํ•œ๋‹ค.

2023๋…„ 8์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] Text ์œ„์ ฏ์˜ ๊ธ€์”จ ๋ถ€๋ถ„ ์Šคํƒ€์ผ์„ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•, ์•„์ด์ฝ˜ ๋„ฃ๊ธฐ

RichText ์œ„์ ฏ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ TextSpan ์œ„์ ฏ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์Šคํƒ€์ผ๊ณผ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Text.rich()๋Š” RichText ์œ„์ ฏ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2023๋…„ 5์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] Drawer

Drawer๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์œ„์น˜Drawer๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์œ„์น˜

2023๋…„ 5์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[Design Pattern] Singleton

ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ์˜ค์ง ํ•˜๋‚˜์ž„์„ ๋ณด์žฅํ•˜๋ฉฐ ์ด ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ดํด๋ž˜์Šค์—์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์ด๊ณ , ์ด์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์–ด๋””์—์„œ๋“ ์ง€ ํ•˜๋‚˜๋กœ๋งŒ ํ†ต์ผํ•˜์—ฌ ์ œ๊ณต์–ด๋–ค ํด๋ž˜์Šค ๊ฒฝ์šฐ์—๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ์„ ๊ฐ–๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜

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

[Design Pattern] Prototype

๋ณต์ œํ•ด์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ํŒจํ„ดํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ์กฐํ•ฉ์— ์˜ํ•ด ์ƒ์„ฑ๋˜์–ด์•ผ ํ•˜๋Š”๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ๊ฒฌ๋ณธ(prototype)์„ ๋งŒ๋“ค์–ด์ดˆ๊ธฐํ™”ํ•ด๋‘๊ณ  ์ด๋ฅผ ๋ณต์ œํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๋ณต์ œํ•˜๋Š”๋ฐ ํ•„์š”ํ•จํ”„๋กœํ† ํƒ€์ž… ์†์„ฑ๊ฐ’์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

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

[CS ์ง€์‹] ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๊ฐœ๋ฐœ์ž๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋„๊ตฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๊ทœ์น™์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”Œ๋žซํผ์ด๋‹ค.์†Œํ”„ํŠธ์›จ์–ด ์ฝ”๋“œ ๋ชจ์Œ

2023๋…„ 3์›” 31์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] ํ”Œ๋Ÿฌํ„ฐ์˜ ์žฅ๋‹จ์ 

"Google"์—์„œ ๋งŒ๋“  ์˜คํ”ˆ ์†Œ์Šค ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋กœ iOS, Android(ํฌ๋กœ์Šค ํ”Œ๋žซํผ), Macos, Window, Web ๋ชจ๋‘ ์ž‘๋™ ๊ฐ€๋Šฅํ•˜์—ฌ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•œ๋‹ค.๋น ๋ฅธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ: Flutter๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ฆ‰์‹œ

2023๋…„ 3์›” 31์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[flutter] FutureBuilder - ๋น„๋™๊ธฐ Builder

๋น„๋™๊ธฐ Builder๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž

2023๋…„ 3์›” 31์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[flutter] Text์— Outline ์ž…ํžˆ๋Š” ๋ฒ•(Outlined Text)

์œ„ ๊ทธ๋ฆผ ์ฒ˜๋Ÿผ Text์— outline ์ž…ํžˆ๋Š” ๋ฒ•์„ ์•Œ์•„๋ณด์ž

2023๋…„ 3์›” 28์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[flutter] TextField, TextFormField ํ•œ๊ธ€ ์ž…๋ ฅ ์‹œ ๋ฐ‘์ค„(๋ฉ€ํ‹ฐ๋ผ์ธ:multiline) ์ƒ๊ธธ ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

๋ฐ‘์— ์ฒ˜๋Ÿผ TextField ์•ˆ์— ์ฝ”๋“œ ์ ์šฉ ์‹œ ํ•ด๊ฒฐ

2023๋…„ 3์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

php fcm ์‚ฌ์šฉ ์˜ˆ์ œ

์œ„ ์ด๋ฏธ์ง€์˜ "์„œ๋ฒ„ ํ‚ค"๋ฅผ ๋ฐ‘์— ์˜ˆ์ œ์— ์‚ฌ์šฉํ•œ๋‹ค.token ๊ฐ’์€ ๋ฐ‘์— ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๊ตฌํ•ด์„œ ์ž„์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.(๊ธฐ๊ธฐ๋ณ„๋กœ ํ† ํฐ์ด ๋‹ค๋ฆ„)

2023๋…„ 3์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] ScrollablePositionedList.builder๋ž€?

ํ•ญ๋ชฉ์˜ ์Šคํฌ๋กค ๊ฐ€๋Šฅํ•œ ๋ชฉ๋ก์„ ๋งŒ๋“ค๊ณ  index๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชฉ๋ก ํ•ญ๋ชฉ์˜ ์ •ํ™•ํ•œ ์œ„์น˜ ์ง€์ •์„ ํ—ˆ์šฉํ•˜๋Š” Flutter์˜ ์œ„์ ฏListView.builder ์œ„์ ฏ๊ณผ ์œ ์‚ฌ์Šคํฌ๋กคํ•˜์—ฌ ๋ชฉ๋ก ๋งจ ์œ„์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ • index์˜ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ๋ชฉ๋ก์„ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] Builder ์œ„์ ฏ์ด๋ž€?

์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ•˜์œ„ ํŠธ๋ฆฌ ๋‚ด์—์„œ BuildContext๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋„์šฐ๋ฏธ ์œ„์ ฏ์ด๋‹ค.Builder ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒ์œ„ ์œ„์ ฏ์˜ ์ปจํ…์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ์œ„์ ฏ ํŠธ๋ฆฌ์˜ ํŠน์ • ๋ถ€๋ถ„ context๋กœ ํ•˜์œ„ ํŠธ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค.

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] MediaQuery ๋ž€?

๊ธฐ๊ธฐ์˜ ํ™”๋ฉด ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜, ํ™”๋ฉด ๋ฐฉํ–ฅ ์ •๋ณด(๊ฐ€๋กœ/์„ธ๋กœ)๋ฅผ ์–ป์„ ๋•Œ ์ฃผ๋กœ ์“ด๋‹ค.๋ฐ˜์‘ํ˜• ์‚ฌ์šฉ

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] FutureBuilder๋ž€?

Future(๋น„๋™๊ธฐ) ์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•œ ์ตœ์‹  ์Šค๋ƒ…์ƒท์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์ฒด์ ์œผ๋กœ ๋นŒ๋“œ๋˜๋Š” ์œ„์ ฏFutureBuilder

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

[flutter] snapshot

์ˆœ๊ฐ„์ˆœ๊ฐ„ ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐFuture์™€ Stream์˜ ๊ฒฐ๊ณผ

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท