๋ชฉ๋ก์ ์ฒด ๊ธ (162)
EEALL@ONCE
์ธ์คํด์ค๋ ๋ถ์ด๋นต์ด๋ค. ์ธ์คํด์ค๋ ์ฐ๋ฅด์ค๋ค. ์ธ์คํด์ค๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์์ ์ฌ์ฉ๋๋ ์ค์ํ ๊ฐ๋ ์ ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ค์ ์ธ๊ณ์ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ๋งํ๊ณ ํด๋น ๊ฐ์ฒด ๊ฐ ์ํธ ์์ฉ์ ๋ชจ๋ฐฉํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ธ์คํด์ค๋ ํด๋์ค์ ์ค์ ๊ตฌ์ฒด์ ์ธ ์ฌ๋ก๋ ๊ฐ์ฒด๋ฅผ ๋ํ๋ ๋๋ค. ํด๋์ค๋ ์ผ์ข ์ ์ค๊ณ ๋๋ฉด์ด๋ฉฐ, ํด๋์ค์ ์์ฑ(๋ณ์)๊ณผ ๋ฉ์๋(ํจ์)๋ฅผ ์ ์ํฉ๋๋ค. ์ด ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ฐ์์ ํด๋์ค '์๋์ฐจ'๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ '์๋์ฐจ' ํด๋์ค์ ์ฌ๋ฌ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ฐ ์ธ์คํด์ค๋ ์๋ก ๋ค๋ฅธ ์๋์ฐจ๋ฅผ ๋ํ๋ ๋๋ค. ์ด๋ฌํ ์ธ์คํด์ค๋ ํด๋์ค์์ ์ ์ํ ์์ฑ(์์, ๋ชจ๋ธ, ์๋ ๋ฑ)๊ณผ ๋ฉ์๋(์ด์ , ..
ํ์ ์์ System.out.println ๋์ ๋ก๊น ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์๋์ ๊ฐ๋ค. ๋ก๊ทธ ๋ ๋ฒจ ๊ด๋ฆฌ: ๋ก๊น ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๋ค์ํ ๋ ๋ฒจ๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก DEBUG, INFO, WARN, ERROR, ๋ฑ์ ๋ ๋ฒจ๋ก ๋ก๊ทธ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ด๋ค ์ข ๋ฅ์ ๋ฉ์์ง๊ฐ ์ด๋ค ์กฐ๊ฑด์์ ๋ฐ์ํ๋์ง ๋ช ํํ๊ฒ ํ์ ํ ์ ์์ต๋๋ค. ๋์ ์ค์ : ๋ก๊น ๋ ๋ฒจ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ด์ ํ๋ก๊ทธ๋จ์ ๋ฐํ์์ ๋ก๊น ๋ ๋ฒจ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ ๋๋ฒ๊น ์์ ์ ์ฉํ๋ฉฐ, ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ก๊ทธ ์์ค์ ๋์ด๊ฑฐ๋ ๋ฎ์ถ ์ ์์ต๋๋ค. ๋ก๊น ์์น ์ค์ : ๋ก๊ทธ๋ฅผ ํ์ผ, ์ฝ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ์ฌ๋ฌ ์์น์ ์ถ๋ ฅํ ์ ์์ต๋๋ค. ์ด๋ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ค์ ์ง์คํํ๊ฑฐ๋, ๋ณด์์ ๊ฐํํ๊ฑฐ๋, ๋ชจ๋ํฐ๋ง ๋ฐ ..
setting -> gradle -> build and run using / run tests using ๋ถ๋ถ์ gradle์์ intellij IDEA๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ์คํ ์๋๊ฐ ๊ฐ์ ์ด ๋๋ค. gradle์ ํตํด์ ์คํ๋์ง ์๊ณ ์ธํ ๋ฆฌ์ ์ด๋ก ๋ฐ๋ก ์คํ์ด ๋๋ค.
๋คํธ์ํฌ, ํ๋์จ์ด, ์ํํธ์จ์ด, ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต๋ถํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ์ฃผ์ ์ง์์ ์๊ณ ์์ด์ผ ํฉ๋๋ค. ์๋๋ ๊ฐ ๊ตฌ์ฑ ์์๋ณ๋ก ๋ฌด์์ ๊ณต๋ถํด์ผ ํ๋์ง ์ค๋ช ํฉ๋๋ค: 1. **ํ๋์จ์ด**: - **์๋ฒ**: ์๋ฒ์ ์ข ๋ฅ์ ์ญํ , ํ๋์จ์ด ์ฌ์ ๋ฐ ์ฑ๋ฅ ์ต์ ํ์ ๋ํ ์ดํด. - **์คํ ๋ฆฌ์ง ์ฅ์น**: ์ ์ฅ ์ฅ์น์ ์ข ๋ฅ (ํ๋ ๋์คํฌ, SSD ๋ฑ) ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ. - **๋คํธ์ํฌ ์ฅ๋น**: ๋ผ์ฐํฐ, ์ค์์น, ๋ฐฉํ๋ฒฝ ๋ฑ ๋คํธ์ํฌ ์ฅ๋น์ ์ญํ ๋ฐ ๊ตฌ์ฑ. - **๋ฌผ๋ฆฌ์ ์ฐ๊ฒฐ**: ์ผ์ด๋ธ ๋ฐ ํฌํธ์ ์ข ๋ฅ, ์ฐ๊ฒฐ ๋ฐฉ๋ฒ, ์ผ์ด๋ธ ๊ด๋ฆฌ. - **ํ๋์จ์ด ๊ฐ์ํ**: ๊ฐ์ํ ๊ธฐ์ ๊ณผ ๊ฐ์ ์๋ฒ์ ๊ฐ๋ , ๊ฐ์ ๋จธ์ ๊ด๋ฆฌ. 2. **๋คํธ์ํฌ**: - **๋คํธ์ํฌ ํ๋กํ ์ฝ**: TCP/IP ํ๋กํ ์ฝ ์ค์ํธ,..
SQL ์ฟผ๋ฆฌ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค. "Every derived table must have its own alias"๋ผ๋ ์ค๋ฅ๋ ์๋ธ์ฟผ๋ฆฌ(derived table)์ ๋ณ์นญ(alias)๋ฅผ ์ง์ ํด์ผ ํ๋ค๋ ์๋ฏธ์ ๋๋ค.
ํด๋น ์์ ๋ง์ง๋ง ์ผ ๊ฐ์ ธ์ค๋ ์ฟผ๋ฆฌ : LAST_DAY SELECT * FROM tb_rmny WHERE pay_day BETWEEN '2023-05-01' AND LAST_DAY('2023-05-01');
`SUM` ํจ์๋ ์ฃผ์ด์ง ์ด์ ๊ฐ๋ค์ ๋ํ๋ ํจ์์ด๋ฉฐ, `NULL` ๊ฐ์ ๋ฌด์ํฉ๋๋ค. ๋ฐ๋ผ์ `SUM` ํจ์๋ฅผ ์ฌ์ฉํ ๋ `NULL` ๊ฐ์ด ํฌํจ๋์ด ์์ด๋ ๋ฌธ์ ์์ด ๋ง์ ์ด ์ํ๋ฉ๋๋ค. ์ด๋ ๊ฒ ๋์ํ๋ ๊ฒ์ด `SUM` ํจ์์ ๊ธฐ๋ณธ ๋์ ๋ฐฉ์์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค: ์ด ํ ์ด๋ธ์์ `amount` ์ด์ ํฉ๊ณ๋ฅผ ๊ณ์ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฉ๋๋ค: `NULL` ๊ฐ์ ๋ฌด์๋๊ณ ๋๋จธ์ง ๊ฐ๋ค๋ง ํฉ์ฐ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ฒฐ๊ณผ์ ์ผ๋ก `amount` ์ด์ ํฉ๊ณ๋ 300์ด ๋ฉ๋๋ค. `SUM` ํจ์๋ ๋ฐ์ดํฐ ์ง๊ณ ํจ์ ์ค ํ๋๋ก, ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ฐ๋ผ ํน์ ์ด์ ๊ฐ์ ํฉ์ฐํ๋ ๋ฐ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ด ํจ์๋ฅผ ์ฌ์ฉํ ๋ `NULL` ๊ฐ์ ๋ํ ์ฒ๋ฆฌ์ ๋ํด ๊ฑฑ์ ํ์ง ์์๋ ๋ฉ๋๋ค.
import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class FTPUploader { public static boolean uploadFile(String server, int port, String username, String password, String remoteDirectory, String remoteFileName, String localFilePath) { FTPClient ftpClient = new FTPClient(..