๐Ÿผ๋ฐฑ์•ค๋“œ

๋ฐ๋ชจ๋ฐ์ด ํ•˜๋ฃจ์ „์— db๋ฅผ ๋ฐ€๊ณ  ddl-auto: create ๋ฅผ ํ–ˆ๋Š”๋ฐ, ํ•œ๊ฐœ์˜ ํ…Œ์ด๋ธ”(Member)๋งŒ์ด ์ƒ์„ฑ์ด ์•ˆ๋˜์—ˆ๋‹ค. ์ฟผ๋ฆฌ๋ฅผ ์ž˜ ์‚ดํŽด๋ณด๋‹ˆ 2024-02-18T23:47:20.726+09:00 WARN 8511 --- [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL " create table member ( age integer, creat_time datetime(6), member_id bigint not null auto_increment, token_expiration_time datetime(6), update_tim..
https://www.ictintern.or.kr/main.do ์ด๋ฒˆ ICT ์ธํ„ด์‹ญ์„ 3๊ตฐ๋ฐ ์ง€์›ํ•˜์˜€๊ณ , ํ•œ๊ตฐ๋ฐ๋Š” ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด ๋ถ€๋ถ„์ด๋ผ ์†Œ์‹ ์ง€์›ํ•˜์˜€๊ณ , ๋‹ค๋ฅธ ํ•œ๊ณณ์€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๋–จ์–ด์ง„๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”ํ…Œ๋Š” 5๋ฌธ์ œ์—์„œ 2๋ฌธ์ œ ์™„๋ฒฝํ•˜๊ฒŒ ํ’€๊ณ , 2๋ฌธ์ œ ์ ˆ๋ฐ˜ ๋งž๊ณ , ํ•œ๋ฌธ์ œ๋Š” ๋ชป ํ’€์—ˆ๋‹ค. ICT๋ฅผ ์ง€์›ํ•œ ์ด์œ ๋Š” ๋‹น์—ฐํžˆ ํ•ฉ๊ฒฉํ•ด์„œ ์ธํ„ด์ƒํ™œ์„ ํ•˜๋ฉด ์ข‹์ง€๋งŒ, ๊ฐœ๋ฐœ์ž ๋ฉด์ ‘, ์•„์šธ๋Ÿฌ ๋ฉด์ ‘ ์ž์ฒด ๊ฒฝํ—˜์ด ์—†๋˜ํ„ฐ๋ผ ๋ฉด์ ‘์„ ๊ผญ ๋ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฉด์ ‘์„ ๋ณด๊ฒŒ ๋œ ์‹œ์ ์—์„œ ์ด๋ฏธ ์„ฑ๊ณตํ•˜์˜€๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฉด์ ‘์„ ๋ณธ ํšŒ์‚ฌ๋Š” ํด๋ผ์šฐ๋“œ์„œ๋น„์Šคํ”Œ๋žซํผํšŒ์‚ฌ์ด๋‹ค. ๋ฉด์ ‘์‹ค์— ๋“ค์–ด๊ฐ€๋‹ˆ 3๋ถ„์ด ๊ณ„์…จ๊ณ , ํ”„๋ก ํŠธ ๋‹ด๋‹น์ž 1๋ถ„, ๋ฐฑ ๋‹ด๋‹น์ž 1๋ถ„, CTO 1๋ถ„์ด ๋“ค์–ด์˜ค์…จ๋‹ค. ์ฒ˜์Œ์— ์ž๊ธฐ์†Œ๊ฐœ๋ฅผ ์š”์ฒญํ•˜์…”์„œ OOํ•™๊ต OO๊ณผ 4ํ•™๋…„์ด๋‹ค. ๋ฉด์ ‘์ž์ฒด๊ฐ€ ์ฒ˜์Œ์ด๋ผ ์ด๋Ÿฐ..
JSON(JavaScript Object Notation)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ๋Ÿ‰์˜ DATA ๊ตํ™˜ ํ˜•์‹. ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ํŒŒ์‹ฑ ๋ฐ ์ƒ์„ฑ์ด ์šฉ์ดํ•˜๋‹ค. JSON์€ ๋ฐ์ดํ„ฐ ํฌ๋งท์ผ ๋ฟ์ด๋ฉฐ ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ‘œํ˜„๋ฐฉ๋ฒ•์ด๋‹ค. JSON์˜ ํŠน์ง• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ JSON ๋ฌธ์„œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ๋„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด์—์„œ JSON ํฌ๋งท์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ธ๋“ค๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. XML๊ณผ ๋‹ค๋ฅธ์ ? ์šฐ๋ฆฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ• ์ค‘ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์ด XML์ด๋‹ค. XML์€ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. John 30 JSON์€ ์ค‘๊ด„..
์บ์‹œ ๊ธฐ๋ณธ ๋™์ž‘ 1.1M(ํ—ค๋”+๋ฐ”๋””)๊ฐ€ ์ „์†ก๋จ. ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญํ•œ ๋‚ด์šฉ์„ ๋ณด๊ณ  ์„œ๋ฒ„๊ฐ€ ์‹ค์ œ ์ด๋ฏธ์ง€์™€ ๊ด€๋ จ๋œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•œ ์‘๋‹ต์„ ๋‚ด๋ฆฐ๋‹ค. ๋˜ ๋‹ค์‹œ ์š”์ฒญํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ์ฒ˜๋Ÿผ ๋˜‘๊ฐ™์ด 1.1MB์˜ ์‘๋‹ต์„ ๋ณด๋‚ด๊ฒŒ ๋˜๊ณ  ์บ์‹œ๊ฐ€ ์—†์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„๋„ ๊ณ„์† ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋ฐ›์•„์•ผ ํ•œ๋‹ค. ๋˜‘๊ฐ™์€ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์บ์‹œ๊ฐ€ ์—†์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•„๋„ ๊ณ„์† ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ๋Š” HDD๋“ฑ์— ๋น„ํ•ด์„œ ์ƒ๋Œ€์ ์œผ๋กœ ๋งค์šฐ ๋Š๋ฆฌ๊ณ  ๋น„์‹ธ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. ๋Š๋ฆฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์บ์‹œ๋ฅผ ์ ์šฉํ•œ๋‹ค๋ฉด ์ฒ˜์Œ ์š”์ฒญํ–ˆ์„ ๋•Œ ์บ์‹œ๊ฐ€ ์œ ํšจํ•œ ์‹œ๊ฐ„์„ cache-control์— ์„ค์ •ํ•ด์„œ ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €์—๋Š” ์บ์‹œ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„์ด ์žˆ์–ด์„œ ์œ ํšจํ•œ ์‹œ๊ฐ„๋งŒํผ ์‘๋‹ต ..
HTTP ํ—ค๋” ์ •์˜ ํ—ค๋” ํ•„๋“œ๋Š” field-name + “:” + OWS + field-value + OWS๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. (OWS = ๋„์–ด์“ฐ๊ธฐ ํ—ˆ์šฉ) field-name์—๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์ด ์—†๋‹ค. ๋…ธ๋ž€์นธ์ด ํ—ค๋”๋ถ€๋ถ„์ด๋‹ค. ์šฉ๋„ HTTP ์ „์†ก์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ถ€๊ฐ€ ์ •๋ณด ex) ๋ฉ”์‹œ์ง€ ๋ฐ”๋”” ๋‚ด์šฉ, ๋ฉ”์‹œ์ง€ ๋ฐ”๋”” ํฌ๊ธฐ, ์••์ถ•, ์ธ์ฆ, ์š”์ฒญ ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„์ •๋ณด, ์บ์‹œ๊ด€๋ฆฌ์ •๋ณด ํ‘œ์ค€ํ—ค๋”๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค. ํ•„์š”์‹œ ์ž„์˜์˜ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณผ๊ฑฐ - RFC2616 1. HTTP ํ—ค๋” ํ—ค๋” ๋ถ„๋ฅ˜ General Header = ๋ฉ”์‹œ์ง€ ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ์ •๋ณดex) Connection: close Request Header = ์š”์ฒญ ์ •๋ณด ex) User-Agent: Mozilla/5.0 (Macintosh; ..) Resp..
1. HTTP ์ƒํƒœ ์ฝ”๋“œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ(request)์˜ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ์‘๋‹ต(response)์—์„œ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ 1xx (Informational): ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์ฒ˜๋ฆฌ์ค‘ 2xx (Successful): ์š”์ฒญ ์ •์ƒ ์ฒ˜๋ฆฌ 3xx (Redirection): ์š”์ฒญ์™„๋ฃŒ ์œ„ํ•ด ์ถ”๊ฐ€ ํ–‰๋™ ํ•„์š” 4xx (Client Error): ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜ 5xx (Server Error): ์„œ๋ฒ„ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ์ค‘,์ •์ƒ,์ถ”๊ฐ€ํ–‰๋™,ํด๋ผ์ด์–ธํŠธ,์„œ๋ฒ„ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋ฅด๋Š” ์ƒํƒœ์ฝ”๋“œ๊ฐ€ ์ƒ๊ธด๊ฒฝ์šฐ ์•Œ์•„๋ณด์ž. 299 ๊ฐ€ ๋‚˜์™”๋‹ค๋ฉด → 2xx ์ด๋ฏ€๋กœ Successful 599 ๊ฐ€ ๋‚˜์™”๋‹ค๋ฉด → 5xx ์ด๋ฏ€๋กœ Server Error ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ์‹ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์œผ๋ฉด, ์ƒ์œ„ ์ƒํƒœ ์ฝ”๋“œ๋กœ ํ•ด์„ํ•ด์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. ex) 299๋ชจ๋ฅด๋‹ˆ..
์ „๋‹ฌ ๋ฐฉ์‹ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ์‹์€ ํฌ๊ฒŒ 2๊ฐ€์ง€์ด๋‹ค. 1. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก GET ์ฃผ๋กœ ๊ฒ€์ƒ‰์–ด๋ฅผ ๋„ฃ๊ฑฐ๋‚˜ ์ •๋ ฌ ์กฐ๊ฑด์„ ๋„ฃ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก POST, PUT, PATCH ํšŒ์› ๊ฐ€์ž…, ์ฃผ๋ฌธ, ๋ฆฌ์†Œ์Šค ๋“ฑ๋ก, ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ์— ์‚ฌ์šฉํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ์ „์†กํ•˜๋Š” ์ƒํ™ฉ์—๋Š” 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ •์  ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋™์  ๋ฐ์ดํ„ฐ ์กฐํšŒ HTML Form์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก HTTP API๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก 1. ์ •์  ๋ฐ์ดํ„ฐ ์กฐํšŒ - ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฏธ์‚ฌ์šฉ ์ด๋ฏธ์ง€, ์ •์  ํ…์ŠคํŠธ ๋ฌธ์„œ ์ „๋‹ฌ GET ์‚ฌ์šฉ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ๋กœ ๋‹จ์ˆœํ•˜๊ฒŒ ์กฐํšŒ ๊ฐ€๋Šฅ ํด๋ผ์ด์–ธํŠธ์—์„œ “๋ณ„” ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”์—†๋‹ค. URI ๊ฒฝ๋กœ๋งŒ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ถ”๊ฐ€์ ์ธ ๋ฐ..
HTTP API ๋ฉ”์„œ๋“œ ์š”๊ตฌ์‚ฌํ•ญ ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ ํšŒ์› ์กฐํšŒ ํšŒ์› ๋“ฑ๋ก ํšŒ์› ์ˆ˜์ • ํšŒ์› ์‚ญ์ œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. API URL ์„ค๊ณ„ ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ → /read-member-list ํšŒ์› ์กฐํšŒ → /read-member-by-id ํšŒ์› ๋“ฑ๋ก → /create-member ํšŒ์› ์ˆ˜์ • → /update-member ํšŒ์› ์‚ญ์ œ → /delete-member ํ•˜์ง€๋งŒ, ์ด๋Š” ์ข‹์€ ์„ค๊ณ„๊ฐ€ ์•„๋‹ˆ๋‹ค. URI์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ด๋‹ค. ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋ฆฌ์†Œ์Šค๋ž€? ํšŒ์›์„ ๋“ฑ๋ก,์ˆ˜์ •,์กฐํšŒ ํ•˜๋Š”๊ฒƒ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” “ํšŒ์›” ๊ทธ ์ž์ฒด๊ฐ€ ๋ฆฌ์†Œ์Šค์ด๋‹ค. ๊ณ„์ธต ๊ตฌ์กฐ ์ƒ์œ„๋ฅผ ์ปฌ๋ ‰์…˜์œผ๋กœ ๋ณด๊ณ  ๋ณต์ˆ˜ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ex) members ํšŒ์› ๋ชฉ๋ก ์กฐํšŒ → /members ํšŒ์› ์กฐ..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿผ๋ฐฑ์•ค๋“œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)