2025/02 31

[Git] Issue, Pull Request, Code Review ์‚ฌ์šฉํ•˜์—ฌ ํ˜‘์—… (feat. PR ์Šน์ธ ํ›„ ํ•ด์•ผํ•  ์ผ)

Issue, Pull Request, Code Review ์‚ฌ์šฉํ•˜์—ฌ ํ˜‘์—… (feat. PR ์Šน์ธ ํ›„ ํ•ด์•ผํ•  ์ผ)0. git ๋ ˆํผ์ง€ํ† ๋ฆฌ ์—ฐ๊ฒฐ1. Issue2. Pull Request3. PR ์Šน์ธ ํ›„ ํ•ด์•ผํ•  ์ผ0. git ๋ ˆํผ์ง€ํ† ๋ฆฌ ์—ฐ๊ฒฐ์ง€๊ธˆ์€ ํ˜‘์—… ๊ธฐ๋Šฅ์„ ๊ณต๋ถ€ํ•  ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.ํ˜‘์—… ๊ธฐ๋Šฅ๋งŒ ์•Œ์•„๊ฐ€๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ ์ด ๊ณผ์ •์€ ๋„˜์–ด๊ฐ€์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋•Œ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์ปค๋ฐ‹์„ ํ•˜๋ฉด์„œ ๋™์‹œ์— ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ปค๋ฐ‹์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ๋ ˆํผ์ง€ํ† ๋ฆฌ๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฐ๊ฒฐํ•ด๋ณด์•˜๊ณ , ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.  1. Issueํ”„๋กœ์ ํŠธ์— ๊ธฐ๋Šฅ์ด๋‚˜ ์ฝ”๋“œ ๋˜๋Š” ์„ค์ • ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ปค๋ฐ‹์„ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ, Issue๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.Issue์—๋Š” ์™œ ์ด ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•œ์ง€, ์ด ์ฝ”๋“œ..

[Huffman] ํ—ˆํ”„๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ—ˆํ”„๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. ํ—ˆํ”„๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. ํ—ˆํ”„๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜ํ…์ŠคํŠธ ์••์ถ•์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋นˆ๋„๊ฐ€ ๋†’์€ ๋ฌธ์ž๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์งง์€ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. - ๋™์ž‘ ๊ณผ์ •1. ๋ฌธ์ž ๋นˆ๋„ ๊ณ„์‚ฐ2. ์ตœ์†Œ ํž™3. ํŠธ๋ฆฌ ์ƒ์„ฑ4. ํ—ˆํ”„๋งŒ ์ฝ”๋“œ ์ถœ๋ ฅ์ฐธ๊ณ  ์‚ฌ์ดํŠธ ํ—ˆํ”„๋งŒ(Huffman) ํŠธ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ํ…์ŠคํŠธ ์••์ถ•๊ฐœ์š” ํ—ˆํ”„๋งŒ ์ฝ”๋”ฉ(Huffman coding)์€ ํ…์ŠคํŠธ ์••์ถ•์„ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์›๋ณธ ๋ฐ์ดํ„ฐ์—์„œ ์ž์ฃผ ์ถœํ˜„ํ•˜๋Š” ๋ฌธ์ž๋Š” ์ ์€ ๋น„ํŠธ์˜ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๊ณ  ์ถœํ˜„ ๋นˆ๋„๊ฐ€ ๋‚ฎ์€ ๋ฌธ์ž๋Š” ๋งŽ์€ ๋น„lipcoder.tistory.com ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Security] SQL Injection, SSL/TLS, CORS, HTTPS, XSS, CSRF, DoS/DDoS, JWT

SQL Injection, SSL/TLS, CORS, HTTPS, XSS, CSRF, DoS/DDoS, JWT1. SQL Injection2. SSL/TLS3. CORS4. HTTPS5. XSS6. CSRF7. DoS/DDoS8. JWT1. SQL Injection์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํžˆ ํ•„ํ„ฐ๋งํ•˜์ง€ ์•Š๊ณ  SQL ์ฟผ๋ฆฌ์— ์ง์ ‘ ์‚ฝ์ž…ํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค.๊ณต๊ฒฉ์ž๋Š” ์•…์˜์ ์ธ SQL ๋ฌธ์„ ์‚ฝ์ž…ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •๋ณด๋ฅผ ์œ ์ถœํ•˜๊ฑฐ๋‚˜ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELECT * FROM users WHERE username = 'admin' OR 1=1 --' AND password = '์•„๋ฌด ๊ฐ’' 1=1์€ ํ•ญ์ƒ ์ฐธ์ด๋ฏ€๋กœ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. SSL/TLS์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธ..

๐Ÿ“— CS 2025.02.14

[RESTful] RESTful ์„œ๋น„์Šค๋ž€?

