์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- ํ ํฐ ๋ฒ์ค
- IEEE 802
- tcp ํ๋กํ ์ฝ
- i-type
- tcp ์ธ๊ทธ๋จผํธ
- mariadb
- ํญํด99
- xv6
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฐ๋ถํฌdb
- leetcode
- well known ํฌํธ
- git merge
- ๋น์ฃผ๊ธฐ์ ํธ
- ๊ฐ๋ฐ์์ทจ์
- ์ค๋ ๋
- ์ค๋ฅ์ ์ด
- til
- ์ฝ๋ฉํ ์คํธ์ค๋น
- ๋ฐ์ดํฐ ์ ์ก
- ์ค๋ธ์
- ํ๋ ์ ๊ตฌ์กฐ
- reducible
- ์์๋ฒํธ
- ์ค๋ฅ๊ฒ์ถ
- ์ฃผ๊ธฐ์ ํธ
- ์๋น์ค ํ๋ฆฌ๋ฏธํฐ๋ธ
- 99ํด๋ฝ
- ํ๋ก์ด๋์์
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- Today
- Total
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (166)
Unfazedโ๏ธ๐ฏ

HTTP ์ฟ ํค(HTTP cookie) : ์น ์๋ฒ์ ์ํด ์ฌ์ฉ์์ ์ปดํจํฐ์ ์ ์ฅ๋๋, '์ด๋ฆ์ ๊ฐ์ง ์์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ'.์ธํฐ๋ท ์ฌ์ฉ์๊ฐ ์ด๋ ํ ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ธํฐ๋ท ์ฌ์ฉ์์ ์ปดํจํฐ๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์ ์ค์น๋๋ ์์ ๊ธฐ๋ก ์ ๋ณด ํ์ผ๋ก ์ฟ ํค, ์น ์ฟ ํค, ๋ธ๋ผ์ฐ์ ์ฟ ํค๋ผ๊ณ ๋ ํ๋ค. ์ฟ ํค์ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ : ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ์ฌ์ฉ์๊ฐ ํด๋น ์๋ฒ์ ์ ๊ทผํ ๋๋ง๋ค ๊ทธ ์ ๋ณด๋ฅผ ํจ๊ป ์ ์กํ๊ฒ ํ๋ ๊ฒ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค ์ ๋ณด๋ฅผ ์ ์ฅํ ์ฑ ์์ด ์๊ณ , ์ด ๋ฉ์ปค๋์ฆ์ 'ํด๋ผ์ด์ธํธ ์ธก ์ํ' ๋๋ 'HTTP ์ํ ๊ด๋ฆฌ ์ฒด๊ณ(HTTP State Management Mechanism)๋ผ ํ๋ค. ๊ณตํต์ ์ธ ์ฟ ํค ์ ์ฅ ๋ฐฉ์๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ๋ก์ปฌ ์ ์ฅ์์ ๋ณด๊ดํ๋๋ฐ ๊ฐ ์ฟ ํค๋ ์ด๋ฆ,..
Java์์ null์ ์ฐธ์กฐ ํ์ ๋ณ์๊ฐ ์๋ฌด ๊ฐ์ฒด๋ ๊ฐ๋ฆฌํค์ง ์์์ ๋ํ๋ด๋ ํน์ํ ๋ฆฌํฐ๋ด์ด๋ค. null์ ๊ฐ์ฒด๊ฐ ์๋๋ฉฐ, ๋ชจ๋ ์ฐธ์กฐ ํ์ ์ ํ ๋น ๊ฐ๋ฅํ์ง๋ง ์ฃผ์๊ฐ์ด 0x0์ผ๋ก ๊ณ ์ ๋์ด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ์ฐจ๋จ๋๋ค.null์ ๋ณธ์ง์ ํน์ฑ๋ฆฌํฐ๋ด ํ์ : null์ ํค์๋๊ฐ ์๋ ๋ฆฌํฐ๋ด๋ก ๋ถ๋ฅ๋๋ฉฐ, instanceof ์ฐ์ฐ์๋ก ํ์ธ ์ ํญ์ false ๋ฐํ(null์ Object๊ฐ ์๋๊ธฐ ๋๋ฌธ)ํ์ ์์คํ : ๋ชจ๋ ์ฐธ์กฐ ํ์ (ํด๋์ค, ์ธํฐํ์ด์ค, ๋ฐฐ์ด)์ ํ ๋น ๊ฐ๋ฅํ์ง๋ง ๊ธฐ๋ณธํ(int ๋ฑ)์๋ ์ง์ ํ ๋น ๋ถ๊ฐํน์ฑ์ค๋ช ์ฃผ์๊ฐ0x0์ผ๋ก ๊ณ ์ ๋์ด ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์ฐจ๋จ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์๊ฐ์ฒด ํค๋ ์์ด ๋จ์ 0๊ฐ ์ ์ฅํ์ ์บ์คํ ์ด๋ค ์ฐธ์กฐ ํ์ ์ผ๋ก๋ ์บ์คํ ๊ฐ๋ฅ์ด๊ธฐํ ๊ธฐ๋ณธ๊ฐํด๋์ค ๋ฉค๋ฒ ๋ณ์์ ๊ฒฝ์ฐ ์๋์ผ๋ก null ์ด๊ธฐํnull..
๋ฌธ์ ๋งํฌhttps://leetcode.com/problems/invert-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 ๋ฌธ์ ์ ์ถ๋ ฅ์ ๋ ฅ: ์ด์ง ํธ๋ฆฌ์ ๋ฃจํธ(root) ๋ ธ๋์ถ๋ ฅ: ๊ฐ ๋ ธ๋์ ์์ ์ข์ฐ๋ฅผ ๋ค๋ฐ๊พผ ์ด์ง ํธ๋ฆฌ์ ๋ฃจํธ ๋ ธ๋๋ชจ๋ ๋ ธ๋์ ์ผ์ชฝ ์์๊ณผ ์ค๋ฅธ์ชฝ ์์์ ์๋ก ๊ตํํ๋ฉด ๋๋ ๋ฌธ์ ๋ค. ๋จ์ํ๊ฒ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ํํ๋ฉด์ ํด๋น ๋ ธ๋์ ์์๋ค์ swapํ๋ฉด ๋๋๋ฐ, ๋ฌธ์ ๋ฅผ ํธ๋ ๊ณผ์ ์์ ์ฌ๊ท์ ์ผ๋ก ๊ณ์ swapํด์ฃผ๋ฉด ๋๊ฒ ๋ค๋ ๊ฒ์ ์์์ง๋ง ์ฌ๊ท ํธ์ถ ์์๋ฅผ ๊น๊ฒ ์์ํ๋ฉด์ ๊ตฌํํ๋๋ฐ ์ฝ์ง์ ํด์ ๋๋ ๋ฐ๋ฅผ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ์์ 4 / \ 2 7 / \ / \1 3 6 9 ์ฌ๊ท ํธ..

