๐Ÿ’ป ๊ฐœ๋ฐœ

    [Android] ๋‹ค๊ตญ์–ด ์ง€์›

    ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘ ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 1. ์šฐ์„  ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜์–ด๋กœ ์„ ์–ธํ–ˆ๋‹ค๊ณ  ์น˜์ž. 2. res > values > strings ์— ์ƒˆ๋กœ์šด strings.xml ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. 3. locale์„ ์„ ํƒํ•˜๊ณ  >> ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 4. ko, South Korea ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 5. ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ๋ชจ์Šต์ด๋‹ค. 6. ์˜์–ด๋กœ ์„ ์–ธํ•œ string.xml ๊ณผ ๊ฐ™์€ name์„ ๊ฐ€์ง„ string ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  value๋งŒ ํ•œ๊ตญ์–ด๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. 7. ๋ณ„๋‹ค๋ฅธ ์ˆ˜์ • ์—†์ด ๊ธฐ๋ณธ ์–ธ์–ด๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ์•ฑ ๋‚ด๋ถ€์˜ ํ…์ŠคํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    5. SingleChildScrollView, ListView

    ์ง€๋‚œ ์‹œ๊ฐ„์— Column์— ๋Œ€ํ•ด ์ •๋ฆฌํ–ˆ์—ˆ๋‹ค. ์˜ค๋Š˜ ์ •๋ฆฌํ•  ๋‚ด์šฉ์€ Column์œผ๋กœ ์œ„์ ฏ๋“ค์„ ๋ณด์—ฌ์ค„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๋˜ ๋‹ค๋ฅธ ์œ„์ ฏ์ด๋‹ค. import 'package:flutter/material.dart'; void main() { return runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("Column ์˜ˆ์ œ"), ), body: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, ve..

    4. Column, Row, Expanded

    ์ง€๋‚œ ์‹œ๊ฐ„ Container์— ์ด์–ด ์˜ค๋Š˜์€ Column, Row, Expanded์— ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ Container ๊ฐ„์˜ ๋ถ„๋ฆฌ๋ฅผ ์ด๋Ÿฌํ•œ ์œ„์ ฏ๋“ค์„ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. https://codekodo.tistory.com/95 3. Container, Padding Widget ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๊ฒƒ์€ Container์™€ Padding ์œ„์ ฏ์ด๋‹ค. ๊ฐ™์ด ๋ฌถ์–ด์„œ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ๋Š” ๋‘ ์œ„์ ฏ์ด ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์šฐ์„  ๊ณต์‹๋ฌธ์„œ์—๋Š” Container๊ฐ€ ์ž์‹ ์œ„์ ฏ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์ ฏ์ด๋ผ๊ณ  ๋‚˜ codekodo.tistory.com Column Column์€ ์ˆ˜์ง ๋ฐฉํ–ฅ์œผ๋กœ element๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์œ„์ ฏ์ด๋‹ค. Column๋„ ๋‹ค์–‘ํ•œ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Column Column({..

    3. Container, Padding

    ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๊ฒƒ์€ Container์™€ Padding ์œ„์ ฏ์ด๋‹ค. ๊ฐ™์ด ๋ฌถ์–ด์„œ ์ž‘์„ฑํ•˜๋Š” ์ด์œ ๋Š” ๋‘ ์œ„์ ฏ์ด ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Container ์šฐ์„  ๊ณต์‹๋ฌธ์„œ์—๋Š” Container๊ฐ€ ์ž์‹ ์œ„์ ฏ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์ ฏ์ด๋ผ๊ณ  ๋‚˜์™€์žˆ๋‹ค. ์ด ๋ง์€ ์ฆ‰, ์—ฌ๋ฐฑ, ๊ฐ„๊ฒฉ, ํ…Œ๋‘๋ฆฌ ๋˜๋Š” ๋ฐฐ๊ฒฝ์ƒ‰์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ Container๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ Cotainer ์œ„์ ฏ์€ ๋‹ค์–‘ํ•œ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Container Container({ Key? key, AlignmentGeometry? alignment, EdgeInsetsGeometry? padding, Color? color, Decoration? decoration, Decoration? foregroundDecoration, dou..

    [Error] refusing to merge unrelated histories

    ์ธํ„ด์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋“ค์„ ๊นƒ๋žฉ์ด ์•„๋‹Œ ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ ค๋†จ์—ˆ๋‹ค. ์›๋ž˜๋Š” ํšŒ์‚ฌ ๊นƒ๋žฉ์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ ์˜ค๋ฅ˜ ๋•Œ๋ฌธ์— ์˜ฌ๋ผ๊ฐ€์งˆ ์•Š์•„์„œ ์šฐ์„  Private Repository ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ปค๋ฐ‹์„ ํ•ด์คฌ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ์ธํ„ด ๋งˆ์ง€๋ง‰ ๋‚ ์ธ ์˜ค๋Š˜ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๊นƒ๋žฉ์œผ๋กœ ๋‹ค์‹œ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ•˜๋Š”๋ฐ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜... ์šฐ์„  git remote rm origin ์œผ๋กœ ์—ฐ๊ฒฐ๋œ Repository ์™€ ํ•ด์ œํ•˜๊ณ  git remote rm origin "์ƒˆ๋กœ์šด ๊นƒ๋žฉ ssh ์ฃผ์†Œ" ๋กœ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•˜๊ณ  push ๋ฅผ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ? refusing to merge unrelated histories ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค. ์›์ธ์€ ๊นƒ๋žฉ์— ์ƒ์„ฑํ•ด๋†“์€ Repository ์™€ ์ง€๊ธˆ๊นŒ์ง€ ๊นƒํ—ˆ๋ธŒ์— ์ปค๋ฐ‹ํ–ˆ๋˜ Repository ๊ฐ€ ์„œ๋กœ ๊ด€๋ จ์ด ์—†์–ด์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ. ์ผ..

    2. Stateless, Stateful

    ํ”Œ๋Ÿฌํ„ฐ์˜ ์œ„์ ฏ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. Stateful๊ณผ Stateless Stateful์€ ์œ„์ ฏ์ด ๋™์ž‘ํ•˜๋Š” ๋™์•ˆ ๋‚ด๋ถ€ ํด๋ž˜์Šค์—์„œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. setState ์‹คํ–‰ ์ดํ›„ ํ™”๋ฉด์„ ๋‹ค์‹œ ๊ทธ๋ ค์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๋ฐ˜์˜ํ•œ๋‹ค. Stateless๋Š” Stateful๊ณผ ๋‹ค๋ฅด๊ฒŒ ์œ„์ ฏ์ด ๋™์ž‘ํ•˜๋Š” ๋™์•ˆ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘๊ณผ ์ƒ๊ด€ ์—†์ด ํ™”๋ฉด๋งŒ ๋ณด์—ฌ์ค„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) ..

    1. Widget

    ํ”Œ๋Ÿฌํ„ฐ๋Š” ์œ„์ ฏ์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ ์œ„์ ฏ์œผ๋กœ ๋๋‚œ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ๋กœ ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ™”๋ฉด์ƒ์— ๋ณด์ด๋Š” ๋ชจ๋“  ๊ฒƒ(element๋“ค์˜ ๋ฐฐ์น˜)๊ณผ padding, margin๊ณผ ๊ฐ™์€ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ๋“ค์ด ์œ„์ ฏ์ด๋‹ค. ์ด๋Ÿฌํ•œ Widget๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ Widget Tree๋ผ๊ณ  ํ•œ๋‹ค. Widget๋“ค์€ ๋ถ€๋ชจ์™€ ์ž์‹์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋‹ค. MyApp์˜ ์ž์‹์œผ๋กœ MaterialApp์ด ์กด์žฌํ•œ๋‹ค. Material์€ ํ˜„์žฌ ์•ˆ๋“œ๋กœ์ด๋“œ์— ์ ์šฉ๋œ UI์ด๋‹ค. https://flutter.dev/docs/development/ui/widgets/material Material Components widgets flutter.dev ์ด์™€ ๋Œ€๋น„๋˜๋Š” ๊ฒƒ์€ Cuppertino, ํ˜„์žฌ IOS์— ์ ์šฉ๋œ UI์ด๋‹ค. https://flutter.dev/docs/developm..

    [ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ - Node.js ๊ฐ•์˜ ํ›„๊ธฐ] 5์ฃผ์ฐจ : ๊ฐ•์˜ ํ›„๊ธฐ

    ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์œผ๋ฉฐ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ "ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” Node.js ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๊ฒฉ์ฐจ ํŒจํ‚ค์ง€ Online"์„ ๋ฌด๋ฃŒ๋กœ ํ˜‘์ฐฌ๋ฐ›์•„ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค. ๋“œ๋””์–ด ๊ธธ๊ณ  ๊ธด ํ•œ ๋‹ฌ์ด ๋๋‚ฌ๋‹ค. ์ด๊ฒŒ ์‹œ๊ธฐ๊ฐ€ ๊ธฐ๋ง๊ณ ์‚ฌ ๊ธฐ๊ฐ„ํ•˜๊ณ  ๊ฒน์ณ์„œ ๊ฐ•์˜๋ฅผ ์ œ๋Œ€๋กœ ๋“ฃ์ง€๋Š” ๋ชปํ•œ ๋“ฏ ์‹ถ๋‹ค. ์ตœ๊ทผ ๋น„์ „๊ณต์ž ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์žˆ๋Š”๋ฐ ๊ทธ๋Ÿฐ ๋ถ„์œ„๊ธฐ์— ์•Œ๋งž์€ ๊ฐ•์˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ณธ์ธ๋„ ์ „๊ณต์ž์ด์ง€๋งŒ ์›น์ชฝ์œผ๋กœ๋Š” ๊ธฐ๋ณธ์ ์ธ js๋ฌธ๋ฒ•๋งŒ ์•Œ๊ณ  ์žˆ๊ณ  ๊นŠ๊ฒŒ ๋ฐฐ์šด ์ ์ด ์—†๋‹ค. ํ˜„์žฌ ํ•™๊ต ๊ฐ•์˜ ์ค‘์— 1~2์ฃผ ๊ฐ„๊ฒฉ์œผ๋กœ ๋‹ค์–‘ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ณผ๋ชฉ์ด ์žˆ๋Š”๋ฐ ๊ฑฐ๊ธฐ์„œ ๋ฆฌ์•กํŠธ๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ 2๋ฒˆ์˜ ๊ฐ•์˜์—์„œ ๋งŽ์€ ์–‘์˜ ์ •๋ณด๋ฅผ ์–ป๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ ๋•Œ ๋ฐฐ์šฐ์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๋“ค์„ ์ด๋ฒˆ Node.js ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€์ ์œผ๋กœ..

    [ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ - Node.js ๊ฐ•์˜ ํ›„๊ธฐ] 4์ฃผ์ฐจ : ๋ฐ”๋ฒจ๊ณผ JSX, ์›นํŒฉ (ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž)

    ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์œผ๋ฉฐ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ "ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” Node.js ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๊ฒฉ์ฐจ ํŒจํ‚ค์ง€ Online"์„ ๋ฌด๋ฃŒ๋กœ ํ˜‘์ฐฌ๋ฐ›์•„ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค. ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž ํ’€์Šคํƒ๊ฐœ๋ฐœ์ž ๋ฒŒ์จ 4์ฃผ์ฐจ๋‹ค. ์ด์ œ ํ•œ ์ฃผ๋งŒ ๋”ํ•˜๋ฉด ์„œํฌํ„ฐ์ฆˆ ํ™œ๋™์€ ๋... ์ด๋ฒˆ ์ฃผ์— ํ•˜๋‚˜ ์“ฐ๊ณ  ๋‹ค์Œ ์ฃผ์— ๋งˆ์ง€๋ง‰ 5์ฃผ์ฐจ๋ฅผ ์“ธ๋ผํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ์ฃผ ์ˆ˜์š”์ผ๊นŒ์ง€ 5์ฃผ์ฐจ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ผ๊ณ  ํ•˜์…”์„œ ์˜ค๋Š˜ ํ•˜๋‚˜... ๋‚ด์ผ ํ•˜๋‚˜... ์ด๋ ‡๊ฒŒ ์จ์•ผ๋œ๋‹ค๐Ÿ˜‚๐Ÿ˜‚ ์˜ค๋Š˜์€ ์ง€๋‚œ ์ฃผ ๋ฆฌ์•กํŠธ ๋ง›๋ณด๊ธฐ์— ์ด์€ ๋ฐ”๋ฒจ๊ณผ JSX, ์›นํŒฉ์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ–ˆ๋‹ค. ์ผ๋‹จ JSX๊ฐ€ ๋ญ๋ƒ๊ณ ? HTML์ฒ˜๋Ÿผ ์ƒ๊ธด ๋ฌธ๋ฒ•์ด๋‹ค. const element = Hello, world!; ๋ญ”๊ฐ€ ์งฌ๋ฝ•๋๋‹ค. HTML ํƒœ๊ทธ์ธ๋ฐ constํ˜• ๋ณ€์ˆ˜..

    [ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ - Node.js ๊ฐ•์˜ ํ›„๊ธฐ] 3์ฃผ์ฐจ : ๋ฆฌ์•กํŠธ ๋ง›๋ณด๊ธฐ

    ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์œผ๋ฉฐ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ "ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” Node.js ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๊ฒฉ์ฐจ ํŒจํ‚ค์ง€ Online"์„ ๋ฌด๋ฃŒ๋กœ ํ˜‘์ฐฌ๋ฐ›์•„ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค. NODEJS๊ฐ•์˜ NODEJS๊ฐ•์˜ NODEJS๊ฐ•์˜ NODEJS๊ฐ•์˜ NODEJS๊ฐ•์˜ ์œ„์—์„œ ๋ณด์ด๋Š” ์•„์ด์ฝ˜๋“ค ๋‹ค๋“ค ๋ฌด์—‡์ธ์ง€ ๋ฐ”๋กœ ์•Œ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์–ดํ”Œ๋“ค์˜ ํŠน์ง•์€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋Š” ์ ์ธ๋ฐ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด๊นŒ์ง€ ์•Œ๊ณ  ์žˆ๋˜ ์›น์‚ฌ์ดํŠธ์™€๋Š” ์‚ด์ง ๋‹ค๋ฅด๋‹ค. ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์  ๊ด€์ ์—์„œ ์ธํ„ฐ๋„ท์ด๋‚˜ ์ธํŠธ๋ผ๋„ท์„ ํ†ตํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•œ๋‹ค. ๊ณผ๊ฑฐ์˜ ์›นํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ MVC์˜ ํ˜•ํƒœ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์—ˆ๋‹ค. Model - ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ด€๋ฆฌํ•œ๋‹ค. View - ๋ ˆ์ด์•„์›ƒ๊ณผ ..

    [ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ - Node.js ๊ฐ•์˜ ํ›„๊ธฐ] 2์ฃผ์ฐจ : ๋ฌดํ•œ ์Šคํฌ๋กค์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

    ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์œผ๋ฉฐ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ "ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” Node.js ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๊ฒฉ์ฐจ ํŒจํ‚ค์ง€ Online"์„ ๋ฌด๋ฃŒ๋กœ ํ˜‘์ฐฌ๋ฐ›์•„ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค. ๋…ธ๋“œ js ๋…ธ๋“œ js ๋…ธ๋“œ js ๋…ธ๋“œ js ๋…ธ๋“œ js 2์ฃผ์ฐจ ๋ฆฌ๋ทฐ๊ฐ€ ์‚ด์ง ๋Šฆ์—ˆ๋”ฐ..ํ•™๊ต ์‹œํ—˜ ์‹œ๊ฐ„๊ณผ ๊ฒน์น˜๋Š๋ผ ํ•œ ์ฃผ๋ฅผ ๋ฏธ๋ค˜๋‹ฌ๊นŒ...^^;; ์ด๋ฒˆ ์ฃผ๋Š” ์ง€๋‚œ ์ฃผ์— ๋ฐฐ์› ๋˜ ์Šคํฌ๋ž˜ํผ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค. ์šฐ์„  ๊ฐ•์˜์—์„œ ๋ฌดํ•œ ์Šคํฌ๋กค์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๋Š”๋ฐ ์ธ์Šคํƒ€๊ทธ๋žจ์ด๋‚˜ ํŽ˜์ด์Šค๋ถ์˜ ๊ฒฝ์šฐ ๋‰ด์Šคํ”ผ๋“œ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์Šคํฌ๋กค์„ ๋‚ด๋ฆด ๊ฒฝ์šฐ ๋Š์ž„ ์—†์ด ์Šคํฌ๋กค์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•ดํ•œ ์ ์ด ์—†์—ˆ๋Š”๋ฐ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฑฐ์ง€? ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋“  ์ƒ๊ฐ์€ ์ผ์ • ์‹œ๊ฐ„๋งˆ๋‹ค ..

    [ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ - Node.js ๊ฐ•์˜ ํ›„๊ธฐ] 1์ฃผ์ฐจ : ์›น ํฌ๋กค๋Ÿฌ์™€ ์›น ์Šคํฌ๋ž˜ํผ

    ๋ณธ ๊ฒŒ์‹œ๊ธ€์€ PC๋ฒ„์ „์— ์ตœ์ ํ™” ๋˜์–ด์žˆ์œผ๋ฉฐ ํŒจ์ŠคํŠธ์บ ํผ์Šค ์„œํฌํ„ฐ์ฆˆ 3๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ "ํ•œ ๋ฒˆ์— ๋๋‚ด๋Š” Node.js ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ดˆ๊ฒฉ์ฐจ ํŒจํ‚ค์ง€ Online"์„ ๋ฌด๋ฃŒ๋กœ ํ˜‘์ฐฌ๋ฐ›์•„ ์ž‘์„ฑํ•œ ๊ฒŒ์‹œ๊ธ€์ž…๋‹ˆ๋‹ค. ํŒจ์ŠคํŠธ์บ ํผ์Šค์—์„œ ์„œํฌํ„ฐ์ฆˆ๋ฅผ ๋ชจ์ง‘ํ•œ๋‹ค๊ธธ๋ž˜ ๊ณต์งœ๋กœ ๊ฐ•์˜๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์—ฌ์„œ ๋ƒ…๋‹ค ์‹ ์ฒญํ–ˆ์Œ. ์Šคํ”„๋ง ๊ด€๋ จํ•ด์„œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์‹ถ์–ด์„œ ์‹ ์ฒญํ–ˆ์ง€๋งŒ ์ด๋ฒˆ ์„œํฌํ„ฐ์ฆˆ์—” ์Šคํ”„๋ง์ด ์—†๋‹ค๋Š”๊ฒŒ ํ•จ์ •... ๊ทธ๋ž˜๋„ ๋…ธ๋“œ๋„ ๊ฒฐ๊ตญ์—” ๋ฐฑ์—”๋“œ ์ชฝ์ด๊ณ  ํ•™๊ต ๊ฐ•์ขŒ์—์„œ ์‚ด์ง ์ฐ๋จนํ•œ ์ ์ด ์žˆ์–ด์„œ ์ข€ ๋” ๋ฐฐ์›Œ๋ณผ ๊ฒธ node.js ์„œํฌํ„ฐ์ฆˆ๋ฅผ ์‹ ์ฒญํ–ˆ๋‹ค. ๋ญ ์•„๋ฌดํŠผ ์„œํฌํ„ฐ์ฆˆ๋กœ ์„ ์ •๋˜์–ด์„œ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ ๋‹ฌ ์ •๋„ ์จ์•ผํ•˜๊ฒŒ ๋์Œ... ์‹œํ—˜๊ธฐ๊ฐ„์ด๋ผ ๋นก์„ธ์ง€๋งŒ ํ•œ ๋ฒˆ ๋‹ฌ๋ ค๋ด…์‹œ๋‹ค! node.js! node.js! ์ •๋ง ์†”์งํ•œ ๋ฆฌ๋ทฐ์ด๋‹ˆ ๋ณธ ๊ฐ•์˜๋ฅผ ์ง์ ‘ ๋ˆ ๋‚ด๊ณ  ๋“ค์œผ์‹ค ๋ถ„๋“ค์€ ..