RESTful ์„œ๋น„์Šค๋ž€?1. REST1. REST API2. RESTful1. RESTREST(Representational State Transfer)๋Š” ์›น ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค.HTTP URI(Uniform Resource Identifier)๋ฅผ ํ†ตํ•ด ์ž์›์„ ์‹๋ณ„ํ•˜๊ณ , HTTP Method(GET, POST, PUT, PATCH, DELETE)๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ CRUD ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. - HTTP Method1. GET์ž์› ์กฐํšŒ 2. POST์ž์› ์ƒ์„ฑ 3. PUT์ž์› ์ˆ˜์ •(์ „์ฒด) 4. PATCH์ž์› ์ˆ˜์ •(์ผ๋ถ€๋งŒ) 5. DELETE์ž์› ์‚ญ์ œ - REST ์•„ํ‚คํ…์ฒ˜ ์‚ฌ์šฉ ์ด์œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.HTTP ๋ฉ”์†Œ๋“œ ์ค‘ GET๊ณผ POST๋งŒ ..

[Java] ์ง‘ํ•ฉ์˜ ํ‘œํ˜„ - ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ (Lv. Gold5)

์ง‘ํ•ฉ์˜ ํ‘œํ˜„ - ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ (Lv. Gold5)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/1717 2. ํ’€์ดimport java.util.*;import java.io.*;class Main { static int[] par; public static int _find(int A) { if (par[A] == A) return A; return par[A] = _find(par[A]); } public static void _union(int A, int B) { int rootA = _find(A); int rootB = _find(B); ..

[Network] ARP์™€ RARP, DHCP, ์Šค์œ„์น˜์™€ ๋ผ์šฐํ„ฐ, VLan, DNS, IP์ฃผ์†Œ์™€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, NAT๊ณผ ๋ฐฉํ™”๋ฒฝ

ARP์™€ RARP, DHCP, ์Šค์œ„์น˜์™€ ๋ผ์šฐํ„ฐ, VLan, DNS, IP์ฃผ์†Œ์™€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, NAT๊ณผ ๋ฐฉํ™”๋ฒฝ1. ARP์™€ RARP2. DHCP3. ์Šค์œ„์น˜์™€ ๋ผ์šฐํ„ฐ4. VLan5. DNS6. IP์ฃผ์†Œ์™€ ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ7. NAT๊ณผ ๋ฐฉํ™”๋ฒฝ1. ARP์™€ RARPARP(Address Resolution Protocol)๋Š” IP์ฃผ์†Œ๋ฅผ MAC์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.RARP(Reverse ARP)๋Š” MAC์ฃผ์†Œ๋ฅผ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๊ณ , ํ˜„์žฌ๋Š” DHCP๋กœ ๋Œ€์ฒด๋˜๋ฉฐ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 2. DHCPIP์ฃผ์†Œ๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.DHCP(Dynamic Host Configuaration Protocol) ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ IP ์ฃผ์†Œ, ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, ๊ฒŒ์ดํŠธ์›จ์ด, DNS ์ •๋ณด๋ฅผ ์ œ๊ณต..

๐Ÿ“— CS 2025.02.13

[Git] Git๊ณผ Github

Git๊ณผ Github1. Git2. Github1. Git๋ถ„์‚ฐ ๋ฒ„์ „๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Distributed Version Control Systems)์œผ๋กœ ์ปดํ“จํ„ฐ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ๋ช…์˜ ์‚ฌ์šฉ์ž๋“ค ๊ฐ„์— ํŒŒ์ผ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์กฐ์œจํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 2. GithubGithub๋Š” ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๋ฉฐ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. - Pull Request(PR)ํŒ€์›๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ํ•˜๋‚˜์˜ ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. 1. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ$ git checkout -b ๋ธŒ๋žœ์น˜๋ช… 2. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹$ git add .$ git commit -m "์ปค๋ฐ‹ ๋‚ด์šฉ" 3. ํ‘ธ์‹œ$ git push origin ๋ธŒ๋žœ์น˜๋ช… 4. PR ์ƒ์„ฑPull Request ๋ฒ„ํŠผ์„..

[Graph] ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜2. ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ฐ„์„  ์ค‘์‹ฌ์œผ๋กœ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.๊ฐ„์„ ์ด ์ ์€ ๊ทธ๋ž˜ํ”„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 2. ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ •์  ์ค‘์‹ฌ์œผ๋กœ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.๊ฐ„์„ ์ด ๋งŽ์€ ๊ทธ๋ž˜ํ”„์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Graph] ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (feat. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜)

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (feat. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜)1. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜2. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜3. ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ชจ๋“  ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ๊นŒ์ง€ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. 2. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ํ•œ ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ๊นŒ์ง€ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.์šฐ์„ ์ˆœ์œ„ ํ(ํž™)์„ ์‚ฌ์šฉํ•˜๋ฉด ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ๋ฒจ๋งŒ-ํฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ํ•œ ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ๊นŒ์ง€ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.์Œ์ˆ˜ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Java] ์ตœ๋‹จ๊ฒฝ๋กœ - ๋‹ค์ต์ŠคํŠธ๋ผ (Lv. Gold4)

์ตœ๋‹จ๊ฒฝ๋กœ - ๋‹ค์ต์ŠคํŠธ๋ผ (Lv. Gold4)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/1753 2. ํ’€์ดimport java.util.*;import java.io.*;class Node { int end; int weight; public Node(int end, int weight) { this.end = end; this.weight = weight; }}public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStre..