본문 바로가기

전체 글106

[TIL]20230726 - 테스트 코드 작성 테스트의 단계 다음 그래프는 개발단계, 단위테스트 단계, QA테스트 단계, 서비스 단계에서 버그가 발생할 시 들어가는 비용을 나타낸 것이다. 비용을 줄이기 위해 최대한 빨리 버그를 발견하는것이 좋기 떄문에 테스트 코드를 작성하여 프로그램의 버그를 사전에 발견하여 비용의 증가를 방지할 수 있다. 단위 테스트는 작으 ㄴ단위로 쪼개서 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법으로 빠르게 작성할 수 있고 문제 발생 시 어느 부분이 잘못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점이 있다. https://junit.org/junit5/docs/current/user-guide/#writing-tests-annotations JUnit 5 User Guide Although the JUnit Jup.. 2023. 7. 28.
[TIL]20230725 - JaCoCo 프로젝트를 진행하던 중 프론트팀의 속도가 늦어져서 백엔드끼리 무엇을 할까 확인해보았다. 매니저님이 성능 개선, 테스트 코드 작성 을 제시해주셨고 우리는 테스트 코드 작성을 하기로 정하였다. 그리고 단순히 테스트 코드를 작성하는 것이 아닌 JaCoCo 라이브러리를 사용하여 테스트 코드의 커버리지를 확인해보고자 하였다. JaCoCo는 Java코드의 커버리지를 체크하는 라이브러리이다. 테스트 코드를 작성하고 테스트를 진행하면 테스트 코드가 작용하는 코드의 범위를 보여주는 html페이지를 생성하여 확인해볼 수 있다. 또한 커버하는 범위를 %로 나타낼 수 있어서 지정한 % 를 넘지 못하면 배포를 하지 못하게 설정하여 안정적으로 배포할 수 있다. 다음과 같이 간단한 테스트 코드를 작성하였다. 그리고 테스트를 돌린뒤.. 2023. 7. 28.
[TIL]20230724 - Https HTTP(Hyper Text Transfer Protocol)란 서버 / 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜으로 TCP/IP위에서 작동한다. HTTP는 상태를 가지고 있지 않는 Stateless프로토콜이며 Method, Path, Version, Headers, Body등으로 구성된다. 하지만 HTTP 는 암호화가 되지 않아 비밀번호나 주민등록번호 등 민감한 정보를 HTTP를 이용하여 주고 받으면 제3자가 정보를 조회할 수 있어 보안에 문제가 있다. 이러한 문제를 해결하기 위해 HTTPS가 등장하였다. HTTPS (Hyper Text Transfer Protocol Secure)는 HTTP에 데이터 암호화가 추가된 프로토콜이다. 80번 포트를 사용하던 HTTP와는 다르게 443번 포.. 2023. 7. 25.
[TIL]20230722 - 빌더 패턴 엔티티는 실제 테이블과 매핑되어 만일 변경되면 의도치 않은 영향을 끼칠 수 있기 때문에 DB와 View사이의 역할 분리를 위해 엔티티와 Dto를 구별하여 사용한다. 때문에 requestDto를 바디로 가지는 요청이 올때 Dto를 엔티티로 바꾸어 처리해야하고 조회 등의 api에서 DB에서 가져온 엔티티를 responseDto로 바꾸어 응답해주어야 한다. 이때 나는 생성자를 사용하여 Dto나 엔티티를 생성해주었다. public Post(String image_url, String content, User user) { this.image_url = image_url; this.content = content; this.user = user; } 하지만 이번 프로젝트의 경우 클론 프로젝트이다 보니 응답시 전달.. 2023. 7. 24.
[WIL]20230717~20230723 협업을 진행하며 느낀 아쉬운 점, 뿌듯한 점 지난 주에는 미니 프로젝트 주차가 진행되었다. 우리조는 스프링2명 리액트1명으로 구성되었는데 예상보다 인원이 적게 구성되어서 스코프를 최대한 작게 잡아야 겠다는 생각이 우선 들었다. 우선 프로젝트 주제는 팀원분 중 미술 전공자분이 있었는데 그분의 아이디어를 선정하여 미술품 공유 웹사이트로 정하였고 mvp 기능으로는 회원 관리 없이 전체에게 조회되는 게시글 작성 및 조회 수정 삭제로 정하였다. 또한 당연히 미술품 공유 웹사이트이므로 이미지를 보여주어야 했는데 아직 이미지 업로드 기능을 배우지 않았기 때문에 게시글 작성 시 우선 이미지 파일 업로드가 아닌 이미지 주소를 제출하기로하고 모든 기능이 완료되고 난 뒤 이미지 업로드 기능을 구현해보기로 하였다. 와이어 프레임, .API명세서 작성 등 모든 SA가 완.. 2023. 7. 23.
[TIL]20230721 - 클론 코딩 S.A. 작성 이번 주차는 클론 코딩 주차로써 실제 서비스를 따라 만드는 작업을 하게되었다. 우리조는 여러 서비스들 중 슬랙과 인스타그램에서 고민하던 중 슬랙은 소켓 프로그래밍에 치중 되어있는 반면 인스타그램은 DM기능을 통해 추가로 소켓 프로그래밍을 추가해볼 수 있고 기본적으로는 CRUD, 회원관리, 무한 스크롤등 여러 방면에서 쓰이는 기술들을 사용해 볼 수 있는 서비스라 생각해 인스타그램을 선정하였다. 기능 구성으로는 다음과 같이 결정하였다. 홈 , 프로필, 상세, 로그인(jwt토큰 - 바디로 응답), 회원가입 페이지 로그인 기본 로그인 → 소셜로그인(임시) 회원가입 기본 회원가입 → 소셜(임시) 조회기능, 좋아요, 댓글 / 북마크, 공유하기 (추후 추가) 좌측 바 (홈, 만들기, 프로필) 만들기 → 업로드시 사진.. 2023. 7. 21.