분류 전체보기
-
Spring boot Gitlab CI/CD 구축 (2)Spring 2023. 9. 19. 22:20
저번 포스팅에서는 GItlab-Runner용 IAM 계정을 생성하고, EC2 서버에 Runner를 설치 했으며, 필요한 설정까지 완료 했습니다. 이번 포스팅에서는 Gitlab Repository 설정과 Package를 설치하고 파이프라인을 구축 해보겠습니다. https://developer-been.tistory.com/37 Spring boot Gitlab CI/CD 구축 (1) 개발 프로세스에서 CI/CD(Continuous Integration/Continuous Deployment)는 애플리케이션 개발과 배포의 효율성을 높이고 소프트웨어 개발 수명 주기를 단축하는 중요한 구성 요소입니다. 이 포스팅에서는 AWS developer-been.tistory.com 5. Gitlab Runner 설정 P..
-
Spring boot Gitlab CI/CD 구축 (1)Spring 2023. 9. 10. 19:14
개발 프로세스에서 CI/CD(Continuous Integration/Continuous Deployment)는 애플리케이션 개발과 배포의 효율성을 높이고 소프트웨어 개발 수명 주기를 단축하는 중요한 구성 요소입니다. 이 포스팅에서는 AWS EC2 인스턴스에 GitLab Runner를 설치하여 GitLab CI/CD 파이프라인을 구축하고, Spring Boot에서 CI/CD 프로세스를 구현하는 방법을 알아보겠습니다. 💡 CI/CD(Continuous Integration/Continuous Deployment)란? CI/CD는 개발자 및 개발 팀이 소프트웨어를 더 신속하게 개발하고 배포할 수 있도록 도와주는 소프트웨어 개발 및 배포 프로세스의 조합입니다. 이를 통해 코드 변경사항이 자동으로 통합되고 테스..
-
Useful Information for Reference During DevelopmentDevelopment 2023. 9. 7. 00:01
1. 웹 취약점 대응 a. 파일 업로드 변조 : S3 확장자 Whitelist 적용 b. 쿠키 및 세션 타임아웃 : 적절한 만료시간 설정 필요. IBM 권고 사항은 2주 c. 불필요한 HTTP METHOD 지원 : cors 설정에서 불필요한 method는 노출 되지 않게 설정 d. S3 비정상적인 접근시 에러 정보 노출 : Cloudfront Custom Error Page 설정 e. 자동화 공격 : 특정 HTTP METHOD 대상으로 웹서버 분당 X회 속도 제한 적용 (Nginx Rate Limit) 2. 비밀번호 암호화 a. DB에 비밀번호를 암호화하여 저장 b. Random Salt 값도 저장하여 Hash c. 위 방법으로 look-up table, collision 공격 비효율적으로 만드는 것이 ..
-
[AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (2)Spring 2023. 9. 3. 19:04
이전 포스팅에서 AWS CloudFront 및 S3를 생성하고, 정책을 생성해서 적용까지 완료 했습니다. 해당 포스팅에서는 Spring Boot 설정을 하고 Presigned URL 생성 API 까지 구현 해보겠습니다. AWS CloudFront 및 S3 및 정책 생성은 이전 포스팅을 참고 하시길 바랍니다. https://developer-been.tistory.com/36 [AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (1) Spring Boot 애플리케이션에서 파일 업로드 기능을 구현하고, 이를 AWS S3와 CloudFront를 활용하여 파일을 안정적으로 저장하고 배포하는 방법을 설명합니다. 이를 통해 애플리케이션의 성능과 안정성 develope..
-
[AWS + Spring] Spring Boot에서 S3와 CloudFront를 이용한 파일 업로드 (1)Spring 2023. 8. 5. 18:14
Spring Boot 애플리케이션에서 파일 업로드 기능을 구현하고, 이를 AWS S3와 CloudFront를 활용하여 파일을 안정적으로 저장하고 배포하는 방법을 설명합니다. 이를 통해 애플리케이션의 성능과 안정성을 향상시키며, 사용자 경험을 개선할 수 있습니다. Spring Boot Server에서 미리 서명된 Presigned URL을 생성하고 Client단에서 별도의 권한 없이도 파일을 업로드 할 수 있습니다. 💡 CloudFront와 S3를 연결 하는 이유는 아래와 같습니다. 1. 빠른 파일 배포 - CloudFront는 전 세계에 분산된 엣지 로케이션(Edge Location)을 가지고 있으며, 사용자에게 가까운 엣지 로케이션에서 콘텐츠를 제공합니다. 이로 인해 파일을 빠르게 다운로드할 수 있으며..
-
[Spring] Scheduler Lock(SchedLock) - Multiple Scheduler Instance 방지Spring 2023. 2. 22. 08:46
Scheduler를 사용하려고 할때, 서버가 Scailing 되는 환경이라면 Multiple Scheduler Instances가 발생하기 때문에 고민을 해봐야 한다. 그리고 이를 해결하기 위한 방법은 2가지 정도로 살펴볼 수 있다. 첫 번째로는, Quartz와 같은 분산 스케줄링 프레임워크를 사용하여 여러 인스턴스에서 스케줄러 실행을 조정할 수 있다. 이렇게 하면 새 인스턴스가 환경에서 추가되거나 제거되더라도 한 번에 하나의 스케줄러 인스턴스만 실행되도록 할 수 있다. 두 번째로는, 한 번에 하나의 스케줄러 인스턴스만 실행되도록 할 수 있다. 스케줄러의 각 인스턴스가 예약된 작업을 실행하기 전에 공유 리소스에 대한 잠금을 획득하도록 함으로써 이를 수행할 수 있다. 스케줄러의 다른 인스턴스가 잠금을 이미..
-
[Algorithm] LeetCode 57. Insert IntervalAlgorithm 2023. 1. 21. 18:06
57. Insert Interval Medium You are given an array of non-overlapping intervals intervals where intervals[i] = [starti, endi] represent the start and the end of the ith interval and intervals is sorted in ascending order by starti. You are also given an interval newInterval = [start, end] that represents the start and end of another interval. Insert newInterval into intervals such that intervals ..
-
[GitHub] 알고리즘 자동 업로드 크롬 확장 프로그램 LeetHubGit 2023. 1. 16. 21:28
GitHub 잔디 심기, 기록 남기기, 추후 리팩토링 하기 위해서, 동기부여를 얻기 위해서 등 알고리즘 문제를 풀고 GitHub에 업로드 하려는 목적은 다양할 것이다. 이번 포스팅에서는 그 중에서도 LeetCode 사이트에서 알고리즘 문제를 푼 경우, 자동으로 GitHub에 업로드 해주는 크롬 확장 프로그램을 소개하고자 한다. 바로 'LeetHub' 라는 크롬 확장 프로그램이다. 이름 그대로 LeetCode LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge ..