์ „์ฒด ๊ธ€ 21

php ๊ฐ•์˜ ๊ณต๋ถ€ 04. ๋ฐ˜๋ณต๋ฌธ, ๋ฐฐ์—ด์˜ ํ˜•์‹, ๋ฐ˜๋ณต๋ฌธ-์กฐ๊ฑด๋ฌธ ํ™œ์šฉ

* ๋ฐ˜๋ณต๋ฌธ - ์‹œ๊ฐ„์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์‹คํ–‰๋˜๋‹ค๊ฐ€ ์–ด๋–ค ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ. - ๋ฐ˜๋ณต๋ฌธ์€ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ๋๋‚  ๋•Œ ; ์„ ๋ถ™์ด์ง€ ์•Š์Œ(์˜ˆ์™ธ๋„ ์กด์žฌ) * While - ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ ์‹œํ‚ด - ํ†ต์ƒ์ ์œผ๋กœ ๋์ด ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋ฐ˜๋ณต์„ ๋Œ๋ฆด ๋•Œ ์‚ฌ์šฉ(์„œ๋ฒ„ ๋Œ๋ฆฌ๊ฑฐ๋‚˜, ๋ฌดํ•œ์ • ๋Œ€๊ธฐ์ฒ˜๋Ÿผ ์ข…๋ฃŒ ์‹œ์ ์ด ๋ถˆ๋ถ„๋ช…ํ•  ๋•Œ) - ()์•ˆ์—๋Š” boolean ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋“ค์–ด์˜ค๊ณ , {} ์•ˆ์— ์žˆ๋Š” ๋‚ด์šฉ์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰๋จ. - for๋ฌธ๊ณผ ์น˜ํ™˜ ๊ฐ€๋Šฅ. - while๋ฌธ ์•ˆ์—์„œ๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์ „(๋ฐ”๋กœ ์œ—์ค„)์— ์„ ์–ธ. * For - ์ผ์ •ํ•œ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ๋ฌธ - ํ˜•์‹์€ ์•„๋ž˜์™€ ๊ฐ™์€๋ฐ if๋ฌธ์ฒ˜๋Ÿผ ์ฝœ๋ก ๋ฌธ๋ฒ•, ์งง์€ ๋ฌธ๋ฒ• ์‚ฌ์šฉ ๊ฐ€๋Šฅ. - ์‹œ์ž‘๊ฐ’์„ ๋Œ€์ž…ํ•ด์„œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด..

php 2023.04.16

php ๊ฐ•์˜ ๊ณต๋ถ€ 03. Boolean๊ณผ ๋น„๊ต ์—ฐ์‚ฐ์ž, ์กฐ๊ฑด๋ฌธ

* php์˜ ๋ฐ์ดํ„ฐํƒ€์ž… - Boolean: true ๋˜๋Š” faslse๋กœ ๋‚˜ํƒ€๋‚˜๋Š” 2๊ฐœ์˜ php์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… - integer: ์ˆซ์ž(์ •์ˆ˜) - string: ํ…์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… * ๋น„๊ต์—ฐ์‚ฐ์ž(php Comparison operators) - ์ขŒํ•ญ์˜ ๊ฐ’๊ณผ ์šฐํ•ญ์˜ ๊ฐ’์„ ๋น„๊ตํ•ด์คŒ var_dump(1==1);//bool(true) var_dump(1==2);//bool(false) var_dump(1>1);//bool(false) var_dump(1>=1); //bool(true) * var_dump() - ํ•ด๋‹น ์ธ์ˆ˜์˜ ์ž๋ฃŒํ˜•๊ณผ ๊ฐ’(๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ ๊ธธ์ด)๋ฐ˜ํ™˜ - ์ž…๋ ฅ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ฃผ๋Š”๋ฐ ๊ทธ ์ž…๋ ฅ๊ฐ’์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋„ ๊ฐ™์ด ์•Œ๋ ค์คŒ. ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์—์„œ ์œ ์šฉํ•จ. var_dump(11);//int(11) var_dump('..

php 2023.04.16

php ๊ฐ•์˜ ๊ณต๋ถ€ 02. URL ํŒŒ๋ผ๋ฏธํ„ฐ, ํ•จ์ˆ˜

