์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๋ฐฐ์์ ๋ฐฐ์
- ๋๊ฐ
- ์ํ์ฃผ
- ์ ๋ฆฌํธ๋ฆฌํธ
- ์๋ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- Java
- ๊ฐ์ดํ ์ข ๋ญ๊ฐ๋น
- css
- Python
- ํ์ด์ฌ
- ์ฝ๋ฉ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ ์
- database
- ์นดํ๋๊ฐ
- ํ๋ก๊ทธ๋๋ฐ
- ์ฑ
- ์ค๋ผํด
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- ๋ฐ์ํ
- JavaScript
- ์ํ
- ํ์ฒ์ ๋ฆฌํธ๋ฆฌํธ
- ์นํผ๋ธ๋ฆฌ์ฑ
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- html
- ์ค๋ธ์
- ๊ฐ๋ฐ
- Today
- Total
๋ชฉ๋กStudy (86)
JiYoung Dev ๐ฅ
Props Drilling ์ง์ฐ๊ธฐ Props Drilling ์ง์ฐ๊ธฐGuidelines for easily modifiable frontend codefrontend-fundamentals.com ๊ตฌ๋ ์ค์ธ ์ ํ๋ฒ๊ฐ ํ๋์ ์์์ ์๋กญ๊ฒ ์ฌ๋ ธ๋๋ฐ, ํ ์ค์์ ์์ฑํ Frontend Fundemental์ ์๊ฐํ๋ ์์์ด์๋ค. Frontend Fundemental์ Toss ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์ข์ ํ๋ก ํธ์๋ ์ฝ๋์ ๊ธฐ์ค์ ์์ ๋ค์ ๊ธฐ์ค์ ๋ง์ถฐ ์์ฑํ ๋ฌธ์์ด๋ค. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ๋ฉด์ ๋ค์ํ ์์ค๋ฅผ ๋ณด์ง ๋ชปํด ์ด๋ค ์ฝ๋๊ฐ ์ข์ ์ฝ๋์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ ์๊ฐ์ ํ๋๋ฐ ์ด ๋ฌธ์๋ฅผ ์ ๋ ํ์ฌ ์ข์ ์ฝ๋๋ ๋ฌด์์ธ์ง ์ฝ์ด๋ณด๊ณ ํ์ฌ ๋์ ์ฝ๋๋ ์ด๋ค์ง ๋์๋ณด๊ณ ๋๋ง์ ์ข์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ์๊ฐ์ ์ ๋ฆฌํด๋ณด๋ ์๊ฐ์ ๊ฐ์ง๊ณ ์ ..
2025๋ ์ํด ์๋ก์ด ๋ชฉํ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ๋ก ํ๋ค. ๋์ค์ฝ๋ ํด๋ก ์ฝ๋ฉ์ธ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋ ค๋ค ๋ณด๋ WebSocket๊ณผ WebRTC์ ๋ํด์ ํ์๋ก ์๊ณ ์์ด์ผ ํด์ ๋ด ๋๋ฆ๋๋ก ๋จธ๋ฆฌ์ ์ ๋ค์ด์ค๋ ์์๋๋ก ์ ๋ฆฌํด ๋ณด์๋ค. ์๋ ๋ด์ฉ์์ ๊ตฌํํ๊ฑฐ๋ ์๋ฃ๋ฅผ ์ฐพ๋ค๊ฐ ํ๋ฆฐ ๋ถ๋ถ์ด๋ ์ถ๊ฐํ ๋ด์ฉ์ด ์์ผ๋ฉด ๊ณ์ํด์ ์ถ๊ฐํ ์์ ์ด๋ค. ์น์ ํต์ ๋ฐฉ์์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค.๋ํ์ ์ผ๋ก HTTP, Websocket, Polling, gRPC, SSE, GraphQL ๋ฑ์ด ์๋๋ฐ, ๊ฐ๊ฐ์ ๋ฐฉ์๋ง๋ค ํน์ง์ด ์์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ฑ์ ๋ฐ๋ผ ์๋ง์ ๊ฒ์ ์ ํํ์ฌ ์ฌ์ฉํ๋ค.HTTP๋ ์น ํต์ ์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ๋ก ์์ฒญ-์๋ต ๋ฐฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ํ์ ์ธ ํต์ ํ๋กํ ์ฝ์ด๋ค.WebSocket์ ์ค์๊ฐ ์๋ฐฉํฅ ํต์ ์ ์ง์ํ๋ ํ๋ก..
์ด๋ฒ์ 30์ด ๋ง๋ค API๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ฅผ ๊ตฌํํ๋ฉด์ setInterval ํจ์๋ฅผ ์ฌ์ฉํ์๋ค. ์ฌ์ฉ๋ฒ์ ์๊ณ ์์๋๋ฐ setInterval์ด ์ด๋ค ๊ฑด์ง ์ฐพ์๋ณด๋ค๊ฐ ๋น๋๊ธฐ์ ๊ด๋ จ๋ ๊ฐ๋ ๋ค์ด ๋์์ ์ ๋ฆฌ๋ฅผ ํ๊ฒ ๋์๋ค. ๋ฐ๋ผ์ ์ค๋์ ๋น๋๊ธฐ ๊ฐ๋ ์ ๋ฑ์ฅํ๋ Call Stack, Callback Queue, Event Loop์ ๋ํด ์์๋ณด์๋ค. ๋ณธ๋ก ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ธ๋ผ์ฐ์ ์์ HTML ๋ด๋ถ Javascript๋ก ์์ฑ๋ ์ฝ๋๊ฐ ์คํ๋๋ ๊ณผ์ ์ ๋ํด ์ ์ ์ ๋ฆฌํด๋ณด์. ๐ Javascript ์คํ์๋ฆฌ์น ๋ธ๋ผ์ฐ์ ๋ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค: ๊ฒ์์ฐฝ, ๋ค๋ก๊ฐ๊ธฐ/์์ผ๋ก๊ฐ๊ธฐ ๋ฒํผ, ์๋ก๊ณ ์นจ ๋ฑ ๋ธ๋ผ์ฐ์ ํ๋ก๊ทธ๋จ ์์ฒด GUI๋ธ๋ผ์ฐ์ ์์ง: ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋ ๋๋ง ์์ง ์ฌ์ด์ ๋์ ์ ์ด๋ ๋..
๋ถํธ์บ ํ์์ React๋ฅผ ์ฒ์ ์ ํ์ ๋ CRA(react-create-app)์ ํตํด ์ฑ์ ๊ตฌ์ฑํ๊ณ ์คํํ์๋ค. ํ์ฌ์ ์ ์ฌํ ํ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ๋งก๊ฒ ๋๋ฉด์ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๊ฒ ๋์๋๋ฐ, CRA์ ๊ฒฝ์ฐ ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง์์ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๊ธ์ ๋ณด๊ฒ ๋์๋ค. ๋ฐ๋ผ์ ์ด๋ฒ ํ๋ก์ ํธ์์๋ CRA๊ฐ ์๋ ์ง์ Webpack์ ์ ์ฉํ์๋๋ฐ(CRA๊ฐ ์๋์ผ๋ก Webpack์ ์ ์ฉ), ๊ทธ ๊ณผ์ ์์ Webpack์ด ๋ฌด์์ธ์ง, ์ด๋ค ์ญํ ์ ํ๋์ง, ๊ฐ ์ค์ ์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค. ๐ Webpack์ด๋ Webpack์ ๋ชจ๋ Javascript ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ ์ ๋ชจ๋ ๋ฒ๋ค๋ฌ์ด๋ค.Javascript๋ฅผ ์ํ ๋ชจ๋ ๋ฒ๋ค๋ฌ๊ฐ Webpack๋ง ์๋ ๊ฒ์ ์๋๋ค. ํ์ง๋ง ์ด๋ฒ ํฌ์คํ ์..
ํ์ฌ ํํ์ด์ง์ ์๋ฒ๋ฅผ ์ด๊ดํด์ผ ํ๋ ์ผ์ด ์๊ฒผ๋ค. ์ด๋ ค์ด ์์ ์ด ์๋๋ผ ๋ช ์๊ฐ ์ก๊ณ tomcat ์๋ฒ๋ฅผ ํต์ผ๋ก ๋ณต์ฌํ๊ณ , Mysql์์ MariaDB๋ก DB ์ด๊ด ์์ ์ ์งํํ๋ค. ์์ ๋ค์ ์งํํ ํ ํด๋น URL๋ก ์ ์ํ์ ๋์๋ ์ ์์ ์ผ๋ก ๋์ํ๋๋ฐ, ์๊ฐ์ด ํ๋ฅธ ๋ค ์ ์ํ๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. 2024-11-21 17:36:19,302 ERROR [egovframework.com.cmm.EgovComOthersExcepHndlr] egovframework.let.cop.bbs.service.impl.EgovBBSManageServiceImpl.selectBoardArticles org.springframework.transaction.CannotCreateTransactionExce..
Docker๋ก ๋ฆฌ์กํธ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค๊ฐ ์คํํ๋ ๊ณผ์ ์์ ๋ฒ๊ฑฐ๋ก์์ด ์์ด์ ๊ฐ๋ฐ ์๋ฒ์์ node๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉํ๊ฒ ๋์๋ค. ํฐ๋ฏธ๋ ์ ์ ํ export๋ก ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ๋ค ๋ ธ๋๋ฅผ ์คํํ์ ๋๋ ์คํ์ด ์ ์์ ์ผ๋ก ๋์๋๋ฐ, ๋ก๊ทธ์์ ํ ๋ค์ ํฐ๋ฏธ๋์ ์ ์ํ๋ ํ๊ฒฝ๋ณ์ ์ค์ ์ด ํ๋ ค ๋ ธ๋๊ฐ ์ ์์ ์ผ๋ก ์คํ๋์ง ์์๋ค. ์ด๋ฒ ๊ธฐํ๋ฅผ ํตํด์ ๋ฆฌ๋ ์ค ํ๊ฒฝ๋ณ์ ์ค์ ์ ๋ํด ์ข ๋ ์์ธํ ๊ณต๋ถํ๊ฒ ๋์๊ณ , ์๋ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด์๋ค. ํ๊ฒฝ๋ณ์ํ๊ฒฝ๋ณ์(PATH)๋, ํ๋ก๊ทธ๋จ์ ์ฐพ๋ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ฅผ ๋งํ๋ค. ๋ง์ฝ ์๋์ฐ์ธ ๋ด ์ปดํจํฐ์์ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๊ณ java -jar์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์๋์ฐ CMD ์ฐฝ์ ์ ๋ ฅํ๋ค. ํ์ง๋ง ํ๊ฒฝ ๋ณ์ ์ค์ ์์ด java ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๊ณ ํ๋ฉด ‘java’์(๋) ๋ด๋ถ..
JDBC(Java Database Connectivity)JDBC๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ๊ทผ, ์กฐ์ํ ์ ์๊ฒ ํ๋ ์๋ฐ API์ด๋ค. ์๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ค์ํ DBMS์ ๋ํด ์ผ๊ด๋ API๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ, ๊ฒ์, ์์ , ๊ด๋ฆฌ ๋ฑ์ ํ ์ ์๊ฒ ํ๋ค. ๋ฐ๋ผ์ ์๋ฐ๋ก ๊ฐ๋ฐ์์๋ DBMS ์ข ๋ฅ์ ๊ด๊ณ์์ด JDBC API๋ง์ ์ด์ฉํ๋ฉด ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก DBMS๋ฅผ ์ ๊ณตํ๋ ํ์ฌ์์ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํ๋ฉฐ ์๋ฐ ์์ฉํ๋ก๊ทธ๋จ์์๋ JDBC ๋๋ผ์ด๋ฒ๋ฅผ JDBC ๋งค๋์ ๋ฅผ ํตํด ๋ก๋ํ์ฌ ์ฌ์ฉํ๋ค. ๋ฐ๋ผ์ ์ฌ์ฉํ๋ DBMS๊ฐ ๋ฐ๊ปด๋ ์ด์ ๋ฐ๋ฅธ JDBC ๋๋ผ์ด๋ฒ๋ง ๋ก๋ํ๋ฉด ๋๋ฏ๋ก ์๋ฐ ํ๋ก๊ทธ๋จ์๋ DBMS ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ํ๋ก๊ทธ๋จ ์์ ์ด ํ์ ์๋ค.JDBC ๋๋ผ์ด๋ธ ๋งค๋์ : ์๋ฐ API์์ ์ง..
์ด์์ค์ธ ์๋ฃจ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํด ์์ธ์ ํ์ ํ๋ ค๋๋ฐ, ์๋ฌ๋ฅผ ์ ์ธํ debug๋ info ๋ก๊ทธ๊ฐ ํ๋๋ ์ฐํ์ง ์์ ์์ธ์ ํ์ ํ ์ ์๋ ์ผ์ด ๋ฐ์ํ์๋ค. ๊ทธ๋์ ์ด๋ฒ์ ๋ก๊ทธ ์ฐ๋ ์์ค๋ฅผ ์ถ๊ฐํด ํจ์น๋ฅผ ํ๊ฒ ๋์๋๋ฐ ์ด๋ป๊ฒ ๋ก๊ทธ๋ฅผ ์ฐ์ด์ผ ์ด์ํ ๋ ์ํ๋ฅผ ์ ๋ชจ๋ํฐ๋ง ํ ์ ์์์ง ๊ณ ๋ฏผํ๊ฒ ๋์๊ณ , ์ด๋ฒ ๊ธ์ ์์ฑํ๊ฒ ๋์๋ค.๐ ๋ก๊ทธ(Log)์ ๋ชฉ์ ๋ก๊ทธ๋ ์์คํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ํ๋ ๋ชจ๋ ์ด๋ฒคํธ์ ๊ธฐ๋ก์ผ๋ก, ๊ฐ๋ฐ์์ ์ด์ ํ์ด ์์คํ ์ ์ฑ๋ฅ์ ๋ถ์ํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.์๋น์ค ๋์ ์ํ ํ์ ์ฅ์ ํ์ ๋ฐ ์๋ฆผ๋ก๊ทธ ๋ถ์์ ํตํ ์๋น์ค ์งํ์ ํ์ธ, ํธ๋์ญ์ , ์ฑ๋ฅ ํ์ ํ์ง๋ง ๋๊ท๋ชจ ์์คํ ์์๋ ๋งค์ผ ์์ญ GB์ ๋ฌํ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋ ์ ์์ด ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ..
์ด์ ์์ฑํ๋ Nginx์์ Reverse Proxy ์ค์ ํ Spring Server์์ Cors ์๋ฌ๊ฐ ๋ฐ์ํ์ฌ Spring Security Cors ์ค์ ์ ์ธ๋ถ๋ง ์ฃผ์๋ฅผ ์ถ๊ฐํด ํด๊ฒฐํ์๋ค๊ณ ํ์๋ค. ํด๋น ๊ธ์์๋ ์์ฑํ์ง ์์์ง๋ง Node.js Express ์๋ฒ์์๋ Cors ์๋ฌ๊ฐ ๋ฐ์ํ์๋๋ฐ Cors ์ค์ ๊ณผ ํจ๊ป app.listen("0.0.0.0")์ ์ถ๊ฐํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค. ์์ ๊ณผ์ ์ ์งํํ๋ฉด์ Cors๋ฅผ ์ค์ ํ๋ ๊ฒ๊ณผ app.listen("0.0.0.0")์ ์ค์ ํ๋ ๊ฒ์ด ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์์๋ณด์๋ค. ๐ Cors ์ค์ ์ ์ญํ Cors(Cross-Origin Resource Sharing)๋ ์น ๋ธ๋ผ์ฐ์ ๋ฐ์ํ๋ ๋ณด์ ์ ์ฑ ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์ถ์ฒ(Origin)์ ๋ฐ๋ผ ์..
๐ ๋ฌธ์ https://www.acmicpc.net/problem/17298๋ฌธ์ ์ค๋ช ํฌ๊ธฐ๊ฐ N์ธ ์์ด A = A1, A2, ..., AN์ด ์๋ค. ์์ด์ ๊ฐ ์์ Ai์ ๋ํด์ ์คํฐ์ NGE(i)๋ฅผ ๊ตฌํ๋ ค๊ณ ํ๋ค. Ai์ ์คํฐ์๋ ์ค๋ฅธ์ชฝ์ ์์ผ๋ฉด์ Ai๋ณด๋ค ํฐ ์ ์ค์์ ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ ์๋ฅผ ์๋ฏธํ๋ค. ๊ทธ๋ฌํ ์๊ฐ ์๋ ๊ฒฝ์ฐ์ ์คํฐ์๋ -1์ด๋ค.์๋ฅผ ๋ค์ด, A = [3, 5, 2, 7]์ธ ๊ฒฝ์ฐ NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1์ด๋ค. A = [9, 5, 4, 8]์ธ ๊ฒฝ์ฐ์๋ NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1์ด๋ค.์ ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค..