본문 바로가기

항해9926

[TIL] 항해 24일차 개발자 테스트 코드 작성시 장/단점과 테스트 종류별 특징 왜 테스트를 해야 할까? 테스트는 소프트웨어가 예상하지 못한 결과를 내는것, 소스코드나 설계과정에서의 오류로 발생 버그를 잡아줍니다. 테스트를 하지 않으면 기능이 동작하지 않아 USER 들에게 불편을 주고 회사측에서는 매출과 신뢰도 감소 개발자는 고생을 하게 됩니다. => 버그가 없이 잘 작동하는 코드를 얻기 위해서 테스트는 필요하다.! 장점 서버를 실행하는 속도를 줄일 수 있다. 필요한 데이터를 미리 기입하고, 테스트가 끝나고 정리하는 등의 행동을 하지 않아도 된다. 단위테스트의 경우 빠르게 테스트 할 수 있다. 문서로의 역할이 가능하다. ( 프론트나 기획자와 협업이 쉬워진다. ) ex) 초기 값을 1000원으로 했는데 0원으로 변경한다. -> .. 2022. 8. 4.
[TIL] 항해 23일차 개인프로젝트 요구사항은 완료 (디테일 및 정리 필요) "회원가입, 로그인, 댓글 작성/수정/삭제 기능이 추가된 나만의 항해 블로그 백엔드 서버 만들기" API 명세서 URI request response 회원가입 POST /user/signup { "username" : "test2", "password" : "asdf1234", "passwordCheck" : "asdf1234", "email" : "test2@naver.com" } { "status": "회원가입 성공", "message": { "id": 3, "username": "test2", "email": "test2@naver.com", "createAt": null, "modifiedAt": null } } 로그인 POST /login {.. 2022. 8. 4.
[TIL] 항해 22일차 -- 목차 -- 10개 도시를 최단거리로 여행하는 법 알고리즘의 성능을 측정하는 기준 정확성 : 동일한 입력에 대해 항상 동일한 결과를 반환하는가 작업량 : 얼마나 적은 연산으로 결과를 만들어 내는가 ( 시간복잡도 ) 메모리 사용량 : 얼마나 적은 메모리를 사용하여 결과를 만들어 내는가 ( 공간복잡도 ) 단순성 : 얼마나 단순한 구현으로 결과를 만들어 내는가 최적성 : 더 이상 개선한 여지가 없을 만큼 최적화 되어 있는가 시간 복잡도 특정한 크기의 입력에 대해 알고리즘이 얼마나 오래 걸리는지 의미 알고리즘을 위해 필요한 연산의 횟수 복잡도를 표현하기 위해 빅오 표기법 사용 최악의 경우에 대한 연산 횟수가 가장 중요 N의 범위에 따라 시간 복잡도를 계산하고 사용할 수 있는 알고리즘을 선택하는 방법도 있다... 2022. 8. 2.
[TIL] 항해 21일차 x-www-form-urlencoded : key-value 형태 JSON @RequestBody request 방식 param : id값을 받아서, 해당 id에 관한 CRUD를 하는 경우 ex) localhost:8080/post/3 (@PathVariable) query : 검색, 정렬을 해야 하는 경우 ex) localhost:8080/list?keyword="검색" body : 인수가 매우 길거나, 데이터가 많고 URl에 노출할 수 없는 경우 @RequestBody class / interface @Authenticationprincipal Security Context Holder에서 인증 객체(principal)를 가지고 온다. spring security를 이용한 API 별 권한 제어 방법 .. 2022. 8. 1.
[WIL] 3주차 시간이 너무 빠르다.. 벌써 프로그래밍 심화주차이다. Spring의 핵심에 대해 배워보도록 하자.! 출처 : https://programming.vip/docs/a-brief-introduction-to-spring-and-ioc-containers-and-bean-configuration.html -- 목차 -- Inversion of Control (IoC) Bean Dependency Injection (DI) Inversion of Control ( IoC ) 객체의 생성부터 소멸까지 생성주기 관리를 스프링 컨테이너가 맡는 것. 제어권이 컨테이너로 넘어가기 되어 제어권의 흐림이 바뀌었다는 뜻으로 IoC라고 함. 스프링 컨테이너 (IoC 컨테이너) 스프링에서 쓰이는 여러 객체들을 생성, 관리하는 객.. 2022. 7. 31.
[TIL] 항해 19일차 새로운 조에 배정되었습니다.! 6조! 오늘부터 일주일동안 숙련학습 돌입 Spring Security, OAuth2 에 대해서 배우도록 하겠습니다. 인증 vs 인가 인증과 인가는 한글로 보나 영어 (Authentication vs. Authorization) 로 보나 비슷해 보일 뿐 아니라 실제 많이 혼동되어 사용되고 있지만 명확히 다른 의미를 가지고 있습니다. 인증 (Authentication): 사용자 신원을 확인하는 행위 ex) 출입증을 통해 회사 출입 인가 (Authorization): 사용자 권한을 확인하는 행위 ex) 회사 건물 내 접근 권한 관리 쿠키와 세션 👉 쿠키와 세션 모두 HTTP 에 상태 정보를 유지(Stateful)하기 위해 사용됩니다. 즉, 쿠키와 세션을 통해 서버에서는 클라이언트.. 2022. 7. 29.