전체 글

전체 글

    인텔리제이에서 커맨드라인으로 쓰던 git 중간에 연동하기 + merge conflict gui로 해결하기

    인텔리제이에서 원래는 CLI로 git을 사용했는데, merge conflict 를 해결할때는 gui를 이용하는 것이 생산성이 좋을 것 같았다. 그래서 중간에 인텔리제이에서 git을 연결하는 방법을 찾아보았다. 처음에 깃을 연동하지 않았을 때는 VCS에서 git 버튼이 보이지 않는다. 인텔리제이에서 .git을 자동으로 읽어오지 않는 것이다. 하지만 수동으로 기존에 쓰던 .git을 읽어오게 하는 방법이 있다. Enable Version Control Integeration을 누르면 기존에 쓰던 .git을 가져오고 위와같이 intellJ에서도 git을 이용할 수 있게된다. 그리고 merge conflict가 발생했을 때는 아래와 같이 Resolve Conflicts가 활성화 된다. 클릭을 하면 merge co..

    [ClassFlix] EP 2. 개발환경 세팅

    목차 (클릭시 해당 목차로 이동) IntelliJ로 Spring 시작 spring initializer를 이용해 연관관계를 한번에 끌어온다. 기존에 배웠던 기술들을 이용할 것이기 때문에 Spring web Lombok Spring Data Jpa H2 Database 네가지를 다 가져온다 Git 연동 초기세팅 및 원격 저장소와 연결 git init . git add . crlf 오류시 git config --global core.autocrlf true input git commit -m "inital commit" git remote add origin https://www.github.com/dongho/~~ git push -u origin master git branch --set-upstream..

    Git 명령어들 정리

    목차 (클릭시 해당 목차로 이동) 기본 명령어 git init . 이 폴더를 git을 사용할 폴더로 만든다. . : 현재 폴더 그러면 .git 폴더가 생성된다. 이곳에 버전정보들이 적혀있다. git status 현재 상태를 볼 수 있는 명령어. 어떤 파일이 생성되었는지 (working space) : untracked 어떤 파일이 add 되었는지 (staging area) : committed 어떤 파일이 수정되었는지 (staging area) : modifed 로 표시된다. git add {} working tree에 있는 파일,디렉토리 중 {}안에 있는 것들을 staging area로 옮긴다. git add . : 현재 디렉토리 git add 파일 : 해당 파일 git add 파일 파일 파일 : 여러..

    [프로그래머스] 순위 검색

    목차 (클릭시 해당 목차로 이동) 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 카카오는 하반기 경력 개발자 공개채용을 진행 중에 있으며 현재 지원서 접수와 코딩테스트가 종료되었습니다. 이번 채용에서 지원자는 지원서 작성 시 아래와 같이 4가지 항목을 반드시 선택하도록 하였습니다. 코딩테스트 참여 개발언어 항목에 cpp, java, python 중 하나를 선택해야 합니다. 지원 직군 항목에 backend와 frontend 중 하나를 선택해야 합니다. 지원 경력구분 항목에 junior와 senior 중 하나를 선택해야 합니다. 선호하는 소울푸드로 chicken과 pizza 중 하나를 선택해야 합니다. 인재영입팀에 근무하고 있는 니니즈는 코딩테스트 결과를 분석하여 채용에 참여..

    [ClassFlix] EP 1. 개발 계획

    목차 (클릭시 해당 목차로 이동) 2021.04.21 - [Project/ClassFlix] - [ClassFlix] EP2. 개발환경 세팅 2021.04.21 - [Project/ClassFlix] - [ClassFlix] EP3. 도메인 설계와 테이블 생성 2021.04.26 - [Project/ClassFlix] - [ClassFlix] EP4. domain, repository, service 계층별 설계 및 구현 2021.04.27 - [Project/ClassFlix] - [Class Flix] EP 5. view 페이지 제작과 컨트롤러 연결 - 1 2021.04.29 - [Project/ClassFlix] - [Class Flix] EP 6. view 페이지 제작과 컨트롤러 연결 - 2 20..

    [프로그래머스] 풍선 터뜨리기

    목차 (클릭시 해당 목차로 이동) 문제 설명 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 여기서 조건이 있습니다. 인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다. 즉, 어떤 시점에서 인접한 두 풍선 중 번호가 더 작은 풍선을 터트렸다면, 그 이후에는 인접한 두 풍선을 고른 뒤 번호가 더 큰 풍선만을 터트릴 수 있습니다. 당신은 어떤 풍선이 최후까지 남을 수 있는..

    [JPA, Lombok] @Setter 없애기 대안

    목차 (클릭시 해당 목차로 이동) 1. 생성자를 통해 주입한다. package study.datajpa.entity; import lombok.Getter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity @Getter public class Member { @Id @GeneratedValue private Long id; private String username; protected Member() { } public Member(String username) { this.username = username; } } 1) 빈 생성자를 하나 추가해야한다. ..

    [h2 database] 데이터베이스 생성하기

    맨 처음에 데이터베이스가 생성되지 않았을 때는 위와같이 오류가 뜬다. 그러면 아래와 같이 jdbc:h2:~/{원하는 데이터베이스 이름} 으로 한번 connect 하면 데이터베이스 파일이 생성된다. 그리고 이후부터는 jdbc:h2:tcp://localhost/~/{데이터 베이스 명} 으로 접근하면 된다.

    EP5. OSIV와 성능 최적화

    OSIV (Open Session In View) 풀네임 하이버네이트 에서는 Open Session In View JPA에서는 Open EntityManager In View 이다. 뜻 OSIV가 off 이면 트랜잭션을 종료할때 영속성 컨텍스트 닫히면서 데이터 커넥션도 반환한다. 그런데 OSIV가 on이면 트랜잭션이 끝난 이후에도 영속성 컨텍스트가 살아있고 데이터 커넥션 풀이 계속 존재한다. 그래서 지연로딩과 같은 전략을 사용할 수 있다. 장단점 OSIV on 장점 : 지연로딩을 사용할 수 있다. 단점 : 데이터커넥션 풀이 유지되는 리소스가 크다. OSIV off 장점 : 데이터 커넥션 풀을 원하는 시간만 사용하기 때문에 자원의 낭비가 없다. 단점 : 지연로딩을 사용할 수 있고 사용하려면 트랜잭션이 끝나..

    EP4. API 개발 순서

    한눈에 정리 엔티티 조회 엔티티는 그대로 반환하지 말고 DTO로 변환해서 반환해라 컬렉션은 패치조인 하지말고 지연로딩을 유지후 BatchSize로 최적화해라 DTO 직접 조회 컬렉션은 IN 절을 이용해 메모리에 미리 조회해서 최적화해라 API 개발 순서 1. 엔티티 조회 방식으로 먼저 접근하기 1) 페치 조인으로 쿼리 수를 최적화한다. 2) 컬렉션을 최적화해라 1. 페이징이 필요하면 hibernate.default_batch_fetch_size 혹은 @BatchSize로 최적화해라 2. 페이징이 필요 없다면 페치조인을 사용해라 2. 엔티티 조회 방식으로 해결이 안되면 DTO 조회 방식을 사용해라 1) 컬렉션은 IN 절을 이용해 메모리에 미리 조회해서 최적화해라 3. DTO 조회 방식으로도 해결이 안되면 ..