본문 바로가기

TIL : Today I learned (or Week)54

TIL 230817 : AWS S3 (Simple Storage Service) 1 - 세팅, 객체업로드 AWS에서 제공하는 여러가지 서비스가 있다라는 걸 이제야 파악이 된다. 그 중에서 Simple Storage Service. 줄여서 S3서비스를 해보려한다. 기본 세팅부터 파일 업로드 하는 용량 설정 까지 해본다. 1. 버킷 생성 및 권한 설정 기본적으로 버킷을 생성해야 한다. 클라우드에 있는 외장하드 개념이라고 생각하면 쉽다. 정확히는 최상위의 컨테이너. 자세한 과정은 해당 블로그 참고 https://gaeggu.tistory.com/33 2. Spring 의존성 추가 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' 3. properties 파일 추가 기본 application.properties파일에 해.. 2023. 8. 22.
TIL 230816 : Cors 필터 적용하기 (Spring Security 환경) https://thiswooin.tistory.com/57 TIL 230719 : CORS 첫 대면 https://thiswooin.tistory.com/56 TIL 230718 : 카카오로 로그인하기 기능 (OAuth) https://developers.kakao.com/docs/latest/ko/kakaologin/common#intro-kakaologin Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발 thiswooin.tistory.com 예전에 CORS를 마주한 적이 있었다. 당시, 숱하게 많은 대응책을 구글에서 접했는데 모두 통하지 않았다. 이유는 두가지이다. 스프링 시큐리티 환경인지 아닌지 필터를 추가를 시켜야 하는지. 정말 긴 시간 나를 괴롭힌 CORS를 .. 2023. 8. 21.
WIL 230813 : 리액트를 접하다. FACTS 이번 일주일 동안 있었던 일, 내가 한 일 : 기본적인 CRUD기능 구현 이후에 특강으로 제공받은 프론트엔드 구현 강의를 들었다. 자연스럽게 react라는 프론트엔드 프레임워크를 접했고, 기본적인 기능들을 익히며 함수형 컴포넌트의 동작방식도 익혔다. FEELINGS 나의 감정적인 반응, 느낌 : html의 발전역사가 엿보였다. 예전 원시적인 방법으로 프론트를 제작할 때 굉장히 비효율적이라고 생각이 들었었다. 하지만 역시 인류는 답을 찾아왔고 진화했다라는 것을 느꼈다. 함수형 컴포넌트를 사용해가며 렌더링이라는 개념으로 SPA라는 개념을 탄생시켰고, 생산성 높은 방식들을 발명해왔다라는 걸 느꼈다. 이를 배우는 과정 하나하나 동안 이러한 프레임워크를 개발한 개발자들에 대한 무한한 동경을 느끼며 배우.. 2023. 8. 17.
TIL 230809 : 개인점검 오늘은 깃헙 리뷰 들어온 거 수정하고 프론트 개발 강의 좀 보느라 시간이 다 지나갔다. 리액트 기초를 정리할까 하다가 개인적으로 미뤄뒀던 개인점검을 TIL을 이용해서 해보려 한다. 현재 상태 가능한 것 기본적인 구현가능 표준 자바문법 숙지 (+스트림, 람다) 스프링 문법 기본적으로 가능 ORM개념 이해. SpringDataJPA시에 내부에서 일어나는 프로세스 기본적 이해 (EntityManager, Tranaction 등) SQL DB 기본적 설계. QueryDsl Github 기본적 기능 숙지 (commit, push, remote, branch, fork, pull&request, review, wiki, label, milestone) 어설픈 개념들 쿼리문 작성 테스트코드 (여러 어노테이션 복잡함,.. 2023. 8. 10.
TIL 230808 : 코드 디테일 조금씩 살려보기 (Transactional, NoArgsConstructor(AccessLevel = PROTECTED)) 오늘은 팀과제를 하며 기본 틀이 되는 코드를 짜며 오갔던 내용 중 이유가 궁금한 것들을 두가지 정리해보았다. @Transactional (readOnly = true) DB에서 불러온 객체를 수정 하면 더티체킹으로 자동으로 수정사항을 반영해줄 수 있다. 물론, 트랜잭션을 열어줘야한다. 그정도로 알고 있었고, 추가적으로 조회시에도 (readOnly = true)를 넣어줘서 해도 좋다고 들었다. 근데 오늘 팀원이 상세하게 이유를 덧붙여서 수정 뿐만 아니라, 생성, 삭제시에도 @Transactional을 달아서 트랜잭션 환경을 열어주는 게 좋다고 했다. 이유는 롤백기능이다. @Transactional의 rollbackFor 기능 트랜잭션을 열어두면 스프링에서는 디폴트값으로 UnCheckedException과 .. 2023. 8. 8.
TIL 230807 : Swagger 나도 한 번 써보기 스웨거라고 들어봤는가. API 명세를 엑셀에 일일이 써주던 시간이 헛된 시간처럼 느끼게 해준다. 설정되어 있는 API들의 설명과 request, response들의 파라미터들을 일목요연하게 보여준다. 사용법을 정리해본다. 의존성 추가 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' 위의 의존성을 추가하면 그 안에 Swagger를 포함해 기능을 사용할 수 있다. 어노테이션 클래스단에서와 각 메소드단에서 어노테이션을 달아준다. @Tag : 클래스(아마 Controller)에 해당 어노테이션과 API 이름과 설명을 달아준다. @Operation : 메소드에 해당 기능과 설명을 달아준다. Swagger UI 보기 위처럼 꼼꼼하게 .. 2023. 8. 7.