전체 글

· JPA
10장_객체지향 쿼리 언어 이 장 중심 내용은 아래와 같다. 객체지향 쿼리 소개 JPQL Criteria QueryDSL Native SQL 객체지향 쿼리 심화 JPQL은 가장 중요한 객체지향 쿼리 언어이다. Criteria, QueryDSL 등은 JPQL을 좀 더 쉽게 사용할 수 있게 해주는 것에 불과하다. 따라서, 개발자는 JPQL에 능숙해야 한다. 객체지향 쿼리 소개 EntityManager.find() 메소드를 이용하면 하나의 엔티티를 조회할 수 있고, 여기서 연관된 정보를 조회하려면 객체 그래프 탐색을 하면된다. 하지만, 이 기능만으로는 부족하다. 그렇다고 해서 처음 조회할 때 모든 엔티티를 조회하는 것도 현실적이지 않다. 결국, 데이터는 데이터베이스에 있으므로 SQL을 사용해서 필요한 정보를 ..
알아야 할 것 비트연산자 - 다른 프로그래밍 언어에서 사용하는 방식과 같다. - 추가적으로 `b'10001'` 과 같이 `b`를 붙여 2진수 형태의 문자열을 비트연산할 수 있다. - `b'1001' & b'001' = 1`CASE WHEN 문법 `if - else if - else`방식으로 사용할 수도, `switch - case`방식으로 작성할 수도 있다.if - else if - else방식 CASE WHEN (조건1) THEN (조건에 맞을 경우 대입할 값1) WHEN (조건2) THEN (조건에 맞을 경우 대입할 값2) ELSE (위 조건 모두에 해당하지 않을 경우 대입할 값3) END 기본 적으로 위와 같이 사용한다. 조건에는 서브 쿼리가 올 수도 있다..
vi 에디터 사용법 vi or vim 기초 사용법 (맥 -> 우분투) [Vim] 문자열 검색 및 바꾸기 그동안 PS 사이트를 백준을 메인으로 사용하다보니 인텔리제이로 코딩을 많이했었는데 많은 코테들이 프로그래머스와 같이 웹에서 진행됐다. 그래서 이참에 vi를 좀 익혀보려고 한다. 모드 처음 vi를 켜거나 esc를 누르게 되면 모드를 선택할 수 있다. 편집 모드는 아래와 같다. vi [파일이름].(확장자명) 해당 파일이름을 가진 파일을 생성한다. :i -> 현재 커서 바로 앞에서 입력 시작. :a -> 현재 커서 바로 뒤에서 입력 시작. :w -> 현재 파일 상태를 저장. 종료 :q -> 파일을 종료한다. 이 때 파일이 저장되지 않은 상태로 종료하면 저장 여부를 묻는다. :q! -> 파일을 저장없이 강제로..
코딩테스트 연습 - 전화번호 목록 이 문제는 길이에 따라 정렬한 뒤, 그 길이보다 짧은 번호들을 모두 확인해보는 것이 핵심이다. 나는 Set[]을 사용했는데, Set의 contains를 사용할 경우 O(1)의 시간으로 찾을 수 있기 때문이다. 따라서, 길이를 len이라고 뒀을 때, O(len)의 시간으로 해당 전화번호의 접두사가 있는지 확인할 수 있다. 정렬을 하는 이유는 길이가 긴 번호가 앞에 올 수 있는데, 이 때는 나중에 짧은 번호가 들어왔을 때 다른 번호의 접두사인지 확인할 수 없기 때문이다. 따라서, 반드시 정렬을 먼저해 접두사로 사용될 번호들을 저장해두고 확인해야 한다. 해당 전화번호에 접두사가 있는지 확인하는 로직은 아래와 같다. for(String number : phone_book){ i..
greatwhite
우직하게