개인 공부 7

인덱스(Index) 활용

인덱스(Index)는 데이터베이스에서 데이터를 빠르게 검색하고, 접근할 수 있도록 돕는 검색 구조!특정 데이터를 빠르게 찾을 수 있도록 돕는 데이터 구조로 데이터베이스에서 인덱스를 사용하면 검색 성능이 향상된다.데이터베이스에서 인덱스를 생성하면, 데이터를 순차적으로 스캔하지 않고 인덱스 테이블을 사용해 빠르게 원하는 데이터를 찾을 수 있다.구조키(Key) : 데이터를 식별하는 값.값(Value) : 키와 관련된 실제 데이터의 위치 정보종류B-Tree 인덱스(기본 인덱스)구조 : 균형 이진 트리구조를 기반으로 데이터를 정렬하여 저장한다.특징 : 범위 검색에 매우 효율적이고, 대부분 데이터베이스에서 기본 인덱스로 사용한다.           [EX- WHERE x BETWEEN : x - 1 AND : x ..

개인 공부 2025.03.24

데이터베이스??

데이터베이스 : 컴퓨터 또는 장치에 저장된 구조화된 데이터의 집합.(데이터베이스 관리 시스템 = Database Management System을 줄여 데이터 베이스라고도 한다.) DBMS컴퓨터에 저장된 서로 관계된 데이터의 집합데이터를 접근하는 프로그램의 집합DBMS는 특정 기업에 관한 정보를 포함한다DBMS는 사용이 편리하고 효율적인 환경을 제공한다.데이터베이스 시스템의 목적초기 데이터베이스 애플리케이션은 파일 시스템을 이용하여 생성.파일 시스템 사용의 문제점데이터 중복 및 불일치 : 여러 가지 파일 형식, 여러 개의 파일에 중복된 정보의 저장데이터 접근이 어려움 : 새로운 임무를 수행하기 위해 새로운 프로그램의 작성이 필요데이터의 고립성 : 여러 개의 파일과 형식.무결성 : 정확한 데이터가 유지되고..

개인 공부 2025.01.19

객체지향 프로그래밍 OOP

개인공부 : 객체지향! 객체지향(Object-Oriented Programming, OOP)은 소프트웨어 개발 방법 중 하나로, 객체를 프로그램 내에서 Object라는 단위로 모델링해 시스템을 설계하는 방식을 말하며, 이러한 객체지향은 복잡한 시스템을 쉽게 이해하고 유지보수할 수 있도록 도와주고, 여러 가지 객체지향 원칙을 기반으로 시스템을 구성합니다. 핵심 개념클래스(Class)클래스는 객체를 만들기 위한 틀. 객체가 가질 성(필드)과 행동(메서드)를 정의합니다.객체(Object)객체는 클래스로부터 생성된 실체. 클래스에서 정의한 속성값과 메서드를 가지고 있고, 실제로 동작하는 프로그램의 기본 단위입니다.상속(Inheritance)상속은 기존 클래스의 속성이나 행동을 재사용해 새로운 클래스를 만드는 기..

개인 공부 2025.01.15

JWT를 사용한 Spring Security 기반 인증 시스템 구현

Spring Security를 공부하면서 검색 할 때마다 JWT인증이라는 글도 관련해서 자주 보여서 이번 글에서는 JWT에대해서 공부를 해보려고 합니다..    =) JWT...?JWT(JSON Web Token)는 웹 애플리케이션에서 사용자 인증 및 권한 부여를 위한 토큰 기반 인증 시스템으로 서버에 세션 정보를 저장하지 않고, 클라이언트가 자체적으로 인증 정보를 저장해서 서버의 부하를 줄이고, 확장성을 높일 수 있는 장점이 있다.Stateless : 서버에서 상태를 유지할 필요가 없어 확장성이 높은 시스템 구현이 가능하다.자체 정보 저장 : JWT에 사용자 정보나 권한 정보를 포함시킬 수 있어서 추가적인 데이터베이스 조회가 필요없다.간편한 관리 : 토큰을 클라이언트에서 관리해 서버 측에서는 세션을 저..

개인 공부 2024.12.27

Spring Security를 활용한 사용자 권한 기반 접근 제어

저번 글의 Spring Security를 활용한 로그인 이후로 이번에는 관리자 페이지를 구현하면서 Role에 따라 접근 가능한 페이지/기능을 제어하는 방법을 공부하고 기록해 보려고 합니다.. 오류만 안난다면.... 금방 끝나겠지!? +++ 이전 게시글에서 수정 +++MemberController에서 "/main" 매핑을 삭제, MainController 생성package com.demo.controller;import org.springframework.security.core.Authentication;import org.springframework.security.core.context.SecurityContextHolder;import org.springframework.stereotype.Cont..

개인 공부 2024.12.24

Spring Security를 활용한 로그인!?!?

예전에 한 회사에서 면접을 볼 때 "Spring Security 사용해 본 적이 있나요?" 라고 했을 때 없다고 했었는데 개인 공부를 하면서 웹 개발 중 제일 처음 배웠던 로그인 기능을 Spring Security에 대해서 공부도 할 겸 활용해 보겠습니다..(그 때, 사용한 적 없다고 했지만 어떤 기능인지 알고 잘 대답했더라면 합격 했을 수도 있었을 것 같네....) Spring Security???Spring 기반 애플리케이션에서 인증(Authentication)과 권한 부여(Authorization)를 처리하는 강력한 보안 프레임워크.ㅇㅐ플리케이션을 외부 공격으로부터 보호하고, 사용자의 접근 권한을 제어하는데 필요한 다양한 기능을 제공합니다. Spring Security의 주요 기능인증(Authent..

개인 공부 2024.12.21

MVC 패턴이 뭔데...

SpringBoot를 통한 프로젝트를 하다보니 내가 제대로 이게 어떤 기능이고, 어떻게 사용하는지에 대한 설명을 제대로 하지 못하는 모습을 보고 혼자 공부도 하고, 면접 준비를 위한 글입니다요.... 초보 개발자로 살아남기가 많이 힘드네요 ㅠ_ㅠ MVC가 뭔데...  Model-View-Controller 랍니다!!! 이건 기본이겠죠..? 아무튼 이렇게 나눠서 구현하는 디자인 패턴이랍니다. application의 구성 요소를 분리하여 관리하기 쉽고, 코드의 유지보수성을 높이는데 도움을 준다는데.. 말이 너무 어렵네요. Model : 애플리케이션의 데이터와 비지니스 로직을 처리하며, DB(데이터베이스)와 상호작용을 하거나, 로직을 수행하는 역할.View : 사용자에게 데이터를 시각적으로 표현. Html, ..

개인 공부 2024.12.18