IR compiler란?

이 글을 쓰는 이유 코틀린 진영은 지금까지 멀티플랫폼을 노리고 있는 언어입니다. 여러 환경에서 돌아갈 수 있도록 하겠다는 것인데요. JVM뿐만 아니라, WASM, JS, Native Platform등에서 돌아갈 수 있는 언어를 만드려고 하고 있습니다. 하지만 대부분 사람들이 멀티플랫폼에서 돌리려고 하기보다는 JVM 원툴로 사용하고 있기 때문에 그리고 JVM에서 굴러가서 쓰는 사람들이 대부분이기 때문에 멀티플랫폼에 관련된 글을 적어서 이런 시도를 하고 있다! 라는 것을 알리고 싶었습니다. 그래서 IR 컴파일러가 뭔데? IR컴파일러는 Kotlin IR(intermediate representation, 중간표현)으로 컴파일을 해주는 친구입니다. 자바가 바이트코드로 바꾸고 이걸 jvm위에 올려서 굴리는 것처럼..

Kotlin 2024.01.04 0

MSA에서 다른 서비스의 트랜잭션이 실패된다면 어떻게 해야할까?, Saga

이 글은 MSA 환경에서 다른 서비스의 트랜잭션 Fail으로 인한 보상로직을 작성하는 방법에 대해서 다루는 글입니다. 이 글을 쓰는 이유 최근에 MSA하다가 A 컴포턴트에서 트랜잭션을 마치고, B 컴포넌트에 이벤트를 던져두었더니, B 컴포넌트가 제대로 처리를 못하면 어떻게 해야하나라는 질문을 받았습니다. 그래서 해결책을 찾아보다가 이 해결책으로 Saga pattern을 알게 되었고, Saga pattern에 대해서 공유하고자 글을 씁니다. https://microservices.io/patterns/data/saga.html Microservices Pattern: Pattern: Saga Implement transactions using a saga, which is sequence of local ..

Web 2024.04.13 0

맥북에서 aws cli로 ecr에 이미지 올리기

오늘은 ecr에 도커 이미지를 올리는 작업을 했다. 맨날 로컬 레포지토리에서만 컨테이너를 만들고 가지고 놀다보니 올리는 법을 모르고 있었는데 이번 기회에 배워서 쓸 수 있었다. https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html Pushing a Docker image - Amazon ECR Pushing a Docker image You can push your container images to an Amazon ECR repository with the docker push command. Amazon ECR also supports creating and pushing Docker manifest lis..

AWS series 2022.08.10 0

다트 자료형, Dart Built-in Types

안녕하세요 오늘은 다트 자료형에 대해서 다뤄보겠습니다. 자료형이란 자료의 형식입니다. 자료의 형태는 많은 종류가 있는데 아래 코드에서 먼저 보고 지나가도록 하겠습니다. int number = 1; // 정수 double detailKg = 87.3; // 실수 String myName = 'mayleaf'; // 스트링 bool amIMayleaf = false; // 진리값 List numbers = [1, 2, 3, 3, 5]; // 정수를 담은 리스트 Set avatarset = {1, 6, 3, 4}; // 정수를 담은 집합 Map json = {'black': 'out', 'get the job': 'done'}; // 맵 이렇게 수많은 자료형들이 존재합니다. 숫자 , numbers 먼저 숫자들..

Dart 2021.08.29 0

Dart 개요 번역

이 글은 www.dart.dev/overview를 번역한 글입니다. * 이해하기 쉽도록 의역을 했는데요. 마음에 안드시더라도 양해 부탁드립니다. dart는 어떤 플랫폼에서든 빠르게 개발하기위해 최적화된 언어입니다. 이 언어는 가장 생산적인 언어를 제시하는 것이 목표인데요. 다양한 플랫폼에서 개발 가능해야하고, 다양한 플랫폼에서 개발할 수 있는 것처럼 다양한 해당 플랫폼들에서 앱 프레임워크가 동작하게 하기 위한 언어입니다. 언어는 기술적 범위에 의해서 정의됩니다. 이 기술적 범위는 개발과정에서의 선택에 의해서 정의되는데요. 언어의 강점과 어떤 것을 처리할지를 개발하면서 선택하는 과정에서 형성됩니다. 언어는 그 기술적 범위, 즉 언어의 능력과 강점을 형성하는 개발 과정에서 이루어진 선택으로 정의됩니다. Da..

Dart 2021.08.26 0