๋ณดํธ๋์ด ์๋ ๊ธ์
๋๋ค.
๐ ์ฐ์ํํ ํฌ์ฝ์ค 5๊ธฐ

๐ค ์๋ก ์๋ธ์ฟผ๋ฆฌ๋ ๋์ฒด๋ก ์ฑ๋ฅ์ด ๋๋ฆฌ๋ฏ๋ก ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ฑ๋ฅ๋ฟ๋ง ์๋๋ผ ๊ฐ๋
์ฑ์ ํด์ณ ์ ์ง๋ณด์์ ์ธก๋ฉด์์๋ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ผ์น ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ์ด๋ฒ์๋ ์ ํฌ ์
๋ฝ์ ํ์์ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉฐ, ์ด๋ ํ ๋ฌธ์ ์ ์ด ์๋์ง ํ์
ํ๊ณ ์ด๋ฅผ ๊ฐ์ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๐ค ํ์ฌ ์ํฉ ์ ํฌ๋ ์์์ ๋ค์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค ๋, ํด๋น ์์์ ์ ๋ฌ๋ฆฐ ์ข์์์ ๊ฐ์์, ๋ง์ฝ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ํ ์ํ๋ผ๋ฉด ํด๋น ์ฌ์ฉ์๊ฐ ํน์ ์์์ ์ ์ข์์ ํ๋์ง์ ๋ํ ์ฌ๋ถ๋ฅผ ํจ๊ป ๋ณด์ฌ์ค๋๋ค. ์ด๋ฅผ ์ํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑ๋์ด ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ํ๋ ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ์ฟผ๋ฆฌ์ ๋ฌธ์ ์ ์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ๋
์ฑ์ ์ธก๋ฉด์์๋ ์๋ธ์ฟผ๋ฆฌ๋ก ์ธํด ์ฟผ๋ฆฌ์ ๊ธธ์ด๊ฐ ๋ง์ด ๊ธธ์ด์ง๊ณ , ๊ฐ๊ฐ์ ์๋ธ์ฟผ..

๐ค ์๋ก ์งํ์ค์ธ ์
๋ฝ์ ํ๋ก์ ํธ๊ฐ ์ด์ ์ง์ ๋จ๊ณ๊น์ง ์ง์
ํ๋๋ฐ์, ์ ๋ง ์ฌ์ฉ์๋ค์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ ์ ์ฌ๊ฐํ๊ฒ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ ๋ถ๋ถ๋ค์ ๋ํด์๋ ์์ ์ด ๋์ด์ผ ์์ ํ๊ฒ ๋ฐฐํฌํ ์ ์๋ค๊ณ ํ๋จํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , ์ฌ๋ฌ ๋ฌธ์ ๋ค ์ค ๊ฐ์ฅ ๋จผ์ ๋์ ๋ค์ด์จ ๋ฌธ์ ๋ ๋ฐ๋ก ์ฟผ๋ฆฌ์์ต๋๋ค. ์ ํฌ๋ ์ฟผ๋ฆฌ์ ๋ฐ์ ํ์๋ฅผ ๋ก๊น
ํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์๊ณ , ์ด๋ฅผ ํตํด ์ฟผ๋ฆฌ๊ฐ ํน์ ํ์ ์ด์์ผ๋ก ๋ฐ์ํ๋ฉด ๊ฒฝ๋ก ๋ก๊ทธ๋ฅผ ์ฐ์ด์ฃผ๋๋ก ํ์์ต๋๋ค. 4์ฐจ ๋ฐ๋ชจ๋ฐ์ด ๋, ๊ทธ๋ฌ๋๊น ์ฐํ
์ฝ ํฌ๋ฃจ๋ค์ ๋์์ผ๋ก ์๋น์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๊ณต๊ฐํ์ ๋น์ ์๋ฒ์ ๋ก๊ทธ๋ฅผ ํ์ธํด๋ณด๋ ์ฟผ๋ฆฌ๊ฐ 130๋ฒ๊น์ง ์ฐํ์๋ ๊ฒ์ ํ์ธํ์ต๋๋ค. (์ง์ง ์๊ฐ ์๋ชป๋ณธ๊ฑด๊ฐ ์ถ์...) ๊ธฐ๋ณธ 20~30๋ฒ์ ์ฐ์ต๊ณ 90๋ฒ, 100๋ฒ์ด ๋์ด๊ฐ๋ ์ฟผ๋ฆฌ๋ค์ด ๋ฐฅ๋จน๋ฏ์ด ๋ฐ์ํ๋๋ฐ์, ๊ทธ๋ ..

๐ค ํฐ์บฃ ์ค์ ํ๊ธฐ ํฐ์บฃ์๋ ๊ณต์ ๋ฌธ์์ ๋์์๋ ๊ฒ๊ณผ ๊ฐ์ด ์ฌ๋ฌ ์์ฑ๋ค์ด ์กด์ฌํ๋ฉฐ ์ด ๊ฐ๋ค์ ์ ์ ํ๊ฒ ์ธํ
ํ ์ ์๋๋ก ์ ๊ณตํฉ๋๋ค. ์ด๋ ๋ช๋ช ์์ฑ๋ค์ ์ด๋ป๊ฒ ์ค์ ์ ๋ฐ๋ผ ์๋ฒ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์๋๋ฐ๋ด, ์ด๋ฒ ๊ธ์์๋ ์ด๋ฌํ ์์ฑ๋ค์ ๋ํด์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์์๋ณผ ์์ฑ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. maxThreads maxConnections acceptCount ๐ค maxThreads ํฐ์บฃ ๋ด์์์ ์ฐ๋ ๋ ํ์ ์์ฑ๋ ์ฐ๋ ๋์ ์ต๋ ๊ฐ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ Connector์์ ์์ฑํ ์ต๋ ์์ฒญ ์ฒ๋ฆฌ ์ค๋ ๋ ์๋ก, ์ด๋ฅผ ํตํด ์ฒ๋ฆฌํ ์ ์๋ ์ต๋ ๋์ ์์ฒญ ์๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 200์
๋๋ค. ๐ค maxConnections ์๋ฒ๊ฐ ์ฃผ์ด์ง ์๊ฐ์ ์๋ฝํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ์ต๋ Connecti..

