OOP의 기본 개념 정리(Object-Oriented Programming) 주요 개념 :• 객체(Object):데이터와 이를 조작하는 메서드의 집합.• 클래스(Class):객체를 생성하기 위한 설계도.• 캡슐화(Encapsulation):데이터를 숨기고 공개된 메서드로만 접근하도록 제한.• 상속(Inheritance):기존 클래스의 특성과 동작을 재사용.• 다형성(Polymorphism):동일한 인터페이스로 다양한 동작을 수행.• 추상화(Abstraction):불필요한 세부 사항을 숨기고 중요한 것만 드러냄. 학습 방법:• ‘자바의 정석’ 책에서 관련 챕터를 다시 읽고, 직접 코드 예제를 작성.• 각 개념을 설명하는 5줄 이하의 코드를 스스로 작성하며 이해 확인. SOLID 원칙OOP의 설계 원칙을 체..
클러스터링이란 똑같은 구성의 여러대의 서버를 병렬로 연결한 상태를 말합니다. 쉽게 말하자면 여러대의 서버 컴퓨터를 마치 하나의 가상 컴퓨터 처럼 업무를 수행하도록 하는 것을 의미합니다.클러스터링된 서버들중에서 특정 한대의 서버에서 장비적인 문제나 어플리케이션에 문제가 발생하더라도 로드발란서(Load Balancer)에서 그 서버의 분배를 제거함으로 전체적인 서비스에는 영향을 주지 않고 제어할 수 있으며, 정상적인 서비스가 지속적으로 이루어지게 합니다.세션 클러스터링(Session Clustering)은 WAS(Web Application Server)가 2대 이상 연결되어 있을 경우 연결된 모든 서버의 세션을 동일한 세션으로 관리할 수 있도록 해주는 것을 의미합니다.예를 들면 L4 스위치를 통해 2대 이..
컨테이너는 애플리케이션의 인프라 종속성을 배제해 개발환경과 운영환경의 간극을 줄이는 기술이다. 컨테이너라는 그릇에 애플리케이션 개발 당시 사용했던 운영체제(OS)부터 웹 애플리케이션 서버(WAS, Web Application Server)와 같은 모든 요소를 ‘라이브러리(Lib)’, ‘바이너리(Bin)’ 파일로 이미지화해 담는 기술이다.예를 들어 애플리케이션이 우분투 OS 환경에서 개발됐고, 고객사가 윈도우 OS에서 애플리케이션을 운영한다면, 우분투 OS 환경에서 보여줬던 애플리케이션의 기능과 성능이 고객사가 운영하는 윈도우 OS에서 구동될 경우 성능에 문제가 나타날 수 있다. 이러한 문제를 애플리케이션의 인프라 종속을 배제하고 배포를 빠르게 만들어주는 컨테이너가 해결할 수 있다는 것이다.그러나 운영해야..