ALL
587

OS Tech-Interview 4~6๋ฒ ์ ๋ฆฌ
1. ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ์ ๋ํด์ ์ค๋ช
ํด์ฃผ์ธ์ . ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ์ ๋ํด์ ์ค๋ช
๋๋ฆด๋ ค๋ฉด, ๋จผ์ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋์ด ์ฐ๋ ๋ฐฉ๋ฒ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ํ์ ๋ํด์ ์ค๋ช
ํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ํ๋, ๊ณ์ ํด์ ๋์ผ ์์์ ๋๋ ค ์ฐ๋ CPU ๊ฐ์ํ์ ๋ฌ๋ฆฌ, ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ชผ๊ฐ๊ณ , ๊ฐ ๋ถ๋ถ์ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ๋์์ํค๋ ๋ฐฉ์์ ๋งํฉ๋๋ค. ์ด๋ฅผ ํตํด, ๊ฐ ํ๋ก์ธ์ค๋ค์ ๋ง์น ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ ์ด ํผ์ ์ฐ๊ณ ์๋ ๊ฒ ๊ฐ์ ์ฐฉ๊ฐ์ ํ๊ฒ ๋๊ณ ์ด ์ชผ๊ฐ์ง ํ๋ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ํ๋ ๋ฉ๋ชจ๋ฆฌ๋ผ๊ณ ํฉ๋๋ค. ์ด๋ ํ๋ก์ธ์ค ํ๋ ํ๋์ ๋์๋๋ ๊ฐ์ํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ก์ธ์ค์ ์ฃผ์๊ณต๊ฐ์ด๋ผ๊ณ ๋ ํํํฉ๋๋ค. ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ํฌ๊ฒ ์ฝ๋ ์์ญ, ๋ฐ์ดํฐ ์์ญ, ์คํ ์์ญ, ํ ์์ญ์ผ๋ก ๋๋ฉ๋๋ค. 1. ์ฝ๋ ์..
2024.01.18
CS & IT trend/OS
Enum์ ๋ํ์ฌ
Enum์ ์ด๊ฑฐํ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. (์์ด๋ก๋ enumerated type์ด๋ผ ํ๊ณ ์ด๊ฒ์ ์ค์๋ง์ด๋ค.) Enum์ ‘์์’ ํน์ ‘๋ฉค๋ฒ’ ๋ผ ๋ถ๋ฆฌ๋ ๋ช
๋ช
๋ ๊ฐ์ ์งํฉ์ ์ด๋ฃจ๋ ์๋ฃํ์ด๋ค. ์ฌ๊ธฐ์ ‘๋ช
๋ช
๋๋ค.’๋ ์ด๋ค ๋ฌผ๊ฑด์ด๋ ์ผ์ ์ด๋ฆ์ด ์ง์ด์ ธ ๋ถ์ฌ์ง๋ ๊ฒ์ ๋งํ๋ค. Enum์ ๋ฉค๋ฒ๊ฐ ๋๋ ๋
์๋ค์ ์ฃผ๋ก ์ด๋ค ๋ฌผ๊ฑด์ด๋ ์ผ์ ์๋ณํ๊ธฐ ์ํ ์์ ์ญํ ์ ํ๋ค.
2024.01.16
Language/Java

Rest-Template๋ ๋ฌด์์ธ๊ฐ
์คํ๋ง์์ ์ ๊ณตํ๋ HTTP Client REST API ํธ์ถ์ ํ์ํ ํจ์๋ฅผ ์ ๊ณตํ๋ ํด๋์ค์ด๋ค. HTTP Client Rest API๋? ๋จผ์ ์น์ด ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ์ดํด๋ด์ผํ๋ค. ์น์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ๋๋๋ค. ํด๋ผ์ด์ธํธ ๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ํ์ํ ์ ๋ณด๋ฅผ ์๋ฒ์๊ฒ ์์ฒญํ๊ณ , ์๋ฒ๋ ๊ทธ์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ค. ํด๋น ๊ณผ์ ์์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ํ๋ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ๋ถ๋ถ์ HTTP Client REST API๋ผ๊ณ ํ๋ค. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ค๋ SPRING์ ๋ฐฑ์๋ ํ๋ ์์ํฌ๋ก ์๋ฒ์ ์ญํ ์ ๋ด๋นํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง, ๋์ ๋ฐ๋ผ์ ์ธ๋ถ API์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํด์ผํ๋ ํด๋ผ์ด์ธํธ์ ์ญํ ์ ํด์ผํ ์๋ ์๋ค. ์๋ JAVA์์๋ URLConnect๋ HTTPClient ๊ฐ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ..
2024.01.16
๋ฐฑ์๋ ๊ฐ๋ฐ/SpringMVC

