일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- yml
- 자바
- Level2
- 백준
- AOP
- 우아한테크코스
- mock
- 스프링부트
- 프리코스
- 프로그래머스
- 서블릿
- JUnit5
- AWS
- 우아한세미나
- Spring Batch
- CircuitBreaker
- 레벨2
- REDIS
- 의존성
- 코드리뷰
- 우테코
- 미션
- HTTP
- JPA
- 트랜잭션
- Docker
- MSA
- Paging
- 세션
- 스프링 부트
- Today
- Total
늘
삽질 [에러 & 오류들 정리한 잡동사니] 본문
개발을 하다 보면 에러나 오류가 무수히 많이 발생하고 매번 블로그들 뒤져보면서 찾기 불편해서 이곳에 정리해두려고 한다.
계속 수정해가면서 이 글에 기록할 생각이므로 에러나 오류가 발생하면 여기서 찾아보자!
[포트 죽이기]
- (power shell) netstat -ano
- taskkill /f /pid [pid]
[Parameter value [1] did not match expected type: ]
- spring data jpa를 통해 레포지토리 작성할 때, 잘못 작성할때 발생! 쿼리문 주의
[CICD](젠킨스랑 travis)(배포)
[2021.08.12] CI CD 하다가 화병 날 뻔했는데 드디어 오류 찾아서 뿌듯함에 사진까지 ㅎㅎㅎ..;;;
이런 오류가 마구 나와서 gralew build 할 때, 문제인가 하고 한참 찾았는데 gitignore에 파일을 올려둬서 깃 레포가 그걸 못 찾아서 build가 그냥 안된 거였음..; 인텔리제이에선 돌아가는데 왜 자꾸 안 될까 생각했는데 원격이랑 로컬이 다르니깐 그런 거였다..; 진짜 이틀 날렸지만 어쨌든 허무하지만 어쩃든 기분은 좋다..^^
[2021.08.12] 도커 빌드할 때, {dockerHubId}/{repo} 형식으로 만들어야 에러 안 난다.!^^(도커)
sudo docker build -t {dockerId}/{repo} .
sudo docker push {dockerId}/{repo}
[2021.08.12] 도커 이미지 만들 때, 아래처럼 소문자로만 작성해야 한다..!(도커)
sudo docker build -t gyuchool/repo .
[2021.08.12] 글 쓴 지 얼마나 됐다고 또 에러한테 맞고 왔다. (배포)
진짜 왜 나한테만 이런가 싶어서 한참을 찾아봤다... 에러를 봐도 2개 파일일 땐 경로로 전달된다 이 말인데 분명 경로 jar파일 하나인데라고 진짜 나 자신을 너무 믿었다...
이 plain.jar는 뭐하는 놈이고 언제 생겼을까? ^^ 구글링해도 깨끗하다.. 나중에 다시 찾아봐야겠다.
두번 옮기면 된다.
[2021.09.01](DB)
디비 분명 맞았는데 연결이 계속 안 되었다.. localhost에 port:3306 딱 2개만 설정하면 되었는데 갑자기 안되었다.
yml파일엔 url에는 username과 password 올바르게 입력되어 있었고, url: 'jdbc:mysql://127.0.0.1:3306/{project}?serverTimezone=Asia/Seoul&charset=UTF-8' 이렇게 되어있어도 연결이 잘되었다.
원인은 도커 compose를 실행 안 시켰던 거다 ㅋㅋ... docker-compose up -d 자꾸 까먹지 말고.,, 실행하자!!
[2021-09-03](DB)
오랜만에 H2 DB사용하는데 사용법을 까먹어서 한참 구글링했다...ㅋ
h2 db 처음 만들때는 jdbc:h2:~/{만들 이름} 으로 처음에 만들고 시작해야한다...
그 후에 jdbc:h2:tcp://localhost/~/{만든 이름} 으로 하면 된다.
만약 H2 디비를 실행 안하고 돌리면
java.lang.IllegalStateException: Failed to load ApplicationContext
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
...
이런 에러가 나올것이다. 그러면 아 h2를 안켰구나 하고 켜주면 된다.
[2021-09-06](테스트코트)
테스트코드에서 @Transactional을 걸어도 더티체크가 안될 때가 있다. 그럴땐 플러시를 해주자!!!
테스트코드는 어차피 롤백될거라서 업데이트 쿼리를 안날려준다고 한다. 그래서 직접 플러시를 날려줘야 업데이트 쿼리가 나간다!!
@Entity
@Table(
uniqueConstraints = {
@UniqueConstraint(columnNames = {"source_id", "target_id"})
}
)
public class Follow {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "source_id")
private User source;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "target_id")
private User target;
protected Follow() {
}
public Follow(User source, User target) {
validateDifferentSourceTarget(source, target);
this.source = source;
this.target = target;
}
private void validateDifferentSourceTarget(User source, User target) {
if (source.equals(target)) {
throw new SameSourceTargetUserException();
}
}
equalsAnd HashCode구현하는 법!!!!!!!!!!!
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Follow follow = (Follow) o;
return Objects.equals(getSource(), follow.getSource())
&& Objects.equals(getTarget(), follow.getTarget());
}
@Override
public int hashCode() {
return Objects.hash(getSource(), getTarget());
}
'백앤드 개발일지' 카테고리의 다른 글
[Spring Batch] JdbcPagingItemReader의 페이징은 offset을 사용하지 않는다 (0) | 2024.04.07 |
---|---|
[Docker] Ec2-Docker-Nginx 기본 설정, compose 명령어 (0) | 2021.09.15 |
Swagger2 (0) | 2021.07.19 |
GitLab 버전 관리와 협업 하면서 막혔던 부분 기록 일지 (0) | 2021.07.12 |
TDD, BDD, DDD (0) | 2021.07.04 |