본문 바로가기

분류 전체보기85

[알고리즘] 다양한 정렬 알고리즘 배열을 특정 기준으로 정렬해야 할 때 사용할 수 있는 정렬 알고리즘에 대한 정리 모든 예시는 오름차순 기준으로 작성하였습니다. 삽입정렬 이중 반복문을 사용하여 기준점에서 배열의 앞쪽으로 가며 비교한다. 기준점 데이터와 비교하여 교환대상이면 앞의 인덱스와 데이터와 교환하며 반복문이 진행된다. 기준점의 위치는 기준점보다 큰 수가 없을 때까지 진행한다. public static int[] solution(int n, int[] arr) { for (int i = 0; i = 0; j--) { // 기준점의 한칸뒤에서 부터 시작 if (arr[j] > tmp) arr[j + 1] = arr[j]; 앞의 값이 더 크면 교.. 2022. 4. 28.
[JAVA] String, StringBuffer, StringBuilder의 차이점 해당 주제에 대해선 이미 많은 분들이 정리한 좋은 글이 있지만 성능과 연관이 있고 문자열을 다루는 일은 번번하여 기록을 남깁니다. 자바에서 문자열을 다루는 클래스는 String, StringBuffer, StringBuilder라는 3개의 클래스가 있다. 위의 3가지 클래스는 문자열을 저장하고 관리하는 기능을 제공하며 각각 조금의 차이가 존재합니다. 문자열의 연산이 많지 않다면 무관하나 연산이 많아지면 클래스의 종류에 따라 성능이슈가 발생할 수 있고, 쓰레드환경의 변화에도 이슈가 발생할 수 있습니다. 이렇기에 클래스의 특성을 이해하고 상황에 따라 알맞은 클래스를 사용해야 합니다. String과 StringBuffer, StringBuilder의 차이점 String과 StringBuffer, StringB.. 2022. 4. 19.
[SPRING] 요청 매핑 헨들러 어댑터 HTTP 메시지 컨버터를 사용한 요청, 응답처리에 대해 정리했었는데 이 글은 컨버터를 거치치 않는 파라미터 ex) @ModelAttribute, @RequestParam 등을 어디서 주입을 받으며 다양한 리턴타입은 어디서 유기적으로 처리되는지 또 스프링MVC의 요청, 응답처리의 어느 시점에서 메세지 컨버터가 사용되는 건지 정리하였습니다. 개인적인 학습의 정리글입니다. @RequestMapping을 처리하는 핸들러 어댑터인 RequestMappingHandlerAdapter을 보면 처리과정을 확인할 수 있다. 애노테이션 기반의 컨트롤러는 다양한 파라미터를 사용할 수 있는데 HttpServletRequest, Model, @Requestparam, @ModelAttribute 같은 애노테이션은 물론 @Req.. 2022. 4. 17.
[WEB] HTTP 메서드 특성 REST API는 리소스와 리소스의 대한 행위를 분리한 URI를 설계하는데 이 때 리소스의 대한 행위는 HTTP 메서드를 통해 분리됩니다. 그렇다면 각 메서드를 통해 기대되는 행위(HTTP 스펙)는 어떨까요 HTTP Method 마다 기대되는 처리에 대해 학습한 내용을 정리합니다. HTTP 주요 메서드 GET : 단순 리소스 조회 POST : 요청 데이터를 처리(비즈니스 로직)하며 주로 데이터의 등록에 사용 PUT : 리소스를 대체한다 해당 리소스가 없으면 생성하고 있다면 수정한다.(오라클의 MERGE처럼 동작) -데이터 부분수정X PATCH : 리소스의 부분 변경(UPDATE) - 필드 전체가 아닌 필드 부분 수정 DELETE : 리소스 삭제 GET 리소스를 서버로 부터 조회할때 사용하며 서버에 전달하.. 2022. 4. 11.