본문 바로가기

분류 전체보기

(129)
깃헙 액션(Github Actions) 사용하기 (2/2) 목차 1. push 이벤트로 깃헙 액션 실행 2. input 값으로 깃헙 액션 실행 3. 깃헙 액션 스케줄 실행 이번에는 여러 이벤트를 기반으로 깃헙 액션을 실행시켜 보겠습니다. 사용 소스는 깃허브에 있습니다. 1. push 이벤트로 깃헙 액션 실행 push 이벤트가 발생하면 hello-github-actions라는 job을 실행시키는 github actions입니다. hello-github-actions 잡은 "chmod +x gradlew"와 "./gradlew clean build test" 명령어를 실행시키는 스텝을 가지고 있습니다. name: hello-github-actions run-name: ${{ github.actor }}의 헬로 깃허브 on: [push] jobs: hello-spri..
깃헙 액션(Github Actions) 사용하기 (1/2) 목차 1. 깃헙 액션이란? 2. 깃헙 액션의 구성요소 3. 깃헙 액션 만들기 4. 깃헙 액션 이벤트 5. 깃헙 액션 표현식 6. 깃허브 액션 템플릿 7. 깃헙 액션 스케줄 8. 컨텍스트 1. 깃헙 액션이란? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼입니다. 리포지토리에 대한 모든 Pull Request가 발생할 때마다 빌드 및 테스트하는 워크플로를 생성하거나, 병합된 Pull Request들을 프로덕션에 배포할 수 있습니다. GitHub는 Linux, Windows 및 macOS 가상 머신을 제공하여 워크플로를 실행하거나 자체 데이터 센터 또는 클라우드 인프라에서 자체 호스팅 러너를 호스팅 할 수 있습니다. 2. 깃헙..
정적 분석기 SonarLint & SonarQube 사용하기 목차 1. 정적 분석기란? 2. SonarLint란? 3. SonarQube란? 4. SonarQube의 구조 5. SonarLint 사용하기 6. SonarQube 사용하기 정적 분석기란? 코드를 검사하여 메모리 누수 또는 버퍼 오버플로우 등 일반적으로 알려진 오류 및 취약점을 파악합니다. 또한 정적 분석을 활용하면 코딩 표준 적용이 가능합니다 CI 파이프라인의 첫 단계에서 수행하거나 변경 사항 커밋 전 IDE에서 직접 수행할 수 있습니다. 정적 분석기의 지원 기능 • 코드 규칙 검사 • 코드 스타일 검사 • 중복 코드 검사 • 버그 검사 • 보안 취약점 검사 정적 분석기 추천 SonarLint • 인텔리J 플러그인 • IDE 에서 정적 분석 제공 SonarLint란? SonarLint는 인텔리제이 플..
Spring으로 ABTest 진행하기 (1/2) - ABTest란 무엇인가? 목차 ABTest란? ABTest 관련 용어 ABTest 실험 사례 ABTest 실험 목적 ABTest 기간 ABTest 유의 사항 ABTest의 추가 이점 ABTest 도구 UX 변경에 따른 회원가입 증가율, 결제 전환율, 새로 변경된 알고리즘을 트래픽 비율로 점진적으로 테스트하기 등 서버에서 다양한 ABTest를 진행합니다. Spring 기반의 서버 환경에서 ABTest를 진행하려고 합니다. 이번 글에서는 ABTest가 무엇인지 확인하고, 다음 글에서 ABTest 도구 중 하나인 핵클을 사용해 ABTest를 진행해 보겠습니다. ABTest란? 기존 버전(A안)과 신규 버전(B안)을 만들어 둘 다 고객에게 일정 비율로 노출 어느 쪽이 더 좋은지 확인합니다. 온라인 환경에서 통제된 상황으로 진행됩니다. ..
Spring으로 ABTest 진행하기 (2/2) - Hackle 사용하기 목차 핵클(Hackle)이란? 핵클로 무엇을 할 수 있나? 핵클에서 제공되는 SDK 핵클 SDK로 할 수 있는 것 핵클 SDK 적용 핵클 SDK 진행하기 - 자바 핵클 ABTest 진행하기 핵클 기능 플래그 진행하기 저번 글에서 ABTest가 무엇이고 대표적인 도구들을 알아봤습니다. 이번 글에서는 도구들 중 하나인 Hackle을 이용해 Spring 서버 환경에서 ABTest를 진행해 보겠습니다. 코드는 깃허브에서 확인 가능합니다. GitHub - keepseung/Spring-Blog-Source: 스프링 부트를 사용해 어플리케이션을 만들때 필요한 기능들을 담 스프링 부트를 사용해 어플리케이션을 만들때 필요한 기능들을 담고 있습니다. . Contribute to keepseung/Spring-Blog-S..
Spring으로 Slack 알림 보내기 목차 1. 알림의 중요성 2. Spring으로 Slack 알림 보내기 알림의 중요성 서비스 지표가 문제가 있거나 시스템에 문제가 있는 경우 팀 내부에서 빠르게 인지하는 게 필요합니다. 서비스 지표에 문제가 있는 예시는 다음과 같습니다. • 급격한 주문 건 수 감소 • 급격한 결제 건 수 감소 • 급격한 검색량 감소 • 급격한 매출 감소 시스템 이상 예시는 다음과 같습니다. • CPU 사용률 증가 • 5xx 응답 오류 증가 • 메모리 부족 • 데이터베이스 커넥션 부족 • Full GC 발생 • API 지연 • 카프카 메시지 랙 이런 상황에서 빠르게 알림을 보내주는게 중요합니다. 사내 메신저로 많이 쓰이는 Slack으로 알림을 보내는 예시를 만들어보겠습니다. Spring으로 Slack 알림 보내기 1. Sl..
Java 스트림 (Stream) 사용법 및 정리 3/3 (Collectors, Grouping By ..) 목차 · Collectors · toMap · Grouping By · Partitioning By · For Each Collectors R collect(Collector
Java 스트림 (Stream) 사용법 및 정리 2/3 (Reduce, Max, Min ..) 목차 · Max/Min/Count · All Match / Any Match · Find First / Find Any · Reduce 스트림 정리 1편에서 다뤘듯이 스트림 파이프라인이 있는데 이번 글에서는 종결 처리하는 부분에 대해 다룰 것이다. Max, Min, Count Optional max(Comparator