๐Ÿ‹ Flutter

[Flutter] ์•„์ดํŒจ๋“œ์—์„œ ํ”Œ๋Ÿฌํ„ฐ ์ฝ”๋”ฉํ•˜๊ธฐ with Code-Server

Dogfoot_JW 2024. 4. 22. 14:38


๊ฐœ์š”



์„œ๋ฒ„์šฉ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์— Code-Server๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ์ œ์•ฝ ์‚ฌํ•ญ์ด ๋งŽ์ด ๊ฐœ์„ ๋˜์—ˆ๋‹ค.

์•„์ดํŒจ๋“œ์—์„œ ๋‚ด ๊ฐœ์ธ Code-Server๋กœ ์ ‘์†ํ•˜์—ฌ NodeJS API ๊ตฌํ˜„์„ ํ•˜๋Š” ๋“ฑ, ๊ฐœ๋ฐœ ์ทจ๋ฏธ์— ๋Œ€ํ•œ ์ž์œ ๋„๊ฐ€ ๋งŽ์ด ๋†’์•„์กŒ๋‹ค. (๋””์Šค์ฝ”๋“œ ๋ด‡๋„ code-server๋ฅผ ํ†ตํ•ด ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ ์™„๋ฃŒ). Code-Server ๋งŒ์„ธ!!!!

์š”์ฆ˜์— Flutter Web์„ ํ†ตํ•ด ์ด๋Ÿฐ์ €๋Ÿฐ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, Flutter Web๋„ Headless-server๋ฅผ ๊ทผ๋ณธ์œผ๋กœ ํฌํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ Chrome์ด๋‚˜ ๊ธฐํƒ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋””๋ฒ„๊ทธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ตฌํ˜„์ด ๋˜์–ด์žˆ๋Š” ๋“ฏํ–ˆ๋‹ค.

๊ทผ๋ฐ ์ด ๋…€์„, ๋งŒ์•ฝ ์™ธ๋ถ€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด, Code-Server๋ฅผ ํ†ตํ•ด์„œ๋„ ์ถฉ๋ถ„ํžˆ Flutter ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์–ด๋–จ๊นŒ?๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด, ๋‚˜๋Š” ๋ฐ”๋กœ ์‹คํ—˜์„ ์ง„ํ–‰ํ•ด ๋ดค๋‹ค.

 


๊ตฌ์„ฑ



- Flutter์ •๋„๋Š” ๋ฌด๋‚œํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” PC์‚ฌ์–‘
- Code-Server๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ
- Flutter๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ

๋งŒ์•ฝ ์„œ๋ฒ„์— Code-Server๋ฅผ ์„ค์น˜ํ•ด์•ผ ๋œ๋‹ค๋ฉด, ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ .

https://cajava.tistory.com/33


์ง„ํ–‰


 

๋‚ด๊ฐ€ ์ด์ „์— Code-Server๋ฅผ ์„ค์น˜ํ•ด ๋‘” PC๋Š” ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด 4B 8GB RAM ๋ชจ๋ธ์ด์—ˆ๋‹ค. 
ํ•˜์ง€๋งŒ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ๋Œ๋ฆด ์ •๋„์˜ ์‚ฌ์–‘์€ ์•„๋‹ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ์—๋Š” ๋งฅ๋ฏธ๋‹ˆ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์–ด์ฐจํ”ผ ๋งฅ๋ฏธ๋‹ˆ๋„ 24์‹œ๊ฐ„ ์ผœ๋‘๊ธฐ ๋•Œ๋ฌธ์— ์ ‘์† ๋ฌธ์ œ๋Š” ์—†๋‹ค.


์šฐ์„  Web-Server๋กœ ํ˜ธ์ŠคํŒ…์„ ์›ํ•˜๋Š” ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•˜์ž.


๊ทธ๋ฆฌ๊ณ  ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์กฐ๊ฑด์„ ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค.

fvm flutter run -d web-server --web-hostname=0.0.0.0 --web-port 1818


