DYB 최선어학원 레벨테스트 후기(SR청담레벨 비교)

DYB 최선어학원 레벨테스트 후기(SR청담레벨 비교)

SP500SPY에 이어 줌ZM Zoom Video Communications 주가에 대한 백테스트를 실시하였습니다. SPY 백테스트 결과 검토 심사 기준은 불손절5, 물타기1, 불타기1, 물불1, 정액매입1 총 9가지 전략으로 구분하였습니다. 그 중 불손절은 이동평균선 기준으로 200일, 90일, 30일로 구분하였고, 손익률 기준으로는 5, 3로 구분하였습니다. 아래는 백테스트 결과입니다. 불손절200일의 손익률은 56입니다.

불손절5의 손익률은 8입니다. 이동평균선에 의한 손익 결과보다. 나쁩니다. ZM 백테스트에서는 손절을 위한 민감도가 높을수록 검토 심사 결과가 나쁘게 나타납니다. 불손절3의 손익률은 7입니다. 불손절5와 불손절는 비슷한 결과가 나왔어요. 손실구간에 한정하여 물타기한 결과, 손익률은 58입니다. 이는 시세와 동일합니다. 줌 주식이 상장된 이래, 상장시 가격 밑으로 주식 시세가 내려간 적이 없기 때문에 주가와 백테스트 결과가 동일하게 나타났습니다.

즉, 상장 이후 추가 매수가 없었습니다.

기능 개발을 할 때 가시적인 무언가를 만들기에 가장 쉬운 방법 1. DB 주도 설계가 된다 레이어드 아키텍처를 사용하면 개발자들은 제일 아랫단인 영속성 레이어ex.JPA Entity를 어떠한 방식으로 만들지 고민하게 됩니다. 하지만 실은 도메인과 도메인들의 관계를 생각하는 게 먼저가 되어야 합니다. 2. 동시 작업이 힘들다. 아랫단이 나와야 윗단이 개발 가능한 구조이므로 특정 기능 개발은 한 명만 수행 가능해요 3. 도메인이 죽는다.

즉, 낮은 Testability와 Bad SOLID를 가지게 됩니다. 객체가 수동적이고 모든 코드가 함수 위주로 돌아갈 확률, 즉 절차추구하는 코드가 될 확률이 높아집니다. service가 사실상 모든 일을 다. 처리하는 존재가 됩니다.


프로젝트에 적용
프로젝트에 적용

프로젝트에 적용

저희 프로젝트에서는 아래와 같이 테스트를 적용하기로 결정했습니다. controller 중형테스트 service 중형 테스트, 소형테스트 domain 소형테스트 현재 service는 추상화하지 않았기 때문에 controller는 중형 테스트만 작성하였고, repository 테스트는 JPA가 충분히 해주고 있다고 생각하여 작성하지 않았습니다. 이 글에서는 중형 테스트를 소형 테스트로 바꾸는 것에 초점을 맞춰 service 테스트 코드를 설명하려고 합니다.

데이터 삽입용 sql
데이터 삽입용 sql

데이터 삽입용 sql

srctestresourcessqldeletealldatsqldelete from usernailshop where 1delete from nailshophashtag where 1delete from nailshophashtag where 2delete from recentsearch where 1delete from recentsearch where 2delete from users where 1delete from users where 2delete from nailshop where 1delete from hashtag where 1delete from hashtag where 2delete from refreshtoken where 1 UserServiceTest 작성전체 코드

현재 클래스가 Spring Boot 테스트 클래스임을 나타냅니다.

현재 문제점
현재 문제점

현재 문제점

현재 모든 테스트가 h2를 필요로 합니다. 즉, 중형 테스트만 있으므로 테스트 여러 번 돌리기가 굉장히 부담스러운 상황입니다. 또한 설계가 잘못되었을 확률이 높습니다. RDB에 강연결 되어있으므로 RDB는 h2 가 있어 테스트가 가능하지만, 테스트용 embedded server가 없는 DB ex. elastic search는 테스트할 방법이 없습니다. 지금 작성한 테스트가 이야말로 테스트가 필요한 본질이 아닐 확률이 높습니다.

만약, 레이어드 아키텍처를 사용한다면 테스트를 중형 테스트로 짤 수밖에 없게 됩니다.

종합 집계

줌Zoom이 상장된 이래, 아래 9가지 매매 계획 중 가장 잘한 방법은 물타기와 불타기였습니다. 벤치마크시세 대비 동일하게만 유지했어도 성공이었습니다. 전략으로 구현을 해내지는 못했으나, 주가가 800 상승한 지점인 2020년 10월에 매도할 수 있었다면, 2020년 10월 전후 3개월 정도에 매도할 수 있었다면 너무 훌륭한 수익률이 발생했을 것입니다. 매매 전략은 단순하게 생각하면 너무 단순하고 어렵게 생각하면 너무 복잡합니다.

간단한 기준만으로도 승리 확률이 높은 방안을 발굴해야 하겠습니다.

자주 묻는 질문

프로젝트에 적용

저희 프로젝트에서는 아래와 같이 테스트를 적용하기로 결정했습니다. 구체적인 내용은 본문을 참고하세요.

데이터 삽입용 sql

srctestresourcessqldeletealldatsqldelete from usernailshop where 1delete from nailshophashtag where 1delete from nailshophashtag where 2delete from recentsearch where 1delete from recentsearch where 2delete from users where 1delete from users where 2delete from nailshop where 1delete from hashtag where 1delete from hashtag where 2delete from refreshtoken where 1 UserServiceTest 작성전체 코드현재 클래스가 Spring Boot 테스트 클래스임을 나타냅니다. 좀 더 구체적인 사항은 본문을 참고해 주세요.

현재 문제점

현재 모든 테스트가 h2를 필요로 합니다. 구체적인 내용은 본문을 참고 해주시기 바랍니다.