์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ 82

[ํ˜‘์—…] 1์ฐจ ํ”„๋กœ์ ํŠธ ํŒ€์› ํ‰๊ฐ€ ๋ฐ ํšŒ๊ณ 

1์ฐจ ํ”„๋กœ์ ํŠธ ํŒ€์› ํ‰๊ฐ€ ๋ฐ ํšŒ๊ณ 1. ํŒ€์› ํ‰๊ฐ€2. ํšŒ๊ณ 1. ํŒ€์› ํ‰๊ฐ€ 2. ํšŒ๊ณ ์ง„์งœ ์‹ค๋ ฅ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ์ค‘์š”์‹œํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜๊ฒŒ ์†Œํ†ต๊ณผ ํ˜‘์—… ๊ทธ๋ฆฌ๊ณ  ์ฑ…์ž„๊ฐ ์ด์—ˆ๋Š”๋ฐ ์ž˜ ๋ฐ˜์˜๋˜์—ˆ๋˜ ๊ฑฐ ๊ฐ™์•„์„œ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค.์ด์ œ ์‹ค๋ ฅ๋งŒ ์˜ฌ๋ฆฌ๋ฉด ๋จ!!!!!!!!!!!!!!!!!!!! ๋Ÿญํ‚ค๋น„ํ‚ค๋‹ˆ๐Ÿ‘™~!!!!!!!!!!!!!!!!!!๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Java] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)

