반응형

부트캠프/코트스테이츠 백엔드 코스 36

Main Project(money mad)

기대하고 고대하던 main project가 끝났다. 우리의 도메인은 금융이였고, 처음부터 느낀점과 보완해야할 점 느낀점을 알려주겠다. 1. 도메인을 금융으로 잡은 이유   도메인을 금융으로 잡은 이유는 실제 결제 시스템API가 궁금했었고, 금융을 선택하게되면 보완과 실제 계좌연동등 여러가지를 체험해보고 배울 수 있을 것이라고 생각했다. 2. 도메인에서 아쉬웠던점.   실제 결제나 계좌연동이 아니더라도 연동하는 시뮬레이션을 할 수 있는 API가 있을 줄 알았는데 보완때문에 아예 그런 부분들이 안되었고, 그런 부분에 있어서 Mock 데이터를 사용할 수 밖에 없던 부분이 너무 아쉬웠다.  3. 서비스 설명.   우리 서비스는 자산 관리시스템으로 회원가입, 로그인을 하면 개인 자산을 모두 연동하여 총 자산을 확..

PreProject 회고

작품:Stack Overflow라는 개발자들의 커뮤니티 게시판을 클론 코딩 하였다. 기능은 기본적인 기능 + CRUD +이메일(인증) + 토큰 + 캡챠 + 등등  느낀점:내일이면 pre-project를 마치는 날이다. 내가 생각하지만 처음보다 상당히 실력이 는 것같아 뿌듯함을 느낀다. 기본적인 CRUD에 대한 API를 처리하는 로직을 짜고 거기에 API를 사용하여 EMAIL, 등등 여러가지 기능을 하면서 정말 재밌었고, 이 길이 정말 나랑 잘 맞는 구나 느낄수 있던 프로젝트였다. 개발 에러사항:개발 시 생긴 문제는 아래 와 같다.1. 1:N사이에 양방향 관계를 맺어놓을때 Response에서 무한 참조가 생기게 되는 문제 Postman에서 테스팅을 하면서 response entity에 넣은 값을 다시 보내..

72일차 회고

오늘은 git에 관련하여 프로젝트 시작전 간단한 git협업에 대해서 공부했다.git issue를 통해서 내가 해야할 일 들을 detail하게 적어놓거나, 마일드 스톤으로 기한이나 큰 범위를 잡아서 git issue를 담는 연습을 했고,여러가지 git branch들을 만들어서 main으로 pull request하는 연습을 해보았다.  그리고 예행연습으로 Controller쪽을 만지다가.. JPA 1:N관계에 대해서 만지다 일이 터졌다..아니 왜 Mapper struct를 사용해서 분명 자동으로 할텐대 PK인 Longtype TodoId를 PostDTO에 넣고 보냈는데 웬걸?mapper가 자동으로 매핑해서 넣어주지 않는 것이였다.. 약 한시간동안 서칭과 계속 탐구를 통해 나의 너무 큰 실수였던 것.. 분명 ..

70일차 회고

오늘은 교육이 모두 마무리 되었고, 아직 AWS와 Docker부분에 대한 회고를 올리지 못했다. 이제 실제  pre-project에 들어가게 되었고, 학교 졸업작품인 캡스톤도 중반을 달리고 있다. 학교 시험도 거의 다 마무리가 되어서, 이제 정보처리기사 실기를 다시 준비해야 한다고 생각한다. 지금 까지 달려오면서 초반에는 많이 힘들었지만, 쉬는 것도 많이 쉬었지만, 9-6를 지켜서 공부하는 습관을 들였기 때문에 만족스러운 3달이였고, 점차 자기주도학습이 잡혀가는 듯한 느낌을 받아서 기분이 좋아졌다. TODO 6월달에 해야하는 것의 목록이다.6/8일 pre-project 시작캡스톤 프로젝트 핵심기능 구현하기정보처리기사 실기 준비하기처음부터 코딩테스트 다시 준비하기6/28~6/30 해커톤 대회 준비하기토비의..

52일차 회고

이제 스프링 시큐어리티 작동 원리에 대해서 좀 알아보겠다. 일단 우선 사용자---> 리소스요청---> 크리덴셜요구---> 사용자 크리덴셜 확인--->없을시(예외),있으면 ---> 인가확인(권한)---> 확인되면 리소스 OK 아니면 (예외) 서블릿 기반 어플리케이션일 경우, 애플리케이션의 앤드포인트에 요청이 도달하기 전에 중간에 요청을 가로챈 후 어떤 처리를 할 수 있는 포인트를 제공하는데 그것이 서블릿 필터입이다.즉 서블릿 필터는 하나 이상의 필터들을 연결해 필터 체인(Filter Chain)을 구성할 수 있다.Spring Security도 마찬가지로 서블릿 필터를 사용하고, DelegatingFilterProxy가  서블릿 컨테이너 영역의 필터와 ApplicationContext에 Bean으로 등록된 ..

