Microservice를 굳이 왜 .. ?
2022. 5. 3. 21:45
System Architecture
Microservice를 영문 그대로 해석해보면 Micro(작은) service(서비스), 즉 작은 단위의 서비스를 의미합니다. 그럼 "작다"의 기준은 뭘까요? "작다"는 상대적인 개념이므로 이와 반대인 "크다"의 성격을 지닌 서비스는 무엇일까요? 이번 포스팅을 통해서 Microservice Architecture의 예시, 개념, 등장 배경 및 장단점 등에 대해 알아보겠습니다. Story of Netflix Microservice 설명에 들어가기 앞서 Microservice architecture을 가장 빠르게 도입한 회사 중 하나인 Netflix의 Microservice architecture로의 전환에 대해 소개하고자 합니다. 초창기 Netflix는 여타 회사와 마찬가지로 Monolith archit..
[Java] System.out.println() 동작원리 native method까지 까보기
2022. 5. 3. 07:41
Java/Deep Java
System.out.println() 메서드는 Java 프로그램에서 console로 출력이 필요할 때 가장 많이 사용하는 메서드 중 하나입니다. 하지만 정작 내부원리를 이해하려 노력해본 결과가 없었기에... 이번 포스팅을 통해 자세히 알아보고자 합니다. System.out.println("hello")에 breakpoint를 걸고 디버깅하며 차근차근 내부를 들여다보겠습니다. public class Main { public static void main(String[] args) { System.out.println("hello"); } } System.out.println("hello")의 System.out은 PrintStream 클래스의 객체입니다. PrintStream은 다음과 같은 메서드를 통해서..
[Java] 처음 들어보는 java.beans.Introspector
2022. 5. 2. 22:38
Java/Deep Java
Docs에서 찾아본 Java의 Introspector의 기능은 .. 다음과 같습니다. The Introspector class provides a standard way for tools to learn about the properties, events, and methods supported by a target Java Bean. Docs에 게제된 설명만으로는 확실히 이해하기 어려우니 관련된 용어부터 차근차근 알아가보겠습니다. Java Bean JavaBean은 Java 클래스를 어떻게 작성할지에 대한 표준 중 하나입니다. JavaBean의 특징은 다음과 같습니다. 모든 properties는 private 속성을 가집니다. (public getter, setter을 설정합니다) 인자가 없는 publ..
[Spring Boot] 알쏭달쏭한 환경변수 설정원리
2022. 5. 1. 21:40
Java/Spring Boot
해당 포스팅은 [Spring Boot] 대체 어떻게 실행되는 걸까? 포스팅의 일부입니다. 2022.05.01 - [Java] - [Spring Boot] 대체 어떻게 실행되는 걸까? [Spring Boot] 대체 어떻게 실행되는걸까 ? beanFactory.registerSingleton("springApplicationArguments", applicationArguments); Spring boot를 사용하다 보면 이 마법 같은 프레임워크가 어떻게 동작하는지 궁금할 때가 있습니다. Spring boot는 어떻게.. code-run.tistory.com Spring boot의 환경변수를 설정하는 방법은 다양합니다. application.properties 설정, system의 환경변수 또는 comman..
[Spring Boot] 대체 어떻게 실행되는걸까 ?
2022. 5. 1. 08:42
Java/Spring Boot
Spring boot를 사용하다 보면 이 마법 같은 프레임워크가 어떻게 동작하는지 궁금할 때가 있습니다. Spring boot는 어떻게 실행되는지, 자동 설정은 어떻게 수행되는지 등... Spring boot를 자주 사용하지만 정작 내부 원리를 알지 못하니 겉핥기 수준으로 Spring boot를 사용하고 있다는 느낌을 떨칠 수가 없습니다. 그래서 이번 포스팅을 계기로 조금 내부 원리를 이해해보고자 합니다. Spring boot도 결국에는 Java program이기 때문에 시작점은 main()입니다. 따라서 SpringApplication.run(SpringBootAutowireApplication.class, args); 가 Spring boot의 시작 지점입니다. @SpringBootApplicatio..