분류 전체보기139 TIL(44) 21-11-30 : S3와 CloudFront를 이용한 사진 업로드 구현하기 Facts ✅ mypage 이미지 S3로 업로드 하기 [Flask → Spring] Findings Javascript에서 이미지를 입력받고 요청을 전송하고 Spring Boot에서 S3에 이미지를 저장하여 업로드 하는 코드를 작성했다. Spring Boot에서 이미지 업로드 요청 처리를 구현할 때, 여러가지 설정과 과정이 필요했다. 1) 먼저 프론트단에서 byte형식의 파일을 보내주기 위해, Multipart/form-data 형식으로 파일을 보내준다. 2) Controller에서 MultipartFile 객체를 받는다. 3) S3 이미지 업로드 하기 위해서는 다음과 같이 구현해 주었다. AWS관련 속성을 적용해주기 위해, yml 파일을 설정해주고, 파일 처리 관련 Service를 여러개 만들어주었다... 2021. 12. 25. TIL(43) 21-11-28 : Spring Secruity 사용하여, 인증 인가 구현하기 Facts ✅ "Spring Security 사용하여, 인증 인가 구현한 부분"의 전체 구조 이해하기 ✅ 모든 페이지에 접근할 경우 로그인해야 접속 가능하게 함 (로그인 페이지 제외하고 모든 페이지) ✅ 로그인 페이지에 접속할 때, 토큰이 있으면 home.html 가게 처리 ✅ get user 처리 (create.html, mytil_page.html, my_page.html user 데이터 뿌려주기) Findings 스프링 시큐리티를 이용한 로그인 처리 Spring Security를 사용하면, 인증 / 인가가 성공할 때에만, Controller에게 UserDetails(회원 정보)를 전달해준다. 로그인 처리 과정 1. 유저가 로그인을 시도하여, 서버에 http 요청이 들어온다. 2. Authentica.. 2021. 12. 25. TIL(42) 11/22 - 11/27 : TDP 사이트 Flask 👉🏻 Spring Facts ✅ JWT 로그인 처리 구현 ✅ index.html [Flask → Spring으로 변환] ✅ home.html [Flask → Spring으로 변환] ✅ create.html [Flask → Spring으로 변환] ✅ my_page.html [Flask → Spring으로 변환] ✅ mytil_page.html [Flask → Spring으로 변환] ✅ til_board.html [Flask → Spring으로 변환] Findings & Feelings Flask → Spring으로 변환하는 작업을 진행하였다. 처음에는 Spring이 익숙하지 않아 어렵게만 느껴졌다. Controller, Service, Repository를 분리를 어떻게 해야하지 고민도 많이 들었다. 1주일동안 부딪혀보니,.. 2021. 12. 22. TDP 3차 Starting Assignment (21.11.19 ~ 21.12.09) 개발해야할 기능들 Start (Flask → Spring) [x] 서버사이드 랜더링 배제 [x] Til [x] User [x] Like [x] Comment [x] Flask → Spring으로 변환 [x] sign.html [x] home.html [x] create.html [x] my_page.html [x] mytil_page.html [x] til_board.html [x] til_board_detail.html [x] detail.html 기능 구현 [x] TIL Board - List private / public [x] TIL Board - Pagination [x] Create - Tag [x] 카카오 로그인 [x] Notification (카카오 알림 API를 연결) [x] 새로운 글 .. 2021. 12. 22. TIL(41) 21-11-20 : 조회수, comment 기능 구현 (Flask) Facts ✅ 메모장 사이트 조회수 기능 구현 [flask] ✅ 메모장 사이트 Comment 기능 구현 [flask] 조회수 기능 구현 게시글을 클릭할 때마다, 서버에서 게시글 컬럼의 read_count 필드값을 증가시키게 구현했다. function readArticle(idx) { $.ajax({ type: "PUT", url: `/article/${idx}`, data: {}, success: function (response) { console.log(response['article']) let title = response['article']['title'] let content = response['article']['content'] $('#modal-title').html(title); $(.. 2021. 11. 20. TIL(40) 21-11-17 : @Transactional / 스프링 Controller가 Client로 부터 파라미터를 받는 방법 / Lambda와 Stream Facts ✅ 메모장 사이트 CRUD 기능 구현 Findings ✏️ @Transactional 스프링에서 트랜잭션 처리를 하려면, 트랜잭션이 필요한 클래스 혹은 메서드에 @Transactional 어노테이션을 달아주면 된다. @Transactional이 붙은 메서드는 메서드가 포함하고 있는 작업 중에 하나라도 실패할 경우 전체 작업을 취소한다. 클래스, 메서드 모두에 @Transactional 어노테이션을 붙이면 메서드 레벨의 @Transactional 선언이 우선 적용된다. // update @Transactional public Til updateTil(Long id, TilRequestDto tilRequestDto) { Til til = tilRepository.findById(id).orEls.. 2021. 11. 17. 이전 1 ··· 13 14 15 16 17 18 19 ··· 24 다음