본문 바로가기

분류 전체보기

(214)
RestTemplate :: HTTP (REST)요청/응답 클래스 RestTemplate간편하게 Rest방식의 API를 호출할 수 있는  Spring  내장 클래스. Spring 3.0부터 지원하는 Spring의 HTTP 통신 템플릿이다. Restful의 원칙을 지킬 수 있으며 HTTP 메서드들에 적합한 여러 메서드 제공한다.JSON, XML, String 응답을 모두 받는다.Blocking I/O 기반의 동기방식을 사용한다. ( Rest API 호출 후 응답을 받을 때까지 기다림)Header + Content-Type을 설정해서 외부 API 호출이 가능하다.    동작 원리 애플리케이션 즉 작성하는 코드 구현부에서 RestTemplate를 선언하고 URI, HTTP 메서드, Body 등을 설정이를 바탕으로 외부 API에 요청을 보내면 RestTemplate 에서 Ht..
Redis :: 레디스 (Remote Dictionary Server) RedisRedis는 Remote Dictionary Server의 약자로, 키(Key)-값(Value) 쌍의 해시 맵과 같은 구조를 가진 비관계형(NoSQL) 데이터베이스 관리 시스템(DBMS)이다. Redis는 오픈 소스 기반으로 개발된 인메모리(In-memory) 데이터 구조 저장소로, 데이터를 디스크가 아닌 메모리에 저장하여 매우 빠른 데이터 접근 속도를 제공한다. Redis는 데이터베이스, 캐시, 메시지 브로커 등으로 활용할 수 있으며, 다양한 데이터 구조를 지원하는 유연한 저장소로서, 실시간 처리가 중요한 애플리케이션에서 널리 사용된다. Redis는 단순히 데이터를 저장하고 조회하는 것을 넘어, 복잡한 데이터 구조를 다룰 수 있는 강력한 기능을 제공한다. 빠르고 유연한 인메모리 데이터베이스로,..
API :: CLOVA Summary (AI 요약 Service) CLOVA Summary  Naver에서 부분 무료로 제공해주는 API로 2천자 이내의 글을 3줄 내외로 요약해주는 AI 서비스이다  요금1000회 초과시 호출당 2원 사용 환경 설정1. 클로바 회원가입, 카드 등록(필수)  2. 우측 상단의 콘솔 클릭  3. Service - CLOVA Summary 검색 후 사용하기 클릭  4. 서비스 환경 URL 등록, 인증정보 발급- AI NAVER API 라고 적힌 Dashboard 메뉴가 사이드바에 생성된다. 이곳이 내가 사용할 AI API를 확인할 수 있는 메뉴이다- Application key 부분에 자신이 사용 가능한 API KEY가 발급된다- 여기까지 설정이 완료된다면 CLOVA Summary를 사용할 환경이 조성되었다  5. 한도 및 알림 설정 (선택..
SPRING :: Security 로그인 구현 03 React 화면 구성 Spring Security (Form-Based Authentication)가장 기본적인 자체 로그인 서비스 구현 실습 03 React 화면 구성  1. 리액트 프로젝트 생성npx create-react-app [프로젝트 이름]  2. 프로젝트에 axios 라이브러리 설치 (fetch 사용시 불필요) / 라우터 설치npm install axiosnpm install react-router-dom  3. 로그인 컴포넌트 생성import React, { useState } from 'react';import securityImage from '../images/security.png';import axios from 'axios';import { useNavigate } from 'react-router-..
SPRING :: Security 로그인 구현 02 SecurityConfig Spring Security (Form-Based Authentication)가장 기본적인 자체 로그인 서비스 구현 실습 02. SpringSecurityConfiguration class 작성  1. Security 세부 설정 Configuration - 전체 코드 (화면은 리액트로 구성하기 때문에 cors를 3000 포트로 설정)@Configuration@EnableWebSecurity@EnableMethodSecuritypublic class SpringSecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .cors(cors -> cors .configu..
SPRING :: Security 로그인 구현 01 환경 설정 Spring Security (Form-Based Authentication)가장 기본적인 자체 로그인 서비스 구현 실습 01. 환경 설정  1. 실습을 위한 프로젝트 생성 - Spring Security 의존성 추가 org.springframework.boot spring-boot-starter-security 2. application.properties 생성 ( yml  가능) - 서버 설정  - DB 드라이버 연결을 위한 hikari 사용 - 테이블 관리를 위한 jpa hibernate 사용spring.application.name=Spring3SecurityBackserver.port=8383server.error.include-message=alwaysserver.servlet.encoding..
SPRING :: Security Spring Security Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크. Spring Security는 '인증'과 '권한'에 대한 부분을 Filter 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller사이에 위치한다는 점에서 적용 시기의 차이가 있다.  Spring Security 작동 구조 1. 사용자는 로그인을 위해 아이디와 비밀번호를 입력한다.  2. 요청이 오면 AuthenticationFilter에서 요청을 가로채고 아이디와 비밀번호를 기반으로 UserPasswordAuthenticastionT..
REACT :: 라우터 경로 이동 시 페이지 최상단 이동 라우터로 메인 컨텐츠 컴포넌트를 이동하다보니 불편한 점이 느껴졌다. 스크롤을 아래로 내린 상태에서 페이지 이동을 하면 이동한 페이지 또한 이전 페이지의 스크롤 위치를 유지하는 것이다. 불필요하게 스크롤바를 위로 올리는 것을 개선하기 위해서 페이지 최상단 이동 컴포넌트를 만들어준다.  1. 라우터 이동시 스크롤바를 최상단으로 보내줄 컴포넌트 생성import { useEffect } from "react";import { useLocation } from "react-router-dom";const RenderingScrollTopComponent = () => { const { pathname } = useLocation(); useEffect(()=>{ window.scrollTo..