본문 바로가기

전체 글

(730)
알고리즘 공부 총 목차, 공부해야할 리스트 정리 브루트 포스 DFS BFS 시뮬레이션/ 구현 DP 그리디 이분탐색 투포인터 최단경로 다이나믹 프로그래밍 백트랙킹 Trie KMP 위상정렬 최소신장 트리 폴로이드 와샬 다익스트라 이정도 한번 달려보자!
코테할때 알아두면 좋은 함수들 1. 배열 선언 int[] a = new int[8] int[] a = {1,2,3,4,5} 2. 배열 -> 문자열 Arrays.toString(); Arrays.sort(배열) -> 오름차순 Arrays.sort(배열,Colections.reversOrder()) -> 내림차순 배열의 특정 범위만 빼기, Arrays.copyOfRange(배열,2,4) 3. char 배열 -> 문자열 : String.valueof 4.문자열 비교 str.startWith("a"); str.endWith("a"); str.indexOf("a"); str.subString(0,2); str.toLowerCase str.toUpperCase str.trim() str.charAt(i) -> i번째 문자 출력 StringBui..
잡다한 기술지식 2 1. DB timeout connection, socket timeout Socket timeout 소켓타임마웃은 클라이언트에서 서버에 대한 Connection에 대한 데이터를 받는 것 까지의 Timeout을 의미한다. 쉽게말하면, 3way handshake로, 처음에 클라이언트와 서버간의 커넥션을 맺고 그다음에는 데이터를 전송하기위한 패킷들이 여러개로 나눠져서 전송이 되는데, 여기서 Gap이 발생해서 생기는 Timeout이 소켓 타임아웃이다. 2. Runtime Exception, Exception 1.Runtime Exception은 Try, catch로 잡지않아도 컴파일은 가능하다. 하지만 실행할때 에러가 난다, 배열의 크기나 index 문제 null Exception일때 문제가 발생한다. 2.Ex..
[Codility] binary gap 풀이 쉽게말해서, 2진수로 변환하고, 해당 1간의 간격의 최대값을 구하는게 키포인트이다. 이진수로 변환하는건 라이브러리가있기 때문에 변환해서, 값 index를 배열에 넣고, 빼주고 -1 을 더 뺴준다. index가 3,2 일경우 11 이기때문에 gap은 0이기때문에
[프로그래머스] 위장 문제 풀이 위장 문제 문제의 키포인트는 각각의 옷에 대한 카테고리는 같지만 이름은 다 다르다는것이다. key 로만 구분해서, 해당 값들을 카운트한 값들을 넣어주고, 각각 경우의수를 곱해준다. 상의3개 하의2개인 경우 3 * 2 6가지의 옷을 입을수 있고, 해당 케이스처럼 * 해준뒤에 다 벗을수있는경우가 포함되어있는 경우 1은 빼준다. 그리고 상의가 2개여도, 안입을수도있기 떄문에 (하의 1개만 입을수 있음) 해당 경우를 생각해서 가지수 +1 해서 곱해준다.
잡다한 기술 지식_1 1. 오버라이드 오버로딩 차이 둘다 메소드 구현 방식에 대한 개념 오버로딩 : 생성자 오버로딩, 메소드 오버로딩이 존재한다. (파라미터만 다르고 메소드 이름은 같은 것) 오버라이드 : 상속받은 class에서, 같은 메소드의 본문만 다르게 정의 하여 구현하는 것이다. (부모클래스의 메소드 재정의) 2. $,#차이 Mybatis #는PreparedStatement를 의미한다. select id from et_mbr_base where id = #{id} 라고하면, 해당 Oracle로 select id from et_mbr_base where id = ? 가 넘어가게 되고 실제 수행은 select id from test where id = 'devboi'가 된다. $는 Statement를 의미한다. selec..
[JPA] JPA N+1 문제란? JPA를 개발하면서, N+1문제에 대한 얘기가 많이나온다. N+1이란 어떤걸까? 어떻게 해결해야할까? 우선 N+1 이란, 어떤 게시물의 테이블을 POST라고 두고, Post에 달린 댓글을 Comment라고 두자 한게시물에는 여러개의 댓글이 달릴것이고, 우리는 이것을 @OnetoMany로 둔다. 자 그러면, 페이징을 뿌릴때나, 특정조건에 Post테이블을 findAll해본다고하자 우선, 그전에 JPA에서는 각각의 fetch방법이 존재한다. fetch란 뭘까? fetch란 특정 한개의 Entity 즉 테이블을 조회할때, 연관관계에 있는 객체들을 어떻게 가져올까? 라는 전략이다. 해당 전략은 크게 Eager, Lazy가 있다. Eager은 연관관계에 있는 Entity를 모두 가져오고 Lazy는 getter로 접..
[Spring boot] JPA 회원가입 로직 구현 간단하게, 전체적인 구조를 잡기 위해 회원가입에 대한 로직흐름을 구현하였다. 우선 회원 가입 창이다, jsp 쪽 꾸미는 소스는 귀찮아서, 그냥 bootstrap 아무거나 복붙했다 ㅋ; input name에 대한값을 Entity와 맞춰주었고, url에 회원가입 url을 넣었다. 해당 Entity이다, 간단하게 몇가지 정보만 받을수 있게끔 구현하였다. 컨트롤러로 매핑하였고, service를 호출하여, 객체를 넘긴다. 패키징은 간단하게 이렇게 구성하였다. 기존 mybatis를 사용할때는, controller - service(iml) - dao(mapper)였는데 JPA에 맞게, Controller - service - Repository로 설정을 하였다. Repository에선, 이렇게 간단하게 findby..