MSA

MSA란 Micro Service Architecture의 약자로, 기존 Monolithic Architecture와 상반된 개념이다. MSA를 알아보기에 앞서 Monolithic Architecture를 알아보자.하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍

2022년 6월 15일
·
0개의 댓글
·

토비의 스프링 Vol2 1.5 스프링 3.1의 IoC 컨테이너와 DI

스프링 3.1에 새로 도입된 IoC/DI 기술은 다음 두 가지이다.강화된 자바 코드 빈 설정런타임 환경 추상화스프링 3.1의 가장 큰 특징은 자바 코드를 이용한 설정 메타정보 작성이 쉽다는 점이다. 따라서 XML을 최소화하여 개발이 가능하다.빈이란 IoC/DI 컨테이너

2022년 6월 7일
·
0개의 댓글
·

토비의 스프링 Vol2 1.4 기타 빈 설정 메타정보

1.4 기타 빈 설정 메타정보 1.4.1 빈 이름 지금까지 빈 아이디와 빈 이름을 통해 특정 빈을 구분하여 사용하였고 이는 빈 식별자(identifer) 라고 한다. XML의 경우 태그의 id와 name 두 가지 attribute를 이용해 식별자를 정의한다. id

2022년 6월 6일
·
0개의 댓글
·

토비의 스프링 Vol2 1.3 프로토타입과 스코프

1.3 프로토타입과 스코프 애플리케이션 컨텍스트마다 빈의 오브젝트는 한 개만 만들어진다. 사용자의 요청 마다 매번 애플리케이션의 로직을 담당하는 오브젝트를 생성하는 것은 낭비이다. 하지만 때로는 빈 오브젝트를 싱글톤이 아닌 다른 스코프로 관리해야 하는 경우가 있다. 싱

2022년 6월 6일
·
0개의 댓글
·

프로세스

프로세스(Process) 프로세스란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 컴퓨터 프로그램은 컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 집합이다. 프로그램은 하드 디스크 등에 저장되어 있는 실행 코드를 뜻한다. 즉 하드 디스

2022년 5월 25일
·
0개의 댓글
·

포워드 프록시와 리버스 프록시