* url ํŒŒ๋ผ๋ฏธํ„ฐ ,,, ? - php๋ผ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด url์„ ํ†ตํ•ด์„œ ์ž…๋ ฅ๊ฐ’์„ ์ „๋‹ฌ๋ฐ›๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ• - ? ์ดํ›„์—๋Š” url ํ†ตํ•ด data๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์—ญํ•  - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž…๋ ฅ๊ฐ’์„ url ํ†ตํ•ด์„œ ์คŒ -> ๊ทธ url์— ๋”ฐ๋ผ์„œ php ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ echo๋ผ๊ณ  ํ•˜๋Š” ์ถœ๋ ฅ ๋ช…๋ น์–ด ํ†ตํ•ด ๋‚˜์˜ด. ์•ˆ๋…•ํ•˜์„ธ์š”. ์— ์‚ฌ์‹œ๋Š” ๋‹˜ - [] ๋Š” ๋ฐฐ์—ด์— ํ•ด๋‹น - $_GET ์ด๋ผ๋Š” ์•ฝ์†๋œ ๋ฌธ๊ตฌ๋ฅผ ์ด์šฉํ•ด url์— ๋“ค์–ด์˜จ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›์Œ - url์—์„œ ์ง€์—ญ์„ ํ‘œ์‹œํ•  ๋•Œ๋Š” /~.php?name=egoing&address=์„œ์šธ ์ผ ๊ฒฝ์šฐ -> "์•ˆ๋…•ํ•˜์„ธ์š”. ์„œ์šธ์— ์‚ฌ์‹œ๋Š” egoing๋‹˜" ์œผ๋กœ ์ถœ๋ ฅ๋จ. - & : ์ž…๋ ฅ๊ฐ’์„ ๊ตฌ๋ถ„ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ถ„์ž * ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ๊ณผ ํ™œ์šฉ - ํ•จ์ˆ˜: ๊ด„ํ˜ธ ์•ˆ์œผ๋กœ ์ž…๋ ฅ์ด ๋“ค์–ด์˜ค๋ฉด ํ•จ์ˆ˜๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ..

php 2023.03.26

php ๊ฐ•์˜ ๊ณต๋ถ€ 01. ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์ˆซ์ž, ๋ฌธ์ž, ๋ณ€์ˆ˜

- PHP๋Š” ๋™์ , HTML์€ ์ •์  - php๋Š” ์‹œ์ž‘ ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌ. - ์›น์—์„œ๋Š” php ํŒŒ์ผ์„ ๋ฐ›์œผ๋ฉด ์ž์‹ ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Œ์„ ์•Œ๊ณ  php ํ”„๋กœ๊ทธ๋žจ์— ์œ„์ž„. ๊ทธ๋ฆฌ๊ณ  php ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ํ•ด์„ํ•œ ๋’ค ๊ทธ ๊ฒฐ๊ณผ๋งŒ html๋กœ ๋งŒ๋“ค์–ด์„œ ๋ณด๋‚ด์คŒ - ์ฝ”๋“œ ์‹คํ–‰์‹œํ‚จ ๋’ค ์†Œ์Šค์ฝ”๋“œ ๋ณด๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋ณด๋ฉด php๊ฐ€ ์•ˆ ๋ณด์ด๊ณ  html๋กœ ๋ฐ”๋€Œ์–ด ๋‚จ์•„ ์žˆ์Œ. - ์ถœ๋ ฅ์€ echo, print ์ด์šฉ * php๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์›ํ•˜๋Š”๊ฐ€? - ์ˆซ์ž : php๋Š” ์ˆซ์ž ์—ฐ์‚ฐ ๊ฐ€๋Šฅํ•จ. ์‚ฌ์น™์—ฐ์‚ฐ์€ ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ๋™์ผํ•˜๊ฒŒ +, -, *, / ์‚ฌ์šฉ integer ์ •์ˆ˜ / float ๋ถ€๋™์†Œ์ˆ˜์ (์†Œ์ˆ˜์ ์ด ์žˆ๋Š” ์‹ค์ˆ˜) - ๋ฌธ์ž : string * ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์€? - ' ' , " "๋ฅผ ์‚ฌ์šฉํ•ด์„œ string์„ ํ‘œํ˜„. ๋ฐ˜๋“œ์‹œ ์ง์„ ๋งž์ถฐ์•ผ ํ•จ. -..

php 2023.03.26

momentum ๋งŒ๋“ค๊ธฐ - css, js ์ˆ˜์ • ๋ฐ ์ถ”๊ฐ€ํ•  ๋ถ€๋ถ„

