728x90 전체 글249 Group By, Having Group By Group By는 특정 칼럼명을 지정해 주면 그 칼럼의 유니크한 값에 따라서 데이터를 그룹짓고, 중복을 제거합니다. ex) select name, count(*) from lms0806 group by name; Having Group By로 그룹지어진 칼럼들에 조건을 거는 형식으로 작동합니다. ex) select name, count(*) from lms0806 group by level having count(*) > 4 2022. 3. 16. Union, Union all ※ 주의해야 할 점 : 가져올 필드의 명이 같아야함, 필드의 타입들이 각각 같아야함 Union : 중복되지 않는 정보들을 가져옴 ex) (select name from lms0806 where lms0806.age > 10) union (select names as name from lms0806s where lms0806s.age > 10) 이렇게 진행할 경우 이름이 같은 경우 distinct(중복 제거) 함수와 같은 효과가 발동함 Union all : 중복되더라도 모든 값들을 가져옴 ex) (select name from lms0806 where lms0806.age > 10) union all (select names as name from lms0806s where lms0806s.age > 10) 2022. 3. 15. Select, From, Where select : 원하는 정보를 선택하여 가져옴 ex) select * 전체 정보 가져오기 from : 정보를 가져올 경우 정해진 테이블을 선택함 ex) select * from lms0806 lms0806테이블에 있는 모든 정보를 가져와 보여줌 where : 정보를 가져올 경우 제한을 둘 수 있음 (if) ex) select * from lms0806 where name = "lms0806s" lms0806테이블에 있는 정보 중 이름이 "lms0806s"에 대한 정보를 보여줌 2022. 3. 15. Http Method의 종류와 사용법 1. Get 원하는 정보를 가져오기 위해 사용합니다. ex) 게시글에서 게시판에 있는 목록을 가져올 경우 GET 요청이 성공적으로 이루어지면 200(ok) 응답 코드와 함께 Json 이나 XML을 리턴합니다. 에러가 발생할 경우 주로 404(Not Found)나 400(Bad Request)를 리턴합니다. 2. Post 새로운 정보를 입력하기 위해 사용합니다. ex) 회원가입, 글작성 Post 요청이 성공적으로 이루어지면 201(Created)를 반환합니다. URL를 통해서 데이터를 받지 않고 Body를 통하여 데이터를 받습니다. 3. Put 있는 데이터를 수정할 경우 사용합니다. ex) 회원정보 수정, 글수정 이미 있는 데이터와 수정할 데이터를 같이 보내야만 완료가 가능합니다. 수정할 데이터만 보낼 경.. 2022. 3. 15. 스프링의 실행 순서 스프링 시작 1. 톰캣 시작 - 서버작동 2. web.xml 로딩 3. web.xml에 등록되어 있는 ContextLoaderListener (Java Class) 생성 4. context.xml에 등록되어 있는 Spring Container 구동 5. 클라이언트로부터 웹 어플리케이션 요청이 들어옴 6. DispatcherServlet이 생성 7. DispatcherServlet은 context.xml 로딩 8. 구동 순서 8.1 클라이언트가 해당 어플리케이션에 접근하면 접근한 URL 요청을 DispatcherServlet이 가로챔 8.2 RequestMappingHandlerMapping이 해당 요청을 처리할 컨트롤러를 찾음 8.3 RequestResponseBodyMethodProcessor가 con.. 2022. 3. 11. int[] 활용하기 bfs나 dfs 등 ArrayList나 Queue에 x좌표, y좌표, 크기, 길이 등 여러 가지 값들을 한번에 넣을 때 보통 class Node{ int x, y, price; } 이런 식으로 사용하게 됩니다. 그러나 매번 문제를 풀 때 적어두기 귀찮고, 입력할 값들의 수가 변경할 때, 또 선언해 줘야 하는 귀찮은 문제가 발생하게 됩니다. 그 때 이 방식을 이용하면 간단하게 문제를 풀 수 있습니다. Queue queue = new LinkedList(); queue.add(new int[] {x, y, 0}); 이럴 경우 queue.poll()을 하게 되면 int[]의 형태로 나오게 되고 int[] now = queue.poll(); int nx = now[0]; int ny = now[1]; int p.. 2022. 1. 7. Spring VS Spring boot https://youtu.be/6h9qmKWK6Io 우아한 Tech의 "닉의 Spring vs Spring boot"을 들으면서 정리한 내용입니다. ※ Dependency Spring : 각 Dependency에 대한 버전정보까지 1개1개 전부 걸어줘야 작동함 Spring boot : Spring-boot-starter-... 식으로 걸어주면 알아서 버전을 가져와 작동함 ※configuration Spring : 어노테이션을 엄청 걸어서 작성해야만 가능함Spring boot : application.properties나 application.yml에 내용을 수정해서 걸어주면 됨(yml이 더 간편하게 짤 수 있음) 기본은 properties #embedded server Spring : 톰캣을 외부에서 가.. 2022. 1. 1. JAVA의 깊은 복사, 얕은 복사 #얕은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생하면 둘다 수정이 된다. 얕은 복사는 주소값을 복사하기 때문에 주소로 값을 참조하여 값이 변경되면 해당 값을 참조하고 있는 배열들의 값이 변경된다. int[] a = {1, 2, 3}; int[] b = a; b[0] = 2; 를 한 후 System.out.println(Arrays.toString(a)); System.out.print(Arrays.toString(b)); 를 할경우 [2, 2, 3] [2, 2, 3] 을 출력하게 된다. #깊은 복사 1번을 2번에 복사할 경우 1번이 수정이 일어나거나 2번이 수정이 발생해도 값은 수정이 발생한 곳만 변경된다. 주소값을 참조하는 것이 아닌, 새로운 메모리 공간에 값을 복사하.. 2021. 12. 30. [백준] 14226번 : 이모티콘(JAVA) https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 풀이 [화면에 있는 이모티콘 갯수, 클립보드에 있는 이모티콘 갯수] 형태로 값을 저장하면서 해당 규칙을 수행해 나가면서 bfs를 돌리면됩니다. 아무 입력없이 처음에 화면에 1을 입력해서 [1,0]으로 시작합니다. 1. 화면에 이모티콘을 클립보드에 복사 => [x, y] -> [x, x] 2. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 => [x, y] -> [x + y, y] 3. 화면에 있는.. 2021. 12. 28. 이전 1 ··· 13 14 15 16 17 18 19 ··· 28 다음 728x90