MicroService 과 Monolithic Architecture 의 간단한 특징 및 차이점을 서술하려고한다.
해당 내용을 정리하는 이유는 Kubernetes 공부 중, Monolithic 의 용어가 등장하여 이를 정리한다 .
MicroService 과 Monolithic Architecture 의 간단한 특징 및 차이점을 서술하려고한다.
해당 내용을 정리하는 이유는 Kubernetes 공부 중, Monolithic 의 용어가 등장하여 이를 정리한다 .
A compiler and an interpreter are tools used to translate code written in high-level languages into low-level languages (like machine code) that can be executed by a computer. While they perform similar tasks, they do so in very different ways.
Compiler 와 Interpreter 는 high-level languages(ex. JAVA, Python, PHP, C) 를 low-level languages(ex. 기계어)로 해석하여 컴퓨터가 수행할 수 있게 도와주는 도구이다. Compiler 와 Interpreter는 매우 다른 방식으로 비슷한 동작을 수행해간다. 이를 좀 자세하게 알아보자.
A compiler is a program that translates code from a high-level programming language to a lower-level language (like machine code, or an intermediate bytecode). The main characteristic of a compiler is that it processes the entire program code before execution. It checks the entire program for syntax errors and only if it is error-free, it translates the code into machine language. This translated code is saved as an executable file (like .exe in Windows) and can be run independently of the original program.
Compiler 는 앞서 말했듯이, high-level programming language를 lower-level language(Machine code, 중간 바이트 코드)로 해석하는 프로그램이다. Compiler의 주된 특징은 프로그램이 실행전에 전체 코드를 처리한다. Compiler는 전체적인 구문 에러를 검사한 후에, 프로그램이 에러가 없다면, 그제서야 machine language로 변환한다. 그리고 이 변환된 코드는 윈도우의 .exe 파일과 같은 실행파일로 저장되며, 원본 프로그램과 별개로 독립적으로 실행할수 있다.
An interpreter, on the other hand, translates high-level code into machine code line by line. It translates one instruction, then executes it, then moves to the next instruction. This means that the program does not need to be compiled before it is run.
반면에, Interpreter 는 high-level code 를 machine code 로 소스 코드 전체가 아닌 line 별로 바꾼다. 하나의 명령(instruction)을 변환하고 실행하고, 그 다음 명령(instruction)으로 이동하고 이런식으로 진행한다. 이 말은 즉, 프로그램을 실행하기 전에 컴파일을 필수적으로 할 필요가 없다는 말이다.