Notice
Recent Posts
Link
Today
Total
05-12 02:45
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (77)

dingdong coding

Monolithic Architecture, Micro Service Architecture

Monolithic Architecture, Micro Service Architecture (MSA) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „ ๋จผ์ € ๋‘ ์•„ํ‚คํ…์ณ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ทธ๋ฆผ์„ ์‚ดํŽด๋ด…์‹œ๋‹ค. ** ์™ผ์ชฝ์€ ๋ชจ๋†€๋ฆฌ์‹(Monolithic), **์˜ค๋ฅธ์ชฝ์€ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค(Micro Service) ๋ณด๋‹ค์‹ถ์ด Monolithic์€ ํ•˜๋‚˜์˜ Project๋กœ ํ†ตํ•ฉ๋˜์–ด ๊ฐœ๋ฐœ๋˜๋Š”, MSA๋Š” ๋ชจ๋“ˆ๋ณ„๋กœ ๊ฐœ๋ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋‘ ์•„ํ‚คํ…์ณ์˜ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ์•Œ์•„๋ด…์‹œ๋‹ค. Monolithic Architecture ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ์ „ํ†ต์  ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋“  ์‹œ์Šคํ…œ, ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํ•œ ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. 1 Project : 1 Application์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋ณดํ†ต ๋™์ผํ•œ ๊ฐœ๋ฐœ ํˆด์„ ์ด์šฉํ•ด ๊ฐœ๋ฐœํ•˜..

๐ŸŒˆWeb & Network 2022. 6. 27. 13:09
Bean Scope - ProtoType Scope

Bean Scope ๋Š” ๋ง๊ทธ๋Œ€๋กœ ๋นˆ์ด ์กด์žฌํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. Bean Life Cycle ์—์„œ ์‚ดํŽด๋ดค๋“ฏ์ด ๋นˆ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜์–ด์„œ Container๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Spring Container๋Š” ๋นˆ์„ ๋“ฑ๋กํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค(Bean)๋ฅผ ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ  ์‹ฑ๊ธ€ํ†ค ์Šค์ฝ”ํ”„๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ( ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋นˆ์€ ์Šค์ฝ”ํ”„๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ์‹ฑ๊ธ€ํ†ค์ด๋‹ค ) ๋Œ€์ƒ ํด๋ž˜์Šค์— @Scope( ) ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ์Šค์ฝ”ํ”„ ์ง€์ • //์ปดํฌ๋„ŒํŠธ ์Šค์บ” ์ž๋™ ๋“ฑ๋ก @Scope("prototype") // @Scope(”singletone”) @Component public class HelloBean {} //์ˆ˜๋™๋“ฑ๋ก @Scope("prototype") // @Scope(..

๐ŸSpring/Basic 2022. 6. 23. 23:00
Bean Life Cycle

Spring Container๋Š” ์ž๋ฐ” ๊ฐ์ฒด(Bean)์˜ ์ƒ์„ฑ๊ณผ ์†Œ๋ฉธ ๊ฐ™์€ ์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ์ž๋ฐ” ๊ฐ์ฒด๋“ค์—๊ฒŒ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. Bean Life Cycle • Spring์˜ Bean์€ Java ๋˜๋Š” XML bean ์ •์˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์ธ์Šคํ„ด์Šคํ™” ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. • Bean์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์ „, ์‚ฌํ›„ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. • ๊ทธ ํ›„ Bean์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉด Ioc Container์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. • ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•ด์ œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ „ ๋ฐ ์‚ฌํ›„ ์†Œ๋ฉธ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, Bean์˜ Life Cycle์ด๋ž€ ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜์–ด ์†Œ๋ฉธ๋˜๊ธฐ ์ „๊นŒ์ง€ ์–ด๋–ค ์ž‘..

๐ŸSpring/Basic 2022. 6. 23. 02:23
Singleton Pattern

