전체 글 210

[F-Lab 모각코 페이백 29일차] ORM (Object-Relational Mapping)

학습목표 ORM TIL ORM Q. ORM에 대해 알려줘 A. ORM은 Object-Relational Mapping의 약자로, 객체지향 프로그래밍 언어를 사용하여 호환되지 않는 유형 시스템 간에 데이터를 변환하는 프로그래밍 기법입니다. 일반적으로 이는 관계형 데이터베이스와 객체 지향 프로그램 사이의 데이터 변환을 의미합니다. ORM의 주요 장점 중 하나는 개발자가 SQL을 직접 작성하는 대신 더 고차원의 객체 중심 코드로 데이터베이스 작업을 수행할 수 있다는 것입니다. 이렇게 함으로써, 데이터베이스 설계와 비즈니스 로직 간의 간극을 줄이고 코드의 가독성과 유지보수성을 향상시킬 수 있습니다. 예를 들어, Python의 SQLAlchemy나 Django ORM, Java의 Hibernate, Node.js..

[F-Lab 모각코 페이백 28일차] 팀코칭 질문 정리 (인터뷰 준비, 개념 학습)

학습목표 팀코칭 질문 답변 TIL 개념 학습 (복습) 인터뷰 정리 WEB이란 무엇일까요? 웹(Web)은 인터넷에 연결된 컴퓨터들 사이에서 정보를 공유하고 접근할 수 있게 만든 시스템을 말합니다. 웹은 일반적으로 월드 와이드 웹(World Wide Web, WWW)이라고도 부르며, 이는 HTTP라는 프로토콜을 통해 문서, 이미지, 비디오, 음악 등 다양한 형태의 정보를 전송하고 공유할 수 있게 해줍니다. 웹은 브라우저를 통해 화면으로 볼 수 있습니다. JDBC는 무엇이고, 장점은 무엇인가요? 자바에서 지원하는 여러 DB와 호환대응하기 위해 만들어진 인터페이스입니다. JDBC를 이용해 다양한 DB와 연결 후 사용 할 수 있습니다. 스프링 프레임워크와 스프링 부트에 대해 말씀해 주세요 스프링 프레임워크는 Io..

카테고리 없음 2023.06.16

[F-Lab 모각코 페이백 27일차] 스프링 시큐리티 (Spring Security)

학습목표 스프링 시큐리티 TIL 스프링 시큐리티 Spring Security와 동작 원리 Spring Security는 Java 기반의 애플리케이션에 대한 포괄적인 보안 서비스를 제공하는 프레임워크입니다. 웹 및 메소드 기반 보안, CSRF(크로스 사이트 요청 위조) 방지, 세션 관리, 사용자 등록, 인증 및 권한 부여 등 다양한 보안 관련 기능을 제공합니다. Spring Security의 주요 동작 원리는 다음과 같습니다: Filter-based Approach: Spring Security는 일련의 Servlet Filters를 사용하여 보안을 구현합니다. 이 필터 체인은 보통 DelegatingFilterProxy를 통해 시작됩니다. 각 필터는 특정한 보안 관련 작업을 처리하며, 체인은 주로 먼저 ..

[F-Lab 모각코 페이백 26일차] 스프링 트랜잭션 (Spring Transaction) -2

학습 목표 스프링 트랜잭션 (Spring Transaction) TIL 스프링 트랜잭션 (Spring Transaction) 스프링 트랜잭션 (Spring Transaction) Spring Framework는 데이터베이스 트랜잭션 관리를 위한 독특한 방식을 제공합니다. Spring에서의 트랜잭션 관리는 크게 두 가지 방법으로 나뉘어집니다: 선언적 트랜잭션 관리(Declarative Transaction Management)과 프로그래밍적 트랜잭션 관리(Programmatic Transaction Management). 1. 선언적 트랜잭션 관리: 이 방식은 비즈니스 로직 코드와 별개로 트랜잭션 관리를 수행합니다. 주로 어노테이션(`@Transactional`)을 사용하거나 XML 구성을 통해 트랜잭션의..

[F-Lab 모각코 페이백 25일차] ORM, Spring MVC (작동과정과 컴포넌트)

학습 목표 ORM Spring MVC TIL ORM Spring MVC ORM ORM은 Object-Relational Mapping의 약자로, 객체지향 프로그래밍 언어를 사용하여 호환되지 않는 유형 시스템 간에 데이터를 변환하는 프로그래밍 기법입니다. 일반적으로 이는 관계형 데이터베이스와 객체 지향 프로그램 사이의 데이터 변환을 의미합니다. ORM의 주요 장점 중 하나는 개발자가 SQL을 직접 작성하는 대신 더 고차원의 객체 중심 코드로 데이터베이스 작업을 수행할 수 있다는 것입니다. 이렇게 함으로써, 데이터베이스 설계와 비즈니스 로직 간의 간극을 줄이고 코드의 가독성과 유지보수성을 향상시킬 수 있습니다. 예를 들어, Python의 SQLAlchemy나 Django ORM, Java의 Hibernate..

[F-Lab 모각코 페이백 24일차] 팀코칭 질문 정리 (인터뷰 준비, 개념 학습) 쿠키, 세션, JDBC, 트랜잭션