프록시 서버 프록시 서버란 클라이언트와 서버 중간에 위치하여 대리로 통신을 중계해주는 서버이다. 클라이언트는 프록시 서버를 통해서 다른 네트워크나 서버에 간접적으로 접속할 수 있다. 프록시 서버를 사용했을 때 다음과 같은 장점이 있다. 포워드 프록시(Foward P

2022년 5월 18일
·
0개의 댓글
·
post-thumbnail

네트워크 클래스와 CIDR

IPv4 IPv4는 우리가 흔히 아는 IP 주소의 형이다. 61.211.123.22 형태로 표현한다. 8비트로 구성된 4개의 블럭으로 구성되어 32비트로 주소를 표현하는 체계이다. IPv4로는 총 $$2^{32}=4,294,967,296$$개의 주소를 나타낼 수 있다.

2022년 5월 11일
·
0개의 댓글
·
post-thumbnail

HTTPS와 SSL

HTTP HTTP(HyperText Transfer Protocol)로 주로 HTML과 같은 하이퍼텍스트를 교환하기 위해 사용되는 프로토콜이다. HTTP 프로토콜을 통해 클라이언트와 서버가 통신하는 예시로 웹 브라우저(클라이언트)가 서버에게 요청을 보내면, 서버는 이

2022년 5월 7일
·
0개의 댓글
·

7장 스프링 핵심 기술의 응용

7.1 SQL과 DAO의 분리 UserDao는 충분히 개선되었지만 SQL을 분리하지 않았다는 문제가 있다. SQL을 변경하는 작업은 빈번히 일어나고 실수가 자주 일어날 수 있는 작업이기 때문에 SQL을 분리하여 다른 파일에 두어 관리하면 좋을 것이다. XML 설정을 이

2022년 4월 9일
·
0개의 댓글
·

6장 AOP(2)

타깃 오브젝트로의 위임 코드와 부가기능을 제공하기 위한 코드가 프록시가 구현해야 하는 모든 인터페이스 메소드마다 반복적으로 필요했다. 이 문제를 해결하기 위해 다이내믹 프록시를 사용하였다. 타깃의로의 위임과 부가기능 적용 여부 판단은 다이내믹 프록시가 담당하고, DI를

2022년 3월 28일
·
0개의 댓글
·

6장 AOP

6.1 트랜잭션 코드의 분리 메소드 분리 UserService 클래스 내부에는 비즈니스 로직 뿐만 아니라 트랜잭션 경계 설정 코드가 포함되어 있다. 목적이 다른 두 기능이 한 클래스에 공존하지 않도록 두 기능을 독립시킨다. 비즈니스 로직과 관련된 부분을 upgradeL

2022년 3월 28일
·
0개의 댓글
·

쿠버네티스 네임스페이스

네임스페이스 쿠버네티스에서, 네임스페이스 는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 리소스의 이름은 네임스페이스 내에서 유일해야 하며, 네임스페이스 간에서 유일할 필요는 없다. 네임스페이스 기반 스코핑은 네임스페이스 기반 오브젝트 (예: 디플로이

2022년 3월 23일
·
0개의 댓글
·

쿠버네티스 설치하기

쿠버네티스 공식 문서를 참고하여 쿠버네티스를 설치했다.나는 brew를 통해 설치하는 방법을 선택하였다.https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/공식문설르 따라서 설치하던 중 문제점이 발생하였다

2022년 3월 22일
·
0개의 댓글
·

5장 서비스 추상화

5.1 사용자 레벨 관리 기능 추가 기존 UserDao는 CRUD 기능만을 포함하였다. 이 UserDao에 간단한 비즈니스 로직을 추가한다. BASIC, SILVER, GOLD 세 가지의 사용자 레벨이 존재하고, 활동에 따라 사용자 레벨이 변경된다. 필드 추가 사용자

2022년 3월 14일
·
0개의 댓글
·

1장 새로운 인프라 환경이 온다

1.1 컨테이너 인프라 환경이란 모놀리식 아키텍처 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합돼 있는 구조 1.2 컨테이너 인프라 환경을 지원하는 도구 도커 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는

2022년 3월 10일
·
0개의 댓글
·

4장 예외

사라진 SQL Exception 초난감 예외처리 모든 예외는 적절하게 복구되거나 작업을 중단시켜 개발자에게 통보되어야한다. 예외처리 코드에서 아무것도 안하고 넘어가거나 로그를 출력하는 방식은 예외상황이 개발자에게 알려지지 않을 가능성이 높다. 예외를 잡아서 조치를 취할

2022년 3월 7일
·
0개의 댓글
·

3장 템플릿(1)

3.1 다시 보는 초난감 DAO 예외 처리 try/catch/finally try: 예외가 발생할 수 있는 코드 catch: 예외가 발생했을 때 부가적인 작업을 하기 위한 코드 finally: 예외 발생과는 별개로 반드시 실행되는 코드 3.2 변하는 것과 변하지 않는

2022년 2월 27일
·
0개의 댓글
·

1장 오브젝트와 의존관계(2)

1.6 싱글톤 레지스트리와 오브젝트 스코프 오브젝트의 동일성과 동등성 동일성 두 개의 오브젝트가 완전히 같은 오브젝트라는 것을 의미한다. 두 개의 오브젝트가 동일하다면 사실은 하나의 오브젝트만이 존재하는 것으로 두 개의 오브젝트 레퍼런스가 존재하는 것이다. 연산자를

2022년 2월 25일
·
0개의 댓글
·

1장 오브젝트와 의존관계(1)

DB를 사용해 데이터를 조회하거나 조작하는 기능을 전하도록 만든 오브젝트이다.다음 두 가지 관례를 따라 만들어진 오브젝트를 가리킨다디폴트 생성자프로퍼티sql 구문을 실행하는 객체statement를 상속받는 인터페이스로 SQL구문을 실행시키는 기능을 갖는 객체statem

2022년 2월 10일
·
0개의 댓글
·