[LG CNS AM INSPIRE CAMP 1기] 세션 기반 인증 vs. 토큰 기반 인증
·
LG CNS AM CAMP 1기
🔑 시간을 사는 개발자가 되자💡 전통적인 인증 시스템 (세션 기반)📃 과거에는 세션 기반 인증을 주로 사용했습니다. 사용자가 로그인하면 서버에서 세션을 생성하고, 해당 세션의 ID(SID)를 쿠키에 저장해서 유지했습니다. 사용자가 다시 요청하면 서버는 쿠키에 담긴 SID를 확인해서 해당 세션 정보를 찾아 사용자를 인증했습니다⚠️이 전통적인 인증 시스템의 문제점은 아래와 같았습니다1️⃣ 세션 데이터가 서버에 저장됨 -> 확장성이 떨어짐(사용자가 많아질수록 서버의 부담이 증가)2️⃣ 서버가 여러 대일 경우, 모든 서버가 세션을 공유해야 해서 관리가 복잡해집니다⬆️ 사용자의 인증(ID/PW)이 완료되면 서버는 세션을 발급합니다. 이후 서버는 세션 값을 포함한 클라이언트의 상태를 세션 스토리지에 저장합니다..
[LG CNS AM INSPIRE CAMP 1기] JPA와 MyBatis 어떤 선택을 해야할까요?
·
LG CNS AM CAMP 1기
🔑상황에 따라 유연하게💡 MyBatis란?📃 MyBatis는 자바 오브젝트와 SQL 사이의 자동 매핑 기능을 지원하는 ORM(Object Relational Mapping) 프레임워크로, SQL을 보다 효율적으로 관리할 수 있도록 도와줍니다. (JPA와 비슷한 역할 수행)📃MyBatis는 반복적인 JDBC(Java Database Connectivity) 프로그래밍을 단순화하여, 불필요한 Boilerplate 코드를 제거합니다.(💡 Boilerplate 코드란? → 개발 과정에서 자주 작성해야 하지만, 핵심 로직과 직접적인 관련이 없는 코드) 또한, Java 코드에서 SQL 문을 분리하여 XML 파일로 관리하며, 이를 Java 메서드와 연결해주는 기능을 제공합니다💻Java 코드와 SQL 매핑⬆..
[LG CNS AM INSPRIRE CAMP 1기] Springboot 들어가기전 알아야할 핵심 개념 3가지 IoC, DI, AOP
·
LG CNS AM CAMP 1기
🔑kudos to do your job!💡 제어의 역전 (IoC, Inversion of Control)📃 제어의 역전(IoC)은 프로그램의 흐름 제어나 객체 생성을 개발자가 아닌 프레임워크가 담당하는 설계 패턴입니다. 개발자는 객체 생성과 관리에 집중하지 않아도 되고, 애플리케이션의 비즈니스 로직에만 신경 쓰면 됩니다.쉽게 말하면, "내가 객체를 만들고 관리하는 게 아니라, 프레임워크가 알아서 해주는 방식"입니다 그래서 Inversion은 "기존 전통적인 흐름과 반대로 작용한다"라고 할 수 있습니다 전통적인 방식: 개발자가 필요한 객체를 생성하고 관리.IoC 방식: 프레임워크(Spring 등)가 객체 생성과 관리를 담당. 💻CODE// 옛날 방식: 필요한 객체를 직접 생성MyService myS..
[LG CNS AM INSPIRE CAMP 1기] 어노테이션과 Maven 빌드 관리 도구 빠르게 이해하기
·
LG CNS AM CAMP 1기
🔑10분만.. 10분만.. 10분만 더 앉아있자💡 어노테이션이란?📃 Java 5 버전부터 추가된 기능으로, 소스코드에 추가적인 정보를 제공하는 메타데이터의 기능을 수행합니다. (메타데이터는 데이터의 데이터를 의미하죠!) 어노테이션은 클래스, 메소드, 변수, 인자 등에 추가할 수 있습니다. 그래서 어노테이션은 비즈니스 로직에 직접적으로 영향을 주진 않지만, 이러한 메타데이터 정보에 따라서 실행 흐름을 변경할 수 있습니다💻Annotation@Override @Deprecated @SuppressWarnings -> Built-in@Retention @Documented @Target @Inherited @Repeatable -> Meta⬆️ Built-in 어노테이션은 "자바 코드에 직접적으로 적용되..