이전 글에서는 SecurityConfig 구성과 OAuth Login으로 받아온 유저 정보 처리 방법을 알아봤다 이번 글에서는 Security 설정 중 JWT와 관련된 부분을 알아보고 로그인 이후의 흐름을 살펴보자 JWT 설정은 내용이 많지는 않지만 따로 클래스로 빼내 구성하고 있다 현재 프로젝트에서는 OAuth2 로그인 시에는 구글에서 발급해준 ID & Access Token을 그대로 이용하고 애플리케이션 자체 로그인 시에는 직접 발급한 ECC 알고리즘 기반 ID & Access Token을 이용한다 일반적으로 Access & Refresh Token으로 묶겠지만 로그인, 토큰 발급 과정의 개념적인 통일을 위해 살짝 번거롭더라도 ID 토큰으로 사용자의 정보를 파싱 한다, 따라서 ID Token이 JWT..
스프링 부트 프로젝트에 OAuth2를 적용하는 것 자체는 쉽다 그러나 한발 더 나아가 흐름을 이해하고 어떻게 동작하는지 알아보려면 그다지 쉽지 않을 것이다 본 글은 OAuth2에 대한 이해를 도와줄 수는 있으나 친절한 설명이 될 것 같진 않다 스텝 바이 스텝으로 따라오게 만들 정도의 글 솜씨가 아니라 그렇다 내가 이해한 바를 바탕으로 어떻게 적용했는지를 보여줄 것이다 OAuth2 입문자에겐 매우 불친절한 자료가 될 예정이고 예제를 따라 적용을 해본 사람에겐 도움이 될 수 있을 것이다 글 하단에 참고 블로그를 첨부했다, 난 저 자료들 외에도 수 많은 자료들을 참고했는데 제일 잘 정리된 글들만 추렸다 개념 정리는 이해하는게 제일 중요하니 원서보다 한글로 된 자료를 보는 것을 추천한다 영어가 된다면 공식 문서..
약 3개월 간 OAuth2 연동 프로젝트를 진행하고 마무리 단계에 들어 그동안의 작업을 정리할 겸 남긴다 angular git convention을 따랐고 병합 전략은 squash-and-merge로 하여 연관된 작업을 한눈에 보기 쉽게 정리했다 아래는 깃 컨벤션을 참고했던 블로그다 [Git] 커밋 메시지 규약 정리 (the AngularJS commit conventions) the AngularJS commit conventions를 번역한 것입니다. 공부하면서 번역했습니다. 입맛대로 번역된 부분이나 오역이 있을 수 있습니다. velog.io angular convention을 따를 때 인텔리제이에서 사용할 수 있는 꿀 플러그인이 있다 인텔리제이 2022.01 버전에서도 사용 가능하므로 사용을 추천한..
이번 글에서는 최근 진행한 사이드 프로젝트에 관해 써보려 한다 게시글 관리를 위한 Restful API를 만드는 것이 목적이었다 최대한 빠르게 완성하는 게 목표였기에 공부 중이던 Vue.js는 사용하지 않고 이전에 사용해본 적이 있던 thymeleaf를 활용해 SSR로 빠르게 진행해보았다 굳이 ViewController를 쓴 이유는 완성해놓고 Postman으로 HTTP request를 날려 JSON 형태의 데이터만 받아보는 것뿐만 아니라 눈으로 보고 싶어서 화면을 만들었고, ViewController에서 WebClient를 통해 ApiController에 요청을 날리도록 만들었다 따라서 전체적인 흐름은 thymeleaf 화면 -> ViewController로 요청 -> ApiController로 요청으로..
게시글 Table of Contents 게시글 단건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 게시글 다건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 게시글 추가 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 게시글 수정 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP ..
상품 Table of Contents 상품 단건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 상품 다건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 상품 추가 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 상품 수정 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Examp..
장바구니 Table of Contents 장바구니 단건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 장바구니 다건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 장바구니 추가 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 장바구니 단건 삭제 Request CURL HTTPie Request Fields Request HTTP Example Response Respon..
주문 Table of Contents 주문 내역 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 주문 추가 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 주문 단건 삭제 Request CURL HTTPie Request HTTP Example Response Response HTTP Example 관리자 전용 주문 다건 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 주문..
회원 Table of Contents 회원 가입 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 회원 로그인 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Example 회원 본인 조회 Request CURL HTTPie Request HTTP Example Response Response Fields Response HTTP Example 회원 정보 수정 Request CURL HTTPie Request Fields Request HTTP Example Response Response HTTP Examp..
2022.02.05 요즘 자바 웹 개발 인강을 찾는 분들이 많아서인지 이 글의 조회수가 높아지고 있어 노파심에 말해보자면 절대 이 강의 하나로 자바, 스프링에 대한 기본 지식을 충족할 수는 없고 다른 인강과 책도 보시길 권장 드립니다 Spring 웹 개발, JPA 기초를 공부하시려면 인프런의 김영한님 강의 초보자에게는 친절하지 않은 강의지만 기본 지식이 어느 정도 있고 다음 단계로 나아가시려면 인프런의 백기선님 강의 강의 외에 책을 보고 싶으시다면 자바 - 모던 자바 인 액션 / effective java 3판 / 오브젝트 / 클린 코드 / 클린 아키텍처 / 리팩토링 스프링 & JPA - 자바 ORM 표준 프로그래밍 / 토비의 스프링 3.1 (읽기 어렵다면 vol.1이라도) 등을 추천 드립니다 아직 전 ..
3주 차에 시작한 패스트캠퍼스의 Java/Spring 강의 중 Spring 입문 강의를 다 듣고 JPA 프로그래밍 강의를 시작했다 다 들었다고 말은 했지만 Spring 관련 강의들은 두고두고 계속 들어야 할 것 같다 스프링은 자바와 함께 웹 프로그래밍계에서 십수 년간 발전해온 프레임워크니 배워야 할 것이 많은 것도 당연하다 Spring 입문 강의 중 특히 좋았던 부분은 AOP 관련 내용이었다 나는 Java / Spring 공부를 시작하던 때에 최대한 사용법 위주로 익혀왔다 이 것이 옳고 좋은 방식인지는 모르겠으나 나에게는 최적의 방식이었다 Java / Spring을 떠나 프로그래밍 개념 자체가 익숙하지 않던 입문자 때부터 Servlet을 간략하게 배우고 Spring 공부를 시작했기 때문이다 처음부터 이론..
패스트캠퍼스 Java / Spring 강의의 기나긴 객체지향 파트를 다 들었다 101강을 완전히 집중하여 들은 건 아니지만 다시 듣기가 가능하니 나중에라도 이해가 안 되면 다시 들어야겠다 3주 차에는 Spring 강의를 시작했는데 객체지향의 중요성을 강조하듯 Chapter 1에서 다시 한번 객체지향에 관한 설명을 이어나갔다 Chapter 2에서는 디자인 패턴에 관한 설명을 해주셨다 정보처리기사 공부도 하고 있어서 이름만 들어본 패턴들에 대해 자세한 설명을 해주셔서 도움이 됐다 타 사이트 강의들에서는 거의 다루지 않는 내용인데 여기서는 다루는 것을 보고 굉장히 신기했다 입문자에게 당장은 도움이 안 될 수도 있지만 디자인 패턴은 분명 언젠가는 알아둬야 하고 어려운 내용일수록 처음부터 흘려듣듯이 들어보고 반복..
1주 차에 자바 기초에 관한 강의를 들었고 2주 차에는 객체지향 프로그래밍 강의를 듣기 시작했다 Java & Spring을 제대로 쓰기 위해서는 근간이 되는 자바에 대해 제대로 알고 있어야 한다고 생각한다 흔히들 캡상추다로 외우는 객체지향의 핵심 개념들 캡슐화, 상속, 추상화, 다형성에 대해 한번쯤은 깊게 알고 가야 한다 2주 차 강의에서는 객체지향 입문 / 핵심, 자료구조까지 알려준다 나는 자바의 정석 책과 강의를 이용해 객체 지향 개념을 처음 익혔고, 오브젝트라는 책을 읽고 개념을 다졌다 패스트 캠퍼스의 강의는 개념에 대해 깊은 수준까지 들어가지는 않지만 전체적인 흐름을 잡기에 꽤나 괜찮은 강의인 것 같다 자바의 정석과 같이 기본적인 내용까지 모두 다루고 있으며 오브젝트와 같이 객체 간 협력을 중시한..
프로그래밍을 공부할 때 개인적으로 책 보단 강의를 좋아한다 그 중에서도 시간과 공간의 제약이 없는 인터넷 강의를 선호하는 편이다 웹 개발에 관심이 있고 java & spring 강의를 찾던 중 패스트캠퍼스를 알게 되었다 강의 이름이 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online 인데 말 그대로 한번에 끝내려 작정한 강의인 것 같다 총 강의 시간이 무려 102 시간에 달한다 난 보통 강의를 들을 때 1배속으로 천천히 듣는 것 보다 2배속으로 2번 듣는 걸 좋아한다 프로그래밍 뿐만 아니라 무언가를 배울 때 반복보다 중요한건 없다 생각하기도 하고 누구든 한번에 학습할 수는 없다고 생각하기 때문이다 2배속으로 들어도 51시간인데 이는 분명 초심자에겐 버거울 수 있는 시간이다 그런..
4. AWS EC2 & AWS RDS 운영 환경 구축 5. EC2 수동 배포해보기 6. TravisCI & AWS CodeDeploy로 CI환경 구축하기 6) 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기 이번 시간엔 배포 자동화 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 6-1. CI? 이전 시간에 저희는 스프링부트 프로젝트를 간단하게나마 EC2에 배포해보았습니다. 스크립트를 개발자 jojoldu.tistory.com 개인 프로젝트로 EC2, RDS 를 사용하고 있기 때문에 위 4 / 5 두 챕터는 생략하고 진행했다 추후에 추가로 실습해봐야겠다 CI / CD 의 중요성은 잘 알지만 이전에 진행하던 프로젝트에서는 고려해..
책의 저자이신 이동욱님의 깃허브. https://github.com/jojoldu/springboot-webservice GitHub - jojoldu/springboot-webservice: 스프링부트로 웹서비스 구축하기 시리즈 스프링부트로 웹서비스 구축하기 시리즈. Contribute to jojoldu/springboot-webservice development by creating an account on GitHub. github.com 책이 없어도 따라갈 수 있을만큼 친절한 정리를 해두신 최승원님의 블로그. https://velog.io/@swchoi0329 swchoi0329 (최승원) - velog Mustache로 화면 구성하기 Logic-less template Engine다양한 언어들..