본문 바로가기

전체 글127

[Git] Git 태그(Tag)와 태그 기반 브랜치 생성하기 상황팀 내에서 브랜치 관리 규칙이 조금 변경되면서 배포된 마지막 브랜치에서 새 브랜치 따기 -> 마지막 태그 기준으로 따기 로 변경되었다. 적용 ✔️Tag란?Git에서 **태그(Tag)**는 특정 커밋을 가리키는 이름표이다.주로 버전 릴리스(v1.0.0, production-1.1.2129 등)에 사용되며, 해당 시점의 코드를 쉽게 참조할 수 있다. 📌 현재 저장소의 태그 목록git tag 📌 태그가 많을 경우, 최신 순으로 정렬해서 보고 싶다면 --sort=-creatordate 옵션을 사용git tag --sort=-creatordate 📌 Tag 기반으로 브랜치 따기 ex. 예를 들어 production-1.1.2129 태그에서 fix/baggage-test라는 브랜치를 따고 싶다면git ch.. 2025. 8. 19.
[Kotlin] 생성자 개념 정리 1. 생성자 종류- 코틀린에서의 생성자는 크게 두 종류로 나뉜다.1) 주 생성자 (Primary Constructor) 클래스 헤더에 선언되는 기본 생성자이다.매개변수에 var 또는 val을 사용하면 자동으로 클래스 프로퍼티가 생성된다.init 블록과 함께 초기화 로직을 작성할 수 있다.class Member(var name: String, var age: Int = 10) { init { println("Initialized with name=$name, age=$age") }}  2) 부 생성자 (Secondary Constructor) constructor 키워드를 사용하여 정의한다.주 생성자를 반드시 호출해야 한다.class Member(var name: String, va.. 2025. 1. 22.
[Kafka] 기본 개념 및 Embedded Kafka를 통한 Kafka 테스트 상황 아파치 카프카는 대용량 실시간 메시징 시스템으로, 대량의 데이터를 안정적이고 빠르게 전송하고 처리하는 데 사용된다. 기존 프로젝트에서 메소드 내에 특정 로직에서 오류가 발생하면 전체 프로세스가 롤백되는 문제가 있었다.그래서 그 특정 로직(로깅, pdf생성, 메시지 전송)만 따로 분리하여 카프카를 이용하여 처리하고자 한다. ※참고로 이 포스팅은 카프카 서버가 구축되어있고, 기본적인 카프카 세팅이 완료되었다고 가정하고 작성한 것입니다. [개발 환경]- JDK 17- Springboot 3.1.3- Kotlin 1.8.22- JUnit5- IDE : IntelliJ- OS: mac m1간단 요약개발에 들어가기 앞서, 그전에 간단하게 이론적인 부분을 정리해보자.데이터를 주고받는 굉장히 많은 어플리케이션과.. 2024. 11. 27.
[CKEditor5] 한 페이지에 여러 개의 CKEditor5 사용하기 상황CKEditor5를 사용하여 게시글을 작성할 수 있도록 기능을 구현했다.그런데 한 화면에 여러개의 에디터를 사용할 수 있도록 기능을 변경해달라는 요구사항이 들어왔다.(아래 사진에는 [추가] [삭제] 버튼이 안보이지만, 요구사항에는 [추가] 버튼 클릭 시에 에디터 하나가 더 늘어나고 [삭제] 버튼을 클릭하면 에디터 하나가 제거되는 기능도 있어야 한다.)   html, js를 하나씩 뜯어보자.✔️html 제목 내.. 2024. 8. 22.
[Gradle] 내부망(폐쇄망, 오프라인)에서 Springboot gradle 빌드 상황종종 오프라인 환경(==망분리, 폐쇄망, 내부망, 인트라넷)에서 gradle 프로젝트를 빌드해야 하는 경우가 있다.하지만 Dependency를 받아오지 못하여 빌드에 실패하면 어떻게 처리할 수 있을까?이런 환경에서 프로젝트를 빌드하는 방법에 대해 작성해보겠다. 👀 내 로컬에는 이전에 온라인 환경에서 빌드할 때 로컬에 이미 생성된 cache가 있어서 오프라인 환경에서의 빌드가 전혀 문제가 되지 않았다. 하지만 함께 업무에 참여한 동료의 로컬에서는 빌드 시 문제가 생겼고, 추후에 나에게도 발생할 수 있는 이슈여서 정리해보려고 한다. Dependency를 가져오는 과정 1. 온라인 환경에서는 gradle.build나 pom.xml에 넣은 Dependency들은 원격 저장소(MavenCentral, Jce.. 2024. 8. 14.
[JAVA][시큐어코딩] 적절하지 않은 난수 값 사용 상황프로젝트 마무리 단계에서 소스코드 보안약점 진단 실행 후, 수정이 필요한 사항이 생겼다.적절하지 않은 난수 값 사용에 대한 개념과 수정 방안에 대해 정리해보겠다.   ✔️적절하지 않은 난수 값 사용 ???공격자가 예측 가능한 난수를 사용할 경우 다음 숫자를 예상하여 공격이 가능해지는 보안약점을 일컫는다.난수란 특정한 순서나 규칙을 가지지 않는 수를 뜻하는데, 난수 값을 결정하는 시드 (Seed) 값이 고정될 경우 예측 가능한 난수값이 생성된다고 한다.   ✔️보안 대책JAVA의 java.lang.Math.random() 메소드 사용을 자제해야 한다.예측이 거의 불가능하게 암호학적으로 보호된 java.security.SecureRandom 클래스를 사용하는 것이 안전하다.  ✔️보안 취약점 대응📌 [.. 2024. 8. 1.