- web-server : ํ”Œ๋žซํผ์„ Web server๋กœ ํ˜ธ์ŠคํŒ… ํ•˜๋„๋ก ํ•œ๋‹ค.
- --web-hostname=0.0.0.0 : ์™ธ๋ถ€์—์„œ ํ•ด๋‹น PC๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ ๋ชจ๋“  ์•„์ดํ”ผ๊ฐ€ ์ ‘๊ทผํ•˜๊ฒŒ๋” ํ•œ๋‹ค.
- --web-port 1818 : ์„œ๋ฒ„IP:1818์„ ํ†ตํ•ด ํ”Œ๋Ÿฌํ„ฐ ์•ฑ์œผ๋กœ ์ ‘์†ํ•˜๋‹ค.


์•„๋ž˜์™€ ๊ฐ™์ด ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋œ๋‹ค.


์ค‘๊ฐ„์— ์†Œ์Šค์ฝ”๋“œ ์ˆ˜์ •์ด ์ด๋ค„์ง„๋‹ค๋ฉด r์„ ๋ˆŒ๋Ÿฌ ๋ฆฌ๋กœ๋“œ๋ฅผ ํ•˜๋ฉด ๋˜๊ณ ,
ํ”„๋กœ์ ํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด q๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.

์ด์ œ ์„œ๋ฒ„์šฉ PC์—์„œ ์ ‘์†์„ ํ•œ๋‹ค๋ฉด localhost:1818์„ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด ๋˜๊ณ  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๋‚ด์— ๋‹ค๋ฅธ PC์—์„œ ์ ‘์†์„ ํ•˜๋ ค๋ฉด ์„œ๋ฒ„์•„์ดํ”ผ:1818์„ ์›น๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ ‘์†์ด ๋œ๋‹ค.



์—ฌ๊ธฐ๊นŒ์ง€ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์›น์„œ๋ฒ„๋กœ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„๊ณผ์ •์„ ๋งˆ์ณค๊ณ .
๋‚˜๋Š” ์นดํŽ˜๋‚˜ ๊ณต์› ์–ด๋””์„œ๋“  ์•„์ดํŒจ๋“œ๋กœ ํ”Œ๋Ÿฌํ„ฐ ์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„์˜ ์ž‘์—…์„ ๋” ์ง„ํ–‰ํ–ˆ๋‹ค.


๋ฐ”๋กœ ํฌํŠธํฌ์›Œ๋”ฉ!
์•„์ดํŒจ๋“œ์— Code-server๋กœ ์ ‘์†์„ ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ํฌํŠธ๋กœ ๊ตฌ์„ฑ์„ ํ•ด๋‘์—ˆ๊ณ ,
Flutter WebServer ์ ‘๊ทผ์„ ์œ„ํ•œ ํฌํŠธ 1818๋กœ ํฌ์›Œ๋”ฉ์„ ํ•ด๋‘” ์ƒํƒœ์ด๋‹ค.

์ด์ œ ์ ‘์†์„ ํ•ด๋ณด์ž.



์ฝ”๋“œ์„œ๋ฒ„์—์„œ ์ฝ”๋“œ๊ฐ€ ์ปดํŒŒ์ผ๋˜๊ณ  ํ˜ธ์ŠคํŒ…์ด ๋œ ํ›„, ์„œ๋ฒ„IP:1818 ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋‚ด ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋กœ๋“œ๋œ๋‹ค.

๊ทผ๋ฐ ๋‚ด ์•„์ดํŒจ๋“œ๋Š” 10.9์ธ์น˜ ์ •๋„๋ฐ–์— ์•ˆ ๋ผ์„œ ์ด ์ƒํƒœ๋กœ ํ™”๋ฉด ๋ถ„ํ• ํ•˜์—ฌ ์ฝ”๋”ฉ์„ ํ•˜๊ธฐ์—” ์กฐ๊ธˆ ๋ถˆํŽธํ•จ์ด ๋”ฐ๋ฅธ๋‹ค.