Java์์ start() ๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํ๋ ์ด์ ์ run() ๋ฉ์๋ ์ง์ ํธ์ถ์ ๋ฌธ์ ์ ์ ์์๋ณด์. 1. ์ค๋ ๋ ์คํ ๋ฉ์ปค๋์ฆ์ ํต์ฌ ์ฐจ์ดstart() ๋ฉ์๋์ ์ญํ ์๋ก์ด ํธ์ถ ์คํ(Call Stack)์ ์์ฑํ์ฌ JVM์ด ํด๋น ์ค๋ ๋๋ฅผ ์ค์ผ์ค๋งํ ์ ์๋๋ก ์ค๋น ์ํ๋ก ์ ํํ๋ค. ์ด ๊ณผ์ ์์ ๋ค์ดํฐ๋ธ ๋ฉ์๋ start0()๊ฐ ํธ์ถ๋๋ฉฐ, ์ด๋ OS ์์ค์์ ์ค์ ์ค๋ ๋ ๋ฆฌ์์ค๋ฅผ ํ ๋นํ๋ ์ญํ ์ ์ํํ๋ค. run() ์ง์ ํธ์ถ์ ๋ฌธ์ ์ ํ์ฌ ์คํ ์ค์ธ ์ค๋ ๋์ ํธ์ถ ์คํ์์ ๋๊ธฐ์ ์ผ๋ก ์ฝ๋๊ฐ ์คํ๋๋ค. ์ด๋ ๋จ์ ๋ฉ์๋ ํธ์ถ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉฐ, ๋ฉํฐ์ค๋ ๋ฉ์ ํต์ฌ์ธ ๋ณ๋ ฌ ์คํ์ด ๋์ง ์๋๋ค.// ์๋ชป๋ ์ฌ์ฉ ์์Thread myThread = new MyCustomThread();myThrea..
์ค๋ ๋ ์ค๋จ์ ํ์์ฑ๊ณผ ์ํฉ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค๋ ๋๋ ์์์ ์๋นํ๋ค. ์ค๋ ๋๊ฐ ์คํ ์ค์ด์ง ์๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ปค๋ ์์์ ์ฌ์ฉํ๋ฉฐ, ์คํ ์ค์ธ ๊ฒฝ์ฐ CPU ์๊ฐ์ ํ ๋น๋ฐ๋๋ค. ์ด๋ฌํ ์์ ์๋น๋ ๋ถํ์ํ๊ฒ ์คํ๋๊ณ ์๊ฑฐ๋ ๋ ์ด์ ์์ ์ ์ํํ์ง ์๋ ์ค๋ ๋๊ฐ ์กด์ฌํ ๋ ๋ฌธ์ ๊ฐ ๋๋ค. ํนํ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์์ ์ค๋ ๋ ์ค๋จ์ด ์๊ตฌ๋๋ค.๋ถํ์ํ ๋ฆฌ์์ค ํ์: ์์ ์ ์๋ฃํ ํ์๋ ์ค๋ ๋๊ฐ ์ข ๋ฃ๋์ง ์์ ๋ฆฌ์์ค๋ฅผ ๊ณ์ ์๋นํ๋ ๊ฒฝ์ฐ, ํด๋น ์ค๋ ๋๋ฅผ ์ข ๋ฃํจ์ผ๋ก์จ ์์ ์ฌ์ฉ์ ์ต์ ํํ ์ ์๋ค.๋น์ ์ ๋์ ๋์: ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ฑฐ๋ ๋ณต์กํ ๊ณ์ฐ์ ์ํํ๋ ๋์ค, ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๋ ์๋ต์ด ์๋ ๊ฒฝ์ฐ ์ค๋ ๋๋ฅผ ์ค๋จํด ์์คํ ์ ์ฒด์ ์์ ์ฑ์ ์ ์งํ ์ ์๋ค.์ ํ๋ฆฌ์ผ์ด์ ์ข ๋ฃ ์ ์ฒ๋ฆฌ: ๋ฉ์ธ ์ค๋ ๋๊ฐ ์ข ..
Java์์๋ ์ค๋ ๋๋ฅผ ์์ฑํ๋ ๋ ๊ฐ์ง ๋ฐฉ์์ด ์๋ค.Runnable ์ธํฐํ์ด์ค ๊ตฌํ ๋ฐฉ์๋ณ๋์ Runnable ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ ์ด๋ฅผ Thread ํด๋์ค์ ์์ฑ์์ ์ ๋ฌํ์ฌ ์ค๋ ๋๋ฅผ ์์ฑํ๋ค.์ด์ ๊ฒ์๊ธ์์ ๋ค๋ฃฌ ๋ฐฉ์์ผ๋ก ์ฝ๋์ ๋ก์ง์ ๋ถ๋ฆฌํด์ ์์ฑํ ์ ์๋ค.Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์์ ์ฝ๋์ ์ค๋ ๋ฉ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ์ฌ ์์ฑํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ค๋ ๋๋ก ์คํํ ์์ ์ ์ง์คํ ์ ์๊ณ , ๋์ผํ Runnable์ ์ฌ๋ฌ ์ค๋ ๋์์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ํ ์คํธํ๊ธฐ๊ฐ ์ฉ์ดํ๋ค. ๋ํ, ์์์ ์ ์ฝ ์์ด ๋ค๋ฅธ ํด๋์ค๋ฅผ ์์๋ฐ์ ์ ์๋ค๋ ์ ๋ ํฐ ์ด์ ์ด๋ค. Thread ํด๋์ค๋ฅผ ์์๋ฐ๋ ๋ฐฉ์Thread ํด๋์ค ์์ฒด๊ฐ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์์ผ๋ฏ๋ก, ์ด๋ฅผ ์์ํ์ฌ run()..

