-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 0.0.11 #527
Merged
Merged
Release 0.0.11 #527
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* [feat] 종목 현재가 갱신 시스템 구현 (#462) * feat: Kis 웹소켓 서비스 구현 * feat: 웹소켓 접근키 저장소 구현 * test: 웹소켓 접근키 저장소의 테스트 추가 * feat: tr-id 프로퍼티 추가 * fix: 웹소켓 접속 문제 해결 * feat: approvalKey에 대한 null 처리 추가 * feat: 정적 팩토리 추가 * test: 테스트 검증문 수정 * test: KisWebSocketClient connect 테스트 추가 * test: onClose 테스트 추가 * test: add sendMessage test * feat: oauth SecurityFilterChain 순서 변경 - 변경 이유 : 테스트용 SecurityFilterChain이 순서상 앞에 두기 위해서 * test: 테스트용 웹소켓 서버 설정 추가 * feat: 웹소켓 클라이언트에 실시간 종목 체결가 핸들링 메서드 구현 * test: 웹소켓으로 실시간 체결가를 조회하여 레디스에 저장하는 테스트 구현 * style: 투두 추가 및 메인 애플리케이션 이름 변경 * test: 테스트 서포트 클래스 support 패키지로 이동 * feat: StockPrice push 서비스 구현 * feat: WebClientConfig global 패키지로 이동 * fix: api로 요청하는 방식이 아닌 price 모듈에서 가져오는 방식으로 변경 * feat: StockPriceWebSocketClient 구현 * feat: connect 예외 처리 * rename: 패키지명 변경 * style: 코드 정리 * feat: 웹소켓 현재가 조회 API 구현 * feat: StockPriceDispatcher 구현 * feat: add log * test: solve test fail * feat: StockPriceWebSocket 스케줄러 구현 - 오전 8시30분에 웹소켓 재연결 - 오후 16시에 웹소켓 연결 해제 * refactor: extract method * feat: add stream filter * style: 코드 정리 * style: 코드 정리 * test: 테스트 추가 * test: 테스트 검증 수정 * feat: 포트폴리오 캐시 기능 추가 * feat: 캐시 TTL 설정 추가 * feat: 포트폴리오 종목 서비스에 캐시 로직 추가 * test: 캐시 관련 검증문 추가 * test: mock 설정 추가 * feat: 스케줄러 삭제 * feat: cors 프로파일별 설정 클래스 추가 (#464) * fix: test 프로파일 설정값 추가 및 클래스명 변경 * feat: 종목 현재가 갱신 스케줄러 추가 웹소켓을 이용한 서버가 완성될때까지 임시로 추가 * [feat] 종목 현재가 갱신 시스템 구현 (#462) * feat: Kis 웹소켓 서비스 구현 * feat: 웹소켓 접근키 저장소 구현 * test: 웹소켓 접근키 저장소의 테스트 추가 * feat: tr-id 프로퍼티 추가 * fix: 웹소켓 접속 문제 해결 * feat: approvalKey에 대한 null 처리 추가 * feat: 정적 팩토리 추가 * test: 테스트 검증문 수정 * test: KisWebSocketClient connect 테스트 추가 * test: onClose 테스트 추가 * test: add sendMessage test * feat: oauth SecurityFilterChain 순서 변경 - 변경 이유 : 테스트용 SecurityFilterChain이 순서상 앞에 두기 위해서 * test: 테스트용 웹소켓 서버 설정 추가 * feat: 웹소켓 클라이언트에 실시간 종목 체결가 핸들링 메서드 구현 * test: 웹소켓으로 실시간 체결가를 조회하여 레디스에 저장하는 테스트 구현 * style: 투두 추가 및 메인 애플리케이션 이름 변경 * test: 테스트 서포트 클래스 support 패키지로 이동 * feat: StockPrice push 서비스 구현 * feat: WebClientConfig global 패키지로 이동 * fix: api로 요청하는 방식이 아닌 price 모듈에서 가져오는 방식으로 변경 * feat: StockPriceWebSocketClient 구현 * feat: connect 예외 처리 * rename: 패키지명 변경 * style: 코드 정리 * feat: 웹소켓 현재가 조회 API 구현 * feat: StockPriceDispatcher 구현 * feat: add log * test: solve test fail * feat: StockPriceWebSocket 스케줄러 구현 - 오전 8시30분에 웹소켓 재연결 - 오후 16시에 웹소켓 연결 해제 * refactor: extract method * feat: add stream filter * style: 코드 정리 * style: 코드 정리 * test: 테스트 추가 * test: 테스트 검증 수정 * feat: 포트폴리오 캐시 기능 추가 * feat: 캐시 TTL 설정 추가 * feat: 포트폴리오 종목 서비스에 캐시 로직 추가 * test: 캐시 관련 검증문 추가 * test: mock 설정 추가 * feat: 스케줄러 삭제 * feat: cors 프로파일별 설정 클래스 추가 (#464) * fix: test 프로파일 설정값 추가 및 클래스명 변경 * feat: WebSocketSession 재연결 이벤트 구현 * fix: 불필요한 save 메서드 제거 * feat: 예외 처리 추가 * feat: 핑퐁 메시지 검사 메서드 추가 * feat: 에러 메시지 수신시 StockPrice를 저장소에서 제거하는 이벤트 구현 * feat: @Getter로 변경 * feat: 메서드명 변경 * feat: 종목 실시간 체결가 구독/해제 메시지 이벤트 구현 * feat: 생성자에서 ticker 제거 우선순위가 낮은 종목에 대하여 구독 해제이기 때문에 ticker 필드 제거 * feat: 컬렉션 타입 Queue로 변경 * fix: 오타 수정 * style: 코드 정리 * feat: 종목 저장 서비스 수정 - 종목 저장소에 저장할 수 잇는 개수가 최대 20개로 변경되면서 조건문을 서비스 객체로 인동시킴 * refactor: dispatcher 분리 - StockPriceRepository가 저장소에 역할을 다하기 위해서 dispatcher 인스턴스를 서비스로 이동시킴 * test: pushStocks 테스트 추가 * feat: 구독 불가능 종목에 대하여 현재가 조회하는 기능 추가 * test: tearDown 추가 * fix: 조건문 통합 * test: 테스트 추가 * test: 테스트 실패 해결 * test: DirtiesContext 애노테이션을 추가하여 별도의 테스트 환경에서 수행하도록 함 * feat: 로깅 추가 * feat: WebSocketClient 스프링 빈 추가 * feat: 메시지 전송 예외 처리 * test: 메시지 전송 예외 케이스 추 * test: 퐁 데이터 전송시 예외 케이스 추가 * fix: Too Many Connections 테스트 에러 해결 - 원인 : 테스트 수행시 너무 많은 연결이 해제되지 않았기 때문 - 방법 : max-lifetime을 30초로 설정하여 최대 30초까지 연결되는 방식으로 설정 * feat: 비동기 추가 * refactor: 조건문 분리 * refactor: 웹소켓 승인키를 검사하는 부분을 AOP로 분리 * style: 코드 정리 * fix: DirtiesContext 애노테이션 제거 - max-lifetime을 설정함으로써 불필요함 * refactor: 메서드 분리 * refactor: 종목 실시간 체결가 웹소켓 URL을 kisProperties로 분리 * refactor: kisProperties를 주입받아서 URL을 전달하도록 변경 * test: disconnect 테스트 추가 * test: sendMessage 예외 케잉스 추가 * refactor: isConnect를 조건문에 추가 * refactor: close, reconnect 메서드 분리 * refactor: Factory 생성 및 분리 * style: 메서드명 변경
* feat: StockPriceRepository 저장소의 원소 타입을 String에서 StockPrice로 변경 - StockPrice 객체는 티커심볼과 만료시간을 가지고 있다. - 만료시간은 생성 기준 1분 * test: StockPrice 만료시간 관련된 검증문 추가 * feat: StockPrice 갱신 메서드 추가 * refactor: StockPrice 인수 타입으로 변경 * test: 만료시간 갱신 테스트 추가 * fix: 스케줄러 추가 * fix: fixedDelay 옵션으로 변경 - fixedRate는 작업완료가 완료되기전에 시간이 되면 수행됨 - fixedDelay는 작업 수행 시간이 도달해도 이전 작업이 완료되어야지 수행됨 * feat: getter, toString 추가 * feat: 구독 해제 메시지 기능 추가 * feat: 만료된 StockPrice를 제거 및 구독 해제하는 스케줄러 추가 * feat: 만료된 StockPrice를 제거하는 기능 추가 * style: 코드 정리 * fix: api 오타 수정 * feat: StockPrice toString 구현 * feat: debug 로깅 추가 * feat: approval key가 유효하지 않은 경우의 에러 핸들링 추가 * fix: 오타 수정 * fix: 구독 해제에 실패했으면 다시 저장소에 넣도록 변경
* refactor: 임베디드 클래스로 분리 * refactor: 정적 팩토리 수정 * fix: MemberProfile 위임 메서드 추가 및 JPQL 오타 수정 * fix: 포트폴리오 배당금 계산 메서드에 LocalDateTimeService 인수 추가 - 목객체 주입위해서 * fix: 테스트 실패 해결 * test: 테스트 추가 * refactor: oauthMember 메서드 매개변수 줄임 * refactor: 정적 팩토리 추가 * refactor: 기존 로컬 회원 정적 팩토리 메서드 제거 * refactor: 기존 로컬 회원 정적 팩토리 제거 * refactor: profileUrl을 MemberProfile로 이동 * refactor: 메서드 타입을 void로 변경 * refactor: MemberRole 가변인수 메서드로 변경 * test: addMemberRole 메서드 테스트 추가 * refactor: Member와 NotificationPreference 연관관계 편의 메서드 개선 * refactor: Member, MemberRole간에 연관관계 편의 메서드 구현 * rename: 메서드명 변경 * feat: 연관관계 편의 메서드 구현 * feat: toString 재정의 * style: roleSet을 roles로 변경 * test: add test * style: 메서드명 변경
* refactor: PortfolioGainHistory 컬렉션을 스트림 방식으로 변경 * feat: 캐시 설정 * feat: 직렬화 캐시 설정
* feat: toString 재정의 * feat: EqualsAndHashCode 추가 * test: addHoldings 테스트 코드 추가 * feat: Portfolio-Holding 연관관계 편의 메서드 개선 * test: 연관관계 편의 메서드 테스트 추가 * refactor: 정적 메서드 제거 * feat: PortfolioDetail 생성자 및 테스트 구현 * feat: 증권사 리스트에 없는 증권사 전달시 예외 발생 * feat: 포트폴리오 이름 유효성 검사 및 예외케이스 구현 * feat: 포트폴리오 생성 요청의 name에 패턴 적용 * comment: of 메서드에 javadoc 문서화 * refactor: 포트폴리오의 이름 및 증권사를 PortfolioDetail로 대체 * feat: 포트폴리오의 이름 및 증권사 관련된 기능들을 디테일로 이전 * test: 테스트 실패 해결 * test: 메서드 소스의 메서드명 변경 * refactor: 메서드명 변경 * comment: javadoc 수정 * refactor: active 메서드 매개변수에 detail 추가 * refactor: 포트폴리오 연관관계 편의 메서드 추가 - Member를 생성자에서 설정하는 것이 아닌 setMember로 설정하도록 변경 * test: setMember 테스트 추가 * refactor: noActive 메서드 매개변수 줄이기 * comment: PortfolioDetail javadoc 추가 * comment: 필드별 주석 추가
- 프로파일 환경별 도메인 이름을 제공하는 인터페이스 추가
* feat: CookieDomainProvider 인터페이스 선언 및 구현클래스 추가 - 프로파일 환경별 도메인 이름을 제공하는 인터페이스 추가 * fix: 테스트 컴파일 에러 해결
* feat: 포트폴리오의 이름 및 증권사 관련된 기능들을 디테일로 이전 * refactor: 메서드명 변경 * fix: 오타 수정 * feat: CookieDomainProvider 인터페이스 선언 및 구현클래스 추가 (#489) - 프로파일 환경별 도메인 이름을 제공하는 인터페이스 추가 * [fix] 테스트 컴파일 에러 해결 (#490) * feat: CookieDomainProvider 인터페이스 선언 및 구현클래스 추가 - 프로파일 환경별 도메인 이름을 제공하는 인터페이스 추가 * fix: 테스트 컴파일 에러 해결 * feat: PortfolioFinancial 임베딩 클래스 추가 및 테스트 추가 * test: 테스트 추가 * test: 예외케이스 테스트 추가 * feat: change 메서드 추가 * refactor: PortfolioFinancial 임베딩 클래스로 대체 * fix: 테스트 삭제 및 음수 조건 삭제 * feat: 음수가 아닌지 검증하는 검증문 추가 * feat: 포트폴리오 추가/수정 요청에서 예외 번역 처리 * test: 예외 연쇄 테스트 추가 * style: 불필요한 예외 클래스 삭제 * feat: 불필요한 생성자 제거 및 APiRequestException 추가 - ApiRequestException은 API 요청 실패시 사용할 수 있는 예외 * feat: 예외 연쇄할 수 있도록 throwable 인스턴스 전달 * feat: 포트폴리오 추가/수정 요청시 예외발생하면 연쇄되도록 처리 * feat: 예외 타입 변경 * docs: javadoc 문서 추가 * feat: 포트폴리오 디테일 매개변수 예외 추가 * feat: 포트폴리오 정보 관련 매개변수 예외 추가 * feat: active 메서드 호출하는 클라이언트의 매개변수 감소 * fix: 오타 수정 * feat: Equals 애노테이션 추가 * feat: 포트폴리오 알림 개인설정 임베딩 클래스 추가 * style: 사용하지 않는 코드 제거 * rename: 메서드명 변경 * feat: PortfolioCalculator 클래스 생성 및 calTotalGain 메서드 구현 * refactor: Portfolio 클래스의 calculateTotalGain 제거 * refactor: Portfolio 클래스 메서드 제거 - calculateTotalGainRate 메서드 제거 - PortfolioCalculator 클래스에 calTotalGainRate 메서드로 이동 * refactor: calculateDailyGain 메서드에 totalInvestement 매개변수 추가 * refactor: 투자배디 연간 배당율 계산 메서드의 매개변수 totalInvestment 추가 * refactor: isCashSufficientForPurchase 메서드 인수 증가 * refactor: isExeedBudgetByPurchasedAmount 메서드 매개변수 변경 * refactor: Portfolio.calculateTotalInvestmentAmount 메서드 제거 * refactor: totalAsset 인수로 변경 * refactor: calculateTotalCurrentValuation 메서드 제거 * refactor: createPieChart 메서드 매개변수 변경 * refactor: calculateTotalAsset 메서드 제거 * refactor: calBalance 메서드 개선 * refactor: createPortfolioGainHistory 메서드 개선 * refactor: calculateDailyGain 메서드 제거 및 calculator로 이전 * refactor: calculateCurrentMontlyDividend 메서드 제거 * refactor: calculateAnnualDividendYield 메서드 제거 * refactor: calculateMaximumLossRate 메서드 개선 * refactor: calculateTargetGainRate 메서드 개선 * refactor: calCashWeight 메서드 개선 * refactor: 파이 차트 생성 메서드 매개변수 개선 * refactor: 섹터 차트 메서드 개선 * refactor: 목표수익금액 도달 검사 메서드 개선 * refactor: 최대손실금액 도달 검사 메서드 개선 * refactor: 파이차트 생성 메서드를 Portfolio에서 PieChart로 이동 및 개선 * refactor: createPortfolioGainHistory를 PortfolioGainHistory 엔티티 객체로 이동 * fix: 돈이 충분한지 검사하는 메서드 버그 수정 - 잔고와 구매금액을 비교하도록 변경 * refactor: 변수 인라인 * comment: javadoc 추가 * feat: Portfolio의 createDividendChart 메서드를 DividendChart로 이동 * rename: 메서드명 변경 * refactor: 메서드 제거 * refactor: 전송 이력 확인 메서드 개선 - manager에서 시작하도록 변경 * refactor: 포트폴리오 목표수익금액 알림 활성화 변경 서비스 개선 * fix: 컴파일 오류 제거 * comment: javadoc 설명 추가 * refactor: 포트폴리오 최대손실금액 알림 활성화 변경 서비스 개선 * refactor: getter 메서드 이름 변경 * refactor: 섹터 차트 메서드 개선
* style: 코드 정리 * feat: 스프링 빈 설정 * fix: PortfolioCalculator 의존성 주입 처리 * feat: CurrentPriceRepository 구현체 추가 - 추가 이유: 단위 테스트시 메모리 저장소를 주입하기 위함 * fix: 테스트 실패 해결 - PortfoliOCalculator가 메모리 저장소를 참조하도록 주입 * refactor: totalGain 메서드에 CurrentPrice 주입하도록 변경 * test: totalGain 예외 케이스 추가 * comment: totalGain javadoc 작 * refactor: totalGain 메서드 추출 * feat: 에외 메시지 추가 * refactor: calculateTotalGain 메서드 인수 타입 변경 * refactor: 메서드 인수 추가 * feat: savePrice 새로운 메서드 선언 * test: calculateTotalCurrentValuationBy 테스트 추가 * test: calCurrentValuationWeightBy 테스트 추가 * test: 테스트 이전 * refactor: PortfolioCalculator 메서드 인수에 추가 * test: 테스트 실패 해결 * feat: calAnnualExpectedDividendBy 메서드 추가 * feat: RateDivision.toString 메서드 재정의 * feat: Equals, HashCode 애노테이션화, compareTo 코드 정리 * test: calAnnualExpectedDividendYieldBy 테스트 추가 * rename: 메서드명 변경 * refactor: totalReturnPercentage 메서드 개선 * comment: calculateCurrentValuation javadoc 추가 * refactor: calculateTotalGain 인수 없는 메서드 변경 * comment: calculateTotalGain 메서드에 javadoc 추가 * style: 코드 정리 * rename: 메서드명 변경 * feat: calDailyChange 메서드 추가 * test: calDailyChange 테스트 추가 * comment: javadoc 추가 * refactor: PortfolioHolding에서 메서드 제거 및 로직을 Calculator로 이동 * rename: 인수명 변경 * refactor: 당일변동율 계산 메서드를 Calculator로 이전 * rename: 변수명 변경 * test: 테스트 실패 해결 - currentPrice 필드 멤버는 삭제 예정 * refactor: toWon 메서드 추가 * refactor: currentPrice 필드 제거 * refactor: Portfolio applyCurrentPriceAllHoldingsBy 메서드 삭제 * refactor: CurrentPrice 메서드 인수 제거
* comment: javadoc 추가 * feat: calAnnualExpectedDividendBy 메서드 추가 및 테스트 추가 * refactor: 스트림 API 변경 및 javadoc 추가 * rename: 메서드명 변경 * rename: purchaseHistory 리스트명 변경 * refactor: 생성자 매개변수 단축 * refactor: javadoc 추가 및 정적 팩토리 메서드 제거 * comment: javadoc 추가 * comment: javadoc 추가 * fix: 예외 오타 수정 * comment: 예외 종류 오타 수정 * feat: PortfolioCalculator에 평균 매입가 계산 메서드 구현 * refactor: Calculator에 calTotalGain 메서드 구현 * test: 불필욯나 테스트 제거 * style: 코드 정리 * test: 불필요한 테스트 제거 * refactor: 사용하지 않는 메서드 제거 * comment: javadoc 추가 * refactor: 메서드 호출 제거 * refactor: PortfolioHolding의 평가금액 계산 메서드 호출 줄이기 * refactor: calCurrentValuationWeightBy 메서드에서 holding 메서드가 아닌 Calculator 메서드 호출 * refactor: 게산 로직을 Calculator로 변경 * refactor: PortfolioHolding.calculateNumShares 메서드 제거 * test: 테스트 이전 * fix: 배당금 계산 오류 수정 * refactor: 메서드 추가 * refactor: int 월을 Month 열거 타입으로 변경
* comment: javadoc 추가 * feat: calAnnualExpectedDividendBy 메서드 추가 및 테스트 추가 * refactor: 스트림 API 변경 및 javadoc 추가 * rename: 메서드명 변경 * rename: purchaseHistory 리스트명 변경 * refactor: 생성자 매개변수 단축 * refactor: javadoc 추가 및 정적 팩토리 메서드 제거 * comment: javadoc 추가 * comment: javadoc 추가 * fix: 예외 오타 수정 * comment: 예외 종류 오타 수정 * feat: PortfolioCalculator에 평균 매입가 계산 메서드 구현 * refactor: Calculator에 calTotalGain 메서드 구현 * test: 불필욯나 테스트 제거 * style: 코드 정리 * test: 불필요한 테스트 제거 * refactor: 사용하지 않는 메서드 제거 * comment: javadoc 추가 * refactor: 메서드 호출 제거 * refactor: PortfolioHolding의 평가금액 계산 메서드 호출 줄이기 * refactor: calCurrentValuationWeightBy 메서드에서 holding 메서드가 아닌 Calculator 메서드 호출 * refactor: 게산 로직을 Calculator로 변경 * refactor: PortfolioHolding.calculateNumShares 메서드 제거 * test: 테스트 이전 * fix: 배당금 계산 오류 수정 * refactor: 메서드 추가 * refactor: int 월을 Month 열거 타입으로 변경 * fix: 테스트 실패 해결
* refactor: 월별 배당급 맵 생성 메서드를 Calculator에 추가 * test: 테스트 이전 * refactor: 메서드 제거 * refactor: 파치차트 요소 생성하는 메서드를 Calculator로 이동 * comment: 계산 메서드 시작/종료 주석 추가 * rename: 메서드명 변경 * refactor: reduce 메서드 변경 * refactor: ZERO 캐싱 인스턴스 추가 * refactor: ZERO Money 캐싱 인스턴스 추가 * refactor: wonZero 정적 팩토리 메서드 제거 * refactor: 불변으로 변경 * refactor: 메서드 추상화 * rename: 메서드명 변경 * refactor: 정적 팩토리 사용 * comment: add javadoc in method
* refactor: 월별 배당급 맵 생성 메서드를 Calculator에 추가 * refactor: 메서드 제거 * refactor: 파치차트 요소 생성하는 메서드를 Calculator로 이동 * comment: 계산 메서드 시작/종료 주석 추가 * rename: 메서드명 변경 * refactor: reduce 메서드 변경 * refactor: ZERO 캐싱 인스턴스 추가 * refactor: ZERO Money 캐싱 인스턴스 추가 * refactor: wonZero 정적 팩토리 메서드 제거 * refactor: 불변으로 변경 * refactor: 메서드 추상화 * comment: add javadoc in method
* test: 포트폴리오 잔고 계산 테스트 추가 * test: 포트폴리오 종목들의 총손익 계산 테스트 추가 * test: 포트폴리오 종목들의 총 투자금액 계산 테스트 추가 * test: 포트폴리오 종목들의 총 평가금액 합계 테스트 추가 * test: 포트폴리오의 총 자산 계산 테스트 추가 * feat: toString 재정의 * feat: Money toString 재정의 * feat: Currency, Money toString 재정의 * feat: toString 수정 * test: 포트폴리오 당일 손익 계산 테스트 추가 * test: 포트폴리오의 당일 손익율 계산 테스트 추가 * style: 코드 정리 * test: 종목과 매입이력의 이번달 예상되는 배당금 합계 계산 테스트 추가 * test: 포트폴리오의 연간 배당금 계산 테스트 추가 * feat: toString 재정의 및 포트폴리오 연간 배당율 테스트 추가 * test: 포트폴리오 투자 대비 연간배당율 계산 테스트 추가 * test: 투자대비 연간 배당금 계산 메서드 테스트 추가 * test: 포트폴리오 최대손실비율 계산 테스트 추가 * refactor: 포트폴리오의 최대손실금액 계산 메서드를 객체지향적으로 개선 * fix: 테스트명 오타 수정 * test: 포트폴리오 최대손실비율 테스트 추가 * test: 최대손실비율 계산 메서드 테스트 추가 * refactor: 메서드 제거 * refactor: 메서드명 수정 * test: 목표수익율 계산 메서드 테스트 추가 * test: 테스트명 변경 및 순서 변경 * test: 포트폴리오 종목의 평가금액 비중 계산 테스트 추가 * fix: 테스트 실패 해결
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
구현한 것