๋”ฐ๋ผ์„œ ๋‚ด ์•„์ดํฐ๊ณผ ์•„์ดํŒจ๋“œ๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ์ชฝ์œผ๋กœ ๋ฐฉํ–ฅ์„ ์„ ํƒํ–ˆ๋‹ค.


ํ›„๋ จํ•˜๋‹ค.

Dev Tools๋กœ ๋””๋ฒ„๊ทธ๋ฅผ ์ง„ํ–‰ํ•˜๋ ค๋ฉด
Code-Server ์ปค๋งจ๋“œ ์˜ต์…˜์—์„œ DevTools๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.


๊ทผ๋ฐ ์•„์ง ๋‚ด ๋งฅ๋ฏธ๋‹ˆ Code-Server์—๋Š” SSL์„ ์ ์šฉํ•˜์ง€ ์•Š์•„ ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ์ด ๋˜์ง€๊ฐ€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. 
๋งŒ์•ฝ SSL ์ ์šฉ ํ›„ DevTools๊นŒ์ง€ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ํ”Œ๋Ÿฌํ„ฐ ํผํฌ๋จผ์Šค, ๋กœ๊น…, ์œ„์ ฏํŠธ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ Flutter ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 


๊ฒฐ๋ก 




์•„์ดํŒจ๋“œ๋กœ ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒŒ ์ดˆ๋ฐ˜์—๋Š” ์กฐ๊ธˆ ์–ด๋ ต๊ฒ ์ง€๋งŒ, ์‚ฌ์‹ค ์•„์ดํŒจ๋“œ ์ž์ฒด๊ฐ€ ๋ฐฐํ„ฐ๋ฆฌ๋„ ์ ๊ฒŒ ๋จน๊ณ  (ํ”Œ๋Ÿฌํ„ฐ๋„ ํ™ˆ์„œ๋ฒ„์—์„œ ๋Œ์•„๊ฐ€์„œ ๋ธŒ๋ผ์šฐ์ €๋งŒ ์‚ฌ์šฉํ•˜๋‹ˆ ๋ฐฐํ„ฐ๋ฆฌ ํšจ์œจ UP UP UP), ๋ฌด๊ฒŒ๋„ ํ›จ์”ฌ ๊ฐ€๋ณ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ๋‚˜๋Š” ์•„์ดํŒจ๋“œ๋ฅผ ํœด๋Œ€ํ•˜๋Š” ๊ฒƒ์ด ๋” ํŽธํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋…ธํŠธ๋ถ์€ ์žƒ์–ด๋ฒ„๋ฆฌ๋ฉด ๋ˆ๋„ ๋ˆ์ด์ง€๋งŒ.. ์ž‘์—…๋ฌผ์„ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด.. ๋„ˆ๋ฌด ๋”์ฐํ•˜๋‹ค. ํ–‰์—ฌ๋‚˜ ๋ˆ„๊ฐ€ ๋‚ด ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ›”์ณ๊ฐ€๊ธฐ๋ผ๋„ ํ•œ๋‹ค๋ฉด? ๋„ˆ๋ฌด ์‹ซ๋‹ค.

๋‹ค์†Œ ๊ณผํ•œ ์ƒ์ƒ์ด๊ธด ํ•˜์ง€๋งŒ. ํ˜„์žฌ๊นŒ์ง€ Code-Server๋งŒ์œผ๋กœ API, Bot ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด ๋ณธ ์ „์ ์ด ์žˆ์—ˆ๋‹ค. 
๊ทธ๋ฆฌ๊ณ  ์ด์ œ๋Š” Front-End๋„ Code-Server๋งŒ์„ ์ด์šฉํ•ด ์–ธ์ œ ์–ด๋””์„œ๋“  (์นดํŽ˜์—์„œ ์•„์ดํŒจ๋“œ๋กœ ํ•˜๊ฑฐ๋‚˜, PC๋ฐฉ์—์„œ PC๋ฐฉ์ปด์œผ๋กœ ํ•˜๊ฑฐ๋‚˜) ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.