์ „์ฒด ๊ธ€

My dev Note๐Ÿ“’

    [์ธํ…”๋ฆฌ์ œ์ด] ๊นƒ ์ปค๋ฐ‹

    https://sudo-minz.tistory.com/24 ์ธํ…”๋ฆฌ์ œ์ด(IntelliJ) ํ”„๋กœ์ ํŠธ์™€ ๊นƒ(Git) ์—ฐ๋™ํ•˜๊ธฐ ์ธํ…”๋ฆฌ์ œ์ด(IntelliJ) ํ”„๋กœ์ ํŠธ์™€ ๊นƒ(Git) ์—ฐ๋™ํ•˜๊ธฐ GitHub์— ์ƒˆ๋กœ์šด remote repository๋ฅผ ๋งŒ๋“ค๊ณ  ๊ธฐ์กด IntelliJ ํ”„๋กœ์ ํŠธ(๋ชจ๋“ˆ)์„ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ๋‹ค. ๊ณผ์ •์€ ๋‹ค์Œ ์ˆœ์„œ๋กœ ์ง„ํ–‰๋œ๋‹ค. โ€‹ 1) IntelliJ์— sudo-minz.tistory.com

    [์ž๋ฐ”][์Šคํ”„๋ง] DI, Dependency injection

    [์ž๋ฐ”][์Šคํ”„๋ง] DI, Dependency injection

    ์›๋ž˜ ํด๋ž˜์Šค ์•ˆ์— ํ•„๋“œ๋ฅผ ๋„ฃ์–ด์ค„ ๋•Œ new () ...์‹์œผ๋กœ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜์—ฌ ๋„ฃ์–ด์ค€๋‹ค. ํ•˜์ง€๋งŒ @RestController ๋ฅผ ๋ถ™์—ฌ์ค€ ํด๋ž˜์Šค๋Š” ์Šคํ”„๋ง์—์„œ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ Autowired ์“ธ ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ํ•„๋“œ์— ๋Œ€์ž…ํ•ด์ค€๋‹ค. @Autowired private MarketService marketService; //์ฐธ๊ณ ๋กœ marketService ๋„ ์„œ๋น„์Šค@Service๋ผ๋Š” ์–ด๋…ธํ…Œ์ด์…˜ ๋ถ™์—ฌ์ค€๋‹ค. ์„œ๋น„์Šค ๋ถ™์ธ ๊ฒƒ๋“ค๋งŒ ์Šคํ”„๋ง ์ปจํ…์ŠคํŠธ์— ์ธ์Šคํ„ด์Šค๋“ค์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์ธ์Šคํ„ด์Šค๋“ค์„ '๋นˆ'์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. package com.bbokkie.coinner.controller; import com.bbokkie.coinner.service.MarketService; import org.s..

    [์ž๋ฐ”][์Šคํ”„๋ง] GET ์š”์ฒญ์— param์˜ ์„ค์ •ํ•˜๊ธฐ

    [์ž๋ฐ”][์Šคํ”„๋ง] GET ์š”์ฒญ์— param์˜ ์„ค์ •ํ•˜๊ธฐ

    ์บก์ฒ˜์™€ ๊ฐ™์ด ์ปจํŠธ๋กค๋Ÿฌ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ์†Œ์Šค ์ฝ”๋“œ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. package com.bbokkie.coinner.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class MarketController { @GetMapping("/price") public double getPrice( @RequestParam String market, @Request..

    [์ž๋ฐ”][์Šคํ”„๋ง] ํฌํŠธ๋ฒˆํ˜ธ ๋ฐ”๊พธ๊ธฐ

    [์ž๋ฐ”][์Šคํ”„๋ง] ํฌํŠธ๋ฒˆํ˜ธ ๋ฐ”๊พธ๊ธฐ

    resources์— ํŒŒ์ผ application.yml ๋งŒ๋“ค์–ด์ฃผ๊ณ  server: port: 1234 ์œ„์™€ ๊ฐ™์ด ๋ฐ”๊พธ๊ณ  ์‹ถ์€ ํฌํŠธ๋ฒˆํ˜ธ๋กœ ๋ฐ”๊พธ๊ธฐ๋งŒ ํ•˜๋ฉด ๋!

    [์•„ํ‚คํ…ํŒ…] ๊ฐ์ฒด ์ง€ํ–ฅ ๋ถ„์„

    ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด๋˜์ง€ ๊ณ„ํš ๋‹จ๊ณ„๋Š” ๋ฌด์ฒ™ ์ค‘์š”ํ•˜๋‹ค. ๊ณ„ํš ๋‹จ๊ณ„์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์š”๊ตฌ ์กฐ๊ฑด๊ณผ ์–ด๋–ค ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜์•ผ์—ฌ ํ•œ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฉ์–ด๋กœ๋Š” ๊ฐน์ฒด ์ง€ํ–ฅ ๋ถ„์„(objected-oriented-analysis)๋ผ๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉ๋  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ๋ฐ”๋กœ ์ด ๋‹จ๊ณ„์ด๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ๋ถ„์„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค. 1. ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋  ๊ฐ์ฒด์™€ ํด๋ž˜์Šค๋ฅผ ์‹๋ณ„ํ•œ๋‹ค. 2. ๊ฐ ํด๋ž˜์Šค์˜ ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค. 3. ๊ฐ ํด๋ž˜์Šค์˜ ๋™์ž‘์„ ์ •์˜ํ•œ๋‹ค. 4. ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ฒœ์ธ๊ตญ ์ €, ์–ด์„œ์™€ c++์€ ์ฒ˜์Œ์ด์ง€!, p.201

    [C++] ์ธ๋ผ์ธ ํ•จ์ˆ˜

    ์ธ๋ผ์ธ ํ•จ์ˆ˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ์—๋Š” ์•ฝ๊ฐ„์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ „์— ๋ชจ๋“  ๋ ˆ์ง€์Šคํ„ฐ(CPU ์•ˆ์˜ ์ €์žฅ ๊ณต๊ฐ„)๊ฐ€ ์ €์žฅ๋˜์–ด์•ผ ํ•˜๊ณ  ์ธ์ˆ˜๋“ค์„ ๋ณต์‚ฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ํ•จ์ˆ˜ ํ˜ธ์ถœ ํ›„์—๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋“ค์ด ๋‹ค์‹œ ๋ณต๊ตฌ๋˜์–ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ์•„์ฃผ ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜๋ผ๋ฉด ํ•จ์ˆ˜ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์ค€๋น„ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ์—๋Š” ์ฐจ๋ผ๋ฆฌ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ์„œ ๋„ฃ์–ด์ฃผ๋Š” ํŽธ์ด ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋‹ค. c++์—๋Š” ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ์„œ inline์ด๋ผ๊ณ  ํ•˜๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ๋‹ค. ๋งŒ์•ฝ ํ•จ์ˆ˜ ์ด๋ฆ„ ์•ž์— inline์ด ๋ถ™์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํ•จ์ˆ ๋ฅด ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ํ•จ์ˆ˜์˜ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๊ณณ์— ์ง์ ‘ ์ง‘์–ด๋„ฃ๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ ์ธ๋ผ์ธ ํ•จ์ˆ˜(inline function)๋ผ๊ณ  ํ•œ๋‹ค..

    [JAVA][Python][์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ; ๋จธ์ง€

    Java // 2๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ํ•ฉ์น˜๊ธฐ : 2๊ฐœ์˜ ๋ฐฐ์—ด์€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค // ๋ณ‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ๋ณ‘ํ•ฉ import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Input int[] first = {1,3,5}; int[] second = {2,4,6}; int M = first.length; int N = second.length; // M : N ๊ด€ํ–‰ int[] merge = new int[N+M]; int i = 0; int j=0; int k = 0; //i,j,k ๊ด€ํ–‰ //[2] Process : Merge..