[Packy] Github Releases 만들고 Release Drafter로 자동화하기
·
Github
1. 들어가며 소프트웨어 버전 관리 규칙 - Semantic Versioning 1. 들어가며 Github에는 위와 같이 Releases라는 기능이 있어 소스코드의 결과물을 배포할 수 있는 기능을 제공하고 있다. 이전에는 해당 기능을 사용하지 않았지만, 이번 프로젝트부터는 릴리즈를 leeeeeyeon-dev.tistory.com 이전 포스트에서 Semantic Versioning과 Major, Minor, Patch 버전에 대해 간략히 알아보았다. 이번 포스트에서는 직접 Github Releases를 만들어보자. 2. Releases 만들기 첫 Release를 배포하는 경우 Create a new release를 눌러준다. 첫 Release가 아닌 경우 Releases > Draft a new relea..
소프트웨어 버전 관리 규칙 - Semantic Versioning
·
Semi Tips
1. 들어가며 Github에는 위와 같이 Releases라는 기능이 있어 소스코드의 결과물을 배포할 수 있는 기능을 제공하고 있다. 이전에는 해당 기능을 사용하지 않았지만, 이번 프로젝트부터는 릴리즈를 배포하여 서버의 버전을 제대로 관리해보고자 한다. 이번 포스트에서는 버전 관리에 앞서 버전을 작성하는 방법을 알아보자. 2. 버전 관리가 왜 필요한가? 버전 관리를 통해 우리는 아래와 같은 이점을 얻을 수 있다. 히스토리 추적 및 관리 백업 및 복구 용이 사용자에게 버전에 대한 정보 제공 3. Semantic Versioning 앱이나 게임을 보면 v.1.6.2 처럼 버전이 적힌 것을 볼 수 있다. 하지만 이런 버전은 개발자가 임의로 적는 것이 아니라는 사실 ...!!! 저런 형태의 버전은 Semanti..
[Packy] 멀티 모듈 프로젝트에서 jacoco test report 통합하여 연동하기
·
Spring
1. 들어가며 진행하고 있는 프로젝트는 멀티 모듈로 운영하고 있는데, jacoco 테스트 리포트를 만들면 모듈마다 build 패키지에 리포트가 생성되어 하나로 확인하기 어렵다. Gradle 7.4부터 지원하는 jacoco-report-aggregation 플러그인을 사용하면 여러 모듈에 걸친 테스트 리포트를 하나로 통합하여 관리할 수 있다. 2. rootProject - build.gradle 루트 프로젝트의 build.gradle에 아래와 같이 코드를 추가해준다. 주석으로 위에 jacoco라고 적은 부분이 jacoco 연동을 위해 추가된 코드이다. 이제 모든 하위 모듈에 jacoco 플러그인이 추가되었고, ./gradlew testCodeCoverageReport 명령어로 테스트 리포트를 만들 수 있다..
[BOJ 1197] 최소 스패닝 트리
·
Coding Test/Problem Solving
1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 맞았습니다!! 별다른 아아디어 없이, MST 알고리즘을 적용하면 풀 수 있는 문제이다. 최소 신장 트리(MST, Minimum Spanning Tree) - 크루스칼, 프림 알고리즘 1. 최소 신장 트리란? 신장 트리(Spanning Tree)란 그래프의 모든 노드가 사이클 없이 연결된 부분 그래프를 의미한다. 신장 트리는 여러 개가 존재할 수 있으며, 이 중 모든 노드가 ..
최소 신장 트리(MST, Minimum Spanning Tree) - 크루스칼, 프림 알고리즘
·
Coding Test/Algorithm & Data Structure
1. 최소 신장 트리란? 신장 트리(Spanning Tree)란 그래프의 모든 노드가 사이클 없이 연결된 부분 그래프를 의미한다. 신장 트리는 여러 개가 존재할 수 있으며, 이 중 모든 노드가 최소 간선의 합으로 연결되었을 때를 최소 신장 트리(MST, Minimum Spanning Tree)라고 한다. 최소 신장 트리를 찾을 수 있는 대표적인 알고리즘 2가지가 있는데, 크루스칼 알고리즘과 프림 알고리즘이다. 크루스칼은 간선 중심, 프림은 정점 중심 알고리즘이다. 정점 대비 간선이 적으면(Sparsh Graph) 크루스칼을, 많으면(Dense Graph) 프림을 사용하는 것이 좋다. 크루스칼 알고리즘의 시간복잡도: O(ElogE) 프림 알고리즘의 시간복잡도: O(VlogV+ElogV) 둘 다 음의 간선이..
[Packy] Swagger @ApiResponses를 커스텀 어노테이션으로 대체하기
·
Spring
1. @ApiResponses의 한계 Swagger에서 정상 응답값과 함께 에러 응답값도 명시해주어야 클라이언트 단에서도 에러 응답값에 대한 예외 처리를 할 수 있다. Swagger에서는 기본적으로 아래와 같이 @ApiResponses와 @ApiResponse 어노테이션을 사용할 수 있다. @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "로그인 성공"), @ApiResponse(responseCode = "400", description = "로그인 실패") }) 하지만 @ApiResponses를 사용하며 여러모로 불편함을 느꼈다. 1. responseCode, description을 수작업으로 적어주어야 한다. [Pac..
짱정연
'분류 전체보기' 카테고리의 글 목록 (6 Page)