1. ๋ฉํฐ์ค๋ ๋ฉ์ ๊ฐ๋ ๋ฉํฐ์ค๋ ๋ฉ์ ํ๋์ ํ๋ก๊ทธ๋จ ๋ด์์ ์ฌ๋ฌ ์์ ์ ๋์์ ์คํํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ค. Java์์๋ Thread ํด๋์ค์ Runnable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด ๋ฉํฐ์ค๋ ๋๋ฅผ ๊ตฌํํ ์ ์๋ค.์ค๋ ๋๋ฅผ ํ์ฉํ๋ฉด CPU ์์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฐ ์๋ต์ฑ์ ๋์ผ ์ ์๋ค.2. ์๋ก์ด ์ค๋ ๋ ์์ฑํ๊ธฐJava์์ ์๋ก์ด ์ค๋ ๋๋ฅผ ์์ฑํ๋ ค๋ฉด ๋จผ์ Thread ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ๋ค. ์์ฑ์์ Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ์ ๋ฌํ๊ณ , Runnable ์ธํฐํ์ด์ค์ run() ๋ฉ์๋์ ์ค๋ ๋๊ฐ ์คํํ ๋ก์ง์ ์์ฑํ ์ ์๋ค.Thread thread = new Thread(new Runnable() { @Override public void run() { ..
1. ๋ฉํฐ์ค๋ ๋ฉ์ด ํ์ํ ์ด์ ๋ฉํฐ์ค๋ ๋ฉ์ด ํ์ํ ์ฃผ์ ์ด์ ๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ์๋ต์ฑ(Responsiveness)๊ณผ ์ฑ๋ฅ(Performance)์ด๋ค.1.1. ์๋ต์ฑ(Responsiveness)์ฌ์ฉ์ ๊ฒฝํ ์ธก๋ฉด์์ ์๋ต์ฑ์ ์ํํธ์จ์ด ํ์ง์ ๊ฒฐ์ ํ๋ ํต์ฌ ์์์ด๋ค.์ฌ๋ก 1: ์จ๋ผ์ธ ์ผํ๋ชฐ์์ ๋๋ ๊ตฌ๋งค ์์ฒญ์ด DB ์์ ์ ์ง์ฐ์ํฌ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ฒญ์ด ์ฐจ๋จ๋จ → ๋ฉํฐ์ค๋ ๋ฉ์ผ๋ก ๊ฐ ์์ฒญ์ ๋ณ๋ ์ค๋ ๋์์ ์ฒ๋ฆฌํ๋ฉด ๋์ ์๋ต ๊ฐ๋ฅ์ฌ๋ก 2: ๋์์ ์ฌ์ ์ฑ๋ฉ์ธ ์ค๋ ๋: UI ์ด๋ฒคํธ ์ฒ๋ฆฌ์์ปค ์ค๋ ๋: ๋ฏธ๋์ด ๋์ฝ๋ฉ ๋ฐ ์ถ๋ ฅ → ์ฌ์ฉ์ ์ธํฐ๋์ ์ง์ฐ ์๋ ๋ถ๋๋ฌ์ด ๊ฒฝํ ์ ๊ณต์ด๋ฌํ ๋์์ฑ(Concurrency)์ ๋ฉํฐ์ค๋ ๋ฉ์ ํตํด ๊ตฌํํ ์ ์์ผ๋ฉฐ, ์ฌ์ง์ด ๋จ์ผ ์ฝ์ด์์๋ ๊ฐ๋ฅํ๋ค.1.2. ์ฑ๋ฅ(Performa..
์ด์ง ํ์์ ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋งค ๋ฐ๋ณต๋ง๋ค ๊ฒ์ ๋ฒ์๋ฅผ ๋ฐ์ผ๋ก ์ค์ด๋ ๊ณผ์ ์์ ์ค๊ฐ ์ธ๋ฑ์ค(mid)๋ฅผ ๊ณ์ฐ์ ๋จ์ํ๊ฒ (left + right) / 2๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋ฒํ๋ก์ฐ์ ์ํ์ด ์กด์ฌํ๋ค.๊ฒฐ๋ก ๋ง ๋จผ์ ๋งํ๋ฉด, int mid = left + (right - left) / 2; ๋ฐฉ์์ ๊ถ์ฅํ๋ค.1. ๊ธฐ๋ณธ์ ์ธ ์ค๊ฐ ์ธ๋ฑ์ค mid ๊ณ์ฐ ๋ฐฉ์์ด์ง ํ์์์๋ ๊ฒ์ ๋ฒ์์ ์ ๋ ์ธ๋ฑ์ค์ธ left์ right๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ฐ ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋ค.int mid = (left + right) / 2; ์ด ๋ฐฉ์์ ๊ฐ๋จํ์ง๋ง, left์ right๊ฐ ๋งค์ฐ ํฐ ๊ฐ์ผ ๊ฒฝ์ฐ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค.2. ์ค๋ฒํ๋ก์ฐ์ค๋ฒํ๋ก์ฐ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ณ์์ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๋ฒ์๋ฅผ ์ด๊ณผํ์ฌ ..

HashSet์ Java Collections Framework์ ํต์ฌ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ก, ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์งํฉ(Set) ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋ค. 1. HashSet์ ์ฃผ์ ํน์ง์ค๋ณต ์์๋ฅผ ํ์ฉํ์ง ์์ : ๋ฐ์ดํฐ ๋๋ฑ์ฑ ํ์ธ์ ์ํ equals(), hashCode() ๋ฉ์๋ ํ์์์๋ฅผ ๋ณด์ฅํ์ง ์์ : ์ธ๋ฑ์ค๊ฐ ๋งค๊ฐ ๋ณ์๋ก ๋์ด๊ฐ๋ ๋ฉ์๋(get(int index), indexOf(Object o) ๋ฑ)์ด ์์null ์์ ํ์ฉ ๋น๋๊ธฐ(non-synchronized) ๊ตฌํO(1) ์๊ฐ ๋ณต์ก๋์ ๊ธฐ๋ณธ ์ฐ์ฐ2. ๋ด๋ถ ๊ตฌ์กฐ 2-1) ์ฃผ์ ํ๋์์ ์ฝ๋์์ ๋ณผ ์ ์๋ฏ์ด HashSet์ ๋ด๋ถ์ ์ผ๋ก HashMap์ ์ฌ์ฉํ์ฌ ๊ตฌํํ๋ค.HashSet์ ์์๋ค์ HashMap์ key๋ก ์ ์ฅํ๋ค.๋ชจ๋ ๊ฐ์ ๋..