Spring websocket chatting server ๋ง๋ค๊ธฐ 2๋จ๊ณ - ๊ณ ๋ํ
๋ณธ ํ๋ก์ ํธ๋ ์คํ๋ง ์น์์ผ ์ฑํ
์๋ฒ ๋ง๋ค๊ธฐ ๋ฅผ ์ค์ตํ๋ฉฐ ๊ณต๋ถํ๊ธฐ ์ํ ํ๋ก์ ํธ ์
๋๋ค. branch ๋ณ๋ก ์ด 6๋จ๊ณ ๋ชจ๋ ์งํํ ์์ ์
๋๋ค. 0. STOMP๋ ๋ฌด์์ธ๊ฐ? Stomp๋ SimpleTextOrientedMessagingProtocol์ ์ฝ์๋ก, ํ
์คํธ ๊ธฐ๋ฐ ์๋ฐฉํฅ ํต์ ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํ ํต์ ๊ท์ฝ์ด๋ค. Stomp์ ์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ๋ค. Stomp์๋ 3๊ฐ์ง ๊ฐ๋
์ด ์กด์ฌํ๋๋ฐ, Topic, Publisher, Subscriber๊ฐ ๊ทธ๊ฒ์ด๋ค. Topic์ ์ฐ์ฒดํต์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. publisher๋ ๋ฉ์ธ์ง ๋ฐํ์์ด๋ค. Publisher๊ฐ ์ด๋ค Topic์ EndPoint๋ก ์ก๊ณ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ฉด ํด๋น ์ฐ์ฒดํต์ผ๋ก ๋ฉ์ธ์ง๊ฐ ๋ค์ด๊ฐ๋ค. ์ด๋ ํด๋น Topic์ ๊ตฌ๋
ํ๊ณ ์๋ Subscriber..
2024.01.14
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket

