일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java참조자료형
- java알고리즘문제풀이
- 격파르타합격후기
- javaJVM
- 노베이스부트캠프
- sqld자격증합격
- javaJRE
- java list 출력
- java map
- 항해15기
- java map 출력
- 격파르타후기
- java기본자료형
- 프로그래머스
- 작은수제거하기
- 코딩부트캠프후기
- java 자료구조 활용
- java map 저장
- java알고리즘
- 항해99후기
- java최솟값구하기
- 프로그래머스제일작은수
- 격파르타장점
- 격파르타비전공자
- 컴파일
- java set 저장
- java set 출력
- 인터프린터언어
- java list 저장
- 비전공자sqld
- Today
- Total
목록코딩과 매일매일♥/Seoulvival (22)
코딩과 결혼합니다

프런트에서 배포하였던 서버를 비용문제로 내렸다가 재배포하게 되었다. 백엔드 서버는 인스턴스를 계속해서 켜놓은 상태로 유지하였기 때문에 설정의 변화는 없었다. 그러나 SSH 클라이언트에 연결하려 하는데 계속 22번 포트에 연결하는데 시간이 오래 걸려 실패하였다. HTTPS를 쓰며 설정해 뒀던 보안 관련 부분과 vpc 설정 등 확인해 봐도 문제가 없었다. 이전과 다른 점이 있다면 상태검사 쪽에 Seoulvival만 1/2로 한 개만 검사 통과가 되었다. 오류가 났을 때 찍어놓은 사진이 없어서... 이 인스턴스 세부 정보 쪽을 보면 검사 통과가 안된 부분이 노란 글씨로 뜨는데 자세히 보기를 누르면 아래의 URL로 이동한다. https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/..

1. 파일 구조 변경하기 2. 클래스명 변경하기 + 도메인 줄이기 3. Domain - Alarm 📌 1. String alarmCategory를 EnumType으로 받기 alarmCategory를 activity와 hashtag 이렇게 두 가지로 받고 있다. 무엇을 받을지 명확한 상태에서는 이 두 가지 외에 잘못된 값이 오지 않도록 EnumType으로 설정해 두는 게 좋겠다는 판단을 하였다. 또한 컴파일 에러 체크로 인해 잘못된 값 입력 시 바로 오류를 찾아낼 수 있다는 이점도 있다. EnumType으로 변경 //활동 및 해시태그 알림 조회 @GetMapping("/activity") public AlarmsResponseDto getNotification(@RequestParam int page, @..

1. 파일 구조 변경하기 2. 클래스명 변경하기 + 도메인 줄이기 📌 3. Domain - Alarm 클래스의 이름이 명확하지 않아 해당 클래스가 어떤 기능을 포함하고 있는지 파악하기 어렵고, 일관성이 부족한 네이밍으로 인해 혼란을 초래할 수 있다고 생각했다. 또한, 공통적인 기능을 가진 클래스나 너무 많은 기능들을 한 클래스에 집약하는 경우에는, 이를 분리하여 관리하는 것도 고려하려 한다. 문제 : 일관성이 부족하고, 명확하지 않은 클래스명 같은 DTO클래스임에도 어떤 건 DTO가 붙어있고 어떤 건 DTO가 없다. 이름과 기능의 연관성이 떨어져 혼란을 주는 클래스명 자료구조명이 명시된 클래스 해결: 모든 클래스명을 적절하고 통일성 있게 네이밍 DTO 클래스에는 모두 뒤에 Dto를 붙여준다. Alarm과..

1. 파일 구조 변경하기 📌 2. 클래스명 변경하기 + 도메인 줄이기 3. Domain - Alarm 파일 구조나 코드 컨벤션에 대해 팀원과 정확히 정하지 않고 협업을 진행했더니 동일한 기능을 하는 클래스임에도 불구하고 다양한 이름이나 폴더구조를 가지고 있었다. 코드를 좀 더 나은 방향으로 다시 짜보려 했더니 나조차도 통일되지 않은 파일구조 때문에 코드를 찾아 가는데 어려움을 겪게 되었다. 일관된 파일 구조와 명명 규칙은 코드의 가독성과 유지 보수 성을 향상시키며, 팀원들 간의 협업을 원활하게 만들어 줌으로 개선해야 할 필요성을 느끼게 되었다. 문제 : 통일감이 떨어지는 파일구조 dto 폴더 따로 request(혹은 response) Dto 따로 이랬다 저랬다 한다. sse 폴더가 왜 alarm안에?라는..

문제 true/ false로 바꿔주는 토글이 @Transactional을 걸어줘도 안먹음 이유 현재 인증된 사용자의 정보는 스프링 시큐리티에서 제공하는 것으로, 스프링 프레임워크 외부에서 관리되고 유지된다. 따라서 @Transactional 어노테이션이 있는 메서드를 호출하더라도, 해당 메서드는 일반적인 방식으로 실행되며 트랜잭션 처리가 이루어지지 않았다. 해결 userRepository.findById(userId) 호출로부터 반환된 user를 사용하였다. 객체는 영속성 컨텍스트에 의해 관리되며, 변경된 상태가 자동으로 데이터베이스에 반영된다.
기존 TagController코드 -> 수정 후 코드 TagController @RestController @RequiredArgsConstructor @RequestMapping("/tags") public class TagController { private final TagService tagService; //전체 태그 인기순위 @GetMapping("/All") public List allRankNumber(){ return tagService.allRankNumber(); } //카테고리별 태그 인기순위 @GetMapping("/category") public List categoryRankNumer(@RequestParam String category){ return tagService.ca..

이미지 리사이징에 BufferedImage를 사용한 이유 기존에는 원본 이미지를 S3에 바로 업로드 하고, 프런트에서 해당 원본 이미지를 사용하였다. 그러나 디바이스에 보여지는 사진 대비 너무 큰 이미지를 호출하는건 비효율적이며, S3에도 굳이 큰 파일들을 모두 넣는것 보다는 리사이징 한 사진을 넣는게 공간을 덜 낭비할 것이라는 판단으로 이미지 리사이징을 하게 되었다. 이미지 리사이징을 하기 위해 BufferedImage 사용했다. Java의 기본 라이브러리로 제공되므로 별도의 외부 라이브러리나 프레임워크 설치 없이 사용할 수 있고, resizeImage 메서드와 같이 크기를 변경하는 작업을 간단하게 구현할 수 있기 때문이다. @Service @RequiredArgsConstructor @Transact..

isRead true로 바꾸기 알림 리스트는 push 알림 구독과 상관없이 보여지는 것으로 알림이 발생한 해당 post로 리스트를 클릭해서 들어가지 않으면 읽지 않은것으로 간주하고, 알림 리스트를 클릭하면 알림을 읽은 것으로 보고 isRead를 true로 바꿔주며 다시 false로 바뀔일은 없다! 이 걸 넣은 이유는 사용자가 알림을 읽었는지 안읽었는지 색깔로 다르게 표현하기 위함이었다. AlarmController //알림 눌렀을 때 is read true로 @PostMapping("/read/{notificationId}") public MessageResponseDto markNotificationAsRead(@PathVariable Integer notificationId, @Authenticati..