썸네일 [SonarQube] SonarQube 업그레이드에 따른 SonarScanner 버전을 확인해보자 (SonarQube 10.5.1) SonarQube와 SonarScanner를 간단하게 설명하자면 SonarQube가 코드 분석을 수행하고, 분석 결과를 저장하는 서버라면 SonarScanner는 실제 코드 분석을 수행하는 클라이언트 도구라고 생각하면 된다. 여기서 궁금한 점 만약, SonarQube 버전이 올라가면 SonarScanner 버전도 올려야 할까?  결론부터 말하자면 그렇다.💡 SonarQube 10.5 버전으로 업그레이드 시, Sonar-Scanner 또한 업그레이드 필요 (최소 5.0.0.2966 이상 버전 사용 필수) 정말로 그런지 테스트를 해보자.  기존 버전 SonarQube : 8.9.4 community EditionSonar-Scanner : 4.8.0.2856테스트 대상 버전SonarQube : 10.5.1..
썸네일 회고 | (5월~8월) 그 모든 파도는 한 번뿐이고, 결국 모두 지나간다. 💪🏻 내가 한 것과 잘한 것1. 사내 개발 스터디 시작 이번 분기 가장 큰 성과는 바로 사내 개발 스터디를 시작했다는 것이다.다른 스터디도 많은데 사내 스터디에 참여한 이유는 다음과 같다. 1. "팀원"들이랑 개발 관련 얘기를 나누면서 좀 더 친해지고 싶었다.2. 외부 스터디와 다르게 업무 관련된 고민을 가감 없이 나눌 수 있다.3. 스터디 시간대를 유동적으로 조율할 수 있다.  1-1. 테스트 코드 스터디벌써 3년 차 개발자인데, 그동안 테스트 코드를 작성해 본 적이 없었다. 테스트 코드를 짤 수 있지만, 여건상 짤 수 없는 개발자가 아니라 짤 수 조차 없는 개발자라는 사실이 부끄러웠다. 다른 팀원 분도 테스트 코드에 관심이 있어 자연스럽게 스터디 첫 번째 주제는 "테스트 코드"로 정해졌다. 각 ..
썸네일 회고 | 견디고 버티면 어느 순간 늘게 되어있다. 💪🏻 내가 한 것과 잘한 것1. 일1-1. 금융권  CI/CD 프로젝트 오픈https://seongeun-it.tistory.com/315 회고 | 2023년 - 지고 싶지 않다면 이길 때까지 계속하면 된다.💪🏻 내가 한 것과 잘한 것 1. 일 1-1. 금융권 CI/CD 프로젝트 오픈 2023년 7월부터 12월까지 숨 가쁘게 달려왔던 금융권 CI/CD 프로젝트를 오픈했다. 나는 소스코드점검 파트에 배정 받았고, 간단하게seongeun-it.tistory.com안정화 기간을 거쳐 2월에 프로젝트가 종료되었다. 진.짜. 고생 많았다 김성은.. 1-2. Spring Batch를 사용해서 SonarQube 정적 분석 결과 DB에 적재처음으로 배치 관련한 업무를 해봤는데, 이게 될까? 에서 이게 되네로 바..
썸네일 회고 | 코드숨 핸즈온 후기 | 실습으로 마스터하는 OAuth 2.0: 기본부터 보안 위험까지 1. 실습으로 마스터하는 OAuth 2.0 란? 코드숨 인스타를 통해 OAuth2.0 핸즈온 세션을 알게 되어 신청했다. 자세한 설명은 코드숨 링크를 참고! https://www.codesoom.com/courses/handson 핸즈온 : OAuth 2.0 | 코드숨 올바른 공부 방법으로 깊이있는 개발 지식과 기술을 배워보세요. www.codesoom.com 2. 어떤 것을 기대하며 이 과정을 신청했을까? 2-1. 직접 실습해보며 OAuth와 가까워지기 2-2. 인증, 인가에 대한 막연한 두려움 없애기 3. 새롭게 알게된 건 무엇일까? 3-1. OAuth란? OAuth2.0은 인가 프레임워크이다. (인증 프로토콜이 아님) 아닌 이유 : Github 토큰을 가져왔다고 해서 그 사람이 “김성은”인건 아니..
썸네일 [Github] OAuth 앱 권한 부여 방법 Github Docs https://docs.github.com/ko/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app OAuth 앱 만들기 - GitHub Docs 개인 계정에서 또는 관리자 액세스 권한이 있는 조직에서 OAuth app을(를) 만들고 등록할 수 있습니다. OAuth app을(를) 만드는 동안 퍼블릭으로 간주되는 정보만 사용하여 개인 정보를 보호해야 합니 docs.github.com 1) 우측 상단 프로필 클릭 > Settings 2) Developer settings 3) OAuth Apps 4) New OAuth application 아래 이미지와 같이 입력 (* Authorization callback URL은 인가를 끝낸 후..
썸네일 DBeaver - docker mysql Connection Fail (Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.) docker로 각기 다른 포트의 mysql를 띄우고 싶었다. 어찌어찌 띄우는 건 성공했는데, DBeaver에서 접속하려고 하니 에러가 발생했다. 울지말고 확인해보자.. Version Version OS mac m1 Docker 25.0.3 Docker Desktop 4.27.2 (137060) Mysql 8.3.0 DBeaver 23.3.4. ERROR Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. Mysql의 Global Port를 확인해 보자 확인 방법 1. mysql DB 접속 터미널에서 아래 명령어를 입력하면 mysql DB에 접속할 수 있다. docker exec -it {컨테이너명} mysql -..
썸네일 [GitHub] default branch 변경하기 현상 다른 개발 블로그 보면 Setting > Branches에서 default branch를 변경할 수 있었다. 해결 방법 1. General > Default branch > 수정할 브랜치 선택 > Update 2. Update 클릭하면 다음과 같은 팝업이 뜨는데 I understand, update the default branch. 클릭 3. default 브랜치 변경 확인
썸네일 회고 | 2023년 - 지고 싶지 않다면 이길 때까지 계속하면 된다. 💪🏻 내가 한 것과 잘한 것 1. 일 1-1. 금융권 CI/CD 프로젝트 오픈 2023년 7월부터 12월까지 숨 가쁘게 달려왔던 금융권 CI/CD 프로젝트를 오픈했다. 나는 소스코드점검 파트에 배정 받았고, 간단하게 설명하자면 배포 전 소스코드를 사전에 점검하여 사용자에게 취약점 분석 결과를 전달하는 업무이다. 소스코드 분석을 위해 소나큐브 오픈소스를 활용했고, 효율적인 운영 관리를 위해 소나큐브에서 제공하는 룰셋, 룰 옵션 기능을 추가적으로 개발하였다. 지난 5개월 동안 정말 많은 것들을 경험할 수 있었는데 다음과 같다. 1. SI 프로젝트를 경험할 수 있었다. 2. MSA로 백엔드 개발을 할 수 있었다. 3. 화면 기획부터 DB 설계까지 참여할 수 있어 다양한 직무의 일들을 체험할 수 있었다. 4. ..
썸네일 [SonarQube] Webhook Additional parameters (소나큐브 비동기 호출 사용자 정의 파라미터 추가) OS : Window SonarQube Ver : sonarqube-8.9.10.6 플로우를 간단하게 설명하면 다음과 같다. 1.BE 서버에서 소나스캐너를 실행함 2. 소나스캐너 호출이 완료되면 소나스캐너가 소나큐브 서버로 데이터를 보냄 3. 소나큐브는 Webhook에서 설정한 BE 서버를 비동기 호출한다. 4. 호출받은 BE 서버는 소나큐브 Payload를 가지고 이후 로직 처리 진행 내가 하고 싶었던 것 - 4번 절차에서 소나큐브의 응답받은 데이터를 DB 적재하고 싶음 - 응답 데이터마다 각기 다른 컬럼에 적재되어야 하기 때문에 서비스단에서 분기 처리가 필요함 그래서 어떻게 했는가 결론 : 소나스캐너 파라미터를 이고지고 BE서버까지 가지고 오면 된다. 즉, 1번 절차에서 소나스캐너를 실행하는 시점에 ..
썸네일 [Mybatis] foreach insert duplicate update 처리(Upsert) Upsert란 UPDATE + INSERT를 합친 단어이다. 중복되는 값이 있으면 UPDATE, 없으면 INSERT 하는 쿼리라고 생각하면 된다. Mybatis에서 다중 INSERT 하는 방법은 다음과 같다. INSERT 테이블명 ( name, age ) VALUES ( #{alias.name} , #{alias.age}) 만약, INSERT 시 PK(=name)가 중복된 경우에 특정 칼럼만 UPDATE 하고 싶다면 ON DUPLICATE KEY UPDATE를 사용하면 된다. INSERT 테이블명 ( name, age ) VALUES ( #{alias.name} , #{alias.age} ) ON DUPLICATE KEY UPDATE age = VALUES (age) ON DUPLICATE KEY UPD..
썸네일 [SonarQube] SonarQube 내장 DB (H2) 접속방법 OS : Window SonarQube Ver : sonarqube-8.9.10.6 소나큐브는 Default 로 H2를 사용하고 있다. 이걸 디비 접속 툴을 사용하지 않고 cli 명령어를 통해 접속하고 싶었다. 접속 방법 1. cmd창으로 SonarQube의 H2 경로로 이동 cd {소나큐브 설치경로}\sonarqube-8.9.10.61524\sonarqube-8.9.10.61524\lib\jdbc\h2 2. 아래 명령어 실행 java -cp h2-1.4.199.jar org.h2.tools.Server -web -webAllowOthers -tcp -tcpAllowOthers -ifNotExists (*h2-1.4.199.jar는 각자 버전에 맞게 수정) 3.아래 URL로 접속 4. 다음과 같이 설정 ..
썸네일 [SonarQube] Window cmd에서 소나큐브 프로젝트 바인딩 명령어 입력 윈도우에서 아래 명령어 실행하려면 \가 아닌 ^를 사용하면 된다. (\ 사용하면 단일 명령어로 인식됨) mvn sonar:sonar ^ -Dsonar.projectKey=test ^ -Dsonar.host.url=http://localhost:9000 ^ -Dsonar.login=사용자토큰