ํ•„์š”์„ฑ ๋จผ์ € Singleton ํŒจํ„ด์„ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•œ ๋ช…์˜ ์œ ์ €๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ์œ ์ €๊ฐ€ ์ด์šฉํ•˜๋ฉฐ ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ๋™์‹œ ๋‹ค๋ฐœ์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์ ์šฉํ•˜์ง€ ์•Š์€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋ฉด ์š”์ฒญ์„ ๋ฐ›์„ ๋•Œ ๋งˆ๋‹ค ์š”์ฒญ ๋ฐ›์€ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์†Œ๋ฉธ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๋ฌด์ˆ˜ํžˆ ๋ฐ˜๋ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์‹ฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉฐ ์ด์™€ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Singleton Pattern • ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๊ฐ€ ์˜ค์ง 1๊ฐœ๋งŒ ์กด์žฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. • ๊ฐ์ฒด๊ฐ€ ํ˜„์žฌ JVM์•ˆ์— ํ•˜๋‚˜๋งŒ ์žˆ์–ด์•ผํ•˜๋Š” ํŒจํ„ด • private ์ƒ์„ฑ์ž ์™ธ๋ถ€์—์„œ new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด๋ฅผ 2๊ฐœ ์ด์ƒ ์ƒ์„ฑํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋ง‰์Šต๋‹ˆ๋‹ค. ..

๐ŸฐJAVA/Design Pattern 2022. 6. 21. 21:46
[JAVA ] Collection

Collection Framework ? • ๊ฐ์ฒด์˜ ๊ทธ๋ฃน • ์ž๋ฐ”์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. • Collection ์ธํ„ฐํŽ˜์ด์Šค๋Š” List, Set, Queue ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ™•์žฅ๋˜๋Š” ๋ฃจํŠธ ์ธํ„ฐํŽ˜์ด์Šค • Java์—์„œ๋Š” ๋ชจ๋“  Collection ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํฌํ•จํ•˜๋Š” ์ง‘ํ•ฉ์ธ "Collection Framework"๋ผ๋Š” ๊ฐœ๋…์ด ์ •์˜ • ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—๋Š” ์ปฌ๋ ‰์…˜์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ์ง‘ํ•ฉ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„ํ•ด ๋†“์€ ๊ฒƒ ์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค 1) ..

๐ŸฐJAVA/Basic 2022. 6. 20. 12:11
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Level 2

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Level1 ์ „์ฒด ํ’€์ด JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ JadenCase๋ž€ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ด๊ณ , ๊ทธ ์™ธ์˜ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋‹จ, ์ฒซ ๋ฌธ์ž๊ฐ€ ์•ŒํŒŒ๋ฒณ์ด ์•„๋‹ ๋•Œ์—๋Š” ์ด์–ด์ง€๋Š” ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (์ฒซ ๋ฒˆ์งธ ์ž…์ถœ๋ ฅ ์˜ˆ ์ฐธ๊ณ ) ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s๋ฅผ JadenCase๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์กฐ๊ฑด s๋Š” ๊ธธ์ด 1 ์ด์ƒ 200 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. s๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž, ๊ณต๋ฐฑ๋ฌธ์ž(" ")๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž๋Š” ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๋กœ๋งŒ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ณต๋ฐฑ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. # JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ def solution(s): answer = '' arr..

๐Ÿ”ตCoding Test/Algorithm 2022. 6. 19. 01:04
[ ์ด๊ฒƒ์ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ ] ๊ตฌํ˜„ ๋ฌธ์ œ

1. ๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ • ๋ฌธ์ œ ๊ฒŒ์ž„์˜ ์•„์›ƒ๋ณต์„œ ์บ๋ฆญํ„ฐ๋Š” ํ•„์‚ด๊ธฐ์ธ '๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ' ๊ธฐ์ˆ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์ˆ ์€ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๋Œ€์‹ ์— ๊ฒŒ์ž„ ๋‚ด์—์„œ ์ ์ˆ˜๊ฐ€ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ •์กฐ๊ฑด์ด๋ž€ ํ˜„์žฌ ์บ๋ฆญํ„ฐ ์ ์ˆ˜๋ฅผ N์ด๋ผ๊ณ  ํ•  ๋•Œ ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ ์ˆ˜ N์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„์–ด ์™ผ์ชฝ ๋ถ€๋ถ„์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜ ํ•ฉ๊ณผ ์˜ค๋ฅธ์ชฝ ๋ถ€๋ถ„์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๋”ํ•œ ๊ฐ’์ด ๋™์ผํ•œ ์ƒํ™ฉ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ ์ ์ˆ˜๊ฐ€ 123,402๋ผ๋ฉด ์™ผ์ชฝ ๋ถ€๋ถ„์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์€ 1 + 2 + 3, ์˜ค๋ฅธ์ชฝ ๋ถ€๋ถ„์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์€ 4 + 0 + 2์ด๋ฏ€๋กœ ๋‘ ํ•ฉ์ด 6์œผ๋กœ ๋™์ผํ•˜์—ฌ ๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด ๋Ÿญํ‚ค ์ŠคํŠธ๋ ˆ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š” • ์ž…๋ ฅ์กฐ..