๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(49)
React - ์˜๋ฏธ / ์žฅ์  / ๋‹จ์  / ์‹คํ–‰ React? : A JavaScript library for building user interfaces. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์ž์™€ ์›น์‚ฌ์ดํŠธ์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋•๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ชจ์Œ์ง‘ ** ํ”„๋ ˆ์ž„์›Œํฌ vs ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ(Framework) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library) ์‚ฌ์šฉ ์•ต๊ทค๋ŸฌJS ๋ทฐJS React ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ œ์–ด ๊ถŒํ•œ ํ๋ฆ„ ์ œ์–ด ๊ถŒํ•œ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ–์Œ ํ๋ฆ„์„ ์ œ์–ดํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ํ•„์š”ํ•  ๋•Œ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ ** SPA : Single Page Application ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋งŒ ์กด์žฌํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์žฅ์  ๋น ๋ฅธ ์—…๋ฐ์ดํŠธ์™€ ๋ Œ๋”๋ง ์†๋„ : ์—…๋ฐ์ดํŠธ๋ž€ ์›น์‚ฌ์ดํ‹€ ํƒ์ƒ‰ํ•  ๋•Œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜..
JavaScript - Axios ์ด์šฉํ•œ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์—ฐ๋™ Axios : node.js์™€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์œ„ํ•œ Promiss ๊ธฐ๋ฐ˜ HTTP ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„์‚ฌ์ด๋“œ์—์„œ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ node.js์˜ http ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ๋Š” XMLHttpReauests๋ฅผ ์‚ฌ์šฉ ์„ค์น˜ node.js ์„ค์น˜ : https://nodejs.org/ko/download ๋‹ค์šด๋กœ๋“œ | Node.js Node.jsยฎ is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org node.js ์„ค์น˜ ํ™•์ธ C:\>node -v v18.18.2 C:\>npm -v 9.8.1 ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑ ํ›„ , ์›น์„œ๋ฒ„๋ฅผ ์‹คํ–‰ C:\>mkdir react C:\>cd react C:\react> npm install -g h..
JavaScript - ํ•จ์ˆ˜( ํ™”์‚ดํ‘œ , map(), reduce(),filter()) 1. ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ (arrow function) : function ํ‚ค์›Œ๋“œ ๋Œ€์‹  ํ™”์‚ดํ‘œ(=>)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋žตํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธ // ์ต๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ์ด์šฉํ•œ ํ•จ์ˆ˜ ์ •์˜ let add = function(a, b) { return a+b }; //ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ let add2 = (a, b) => { return a+b }; // ํ•œ์ค„์ผ ๊ฒฝ์šฐ ์ค‘๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ํ™”์‚ดํ‘œ ์˜ค๋ฅธ์ชฝ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ let add3 = (a, b) => a+b; // ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ํ•˜๋‚˜์ผ ๊ฒฝ์šฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” ์†Œ๊ด„ํ˜ธ๋„ ์ƒ๋žต ๊ฐ€๋Šฅ let add4 = a => a+4; // ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์†Œ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์•ผ ํ•จ let add5 = (a, b) => {return {result:a+b}}; let add6 = (a, b)..
ES6(ECMAScript 6) - ๋‹จ์ถ• ์†์„ฑ๋ช… / ๊ณ„์‚ฐ๋œ ์†์„ฑ๋ช… / ์ „๊ฐœ ์—ฐ์‚ฐ์ž / ๋น„๊ตฌ์กฐํ™” 1. ๋‹จ์ถ• ์†์„ฑ๋ช…(shorthand property names) : ๊ฐ์ฒด์˜ ์†์„ฑ๊ฐ’์ด ์ด๋ฏธ ๋ณ€์ˆ˜๋กœ ์กด์žฌํ•œ๋‹ค๋ฉด ๋ณ€์ˆ˜์ด๋ฆ„๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์ƒ์„ฑ ๊ฐ€๋Šฅ let name = "John"; const obj = { age: 21, name: name, getName: function getName() { return this.name; } }; const obj = { age: 21, name,// ์†์„ฑ์ด๋ฆ„๊ณผ ์†์„ฑ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ๋™์ผํ•œ ๊ฒฝ์šฐ getName(){// ์†์„ฑ์ด๋ฆ„๊ณผ ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ) ์ด๋ฆ„์ด ๋™์ผํ•œ ๊ฒฝ์šฐ => function ํ‚ค์›Œ๋“œ์™€ ํ•จ๊ป˜ ์ƒ๋žต return this.name; } }; 2. ๊ณ„์‚ฐ๋œ ์†์„ฑ๋ช…(computed property names) : ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ์ฒด ์†์„ฑ์˜ ํ‚ค๋ฅผ ์ƒ์„ฑ // ์†..
JavaScript - ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๊ฐ์ฒด : ํ‚ค(key)๊ณผ ๊ฐ’(value)์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœํผํ‹ฐ(Property)๋“ค์˜ ์ง‘ํ•ฉ // ๊ฐ์ฒด ์„ ์–ธ let person = { "name": 'alswn', 'age': 26, isMarried: false, 'favorite color': ['๋นจ๊ฐ•', '๋…ธ๋ž‘'], hello: function() { return '์•ˆ๋…•, ๋‚˜๋Š” ' + this.name + "์ด์•ผ"; } }; // ๊ฐ์ฒด ์ฐธ์กฐ console.log(person.name);// ํ™๊ธธ๋™ console.log(person["name"]);// ํ™๊ธธ๋™ console.log(person.favorite color); // Uncaught SyntaxError: => key ์— ๊ณต๋ฐฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ console.log(person["favorite c..
JavaScript - ํ•จ์ˆ˜ ์„ ์–ธ ๋ฐฉ์‹ 1. ํ•จ์ˆ˜ ์„ ์–ธ์‹ (Function Declarations) : ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ์˜ ํ•จ์ˆ˜ ์„ ์–ธ๊ณผ ๋น„์Šท function ํ•จ์ˆ˜์ด๋ฆ„(){ ..... } function add(x , y){ // add => ํ•จ์ˆ˜ ์ด๋ฆ„ ์ •์˜ return x + y; } console.log(add(10,20)); //ํ•จ์ˆ˜ ์ด๋ฆ„์œผ๋กœ ํ˜ธ์ถœ 2. ํ•จ์ˆ˜ ํ‘œํ˜„์‹(Function Expressions ) : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์˜ ํŠน์ง•์„ ํ™œ์šฉํ•œ ์„ ์–ธ // ์ต๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹ let add = function(x,y){ return x + y; }; let sum = add; console.log(add(10,20)); // 30 console.log(sum(10,20)); // 30 // ๊ธฐ๋ช… ํ•จ์ˆ˜ ํ‘œํ˜„์‹ let sum1 = fun..
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹ค์Šต ๋”๋ณด๊ธฐ ์•„๋ž˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ”Œ๋ผ์Šคํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•ด ๋ณด์„ธ์š”. ํ”Œ๋ผ์Šคํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ /whoareyou ์š”์ฒญ์— ๋Œ€ํ•ด ์ž‘์„ฑ์ž ์ด๋ฆ„, ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, IP ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ ์˜ˆ) ํ™๊ธธ๋™, hostname-deployment-7d4f978855-2kkw6, 10.0.0.4 ํ”Œ๋ผ์Šคํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ๋™ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์€ whoami-flask:v1 ์œผ๋กœ ์„ค์ •ํ•ด ๋ณธ์ธ์˜ ๋„์ปค ํ—ˆ๋ธŒ์— ๋“ฑ๋ก ๋””ํ”Œ๋กœ์ด๋จผํŠธ์˜ ๋ ˆํ”Œ๋ฆฌ์นด๋Š” 5๊ฐœ๋กœ ์„ค์ •ํ•ด์„œ ๋ฐฐํฌํ•˜๊ณ , LoadBalancer ํƒ€์ž…์˜ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•ด์„œ ๋””ํ”Œ๋กœ์ด๋จผํŠธ๋ฅผ ์—ฐ๋™ 1) ํ”Œ๋ผ์Šคํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ /whoareyou ์š”์ฒญ์— ๋Œ€ํ•ด ์ž‘์„ฑ์ž ์ด๋ฆ„, ํ˜ธ์ŠคํŠธ ์ด๋ฆ„, IP ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด flask ์„œ๋ฒ„๋ฅผ ์„ค์น˜ (whoami-flas..
Github Blog ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค์–ด๋ณด์ž(window OS/git ์„ค์น˜x) ์ˆ˜๋งŽ์€ Blog ์ค‘ Github์„ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋‹จ์ˆœํ•˜๋‹ค. ๊ทธ ์ „์— ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ๊ฒฐ์‹ฌํ•œ ์ด์œ ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋‚ด๊ฐ€ ํ•ด์˜จ ํ™œ๋™์ด ํ•˜๋‚˜๋„ ๋‚จ์•„์žˆ์ง€ ์•Š์Œ๊ณผ ๋”๋ถˆ์–ด ๊ณต๋ถ€๋ฅผ ์œ„ํ•จ์ด๋‹ค. ์ฃผ์œ„์—์„œ Github์„ ์ถ”์ฒœํ•˜๊ธธ๋ž˜ ์„ ํƒํ–ˆ์ง€๋งŒ ํ…Œ๋งˆ๊นŒ์ง€ ์ ์šฉํ•ด๋†“๊ณ  Tistory๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‚˜์ค‘์— github์œผ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ..... ์—ด์‹ฌํžˆ ๊ธ€์ด๋‚˜ ์“ฐ์ž. - ๊ณ„์ • ์ƒ์„ฑ New๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ƒˆ๋กœ์šด Repositorie๋ฅผ ๋งŒ๋“ ๋‹ค. Repository name์— username.github.io ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค. ๋ณ„๋‹ค๋ฅธ ์„ค์ •์—†์ด Create repository ํด๋ฆญ!! - ์ปดํ“จํ„ฐ์— repository๋ฅผ clone ํ•˜๊ธฐ ** git์ด ์ฒ˜์Œ์ธ ์‚ฌ๋žŒ์€ https://git-scm.com/download/win ์—์„œ ์ž..