โ๏ธ ์ด๋ก
[๋์์ธํจํด] GoF์ ๋์์ธ ํจํด ์์ฝ
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
HTTP ์๋ฒ ์๋ต ์ฝ๋ (Response Code) ์ ๋ฆฌ_2(100๋ฒ~500๋ฒ)
HTTP ์ํ ์ฝ๋ HTTP ์๋ต ์ํ ์ฝ๋๋ ํน์ HTTP ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์๋์ง ์๋ ค์ค๋๋ค. ์๋ต์ 5๊ฐ์ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด์ง๋๋ค: ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์๋ต, ์ฑ๊ณต์ ์ธ ์๋ต, ๋ฆฌ๋ค์ด๋ ํธ, ํด๋ผ์ด์ธํธ ์๋ฌ, ๊ทธ๋ฆฌ๊ณ ์๋ฒ ์๋ฌ. ์ํ ์ฝ๋๋ section 10 of RFC 2616์ ์ ์๋์ด ์์ต๋๋ค. ์ ๋ณด ์๋ต 100 Continue ์ด ์์์ ์ธ ์๋ต์ ์ง๊ธ๊น์ง์ ์ํ๊ฐ ๊ด์ฐฎ์ผ๋ฉฐ ํด๋ผ์ด์ธํธ๊ฐ ๊ณ์ํด์ ์์ฒญ์ ํ๊ฑฐ๋ ์ด๋ฏธ ์์ฒญ์ ์๋ฃํ ๊ฒฝ์ฐ์๋ ๋ฌด์ํด๋ ๋๋ ๊ฒ์ ์๋ ค์ค๋ developer.mozilla.org ์ ๋ณด ์๋ต (๋ฆฌํ์คํธ๋ฅผ ๋ฐ๊ณ , ์ฒ๋ฆฌ ์ค์ ์์) 100 Continue ์ด ์์์ ์ธ ์๋ต์ ์ง๊ธ๊น์ง์ ์ํ๊ฐ ๊ด์ฐฎ์ผ๋ฉฐ ํด๋ผ์ด์ธํธ๊ฐ ๊ณ์ํด์ ์์ฒญ์ ํ๊ฑฐ๋ ์ด๋ฏธ ์์ฒญ์ ์๋ฃํ ๊ฒฝ์ฐ์๋ ๋ฌด์ํด๋ ๋..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] String, Date
1. ๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ -- ์ฝ๋๋ฅผ ์ ๋ ฅํ์ธ์ SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_I..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] JOIN
1. ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ -- ์ฝ๋๋ฅผ ์ ๋ ฅํ์ธ์ SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS AS A LEFT..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] IS NULL
1. ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ -- ์ฝ๋๋ฅผ ์ ๋ ฅํ์ธ์ SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] GROUP BY
1. ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS 'count' FR..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] SUM, MAX, MIN
1. ์ต๋๊ฐ ๊ตฌํ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ต๋๊ฐ ๊ตฌํ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ SELECT MAX(DATETIME) AS '์๊ฐ' FROM ANIMAL_INS LIMIT 1; ๋๋ SELECT DATETI..
[ํ๋ก๊ทธ๋๋จธ์ค/์ฟผ๋ฆฌ๋ฌธ ์ฐ์ต] SELECT
1. ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS programmers.co.kr [์ ๋ต ์ ์ด๋์] ๋๋ณด๊ธฐ SELECT * from animal_ins order by animal_id; 2. ์ญ์ ์ ๋ ฌํ๊ธฐ ์ฝ๋ฉํ ์คํธ ..
[์ฑ /์์ฝ] Clean code(ํด๋ฆฐ์ฝ๋) ์์ฝ
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.
[๋งํฌ] HTTP ์๋ฒ ์๋ต ์ฝ๋ (Response Code) ์ ๋ฆฌ_1
์ถ์ฒ : https://ooz.co.kr/260 HTTP ์๋ฒ ์๋ต ์ฝ๋ (Response Code) ์ ๋ฆฌ ์ค๋์ HTTP ํต์ ์, ์๋ฒ์์ ๋ณด๋ด์ฃผ๋ ์๋ต ์ฝ๋์ ๋ํด ๊ฐ๋จํ ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. (๊ฐ์ธ์ ์ผ๋ก๋ ๊ฐ๋ ์ฝ๊ฒ ์ฐพ์๋ณด๋ ค๊ณ ์ ๋ฆฌํ๋ ๊ฒธ ํด์ ๊ฒ์๋ฌผ์ ์์ฑํ์์ต๋๋ค.^^) ํด๋ผ์ด์ธํธ(์น ๋ธ๋ผ์ฐ์ )์์ ์๋ฒ.. ooz.co.kr 1. ๊ฐ Response Code ์ ๋ฐ๋ฅธ ์๋ต Response Class Code Response Class ์๋ฏธ ์ค๋ช 1 Informational (์ ๋ณด) ๋ฆฌํ์คํธ๋ฅผ ๋ฐ๊ณ , ์ฒ๋ฆฌ ์ค์ ์์. 2 Success (์ฑ๊ณต) ๋ฆฌํ์คํธ๋ฅผ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํจ. 3 Redirection (๋ฆฌ๋๋ ์ ) ๋ฆฌํ์คํธ ์๋ฃ๋ฅผ ์ํด ์ถ๊ฐ ๋์์ด ํ์ํจ. 4 Client Error (ํด๋ผ์ด์ธํธ ..