백앤드 개발 (47) 썸네일형 리스트형 [Spring boot] 로그인, 로그아웃 구현 by 스프링 시큐리티 1. 스프링 시큐리티란? 스프링의 보안 관련 기능 (인증과 권한) 을 담당하는 스프링 하위 프레임워크 필터 기반으로 동작 기본적으로 세션 기반 인증 제공 2. 스프링 시큐리티 인증 처리 과정 1. 사용자 인증 요청 보통 로그인 폼을 통해 자격 증명 정보를 제출 2. UsernamePasswordAuthenticationFilter 동작 제출 정보를 토대로 AuthenticationManager 인증 수행 3. AuthenticationProvider 커스텀 AuthenticationProvider 를 통해 인증 로직을 구현하고 인증 결과 (성공 or 실패) 반환 4. SecurityContextHolder 에 인증정보 저장 인증 성공시 SecurityContextHolder 에 SecurityContex.. [프로그래머스 Java] 이진 변환 반복하기 1. 문제 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한조건 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상 포함되어 있습니다.이진 변환의.. [Spring boot] 타임리프 1) 타임리프란(Thymleaf) ? 타임리프(Thymeleaf)는 서버 사이드 Java 템플릿 엔진 서버 측에서 데이터를 표시하고 HTML 템플릿을 생성하는데 특화 주로 스프링 프레임워크와 사용 2) 특징 th: xxx 가 붙은 부분은 서버 사이드에서 렌더링 되고 기존의 것을 대체하고 없으면 기존 html 속성 사용 스프링의 많은 기능과 함께 사용 반복, 조건, 국제화 등의 다양한 기능 지원 3) 타임리프 사용 선언 4) th:href 속성 변경 HTML을 그대로 볼 때는 href 속성 사용 서버 사이드와 연동 될때는 th:href 의 값이 href 로 대체되어 데이터 바인딩 th:href="@{/css/bootstrap.min.css}" : 타임리프는 URL 링크 사용시 @{...} 를 사용 5) t.. [프로그래머스 Java] 올바른 괄호 1. 문제 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다 2. 풀이 1) 효율성 테스트 통과 x class Solution { // ( 로 열렸으면 반드시 짝지어서 ) 로 닫혀야 한다. boo.. [프로그래머스 Java] 최솟값 만들기 1. 문제 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21.. [프로그래머스 Java] 최댓값과 최솟값 1. 문제 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 2. 풀이 class Solution { public String solution(String s) { String[] tmp = s.split(" "); int min, max, n; min = Integer.parseInt(tmp[0]); max = Integer.parseInt(tmp[0]); for (int .. [Spring 프로젝트] 프로젝트 설계 2일차 테이블 설계 1. 테이블 설계 회원정보 MEMBER Column명 속성 제약사항 내용 ID INTEGER(10) PRIMARY KEY AUTO_INCREMENT 회원 고유 식별번호 USERNAME VARCHAR(30) UNIQUE KEY NOT NULL 아이디 PASSWORD VARCHAR(50) NOT NULL 비밀번호 EMAIL VARCAHR(200) NOT NULL 이메일 PROFILE_IMG VARCAHR(255) 프로필 이미지 DATE_JOINED DATETIME(6) NOT NULL 사용자 생성일 LAST_LOGIN DATETIME(6) 최근 로그인 일시 IS_SUPERUSER TINYINT(1) NOT NULL 관리자 여부 IS_ACTIVE TINYINT(1) NOT NULL 활동 여부 RIOT_ID V.. [Spring boot] 스프링 MVC 구조 이해 1. DispatcherServlet 구조와 동작 순서 DispatcherServlet 은 스프링 웹 어플리케이션의 핵심 컴포넌트 클라이언트로부터 HTTP 요청을 받아 URL과 HTTP 매서드에 매핑되는 핸들러 조회 및 응답 반환 http 헤더 정보, 컨텐츠 타입 등의 정보를 활용하기도 함 // org.springframework.web.servlet.DispatcherServlet protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; HandlerExecutionChain mappedHand.. 이전 1 2 3 4 5 6 다음 목록 더보기