전체 글

무엇이든 할 수 있는 개발 블로그
· 🍵 java
STREAM이란? 자바에서는 많은 양의 데이터를 저장하기 위해서 배열이나 컬렉션(List, Map, Set 등)을 사용한다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해야 한다. 하지만 이렇게 작성된 코드는 길이가 너무 길고 가독성도 떨어지며, 코드의 재사용이 거의 불가능하다는 단점이 있어, 데이터베이스의 쿼리와 같이 정형화된 처리 패턴을 가지지 못했기에 데이터마다 다른 방법으로 접근해야만 했다. 이러한 문제점을 극복하기 위해서 Java SE 8부터 스트림(stream) API를 도입하였다. 스트림 API는 데이터를 추상화하여 다루므로, 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공하기 때문에 배열이나 컬렉션뿐만 ..
· 🌐 web
😤 스스로 공부하자 드디어 카카오캠퍼스 2단계가 끝나고 배포까지 끝내고 나니, 드디어 내가 웹 사이트를 만들었다는 뿌듯함과 잠시 쉴 수 있다는 행복함을 느꼈다. 특히 1단계를 끝낸 뒤 클론 코딩을 직접 도전해 본 2단계에서는 느끼고 배운게 정말 많은 것 같은데 그 중에서는 6주 내내 과제를 이해하지 못하고 끝내기에만 급급했던 나를 많이 되돌아 보고 스스로 공부를 정말 꾸준히 해야겠다는 것도 느낄 수 있었다. 그리고 2단계가 끝나고 난 뒤에는 카카오테크 캠퍼스에서 제공해주는 강의들을 허투로 낭비하지 않고 웹개발 경험을 쌓는 토대로 활용해야 겠다는 생각도 하게 되었다. 카테켐에 참여하며 늘 새롭고 즐거웠지만 모르는 부분과 알아들을 수 없는 강의를 마주할 때 정말 힘들었던 기억이 있어서 3단계 시작 전 조금이..
과제명 1. 카카오 클라우드 배포 과제 설명 1. 통합테스트를 구현하시오. ☑️ 2. API문서를 구현하시오. (swagger, restdoc, word로 직접 작성, 공책에 적어서 제출 등 모든 방법이 다 가능합니다) ☑️ 3. 프론트앤드에 입장을 생각해본뒤 어떤 문서를 가장 원할지 생각해본뒤 API문서를 작성하시오. >> 솔직히 과제 클리어하느라 이 부분까지 신경쓰지는 못한 것 같다 ㅠ 4. 카카오 클라우드에 배포하시오. ☑️ 과제 상세 : 수강생들이 과제를 진행할 때, 유념해야할 것 아래 항목은 반드시 포함하여 과제 수행해주세요! 통합테스트가 구현되었는가? API문서가 구현되었는가? 배포가 정상적으로 되었는가? 프로그램이 정상 작동되고 있는가? API 문서에 실패 예시가 작성되었는가? 정말 x 10..
5주차 카카오 테크 캠퍼스 2단계 - BE - 5주차 클론 과제 과제명 1. 코드 리팩토링 과제 설명 카카오 쇼핑 프로젝트 전체 코드를 리팩토링한다 AOP로 유효성검사 적용하기 GlobalExceptionHanlder 구현하기 장바구니 담기 -> 예외 처리하기 장바구니 수정(주문하기) -> 예외처리하기 결재하기 기능 구현 (장바구니가 꼭 초기화 되어야함) 주문결과 확인 기능 구현 과제 상세 : 수강생들이 과제를 진행할 때, 유념해야할 것 아래 항목은 반드시 포함하여 과제 수행해주세요! AOP가 적용되었는가? ☑️ GlobalExceptionHandler가 적용되었는가? ☑️ 장바구니 담기시 모든 예외가 처리 완료되었는가? ☑️ 장바구니 수정시 모든 예외가 처리 완료되었는가? ☑️ 결재하기와 주문결과 확인..
· 💻 cs
1. AOP의 정의 및 원리 AOP : 관점 지향 프로그래밍 (Aspect Oriented Programming) - 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 모듈화하는 것 핵심적인 관점은 비즈니스 로직으로 볼 수 있고, 부가적인 관점은 핵심 로직을 실행하기 위해 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등이 있다. AOP에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드들을 부분적으로 나누어서 모듈화하겠다는 의미이다. 이때, 소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발견할 수 있는 데 이것을 흩어진 관심사 (Crosscutting Concerns)라고 한다. 이와 같이 AOP를 사용하면 코드의 가독성과 유지 보수성을..
4주차 카카오 테크 캠퍼스 2단계 - BE - 4주차 클론 과제 과제명 1. 컨트롤러 단위 테스트 과제 설명 1. 컨트롤러 단위테스트를 작성한뒤 소스코드를 업로드하시오. 2. stub을 구현하시오. 과제 상세 : 과제를 진행할 때, 유념해야할 것 컨트롤러 단위테스트가 구현되었는가? Mockito를 이용하여 stub을 구현하였는가? 인증이 필요한 컨트롤러를 테스트할 수 있는가? 200 ok만 체크한 것은 아닌가? (해당 컨트롤러에서 제일 필요한 데이터에 대한 테스트가 구현되었는가?) 모든 요청과 응답이 json으로 처리되어 있는가? 1. 컨트롤러 단위 테스트 01) 컨트롤러 단위테스트를 작성한뒤 소스코드를 업로드하시오. 🔍 기존 코드 분석 GlobalExceptionHandler @RequiredArgsC..
c0zi
codelog