분류 전체보기 썸네일형 리스트형 [백엔드온라인TIL] java 학습 36일차 안녕하세요. 오늘은 스프링 시큐리티를 활용하면서 궁금했던 부분을 공부해보았습니다. 스프링 시큐리티는 SecurityContext에 인증된 Authentication 객체를 넣어두고 현재 스레드 내에서 공유되도록 관리하고 있는데요. 아래는 SecurityContext 인터페이스에 기재된 주석의 일부를 발췌했습니다. (SecurirtContext : Interface defining the minimum security information associated with the current thread of execution.) 인증이후 편의적으로 현재 인증된 세션유저를 가져오기 위해 @AuthenticationPrincipal 어노테이션을 통해 UserDetails 인터페이스를 구현한 유저 객체를 주입할 .. 더보기 [백엔드온라인TIL] java 학습 35일차 트랜잭션이란? Transaction 단어의 영어 뜻은 1.거래,매매 혹은 2.처리(과정)의 의미가 있습니다. 그래서인지 많은 분들이 트랜잭션에 대해 은행거래를 예시로 드는 경우가 많습니다. 바로 예시를 보겠습니다. 고향에 사시는 부모님께 매달 용돈을 보내드리는 순향이는 월급날이 되자 어김없이 부모님께 용돈을 송금합니다. 이때 출금과 입금은 각 1번씩 발생하게 됩니다. 그런데 부모님 통장으로 돈을 입금하는 매우 짧은 순간 네트워크 장애로 인해 부모님 통장에 돈이 입금되지 않은 상황이 발생해버렸습니다. 순향이의 통장에서는 돈이 빠져나갔지만 부모님의 통장에는 입금되지 않은 것입니다. 순향이의 돈 일부가 사라지게 되버렸습니다. 이런 경우는 어떻게 처리해야 될까요? 출금과 입금이 1번씩 발생하지만 은행에서는 송금.. 더보기 [백엔드온라인TIL] java 학습 34일차 -특강내용- 서블릿(Servlet)이란? 자바 서블릿(Java Servlet)은 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. -위키피디아- 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 기존에 서버는 정적인 자료(HTML, 사진, 글 등)만을 주고받았다. 하지만 웹에 다양한 기능이 요구되면서 정적인 자료뿐만 아니라 사용자 요구에 맞춘 동적인 페이지들을 만들 필요가 생겼다. 이를 위해 만들어진 것이 바로 서블릿이다. 쉽게 말해 서블릿은 클라이언트의 요청에 맞춰 동적인 결과를 만들어 주는 자바 웹 프로그래밍 기술이라고 할 수 있다. 이러한 서블릿은 WAS(Web Application Server)의 서블릿 컨테이너 안에서 동.. 더보기 [spr] Spring 심화주차 level 4 문서 작성 - erd - api 명세서 분류 기능 메소드 url request Response 사용자관리 회원가입 Post /user/signup username(사용자명), password(비밀번호), isAdmin(관리자여부) 성공여부 : "success", msg: "회원가입 성공" 로그인 Post /user/login username(사용자명), password(비밀번호), 관리자 토큰 성공여부 : "success", msg: "로그인 성공" 로그아웃 Post /user/logout 엑세스 토큰 정보 성공시 "로그아웃 성공" 메시지 호출 실패 시 실패 코드 및 메시지 호출 토큰재발급 Post /user/reissue UserRequestDto.Reissue ( refresh, access 토큰 정보) 성공 .. 더보기 [AWS] 프리티어를 계속 사용 할 수 있는 방법 (gmail 필수) gmail에는 여러 용도로 사용할 수 있게 아이디 뒤에 +{something}을 붙여서도 사용할 수 있는 기능이 있다. 예를 들어 내 이메일주소가 gmialtest@gmail.com인데 여기에 gmialtest+2022@gmail.com을 붙여도 내 원래 계정으로 온다. 이렇게 말이다. 물론 숫자뿐만이 아니라 영어도 되므로 특정 메일을 리스팅하거나 라벨링할 때 쓰기 좋은 기능이지만 이 기능을 aws계정가입과 함께 활용하면 같은 gmail계정으로 여러개의 프리티어계정을 계속 생성할 수 있다. 프리티어계정은 1년 후에 종료되기 때문에 나 같은 경우에는 뒤에 해당년도를 붙여 새로운 계정을 만들어 사용하고 있다. {Gmail계정} + {임의의문자}@gmail.com 이렇게 가입시도를 하면 멀쩡히 잘 진행된다. .. 더보기 [백엔드온라인TIL] java 학습 33일차 OAuth, OAuth2 Spring Security + OAuth2를 통한 소셜 로그인을 구현하던 중, oauth의 개념과 이론적인 동작 방식에 대해서 자세하게 알고 싶어 정리한 내용입니다. 1. OAuth, OAuth2.0 이란? 위키백과에 따르면 'OAuth(Open Authorization)'는 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로써 사용되는, 접근 위임을 위한 개방형 표준인데요. 사용자의 아이디와 비밀번호 없이 접근 권한을 위임받을 수 있다는 것은, 로그인 및 개인정보 관리 책임을 'Third-Party Application(google, kakao, naver 등)'에 위임할.. 더보기 [백엔드스터디WIL]7주차 학습일지 Filter 란? 사실 필터는 스프링의 독자적인 기능이 아닌 자바 서블릿에서 제공하는 기능입니다. 스프링 프레임워크에서 필터로 인증 등 다양한 작업을 하는 데 사용하니 스프링 프레임워크에서의 필터에 대해 기록 해 보고자 합니다. (출처:https://justforchangesake.wordpress.com/2014/05/07/spring-mvc-request-life-cycle/) 아마 스프링 필터와 연관지어 검색을 하면 많이 보는 그림 중 하나 일 것입니다. 위 그림은 스프링 프레임워크에서 요청에 대한 라이프 사이클을 나타낸 그림입니다. 스프링 프레임워크는 들어온 요청이 DispatcherServlet에 의해 컨트롤러에 매핑됩니다. Filter는 요청이 DispatcherServlet에 의해 다뤄지기 .. 더보기 [백엔드온라인TIL] java 학습 32일차 QueryDSL 이란? 정적 타입을 이용해 SQL과 같은 쿼리를 생성할 수 있게 지원하는 프레임워크 문자열이나 XML파일을 통해 쿼리를 작성하는 대신 QueryDSL이 제공하는 Fluent API를 활용해 쿼리 작성 가능 장점 IDE에서 제공하는 코드 자동완성 기능 사용 가능 문법적으로 잘못된 쿼리 허용 X 고정된 SQL쿼리를 작성하지 않기에 동적으로 쿼리 생성 가능 코드를 작성하므로 가독성 + 생산성 향상 도메인타입과 프로퍼티를 안전하게 참조 가능 QueryDSL을 사용하기 위한 프로젝트 설정 의존성 추가 com.querydsl querydsl-apt provided com.querydsl querydsl-jpa 태그에 APT 플러그인 추가 com.mysema.maven apt-m.. 더보기 [KPT회고] 9조 프로젝트 이후 회고록 프로젝트 : 게시판 CRUD 및 뉴스피드 형식의 데이터 조회 주요 구현기술 : SPRING security, lombok, jpa , amazon s3, mysql, gradle KPT 회고 (팀원들의 의견을 반영 하여 종합된 의견 추출 ) Keep - 현재만족하고 있는 부분 - 이어갔으면 하는 부분 -> 성실하고 노력을 많이 했다. -> 못하는 부분은 서로 공유하거나 질문하려는 태도가 좋았다. -> 다른 사람의 의견을 존중하고, 때에 따라 자신의 의견을 버리기도 하는 등 팀원들의 인성이 좋다고 생각했다. -> 조원들이 다양한 spring 관련 기술, 라이브러리를 활용해서 프로젝트 시간이 유익한 시간이 되었다고 생각한다. Problem - 불편하게 느끼는 부분 - 개선이 필요하다고 생각되는 부분 -> 좀.. 더보기 [spring] 뉴스피드 프로젝트 진행상황 1단계. 프로젝트 아이디어 구상하기! Ott 뉴스피드 프로젝트 - 프로그램 신작 조회 및 프로그램에 대한 글을 작성하고 조회하는 프로젝트 💡 우리에게 주어진 지상과제는 무엇이 있을까? 를 진지하게 성찰하는 시간 2단계. API 명세 작성하기! 3단계. ERD 작성하기! 4단계. 와이어프레임 작성하기! 5단계. 본격적인 백엔드 개발하기! 7단계. 테스트 및 버그 수정하기! 8단계. 클라우드에 배포하기! 9단계. 프론트엔드 개발도 해보기! 필수 구현 기능 사용자 인증 기능 회원가입 기능 새로운 사용자가 ID와 비밀번호의 형태로 서비스에 가입 이 때, 비밀번호는 안전하게 암호화되어 저장되어야 합니다! 로그인 및 로그아웃 기능 프로필 관리 프로필 수정 기능 한 줄 소개와 같은 기본적인 정보 수정 가능 비밀번호 .. 더보기 이전 1 ··· 11 12 13 14 15 16 17 ··· 26 다음