์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดclass Solution { int gcd(int n, int m) { int r; while(m > 0) { r = n % m; n = m; m = r; } return n; } public int[] solution(int n, int m) { int[] answer = new int[2]..

[Spring] Spring ๊ด€๋ จ ๊ณต๋ถ€ํ•œ ๊ธฐ์ˆ  ๊ฐœ๋… ์š”์•ฝ ์ •๋ฆฌ

Spring ๊ด€๋ จ ๊ณต๋ถ€ํ•œ ๊ธฐ์ˆ  ๊ฐœ๋… ์š”์•ฝ ์ •๋ฆฌ Spring์—์„œ ๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜(Layered Architecture)์˜ ๊ฐ ๋ ˆ์ด์–ด(Controller, Service, Repository)์˜ ์—ญํ• ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.Controller: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ ์ ˆํ•œ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• .Service: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ ˆ์ด์–ด. Controller์—์„œ ์š”์ฒญ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ Repository์™€ ์ƒํ˜ธ์ž‘์šฉ.Repository: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ CRUDํ•˜๋Š” ์—ญํ• . JPA์—์„œ 1:1, 1:N, N:M ๋“ฑ์˜ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ณ  ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.1:1: ๋‘ ์—”ํ‹ฐํ‹ฐ ๊ฐ„ 1:1 ๊ด€๊ณ„ (์˜ˆ: Person๊ณผ Passport).1:N: ํ•˜๋‚˜์˜ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜..

[SQL] DATETIME์—์„œ DATE๋กœ ํ˜• ๋ณ€ํ™˜ - DATE_FORMAT (Lv. 2)

DATETIME์—์„œ DATE๋กœ ํ˜• ๋ณ€ํ™˜ - DATE_FORMAT (Lv. 2)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดSELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS ๋‚ ์งœ FROM ANIMAL_INS; DATE_FORMAT ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด DATETIME ํ˜•์‹์„ DATE ํ˜•์‹์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.DATETIME ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๊ฐ„ ์ •๋ณด๋„ ํฌํ•จ๋˜๊ณ , DATE ํ˜•์‹์€ ๋‚ ์งœ ์ •๋ณด๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ์—์„œ๋Š” DATE ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ๋˜๊ธฐ ๋•Œ๋ฌธ์— DATE_FORMAT ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•ด์ค๋‹ˆ๋‹ค..

[SQL] ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ - LIMIT (Lv. 1)

๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ - LIMIT (Lv. 1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ด- ํ’€์ด1SELECT ID, LENGTHFROM FISH_INFOWHERE LENGTH >= 10ORDER BY LENGTH DESC, IDLIMIT 10; - ํ’€์ด2SELECT ID, LENGTHFROM FISH_INFOWHERE LENGTH IS NOT NULLORDER BY LENGTH DESC, IDLIMIT 10; ๋ฌธ์ œ์—์„œ ๊ธธ์ด๊ฐ€ 10์ดํ•˜์ผ ๋•Œ NULL์ด๊ธฐ ๋•Œ๋ฌธ์— WHERE ์ ˆ์˜ ์กฐ๊ฑด์„ ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋˜‘๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.LIMIT 10 ..

[Javascript] var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…

var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ 2. ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ var์€ ES6 ์ด์ „์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋˜ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•˜๊ณ , ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. let, const๋Š” ES6์—์„œ ๋„์ž…๋œ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.let๊ณผ const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 2. ํ˜ธ์ด์ŠคํŒ…๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์„ ์–ธ์„ ์ฝ”๋“œ์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ํŠน์„ฑ์ž…๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ˜ธ์ด์ŠคํŒ…๋˜์–ด undefined๋กœ ์ดˆ๊ธฐํ™” ๋˜๊ณ , let๊ณผ const๋Š” ํ˜ธ์ด์ŠคํŒ…์ด ๋˜์–ด๋„ ์ดˆ..

[SQL] ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ (1) - GROUP BY (Lv. 2)

์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ (1) - GROUP BY (Lv. 2)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดSELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNTFROM ANIMAL_OUTSWHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME)  ANIMAL_OUTS ํ…Œ์ด๋ธ”์—์„œ ์˜ค์ „ 9์‹œ(09:00)๋ถ€ํ„ฐ ์˜คํ›„ 7์‹œ(19:00)๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋งŒ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.๊ทธ ํ›„ HOUR ๋ณ„๋กœ ๋ฌถ๊ณ  HOUR์˜ ์˜ค๋ฆ„์ฐจ์ˆœ ๋Œ€๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Java] N๊ณผ M (2) - ๋ฐฑํŠธ๋ž˜ํ‚น (Lv. Sliver3)

N๊ณผ M (2) - ๋ฐฑํŠธ๋ž˜ํ‚น (Lv. Sliver3)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/15650 2. ํ’€์ดimport java.util.*;import java.io.*;class Main { public static int N; public static int M; public static int[] arr; public static StringBuilder sb = new StringBuilder(); public static void backTracking(int cnt, int depth) { if (depth == M) { for (int value : arr) { ..

[Java] ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ

์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ ๋น„ํŠธ ์—ฐ์‚ฐ์„ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋‹ค๋ณด๋‹ˆ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š๋Š” ์ด์Šˆ๋กœ ์ธํ•ด ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค,,a๊ฐ€ 13์ด๊ณ , b๊ฐ€ 4์ผ ๋•Œ ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. System.out.println(a & b) a๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 1101, b๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 0100 ์ž…๋‹ˆ๋‹ค.a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘ ๋น„ํŠธ๊ฐ€ ๋ชจ๋‘ 1์ผ ๋•Œ๋งŒ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 0100 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. System.out.println(a | b) a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ํ•œ ๋น„ํŠธ๋ผ๋„ 1์ด๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 1101 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 13์ด ๋ฉ๋‹ˆ๋‹ค. System.out.println(a ^ b) XOR ์—ฐ์‚ฐ์œผ๋กœ a์™€ b์˜ ์ด์ง„์ˆ˜..

[JUnit] JUnit์œผ๋กœ ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

JUnit์œผ๋กœ ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. @Mockprivate ProductRepository productRepository;@InjectMocksprivate ProductService productServiceUnderTest; ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ํด๋ž˜์Šค ์•ˆ์— @Mock ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๊ฐ€์งœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.๋‹ค์Œ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋ฉ”์„œ๋“œ ์•ˆ์— @Test ์–ด๋…ธํ…Œ์ด์…˜์„ ์ง€์ •ํ•ด์ฃผ๊ณ  Given-When-Then ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค. - GivenUUID storeId = UUID.randomUUID();UUID productId = UUID.randomUUID();Store mockSto..