๋ฐ”๋‹๋ผjs ์ด์šฉํ•ด์„œ ๋งŒ๋“œ๋Š” momentum (๊ทผ๋ฐ ์ด๋Ÿฐ๊ฒŒ ์žˆ๋‹ค๋Š”๊ฑธ ๋ฐฐ์šฐ๋ฉด์„œ ์•Œ์•˜์Œ ใ…Ž,,)์—์„œ ์ˆ˜์ •ํ•  ๋ถ€๋ถ„๊ณผ ๋„ฃ๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด์„œ ํ˜ผ์ž ์ •๋ฆฌํ•ด๋ณด๋Š” ํƒ€์ž„,,, ์ผ๋‹จ ๋Œ€๋žต์ ์ธ ๋ถ€๋ถ„ ์ปจ์…‰์€ ์ง€๊ธˆ ๊ณ„์ ˆ์— ๋งž๊ฒŒ ํฌ๋ฆฌ์Šค๋งˆ์Šค์™€ ์—ฐ๋ง ๋А๋‚Œ? ๊ฒจ์šธ์— ๋งž๊ฒŒ ๋ฐฐ๊ฒฝํ™”๋ฉด์„ ์ ์šฉํ–ˆ๋‹ค ํ‹€์€ ์–ด๋А์ •๋„ ์™„์„ฑํ•˜์˜€๊ณ  css ์ˆ˜์ •ํ•˜๋‹ค๊ฐ€ ์ถฉ๋Œ๋‚œ ๋ถ€๋ถ„๊นŒ์ง€ ์–ด์ œ ๋ฐค์— ์˜ค๋ฅ˜ ๊ณ ์ณค๋‹ค! ์•„์ฃผ ์‚ฌ์†Œํ•œ ๋‚˜์˜ ์‹ค์ˆ˜์˜€์Œ์„,,, 1. to do list ๋ถ€๋ถ„ ํ˜•ํƒœ๋ฅผ ์žก์•„์ฃผ๊ธฐ - ์ผ๋‹จ line-height๋ฅผ ์ด์šฉํ•ด ๊ฐ„๊ฒฉ ์žก๊ณ ๋‚˜์„œ ์ „์ฒด์ ์ธ ์™ธ๊ณผ๊ธ€ ์žก์•„์ค„๊นŒ ์‹ถ๋‹ค. ๊ธ€์ž๊ฐ€ ๋” ๋ˆˆ์— ์ž˜ ๋“ค์–ด์˜ค๊ฒŒ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํฐ์ƒ‰์œผ๋กœ ํ•˜๊ณ  ํˆฌ๋ช…๋„ ์กฐ์ ˆํ•  ์ƒ๊ฐ! 2. button ํƒœ๊ทธ ์ปค์Šคํ…€ํ•˜๊ธฐ - ์šฐ์„  ํŠธ๋ฆฌ ์ด๋ชจํ‹ฐ์ฝ˜ ๋„ฃ์–ด๋‘๊ณ  cursor๋ฅผ pointer ์ ์šฉ๊นŒ์ง€ ํ•ด๋‘์—ˆ๋‹ค ์•„๋งˆ ๊ฐ„๊ฒฉ๊ณผ..

Challenges 2022.12.21

javascript Generator

