본문 바로가기

반응형
SMALL

전체 글

패스트캠퍼스 환급챌린지 30일차 미션 (3월 1일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part4.ch2.01 스프링부트 프로젝트 시작하기(2), Part4.ch2.02 도메인 설계(1) 클립을 수강하였다. 테스트 클래스에 @ActiveProfiles("test") 어노테이션을 지정하고 appication.yaml에 config.active.on-profile: test datasource.url: jdbc:h2:mem:testdb 이렇게 작성하면 테스트를 실행할때 인메모리 db인 h2데이터베이스를 사용할 수 있다. 액추에이터를 확인하여 빌드가 잘 실행 되는지 확인하는 과정도 보여주었다. build.gradle에 의존성을 아래와 같이 추가하고 /actuator 라고 엔드포인트로 호출하면 확인을 할 수 있는데, 직접 본것은 처음이다. implementation 'org.springfr.. 더보기
패스트캠퍼스 환급챌린지 29일차 미션 (2월 29일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part4.ch1.02 프로젝트 기획 - 필요한 기술정리하기 , Part4.ch1.03 깃헙 프로젝트와 이슈 정리하기, Part4.ch2.01 스프링부트 프로젝트 시작하기 클립을 수강하였다. 예상하는 세부 기능 중 새로운것들은 어드민회원, 방문자수 집계 도메인 설계,게시판 서비스와 API통신 , 다크모드, todo list, 채팅 정도가 있었다. 선택을 예상하는 기술들로는 Spring web,JPA,H2,Mysql,Rest Repository,HAL explorer,thyemleaf, AdminLTE 3.2.0,RestTemplate,OpenFeign,WebSocket,Spring Security OAuth2 Client Lombok,Spring Boot DevTools,Spring Boot Ac.. 더보기
패스트캠퍼스 환급챌린지 28일차 미션 (2월 28일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch3.03 총정리 데모 , Part4.ch1.01 프로젝트 기획 - 개발목적 이해하기 클립을 수강하였다. Part3 고도화에서 추가되었던 요구사항 카드가 멋지게 정리되었고, 데모페이지에서 정상 작동하는지 확인하였다. 기억에 남는것은 Page객체를 사용하고, Stream API를 통해 대댓글을 정렬했던것, 팩터리 메서드 패턴의 사용으로 변경을 최소화했던것, Hashicorp vault 라는 암호화 프로그램을 사용했던것 등이 있었고 이 밖에 정말 많은 내용을 강의에서 볼수 있었다. part3는 part2에서 개발했던 게시판의 기능을 좀 더 고도화 시켰다고 볼수있고, part4에서는 2,3에서 개발했던 게시판을 관리할수 있는 웹서비스를 기획하고 개발한다. 게시판 서비스의 기능과 서비스 현황.. 더보기
패스트캠퍼스 환급챌린지 27일차 미션 (2월 27일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch3.01 깃헙 릴리즈하기, 02 헤로쿠에 배포하기 클립을 수강하였다. 보편적인 버저닝 전략에 대해 알게되었다. semver 라고 하는 sementic versioning의 준말인데, x.y.z 형식으로 표기한다. x : major , y : minor, z : patch 이다. major의 버전이 올라가는 경우는 이전 버전과 호환되지 않는 API 변경이 있을때 숫자를 올린다. major가 0으로 시작하는것은 개발중임을 나타내고, 1보다 클 경우 각 버전내에서 API명세가 크게 변경되지 않으며, 이전 버전에 대한 호환성이 보장된다고 볼수있다. minor는 이전버전과 호환되면서 기능이 변경되거나 추가된 경우 숫자를 올린다. 직전의 API명세를 그대로 사용하고있더라도 patch업데이트 보.. 더보기
패스트캠퍼스 환급챌린지 26일차 미션 (2월 26일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch2.10 보안기능 고도화 - Spring Boot Vault, 11 Swagger UI로 API 문서화하기 클립을 수강했다. 늘 하던것처럼 gradle과 application.yaml에 값들을 추가해주었다. vault Configuration 의존성을 spring.start.io 에서 추가해준다. Vault와 queryDsl이 dependencyManagement.import 구문을 같이 사용하면서 충돌이 일어나 오류가 발생하는 현상을 볼수있었다. 그냥 버전을 하드코딩해서 해결하였다. 라이브러리나 프레임워크, 연동프로그램을 이용할때 그 기능을 온전히 사용하는것은 정말 편리하지만 가끔 이러한 의도치 않은 문제가 발생하는 경우가 있어, 무턱대고 적용하면 안되고 조사를 마치고 사용하려는 .. 더보기
패스트캠퍼스 환급챌린지 25일차 미션 (2월 25일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch2.08 보안기능 고도화 - 환경변수의 사용, 09 보안기능 고도화 - Hashicorp Vault 클립을 수강했다. application.yaml에 하드코딩된 접속정보들을 감추어 주기 위한 방법으로 시스템 환경변수를 사용하는 모습을 볼수있었다. client-id: c1d251e2df1t3t5r1d2d5 client-registration-id: as55dw12r3t8g1f2d8d1w2as5 이런식으로 되어있던 키값을 client-id: ${KAKAO_CLIENT_ID} client-registration-id: ${KAKAO_REGISTRATION_ID} 이런식으로 el문법의 변수로 만들고 서비스탭에서 같은 이름의 변수로 환경변수를 만들고 값을 지정하면 해당 application... 더보기
패스트캠퍼스 환급챌린지 24일차 미션 (2월 24일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch2.07 카카오톡으로 로그인(4) , 카카오톡으로 로그인(5) 클립을 수강했다. 요청 json에서 properties 라는 필드가 있었는데 deprecated되었다는걸 공식문서에서 확인하고 사용을 지양하는게 좋다고 하셨다. 주어지는걸 사용하는것도 잘 판단한 뒤에 해야될것같다. compact-middle-package 설정되어있을때 경로와 패키지 생성시 .활용하는법 팁이 좋았다. API요청 기능과 테스트코드에서 API호출 시간에 대한 내용에서 글로벌한 서비스를 할때는 UTC와 ZONE DATETIME 개념이 나왔다. UTC는 세계협정시간이고 국제적인 표준시간이라고한다.GMT와 시차는 없지만 더 오차가 적다고한다. Timezone 개념은 동일한 로컬시간을 따르는 지역을 의미하는데 국가에.. 더보기
패스트캠퍼스 환급챌린지 23일차 미션 (2월 23일) 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 강의 후기 오늘은 Part3.ch2.07 카카오톡으로 로그인(2) , 카카오톡으로 로그인(3) 클립을 수강했다. oauth-client 의존성을 추가하고 application.yaml에서 추가로 설정을 해줘야한다. oauth2: client: registration: kakao: client-id: client-secret: authorization-grant-type: redirect-url: 등의 값을 할당해주어야한다. yaml파일의 특징에 대해서도 배웠는대, 강의에서 redirect-url: 의 값을 넣을때, http://localhost:8080/login/oauth2/code/kakao 로 지정하였었는데 앞의 프로젝트 루트패스를 {baseUrl}로 치환하여 작성 할수 있다는걸 알게됬다. 하지만 중괄호는 많.. 더보기

반응형
LIST