반응형

전체 글 87

[React] 소셜 로그인 (1)

- 소셜 로그인은 제3의 사용자 인증 서비스를 이용해 현재 사용자를 인증하고 접근 가능하게 하는 방식- 최근 여러 포털에서 서비스를 제공하고 있으며 내 개인 프로젝트에 소셜 로그인 방식 중 하나인 OAuth를 적용하려고 합니다. [OAuth2.0 방식]- 권한부여 승인 코드 방식(Authorization Code Grant)- 암묵적 승인 방식(Implicit Grant)- 자원 소유자 자격증명 승인 방식(Resource Owner Password Credentials Grant)- 클라이언트 자격증명 승인 방식(Client Credentials Grant) - 카카오나 네이버는 '권한부여 승인 코드 방식'을 이용하며 해당 방식으로 구현해보려 합니다.  - 리액트 애플리케이션에서 로그인 화면을 보고 사용..

React 2025.03.19

[React] 쿠키(Cookie)를 이용한 애플리케이션 상태 저장

- SPA(Single Page Application)은 새로고침 시 애플리케이션의 상태가 초기화되기 때문에 LocalStorage나 쿠키(Cookie)를 사용해서 상태 데이터를 보관하고 애플리케이션이 로딩될 때 저장된 정보들을 로딩해서 사용해야합니다. [react-cookie 라이브러리 설치]npm install react-cookie - 쿠키 사용을 위한 'react-cookie' 라이브러리 설치 [Cookie Util 생성]import { Cookies } from "react-cookie"const cookies = new Cookies()export const setCookie = (name, value, days) => { const expires = new Date() expire..

React 2025.03.13

[Java] Lombok의 Builder Design Pattern

1. Builder Design Pattern이란?- 팩토리 패턴(Factory design pattern)과 추상 팩토리 패턴(Abstract Factory design pattern)에서 여러 속성 값들을 가질 때 발생하는 문제들을 해결하기위한 디자인 패턴- 복잡한 객체 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴클라이언트에서 Factory 클래스로 너무 많은 인수들을 전달 받는 과정에서 동일한 인수가 많고 순서를 유지하기 어려워 오류가 발생할 수 있음넘길 필요가 없는 파라미터도 null값으로 명시가 필요객체가 무겁고 생성이 복잡한 경우 호출되는 Factory 클래스의 처리가 복잡해질 수 있음2. Java의 Builder Design Pattern 구현 @Builder..

Java 2024.07.25

[Spring] Spring MVC Interceptor

1. Spring MVC Interceptor란?- 핸들러(Handler) 호출 시점에 따라 요청을 처리하는 필터(로그인, 권한 등에 사용) 2. Spring MVC Hanler 동작 이해하기- HandlerMapping의 목적은 URL핸들러 메소드와 URL을 연결시키는데에 있다. 즉, DispatcherServlet은 처리를 반환할 때 해당 메소드를 잘생시킬 수 있어야 합니다.- DispatcherServlet은 메소드를 발생시키기 위해 HandlerAdapter를 사용한다. 한마디로 인터셉터는 반환을 가로채서 처리하며 로그나 권한 체크와 같은 반복적인 핸들러 코드를 피하는 것에 도움을 줍니다. 3. Maven Dependencies- 인터셉터를 사용하기 위해선 pom.xml에 spring-web 의존..

Java/Spring 2024.06.24

[SpringBoot] Thymeleaf 적용 방법

1. application.properties 설정 추가spring.thymeleaf.prefix=classpath:templates/spring.thymeleaf.check-template-location=truespring.thymeleaf.suffix=.htmlspring.thymeleaf.mode=HTMLspring.thymeleaf.cache=false 2. build.gradle 설정 추가implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'  3. html 경로 설정- 설정된 templates 하위 경로에 html 파일 생성 - Controller를 통해 해당 경로 html 호출 4. Tyhmeleaf가 적용되지 않는 ..

Java/Spring Boot 2023.08.30

[Linux] 실시간 Catalina Log 확인

Catalina Log tail -f catalina.out - 리눅스 환경에서 tomcat 실시간 로그를 확인할 수 있습니다. - catalina 파일은 보통 logs 디렉터리에 위치합니다. - 실시간 에러 메세지 확인에 용이합니다. tail -2000f catalina.out - '-f' 사이에 라인 수를 입력하면 해당 수 만큼의 라인까지 볼 수 있습니다. tail -f catalina.out | grep -i 'exception,error' - grep을 이용해 원하는 옵션으로 검색되도록 할 수 있습니다. - exception이나 error가 걸리는 부분만 로그가 뜨게 됩니다. grep [클래스 명] catalina.* - catalina의 모든 파일 중 schedulerun이 실행되는 모든 로그를..

Linux 2023.02.02

[JAVA]Enum 열거 타입

열거 타입 (Enumeration Type) - 데이터 중 몇 가지로 한정된 값만 가지는 경우로 서로 연관된 상수의 집합을 저장하는 자료형 ex) 요일(월, 화, 수, 목, 금), 계절(봄, 여름, 가을, 겨울) Enum 정의 방법 public enum 열거타입이름{ ... } - 위처럼 열거 상수를 선언할 수 있고, 관례적으로 모두 대문자로 작성합니다. public enum Weather{ SPRING, SUMMER, FALL, WINTER } - 열거 상수가 여러 단어로 구성될 경우 단어 사이를 밑줄(_)로 연결합니다. Enum 사용 Weather thisWeather = Weather.WINTER; - 열거 타입도 하나의 데이터 타입이므로 변수를 선언하고 사용합니다. - 선언된 변수에 열거 상수를 ..

Java 2023.01.17
반응형