본문 바로가기

전체 글103

[git] detached HEAD 문제로 push가 되지 않을 경우 3개의 커밋을 합치기 위해서 아래 명령어를 실행함 git rebase -i HEAD~3 그러자 원격저장소에 detached HEAD 상태에 있다면서 push가 되지 않았다. 구글링 결과 상황을 복구하려면 분리된 HEAD가 현재 가리키는 커밋을 가리키는 분기를 만들어야 한다고 함 git branch temp git checkout temp 임시 브랜치 temp 생성 git branch -f master temp git checkout master master 브랜치를 temp 브랜치가 가리키는 커밋과 동일하게 설정하게 함 이 두 명령은 다음과 같이 축약할 수도 있다고 함 (git checkout -B master temp) git branch -d temp git push origin master 마지막으.. 2023. 12. 6.
[Java] List<?> indexof (equals, hascode @Override) import java.util.ArrayList; import java.util.List; import java.util.Objects; public class list { public static class FileUploadModel { private String fieldName = null; private String fileName = null; public FileUploadModel(String fieldName, String fileName) { this.fieldName = fieldName; this.fileName = fileName; } public String getFieldName() { return fieldName; } public void setFieldName(String.. 2023. 11. 4.
[JPA] Entity Graph Entity Graph 쿼리 메서드마다 연관 관계의 fetch모드를 유연하게 설정할 수 있는 기능을 제공해준다. 끝이 One으로 끝나는 연관관계는 기본값이 EAGER모드이고, 끝이 Many로 끝나는 연관관계는 기본값이 LAZY이다.(임의로 모드를 바꿀 수 있다.) @Entity @Table(name = "account") @Getter @NoArgsConstructor public class Account { @ManyToMany @JoinTable( // JoinTable은 테이블과 테이블 사이에 별도의 조인 테이블을 만들어 양 테이블간의 연관관계를 설정 하는 방법 name = "account_authority", joinColumns = {@JoinColumn(name = "account_id", r.. 2023. 10. 24.
버츄얼 박스 우분투 VM에서 '게스트 확장 CD'가 자동실행되지 않을 때 게스트 확장 cd 이미지 삽입을 했는데 자동으로 설치 되지 않아서 방법을 구글링해서 정리했습니다. 1. 게스트 확장 cd 이미지 삽입을 했으면 위 그림 처럼 왼쪽 하단에 cd모양이 나옵니다. 클릭합니다. 2. 그 다음 autorun.sh를 마우스 오른쪽으로 클릭하여 Run as a Program을 클릭하여 실행합니다. 그러면 암호 입력 창이 나오는데 암호를 입력하면 아래 그림(설치과정)이 나옵니다. 3. 마지막으로 리부팅하면 완료입니다. 처음에 찾는데 고생해서 나중에도 필요할 것 같아서 정리했습니다. 2023. 8. 8.
TCP란? && TCP의 헤더 정보 && 패킷 교환 방식 HTML 삽입 미리보기할 수 없는 소스 TCP TCP는 OSI 7계층 중 전송 계층에서 사용되고 있는 프로토콜 장비들간의 통신중 안정적, 순서대로, 에러없이 교환할수 있도록 하는 프로토콜이다. TCP를 사용하는 이유는 인터넷에서 데이터를 어떻게 주고받는지 방식을 알면 왜 필요한지 알게 된다. 패킷 교환 방식 데이터를 잘게 쪼갠 후 여러 개의 회선을 통해서 보내는 방식이다.네트워크와 통신의 방식중 하나로 현재 제일 많이 사용하는 통신 방식분산투자 방식이랑 비슷하다고 생각한다. 패킷 교환 방식을 사용하면 문제점이 데이터가 정확하게 들어왔는지 문제가 있다.그래서 패킷 교환 방식을 사용하면 TCP 프로토콜이 필요한 이유다. TCP 헤더 TCP 같은 프로토콜은 데이터에 자신의 헤더를 붙혀서 데이터의 정보를 표현한.. 2023. 7. 26.
[Design Pattern] Domain Model Pattern vs Transaction Script Pattern 트랜잭션 스크립트(Transaction Script) 패턴? 엔티티에 비지니스로직이 거의 없고, 서비스 계층에서 비즈니스 로직을 처리하는 방법을 가리킵니다. 엔티티는 단순하게 데이터를 전달하는 역할이 되면서 서비스 로직이 커지게 됩니다. 현재 재직중인 회사에서 주로 사용하는 방법입니다. public class SomeTransactionScript { public Result do(...) { try { SomeTransaction tx = ...; tx.begin(); // 1. 잔고확인 ... // 2. 받는 사람 확인 ... // 3. 이체 실행 ... // 4. 잔고 감소 ... tx.commit(); } catch(..) { tx.rollback(); ... } finally { ... ... .. 2023. 6. 26.