user-img
cover-img
[Day 14] Log ์ƒ‰๊น” ์ž…ํžˆ๊ธฐ
0. ๋กœ๊ทธ๊ฐ€ ํฐ์ƒ‰์ด๋ฉด...๋ณด๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค.์ด๊ฒŒ ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ๋ณด๋ฉด ๊ทธ๋‚˜๋งˆ ๋‚˜์€๋ฐ, ๋ฐฐํฌ๋œ ์„œ๋ฒ„๋กœ ๋“ค์–ด๊ฐ€ ๋กœ๊ทธ๋ฅผ ๋ณผ๋ ค๊ณ  ์น˜๋ฉด ์ •๋ง ๊ตฌ๋ถ„ํžˆ ํž˜๋“ค์–ด์ง„๋‹ค. ์ด๋ฅผ ์œ„ํ•ด๋กœ๊ทธ ๋ ˆ๋ฒจ ๋ณ„๋กœ ์ƒ‰๊น”์„ ์ ์šฉํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋ ค ํ•œ๋‹ค.1. ์ ์šฉ ๋ฐฉ๋ฒ•(1) ํŒŒ์ผ ๊ตฌ์กฐ ๋ฐ ์˜์กด์„ฑ ์‚ฝ์ž…resources ๋ถ€๋ถ„์— logBack์„ ๋‘”๋‹ค. ์ดํ›„ ๋กœ๊น…๊ณผ ์‹ค์ œ ๊ตฌํ˜„ ์ฝ”๋“œ ๊ฐ„์˜ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•ด @SLF4J ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ์ง€ ์•Š์œผ๋ฉด ๋กœ๊ทธ๋ฅผ ์“ฐ๊ณ  ์‹ถ์€ ๋ชจ๋“  ํด๋ž˜์Šค๋งˆ๋‹ค Logger ๊ฐ์ฒด๋ฅผ ์ฃผ์ž… ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ์ด๋Š” ๊ฐ์ฒด๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋†’์ด๊ณ , Logger ๊ธฐ๋Šฅ ์ž์ฒด์˜ ์œ ์—ฐ์„ฑ๋„ ์ค„์ธ๋‹ค. (์ฒ˜์Œ์—” Log-Back ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๋‹ค๊ฐ€ Log4j๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ @SL4FJ๋ฅผ ์•ˆ ์“ด๋‹ค๋ฉด ๋ชจ๋“  Logger ๋ฉค๋ฒ„๋ฅผ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค;;)..
โ˜๏ธ PROTECT ์ผ์ง€
cover-img
[DAY 13] Jasypt๋ฅผ ํ™œ์šฉํ•ด Secret-key ์•”ํ˜ธํ™” ๋ฐ ์„œ๋ฒ„ ๋ฐฐํฌ ์‹œ ์ž๋™ ๋ณตํ˜ธํ™”
0. ์™œ ํ•„์š”ํ•œ๊ฐ€์™ธ๋ถ€ API๋‚˜ DB, ๋ฏธ๋“ค์›จ์–ด ์—ฐ๋™์„ ์œ„ํ•ด์„œ๋Š” ํ™œ์šฉ์„ ์œ„ํ•ด ์•ฝ์†ํ•œ secret-key๋ฅผ ๋“ค๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋ณดํ†ต ๊ฐœ๋ฐœ์ž๋“ค์€ ์„ค์ •ํŒŒ์ผ์— ๊ทธ๊ฒƒ์„ ๋ชฐ์•„๋„ฃ๊ณ , @Value()๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ทธ๊ฒƒ๋“ค์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. ๋‹ค์Œ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋ง์ด๋‹ค.์ด๋Ÿฐ secret-key๋“ค์€ ์œ ์ถœ๋˜๋ฉด ํ•ดํ‚น ๋“ฑ ํ”„๋กœ์ ํŠธ์— ์น˜๋ช…์ ์ธ ์œ„ํ˜‘์„ ์ค€๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ž๋“ค์€ ํ•ญ์ƒ ์ด๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์‹ ๊ฒฝ ์“ฐ๊ณ , ์ธํ”„๋ผ ํŒ€ ๋˜ํ•œ Jenkins๋‚˜ DockerHub์— ํ‚ค ๋ฆฌ์ŠคํŠธ๋“ค์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•ด์„œ ๊ณจ์น˜ ์•„ํ”„๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Java์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Jasypt๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค.1. Jasypt๋ž€?(0) ์ •์˜๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ํ˜น์€ ๋‹จ์ผ ํ‚ค ์–‘๋ฐฉํ–ฅ ์•”ํ˜ธํ™”๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฐ•์ ์ด๋ผ ํ•œ๋‹ค๋ฉด Jasypt๋กœ ์•”ํ˜ธํ™”ํ•œ ๋Œ€์ƒ์„ ํŠน์ •ํ•˜..
โ˜๏ธ PROTECT ์ผ์ง€
cover-img
[DAY 12] ๊ณตํ†ต ์‘๋‹ต ์ž๋™ํ™” ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ (๋ด‰ํˆฌ ํŒจํ„ด ๋„์ž… - @ResponseBody Advice)
0. ํ•„์š”์„ฑ์ €๋ฒˆ์— ํ–ˆ๋˜ 6์ธ ํ”„๋กœ์ ํŠธ์˜ ๋ฐ˜ํ™˜ ํ™˜๊ฒฝ ๋ชจ์Šต์ด๋‹ค. ๋‹น์‹œ ResultResponse๋ผ๋Š” ํŒ€ ๋‚ด์˜ ๊ณตํ†ต ์‘๋‹ต ๊ทœ์น™์„ ์ •ํ•˜๊ณ , ResponseEntity๋กœ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์ „์— DTO๋ฅผ ResultResponse๋กœ ํ•œ ๋ฒˆ ๋” ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค.๊ทธ ๋‹น์‹œ์—๋Š” ํฐ ๋ถˆํŽธํ•จ ์—†์ด ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ๋‹ค์‹œ ๋ณด๋‹ˆ 2๊ฐ€์ง€ ๋ถˆํŽธ ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‹ค.1๏ธโƒฃ ๋งค์„œ๋“œ์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์„ ํ•ญ์ƒ ResponseEntity์™€ ResultResponse๋กœ ๊ฐ์‹ธ์ค˜์•ผ ํ•œ๋‹ค. ์‹ค์ œ ํ•„์ž๊ฐ€ ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ค˜์•ผํ•  JSON ๋ฐ˜ํ™˜ ๊ฐ์ฒด๋Š” TokenDTO์ธ๋ฐ, ๊ทธ์ € ๋ฐ˜ํ™˜ ๊ทœ์น™์„ ์œ„ํ•ด์„œ ํ”„๋กœ์„ธ์Šค์—์„œ๋Š” ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ๋งŒ ํ•œ๋‹ค.2๏ธโƒฃ ๊ฐ™์€ ์ด์œ ๋กœ ๋ฐ˜ํ™˜๊ฐ’ ๋˜ํ•œ ๋‘ ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๊ฐ์‹ธ์ค˜์•ผ ํ•œ๋‹ค.์ด๋Š” 3์ธ์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ค‘ ํ•œ ๋ช…์ด๋ผ๋„ ์‹ค์ˆ˜๋กœ ResultRe..
โ˜๏ธ PROTECT ์ผ์ง€
cover-img
[OS] ์„ ์ ํ˜•๊ณผ ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์˜ ์ •์˜์™€ ์ข…๋ฅ˜
1. CPU ์Šค์ผ€์ค„๋ง์ด๋ž€?๋ณต์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์‚ฌ์šฉํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.์ด๋ฅผ ์œ„ํ•ด์„œ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ•๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ธก์ •ํ•˜๊ณ , CPU ์‚ฌ์šฉ์‹œ๊ฐ„์„ ์‚ฐ์ •ํ•œ๋‹ค.(1) ์ข‹์€ CPU ์Šค์ผ€์ค„๋ง์ด๋ž€?CPU๋ž€ ๋‹จ์ผ ์ž์›์„ ํ”„๋กœ์„ธ์Šค๋“ค์—๊ฒŒ ์ตœ๋Œ€ํ•œ ๊ณตํ‰ํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์œจ๊ณผ CPU ์ด์šฉ๋ฅ ์„ ๋†’์ด๊ณ , ์‘๋‹ต์‹œ๊ฐ„, CPU ๊ณผ๋ถ€ํ™”(์˜ค๋ฒ„ ํ—ค๋“œ), ํ”„๋กœ์„ธ์Šค๋“ค์˜ ์ฒ˜๋ฆฌ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์ด ์ข‹์€ ์Šค์ผ€์ค„๋ง์ด๋‹ค.๊ณตํ‰์„ฑ๐Ÿ†™ โžœ ( ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์œจโฌ†๏ธ, CPU ์ด์šฉ๋ฅ โฌ†๏ธ ) | (์‘๋‹ต ์‹œ๊ฐ„ โฌ‡๏ธ, CPU ๊ณผ๋ถ€ํ•˜ โฌ‡๏ธ, ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ ๋Œ€๋ฆฌ์‹œ๊ฐ„ โฌ‡๏ธ)2. ์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง์— ๋Œ€ํ•˜์—ฌํ˜„์žฌ CPU๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ A๋ผ๊ณ  ํ•˜์ž. ์ด๋•Œ ์ค€๋น„ํ์—์„œ A๋ณด๋‹ค ์ฒ˜..
OS
cover-img
ํ•ญํ•ด99 ์ฝ”ํ…Œ์Šคํ„ฐ๋”” 14์ผ์ฐจ + [๋ฐฑ์ค€] 1738 ๊ณจ๋ชฉ๊ธธ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ(1) ๋งํฌ๐Ÿ”—https://www.acmicpc.net/problem/1738(2) ํ•ด์„ค๐Ÿ•ต๊ฒฝ๋กœ์— ๊นกํŒจ๊ฐ€ ์žˆ์–ด์„œ ๊ฐ€์ค‘์น˜๊ฐ€ ๋งˆ์ด๋„ˆ์Šค์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์  ๊ฒฝ๋กœ๋Š” ๋ฒจ๋งŒ ํฌ๋“œ๋กœ ๊ตฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์— ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ๋‹ค.1๏ธโƒฃ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์ตœ์†Œ ๊ฐ€์ค‘์น˜ ํ•ฉ์ด ์ตœ์  ๊ฒฝ๋กœ์ธ ์ผ๋ฐ˜์ ์ธ ๋ฒจ๋งŒ ํฌ๋“œ ๋ฌธ์ œ์™€๋Š” ๋‹ฌ๋ฆฌ ์ตœ๋Œ€ ๊ฐ€์ค‘์น˜ ํ•ฉ์ด ์ตœ์  ๊ฒฝ๋กœ ์ด๋‹ค.2๏ธโƒฃ ๋”ฐ๋ผ์„œ ์ตœ์  ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” N ๋ฒˆ์งธ ์™„ํ™”๊ณผ์ •์„ ๊ฑฐ์ณ๋„ ๊ฐ€์ค‘์น˜์˜ ํ•ฉ์ด ์ปค์ง€๋Š” ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์ด๋‹ค.3๏ธโƒฃํ•˜์ง€๋งŒ ์–‘์˜ ์‚ฌ์ดํด์ด 1์—์„œ N๊นŒ์ง€์˜ ๊ฒฝ๋กœ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ตœ์  ๊ฒฝ๋กœ๋Š” ๊ทธ๋Œ€๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ž„์œผ๋กœ ์ƒ๊ด€ ์—†๋‹ค.2. ์ƒ๊ฐ์˜ ํ๋ฆ„: ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๊ธฐ๊นŒ์ง€ ๐Ÿ—ƒ๏ธ(1) IDEA ๋„์ถœ๐Ÿ’กKEY WORD: Bellman-ford, BF..
๋ฌธ์ œ ํ’€์ด