* Generator: ํ•จ์ˆ˜์˜ ์‹คํ–‰์„ ์ค‘๊ฐ„์— ๋ฉˆ์ท„๋‹ค๊ฐ€ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ. function ์˜†์— *์„ ์“ฐ๊ณ  ๋‚ด๋ถ€์— yield ํ‚ค์›Œ๋“œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ yield ์—์„œ ํ•จ์ˆ˜ ์‹คํ–‰์„ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ์Œ. Generator ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ฉด generator์˜ ๊ฐ์ฒด๊ฐ€ ๋ฐ˜ํ™˜๋จ. ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์ž‘์—… ํ•˜๋‹ค๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์™€์„œ next() ํ•ด์ฃผ๋ฉด ์ง„ํ–‰์ด ๋ฉˆ์ท„๋˜ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ด์–ด์„œ ์‹คํ–‰ - generator ๊ฐ์ฒด๋Š” next(), return(), throw() ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ * next๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด yield 1์„ ๋งŒ๋‚ ๋•Œ ๊นŒ์ง€ ์‹คํ–‰๋˜๊ณ  ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ๋ฐ˜ํ™˜. function* fn(){ console.log(1); yield 1; console.log(2); yield 2; console.log(3); console.l..

js 2022.11.02

javascript async, await

* async, await๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๋ฏธ์Šค์˜ ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ๋ฅผ ์ฒด์ด๋‹ ํ˜•์‹์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง. * async: ํ•ญ์ƒ ํ”„๋กœ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ async function getName(){ return "Mike"; } console.log(getName()); - ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  then์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ async function getName(){ return "Mike"; } getName().then((name)=>{ console.log(name); }); //Mike - ๋งŒ์•ฝ ๋ฐ˜ํ™˜ ๊ฐ’์ด Promise๋ฉด ๊ทธ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ async function getName(){ return Promise.resolve("tom"); } getName().then((name)=>{ console..

js 2022.11.01

javascript ํ”„๋กœ๋ฏธ์Šค (Promise)

* ํ”„๋กœ๋ฏธ์Šค(Promise): - new Promise๋กœ ์ƒ์„ฑ, ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ์ธ์ˆ˜๋Š” resolve์™€ reject์— ํ•ด๋‹น. resolve๋Š” ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ, reject๋Š” ์‹คํŒจํ–ˆ์„ ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” ํ•จ์ˆ˜. => ์ด๋ ‡๊ฒŒ ์–ด๋–ค ์ผ์ด ์™„๋ฃŒ๋˜์–ด ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ฅผ '์ฝœ๋ฐฑ(callback)ํ•จ์ˆ˜'๋ผ๊ณ  ํ•จ. -new Promise ์ƒ์„ฑ์ž๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ”„๋กœ๋ฏธ์Šค ๊ฐ์ฒด๋Š” state์™€ result๋ฅผ ํ”„๋กœํผํ‹ฐ๋กœ ๋ฐ›์Œ state : pending(๋Œ€๊ธฐ) / result: undefined state๋Š” ์ดˆ๊ธฐ์— pending์ด์—ˆ๋‹ค๊ฐ€ resolve(value)๋กœ ํ˜ธ์ถœ( ์ฆ‰, ์„ฑ๊ณตํ•˜๋ฉด)๋˜๋ฉด state: fulfilled(์ดํ–‰๋จ) / result: value ๊ฐ€ ๋จ. (์ด๋•Œ์˜ result๋Š” resolve ํ•จ์ˆ˜์—์„œ ์ „๋‹ฌ๋œ ๊ฐ’.) ๋งŒ์•ฝ rej..

js 2022.11.01

javascript ํด๋ž˜์Šค(class)

* class: ES6์— ์ถ”๊ฐ€๋œ ์ŠคํŽ™. class๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚ด๋ถ€์— constructor๊ฐ€ ์žˆ์Œ. new๋ฅผ ํ†ตํ•ด์„œ ํ˜ธ์ถœํ•˜๋ฉด ์ž๋™์œผ๋กœ ์‹คํ–‰๋จ. - class์— ์žˆ๋Š” constructor ๋ถ€๋ถ„์€ ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’์œผ๋กœ ์ธ์ˆ˜๋ฅผ ๋„˜๊ฒจ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ๋Š” name๊ณผ age๊ฐ€ ๋งŒ๋“ค์–ด์ง - showName์ฒ˜๋Ÿผ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ ๋ฉ”์„œ๋“œ๋Š” User2์˜ ํ”„๋กœํ† ํƒ€์ž…์„ ์ž˜๋ผ๋ƒ„. const User = function(name,age){ this.name = name; this.age = age; this.showName = function () { console.log(this.name); }; }; const mike = new User("Mike",30); class User2 { constructor..

js 2022.11.01

javascript ์ƒ์†, ํ”„๋กœํ† ํƒ€์ž…(Prototype)

* hasOwnProperty: ๊ฐ์ฒด์—๋Š” ์ž์‹ ์ด ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ. true/ false๋กœ ๊ฒฐ๊ณผ ์•Œ๋ ค์คŒ. (๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ด์šฉํ•ด ํ™•์ธ) const user ={ name:'Mike' } undefined user.name 'Mike' user.hasOwnProperty('name') true user.hasOwnProperty('age') false console ์ฐฝ์—์„œ usr ์ž…๋ ฅํ•˜๊ณ  name: "MIke" ์—์„œ ํ™”์‚ดํ‘œ๋ฅผ ๋ˆ„๋ฅด๋ฉด __proto__: Object ๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์žˆ์Œ -> ํ”„๋กœํ† ํƒ€์ž… * ํ”„๋กœํ† ํƒ€์ž…: ์ˆจ๊ฒจ์ง„ ํ”„๋กœํผํ‹ฐ. ๊ฐ์ฒด์—์„œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฝ์œผ๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์—†์œผ๋ฉด __proto__์—์„œ ์ฐพ์Œ. ์ด๋ฅผ ์ด์šฉํ•ด ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ. - ๋งŒ์•ฝ hasOwnProperty๊ฐ€..

js 2022.10.31