학습 목표 팀코칭 질문 답변 TIL 쿠키와 세션 JDBC 트랜잭션 쿠키와 세션 쿠키와 세션은 웹에서 클라이언트의 상태 정보를 서버 측에서 관리하는 데 사용되는 기술입니다. 1. 쿠키(Cookie) 쿠키는 클라이언트에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 이름, 값, 만료 날짜(쿠키 저장 기간), 경로 정보가 포함됩니다. 클라이언트의 웹 브라우저가 웹 서버에 요청을 보낼 때마다 쿠키의 값을 함께 전송합니다. 쿠키는 주로 사용자가 사이트를 방문했을 때 사용자의 선호 설정 등을 기억하는 데 사용됩니다. 2. 세션(Session) 세션은 서버에서 관리하는 클라이언트의 정보입니다. 클라이언트가 웹 서버에 접속해 웹 브라우저를 통해 특정 웹 사이트를 사용하면 해당 서버에서는 클라이언트에게 유일한 세..

[F-Lab 모각코 페이백 23일차] 팀코칭 질문 정리(인터뷰 준비, 개념 학습)

학습목표 팀코칭 질문 답변 TIL 개념 학습 시스템 캐시 (L1, L2, L3) 데몬 스레드와 유저 스레드 차이 Serializable 인터페이스 UDP 와 TCP의 차이 NI/O Try with resource 시스템 캐시에 대하여 설명해주세요. (L1, L2, L3) 캐시(cache)는 CPU와 주기억장치 사이에서 빠르게 데이터를 저장하고 가져오기 위한 중간 저장소입니다. CPU가 필요한 데이터를 찾을 때, 캐시에 먼저 접근하게 되는데, 이는 캐시가 주기억장치에 비해 훨씬 빠르게 접근할 수 있기 때문입니다. 필요한 데이터가 캐시에 있을 경우 (이를 캐시 히트라고 합니다), CPU는 매우 빠르게 해당 데이터를 가져올 수 있습니다. 그러나 필요한 데이터가 캐시에 없을 경우 (이를 캐시 미스라고 합니다),..

[F-Lab 모각코 페이백 22일차] 스프링 트랜잭션 (Spring Transaction)

학습 목표 스프링 트랜잭션 (Spring Transaction) TIL 스프링 트랜잭션 스프링 트랜잭션 (Spring Transaction) Spring Framework에서 제공하는 Transaction 관리는 웹 애플리케이션에서 데이터 일관성을 보장하는 매우 중요한 부분입니다. Spring Transaction은 두 가지 방식으로 처리할 수 있습니다. 1. 선언적 트랜잭션(Declarative Transaction): 이 방식은 XML 설정이나 어노테이션(@Transactional)을 통해 트랜잭션을 관리합니다. 이는 코드와 설정을 분리하므로 코드의 가독성을 높이고 유지 보수를 용이하게 합니다. `@Transactional` 어노테이션을 메소드나 클래스에 추가하여 해당 메소드나 클래스에 포함된 작업이..

[F-Lab 모각코 페이백 21일차] 어댑터 패턴, SOLID 원칙, 스프링 프레임워크, 스프링 부트

학습 목표 어댑터 패턴 SOLID 원칙 스프링 프레임워크 & 스프링 부트 TIL 어댑터 패턴 SOLID 원칙 단일 책임 원칙 개방 폐쇄 원칙 리스코프 치환 원칙 인터페이스 분리 원칙 의존 역전 원칙 스프링 프레임워크 스프링 부트 어댑터 패턴 어댑터 패턴(Adapter Pattern)은 클래스의 인터페이스를 클라이언트가 기대하는 다른 인터페이스로 변환하는 디자인 패턴입니다. 어댑터는 호환되지 않는 인터페이스 문제를 해결하여 서로 다른 클래스들이 함께 작동하도록 만들 수 있습니다. 어댑터 패턴에는 두 가지 유형이 있습니다: 클래스 어댑터와 객체 어댑터. 1. 클래스 어댑터: 이 패턴은 상속을 사용하여 두 인터페이스를 연결합니다. 타겟 인터페이스와 어댑터 클래스가 하나로 결합되고, 어댑터는 상속을 통해 아답티..

[F-Lab 모각코 페이백 20일차] 싱글톤 패턴, 팩토리 패턴

학습 목표 디자인 패턴 싱글톤 팩토리 TIL 싱글톤 Lazy Initialization(지연 초기화) Bill Pugh Singleton (Initialization on Demand Holder idiom) (Holder)(내부 클래스) 팩토리 단순 팩토리 패턴 팩토리 메서드 패턴 추상 팩토리 패턴 싱글톤 싱글톤 디자인 패턴은 특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고도 클래스의 인스턴스를 전역적으로 접근 가능하게 만들기 때문에 유용합니다. 이 패턴은 특히 자원이 제한적인 상황에서 유용하며, 여러 곳에서 동일한 객체에 접근해야 할 때도 사용됩니다. 예를 들어, 로그 파일 작성기, 데이터베이스 연결, 파일 시스템 등의 작업에서 싱글톤 패턴을 사용..