๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (32) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์ฑ๊ธํค ํจํด(Singleton pattern) ์ฑ๊ธํค ํจํด (์์ฑํจํด) ํ๋์ ํด๋์ค์ ์ค์ง ํ๋์ ์ธ์คํด์ค๋ง ๊ฐ์ง๋ ํจํด ์๋ฐ๋ ํ๋์ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๊ฐ๋ณ์ ์ธ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ง๋ง, ์ฑ๊ธํค ํจํด์์๋ ํ๋์ ํด๋์ค์ ๋จ ํ๋์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก์ง์ ๋ง๋๋ ๋ฐ ์ฐ์ด๋ฉฐ, DB ์ฐ๊ฒฐ ๋ชจ๋์ ๋ง์ด ์ฌ์ฉํ๋ค. ์ฅ์ ํ๋์ ์ธ์คํด๋๋ฅผ ๋ค๋ฅธ ๋ชจ๋๋ค์ด ๊ณต์ ํ๋ฉฐ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ๋๋ ๋น์ฉ์ด ์ค์ด๋ ๋ค. ํด๋์ค๊ฐ์ ๋ฐ์ดํฐ ๊ณต์ ๊ฐ ์ฝ๋ค. ๋จ์ ์์กด์ฑ์ด ๋์์ง๋ค. ๋ชจ๋ ๊ฐ ๊ฒฐํฉ์ด ๊ฐํ๋ค. TDD๊ฐ ์ด๋ ต๋ค. ์ฑ๊ธํค ํจํด์ TDD(Test Driven Development)๋ฅผ ํ๊ธฐ ํ๋ค๋ค. TDD๋ฅผ ํ ๋ ๋จ์ ํ ์คํธ๋ฅผ ์ฃผ๋ก ํ๋๋ฐ, ๋จ์ ํ ์คํธ๋ ํ ์คํธ๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ด์ด์ผ ํ๋ฉฐ ํ ์คํธ๋ฅผ ์ด๋ค ์์๋ก๋ ์คํํ ์ ์.. 2022๋ ํ๊ณ (feat. SSAFY) ๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค. ๋ฒกํฐ, ์คํ, ํ ๋ฒกํฐ ๋ฒกํฐ๋ ๋์ ์ผ๋ก ์์๋ฅผ ํ ๋นํ ์ ์๋ ๋์ ๋ฐฐ์ด์ด๋ค. ์ค๋ณต์ ํ์ฉํ๋ค. ์์๊ฐ ์๋ค. ๋๋ค ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ์๊ฐ ๋ณต์ก๋ ํ์ O(1) ๋งจ ๋ค์ ์์ ์ญ์ O(1) ๋งจ ๋ค์ ์์ ์ฝ์ O(1) ๊ทธ ์ธ ์์ ์ญ์ O(n) ๊ทธ ์ธ ์์ ์ฝ์ O(n) push_back O(1) push_back (C++) : ๋ฒกํฐ ๋์ ์์๋ฅผ ์ถ๊ฐํ๋ค. #include #include using namespace std; int main() { vector myvector; int myint; cout > myint; myvector.push_back(myint); } while (myint); cout O(1)) ํ๋ฉฐ, ๋ฐฐ์ด์ด ๋ชจ๋ ๊ฝ ์ฐผ์ ๊ฒฝ์ฐ ํ์ฌ ํฌ๊ธฐ์ 2๋ฐฐ์ ๋ฐฐ์ด์ allocate ํ์ฌ ์๋ก์ด ๊ณต๊ฐ์ผ๋ก ๊ฐ์ .. [DB] ์ธ๋ฑ์ค์ ์กฐ์ธ ์ธ๋ฑ์ค์ ํ์์ฑ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ ํ๋์ ์ฅ์น์ด๋ค. ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ฉด ํ ์ด๋ธ ์์ ๋ด๊ฐ ์ฐพ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค. B-ํธ๋ฆฌ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ์ผ์ข ์ผ๋ก, ์ด์ง ํธ๋ฆฌ๋ฅผ ํ์ฅํด ํ๋์ ๋ ธ๋๊ฐ ๊ฐ์ง ์ ์๋ ์์ ๋ ธ๋์ ์ต๋ ์ซ์๊ฐ 2๋ณด๋ค ํฐ ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค B-ํธ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ๋ ๋ฃจํธ ๋ ธ๋, ๋ฆฌํ ๋ ธ๋, ๋ธ๋์น ๋ ธ๋๋ก ๋๋๋ค. ํธ๋ฆฌ ํ์์ ๋งจ ์ ๋ฃจํธ ๋ ธ๋๋ถํฐ ํ์์ด ์ผ์ด๋๋ฉฐ ๋ธ๋์น ๋ ธ๋๋ฅผ ๊ฑฐ์ณ ๋ฆฌํ ๋ ธ๋๊น์ง ๋ด๋ ค์จ๋ค. ๋ฐ์ดํฐ ํฌ์ธํฐ๋ฅผ ํตํด ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ค. ์ธ๋ฑ์ค๊ฐ ํจ์จ์ ์ธ ์ด์ ์ ๋์ํ์ฅ์ฑ ์ธ๋ฑ์ค๊ฐ ํจ์จ์ ์ธ ์ด์ ๋ ํจ์จ์ ์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๋ชจ๋ ์์์ ์ ๊ทผํ ์ ์๋ ๊ท ํ ์กํ ํธ๋ฆฌ ๊ตฌ์กฐ์ ํธ๋ฆฌ ๊น์ด์ ๋์ํ์ฅ์ฑ ๋๋ฌธ์ด๋ค. * ๋์ํ์ฅ์ฑ : ํธ๋ฆฌ ๊น์ด๊ฐ ๋ฆฌํ ๋ ธ๋ ์์ ๋นํด.. API ๋ถ๋ฆฌ์ ํ๋ผ๋ฏธํฐ API ๋ถ๋ฆฌ ๊ณตํต์ผ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ํ ๋ ํจํค์ง๋ ๊ตฌ์ฑ๋จ์๋ก ๋ง์ด ํ๋ค. API์ ํ๋ฉด์ ๊ณตํต ์ฒ๋ฆฌํด์ผํ ์์๊ฐ ๋ค๋ฅด๋ค. ⇒ ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ์ Post๋ฐฉ์ API ์์ฑ 1๋ฒ ๋ฐฉ์ @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member){ Long id = memberService.join(member); return new CreateMemberResponse(id); } API ์คํ์ ์ํ ๋ณ๋์ DTO๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. ๋ณ๋์ ํด๋์ค๋ฅผ ์ ๋ง๋ค์ด๋ ๋๋ ํธํ ๊ฒ ๊ฐ์ง๋ง ์ธ๋ถ์์ ์ค๋ json์ ๋ฐ์ธ๋ฉ ๋ฐ์์ฐ๋ฉด ๋์ค์ ํฐ ์ฅ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ๐ก API๋ฅผ ๋ง๋ค ๋๋ E.. ์ด์์ฒด์ ์ ์ปดํจํฐ [OS] SECTION 3.1 ์ด์์ฒด์ ์ ์ปดํจํฐ OS๋ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฝ๊ฒ ๋ค๋ฃจ๊ฒ ํด์ฃผ๋ ์ธํฐํ์ด์ค์ด๋ค. OS๋ ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐํ๋ค. ์ด์์ฒด์ ↔ ํ์จ์ด (ํ๋์จ์ด์ ์ ์ด์ ๊ตฌ๋์ ๋ด๋นํ๋ OS) 3.1 ์ด์์ฒด์ ์ ์ปดํจํฐ 3.1.1 ์ด์์ฒด์ ์ ์ญํ ๊ณผ ๊ตฌ์กฐ ์ด์์ฒด์ ์ ์ญํ CPU ์ค์ผ์ค๋ง๊ณผ ํ๋ก์ธ์ค ๊ด๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋์คํฌ ํ์ผ ๊ด๋ฆฌ I/O ๋๋ฐ์ด์ค ๊ด๋ฆฌ ์์คํ ์์ ๊ด๋ฆฌ, ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ์ ์ปค๋ฎค๋์ผ์ด์ ์ง์, ์ด์์ฒด์ ์ ๊ตฌ์กฐ GUI : ์ฌ์ฉ์๊ฐ ์ ์์ฅ์น์ ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ํ ํํ ๋ฆฌ๋ ์ค ์๋ฒ : GUI๊ฐ ์๊ณ CUI๋ง ์์ * CUI : ๊ทธ๋ํฝ์ด ์๋ ๋ช ๋ น์ด๋ก ์ฒ๋ฆฌํ๋ ์ธํฐํ์ด์ค CUI๋ ์๋๊ฐ ๋น ๋ฅด๊ณ ๋ฆฌ์์ค๋ฅผ ์ ๊ฒ ์ฌ์ฉํ๋ค. ํ์ง๋ง ํธ.. Network๊ธฐ๊ธฐ & IP ์ฃผ์ [Network] SECTION 2.3 ๋คํธ์ํฌ ๊ธฐ๊ธฐ 2.3.1 ๋คํธ์ํฌ ๊ธฐ๊ธฐ์ ์ฒ๋ฆฌ ๋ฒ์ ๋คํธ์ํฌ ๊ธฐ๊ธฐ๋ ๊ณ์ธต์ ๋ฐ๋ผ ์ฒ๋ฆฌ ๋ฒ์๋ฅผ ๋๋ ์ ์๋ค. ์์ ๊ณ์ธต์ ์ฒ๋ฆฌํ๋ ๊ธฐ๊ธฐ๋ ํ์ ๊ณ์ธต์ ์ฒ๋ฆฌํ ์ ์๋ค. (์ญ์ ๋ถ๊ฐํ๋ค) ๊ณ์ธต๊ธฐ๊ธฐ ์ ํ๋ฆฌ์ผ์ด์ L7 ์ค์์น ์ธํฐ๋ท ๋ผ์ฐํฐ, L3 ์ค์์น ๋ฐ์ดํฐ ๋งํฌ L2 ์ค์์น, ๋ธ๋ฆฌ์ง ๋ฌผ๋ฆฌ NIC, ๋ฆฌํผํฐ, AP 2.3.2 ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ์ฒ๋ฆฌํ๋ ๊ธฐ๊ธฐ L7 ์ค์์น(=๋ก๋๋ฐธ๋ฐ์) ์๋ฒ์ ๋ถํ๋ฅผ ๋ถ์ฐํ๋ ๊ธฐ๊ธฐ์ด๋ค. (ํธ๋ํฝ ๋ถ์ฐ) ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์ค๋ ์์ฒญ๋ค์ ๋ค์ชฝ์ ์ฌ๋ฌ ์๋ฒ๋ก ๋๋๋ ์ญํ ์ ํ๋ค. ์์คํ ์ด ์ฒ๋ฆฌํ ์ ์๋ ํธ๋ํฝ ์ฆ๊ฐ๋ฅผ ๋ชฉํ๋ก ํ๋ค. ๋ถํ์ํ ์ธ๋ถ ๋ฐ์ดํฐ ๋ฑ์ ๊ฑธ๋ฌ๋ด๋ ํํฐ๋ง ๊ธฐ๋ฅ๋ ํ ์ ์๋ค. (๋ชจ๋ํฐ๋ง) ์ ๊ธฐ์ ์ผ๋ก ํฌ์ค ์ฒดํฌ๋ฅผ ์ด์ฉํ์ฌ ์ฅ์ ๊ฐ.. CS ์คํฐ๋ ์์ SSAFY ๋๊ธฐ๋ค๊ณผ CS ์คํฐ๋๋ฅผ ์์ํ์๋ค. ์๋ฐ๊ธฐ ๊ณต์ฑ๊ฐ ์งํ๋๋ 3~4์๊น์ง ์ฑ 1~2๊ถ ์๋ ์ ๋ชฉํ๋ก ๊ณต๋ถํ๊ณ ๊ฐ์ ํ์ตํ ๋ด์ฉ์ ๊ฐ์ธ ๋ธ๋ก๊ทธ๋ Notion์ ๊ธฐ๋กํ๊ณ ๋ฐํํ๊ธฐ๋ก ํ์๋ค. ์ฑ ์ ์ฃผํ์ฒ ์ ์์ '๋ฉด์ ์ ์ํ CS ์ ๊ณต์ง์ ๋ ธํธ' ๋ก ์ ํ์๋ค. ๐ฅ (2022.12.14 ~ ing) GitHub - Leeh9/myeonbu-CS: ๋ฉด์ ๋ถ์๋ CS ์คํฐ๋ ๋ฉด์ ๋ถ์๋ CS ์คํฐ๋. Contribute to Leeh9/myeonbu-CS development by creating an account on GitHub. github.com ์ด์ 1 2 3 4 ๋ค์