본문 바로가기

분류 전체보기

(333)
[끄적끄적] Effective software testing 적용기 Effective software testing Effective software testing책의 내용을 프로젝트에 적용해가며 느꼈던 인사이트를 공유하는 회고성 글 입니다. 왜? 최근 TDD, ATDD와 같은 "테스트가 주도하는 개발" 방법론을 개발에 적용해 개발하고 있었다. 이 방법론 덕분에 팀의 코드는 테스트하기 쉬워졌고, 높은 테스트 커버리지를 달성할 수 있었다. 심지어, 높은 커버리지(96퍼 였던거로 기억함)는 모든 기능이 정상적으로 동작함을 보장해주는듯 했다. 이러한 생각이 깨지는데는 그렇게 긴 시간이 걸리지 않았다. 실제로 우리 팀은 96퍼나 되는 커버리지를 달성했음에도 mocking 처리된 데이터베이스로 인해 예상치못한 에러상황(보러가기) 을 겪은적이 있다. 우리의 테스트는 왜 실패했을까?..
[끄적끄적] Jacoco multi-module 자동화 적용기 [끄적끄적] Jacoco - multi-module 적용기 multi module project에 jacoco를 적용하는중 겪었던 어려움과 해결방법을 작성한 글 입니다. 우선, 제가 만든 jacoco관련 gradle 파일은 다음과 같습니다. 1. 새롭게 생성되는 모듈 jacoco-aggregtaion 대상으로 등록 자동화 2. 새롭게 생성되는 모듈 test coverage 측정 대상으로 등록 자동화 3. coverage-exclude.luffy (저희 프로젝트 내부에서 사용하는 파일입니다) 에 exclude할 패키지 지정하면 모든 테스트와 reports에서 제외 자동화 https://github.com/depromeet/na-lab-server/blob/main/gradle/jacoco.gradle Gi..
[Sonarqube] Sonarqube 설치 + PR decoration 하기 Sonarqube 설치 + PR decoration 하기 이번 포스팅에서는 docker로 sonarqube를 설치하고 PR decoration까지 하는법을 알아보겠습니다. 최종적으로 아래 사진과 같이 PR에 sonarqube가 리포트를 달아줍니다. 스펙 1. Ubuntu 18.04 LTS 2. Docker version 20.10.17 3. Sonarqube version 9.9.1-community (포스팅 시점에서 10.x까지 나왔는데, 10 버전부터는 PR decoration을 플러그인으로 적용할 수 없습니다. 아직 10 버전을 지원하는 플러그인이 나오지 않았어요. PR decoration을 위해서 9.9.1버전을 다운해줍시다.) Sonarqube 설치 docker는 설치되었다고 가정하고 넘어가겠습..
[백준 / BOJ] 2310 어드벤처 게임 (Rust) 문제 출처 : https://www.acmicpc.net/problem/2310 2310번: 어드벤처 게임 입력은 여러 개의 미로로 주어진다. 각 미로의 첫 줄에는 미로의 방 수를 나타내는 정수 n(1 ≤ n ≤ 1000)이 주어진다. 다음 n 줄에는 각 방의 정보가 주어진다. 각 방의 정보는 방의 내용물을 나타 www.acmicpc.net 1부터 n까지의 번호가 붙은 방이 있다. 각 방은 E,L,T로 이루어져 있는데, 각각이 의미는 아래와 같다. E : 비어있는 방 -> 아무런 동작도 하지 않음. L : 레프리컨의 방 -> 이 방에 진입했을때, 내가 갖고있는돈이 방의 돈 보다 작다면, 방의 돈으로 내 돈이 맞춰짐. T : 트롤의 방 -> 이 방에 진입하려면, 이 방의 돈 만큼 내가 돈을 갖고있어야 한다..
[끄적끄적] Rust로 PS 후기 Rust로 PS 후기 😣 원래는 자바, C++로 PS를 했었는데, 요즘 핫한 Rust에 익숙해질 겸, Rust로 PS를 시작했다. 이 글을 쓰는 시점에서 4-5문제 정도 푼 거 같은데.. 후기를 쓰기에는 좀 이르나 어쨌든 적어보려고 한다. Rust로 푼 문제 https://dlwnsdud205.tistory.com/347 [백준 / BOJ] 14575 뒤풀이 (Rust)문제 출처 : https://www.acmicpc.net/problem/14575 14575번: 뒤풀이 첫째 줄에 대회 참가자의 수 N과 술의 총량 T가 주어진다. (1 ≤ N ≤ 1000, 1 ≤ T ≤ 109) 둘째 줄부터 N개의 줄에 걸쳐, 각 사람에 대한 Li와 Ridlwnsdud205.tistory.com 장점 1. 생각보다 빠른..
[백준 / BOJ] 14575 뒤풀이 (Rust) 문제 출처 : https://www.acmicpc.net/problem/14575 14575번: 뒤풀이 첫째 줄에 대회 참가자의 수 N과 술의 총량 T가 주어진다. (1 ≤ N ≤ 1000, 1 ≤ T ≤ 109) 둘째 줄부터 N개의 줄에 걸쳐, 각 사람에 대한 Li와 Ri값이 주어진다. (1 ≤ Li ≤ Ri ≤ 106) www.acmicpc.net 모든 사람은 각각 자신이 먹고싶어하는 최소주량 L 최대주량 R이 있다. 이 때, 도현이는 각각 의 사람들에게 최대 S만큼의 술을 나눠주며, 나눠준 술의 총 합을 정확히 T로 맞추는 S의 최솟값을 구하는 문제다. 풀이 문제에서 주어진 조건은 3가지 이다. 1. 모든 사람 i가 Li이상, Ri이하의 술을 받는다. 2. 모든 사람이 받은 술의 총합이 정확히 T ..
[백준 / BOJ] 1153 네 개의 소수 (Java) 문제 출처 : https://www.acmicpc.net/problem/1153 1153번: 네 개의 소수 임의의 자연수가 주어지면, 이를 네 개의 소수의 합으로 분해하는 프로그램을 작성하시오. 예를 들어 38 = 5 + 7 + 13 + 13이 된다. www.acmicpc.net 1
[짧막 회고] jpql 추상화를 무시하고 치뤄야한 대가 추상화를 무시하지말자.. 제목은 "jpql 추상화를 무시하고 치뤄야한 대가" 인데, 의도적으로 무시한것은 절대 아니고 "무지" 했기 때문에 무시한것이다. 여하튼.. jpql을 무시한 결과로 대가를 치뤄야한 경험을 정리한 글 이다. 모든 코드는 여기에서 볼 수 있다. https://github.com/waldreg/waldreg-api GitHub - waldreg/waldreg-api: 대학교 동아리를 위한 그룹웨어 api server 대학교 동아리를 위한 그룹웨어 api server. Contribute to waldreg/waldreg-api development by creating an account on GitHub. github.com 개요 우리 애플리케이션의 repository 모듈은 테스트..