분류 전체보기 88

[Net] Token & JWT

Token📌 Web Application이나 API에서 인증(Authentication)과 인가(Authorization) 과정에서 사용되며 사용자 또는 시스템의 신원과 권한을 증명하고 요청의 유효성을 검증하는 데 사용되는 디지털 문자열이다. 인증(Authentication), 권한 부여(Authorization), 또는 데이터 교환을 위해 클라이언트와 서버 간에 사용되는 작고 안전한 데이터 객체입니다. 로그인 인증이나 사용자 권한 관리를 할 때 토큰을 발급하고, 이를 통해 사용자를 식별하거나 인증 상태를 유지할 수 있습니다.토큰은 전체 데이터를 포함하지 않는다. 박스가 아니라 키라고 생각해야한다. 말 그대로 다른 클라에 요청할 시 사용가능한 인물인지에 대한 정보만 포함된다. 패킷이 아니다.Token..

[Net] Cookie

Cookie📌 사용자의 웹 브라우저에 저장되는 정보로 사용자의 상태 혹은 세션을 유지하거나 사용자 경험을 개선하기 위해 사용된다. 사용자 정보나 세션 데이터를 클라이언트(브라우저)에 저장하는 기술Cookie는 주로 사용자 세션 관리(로그인, 장바구니, 접속시간)나 광고 트래킹(사용자 행동) 등의 목적으로 사용된다.HTTP는 Stateless, Connectionless 특성을 가지고 있다.Client가 재요청시 Server는 이전 요청에 대한 정보를 기억하지 못한다.로그인과 같이 상태를 유지해야 하는 경우가 발생한다.Request에 사용자 정보를 포함하면 해결이 된다.로그인 후에는 사용자 정보와 관련된 값이 저장되어 있어야한다.브라우저를 완전히 종료한 뒤 다시 열어도 사용자 정보가 유지되어야 한다.서버..

스프링 NEWSFEED 협업 프로젝트

GitHub - sparta-sixsense/newsfeedContribute to sparta-sixsense/newsfeed development by creating an account on GitHub.github.com    KEEP📌 현재 만족하고 계속 이어가고 싶은 = 유지할 부분나를 위한 커밋이 아니라 팀원을 위한 커밋을 하기 위해 메시지 내용을 어떻게 쓸 지 고민해프로젝트를 진행하면서 활용하면 좋을 것 같은 다양한 로직과 기술을 사용하고 공유함 (코드 컨벤션, 소스패키지 구조 시각화 등)정규표현식과 regxp 를 사용해 입력패턴을 적용해 봄팀의 분위기를 긍정적으로 이끌어가기 위해 노력함 깃 컨벤션을 미리 정해놓은 부분이 좋았음코드의 안정성을 위해 공통 기능을 우선적으로 준비하고 프로젝트..

Project/Spring 2024.12.27

[Spring] Validation

Validation📌 특정 데이터(주로 클라이언트의 요청 데이터)의 값이 유효한지 확인하는 단계를 의미한다. Controller의 주요한 역할 중 하나는 Validation 이다. HTTP 요청이 정상인지 검증한다.   Validation을 사용하는 이유 주문서 작성 페이지에서 잘못된 입력값으로 인해 서버에 오류가 발생한다면?ex) 휴대폰 번호에 숫자가 아닌 문자가 들어간 경우서버의 문제로 인해 작성 페이지에서 Error 페이지로 이동된다면?Error 페이지로 이동되어 작성중인 폼이 모두 리셋되어 다시 작성해야 한다면?이러한 서비스의 유저는 굉장한 불편함을 겪게된다. Validation의 역할검증을 통해 적절한 메세지를 유저에게 보여주어야 한다.검증 오류로 인해 정상적인 동작을 하지 못하는 경우는 없어..

카테고리 없음 2024.12.27

[Spring] 의존관계 주입

의존관계 주입📌 객체 간의 의존성을 스프링 컨테이너가 자동으로 관리하고 주입해주는 설계 패턴입니다. 객체가 다른 객체를 필요로 할 때, 직접 생성하지 않고 외부에서 주입받아 사용하도록 설계하는 방식입니다. @Autowired 는 의존성을 자동으로 주입할 때 사용하는 Annotation 이다.기본적으로 주입할 대상이 없으면 오류가 발생한다.(required = true) 의존관계 주입의 기본 개념의존성(Dependency):A 객체가 B 객체를 사용해야 한다면, A는 B에 의존하고 있다고 말합니다.이때 B 객체를 A 내부에서 직접 생성하지 않고, 외부에서 주입받는 것을 의존관계 주입이라고 합니다.스프링 DI:스프링 컨테이너가 객체(빈)를 생성하고 관리하면서 필요한 의존성을 자동으로 주입합니다.개발자는 직..

