Programming (71) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Linux / Terminal] ๋ฆฌ๋ ์ค, ํฐ๋ฏธ๋ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์ ๋ฆฌ ์ทจ๋ฏธ๋ ์ ๋ฌด๋ก ์ธํด์ ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ์์ฃผ ์ ํด์ผ ํ๋ ๋ถ๋ค์ด ๋ง์ผ์ค ํ ๋ฐ์. ์ต๊ทผ์ ์ ๋ ๋ฆฌ๋ ์ค ํ๊ฒฝ์ ์์ฃผ ์ฌ์ฉํ๋ค ๋ณด๋ GUI์๋ ๋ค๋ฅธ ํธ๋ฆฌํ ์ ๋ ๋ง๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์ ์ฐ๋ฉด ์๋ ์์ฃผ ์์ด๋ฒ๋ฆฌ๋ ์ฑ๊ฒฉ ๋๋ฌธ์ ๊ฐ๋จํ์ง๋ง ์ ์ฉํ ๋ช ๋ น์ด๋ค์ ์ ๋ฆฌํด๋ณผ๊น ํฉ๋๋ค. ๐ Linux ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด ๐ค ํ์ฌ ์์น(working dirctory) ์ฐพ๊ธฐ - PWD (Print Working Directory) pwd ํ์ฌ ์์ ์ ์์น๋ฅผ ์๋ ค์ฃผ๋ ๋ช ๋ น์ด์ ๋๋ค(๋์๋ฌธ์ ๊ตฌ๋ถ ์์ด ์ฌ์ฉํฉ๋๋ค.). ๋ฆฌ๋ ์ค๋ ํฐ๋ฏธ๋์ ์ด์ฉํ ๋, ์ข ์ข ํ์ฌ ๋๋ ํฐ๋ฆฌ๊ฐ ์ด๋์ธ์ง ํท๊ฐ๋ฆด ๋๊ฐ ์๋๋ฐ ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฐพ์ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํ ๋ช ๋ น์ด์ ๋๋ค. cd๋ก ์ฐพ๋ ์ผ์ ์ด์ ๊ทธ๋ง~ ํ์ฌ ๋๋ ํฐ๋ฆฌ(ํด๋) ๋ฐ ํ์ผ ์ฐพ๊ธฐ / ์จ๊น ํ.. ํฐ์คํ ๋ฆฌ ํ์ด์ง ๋ด์์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ง๋ค๊ธฐ(๋ค๋น๊ฒ์ด์ ๋ง๋ค๊ธฐ) / Tistory ๋ค๋น๊ฒ์ด์ โ๏ธ ํฐ์คํ ๋ฆฌ ํ์ด์ง ๋ด์์ ๋ฐ๋ก๊ฐ๊ธฐ ๋ง๋ค๊ธฐ ๋งํฌ๋ฅผ ๋๋ฅด๋ฉด ๊ฐ์ ํ์ด์ง ๋ด์ ์๋ ํน์ ๊ธ์ ์์น๋ก ์ด๋ํ๋๊ฑธ ๋ณด์ ์ ์์ผ์ค ๊ฒ๋๋ค. ์ด ๋งํฌ๋ฅผ ๋ค๋น๊ฒ์ด์ ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๐ ๋ค๋น๊ฒ์ด์ ์์ฑํ๊ธฐ ๋ค๋น๊ฒ์ด์ ์ ๋ง๋ค๊ธฐ ์ํด์๋ HTML์ ์์ ํด์ผ ํฉ๋๋ค. HTML์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ ์ํด์ ๊ฐ๋จํ ๋งํ๋ฉด ๋ชจ๋ ์น ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ ๋ผ๋์ ๋๋ค. ์ผ๋จ ๋์ผ๋ก ๋ณด๋ฉด์ ํ์ธํด ๋ด ์๋ค. ํฐ์คํ ๋ฆฌ๋ ๊ธ์ ์์ฑํ ๋, ๊ธฐ๋ณธ๋ชจ๋ ์ด ์ธ์์ HTML์ ์ง์ ์์ ํ ์ ์๊ฒ๋ ์ ๊ณต๋ฉ๋๋ค. ์ผ๋จ HTML์ ๋๋ฌ๋ด ๋๋ค. ์์ ์๋ ๊ธ์ ์ฌ์ด์ ์ฐ๋ฆฌ๊ฐ ์์ฑํ ๊ธ์๊ฐ ์๋๊ฑธ ๋ณผ ์ ์์ต๋๋ค. ์ค์ ์น ํ์ด์ง๋ ์ด๋ ๊ฒ HTML ์ฝ๋๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฅผ ์ฐ๋ฆฌ๋ ํ๊ทธ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๋ค์ํ ํ๊ทธ๋ ์ฌ๋ฌ ์๋ฏธ๊ฐ ์์ง๋ง, ๊ฐ๋จํ๊ฒ ๊ธ.. [Network]TCP/IP๋ ๋ญ๊น? + UDP, Port ์์ IP๋? ใด IP address / ์์ดํผ ์ฃผ์ ใด IP์ ํ๊ณ์ (TCP์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ) TCP๋? ใด TCP ์ธ๊ทธ๋จผํธ ใด Port(ํฌํธ)๋? ใด 3-way handshake ใด TCP์ UDP์ ์ฐจ์ด์ IP(Internet Protocal)๋? IP๋ ์ธํฐ๋ท ํ๋กํ ์ฝ ํน์ ์ธํฐ๋ท ํต์ ๊ท์ฝ ์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค. ํต์ ๊ท์ฝ์ด๋๊ฒ ๋ฌด์จ ๋ง์ผ๊น? ์ธํฐ๋ท์ ์์ฃผ ๋ฉ๋ฆฌ ๋จ์ด์ ธ์๋ ๋ ์๋ฒ ํน์ ์ปดํจํฐ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฒํด์ฃผ๋ ์ญํ ์ ํด์ฃผ๋ ํธ๋ฆฌํ ์กด์ฌ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ์ปดํจํฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด(๋ฉ์ธ์ง๋, ๋ฉ์ผ ๊ฐ์ ๊ฒ์ ์ ์ก) ์ธ๊ณต์์ฑ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ์ ์๋ํธ์ ์ปดํจํฐ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ฃผ๋ ์ค ์์์ง๋ง(์ปดํจํฐ๋ฅผ ๊ณต๋ถํ๊ธฐ์ ์ ๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์๋ค...) ์ฌ์ค ๊ทธ๋ ์ง ์๋ค. ์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋, ์ ์ผ๋ก.. [Java] Kruskal's Algorithm ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ - ์ต์ ์ ์ฅ ํธ๋ฆฌ(MST) ์ต์ ์ ์ฅ ํธ๋ฆฌ MST(Minimun Spanning Tree) - ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ ์๋ฐ ๊ตฌํ ๐ง ์ต์ ์ ์ฅ ํธ๋ฆฌ MST(Minimun Spanning Tree)๋? ์ต์ํ์ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ์ด ์ฐ๊ฒฐ๋์ด ์์ ์ ์๊ฒํ๋ ๊ธฐ๋ฒ์ด๋ค. ์์) ๋์๋ค์ ๋ชจ๋ ๋ค๋ฆฌ๋ก ์ฐ๊ฒฐ๋์ด์์ ๋, ๋ชจ๋ ๋์๋ฅผ ๊ฐ ์ ์๊ฒ ๋ค๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๋ ์ต์ํ์ ๋ค๋ฆฌ ๊ธธ์ด๋ง์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ (๋์๊ฐ ๊ฐ๋ก๋ฑ์ผ๋ก ๋ค๋ฆฌ๊ฐ ์ ์ ์ผ๋ก ๋ฐ๋์๋ ์๋ค.) ๋ค๋น๊ฒ์ด์ ์ ์ต๋จ ๊ฒฝ๋ก ๋ชจ๋ ์ ์ (node ํน์ vortex)๊ฐ ์ฐ๊ฒฐ๋ ์ ์๋ ๊ฒฝ๋ก ์ค ๊ฐ์ฅ ์ ์ ๊ฐ์ค์น(์ฌ๊ธฐ์ ๊ฑฐ๋ฆฌ)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ๋ก ์ฃผ์์ฌํญ ์ฌ๊ธฐ์ ์ฐ๊ฒฐ์ด๋ ๋ค๋ฅธ ๋ ธ๋๋ฅผ ๊ฑฐ์ณ์ ๊ฐ๋ ๊ฒ์ ํฌํจํ๋ค. ๊ฐ์ ํน์ ๋ธ๋์น(๋ ธ๋๋ฅผ ์ด์ด์ฃผ๋ ์ , ๊ฑฐ๋ฆฌ)๋ ๋ฐฉํฅ์ฑ์ ๊ฐ์ง ์๋๋ค.(์ฐ๊ฒฐ๋ง ๋์ด์.. [Java] Dijkstra Path ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ(ft. ์ฐ์ ์์ ํ) ์ฝ์ง๋ง ๋ณต์กํ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๐ค ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ธ๊น? โ๏ธ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ด๋ค. ํน์ ์ง์ ์์ ๋ชฉํ ์ง์ ์ผ๋ก ๊ฐ์ฅ ์ ์ ๋น์ฉ์ ๋ค์ด๋ฉฐ ๊ฐ์ผํ ๋ ์ฌ์ฉํ ์ ์๋ค. ์) A์์ D๋ก ๊ฐ๋๋ฐ ๊ฑธ๋ฆฌ๋ ๋น์ฉ์ ์ต์ ๊ฐ์? A -> D = 5 A -> B -> D = 5 A -> C -> D = 3 ๋ฐ๋ผ์ ์ค์ ์ต์ ๋น์ฉ ์ง๋ถํ๋ ๊ฒฝ๋ก๋ A -> C -> D ์ด๋ค. ๐ฅธ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๋ก์ง 1. ์์์ง์ ๊ณผ ์ฐ๊ฒฐ๋ ๋ ธ๋๋ค๊ณผ์ ๋น์ฉ์ ๊ตฌํ๋ค. Result List ์ฐ๊ฒฐ๋ ๋ ธ๋ A B C D E ๋น์ฉ 0 3 1 5 ๋ฌดํ ์ถ๋ฐ ์ง์ ์ด A์ผ ๋, ์๊ธฐ ์์ ์๊ฒ ๊ฐ๋ ๋น์ฉ์ ์์ผ๋ 0 A์์ E์ ๊ฐ์ด ๋ฐ๋ก ์ฐ๊ฒฐ๋ ๊ฒฝ๋ก๋ ์์ ๋, ๋น์ฉ์ ๋ฌดํ(์ํฅ์ ์ฃผ์ง ์๋ ์์ฃผ ํฐ ๊ฐ)์ผ๋ก ํ๋ค.. [JavaScript] String-boot ์น ์์ผ(WebSocket)์ ์ด์ฉํ ์ค์๊ฐ ์ฑํ ๊ตฌํ - Session Storage ํ์ฉํ๊ธฐ ์๊ฐ ์ WebSocket์ ์ฌ์ฉํ์๋? Spring-boot WebSocket ์ฌ์ฉ๋ฒ(์ค์ ๋ฒ) ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฑํด๋ณด๊ธฐ ๋ฐ์ํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ใด HTTP session ๊ฐ์ ธ์ค๊ธฐ -> interception ์ฌ์ฉ ใด DB๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ธฐ์กด ๋ฉ์์ง ์ ์ฅํ๊ธฐ -> Session Storage ์ฌ์ฉํ๊ธฐ ์ต๊ทผ ์์ฑ ์ค์ธ ๊ฐ์ธ ํ๋ก์ ํธ์์ ์น์ ์ ์ํ ํด๋ผ์ด์ธํธ์ ์ค์๊ฐ ์ฑํ ์ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด๋ ค๊ณ ํ๋ค. ๐ค ์ WebSocket์ ์ฌ์ฉํ์๋? ์ฌ๊ธฐ์ ๋งํ๋ ์น ์์ผ์ Spring Framework์ STOMP๊ฐ ์๋ ์์ JavaScript๋ฅผ ํ์ฉํ ์์ ์ ๋๋ค. jquery๋ ์ฌ์ฉํ์ง ์์ต๋๋ค. WebSocket์ด ํ์ํ๋ ์ด์ ์์๋งํ๋ฏ ์ค์๊ฐ ๋ผ์ด๋ธ ์ฑํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ถ์๋ค. ํ์ง๋ง, ๊ธฐ.. [์๋ฃ๊ตฌ์กฐ] Linked List๋? - Java ๊ตฌํ ์์ Linked list(๋งํฌ๋ ๋ฆฌ์คํธ) ๋? ใด Linked list์ List์ ์ฐจ์ด์ ใด Single Linked List์ Doubly Linked List ์ฐจ์ด์ (Doubly Linked List๊ฐ ํ์ํ ์ด์ ) Single Linked list ๊ตฌํ(JAVA) Doubly Linked list ๊ตฌํ(JAVA) ๐ค Linked list ๋ ๋ฌด์์ธ๊ฐ? List์์ ์ฐจ์ด์ ์ฐ๊ฒฐ๋ ๋ฆฌ์คํธ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๋งํฌ๋ ๋ฆฌ์คํธ๋ ์ผ๋ฐ ๋ฆฌ์คํธ(List)์ ์ฐจ์ด์ ์ ๋ณด๋ฉด์ ์ด์ผ๊ธฐํ ์ ์๋ค. ๊ธฐ๋ณธ์ ์ธ List๋ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๋ฐฐ์ด ๊ตฌ์กฐ์ด๋ค. List ๊ตฌ์กฐ index(์์) 0 1 2 3 4 5 value(๊ฐ) "์ฒซ๋ฒ์งธ ๊ฐ" "๋๋ฒ์งธ ๊ฐ" "์ธ๋ฒ์งธ ๊ฐ" "๋ค๋ฒ์งธ ๊ฐ" "๋ค์ฏ๋ฒ์งธ ๊ฐ" "์ฌ์ฏ๋ฒ์งธ ๊ฐ" .. [JavaScript] ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ disabled, display ์์ฑ ์ถ๊ฐ, ํด์ (๋ณ๊ฒฝ) ๊ฐํน ์๋ฐ์คํฌ๋ฆฝํธ์์ disabled ์์ฑ๊ณผ display ์์ฑ์ ๋ณ๊ฒฝํ ๋ ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํ์ํ ๋ ์ฐพ์๋ณด๊ธฐ ์ํด์ ๊ธ์ ์๋๋ค. JavaSctript๋ก disabled ์์ฑ ํ์ฑํ or ํด์ ํ๊ธฐ function disabledFalse() { document.querySelector('#name').disabled = false; document.querySelector('#email').disabled = false; document.querySelector('#phone').disabled = false; document.querySelector('#message').disabled = false; } ์ ์ฒ๋ผ ๋ด๊ฐ ์ํ๋ ์ ํ์๋ฅผ ์ ํํด์ค ํ .disabled ์์ฑ์ ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋๋ค... ์ด์ 1 ยทยทยท 4 5 6 7 8 9 ๋ค์