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

๊ฐœ์ธ ๊ณต๋ถ€84

Process์™€ Thread โœ… Process๋ž€?- ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. - ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด storage์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉด ๋‹จ์ˆœํ•œ ํŒŒ์ผ์— ๋ถˆ๊ณผํ•˜๋‹ค.- ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด, ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•œ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›์œผ๋ฉด์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋œ๋‹ค.- ๋น„์œ ์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ Java ์–ธ์–ด์—์„œ์˜ ํด๋ž˜์Šค์ด๊ณ , ํ”„๋กœ์„ธ์Šค๋Š” ์ธ์Šคํ„ด์Šค์ธ ์…ˆ์ด๋‹ค.๐Ÿ“Œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ- ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋ณ„๋„์˜ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. - ์ฝ”๋“œ ์˜์—ญ: ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋œ๋‹ค.- ์Šคํƒœํ‹ฑ ์˜์—ญ: ์Šคํƒœํ‹ฑ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.- ํž™ ์˜์—ญ: ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด๋‹ค.- ์Šคํƒ ์˜์—ญ: ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์‹œ ์ƒ์„ฑ๋˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜์™€, ๋ฐ˜ํ™˜ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋œ๋‹ค.- ๋ ˆ์ง€์Šคํ„ฐ ์˜์—ญ: ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์ ์œ ํ•˜์—ฌ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ.. 2024. 10. 15.
[JAVA] SwingUtilities.invokeLater() โœ… EDT์˜ ์—ญํ• - Java Swing ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ชจ๋“  GUI ์—…๋ฐ์ดํŠธ๋Š” ์ด๋ฒคํŠธ ๋””์ŠคํŒจ์น˜ ์“ฐ๋ ˆ๋“œ(EDT)์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.- ์ฆ‰ ๋ชจ๋“  GUI ์—…๋ฐ์ดํŠธ๋Š” EDT๋ผ๋Š” ํ•˜๋‚˜์˜ ์“ฐ๋ ˆ๋“œ์—์„œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค. โœ… SwingUtilities.invokeLater()- ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋‚˜ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—์„œ GUI ์—…๋ฐ์ดํŠธ ์ž‘์—…์„ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š”    SwingUtilites.invokeLater()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GUI ์—…๋ฐ์ดํŠธ ์ž‘์—…์„ EDT๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋„๋ก EDT ์—๊ฒŒ ์ž‘์—…์„ ์ „๋‹ฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.- ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, EDT๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ GUI๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.SwingUtilities.invokeLater(new Runnable() { public vo.. 2024. 10. 9.
Node.js๋กœ node-red ๋‚ด์žฅ ์„œ๋ฒ„ ๋„์›Œ๋ณด๊ธฐ โœ… Node.js ์„ค์น˜์šฐ์„  homebrew๋กœ Node.js๋ฅผ ์„ค์น˜ํ•ด์ฃผ์—ˆ๋‹ค.brew install node  โœ… ์ฝ”๋“œ ์ž‘์„ฑ๋จผ์ € ๊ฐ„๋‹จํ•œ ์›น์„œ๋ฒ„๋ฅผ ๋„์›Œ๋ณด๊ธฐ ์œ„ํ•ด index.js ํŒŒ์ผ์„ ์ž‘์„ฑํ–ˆ๋‹ค.const http = require('http');http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello Node.js');}).listen(9090);  ์‹คํ–‰์€ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋œ๋‹ค.node index.js  node.js ์ž„๋ฒ ๋“œ ํ•˜๊ธฐ ์œ„ํ•ด node-red express๋ฅผ ์„ค์น˜ํ•ด์ฃผ์—ˆ๋‹ค.npm install node-red express  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ.. 2024. 10. 2.
node-red API์™€ Auth์„ค์ • โœ… Node-red ์„ค์ •ํŒŒ์ผ(settings.js)- ๋‚˜๋Š” ๋„์ปค ์œ„์— node-red ์˜ฌ๋ฆฐ ๊ฑฐ๋ผ์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ settings.js ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.> docker exec -it nodered /bin/bash> vi /data/settings.jsnode-red๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์ตœ์ดˆ๋กœ ํ•œ ๋ฒˆ๋งŒ ์ ์šฉ๋˜๋Š” ์„ค์ •์ด๋‹ค.์„ค์ •ํŒŒ์ผ์„ ์ˆ˜์ • ํ›„ ์ ์šฉํ•˜๋ ค๋ฉด node-red๋ฅผ ๊ป๋‹ค ์ผœ์•ผ ํ•œ๋‹ค. ๐Ÿ“Œ httpAdminRoot ์„ค์ •httpAdminRoot์— ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋ฉด, ํ•ด๋‹น ๊ฒฝ๋กœ๊ฐ€ ๋ฃจํŠธ ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค.๋””ํดํŠธ ๋ฃจํŠธ ๊ฒฝ๋กœ๋Š” `/` ์ด๋ฏ€๋กœ `http://์„œ๋ฒ„์•„์ดํ”ผ:1880` ๋กœ ์ ‘์†ํ•˜๋ฉด ๋œ๋‹ค. ๐Ÿ“Œ adminAuth ์„ค์ •๋…ธ๋“œ ๋ ˆ๋“œ editor๋‚˜ admin API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„๋””.. 2024. 9. 30.
Git์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํŒŒ์ผ์˜ ์ƒํƒœ โœ… Git์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹- Git์€ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ, ํŒŒ์ผ์˜ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•จ- Git์—์„œ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์ „, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ํ•ด์‹œ๊ฐ’์ธ checksum์„ ๊ตฌํ•œ๋‹ค.- Git์—์„œ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํŒŒ์ผ์„ ์ด๋ฆ„์œผ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ํ•ด๋‹น ํŒŒ์ผ์˜ checksum์œผ๋กœ ์ €์žฅํ•œ๋‹ค. โœ… Git์œผ๋กœ ๋ฒ„์ „๊ด€๋ฆฌ ํ•˜๋Š” ํŒŒ์ผ์˜ 3๊ฐ€์ง€ ์ƒํƒœ(1) Modified : ํŒŒ์ผ์ด Working directory์— ์žˆ๊ณ , ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์•„์ง ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ์ƒํƒœ(2) Staged : Working directory์— ์žˆ๋˜ ํŒŒ์ผ์„ Staging area์— ์˜ฌ๋ ค์ง„ ์ƒํƒœ (๊ณง ์ปค๋ฐ‹ํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ‘œ์‹œ๋œ ์ƒํƒœ)(3) Commited : Staging area์— ์žˆ๋˜ ํŒŒ์ผ๋“ค์ด ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์ธ ์Šค๋ƒ…์ƒท์œผ๋กœ ์ €.. 2024. 8. 31.
Spring Framework์™€ ๊ฐ์ฒด์ง€ํ–ฅ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ธ ์ž๋ฐ”์˜ ํŠน์ง•์„ ์‚ด๋ ค์ข‹์€ ๊ฐ์ฒด์ง€ํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.  ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜์—ฌ๋Ÿฌ ๊ฐ์ฒด๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.๊ฐ์ฒด์ง€ํ–ฅ ํŠน์ง•์œผ๋กœ๋Š” ๋‹คํ˜•์„ฑ, ์ถ”์ƒํ™”, ์บก์Аํ™”, ์ƒ์† ์ด ์žˆ๋‹ค.  ํŠนํžˆ ์ด ์ค‘์—์„œ ๋‹คํ˜•์„ฑ์€ ์ธํ„ฐํŽ˜์ด์Šค(์—ญํ• )๊ณผ ๊ตฌํ˜„์ฒด(๊ตฌํ˜„)์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด, ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ์„œ๋ฒ„์˜ ๊ตฌํ˜„์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๊ฐˆ์•„๋ผ์šธ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. 2024. 8. 13.
728x90