[Spring] Bean 등록

@ComponentScan📌 Spring이 특정 패키지 내에서 @Component, @Service, @Repository, @Controller 같은 Annotation이 붙은 클래스를 자동으로 검색하고, 이를 Bean으로 등록하는 기능이다. 개발자가 Bean을 직접 등록하지 않고도 Spring이 자동으로 관리할 객체들을 찾는다.   ComponentScan의 역할 Chef가 요리할 재료를 자동으로 식료품 저장고에서 찾아오는 과정, Chef는 스스로 필요한 재료를 찾아 요리에 사용한다.요리사(개발자)가 직접 재료(Bean)를 찾아서 가져올 필요가 없다.  @ComponentScan 특정 패키지 내에 @Component Annotation이 붙은 클래스를 자동으로 찾아서 Spring Bean으로 등록한..

[Spring] Spring의 핵심 개념

Spring Container📌 Spring으로 구성된 애플리케이션에서 객체(Bean)를 생성, 관리, 소멸하는 역할을 담당한다. 애플리케이션 시작 시, 설정 파일이나 Annotation을 읽어 Bean을 생성하고 주입하는 모든 과정을 컨트롤한다. 심지어는 의존성마저 주입한다.총괄주방장 = shef 라고 보면 편하다.Spring Container를 사용하면 인터페이스에만 의존하는 설계가 가능해진다.OCP, DIP 준수  Spring Container의 종류 BeanFactorySpring Container의 최상위 인터페이스Spring Bean을 관리하고 조회한다.ApplicationContextBeanFactory의 확장된 형태(implements) -> 진화된 버전Application 개발에 필요한..

[ORM] JDBC

JDBC📌 Java 언어를 사용하여 DB와 상호 작용하기 위한 자바 표준 인터페이스로 데이터베이스 관리 시스템(DBMS)과 통신하여 데이터를 삽입(C), 검색(R) , 수정(U) 및 삭제(D)할 수 있게 해준다.  JDBC의 주요 특징표준 API대부분의 RDBMS (관계형 데이터베이스 관리 시스템)에 대한 드라이버가 제공되어 여러 종류의 DB 대해 일관된 방식으로 상호 작용할 수 있다.ex) Database 종류가 바뀌어도 쿼리문이 실행된다. MySQL → ORACLE데이터베이스 연결SQL 쿼리 실행Prepared Statement결과 집합 처리(Result Set)데이터베이스로부터 반환된 결과 집합을 처리할 수 있다.ex) 데이터를 조회하고 결과를 Java 객체로 매핑할 수 있다.트랜잭션 관리JDBC..

[DB] DBMS (Database Management System)

DBMS(Database Management System)📌 데이터베이스를 생성, 관리, 유지보수, 운영하기 위한 소프트웨어입니다. 사용자는 DBMS를 통해 데이터를 효율적으로 저장, 검색, 수정, 삭제하며, 데이터의 일관성과 무결성을 유지할 수 있습니다.데이터베이스 구조를 정의할 수 있는 기능을 제공한다. DBMS의 역할데이터 관리데이터를 물리적으로 저장하고, 관리하는 역할을 수행한다.데이터를 저장하기 위한 최적화된 구조와 파일 시스템을 관리합니다.사용자가 데이터를 다룰 수 있도록 쿼리 언어(SQL)을 제공한다.데이터 보안사용자 권한 관리, 암호화, 감사 로그 등을 통해 데이터를 보호한다.트랜잭션 관리DBMS는 여러 사용자가 동시에 데이터에 접근할 때, 데이터의 일관성을 유지하기 위한 트랜잭션 관리 ..

카테고리 없음 2024.12.22

[DB] DB (Database)

Database📌 데이터를 체계적으로 저장하고 관리하기 위한 시스템으로, 데이터를 저장, 검색, 수정, 삭제할 수 있는 기능을 제공하며, 애플리케이션과 사용자 간의 효율적인 데이터 관리를 가능하게 합니다.  데이터베이스의 특징조직적 데이터 저장:데이터를 테이블, 행, 열 등 구조화된 형태로 저장.데이터 무결성:데이터의 정확성과 일관성을 유지.동시성:여러 사용자가 데이터를 동시에 사용할 수 있도록 지원.보안성:인증 및 권한 부여를 통해 데이터 접근을 제어.백업 및 복구:데이터 손실 방지를 위해 백업 및 복구 기능 제공. 데이터베이스의 주요 개념a. 스키마 (Schema)데이터베이스의 구조를 정의한 설계도.테이블, 뷰, 인덱스, 트리거 등을 포함.b. 트랜잭션 (Transaction)데이터베이스의 논리적 ..

DB/DBMS 2024.12.21