Dart 기본 예제

이 글은 기본적인 Dart 예제 코드를 작성한 글입니다. 예제 코드를 통해 언어의 핵심적이고 간단한 특징들을 살펴보도록 하겠습니다. // 함수 선언 void printInteger(int aNumber) { print('The number is $aNumber.'); // 표준 출력 장치로 출력 } // 앱의 진입 포인트 void main() { var number = 42; // 변수 선언후 초기화. printInteger(number); // 함수 호출 } // 코멘트를 쓰는 법입니다. /// 여러 줄의 코멘트를 남길땐 이렇게 사용합니다. void 특별한 타입입니다. 이 값이 절대 쓰이지 않는다는 뜻이죠. printInteger나 main 같이 void return 타입을 가진 함수는 명시적으로 값을..

Dart 2021.08.27 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

루씬이란?

이 글은 루씬에 대한 소개글입니다. 안녕하세요 정우현입니다. 오늘은 엘라스틱 서치의 본체라고 할 수 있는 루씬에 대해서 소개하려고 합니다. 그 과정에서 아래와 같이 세 가지 내용을 다룰 생각입니다. 왜 루씬이 엘라스틱의 본체라고 이야기하는지 루씬에서 인덱싱은 어떻게 이뤄지는지 검색을 하는 방식은 어떻게 되는지 루씬이 사실 본체다 저는 엘라스틱 서치가 루씬을 베이스로 만든 검색엔진이라고 했을때 루씬이 어떤 역할인지 몰랐습니다. "엘라스틱 서치 내부에서 루씬이 가벼운 역할을 하나보다" 이정도로만 생각했습니다. 하지만 괜히 엘라스틱 서치 위키피디아에 "based on lucene library"라고 바로 나와있는게 아니었습니다. 사실 엘라스틱 서치는 루씬이 본체입니다. 엘라스틱 서치는 루씬을 분산형으로 만들어..

Lucene 2022.09.20 0

사회적 관계망과 성장에 대한 생각

이 글은 Zeropage의 2022 Advent Calendar에 게재하기 위한 글입니다. 사회적 관계망을 쌓음으로써 원하는 방향으로 성장할 수 있었던 제 이야기를 공유하고자 이 글을 씁니다. 본문에 들어가기 앞서 자기소개부터 하겠습니다. 안녕하세요 정우현입니다. Zeropage 26기입니다. 현업에서 백엔드 엔지니어로 2년 7개월정도 근무했고, 이번에 4학년에 올라갑니다. 현재는 RUFree, 세컨팀이라는 외주 개발팀에 소속되어있습니다. 사회적 관계망과 성장 이런 경력과 실력을 기른 것은 다 주변 사람들 덕분이라고 생각합니다. 이런 생각은 어떤 논리적인 방식으로 접근한 논문도 많이 존재하지만, 이 글을 통해선 제 경험을 여러분들에게 들려드리고 싶습니다. 1. 극적인 예시 먼저 극적인 예시를 보여드리고자..

나의 생각 2022.02.13 0

Dart 개요 번역

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

Dart 2021.08.26 0