[์ค์ต] ๋๊ธ ์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ (๋ฆฌ์กํธ)
1. ํด๋ ๊ตฌ์กฐ 2. Comment.jsx import React from "react"; const styles = { wrapper: { margin: 8, padding: 8, display: "flex", flexDirection: "row", border: "1px solid grey", borderRadius: 16, }, imageContainer: {}, image: { width: 50, height: 50, borderRadius: 25, }, contentContainer: { marginLeft: 8, display: "flex", flexDirection: "column", justifyContent: "center", }, nameText: { color: "black", fon..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

Component ํฉ์ฑ๊ณผ ์ถ์ถ
1. ๊ฐ์ ์ด๋ฒ ์ฅ์์๋ ์ปดํฌ๋ํธ๋ฅผ ํฉ์น๊ณ ์๊ฒ ์ชผ๊ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ฐฐ์ฐ๊ฒ ๋ค. ์์๋ค์ํผ React์ ์ ๋
์ '๋ ๊ณ ์ฒ๋ผ ์กฐ๋ฆฝ' ์ด๋ค. ์ฌ๊ธฐ์ ๋ ๊ณ ์ ์ญํ ์ ํ๋ ๊ฒ์ด ์ปดํฌ๋ํธ์ด๋ค. ๊ทธ๋ ๊ทธ๋ ์
๋ง์ ๋ง๋ ์ปดํฌ๋ํธ๋ฅผ ๋ถ์ด๊ณ ๋ผ๊ณ ๋ฅผ ๋ฐ๋ณตํด์, ์ํ๋ ๋ชจ์์ ์กฐ๋ฆฝํ๋ฉด ๋๋ค. ๊ทธ ๋ ๊ณ ๋ฅผ ๋ถ์ด๊ณ ๋ผ๋ ๋ฒ์ ๋ฐฐ์ฐ์. 2. Component ํฉ์ฑ ์์ ๊ฐ์ด ํ๋์ ํฐ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์์ ์ปดํฌ๋ํธ๋ค์ ์กฐํฉํ๋ ํ์๋ฅผ ์ปดํฌ๋ํธ ํฉ์ฑ์ด๋ผ ํ๋ค. ์์ ์์๋ ํ๋์ ์ปดํฌ๋ํธ๋ฅผ ์ฌ๋ฌ๋ฒ ์ผ์ง๋ง, ๊ฐ๊ธฐ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ํฉ์ณ๋ ๋๋ค. 3. ์ปดํฌ๋ํธ ์ถ์ถ ์ปดํฌ๋ํธ ์ถ์ถ์ ๋๋ฌด ํฐ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฌ์ฉ์ฑ์ ์ํด์ ์ฌ๋ฌ ์์ ์ปดํฌ๋ํธ๋ก ์๊ฒ ์ชผ๊ฐ๋ ์์
์ ์๋ฏธํ๋ค. ํฐ ์ปดํฌ๋ํธ๋ก ๋ค์ด์ค๋ props ์ค ์ผ๋ถ๋ฅผ ๋ค์ props๋ก ๋ฐ..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

Component์ ์ข
๋ฅ์ ๋ง๋๋ ๋ฐฉ๋ฒ
1. ๊ฐ์ ์ด์ ์ปดํฌ๋ํธ, React Elements, DOM Elements์ ๋ํ ๊ฐ๋
์ ์ดํด๋ ์ ๋ฒ ํฌ์คํ
๋ค์ ํตํด ์กํ์ ๊ฒ์ด๋ค. ์ด์ ๋ ์ปดํฌ๋ํธ๋ฅผ ์ง์ง ์ฌ์ฉํ๊ธฐ ์ํด ์ปดํฌ๋ํธ์ ์ข
๋ฅ์ ๊ทธ๊ฒ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ๋ค. 2. ์ปดํฌ๋ํธ์ ์ข
๋ฅ ์ปดํฌ๋ํธ์ ์ข
๋ฅ์๋ ํฌ๊ฒ ํจ์ํ ์ปดํฌ๋ํธ์ ํด๋์คํ ์ปดํฌ๋ํธ๊ฐ ์๋ค. ํด๋์คํ ์ปดํฌ๋ํธ๋ ์ฐ๋ ๋ฐฉ๋ฒ์ด ๋ณต์กํ๊ณ ์ด๋ ต๋ค๋ ์๊ฒฌ์ด ๋ง์์ ์์ฆ ์์ฃผ ์ฌ์ฉ๋๋ ๊ฒ์ ํจ์ํ ์ปดํฌ๋ํธ์ด๋ค. ํจ์ํ ์ปดํฌ๋ํธ๋ ๋ง ๊ทธ๋๋ก ํจ์ ํํ๋ก ๋์ด์๋ค. ๋ค์ ์์๋ฅผ ๋ณด์. ์ด๊ฑฐ ๋ง๊ณ ์ต๋ช
ํจ์ ํํ๋ก ์จ๋ ๋๋ค. const Welcome = (props) => { //... } ํด๋์คํ ์ปดํฌ๋ํธ๋ ์ฐ๋ฆฌ๊ฐ ์๋ฐ ๊ฐ์ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ฅผ ์ธ ๋ ํ์ธํ ์ ์๋ ํํ ๊ทธ๋๋ก ์ด๋ค. ๋ค..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

Props์ ๋ํ์ฌ (๋ฆฌ์กํธ)
1. ๊ฐ์ ์ฌ๊ธฐ์๋ Props์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ๋ํ์ฌ ์์๋ณด๊ฒ ๋ค. 2. Props์ ํน์ง Props์ ๊ฐ์ฅ ์ค์ํ ํน์ง์ READ_ONLY ๋ผ๋ ํน์ง์ด๋ค. ์ฝ๊ธฐ ๋ฐ์ ๋ชปํ๋ค๋ผ๋ ๋ง์ ๋ค์ ๋งํด "๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค."๋ผ๋ ์๋ฏธ์ด๊ธฐ๋ ํ๋ค. ์ ๋ฒ ํฌ์คํ
์์ ์ปดํฌ๋ํธ๋ฅผ ๋ถ์ด๋นต ํ, ๊ฑฐ๊ธฐ์ ๋์จ Elements๋ฅผ ๋ถ์ด๋นต, Props๋ฅผ ๋ถ์ด๋นต ์ ์ฌ๋ฃ๋ก ํํํ๋๋ฐ, ์ด๋ฏธ ๋ง๋ค์ด์ง ๋ถ์ด๋นต ์ ์ฌ๋ฃ๋ฅผ ๋ฐ๊ฟ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ์ด์น์ด๋ค. ๋ง์ฝ ์ฌ์ฉ์ ์
๋ ฅ์ผ๋ก ์๋ก์ด ํ๋ฉด์ ๊ทธ๋ ค์ผ ํ๋ค๋ฉด, ์๋ก์ด Props๋ฅผ ๋ง๋ค์ด ์ปดํฌ๋ํธ์ ๋ฃ๊ณ ์๋ก์ด Elements๋ฅผ Re-Rendering ํ์ฌ ํ๋ฉด์ ๋์์ผ ํ๋ค. ๊ทธ๋ฌ๋๊น, ์๋ก์ด ๋ถ์ด๋นต์ด ๋จน๊ณ ์ถ์ผ๋ฉด ์์ ์ฅ ๋ถ์ด๋นต์ ๋ฒ๋ฆฌ๊ณ ์๋ก ๊ตฌ์๋ฌ๋ผ ํด์ผํ๋ค๋ ๊ฒ์ด๋ค. ์ด ํน์ง์ ..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

Component์ ๋ํ์ฌ (๋ฆฌ์กํธ)
1. ๊ฐ์ React๋ Component-Based Language์ด๋ค. ๋ฐ๋ผ์ ์ปดํฌ๋ํธ๋ผ๋ ๊ฐ๋
์์ฒด๊ฐ ๋งค์ฐ ์ค์ํ๋ค. ๋ ํจ์์์ ์ธ์์ ์ญํ ์ Component์์๋ Props๋ผ๋ ๋
์์ด ํ๋ค. ๋ฐ๋ผ์ Component๊ฐ ์ค์ํด์ง ๋งํผ Props์ ๋ํ ๊ฐ๋
์ดํด๋ ์ค์ํด์ง๋ค. ๊ฐ์ด ์ดํด๋ณด์. 2. Component์ ๋ํ์ฌ Component๋ ํ๋์ ๊ธฐ๋ฅ์ ํ๋ JavaScript Code๋ฅผ ์๋ฏธํ๋ค. ์ปดํฌ๋ํธ๊ฐ ํจ์์ ํํ๊ฐ ๋งค์ฐ ์ ์ฌํ๋ฐ, ์ด๋ ํ๋์ ๊ธฐ๋ฅ์ด ์๋ฏธ๊ฐ ์์ผ๋ ค๋ฉด ์
๋ ฅ์ ๋ฐ์ ํน์ ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅ ํด์ผํ๋๋ฐ, ๊ทธ๋์ ์ปดํฌ๋ํธ์ ํํ๊ฐ ํจ์๋ฅผ ๋ฐ๋ผ๊ฐ๊ฒ ์๋๊ฐ ์ถ๋ค. ๊ธฐ๋ณธ์ ์ธ JavaScript์ ํจ์์ ์ฐจ์ด์ ์ด ์๋ค๋ฉด ๋น์ฐํ ์
๋ ฅ์ ๋ฐ๋ ๊ฐ๊ณผ, ์ถ๋ ฅํ๋ ๊ฐ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ด๋ค. ํจ์๋ ๋น์ฐ..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

React ๋๋๋ง ๊ณผ์ ์ ๋ํ ์ค์ต
1. ์ฝ๋ ์์ฑ ๋จผ์ ํ๋ฉด ๊ณ์ธต ๊ตฌ์กฐ chapter_04๋ฅผ ๋ง๋ค๊ณ Clock์ด๋ผ๋ jsx๋ฅผ ๋ง๋ ๋ค. โ Clock.jsx ์์ฑ import React from "react"; const Clock = (props) => { return ( ์๋
๋ฆฌ์กํธ! ํ์ฌ ์๊ฐ: {new Date().toLocaleTimeString()} ) } export default Clock; ํด๋น ํจ์๋ ์๊ฐ์ ์ฐ๋ ํจ์์ด๋ค. โ index.jsx ๋ณ๊ฒฝ import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก
React์ ๋๋๋ง ์๋ฆฌ์ ๊ณผ์
1. React Elements์ ํน์ง์ ๋ํ์ฌ React์ ๋๋๋ง ๊ณผ์ ๊ณผ ์๋ฆฌ์ ๋ํด์ ๋ค๋ฃจ๊ธฐ ์ํด์๋ ๋จผ์ React Elements์ ํน์ง์ ๋ํ์ฌ ์์์ผ ํ๋ค. ์ด์ ํฌ์คํ
์์ ๋ค๋ฃฌ ๋ฐ์ ๊ฐ์ด, React Elements๋ ๋ถ๋ณ์ฑ์ ๊ฐ์ง๋ค. Elements์ ๋ถ๋ณ์ฑ์ด๋, Elements ์์ฑ ํ์๋ Elements ์ children์ด๋ attributes๋ฅผ ๋ฐ๊ฟ ์ ์๋ค! ์ด๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ด ๋์ฌ ์๊ฐ ์๋ค. ์ด? ๊ทธ๋ ๋ค๋ฉด, ์ฌ์ฉ์์ ์
๋ ฅ์ ๋ฐ๋ผ ํ๋ฉด์ ๊ฐฑ์ ํด์ผํ ๊ฒฝ์ฐ๋ ์ด๋ป๊ฒ ํด์ผํ๋์? ํ๋ฉด ์ Dom Elements์ ์๋ณธ์ธ React Elements๊ฐ ๋ถ๋ณ์ฑ์ด๋ฉด, ๊ฐฑ์ ์ ๊ตฌํํ ์ ์์ง ์๋์? ์ข์ ์ง๋ฌธ์ด๋ค! ๋ถ๋ช
React Elements๋ ๋ถ๋ณํ์ง๋ง, ์์ ์กฐ๊ฑด์ด ๋ถ์..
2024.01.14
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

ReactElement๋ ๋ฌด์์ธ๊ฐ
0. ๊ฐ์ ๋ณธ ํฌ์คํ
์์๋ โ React Element๋ ๋ฌด์์ธ๊ฐ? โ ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ DomElement๋ก ๋ณํ๋์ด ๋๋๋ง๋๋์ง ์ ๋ํด์ ์์๋ณด๊ฒ ๋ค. 1. React Element๋? (0) Element์ ๋ํ์ฌ ๋จผ์ Element๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ฒ ๋ค. Element์ ์ฌ์ ์ ์๋ฏธ๋ '๋ฌผ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ฑ๋ถ'์ ๋ปํ๋ค. Html์ ๊ณต๋ถํ๋ฉด์ DomElement์ ๋ํด ๋ค์ด ๋ดค์ ๊ฒ์ด๋ค. DOM Element๋ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ํ๋์ ์ฑ๋ถ์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด ์ค๋ช
ํ๊ฒ ๋ค. ์์ ํ๋ฉด์ F12 ๊ฐ๋ฐ์ ๋ชจ๋๋ก ๋๋ฌ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ์ฌ๊ธฐ์ Div ํ๊ทธ ํ๋ํ๋, ํน์ ๊ทธ Div ํ๊ทธ ์ h1, h2 ํ๊ทธ ํ๋ํ๋๊ฐ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ฑ๋ถ ์ค ํ๋์์ผ๋ก DOM Element์ ํด๋นํ๋ค. โ ๊ทธ๋ ๋ค๋ฉด Reac..
2024.01.13
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

JSX์ ๋ํ ๊ฐ๋จํ ์ค์ต
1. ๊ฐ์ ์ง๊ธ๊น์ง JSX์ ๋ํ ์ด๋ก ์ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ์๋ค. ์ด์ JSX ๋ฌธ๋ฒ์ ์ด์ฉํ ๊ฐ๋จํ ์ค์ต์ ํ๊ณ ์ ํ๋ค. create-react-app ์ ์ด์ฉํ์ฌ, react์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ๋ฐ๊ณ ๊ทธ src ํด๋ ๋ฐ์ Chapter_03์ด๋ผ๋ ํด๋๋ฅผ ํ๋ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ๊ฐ์ด Book.jsx ์ Library.jsx ํ์ผ์ ํ๋์ฉ ๋ง๋ค๊ฒ ๋ค. 2. Book.jsx import React from "react"; function Book (props) { return ( {`์ด ์ฑ
์ ์ด๋ฆ์ ${props.name} ์
๋๋ค.`} {`์ด ์ฑ
์ ์ด ${props.numOfPage}ํ์ด์ง๋ก ์ด๋ค์ ธ ์์ต๋๋ค.`} ); } export default Book; ์ฝ๋์ ๋ํ ์ค๋ช
์ ํ๊ฒ ๋ค. Book์ด..
2024.01.13
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก
JSX์ ์ฅ์ ๋ฐ ์ฌ์ฉ๋ฒ
1. JSX์ ์ฅ์ โ ๊ฐ๊ฒฐํด์ง ์ฝ๋ > ๋์ ๊ฐ๋
์ฑ > ์ค๋ฅ ์ก๊ธฐ ์ฌ์ ์ ๋ฒ ํฌ์คํ
์์ ๋งํ๋ฏ์ด, JSX๋ฅผ ์ฐ๋ฉด ํ๋์ JSX ์ฝ๋ ๋ด์์ JS์ HTML ์ฝ๋๋ฅผ ํผ์ฉํด์ ์ฌ์ฉํ ์ ์์๋ค. ์ด๋, JS ๋ก์ง๊ณผ ๊ทธ๊ฒ์ ์ฐ๊ฒฐํ๋ ค๊ณ ํ๋ HTML ์์๋ฅผ ํน์ ํ๋ ๋ก์ง์ ํ๋ฒ ๋ ์์ฑํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋๊ฐ ์งง์์ง๊ณ , ๊ฐ๊ฒฐํด์ง๋ค. ์ด๋ ์์ฒญ๋ ์ฅ์ ์ด๋ค. โ Injection attack ํดํน ๋ฐฉ์ด์ ์ฉ์ด ์ด๊ฑด ๊ทธ๋ ๊ฒ ์๋ฟ๋ ๋ด์ฉ์ด ์๋๋ผ์ ๊น๊ฒ ๋ฃ์ง๋ ์์๋ค. JSX๋ฅผ ์ฐ๋ฉด ํด๋น ์ฃผ์
์ฑ ๊ณต๊ฒฉ์ ๋ฐฉ์ดํ๊ธฐ ๋ ์ฉ์ดํ๋ค๊ณ ํ๋ค. 2. JSX ์ฌ์ฉ๋ฒ โ HTML ์์๋ฅผ ํ๋์ JS ๋ณ์๋ก ์ฌ์ฉํ๋ค. const element1 = Hello World!! ์๋ ๊ฒ ํ๋์ ์์๋ฅผ ๋ณ์๋ก ํน์ ์ด ๊ฐ๋ฅํ๋ค. ๋น์ฐํ ํด..
2024.01.13
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก
JSX์ ์ ์์ ์๋ฆฌ์ ๋ํ์ฌ
1. JSX์ ์ ์ ์๋ ํ๋ก ํธ ์ฝ๋๋ ํ๋ฉด์ ๋์ฐ๋ HTML, ๊ทธ HTML์ ๊พธ๋ฏธ๋ CSS, ํ๋ฆฌ์ ํ
์ด์
๋ก์ง์ ๋ด๋นํ๋ JS ์ด 3๊ฐ์ง๋ก ๋๋๋ค. ์ด๋ ๊ฒ ์์ญ์ ๊ตฌ๋ถํ์ฌ ์์ฑํ๋ ๊ฒ์ ๋๋๋ก, ํผ๋ก๊ฐ์ ์ ๋ฐํ๋ค. ์๋ํ๋ฉด, JS๋ก ๋ง๋ ๋ชจ๋(ํน์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋)์ ์ฐ๊ฒฐํ ํน์ HTML ์์(elements)์ ์ฐ๊ฒฐํ๋ ์์
์ ํญ์ ํด์ค์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ํด๋น ์์
์ ์ํด ๋ฐ๋ก ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๊ธฐ์ ๊ฐ๋
์ฑ์ด ๋์ฑ ์ ์ข์์ง๋ค. JSX๋ JavaScript & XML/HTML์ ์ฝ์๋ก, ์์์ ๋ณด์ฌ์ง ํ๋ก ํธ ์๋ ์ ๋ฐ์ ์ฝ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๊ฐ๋
์ด๋ค. JSX์์๋ Javascript ์ฝ๋ ์์์ HTML ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ๋ฐ๊ณผ ๊ฐ์ ์ฝ๋ ์์ฑ์ด ๊ฐ๋ฅํด์ง๋ค. const e..
2024.01.13
ํ๋ก ํธ์๋ ๊ฐ๋ฐ/React - ์ด๋ก

๐ 9663 N-Queen java
๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/9663 N*N ์ฒด์คํ์ด ์ฃผ์ด์ง๋ค. ์ฒด์คํ์ Queen์ ์๋ก๊ฐ ์๋ก๋ฅผ ์ฃฝ์ด์ง ๋ชปํ๊ฒ ๋ชจ๋ ํ์ ๋์๋ผ ์ด๋ ๋์ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ์ด๋ป๊ฒ ๋๋๊ฐ? ํธ๋ ์๋ฆฌ ๋ฐฑํธ๋ํน์ ์ฌ์ฉํด์ผ ํ๋ค. ๋ฐฑํธ๋ํน์ด๋ ๊น์ด ์ฐ์ ํ์์ ํ๋, ๊ฐ๋ฅ์ฑ์ด ์๋ ๋ฃจํธ๋ฅผ ํ์ํ๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ ๊ณผ๊ฐํ๊ฒ ๊ทธ ๋ฃจํธ๋ฅผ ํฌ๊ธฐํ๊ณ ๋ค์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฒดํฌํ๋ฌ ๋ ๋๋ ๊ฒ์ด๋ค. ํด๋น ๊ธธ์ด ๋ต์ ๋์ถํ ์ ์๋ ์ ๋งํ ๊ธธ์ธ์ง ์๋์ง ์ฒดํฌํ๋ ๊ฒ์ ๋ฌธ์ ๋ง๋ค ๋ค๋ฅด๋ค. ๋ฐ๋ผ์ ์ ๋ง์ฑ ์ฒดํฌ ์กฐ๊ฑด์ ์์์ฐจ๋ฆฌ๋ ๊ฐ๊ฐ์ ๋ง์ ๋ฐฑํธ๋ํน ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉฐ ์ตํ์ผ ํ๊ฒ ๋ค. ๋ณธ๋ก ์ผ๋ก ๋์์์ N-Queen ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์. ์ฒด์ค์์ ํธ์ ๋น์๊ณผ ๋ก์ ํฉ์น ์์ง์์ ํ ์ ์๋ ๊ฐ์ฅ ์ ์ฅ๊ธฐ๋ง์ด๋ค...
2024.01.11
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด

SpringBoot WebSocket chatting server ๋ง๋ค๊ธฐ 1๋จ๊ณ
๋ณธ ํ๋ก์ ํธ๋ ์คํ๋ง ์น์์ผ ์ฑํ
์๋ฒ ๋ง๋ค๊ธฐ ๋ฅผ ์ค์ตํ๋ฉฐ ๊ณต๋ถํ๊ธฐ ์ํ ํ๋ก์ ํธ ์
๋๋ค. branch ๋ณ๋ก ์ด 6๋จ๊ณ ๋ชจ๋ ์งํํ ์์ ์
๋๋ค. ํด๋น ๋ด์ฉ์ผ๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์
๋๋ค. ์ฒซ ๋จ๊ณ๋ผ์ firstStep์ด๋ branch์ ์ ์ฅํ์์ต๋๋ค. https://github.com/dalcheonroadhead/WebSocketBEPractice/tree/firstStep 1. ์ ๊ฐ๋ 1-1 Server Logic ํด๋น ๋ธ๋ก๊ทธ์ Basic WebSocket์ ์ ๊ฐ๋ ์ด๋ค. ์์ฃผ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์ง DB์ ์ฐ๊ฒฐํ์ง ์๊ณ , ์๋น์ค์ ์ปจํธ๋กค๋ฌ, ๋ชจ๋ธ, ์น์์ผ ์ค์ ๋๋ ํ ๋ฆฌ๋ง ํ์ํ๋ค. 1-2 Server์ Client ์ ์ฒด Logic ๋จผ์ ๋ด๊ฐ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ Rest API์ ์์ผ์ด ๋ค๋ฅธ ์ฅ์์์ ma..
2024.01.07
๋ฐฑ์๋ ๊ฐ๋ฐ/WebSocket
๐5525๋ฒ IOIOI
1. ๋ฌธ์ ์ค๋ช
https://www.acmicpc.net/problem/5525 5525๋ฒ: IOIOI N+1๊ฐ์ I์ N๊ฐ์ O๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด, I์ O์ด ๊ต๋๋ก ๋์ค๋ ๋ฌธ์์ด์ PN์ด๋ผ๊ณ ํ๋ค. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O๊ฐ N๊ฐ) I์ O๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด S์ ์ ์ N์ด ์ฃผ์ด์ก์ ๋, S์์ PN์ด ๋ช www.acmicpc.net IOI ํํ์ ๋ฌธ์์ด Pn์ด ์ฃผ์ด์ง ๋, ์ ์ฒด ๋ฌธ์์ด S์์ Pn์ด ๋ช ๋ฒ ๋ฑ์ฅํ๋์ง ๋ฑ์ฅ ํ์๋ฅผ ์ถ๋ ฅํด๋ผ 2. ํธ๋ ์๋ฆฌ ์ด๊ฒ๋ ์ ํ๋ ค์ ๋ต์ง๋ฅผ ๋ดค๋ค. ๋ฌธ์์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๋ถ ํด์ผ๊ฒ ๋ค. ๋๋ ๋ฌธ์์ด์ ํฌํฌ์ธํฐ๋ก ํ๋ฒ ์ญ ํ์ผ๋ ค๊ณ ํ๋๋ฐ ํด๋น ๋ฌธ์ ๋ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๊ฒ์ด ์๋๋ค ๋ณด๋, ๋ฐ๋ณต๋ฌธ์ i๋ฅผ ๊ณ์ star..
2024.01.05
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด

๐์ ๊น์ค
1. ๋ฌธ์ ์ค๋ช
2565๋ฒ: ์ ๊น์ค ๋ ์ ๋ด๋ A์ B ์ฌ์ด์ ํ๋ ๋์ฉ ์ ๊น์ค์ ์ถ๊ฐํ๋ค ๋ณด๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์๋ค. ํฉ์ ์ ์ํ์ด ์์ด ์ด๋ค ์ค ๋ช ๊ฐ์ ์ ๊น์ค์ ์์ ์ ๊น์ค์ด ๊ต์ฐจํ์ง ์๋๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. www.acmicpc.net ๋ ๊ฐ์ ์ ๋ด๋๊ฐ ์กด์ฌํ๋ค. ๋ ์ ๋ด๋ ์ฌ์ด์ ์ฌ๋ฌ ์ ๊น์ค์ด ์กด์ฌํ๋ค. ์ ๋ด๋์ ๋์ด๋ 1~10์ผ๋ก ํํ๋๋๋ฐ, ์ ๊น์ค์ ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฒน์น ์ ์๋ค. ์ต์ํ์ ์ ๊น์ค์ ์ ๊ฑฐํด์ ๋ชจ๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ์ง ์๋๋ก ๋ง๋ค์ด๋ผ. 2. ํธ๋ ์๋ฆฌ ํด๋น ๋ฌธ์ ๋ฅผ LIS๋ก ์๊ฐ๋ง ํ ์ ์๋ค๋ฉด ์ฝ๊ฒ ํ๋ฆฌ๋ ๋ฌธ์ ๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ์๊ฐํ๊ธฐ๊ฐ ๊ฝค๋ ์ด๋ ต๋ค. ๋ฐ๋ผ์ ํ์๋ ๋จผ์ ์ ๊น์ค ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ LIS ๋ฌธ์ ๋ก ๋ณผ ์ ์๋์ง๋ถํฐ ์ค๋ช
ํ๊ณ ์ ํ๋ค. ์ ์ฌ์ง์ ..
2024.01.05
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด

๐๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด 4
1. ๋ฌธ์ ์ค๋ช
14002๋ฒ: ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด 4 ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. www.acmicpc.net ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๊ณ , ํด๋น ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ถ๋ถ ์์ด ์ค ํ๋๋ฅผ ์ถ๋ ฅํ๋ผ. → ์๋ ์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ง ๊ตฌํ๋ ๋ฌธ์ ์์ ์ด์ ๊ทธ ๊ตฌ์ฑ์์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ๋ก ๋ฐ๋์๋ค. 2. ํธ๋ ์๋ฆฌ ์ฒ์์ ๋ฌธ์ ํธ๋ ๋ฐ ์ ๋ง ํค๋งธ๋๋ฐ, ๊ทธ ์ด์ ๋ ํด๋น ๋ฌธ์ ๋ ๋ค๋ฅธ LIS์ฒ๋ผ ์ด๋ถํ์์ ์จ์ ํ๋ ค๊ณ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์ด๋ถํ์์ ๊ฒฝ์ฐ ํฐ ๋ฌธ์ ๊ฐ ์๋๋ฐ, ๋ฐ๋ก LIS์ ๊ตฌ์ฑ์์๋ฅผ ๊ตฌํ๊ธฐ ํ๋ค๋ค๋ ์ ์ด๋ค. ์ ๊ทธ๋ฐ์ง ํ๋ฒ ๋ณด์. ๋จผ์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด ์กฐ์ํ๋ ๋ฐฐ์ด์ A, ์์ด ์ ์ฒด๋ฅผ ๋ด๋ ๋ฐฐ..
2024.01.05
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด

๐11000 ๊ฐ์์ค
1. ๋ฌธ์ ์ค๋ช
11000๋ฒ: ๊ฐ์์ค ๋ฐฐ์ ์๊ฐ์ ์ฒญ์ ๋ง์คํฐ ๊น์ข
ํ ์ ์๋์๊ฒ ์๋ก์ด ๊ณผ์ ๊ฐ ์ฃผ์ด์ก๋ค. www.acmicpc.net ๊ฐ์์ ์์ ์๊ฐ๊ณผ ์ข
๋ฃ ์๊ฐ์ด ์ฃผ์ด์ก์ ๋ ํด๋น ๊ฐ์๋ค์ ์ ๋ถ ์ํํ ์ ์๋ ์ต์ ๊ฐ์ ์๋ฅผ ๊ตฌํ์ฌ๋ผ. 2. ํธ๋ ์๋ฆฌ ์ ๋ฒ์ ํ์๋๋ฐ ํ๋ ธ๋ค. ํ๋ฆฌ๋ ๋ฐฉ๋ฒ๋ ๋๊ฐ์๋ค ใ
ใ
. ๋ค์ ํธ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด ๋ณด๊ฒ ๋ค. ๋ฐฐ์ด ํน์ List์ ๊ฐ์ ์์ ์๊ฐ์ด ๋น ๋ฅธ ์์ผ๋ก ๊ฐ์๋ฅผ ์ ๋ ฌํ๋ค. ๊ฐ์์ ๋ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ฐ๋ค์ ์ ๋ฆฌํ๋ Priority Queue๋ฅผ ๋ง๋ ๋ค. ์ ์ด์ List์ ์กด์ฌํ๋ ๊ฐ๋ค์ ์ฐจ๋ก๋ก ์ํํ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ํ์ฌ ์กฐํํ๋ ๊ฐ์๋ฅผ A๋ผ๊ณ ํด๋ณด์. A์ ๊ฐ์ ์์ ์๊ฐ์ด ์คํ 1์๋ผ๊ณ ํ ๋, ํ์ฌ ์๊ฐ์ ์คํ 1์๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ list์์ ํ..
2024.01.05
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด