본문 바로가기

분류 전체보기48

@RestControllerAdvice 예외 처리 기본적으로 스프링은 요청에 대해서 예외가 발생하면 Whitelabel Error Page가 보여진다 하지만 일반 사용자한테 저런 에러 페이지를 보여주는 것보다 의미 있는(?), 알 수 있는 문구를 보여주면 좋을 것이다. 스프링에서는 @RestControllerAdvic를 사용해서 예외를 깔끔하게 처리할 수 있다. 예외가 발생하면 미리 정의해놓은 응답으로 보낼 수 있다. 간단하게 예제를 만들어 보겠다. ErrorCode @RequiredArgsConstructor @Getter public enum ErrorCode { NOT_FOUND_USER(HttpStatus.NOT_FOUND, "회원을 찾을 수 없습니다."), NEED_TO_LOGIN(HttpStatus.UNAUTHORIZED, "로그인이 필요합니.. 2021. 10. 31.
Tennis Together 3주차 3주 차 내용 3주 차부터 백앤드 전담 튜터님과 함께하게 되었다. 튜터님은 본격적으로 프로젝트를 진행하기 전에 필요한 여러 가지 개념들에 대해서 설명해 주셨다. 기억나는 몇 가지 키워드를 적어 보겠다. 프로젝트 구조 Firebase Storage Firebase에서 제공하는 파일 서버로 우리 프로젝트에서는 이미지 저장소로 사용할 것이다. 인증 처리 Firebase Auth와 Spring Security 조합으로 인증 처리를 할 것이다. 이번 프로젝트에는 전화번호를 통한 회원가입 및 로그인을 구현할 것이다 배포 Github Actions + Heroku 조합으로 CI/CD 환경을 구축한다. Git Flow 브렌치 관리 전략 & PR main, develop, feature, fix 등등 개발하는 용도에 맞.. 2021. 10. 30.
자바로 크롤링 해보기 (jsoup) java의 jsoup 라이브러리를 이용해 서울시 공공서비스 예약 사이트(https://yeyak.seoul.go.kr)에서 테니스장 게시글의 제목과 장소 정보를 크롤링해보겠습니다. 아래의 사진을 보시면 총 131개의 테니스장 게시글이 존재하고 페이지당 6개씩 게시글로 이루어짐을 볼 수 있습니다. 가장 먼저 build.gradle의 dependencies에 jsoup을 추가합니다. implementation 'org.jsoup:jsoup:1.14.3' 다음으로 테니스장 정보를 담는 클래스를 만들어 보겠습니다. 간단하게 public으로 도배하고 출력 시 참조값이 아닌 필드 값이 나오도록 toString을 오버라이드 하였습니다. public class Tennis { public String title; pu.. 2021. 10. 28.
API? REST API? 개발을 하다 보면 API란 단어를 많이 보게 된다. API란 무엇일까? API는 Application Programming Interface의 약자이다. 여기서 Interface의 의미를 알면 대강 알 수 있다. 인터페이스란 사용자가 어떤 조작을 하기 위해 다루는 것이라고 표현할 수 있다. 예를 들어 자동차를 보자. 좌회전 우회전을 하기 위해 운전자는 핸들을 돌린다. 기어를 통해 전진, 중립, 후진이 가능하고 엑셀이나 브레이크를 통해 가속을 하거나 멈출 수 있다. 즉 자동차를 조작하기 위해 핸들, 기어, 엑셀, 브레이크 등등 자동차에서 제공하는 인터페이스인 것이다. 인터페이스의 특징은 호환이 된다는 것이다. 현대차를 운전을 할 수 있다면 기아차 혹은 벤츠 등 다양한 차를 다룰 수 있다. 물론 100% 호.. 2021. 10. 26.
Tennis Together 2주차 2주 차 내용 2주 차는 1주 차 때 작성했던 기능, 화면 명세서, API, ERD를 멘토님께서 검토해주셨다. 팀원들의 우려대로 기능이 너무 많다는 평가를 받았고 기능을 줄이는 게 좋겠다는 조언을 받았다. 물론 시간이 무제한 있다면야 그냥 개발하면 되겠지만, 실제 6주간 진행하는 프로젝트이고 기획, 배포 기간을 빼면 2~3주가량의 기간이 개발하는 기간이다. 그리고 프론트엔드 개발자는 1명뿐 인 것도 고려해야 했다. 주어진 자원을 고려해 일부 기능을 제외시켰다. (SNS 로그인, 채팅, 화면 통합 등등) 멘토링 중에 oAuth의 개념, git commit msg 규칙, branch 규칙에 대해서 배웠다. 나는 테니스장 데이터를 수집하는 크롤링을 맡게 되었다. 크롤링을 처음엔 파이썬으로 할 계획이었지만 언어.. 2021. 10. 26.
Tennis Together 1주차 카우치 코딩을 시작하게 된 계기 백엔드 개발자가 되기 위해 자바부터 JSP, 객체지향, 스프링 등등 공부를 한 지 7개월 정도 되어간다. (아직도 배울게 많네.) 협업을 해본 경험이 없어 이번 기회에 프로젝트형 스터디를 참여해 경험을 쌓고자 했다. 스터디를 통해 발목이 잡힌 경험이 있기 때문에 신중하게 찾아보다가 우연히 카우치 코딩이라는 6주 동안 포트폴리오용 프로젝트를 만들어보는 멘토링 서비스를 알게 되었다. 프로젝트를 진행해주시는 멘토가 있고, 또한 백엔드 개발자와 프런트엔드 개발자가 모여 프로젝트를 진행하는 것이 내가 찾는 스터디에 적합하기에 신청하게 되었다. 1주 차 내용 팀빌딩 백앤드(Spring) 3명 프런트앤드(React) 1명 주제 정하기 우리 팀은 주제를 테니스로 잡았다. 주요 기능은 테.. 2021. 10. 23.
728x90