Service Locator Pattern, 서비스 로케이터 패턴

이 글은 서비스 로케이터 패턴에 대해서 다루는 글입니다. 이 글에서 다루고자 하는 내용은 세 가지로 첫 번째는 서비스 로케이터에 대한 소개와 예제코드를 이용한 설명이고, 두 번째는 의존성 주입을 예제 코드를 통해서 설명한 후 서비스 로케이터와 비교하는 것이고, 세 번째는 제가 서비스 로케이터를 사용하는 방법을 소개하는 것입니다. 서비스 로케이터 패턴(Service Locator Pattern)이란? Service Locator 패턴은 마틴 파울러가 블로그 글에서 제시한 패턴입니다. 이 패턴의 목표는 모듈화 수준을 높이는 것입니다. 클라이언트와 인터페이스사이의 의존성을 제거하는 방식으로 모듈화 수준을 높이는데요. 우리는 유연한 코드를 짜기 위해서 인터페이스를 자주 사용합니다. 그렇지만 인터페이스를 사용하다..

Computer Science 2021.08.23 0

IR compiler란?

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

Kotlin 2024.01.04 0

코틀린 스프링을 사용하는 이유

코틀린 스프링을 백엔드 개발할때 쓰는 이유를 적은 글을 쓰며 백엔드 개발을 시작할때 최근에 가장 많이 논의되는 언어가 코틀린과 타입스크립트라고 생각을 하고 있는데, 개인적으로는 서로의 장단점이 다르다고 느껴져서 이런 글을 적어두고 싶었다.특히 Nest.js에 익숙하신 분들에게 도움이 되길 바라며 글을 쓴다. 글의 접근 방식 이 글은 코틀린과 다른 언어를 많이 비교하면서 진행될 예정이다. 자바랑 비교하게 되는 내용도 있고, 개인적인 경험을 빗대기 위해서 Dart같은 약간 생소할 수 있는 언어도 사용했다. 글의 내용 코틀린에 대한 소개 코틀린의 강점이라고 느껴지는 부분 백엔드 개발에서 코틀린을 쓰는 이유 코틀린이란? 코틀린. 모던 랭귀지의 대표적인 주자중 하나이다. 대표적인 삼대장을 뽑아보라고 하면 Rust..

Kotlin 2023.11.20 0

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

플러터에서 위치정보 사용하는 법, How to use location in flutter

이 글은 로케이션, Location 패키지를 통해서 사용자의 위치정보를 사용하는 법을 다룬 글입니다. 많은 어플리케이션의 기획에서는 위치정보를 필요합니다. 예를 들어, 근처에 있는 ATM기의 위치나, 음식점의 정보를 알기 위해서는 내 위치를 알아야하죠. 사용자가 본인의 위치정보를 사용할 수 있게 하려면 어떻게 해야할까요? Location 사용자가 본인의 좌표를 얻기 위해서 사용하는 패키지가 바로 로케이션, location입니다. pubspec.yaml에서 디펜던시를 추가한 다음 설치를 진행합니다. dependencies: location: ^4.2.0 권한 요청 먼저 디바이스의 위치 정보를 얻기 위해서는 권한, Permission을 받아야합니다. Android project_dir/android/app/..

Flutter 2021.08.25 2