728x90
728x90
[Project 회고록] 친구 추가 관련 기능 구현 시 테이블에 대한 고찰(친구 목록과 친구 요청에 대한 테이블을 나눌 것인가?)
Tech/Java & Spring2023. 5. 30. 00:01[Project 회고록] 친구 추가 관련 기능 구현 시 테이블에 대한 고찰(친구 목록과 친구 요청에 대한 테이블을 나눌 것인가?)

개요 위 사진은 현재 개발중인 토이 프로젝트의 User - Friend의 테이블 구조이다. 친구 요청을 수락하여 서로 친구인 사용자 간의 개인 채팅방을 이용 가능하게 할 생각이었으며 친구 요청과 응답에 대한 프로세스를 하나의 테이블로 관리하고, 서로 친구가 된 친구목록을 또다른 테이블에 관리하려고 하였다. (여기서 말하는 친구 요청에 대한 응답은, 웹소켓으로 구현했음) 현재 요청과 응답에 대한 프로세스 또한 요청과 응답을 관리하는 테이블의 STATUS 컬럼의 도메인값을 NOREAD, READ, REJECT, ACCEPT 의 네 경우를 두고, 요청을 보낸 사용자가 친구 요청을 받은 사용자가 친구 요청을 보지 않았는지, 봤는데 수락도 거절도 아닌지, 거절했는지에 대한 상황을 View할 수 있게 설계했다. 수..

[SpringBoot] CoolSMS 이용한 휴대폰 인증
Tech/Java & Spring2023. 5. 28. 00:00[SpringBoot] CoolSMS 이용한 휴대폰 인증

서론 휴대폰과 이메일 중 압도적으로 휴대폰 사용량이 높다고 생각했고 이메일은 가입 시 인증받지 않는 곳도 많기 때문에 우선적으로 휴대폰인증을 구현하려고 했다. 이메일은 필요 시 SMTP 활용하여 구현 예정 기능 구현을 위해 찾아본 아래의 API 중 coolsms를 선택했다. 1. 네이버 SMS 2. Twilio 3. coolSMS 네이버는 한달에 50건이 무료고, Twilio는 가입 시 15달러를 준다고 한다. cool sms 사용하기 들어가기 앞서 유료임.. SMS를 보내는 것이기 때문에 당연한가 ? 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스 손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용..

[SpringBoot] AWS S3 업로드 파일 제거 - 3(完)
Tech/Java & Spring2023. 5. 27. 20:37[SpringBoot] AWS S3 업로드 파일 제거 - 3(完)

이전 글에서 이어집니다. [SpringBoot] AWS S3 이미지 업로드 - 1 토이 프로젝트를 하면서 기록 남겨놓으면 좋을것 같아서 포스팅 AWS 가입, AWS S3 BUCKET 생성과 IAM KEY 발급 과정은 생략하겠음. 트러블 슈팅 https://mag1c.tistory.com/354 https://mag1c.tistory.com/355 https://mag1c.t mag1c.tistory.com [SpringBoot] AWS S3 이미지 업로드 - 2 이전 글에서 이어집니다 https://mag1c.tistory.com/353 아쉬웠던 점은, 계속 S3에 디렉토리가 생긴다는 점이었으며, 이를 위해 코드 수정이 필요했다. 생각보다 엄청 간단했다. @Transactional @Override pu..

[SpringBoot] AWS S3 이미지 업로드 - 2
Tech/Java & Spring2023. 5. 27. 06:48[SpringBoot] AWS S3 이미지 업로드 - 2

이전 글에서 이어집니다 [SpringBoot] AWS S3 이미지 업로드 - 1 토이 프로젝트를 하면서 기록 남겨놓으면 좋을것 같아서 포스팅 AWS 가입, AWS S3 BUCKET 생성과 IAM KEY 발급 과정은 생략하겠음. 트러블 슈팅 https://mag1c.tistory.com/354 https://mag1c.tistory.com/355 https://mag1c.t mag1c.tistory.com 아쉬웠던 점은, 계속 S3에 디렉토리가 생긴다는 점이었으며, 이를 위해 코드 수정이 필요했다. 생각보다 엄청 간단했다. @Transactional @Override public boolean img_modify(MultipartFile imgfile, UserDTO dto) throws IOExcepti..

[SpringBoot] AWS S3 이미지 업로드 - 1
Tech/Java & Spring2023. 5. 26. 06:29[SpringBoot] AWS S3 이미지 업로드 - 1

토이 프로젝트를 하면서 기록 남겨놓으면 좋을것 같아서 포스팅 AWS 가입, AWS S3 BUCKET 생성과 IAM KEY 발급 과정은 생략하겠음. 트러블 슈팅 https://mag1c.tistory.com/354 https://mag1c.tistory.com/355 https://mag1c.tistory.com/356 개발 환경 SpringBoot3.0.6 build.gradle DI implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' aplication.properties # S3 cloud.aws.credentials.accessKey=YourKey cloud.aws.credentials.secretKey=..

[Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor)
Tech/Java & Spring2023. 5. 25. 08:18[Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor)

연관 게시물 스레드 안전 - Thread Safe 연관 게시물 https://mag1c.tistory.com/365 [Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor) 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보 mag1c.tistory.com 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보장했다. @ThreadSafe public class Lock { @GuardedBy("this") private int nextValue; public synchronized int getN..

스레드 안전 - Thread Safe
Tech/Java & Spring2023. 5. 24. 21:19스레드 안전 - Thread Safe

연관 게시물 [Java] 자바에서의 스레드 안전(Thread Safe)과 모니터(monitor) 자바에서의 Thread-Safe 1. Lock synchronized 아래 코드는 Synchronized 키워드를 사용하여 스레드의 안전성을 보장했다. @ThreadSafe public class Lock { @GuardedBy("this") private int nextValue; public synchronized int getNext() { r mag1c.tistory.com Thread Safe 스레드 안전(thread safety)은 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 보다 엄밀하게는..

[Java] 스태틱 블록(Static block) (초기화 블록)
Tech/Java & Spring2023. 5. 24. 20:16[Java] 스태틱 블록(Static block) (초기화 블록)

기존에 내가 사용하고 자주 봤던 static이 붙은 것들은 public static int a; public static void main(String[] args){} 이정도인데, 업무 내에서 아래와 같은 코드를 발견했다. public Conf { static { loadConfiguration(); } } 얼추 인스턴스가 생성될 때 아래의 메서드를 실행하는 것 정도만 알겠는데 정확히 어떤 것인지 모르겠다. 개념정리를 해놓고 언제든 활용할 수 있도록 해보자. 초기화 블록 class Class { static int Field = 10; // 클래스 변수의 명시적 초기화 int Field2 = 20; // 인스턴스 변수의 명시적 초기화 } 필드는 위와같은 형태로 초기화가 진행되는데, 초기화 블록을 활용하..

728x90
728x90
image