분류 전체보기

CS/OS

What is Difference between Compiler and Assembler

Both compilers and assemblers are the language processors used to convert software codes written in high-levl language and assembly language into machine language codes.컴파일러와 어셈블러는 기계가 읽을 수 있도록 처리해주는 언어 처리기이다. 컴파일러는 고급 언어를 기계어로, 어셈블러는 어셈블리 언어를 기계어로 변환해준다.CompilerCompiler is used to translate a high level programming language code to machine level code and to create an executable program.컴파일러는 고급..

JAVA

Java 프로그램 실행 과정, JVM 구조 이해하기

자바 프로그램 실행 과정을 복습하면서, JVM 구조와 역할에 대해 정리해보고자 한다.- 더 나아가, 다음 글에는 Garbage Collector의 알고리즘을 정리해보려고 한다. JVM을 통해 자바뿐만 아니라 Kotlin, JRuby 등 다른 언어로 작성된 프로그램 실행에 도움을 준다.그래서 Java와 Kotlin을 각각 모듈화 해서 함께 사용할 수 있다.📌 JVMJVM을 통해 자바 바이트코드는 타겟 플랫폼에 상관없이 동작할 수 있다.(여기서 타겟 플랫폼이란, Linux, Window, Android, iOS …)Java Source Code가 Javac라는 컴파일을 거친다.Java ByteCode가 생성된다.JVM을 통해 Java ByteCode를 Higer - low level 단계에 인터페이스가 되..

Spring Framework/Spring boot

Spring 멀티 모듈에서 환경별 YML 파일 분리 및 관리 방법 (Gradle & processResources)

문제 : Multi Module yml 파일 분리 안됨문제 상황멀티 모듈 프로젝트 환경에서 yml 파일을 각 모듈의 역할에 맞게 관리하고자 했다.기존에는 yml 파일 내용이 중복으로 저장되고 있어, 이를 수정하거나 삭제할 때 번거로움이 있었다. 이를 A 모듈은 A와 관련된 설정 파일만 관리하고 B 모듈은 B와 관련된 설정 파일만 관리하도록 변경했다. 기대 효과중복되는 yml 설정 코드를 제거할 수 있다.수정, 삭제 시 한 곳에서만 처리 가능하다.각 모듈의 역할에 따라 설정 코드를 관리할 수 있다.기존에는 실행 모듈의 yml에 모든 정보를 가지고 있어, 어느 모듈에 대한 설정 코드인지 알기 어려움 Multi Module 분리하기A, B, C 모듈이 있다고 했을 때 각 모듈이 담당하는 설정들을 모듈 내 ym..

Infra/Aws

AWS CloudFront, Edge Location, CDN 이해하기 - Image Resizing 사전 준비

AWS CloudFront와 Lambda@Edge를 통해 이미지 전송 최적화를 공부하면서, AWS 서비스 개념에 대해 제대로 알고자 정리하였습니다. 이번 포스팅은 "이미지 캐싱 & 리사이징"을 하기 전에 알아두어야 하는 개념들을 정리하였습니다.CloudFront란CloudFront란 AWS Cloud의 CDN 서비스로 이미지, 동영상, 애플리케이션 및 API 등 다양한 컨텐츠를 빠른 속도로 전송해 주는 서비스입니다.CloudFront 없이 S3에 있는 URL로 이미지를 조회할 수 있다. 하지만, 먼 곳에 서버가 있는 경우 데이터 조회 속도가 오래 걸린다. CDN이란Content Delivery Network or Content Distribution Network컨텐츠를 효율적으로 전달하기 위해 여러 노..