๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 26

React | ๋ณ€์ˆ˜ vs State

๋ณ€์ˆ˜ ๊ฐ’์„ ์ง์ ‘ ํ• ๋‹นํ•˜์—ฌ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ž‘์„ฑ๋œ Component ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ด๋‹ค. ๋ณ€์ˆ˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ Component๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง ๋˜์ง€ ์•Š๋Š”๋‹ค. let myVariable = 0; myVariable = 1; State useState๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ๋œ State๋Š” setState๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ž‘์„ฑ๋œ Component ๋‚ด ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. props๋‚˜ context ๋“ฑ์„ ํ†ตํ•ด ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์ „๋‹ฌ ๊ฐ€๋Šฅ State ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด Component๊ฐ€ ๋ฆฌ๋ Œ๋”๋ง ๋˜๋„๋ก ํŠธ๋ฆฌ๊ฑฐ ๋œ๋‹ค. ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜, ๋™์  UI ๊ตฌํ˜„์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. const [myState, setMyState] = useState(0); setMyState(1);

Frontend/React 2023.11.23

React | event (์ด๋ฒคํŠธ) ์— ๋Œ€ํ•ด์„œ

event (์ด๋ฒคํŠธ) ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ์ž‘์„ฑ๋˜๋ฉฐ, html ์—์„œ onclick์€ React์—์„œ onClick์œผ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๋Š” ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ ์ž‘์„ฑ๋˜๋ฉฐ, ์ต๋ช…ํ•จ์ˆ˜๋กœ๋„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ต๋ช…ํ•จ์ˆ˜ ๋‚ด์—์„  this๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ bind ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ this๋ฅผ ์ง€์ •ํ•ด์ค€๋‹ค. import React, { Component } from 'react'; class MyComponent extends Component { constructor(props) { super(props); this.state = { buttonName = '์ €์žฅ' }; } handleClick() { console.log(this.state.buttonName, '๋ฒ„ํŠผ์ด ํด๋ฆญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.'); } render() { ..

Frontend/React 2023.11.18

React | Props (์†์„ฑ), State (์ƒํƒœ) ์— ๋Œ€ํ•ด์„œ

Props (์†์„ฑ) ๋ถ€๋ชจ -> ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ๊ธฐ ์ „์šฉ์ด๋ฉฐ, ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค. // ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ import React from 'react'; import ChildComponent from './ChildComponent'; const ParentComponent = () => { const data = "์ „๋‹ฌํ•  ๋ฐ์ดํ„ฐ"; return ; }; // ์ž์‹ ์ปดํฌ๋„ŒํŠธ import React from 'react'; const ChildComponent = (props) => { return {props.data}; }; State (์ƒํƒœ) ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์—์„œ ๊ด€๋ฆฌ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ™”ํ•  ๋•Œ๋งˆ๋‹ค React๋Š” ์ž๋™์œผ๋กœ ๋žœ๋”๋งํ•œ๋‹ค. Stat..

Frontend/React 2023.11.17

Angular vs React | ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง„์ž…์ ์— ๋Œ€ํ•ด์„œ

Angular์˜ index.ts Angular ํ”„๋กœ์ ํŠธ์—์„œ index.ts ํŒŒ์ผ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ง„์ž…์  (entry point)๋กœ์„œ ์‚ฌ์šฉ๋œ๋‹ค. Angular ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. platformBrowserDynamic() ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์— ๋™์ ์œผ๋กœ Angular ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ•˜๊ณ , AppModule์„ ๋กœ๋“œํ•œ๋‹ค. // index.ts import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; platformBrowserDynamic().bootstrapModule(AppModule) .catc..

Angular vs React | ๋™์  ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์— ๋Œ€ํ•ด์„œ

Angular์˜ {{ }} Interpolation์€ ๋ณด๊ฐ„์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ธ๋”ฉ ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. '{{ }}' ๊ตฌ๋ฌธ์œผ๋กœ ๋™์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉํ•  ๊ตฌ๋ฌธ์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. // app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: ` {{pageTitle}} Welcome to {{frameworkName}}! `, styleUrls: ['./app.component.css'] }) export class AppComponent { pageTitle: string = 'Angular Interpolation Example'; frameworkName: string = 'An..

Angular vs React | ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ์˜ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์— ๋Œ€ํ•ด์„œ

Angular์˜ @Input ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์˜ ์†์ •์„ ์ •์˜ ํ•˜๊ณ , ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ฐ’์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ [childProperty]="parentValue"์™€ ๊ฐ™์ด ์†์„ฑ์„ ์„ค์ •ํ•˜์—ฌ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์— ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค. // parent.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-parent', template: ` `, }) export class ParentComponent { parentValue = '๋ถ€๋ชจ์—์„œ ์ „๋‹ฌํ•œ ๊ฐ’'; } // child.component.ts import { Component, Input }..

Angular vs React | ๊ฐ€์ƒ DOM์— ๋Œ€ํ•ด์„œ

์‹ค์ œ DOM Document Object Model ์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ HTML ์š”์†Œ๋“ค์„ ๊ฐ์ฒด๋กœ ํ‘œํ˜„ ๊ฐ€์ƒ DOM ์‹ค์ œ DOM์˜ ๊ฐ€๋ฒผ์šด ๋ณต์ œ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋จ ์‹ค์ œ DOM๊ณผ ๋™๊ธฐํ™” ๋จ UI ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๋จผ์ € ๊ฐ€์ƒ DOM์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ณ„์‚ฐ ํ•œ ๋‹ค์Œ, ์‹ค์ œ DOM์— ์ ์šฉ Angular ์‹ค์ œ DOM์š”์†Œ๋ฅผ ์ง์ ‘ ์กฐ์ž‘ํ•˜๋ฉฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ง€ -> ์—…๋ฐ์ดํŠธ ๋ณ€๊ฒฝ๊ฐ์ง€๋Š” Angular ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌ๋จ ngOnInit, ngAfterViewInit, ngOnDestroy ๋“ฑ๋“ฑ.. React ๊ฐ€์ƒ DOM์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ์ตœ์ ํ™” ์‹ค์ œ UI ์—…๋ฐ์ดํŠธ ์‹œ ๊ฐ€์ƒ DOM์„ ์กฐ์ž‘ ์ด์ „ ๊ฐ€์ƒ DOM๊ณผ ์ƒํƒœ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์„ ์‹ค์ œ DOM์— ์ ์šฉ DOM ..

์ผ๋ณธ IT ์—…๋ฌด ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด (51 ~ 100๋ฒˆ) _ ์ž‘์„ฑ์ค‘

โ€ป์˜์—ญ๊ณผ ์˜ค์—ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€ปํ”ผ๋“œ๋ฐฑ ์ข‹์•„์š” 51-100๋ฒˆ No. ์ผ๋ณธ์–ด ์ฝ๋Š” ๋ฒ• ํ•œ๊ตญ์–ด 50 ๅ‘ผใณๅ‡บใ™ ใ‚ˆใณใ ใ™ ํ˜ธ์ถœํ•˜๋‹ค(ํŠน์ • ๊ธฐ๋Šฅ์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•จ) 51 ใƒ†ใ‚ญใ‚นใƒˆ ํ…์ŠคํŠธ 52 ใƒใƒƒใƒ•ใ‚กใƒชใƒณใ‚ฐ ๋ฒ„ํผ๋ง(Buffering) 53 ๅธธ่ญ˜ ใ˜ใ‚‡ใ†ใ—ใ ์ƒ์‹ 54 ใƒฆใƒ‹ใ‚ณใƒผใƒ‰ ์œ ๋‹ˆ์ฝ”๋“œ(Unicode) 55 ็นฐใ‚Š่ฟ”ใ™ ใใ‚Šใ‹ใˆใ™ ๋ฐ˜๋ณตํ•˜๋‹ค, ๋˜ํ’€์ดํ•˜๋‹ค 56 ๅ…จ่ง’ ใœใ‚“ใ‹ใ ์ „๊ฐ๏ผˆํ‘œ์ค€ ํ™œ์ž์˜ ๊ณต๊ฐ„์ด๋‚˜ ํฌ๊ธฐ๏ผ›ใ‚ขใ‚จใ‚คใ‚ชใ‚ฆ๏ผ‰ 57 ๅŠ่ง’ ใฏใ‚“ใ‹ใ ๋ฐ˜๊ฐ(ํ‘œ์ค€ ํ™œ์ž์˜ ์ ˆ๋ฐ˜์ด ๋˜๋Š” ๊ณต๊ฐ„์ด๋‚˜ ํฌ๊ธฐ; ๏ฝฑ๏ฝด๏ฝฒ๏ฝต๏ฝณ) 58 ๅŒบๅˆ‡ใ‚Šๆ–‡ๅญ— ใใŽใ‚Šใ‚‚ใ˜ ๊ตฌ๋ถ„๋ฌธ์ž(๋ฐ์ดํ„ฐ๋ฅผ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅํ• ๋•Œ ํ•ญ๋ชฉ์ด๋‚˜ ์…€์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฌธ์ž) 59 ใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏ ํ”„๋ ˆ์ž„์›Œํฌ 60 ๅทฆ่พบ ใ•ใธใ‚“ ์ขŒ๋ณ€(์ˆ˜ํ•™์šฉ์–ด; =์˜ ์™ผ์ชฝ) 61 ๅณ่พบ ใ†ใธใ‚“ ์šฐ๋ณ€(์ˆ˜ํ•™์šฉ์–ด; =์˜ ์˜ค๋ฅธ์ชฝ..

์ผ๋ณธ IT ์—…๋ฌด ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด (1 ~ 50๋ฒˆ)

โ€ป์˜์—ญ๊ณผ ์˜ค์—ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€ปํ”ผ๋“œ๋ฐฑ ์ข‹์•„์š” 1-50๋ฒˆ No. ์ผ๋ณธ์–ด ์ฝ๋Š” ๋ฒ• ํ•œ๊ตญ์–ด 1 ๆ‰‹้ † ใฆใ˜ใ‚…ใ‚“ ๋งค๋‰ด์–ผ 2 ๆ–‡ๅญ—ๅŒ–ใ‘ ใ‚‚ใ˜ใฐใ‘ ๊ธ€์ž ๊นจ์ง 3 ใ‚ตใƒผใƒใƒผใŒ่ฝใกใ‚‹ ใŠใกใ‚‹ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋‹ค 4 ใ‚ฐใ‚ฐใ‚‹ ๊ตฌ๊ธ€๋ง ํ•˜๋‹ค 5 ๅ‘ผใณๅ‡บใ— ใ‚ˆใณใ ใ— ํ˜ธ์ถœ 6 ๆ”น่กŒ ใ‹ใ„ใŽใ‚‡ใ† ๊ฐœํ–‰, ํ–‰ ๋ฐ”๊ฟˆ 7 ็”จๆ„ ใ‚ˆใ†ใ„ ์ค€๋น„, ๋Œ€๋น„ 8 ่ฉฆใ— ใŸใ‚ใ— ์‹œ๋„ 9 ไธญ่บซ ใชใ‹ใฟ ๋‚ด์šฉ๋ฌผ, ์•ˆ์— ๋“  ๊ฒƒ 10 ๆ“ไฝœ ใใ†ใ• ์กฐ์ž‘ 11 ๅˆๆœŸๅ€ค ใ—ใ‚‡ใใก ์ดˆ๊ธฐ๊ฐ’ 12 ็–‘ๅ•็‚น ใŽใ‚‚ใ‚“ใฆใ‚“ ์˜๋ฌธ์  13 ๆ–‡ๆณ• ใถใ‚“ใฝใ† ๋ฌธ๋ฒ• 14 ใ‚ณใƒ”ใƒผ ๋ณต์‚ฌ 15 ่ฒผใ‚Šไป˜ใ‘ ใฏใ‚Šใคใ‘ ๋ถ™์—ฌ๋„ฃ๊ธฐ 16 ใ‚ณใƒ”ใƒš ๋ณต์‚ฌใƒป๋ถ™์—ฌ๋„ฃ๊ธฐ 17 ๅˆ‡ใ‚Šๅ–ใ‚Š ใใ‚Šใจใ‚Š ์ž˜๋ผ๋‚ด๊ธฐ 18 ใพใจใ‚ ์ •๋ฆฌ, summary 19 ใ‚ฝใƒผใ‚นใ‚ณใƒผใƒ‰ ์ฝ”๋“œ 20 ไป•็ต„ใฟ ใ—ใใฟ ๊ตฌ์กฐ 21 ๆฏ”่ผƒ ใฒใ‹ใ ๋น„๊ต 22 ๅฟ…้ ˆ ใฒใฃใ™..

๋ฐ˜์‘ํ˜•