#Popular Posts

๋ฌธ์ œ ํ’€์ด
[๋ฐฑ์ค€] 11003 ์ตœ์†Œ๊ฐ’ ์ฐพ๊ธฐ java ํ’€์ด (๊ทธ๋ฆผ์œผ๋กœ ์‰ฌ์šด ์„ค๋ช… ^^)
cover-img
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ์—์„œ ๋” ๋‚˜์•„๊ฐ€์„œ, ์œˆ๋„์šฐ ๊ตฌ๊ฐ„์•ˆ์— ์ตœ์†Œ๊ฐ’์„ ๋งค๋ฒˆ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: Sliding Window, Data Structure (Deque)ํŒŒ์ด์ฌ์—์„œ๋Š” ์ถ”๊ฐ€์‹œ๊ฐ„์ด ์ฃผ์–ด์ค˜์„œ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด๋„ ํ’€๋ฆฌ์ง€๋งŒ, Java์—์„œ๋Š” ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ์™œ ์šฐ์„ ์ˆœ์œ„ ํ๋กœ๋Š” ์•ˆ๋˜๋Š”์ง€์— ๋Œ€ํ•ด 4๋ฒˆ ํ•ญ๋ชฉ์—์„œ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.(1) ์ „์ฒด ์ ‘๊ทผ ๋ฐฉ์‹ArrayDeque๋กœ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.(ํ•ด๋‹น deque๋Š” ํ˜„์žฌ ๊ตฌ๊ฐ„์ธ ๊ฐ’๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๊ฐ’์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. (front = ์ตœ์†Œ๊ฐ’))์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ์”ฉ ์›€์ง์ธ๋‹ค.๊ตฌ๊ฐ„์— ์‹ ๊ทœ๋กœ ์ถ”๊ฐ€๋  ๊ฐ’์„ A๋ผ๊ณ  ์ณค์„ ๋•Œ, A์™€ deque์˜ rear(๊ผฌ๋ฆฌ)๋ฅผ ๋น„๊ตํ•œ๋‹คrear > A:..
2024.12.21
๋ฌธ์ œ ํ’€์ด
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv2 ํผ์ฆ๊ฒŒ์ž„์ฑŒ๋ฆฐ์ง€ java ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ’€์ด!
cover-img
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ1๋ฒˆ ํผ์ฆ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ์ด 1์ด๋ผ ํ–ˆ์„ ๋•Œ, ์ฒซ ๋ฒˆ์งธ ํผ์ฆ์€ ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ >= ํผ์ฆ์˜ ๋‚œ์ด๋„ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•จ์œผ๋กœ ์‹œ๊ฐ„์„ 3๋ถ„ ๋“œ๋ ค์„œ ํผ์ฆ์„ ์™„๋ฃŒํ•œ๋‹ค.2๋ฒˆ ํผ์ฆ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ ํผ์ฆ์˜ ๋‚œ์ด๋„ ์ด๋‹ค.์ด ๊ฒฝ์šฐ ๋ฌธ์ œ์˜ ์š”๊ตฌ์กฐ๊ฑด์ฒ˜๋Ÿผ ์ง์ „ ํผ์ฆ์„ (ํผ์ฆ์˜ ๋‚œ์ด๋„ - ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ) ๋งŒํผ ๋‹ค์‹œ ํ’€์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ 2๋ฒˆ ํผ์ฆ์„ ํ‘ธ๋Š”๋ฐ๋Š” 1*3+4 = 7๋ถ„์˜ ์‹œ๊ฐ„์ด ๋“ ๋‹ค.3๋ฒˆ ํผ์ฆ์ด๊ฒƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ ํผ์ฆ์˜ ๋‚œ์ด๋„ ์ž„์œผ๋กœ (ํผ์ฆ์˜ ๋‚œ์ด๋„ - ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ)*4 + 2 = 10๋ถ„ ์ด ๋“ ๋‹ค.๋”ฐ๋ผ์„œ, ์‚ฌ์šฉ์ž์˜ ๋ ˆ๋ฒจ์ด 1์ด๋ฉด ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ ์ด 20๋ถ„์ด ์†Œ์š”๋œ๋‹ค.๋ฌธ์ œ์—์„œ๋Š” limit ์ด๋ผ๋Š” ์ œํ•œ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค.์ œํ•œ ์‹œ๊ฐ„ ์•ˆ์— ํผ์ฆ์„ ๋‹ค ํ’€ ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋ ˆ๋ฒจ์ด ๋ช‡์ธ์ง€ ๊ตฌํ•˜์—ฌ๋ผ2. ์ ‘๊ทผ ๋ฐฉ..
2024.10.14
๋ฌธ์ œ ํ’€์ด
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv3 ํ•ฉ์Šน ํƒ์‹œ ์š”๊ธˆ java ์ ‘๊ทผ ๋ฐฉ์‹๋ถ€ํ„ฐ ์ฝ”๋“œ ๋ถ„์„๊นŒ์ง€
cover-img
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋ฌด์ง€๋ž‘ ์–ดํ”ผ์น˜๋ž‘ ์•ผ๊ทผ์„ ๋๋‚ด๊ณ , ์ง‘์— ๊ฐˆ๋ ค๊ณ ํ•จ.๋ฒ„์Šค๊ฐ€ ๋Š๊ฒจ์„œ ํƒ์‹œ๋ฅผ ํƒ€์•ผ ํ•˜๋Š”๋ฐ, ํƒ์‹œ ์š”๊ธˆ์ด ๊ฑฑ์ •๋จ.๋งˆ์นจ ๋ฌด์ง€๋ž‘ ์–ดํ”ผ์น˜๊ฐ€ ์ง‘ ๊ฐ€๋Š” ๋ฐฉํ–ฅ์ด ๊ฐ™์€ ์ชฝ์ด๋ผ, ์ตœ๋Œ€ํ•œ ํ•ฉ์Šนํ•ด์„œ ์ „์ฒด ํƒ์‹œ ๋น„์šฉ์„ ์ค„์ด๋ ค๊ณ  ํ•จ. ๋‹ค๋งŒ ํ•ฉ์Šนํ•˜์ง€ ์•Š๊ณ  ๊ฐ€๋Š”๊ฒŒ ์ „์ฒด ํƒ์‹œ ๋น„์šฉ์ด ๋” ์ž‘์„ ๊ฒฝ์šฐ, ๊ทธ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•จ.ํšŒ์‚ฌ ์œ„์น˜ : s, ๋ฌด์ง€ ์ง‘: a, ์–ดํ”ผ์น˜ ์ง‘: b ์˜ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๊ณ  ์น˜์ž.์–ดํ”ผ์น˜์™€ ๋ฌด์ง€์˜ ํƒ์‹œ ์š”๊ธˆ์„ ์ „๋ถ€ ํ•ฉ์ณค์„ ๋•Œ, ์ตœ์†Œ ํƒ์‹œ ์š”๊ธˆ์„ ๋ฐ˜ํ™˜ํ•˜๋ผ.ํžŒํŠธ๋งŒ ์–ป๊ณ  ๊ฐ€์‹ค ๋ถ„๋“ค์€ ์ ‘๊ทผ ๋ฐฉ์‹๊นŒ์ง€๋งŒ ๋ณด๊ณ  ๊ฐ€์‹œ๊ธธ ๋ฐ”๋ผ๊ณ , ํ’€์ด๋ฒ•์„ ๋ณด์‹ค ๋ถ„๋“ค์€ ๋๊นŒ์ง€ ์ฝ์–ด์ฃผ์‹œ๋ผ2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: ๋‹ค์ต์ŠคํŠธ๋ผํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ๋‹ค์ต์ŠคํŠธ๋ผ์ธ ๊ฒƒ์„ ์•Œ์•„์ฑ„๊ธฐ๋Š” ์‰ฝ์ง€๋งŒ ๊ฑฐ๊ธฐ์— ๋”ํ•ด ์•„์ด๋””์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ทธ์ € ..
2024.10.23
SpringMVC
HTTP์—์„œ Binary File์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• (MIME, Base64)
cover-img
1. HTTP์—์„œ ์™œ ์ผ๋ฐ˜์ ์œผ๋ก  Binary File์„ ์ „์†กํ•  ์ˆ˜ ์—†๋Š”๊ฐ€? (1) ํŒŒ์ผ ์ข…๋ฅ˜ ๊ตฌ๋ถ„ Binary ํŒŒ์ผ ํ…์ŠคํŠธ ํŒŒ์ผ ์ €์žฅํ•˜๋Š” ๋‚ด์šฉ ๋ฌธ์ž์™€ ์ˆซ์ž ๋ชจ๋‘ ์ €์žฅ ๋ฌธ์ž๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ ์ฝ์„ ๋•Œ ์ ํžŒ ๊ทธ๋Œ€๋กœ ์ฝ๋Š”๋‹ค . ๋ฌธ์ž -> ๋ฌธ์ž๋กœ ์ฝ์Œ, ์ˆซ์ž -> ์ˆซ์ž๋กœ ์ฝ์Œ ์ˆซ์ž๋Š” ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ ํ•ด์„œ ์ฝ๋Š”๋‹ค. ๋ฌธ์ž -> ๋ฌธ์ž ์ˆซ์ž -> ๋ฌธ์ž ๋ฐ์ดํ„ฐ ์“ธ ๋•Œ ์ ํžŒ ๊ทธ๋Œ€๋กœ ์“ด๋‹ค. ๋ฌธ์ž -> ๋ฌธ์ž ์ˆซ์ž -> ์ˆซ์ž ์ˆซ์ž๋„ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž๋งŒ ์“ด๋‹ค. ๋ฌธ์ž -> ๋ฌธ์ž ์˜ˆ์‹œ ์ด๋ฏธ์ง€, ๋™์˜์ƒ ํŒŒ์ผ, ํ”„๋กœ๊ทธ๋žจ ๊ธ€๋กœ ์ ํžŒ ๊ฒƒ (2)์™œ HTTP ์—์„  Binary file์„ ๋ชป ์ฝ๋Š”๊ฐ€? HTTP๋Š” ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ”„๋กœํ† ์ฝœ, ์ผ๋ฐ˜์ ์œผ๋กœ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์ฝ๊ธฐ ์œ„ํ•ด ๋””์ž์ธ ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ฝ์œผ๋ ค๋ฉด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ํ•„..
2023.02.28
๋ฌธ์ œ ํ’€์ด
๊ฒ๋‚˜ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•œ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 12903. 3xn ํƒ€์ผ๋ง java
cover-img
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ๋ฌธ์ œ ์„ค๋ช…๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 1์ธ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํƒ€์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง์‚ฌ๊ฐํ˜• ํƒ€์ผ์„ ์ด์šฉํ•˜์—ฌ ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 3์ด๊ณ  ๊ฐ€๋กœ์˜ ๊ธธ์ด๊ฐ€ n์ธ ๋ฐ”๋‹ฅ์„ ๊ฐ€๋“ ์ฑ„์šฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ผ์„ ์ฑ„์šธ ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹คํƒ€์ผ์„ ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐํƒ€์ผ์„ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ์˜ˆ๋ฅผ๋“ค์–ด์„œ n์ด 8์ธ ์ง์‚ฌ๊ฐํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฑ„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ์˜ ๊ธธ์ด n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.์ œํ•œ์‚ฌํ•ญ๊ฐ€๋กœ์˜ ๊ธธ์ด n์€ 5,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค.๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„ ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ 1,000,000,007์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ returnํ•ด์ฃผ์„ธ์š”.์ž…์ถœ๋ ฅ ์˜ˆnresult411์ž…..
2024.06.16
๋ฌธ์ œ ํ’€์ด
ํ•ญํ•ด 99 ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 5๊ธฐ 8์ผ์ฐจ + [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv3 ์–‘๊ณผ ๋Š‘๋Œ€ java ํ’€์ด
cover-img
1. ๋ฌธ์ œ ์„ค๋ช…๐Ÿ“Œ(1) ๋งํฌ๐Ÿ”—ย ย ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krย (2) ์ฃผ๋ชฉ ํฌ์ธํŠธ ๐Ÿ•ต1๏ธโƒฃ ๋Š‘๋Œ€ >= ์–‘ ์ด๋ฉด ๋ชจ์•˜๋˜ ์–‘์˜ ๊ฐœ์ˆ˜๊ฐ€ 0์ด ๋œ๋‹ค!2๏ธโƒฃ ํ˜„์žฌ ํŠน์ •ํ•œ ์„œ๋ธŒ ํŠธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธ ์ค‘์ด๋ผ ๊ฐ€์ •ํ•  ๋•Œ, ํ•ด๋‹น ํŠธ๋ฆฌ์—์„œ ์ตœ๋Œ€ ์ด์ต์„ ์ด๋ฏธ ๋ƒˆ๋‹ค๊ณ  ํ™•์‹ ํ•œ๋‹ค๋ฉด, ์กฐ์ƒ ๋…ธ๋“œ๋ฅผ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€ ๋‹ค๋ฅธ ์„œ๋ธŒ ํŠธ๋ฆฌ๋ฅผ ํŒŒ๊ณ  ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.2. ์ƒ๊ฐ์˜ ํ๋ฆ„: ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๊ธฐ๊นŒ์ง€ ๐Ÿ—ƒ๏ธ(1) IDEA ๋„์ถœ๐Ÿ’กKEY WORD: BACK-TRACKING, DFSํ•ด์„ค์—์„œ ์„ค๋ช…ํ•œ 2๏ธโƒฃ๋ฒˆ์งธ ํฌ์ธํŠธ ๋•Œ๋ฌธ์—, ์ด๋ฒˆ ๋ฌธ์ œ๋Š” BACK-TRACKING์— ๊ฐ€๊น๊ฒŒ ๋ณ€ํ˜•๋œ DFS๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์„ ํ•˜๋Š” ์„ฑ์งˆ์€..
2025.01.22

#Notice

cover-img
์™œ ๋ธ”๋กœ๊ทธ ์ด๋ฆ„์ด ์ •์‹ ๊ณผ ์‹œ๊ฐ„์˜ ๋ฐฉ์ธ๊ฐ€์š”?

๋“œ๋ž˜๊ณค๋ณผ Cell saga๋ฅผ ๋ณด์…จ๋‚˜์š”?

ํ•ด๋‹น ์—ํ”ผ์†Œ๋“œ์—์„œ ์ฃผ์ธ๊ณต ์ผํ–‰์€ ๋ง‰๊ฐ•ํ•œ ์ ์„ ์ด๊ธฐ๊ธฐ ์œ„ํ•˜์—ฌ ํ•˜๋ฃจ๊ฐ€ 1๋…„์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ •์‹ ๊ณผ ์‹œ๊ฐ„์˜ ๋ฐฉ์— ๋“ค์–ด๊ฐ€ ์ˆ˜๋ จ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ธ”๋กœ๊ทธ๊ฐ€ ์ €์—๊ฒŒ ํ•˜๋ฃจ๋ฅผ 1๋…„์ฒ˜๋Ÿผ ์•Œ์ฐจ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ๋˜์–ด ์ œ ์„ฑ์žฅ์„ ๋„์™€์ฃผ๊ธธ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์—์„œ ์ง€์—ˆ์Šต๋‹ˆ๋‹ค ๐Ÿค—


Home ๊นƒํ—ˆ๋ธŒ
cover-img

D-day

์ƒ์ผ๊นŒ์ง€