๐ค HTTP Cache ์บ์ฑ์ ํ ๋ฒ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์๋ค๊ฐ ์ดํ ํด๋น ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ฌํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค. ์น ์ฌ์ดํธ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ๋ฑ)๊ฐ ์น ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด, ์น ์๋ฒ์์ HTML, CSS, JS ํ์ผ ๋ฑ์ ๋ฐํํ๋ ์์ผ๋ก ๋์ํฉ๋๋ค. ์น ์ฌ์ดํธ์ ์
๋ฐ์ดํธ๋ ๋์ฒด๋ก ์์ฃผ ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก ํ๋ฒ ๋ฐ์์จ HTML, CSS, JS๊ฐ์ ์ ์ ํ์ผ๋ค์ ์บ์ฑํด๋ ๋ค ์ฌ์ฌ์ฉํ๋ค๋ฉด, ์ดํ ์ค๋ซ๋์ ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ก์ด ์ฌ๋ผ์ง์ผ๋ก์จ ๋น ๋ฅธ ์๋ต์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฐ๊ตญ ์ธ์ ๊ฐ๋ ์ด๋ฌํ ๋ฆฌ์์ค๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก, ๋ฆฌ์์ค๊ฐ ๋ณํ๊ธฐ ์ ๊น์ง๋ง ์บ์ฑํ๊ณ ๋ณํ ์ดํ์๋ ๋์ด์ ์บ์ฑํ์ง ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ด๋ฌํ ์บ์ฑ ๋ฐฉ๋ฒ๊ณผ, ๋ฆฌ์์ค์ ์
..

๐ค ์น ์ฌ์ดํธ์ ์๋๋ ์ ์ค์ํ๊ฐ ์น ์ฌ์ดํธ์ ์๋๊ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ ์ฌ์ฉ์์๊ฒ ์๋ต์ด ๋น ๋ฅธ ์๋๋ก ์ ๊ณต๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ต์ด ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ฒ ์ ๊ณต๋๋ ๋งํผ ์ฌ์ฉ์ ๊ฒฝํ์ ์ข์์ง ๊ฒ์ด๊ณ , ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ํด๋น ์น ์๋น์ค๋ฅผ ๊ณ์ํด์ ์ฌ์ฉํ ํ๋ฅ ์ด ๋์์ง๋๋ค. ์น ์ฌ์ดํธ์ ์ฑ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ ์งํ๋ค์ ์ข์ฐํฉ๋๋ค. ์ฌ์ฉ์ ์ ์ง ์ฌ์ฉ์ ์ ํ๋ฅ ํฅ์ ์ฌ์ฉ์ ๊ฒฝํ ๐ค ์น ์ฌ์ดํธ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ์๋ง SQL ์ฟผ๋ฆฌ๋ฅผ ํ๋ํ๊ฑฐ๋, ์์ฃผ ์ฌ์ฉ๋๋ ์กฐํ ์ฟผ๋ฆฌ์ ๋ํ ์บ์๋ฅผ ์ ์ฉํ๋ ๋ฑ, ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์๊ฐํ ์ ์์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค๋ณด๋ค ๋ ์ ์ ๋ฆฌ์์ค ํฌ์๋ฅผ ํตํด ํฐ ์ฑ๋ฅ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋๋ฐ์, ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. HTTP ์์ถ HTTP ์บ์ฑ ๐ค HTTP..

๐ค Class.getResource() ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ Class ํด๋์ค์ getResource() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ฃผ์์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Finds a resource with a given name. If this class is in a named Module then this method will attempt to find the resource in the module. This is done by delegating to the module's class loader findResource(String,String) method, invoking it with the module name and the absolute name of the resource. Resourc..

๐ค ์คํธ๋ฆผ(Stream) ์ด๋? ์คํธ๋ฆผ์ด๋ ๋ฐ์ดํฐ์ ํ๋ฆ์ ์๋ฏธํฉ๋๋ค. ์ดํดํ๊ธฐ ์ฝ๊ฒ ์๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ๋ฉ๋ชจ์ฅ์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ๋กํ๊ธฐ ์ํด ํค๋ณด๋๋ก ์
๋ ฅ์ ํ๋ ์ํฉ์์๋ ์คํธ๋ฆผ์ด ๋ฐ์ํฉ๋๋ค. ํค๋ณด๋์์ ๋ฉ๋ชจ์ฅ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํ๋ฅด๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด๋ฒ์๋ ์ฝ๋๋ฅผ ํตํด ํ ๊ฐ์ง ์์๋ฅผ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. import java.util.Scanner; public class Main { private static Scanner sc = new Scanner(System.in); public static void main(String[] args) { String input = sc.nextLine(); System.out.println(input); } } ์ ์ฝ๋๋ฅผ ์คํํ๊ณ "๋ง๋"์ ์
๋ ฅํด ๋ณด๋ฉด ๋ค์๊ณผ ..