51일차 회고 Spring security

아 정말 spring공부하면서 가장 어려웠던 부분이라고 생각한다.. Ytube도 봐보고 google 서칭도 해보면서, 얼추 개념확립만 한 상태로블로깅을 해보려고 한다.  spring boot를 통해 프로젝트를 구현할 때 회원을 등록하는 코드도 있고, 데이터 베이스를 통해서 회원의 정보를 가져오는 코드를 만드는 경우가 있다. 하지만 보통 프로젝트라면 정해진 기능이 있을 것이고, 관리자와 사용자등 역할이 나눠져 있을 것이다. 그래서 각각 회원마다 인가--> 역할을 정해주는 것과, 회원이 맞는지 인증하는 로그인 기능이 필요함을 느꼈다. 이를 대신 해주는 것이 spring security이다. implementation 'org.springframework.boot:spring-boot-starter-secur..

46~50

후 오늘은 docker에 mysql이랑 mongodb담다가 경로랑 이름이 안맞아서 한 5시간동안 헤매다가 해결하고 기분좋은 상태로 공부 했던거 정리하는 타임.. HTTP는 누군가가 탈취해서 요청의 내용을 다볼 수 있었다.---> 이것을 보안해서 보낸다?이것이 HTTPS이다.-인증서  인증서에 작성된 도메인과 응답객체의 작성된 도메인을 확인한다.--> 해커의 탈취를 통해 도메인 변경을 할 수 있다. -CA     인증서를 발급해 주는 기관  -비대칭 키 암호화     A키로 암호화했다면 B키로 복화를 해야한다.     공개키 비공개키는 서로 처음 handshake부분에 서로 인증하기 위해서 사용한다. -쿠키-http는 상태성을 유지하지 않는 stateless 인데 어떻게 유지가 되는거지???서버가 웹 브라..

40 회고

오늘은 spring project 배포에 대해서 정리해 보겠다.intelij IDE를 통해서 빌드하는 방법은 우측에 있는 Gradle버튼을 통해서 bootjar or build를 누르면 jar파일로 압축이 되게된다. bootjar은 실행 가능한 Jar만 만들고 build는 거의 모든 task를 실행 시킨다고 보면된다.boojar 실행가능한 jarbuild빌드와 관련된 모든 task를 실행이제 이렇게 만든 jar는 폴더하위에 있는 build 폴더안에 있는 lib로 경로를 맞추고 java -jar ~~~.jar을 통해 실행 시킬 수 있다. 여기서는 profile 개념이있는데 , 서버와 로컬 등 여러가지 상황에 따라서 다른 환경을 사용할 수 있는데 이것을 profile로 정할 수 있다. application...

37(테스팅과 API document작성)

또 google로 들어갔을 때 Tistory not found가 뜬다  그래서 bing으로 들어기 글을 쓰게 되었다 ,,,앞서서 단위테스팅과, 기본 @Springboottest를 통하여 간단한 API계층 테스트를 알아 보았다, 이제는 Mockito를 사용하여 가짜 Mock을 통해서 가짜 의존성을 주입해 주는 것을 통한 테스팅을 해볼 것 이고, 이를 통해서  API document까지 한번에 작성하는 spring restdocs까지 알아볼 것이다. 만약 membercontroller에서 member에 정보를 저장하는 createMember의 메서드의 기능을 테스트하고 싶다고 했을 때 @WebMvcTest@AutoConfigureMockMvcclass MemberControllerMockTest { @..

35일차 회고

오늘은 테스트 케이스에 대해 작성하는 방법에 대해서 정리하고자 한다.기본적으로 테스트는 기능테스트, 통합테스트 , 단위 테스트로 나뉘고기능 테스트애플리케이션 전체통합 테스트데이터베이스와 연결하여 테스트슬라이스 테스트애플리케이션 내 메서드 기능 FIRST원칙을 따르는데 FAST 빠르게           Independent 독립적으로Repeatable 반복적으로Self-validating 셀프 검증이 되도록Timely 시기 적절하게라는 원칙을 따르게 된다.보통 JAVA에서는 Junit을 사용하여 단위 테스트를 하게 되고,  Assertion(어써션)이란?Assertion(어써션)을 검색해 보면 우리말로 ‘단언’, ‘단정’ 등의 뜻을 확인할 수 있는데 그 의미가 선뜻 와닿지 않습니다.테스트 세계에서 Asse..

반응형