목록프로젝트 (3)
효습
프로젝트 중에 스마트 워크 센터를 검색을 구현하는 api를 담당했다.처음에 검색 요소가 이름 , 태그 2개인 줄 알고검색어가 없는 경우, 1개가 들어오는 경우 , 2개가 들어오는 경우 생각해서 메서드를 4개를 만드려고 했다. 이렇게 코드 짤 때가 너무 비효율적인 것 같다고 생각했는데 알고보니 지역구까지 해서 검색 요소가 3개인 것이다! 3개면 만들어야하는 메서드가 6개다.물론 만들수는 있지그런데 더 좋은 방법이 있는데 그걸 선택하지 않을 이유는 없다 예전에 살짝 공부한 적이 있는 QueryDSL이 떠올라 한번 적용해보기로 했다 Dependencies 추가 //QueryDsl implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotati..
1. '==' 연산자'==' 연산자는 두 객체의 주소(참조)값이 동일한지 비교함Java의 기본 자료형(int , long , boolean...)에서는 값 자체를 비교하지만, 객체 타입(Long , String , Integer..)의 경우 주소(참조)값을 비교함2. 'equals()`메서드두 객체의 주소값이 아니라 내용이 똑같은지 비교함 , 두 객체가 실제로 같은 값을 가지고 있는지 비교대부분의 Java 클래스(Long , String , Integer..)는 equals() 메서드를 오버라이드하여 객체의 값 비교 String을 예로 들면 쉽게 이해할 수 있다.String str1 = "string";String str2 = "string";String str3 = new String("string..
배포하는 과정을 캡쳐한 게 없어 자세한 배포 과정을 정리할 수 없지만 대략적인 과정을 정리하겠다. 이번 Spring Boot 프로젝트를 배포할 때는 Github Actions를 사용하여 자동으로 서버 배포 과정이 실행되게 하였고,AWS의 EC2 Ububtu 인스턴스 , RDS(DB) , S3(이미지 저장용)를 사용하였고 EC2 내의 웹 서버는 Nginx , 도커 컨테이너를 사용하여 일관된 환경을 제공하도록 하였다. 프로젝트 구조는 위와 같았다. 1. EC2 생성프리티어 계정을 사용하고 있기 때문에 Ubuntu 서버를 사용했고 인스턴스 유형은 t2.micro 유형을 사용했다.올해부터는 프리티어 계정이 t4g.small까지 지원한다고 하니 원하는 대로 하면 될 것 같다.키 페어도 생성했다 인스턴스 생..