๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(424)
[WEB] HttpServletRequest / ServletRequest HttpServletRequest์™€ ServletRequest๋Š” ๋‘˜ ๋‹ค ์„œ๋ธ”๋ฆฟ์ด ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์„ ๋•Œ ์ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. 1. ServletRequest์ธํ„ฐํŽ˜์ด์Šค: ServletRequest๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ์ผ๋ฐ˜์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.ํ”„๋กœํ† ์ฝœ์— ๋…๋ฆฝ์ : HTTP๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ(Gopher, FTP ๋“ฑ)๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ผ๋ฐ˜์ ์ธ ์š”์ฒญ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.๋ฉ”์„œ๋“œ ๊ธฐ๋Šฅ: ์š”์ฒญ์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜(ํŒŒ๋ผ๋ฏธํ„ฐ ๋“ฑ), ์š”์ฒญ ์†์„ฑ์— ์ ‘๊ทผํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.์ฃผ ์‚ฌ์šฉ์ฒ˜: ์›น ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์„œ๋ธ”๋ฆฟ์„ ์œ„ํ•œ ์š”์ฒญ์„ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. HTTP์— ํŠนํ™”๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค์ธ HttpServl..
[Spring boot] h2 ์—ฐ๊ฒฐํ•˜๊ธฐ spring boot ํ”„๋กœ์ ํŠธ์— h2 ์—ฐ๊ฒฐ ํ•ด๋ด…์‹œ๋‹ค. 1. https://www.h2database.com/html/main.html ํ•ด๋‹น ์‚ฌ์ดํŠธ์—์„œ h2 ๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์••์ถ•์„ ํ’€์–ด์ค๋‹ˆ๋‹ค. 2. ์••์ถ•์„ ํ‘ผ ํด๋”์—์„œ h2/bin์— ์ ‘๊ทผcd study/h2/bin 3. ๋งŒ์•ฝ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์„ ์‹œ chmod 755 h2.sh ๋กœ ๊ถŒํ•œ ๋ถ€์—ฌ 4. h2๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค../h2.sh  5. ์‹คํ–‰์ด ๋˜์—ˆ์œผ๋ฉด http://172.18.41.167:8082/ ์— ๋“ค์–ด๊ฐ€ h2์— ์ ‘๊ทผํ•ด์ค๋‹ˆ๋‹ค. 6. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด JDBC URL์— jdbc:h2:~/jpa ์„ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค. 7. ์—ฐ๊ฒฐ์„ ๋Š๊ณ  jdbc:h2:tcp://localhost/~/jpa ๋กœ URL ๋ณ€๊ฒฝ ํ›„ ์žฌ์ ‘์† ํ•ด์ค๋‹ˆ๋‹ค. 8. spring boot..
ํ‹ฐ์Šคํ† ๋ฆฌ ์ •์‹ ์ฐจ๋ ค ์ด์ œ ์—…๋กœ๋“œ ์ข€ ์‹œ์ผœ์ค˜ ํ‹ฐ์Šคํ† ๋ฆฌ ์ง„์งœ ์ •์‹ ๋‚˜๊ฐ”๋‹ˆ ํ•œ๋ฒˆ๋งŒ ๋” ๋‚ ๋ผ๊ฐ€๋ฉด ํƒˆํ‡ดํ•œ๋‹ค ๋งจ๋‚  ๋˜‘๊ฐ™์ด ๋จน๋Š”๊ฑธ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ผ๊ธฐ ๋ฉ‹์žˆ๊ตฐ์ด๋•Œ ๊ณ ๋”ฉ ์นœ๊ตฌ๊ฐ€ ์„œ์šธ ์˜ฌ๋ผ์™€์„œ ์ค‘๋Œ€ ๋ฐœํ‘œํ•˜๊ณ ๊ฐ ๋‘๋‘ฅ ์ถ•ํ•˜ํ•œ๋‹ค ์นœ๊ตฌ์•ผ..๋‹น๋Œํ•œ ํ•˜์ฒด์™€ ๊ทธ๋ ‡์ง€ ๋ชปํ•œ ์ƒ์ฒด19374729101๋งŒ์— ๋จน๋Š” ์ˆ ์ด๋ž„๊นŒ ๋‹น์—ฐ ๋‚จ๊น€๋ฃจํ”ผ ์ฝ˜์„œํŠธ๊ฐ€์„œ ์ง์บ  ์ฐ๊ณ ์˜ด๋ปฅ์ด๊ณ  ๊ทธ๋ƒฅ ๋” ํ˜„๋Œ€ ํŒ์—…์ž„๋„˜ ์˜ˆ์œ๊ฑธ ์—ฌ์˜๋„ ์ง์žฅ์ธ๋“ค์˜ ์ตœ๋Œ€ ๋ณต์ง€ = ๋”ํ˜„๋Œ€ , ifc ๋ฐ˜๋ฐ•์‹œ ์—ฌ์˜๋„ ์ง์žฅ์ธ ์•„๋‹˜์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ๊ท€์—ฌ์šธ์ˆ˜๊ฐ€ํฌ๋ฆฌ์Šค๋งˆ์Šค ๋‹ค๋ณด๊ณ  ๋ฐ”๋กœ ์•ž ๋งค์žฅ์— ์„ธ์ผํ•˜๊ธธ๋ž˜ ์Šคํ‹ฐ์ปค ์“ธ์–ด์˜ด ๋ฏธ์นœ๊ท€์—ฌ์›€;์‚ฌ๊พธํ•จ ์‚ฌ์›์ฆ ๋„ˆ๋ฌด ๋ง˜์—๋“ค์–ด์„œ ์ด์ œ ์ข€ ๋งค๊ณ ๋‹ค๋‹˜๋ช…์–ธ์ œ์กฐ๊ธฐ ํ‚น๋ฐ›๋‚˜์š”? ์‚‘ ์ •์ƒ์ž…๋‹ˆ๋‹คํ‡ด๊ทผ๊ธธ์— ์นœ๊ตฌํ•œํ…Œ ํ˜ธ์ถœ๋‹นํ•ด์„œ ๊ฐ‘๋ถ„ ์„ฑ์ˆ˜ ์ธ„๋ฆฌ๋‹์œผ๋กœ ํ•ซํ”Œ ๋„์ „๋ฐ˜์ฐจ์“ฐ๊ณ  ๋กฏ๋ฐ์›”๋“œ๋งŒ ๋ช‡๋ฒˆ๊ฐ€๋Š”๊ฑด์ง€ ์ด๋‚ ์€ ๋ˆˆ์น˜์‹ธ์›€ ์‹คํŒจ์ „๋‚  ๊ทธ ๋‹ด๋‚  ์ด๊ฒŒ ๋งž๋‚˜ ๋‚ด๊ฐ€ ๋ˆ๊นŒ์Šค ๋  ์ง€..
[Kotlin] ์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ ์ฝ”ํ‹€๋ฆฐ์€ ํƒ€์ž… ์„ ์–ธ์„ ์ƒ๋žตํ•ด๋„ ๋˜๊ณ , ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ณด๋‹ค ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์€ ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์„ ์žฅ๋ คํ•œ๋‹ค. ๊ฐ„๋‹จํ•œ ์ฝ”ํ‹€๋ฆฐ์˜ ํŠน์ง•์„ ์•Œ์•„๋ณด์ž. fun main(args: Array){ println("Hello world!") } ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ fun ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ ๋’ค์— ๊ทธ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ํƒ€์ž…์„ ์“ด๋‹ค. ํ•จ์ˆ˜๋ฅผ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์— ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž๋ฐ”์™€ ๋‹ฌ๋ฆฌ ๊ผญ ํด๋ž˜์Šค ์•ˆ์— ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋ฐฐ์—ด๋„ ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์ฝ”ํ‹€๋ฆฐ์—๋Š” ์ž๋ฐ”์™€ ๋‹ฌ๋ฆฌ ๋ฐฐ์—ด ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฌธ๋ฒ•์ด ๋”ฐ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. cf) ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ๋ฐฐ์—ด๋„ ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃจ์–ด์ง„๋‹ค. ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ฐฐ์—ด์€ Array ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ํŠน๋ณ„ํ•œ ํ‚ค์›Œ๋“œ ์—†์ด๋„ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ..
[Docker] ๋„์ปค์˜ ์ •์˜์™€ ๊ธฐ๋ณธ ๋ช…๋ น์–ด ๋„์ปค๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ด๋‹ค. ๋‹ค๋ฅธ ๋„๊ตฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๊ณ  ๊ทธ ๋ฐฉ๋ฒ•์ด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ธ๊ธฐ๋ฅผ ๋Œ๋ฉด์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ๋„์ปค๊ฐ€ ๋“ฑ์žฅํ•˜๊ณ  ์„œ๋ฒ„๊ด€๋ฆฌ/๊ฐœ๋ฐœ ๋ฐฉ์‹์ด ์ปจํ…Œ์ด๋„ˆ ๋ฐฉ์‹œ์œผ๋กœ ์™„์ „ํžˆ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ๋„์ปค๊ฐ€ ๋“ฑ์žฅํ•˜๊ณ  ๋‚˜์„œ ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋žจ๋„ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  ์–ด๋””์„œ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๋„์ปค๋Š” ๊ฐ€์ƒ๋จธ์‹  ๊ฐ™์€๊ฑฐ์ผ๊นŒ? ๋„์ปค๋Š” ๊ฐ€์ƒ๋จธ์‹ ์ฒ˜๋Ÿผ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€๋งŒ ๊ฐ€์ƒ๋จธ์‹ ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์‰ฝ๊ณ  ํšจ์œจ์ ์ด๋‹ค. ๋„์ปค์˜ ํŠน์ง• ํ™•์žฅ์„ฑ/์ด์‹์„ฑ - ๋„์ปค๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ์–ด๋””์„œ๋“  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ - ํŠน์ • ํšŒ์‚ฌ๋‚˜ ์„œ๋น„์Šค์— ์ข…์†์ ์ด์ง€ ์•Š์Œ - ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  ํ…Œ์ŠคํŠธ์„œ๋ฒ„ ์ƒ์„ฑ๋„ ๊ฐ„ํŽธํ•จ ํ‘œ์ค€์„ฑ - ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ruby, nodejs..
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ธฐ์ดˆ๋ฌธ์ œ Day11 https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc&languages=java ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ถ๋‹ค๋ฉด? ์ฝ”๋”ฉ ์—ญ๋Ÿ‰์„ ํƒ„ํƒ„ํ•˜๊ฒŒ ๊ธธ๋Ÿฌ์ฃผ๋Š” ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹์œผ๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๊ฐ๊ฐ์„ ๊ธธ๋Ÿฌ ๋ณด์„ธ์š”. school.programmers.co.kr Day 11 - ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด) ๋ฌธ์ž ๊ฐœ์ˆ˜ ์„ธ๊ธฐ class Solution { public int[] solution(String my_string) { int[] answer = new int[52]; for(int i=0;i
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ธฐ์ดˆ๋ฌธ์ œ Day10 ๋ฌธ์ž์—ด์˜ ์•ž์˜ n๊ธ€์ž class Solution { public String solution(String my_string, int n) { return my_string.substring(0,n); } } ์ ‘๋‘์‚ฌ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ class Solution { public int solution(String my_string, String is_prefix) { return my_string.startsWith(is_prefix)?1:0; } } ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ class Solution { public String solution(String my_string, int s, int e) { return my_string.substring(0,s) + new StringBuilder(my_string.subs..
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ธฐ์ดˆ๋ฌธ์ œ Day8 ~ Day9 https://school.programmers.co.kr/learn/challenges/training?order=acceptance_desc&languages=java ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ถ๋‹ค๋ฉด? ์ฝ”๋”ฉ ์—ญ๋Ÿ‰์„ ํƒ„ํƒ„ํ•˜๊ฒŒ ๊ธธ๋Ÿฌ์ฃผ๋Š” ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹์œผ๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๊ฐ๊ฐ์„ ๊ธธ๋Ÿฌ ๋ณด์„ธ์š”. school.programmers.co.kr Day 8 - ์กฐ๊ฑด๋ฌธ, ๋ฌธ์ž์—ด ๊ฐ„๋‹จํ•œ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ class Solution { public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) { return (x1||x2) && (x3||x4) ; } } import..