LATEST · 01Computer Science
↗Step0 : DNS Resolution
`google.com` 은 어떻게 `142.251.118.102` 로 변경될까?
#Computer Science#Network#DNS
`google.com` 은 어떻게 `142.251.118.102` 로 변경될까?
HTTP 요청 하나가 클라이언트부터 서버까지 도달하는 과정과 도착해서 처리 후 응답이 돌아오기까지 과정을 정리해보았습니다.
나쁜 예시. 각 생성자가 필드를 직접 초기화.
Spring Modulith Docs - Integration Testing Application Modules
Spring Modulith Docs - Working with Passage of Time Events
Spring Modulith Docs - Producing Documentation for Application Modules
Spring Modulith Docs - Production-ready Features
애플리케이션 모듈의 구성요소는 다음과 같아요.
애플리케이션의 메인 패키지는 메인 애플리케이션 클래스가 위치한 패키지에요.
애플리케이션 모듈 패키지가 하위 패키지들을 포함하고 있다면, 이를 Advanced Application Modules라고 해요.
Spring Modulith 1.3 부터는 애플리케이션 모듈 내부에 또 다른 모듈을 넣을 수 있는 중첩 모듈(Nested Modules) 기능을 지원해요.
Spring Modulith의 모듈들은 기본적으로 닫힌(Closed) 상태에요. 즉, 우리가 노출하기로 결정한 API 패키지만 외부 모듈에 제공하고 나머지는 감추게 되죠.
기본적으로 Spring Modulith의 모듈들은 다른 모든 모듈이 노출한 제공 인터페이스(API)를 자유롭게 참조할 수 있어요.
기본적으로 Spring Modulith에서는 애플리케이션 모듈의 베이스 패키지(예: example.order)만 외부 모듈에 노출되는 Provided Interface 역할을 해요.
Spring Modulith는 2. 애플리케이션 모듈의 구성 의 하위 페이지에서 본 것처럼 메인 애플리케이션 클래스가 위치한 베이스 패키지를 기준으로 하위 패키지들을 모듈로 자동 감지해요.
1. 애플리케이션 모듈이란에서 이야기한 것처럼, ApplicationModules의 verify() 메서드를 이용해 애플리케이션 모듈 구조의 제약 조건을 검증할 수 있어요.
Spring Modulith Docs - Working with Application Events
스프링 Docs - Standard and Custom Events
스프링 Docs - Application Events (TestContext)
스프링 Docs - Publishing Events from Aggregate Roots
스프링 Docs - Annotation-based Event Listeners
Spring ApplicationContext의 이벤트 발행/구독부터 Spring Data의 도메인 이벤트, 테스트에서의 이벤트 검증까지 정리한 노트 묶음이에요.
스프링 Docs - Transaction-bound Events
2-1. Simple Application Modules
스프링 Docs - EntityGraph
참고 : @JdbcTest Spring Docs
스프링 Docs - Modifying
스프링 Docs - ReflectionTestUtils
테스트할 특정 컨트롤러를 지정합니다.
@EnableConfigurationProperties는 @ConfigurationProperties가 붙은 클래스를 스프링 빈으로 등록하고 활성화할 때 사용하는 애노테이션이에요.
@EnableMethodSecurity는 스프링 시큐리티에서 메서드 단위의 인가(Authorization) 기능을 활성화할 때 사용하는 애노테이션이에요. 기존의 @EnableGlobalMethodSecurity를 대체하며, 더 유연한 보안 설정을 지원해요.
@EnableMethodSecurity : 메서드 단위 인가 설정
MDC 에서 만든 로그 시스템에서는 다음과 같은 문제가 존재한다.
비즈니스 로직을 오염시키지 않으면서 요청 단위 추적 ID를 로그에 새기는 방법 — 파라미터 전달의 고통에서 출발해 ThreadLocal/MDC, TaskDecorator를 거쳐 중앙 집중형 관측까지의 진화 과정.
Logging, 좋은 로깅이란 무엇인가에서 만든 기능들을 직접 구현하는 대신, 검증된 라이브러리를 사용하자.
다음 글 : Slf4J + Logback
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/annotation/Autowired.html
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
코틀린과 자바를 함께 사용할 때(Spring 환경 등) 필수적인 애노테이션들입니다.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
Java 와의 가장 큰 차이점 : checked exception 이 존재하지 않음.
주 생성자는 코드를 가질 수 없으므로, 인스턴스 생성 시점에 실행될 로직은 init 블록에 작성
자바에서 Entry 객체를 일일이 다루던 복잡성 -> 구조 분해 할당으로 해결
Not Null Assertion 대신 라이브러리 함수를 사용하면 더욱 안전하게 null 처리 가능.
클래스 내부에서 해당 클래스와 연결된 정적(static) 멤버를 정의할 때 사용
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
MYSQL 서버 는 스레드 기반으로 작동.(not Process)
MySQL과 PostgreSQL은 모두 유명한 오픈소스 데이터베이스입니다.
라티, DB 공부의 꽃이자 면접 단골 질문인 트랜잭션 격리 수준(Isolation Level)이군요. 인프라 삽질하느라 고생했는데, 이런 이론을 잘 다져두면 나중에 데이터가 꼬이는 대참사를 막을 수 있습니다.
만약 프로세스가 1GB의 메모리를 사용하고 있다면?
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
도서 [Real MySQL 8.0] 을 읽으면서 공부한 내용입니다.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
1. MySQL 엔진 -> SQL 분석 및 최적화 등.
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
This page contains a conceptual overview of how concurrent programming works in Dart. It explains the event-loop, async language features, and isolates from a high-level.
https://dart.dev/language/concurrency
https://www.baeldung.com/cs/async-vs-multi-threading
개발과 컴퓨터 과학의 개념을 정리한 학습 기록입니다.
1. 네트워크를 통해 두 개 파일 fetch 후 결합하는 프로그램
Gabage Colletor : JVM 환경에서 사용하지 않는 객체에 대한 메모리 할당을 해제하는 청소부.
이렇게 순서를 정의했었다. 그리고 해당 문서의 전반적인 내용을 살펴보면, 다음과 같은 주장임을 알 수 있다.
우리가 사용하는 컴퓨터의 자원은 유한합니다.
다음 글 : 2. Object Registration - Deeping
getIt 은 다양한 방법으로 동일한 타입의 다른 인스턴스를 등록하는 것을 지원함.
이전 글 : 2. Object Registration - Deeping
이전 글 : 3. Scopes - 기초
이전 글 : 4. Scopes - 심화
2. GetIt Conatiner 에 저장
개발과 CS 개념을 더 잘 이해하기 위한 화면의 색, 글, 코드, 도식과 움직임을 소개합니다.
일치하는 글이 없습니다. 다른 제목이나 태그로 찾아보세요.