컴퓨터 프로그래밍 156

[알고리즘] Baekjoon Bronze 5

Baekjoon Bronze 5 를 풀면서 알게된 작은 정보들 메모 💡 Int 타입의 범위데이터 범위가 -2,147,483,648 ~ 2,147,483,647 안에 있을 때. int 를 사용, 넘어가면 long 타입을 쓰자 💡 lengthString 에 뒤에 .length() 를 쓰면 문자열의 길이를 알 수 있다. 💡 BigInteger 를 활용한 큰 수의 덧셈 A.add(B)public static void main(String[] args) { Scanner sc = new Scanner(System.in); BigInteger A = sc.nextBigInteger(); BigInteger B = sc.nextBigInteger(); System.out.println(A...

[Git] 잃어버린 내 잔디 찾기

🌱 배경이전 프로젝트 리드미를 작성하려 하던 중에 작년과 올해 초에 작업했던 Repository 의 잔디가 심어져있지 않았다는 걸 알아챘다.크게 중요한 부분은 아니지만 그래도 꽤 오래 전부터 해왔는데 막상 없으니 아깝다는 생각이 들었고 복구할 방법이 있나 알아보았다. 🌱 해결블로그 글들을 보니 github 계정에 등록된 이메일과 커밋해서 푸시를 날리는 local 환경의 이메일 설정이 다르기 때문 이라는 결론이 나왔다. 1. 확인하기 위해 프로젝트 폴더에 접근해서 git 명령어를 쳤다. git config --list  내 gmail 이메일이 등록된 것을 확인할 수 있었다. 2. Github My profile > Settings > Emails 에 들어가면 내 Github 에 등록되어 있는 이메일을 ..

[Memo] NGINX 서버 접속해서 vim 설치하고 Blue/Green 방식의 무중단 배포를 위해 파일 생성

기존에 인스턴스의 SSH 에 접속해서 Docker 을 설치한 후 NGINX 이미지를 다운받아 컨테이너로 실행시켰다.sudo su 명령어를 통해 관리자 권한으로 명령어를 검색했다. NGINX 서버로 접속docker exec -it nginxserver bash  nginxserver container 로 들어가 접근했다.ls 를 입력해서 파일들을 확인 cd etc/ Tab 을 두번 누르면 안에 있는 파일들을 볼 수 있다. cd etc/ nginx/conf.d vim default.conf 명령어를 입력해서 default.conf 파일 수정을 시도하면vim: command not found 문구가 뜬다. docker container 는 vim editor 가 설치되어있지 않기 때문이다.VIM 설치 apt-..

[Memo] NGINX 사용을 위한 yml 세팅

무중단 배포를 위해서 NGINX 를 사용하기 위해 yml 세팅을 해줬다. 소셜로그인 redirect url 설정을 위해서 application.ymlkakao: redirect-uri: "http://localhost:8080/ssaktium/signin/kakao"google: redirect-uri: "http://localhost:8080/ssaktium/signin/google"naver: redirect-uri: "http://localhost:8080/ssaktium/signin-naver" 기존에 위처럼 설정해줬었는데 배포를 하면 localhost 가 아니라 탄력적 ip 가 들어가야하기 때문에 설정을 추가해줘야했다. spring: profiles: active: local ..

[Spring] Swagger UI 적용

🌱 Swagger UISwagger UI는 RESTful API를 문서화하고 시각적으로 표현하기 위한 도구다. API의 엔드포인트, 요청 및 응답 형식 등을 사용자에게 쉽게 이해할 수 있는 형태로 보여준다.  🌱 Swagger UI 장점자동 문서화: Swagger UI는 API 코드에 주석을 추가하거나 Swagger Annotation을 사용하여 자동으로 API 문서를 생성한다. 이를 통해 개발자들은 코드 변경 시 문서도 함께 업데이트할 수 있다.인터랙티브: Swagger UI는 사용자가 API를 직접 테스트할 수 있는 인터페이스를 제공한다. 사용자는 요청을 보내고 응답을 확인할 수 있어 API의 동작을 쉽게 이해할 수 있다.시각적 표현: API의 엔드포인트, 요청 및 응답 모델을 시각적으로 표시하여..

[Spring] Soft Delete

📚 배경1. 탈퇴한 회원의 계정으로 중복 계정 생성을 막을 때2. 데이터 분석을 위해서 탈퇴한 회원에 대한 데이터가 필요할 때3. 서비스 정책 상 탈퇴한 유저의 정보를 정해진 기간동안 유지할 필요가 있을 때 등 위와 같은 이유로 soft Delete 가 사용된다.직접 User Entity 에 userStatus 라는 필드를 만들어서 삭제 유무를 파악했었는데, Spring Boot 에서 이를 지원해주기 때문에 활용하는 방법에 대해서 알아보았다.User@Getter@Entity@SQLDelete(sql = "UPDATE users SET deleted = true WHERE id = ?")@SQLRestriction("deleted = false")@NoArgsConstructor@Table(name = ..