개요 데브코스에서 Random Bit Flip 액션 일지인 동행 스크럼 활동을 하다가 창현님의 소개로 코다님의 영상을 보게 되어 정리하게 되었습니다. 😊 Process 란? 위 이미지처럼 프로그램(Ex : 코드가 구현된 파일)이 프로세스(Ex : 실행이 되어 무언가가 된 것)가 되면서 총 2가지 일이 발생합니다. 먼저 프로세스가 필요로 하는 재료들이 메모리에 올라가야 합니다. 즉, 메모리 영역을 확보하게 됩니다. 😎 그리고 해당 프로세스의 정보를 담고 있는 PCB(Process Control Block)이 생성과 동시에 함께 만들어 집니다. PCB는 다음과 같은 정보들을 담습니다~ 근데 프로세스 모든 영역이 독립적인 것 같은데, 다른 프로세스와 통신하려면 어떻게 해야 할까요? 대표적으로, 프로세스 간에 ..
Activity
저작권 문제로 단순 강의 & 책 정리 글은 보호합니다!소개 및 개요 안녕하세요. 백엔드 데브코스를 진행하게 되면서 싱글톤 패턴에 대해 발표하게 되었습니다. 첫 발표이기도 해서 긴장이 많이 되었지만, 좋은 경험이라 생각하면서 용기를 내었습니다! 싱글톤 패턴 살펴보기 싱글톤 패턴은 한 클래스의 하나만 존재하는 인스턴스에 전역적으로 접근할 수 있는 방법을 제공해야 합니다. 즉, 다음 2가지 목적을 둘 수 있겠죠? 인스턴스를 오직 하나만 제공하는 클래스가 필요. 하나의 인스턴스에 전역적으로 접근할 수 있는 방법을 제공. public static void main(String[] args){ Settings s1 = new Settings(); Settings s2 = new Settings(); System.out.println(s1 != s2); //true }..
JAVA 개발 환경C, C++ 언어와는 다르게, 자바는 JVM(Java Virtual Machine)이 존재하고 자바는 이 JVM 덕분에 OS에 종속받지 않는다. 이 JVM과 자바 API를 포함하고 있는 환경이 JRE(Java Runtime Environment)이다. 하지만, JRE는 실제 개발에 필요한 컴파일러나 디버거 등의 도구는 포함하지 않고 있다. 때문에, 자바 프로그램을 개발하기 위해 JDK(Java Development Kit)가 필요하다. 이 JDK는 JRE를 포함하고 있으며 자바 컴파일러(javac), 인터프리터(java), 아카이버(jar), 문서 생성기(javadoc) 등과 같은 개발 도구를 포함하고 있다. 즉, 자바 프로그램을 실행시키는 데 필요한 모든 도구를 갖추고 있다.[요약]실..
권용근님의 우아한 멀티 모듈 세미나를 보고 정리한 내용 멀티모듈 설계 이야기 with Spring, Gradle | 우아한형제들 기술블로그 {{item.name}} 멀티 모듈 설계 이야기 안녕하세요. 배달의민족 프론트 서버를 개발하고 있는 권용근입니다. 멀티 모듈의 개념을 처음알게 되었을 때부터 현재까지 겪었던 문제점들과 그것을 어떻게 techblog.woowahan.com 클린 아키텍처 - "좋은 아키텍처는 시스템이 모놀리틱 구조로 태어나 단일 파일로 배포되었더라도, 후에 독립적으로 배포 가능한 단위들의 집합으로 성장하고, 또 독립적인 서비스나 마이크로서비스 수준까지 성장할 수 있도록 만들어져야한다. 또한 좋은 아키텍처라면 나중에 상황이 바뀌었을 때, 이 진행 방향을 거꾸로 돌려 원래 형태인 모놀리틱 ..
API Gateway 란? 일단, API Gateway는 API 서버 앞단에서 모든 API 서버들의 엔드포인트를 단일화하여 묶어주고 인증과 인가 기능에서 부터 메세지에 따라 여러 서버로 라우팅하는 고급 기능까지 많은 기능을 담당하는 또 하나의 서버이다. 특징 JSON/REST 기반에 최소한의 기능을 처리하는 경량화 서비스이다. MSA 설계이 있어 많이 언급되는 컴포넌트 중 하나가 API Gateway이다. API Gateway는 마치 프록시 서버처럼 API 앞에서 모든 API에 대한 엔드포인트를 통합하는 등의 기능을 제공하는 미들웨어다. SOA의 ESB(Enterprise Service Bus)의 경량화 버전이다. API Gateway 주요 기능 MSA의 문제점 중 하나로 각 서비스가 다른 서버에 배포되..
MSA(Microservice Architecture) 란? 위 사진처럼 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 형태로 마이크로서비스는 완전히 독립적으로 배포가 가능하고, 다른 기술 스택이 사용 가능한 단일 사업 영역에 초점을 둔다. 때문에, 독립된 서비스는 API를 통해서 상호작용한다. 요약) 마이크로 서비스는 Cloud Native Architecture의 핵심 전체 서비스들을 구축하고 있는 개별적인 모듈이나 기능들을 독립적으로 개발하고 배포할 수 있도록 운영화된 서비스 MSA 특징 정리 기존 모놀리스 개발 방식에서 변경할 것이 많다. 독립적으로 배포 가능한 형태의 서비스로 이루어진다. 각 서비스 구분을 잘 경계해야한다. 서비스는 RestFul을..