Java & Spring

์๋ฐ ArrayList ํ์ฉํ์ฌ Stack, Queue ๊ตฌํ
1. Queue ์ ์ ์ ์ถ ํ๋ ๋ฉํฐ ํ์คํน์ ์ํ ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ๋ฐฉ์์ ๊ตฌํํ๊ธฐ ์ํด ๋ง์ด ์ฌ์ฉ๋๋ค.(์ด์์ฒด์ ) ์๋ฐ์์๋ ํ์ ๊ฒฝ์ฐ, LinkedList๋ก ๊ตฌํํ ํ๊ฐ ๊ฐ์ฅ ๋์ค์ ์ด๋ผ๊ณ ํ๋ค. Queue q = new LinkedList(); import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList queue = new LinkedList(); queue.add("ํ๋"); queue.add("๋"); queue.add("์ "); queue.poll(); queue.remove(); queue.clear(); } } ๋งํฌ๋๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํด์ ํ (queue) ๊ตฌ์กฐ FIFO ์ ์ ์ ..
[์๊ณ ๋ฆฌ์ฆ][์๋ฐ] ์ต๋น๊ฐ ์๊ณ ๋ฆฌ์ฆ
์๋ฐ์ฝ๋ ๋ฐฐ์ด์ ๋ด๊ธด ์ซ์๊ฐ ๊ณง ๋ค๋ฅธ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ ๋๊ณ , ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ ๊ณ์ ++ ์ํค๋ ๊ฒ์ด ํฌ์ธํธ์ด๋ค. ์ํธ๊ฐ ๋๋ณด์ด๋ ์๊ณ ๋ฆฌ์ฆ // ์ต๋น๊ฐ ์๊ณ ๋ฆฌ์ฆ import java.util.Arrays; public class App { public static void main(String[] args) throws Exception { //[1] Input int[] input = {4,4,4,4,4,2}; int mode=0; int max=0; int[] indexs = new int[5+1]; //[2] Process for(int i=0;i
![[์๋ฐ][์คํ๋ง] DI, Dependency injection](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb2ndKX%2FbtrVaRT1SbV%2FvEj46Sy7GUIcFmhBMRnfSK%2Fimg.png)
[์๋ฐ][์คํ๋ง] 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์ ์ค์ ํ๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F80NfK%2FbtrU9dJOuLC%2FvClXmTGz1De9BkxCn1YB7K%2Fimg.png)
[์๋ฐ][์คํ๋ง] 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..
![[์๋ฐ][์คํ๋ง] ํฌํธ๋ฒํธ ๋ฐ๊พธ๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOep77%2FbtrU01qCi9t%2F7SygKKnS4LTkoWosYNDSuk%2Fimg.png)
[์๋ฐ][์คํ๋ง] ํฌํธ๋ฒํธ ๋ฐ๊พธ๊ธฐ
resources์ ํ์ผ application.yml ๋ง๋ค์ด์ฃผ๊ณ server: port: 1234 ์์ ๊ฐ์ด ๋ฐ๊พธ๊ณ ์ถ์ ํฌํธ๋ฒํธ๋ก ๋ฐ๊พธ๊ธฐ๋ง ํ๋ฉด ๋!
[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..
[JAVA][์๊ณ ๋ฆฌ์ฆ] ์ด์ง๊ฒ์ ์๊ณ ๋ฆฌ์ฆ
JAVA public class App { public static void main(String[] args) throws Exception { //[1] Input int [] numbers = {1,2,3,4,5,6,7,8,9,10,11,12}; //์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์๋ค๊ณ ๊ฐ์ int N = numbers.length; //์์ฌ์ฝ๋ int search = 7;//๊ฒ์ํ ๋ฐ์ดํฐ boolean flag = false; //์ฐพ์์ผ๋ฉด true int index = -1; //์ฐพ์ ์์น(์ธ๋ฑ์ค) //[2] Process : ์ด์ง ๊ฒ์ (Binary Search) int min = 0; int max = N - 1; while (min search) { max = mid - 1; } } //[3] Output ..
[Tomcat] 8080 ํฌํธ ๊ฐ์ ์ข ๋ฃ
Tomcat ํฌํธ 8080 ์ถฉ๋ ํด๊ฒฐ๋ฐฉ๋ฒ (tistory.com) Tomcat ํฌํธ 8080 ์ถฉ๋ ํด๊ฒฐ๋ฐฉ๋ฒ ์ดํด๋ฆฝ์ค์ ํฐ์บฃ์ ์ฐ๊ฒฐํ์ฌ ์์ ์ ํ๋ค๋ณด๋ฉด ํ๋ฒ์ฉ ์ฌ๊ตฌ๋์ค์ 8080ํฌํธ๊ฐ ์ถฉ๋์ด ์ผ์ด๋ ์คํ์ด ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ปดํจํฐ ์ฌ๋ถํ ์ ํ๊ฑฐ๋ ์ดํด๋ฆฝ์ค์ ์ฐ๋ sentinel32.tistory.com 1. netstat -a -o ๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ ์ฌ์ฉ์ค์ธ ํฌํธ ๋ชฉ๋ก์ด ๋์จ๋ค. 2. 8080ํฌํธ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค์ PID ์ซ์๋ฅผ ๊ธฐ์ตํด๋ ๋ค 3. taskkill /f /pid 'PID๋ฒํธ'๋ฅผ ์ ๋ ฅํ์ฌ 8080ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ์ข ๋ฃ์ํจ๋ค.
![[์คํ๋ง] ์ธํ
๋ฆฌ์ ์ด, ์ดํด๋ฆฝ์ค ์คํ๋ง์คํํธ ์ํฌํธ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpEQIr%2FbtrUbw4JdAk%2FnkoKcedv1v4cVxCVvsi3k1%2Fimg.png)
[์คํ๋ง] ์ธํ ๋ฆฌ์ ์ด, ์ดํด๋ฆฝ์ค ์คํ๋ง์คํํธ ์ํฌํธ
https://start.spring.io/ ์ธํ ๋ฆฌ์ ์ด๋ ๊ทธ๋๋ค, ์ดํด๋ฆฝ์ค๋ ๋ฉ์ด๋ธ์ผ๋ก ํด๋ณด๊ฒ ์ต๋๋ค. ๋น์ฐํ ๋ฉ์ด๋ธ์ ์ธํ ๋ฆฌ์ ์ด์์, ๊ทธ๋๋ค์ ์ดํด๋ฆฝ์ค์์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ์ง๋ง ์ ๋ณด ๊ณต์ ์ฐจ ๊ฐ๊ฐ ํ ์ผ์ด์ค๋ง ๋ฐฉ๋ฒ ๊ธฐ๋กํด๋ก๋๋ค. Gradle๋ก ํ๊ธฐ : IntelliJ ํ๋ก์ ํธ ๊ตฌ์กฐ์์ ์๋ฐ 17๋ก ๋ฐ๊ฟ์ฃผ๊ณ ํ๋ก์ ํธ์ ๋ชจ๋ ํญ์์ sdk 17๋ก ๋ฐ๊ฟ์ฃผ์ธ์ ์ฌ๊ธฐ๊น์ง๋ ๊ตฌ๊ธ๋ง์ผ๋ก ์ฝ๊ฒ ์ฐพ์๋ณด์ จ์ ๊ฒ๋๋ค. ๊ทธ๋ฐ๋ฐ.... ์๋๋ ๋ถ๋ค์ด ์์๊ฒ๋๋ค.(์ ๋ ๊ทธ๋ฌ์,,,) ์๋ ์ธํ ๊ผญ ํด์ค์๋ค(์ฐพ๋๋ฐ ์ดํ๊ฑธ๋ฆผ) Maven : eclipse ์ดํด๋ฆฝ์ค ํ์ผ -> ์ํฌํธ-> EXISTING MAVEN ์ ๋ ฅ ๋ฐ ์ ํ-> ๋ธ๋ผ์ฐ์ฆ ํ ๋ด์ ์์ฑํ ์คํ๋ง๋ถํธ ํด๋ฆญ ์ด์ ์ฌ๋ฐ๊ฒ ์คํ๋ง ํด๋ณผ๊น์? 'ใ ' 2022-12-22T20:1..
[์๋ฐ/ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ฐ์ดํฐ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋จธ์ง ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ์๊ฑฐ๋ ํฐ ๋ฐ์ดํฐ์ ์๋ฆฌ๋ฅผ ๋ฐ๊พธ๋ ์์ผ๋ก ๋ฐ๋ณต ๋น๊ตํ๋ ์ ๋ ฌ ๋ฐฉ๋ฒ์ด๋ค. ์ ํ ์ ๋ ฌ์ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ n๊ฐ์ด๋ฉด ์ ์ฒด ํ์ ์๋ n-1ํ์ด๋ค. ์ ํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ค๋ฆ์ฐจ์์ด๋ผ๋ฉด ๋ฐฐ์ด์ ์ฒ์๋ถํฐ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๊ฐ ์ฑ์์ง๋ค. 1ํ์ : 0๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋จธ์ง ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ์์ ๊ฐ๊ณผ ์๋ฆฌ๋ฅผ ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ 0๋ฒ์งธ ์ธ๋ฑ์ค์๋ ๊ฐ์ฅ ์์ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ด๋ค. 2ํ์ : 1๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ค์ ๋จ์ ๋๋จธ์ง ๋ฐ์ดํฐ์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ์์ ๊ฐ๊ณผ ์๋ฆฌ๋ฅผ ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ 1๋ฒ์งธ ์ธ๋ฑ์ค์๋ ๋๋ฒ์งธ๋ก ์์ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ด๋ค. ์๋ฐ ์ฝ๋ public class App { public static void ma..