Home
Slowly but Surely
Cancel

TDD에 대해서 구체적으로 알아보기

NEXTSTEP에서 진행하는 TDD, 클린 코드 with Kotlin 6기에 참여하면서 2주차 수업을 듣고 TDD에 대해서 자세히 정리해본 글입니다. 이름 이름을 짓는 것은 중요하다. 6개월 뒤의 내가 이해할 수 있는 이름을 짓자. fun move(randomNumber: Int) { if (randomNumber >= FORWARD...

객체 지향적으로 리팩토링해보기

NEXTSTEP에서 진행하는 TDD, 클린 코드 with Kotlin 6기에 참여하면서 미션에 대한 피드백 바탕으로 리팩토링을 하던 과정 중, 발생한 문제점을 해결한 내용을 공유하고자합니다. AS-IS 저는 자동차 경주를 구현하던 중 자동차가 움직이는 것에 대해 단위 테스트를 작성해야했습니다. 문제가 된 부분은 자동차가 움직이는 조건이였는데요...

Redis Cluster vs Sentinel

Redis를 사용할 때 물리 머신이 가진 메모리의 한계를 초과하는 데이터를 저장하고 싶거나, failover에 대한 처리를 통해 HA를 보장하려면 Sentinal이나 Cluster 등의 운영 방식을 선택해서 사용해야한다. Sentinel 기능 모니터링: Master/Slave가 제대로 동작하는지 지속적으로 감시한다. 자동 ...

Effective Kotlin - Item 3. 최대한 플랫폼 타입을 사용하지 말라

자바에서 자주 볼 수 있었던 NullPointException은 코틀린의 null-safety 메커니즘으로 인해 거의 찾아보기 힘들지만, 자바와 코틀린을 연결해서 사용할 때는 이러한 예외가 발생할 수 있다. @NotNull 혹은 @Nullable 이 붙은 경우라면 String, String?으로 추정 및 변경이 가능하지만 어노테이션이 없다면 모든...

코틀린스럽게 작성해보기 with 컬렉션 함수

NEXTSTEP 에서 진행하는 TDD, 클린코드 with Kotlin 6기에 참여하면서 미션에 대한 피드백 바탕으로 코틀린스럽게 작성해보는 경험을 공유하고자합니다. 이번 미션은 첫 주차이기때문에 요구사항 자체는 간단했습니다 (아마도?) AS-IS 2단계는 문자열 계산기를 구현하는 미션이였는데요. 저는 계산을 하는 함수 로직을 다음과 같이 작...

Effective Kotlin - Item 2. 변수의 스코프를 최소화하라

상태 정의시 변수와 프로퍼티의 스코프를 최소화하는 것이 좋다. 프로퍼티보다 지역 변수를 사용한다. 최대한 좁은 스코프를 갖도록 변수를 사용한다. 예를 들어 반복문 내부에서만 사용되면 변수를 반복문 내부에 작성하는 것이 좋다. 변수는 읽기 전용 여부와 상관 없이 if, when, try-catch, elvis operator(?:) 등을...

Effective Kotlin - Item 1. 가변성을 제한하라

코틀린에서 가변성 제한하기 코틀린에서 가변성을 제한하기 위해 굉장히 많은 방법을 활용할 수 있지만 많이 사용되고 중요한 방법은 아래와 같다. 읽기 전용 프로퍼티(val) 가변 컬렉션과 읽기 전용 컬렉션 구분 데이터 클래스의 copy 읽기 전용 프로퍼티(val) 코틀린에서는 val 키워드로 읽기 전용 프로퍼티를 만들 수 있다....

네이버 클라우드 플랫폼 사용 회고

네이버 클라우드 플랫폼의 Green Developers 프로그램에 참여해서 크레딧을 이용해 클라우드 서비스를 사용했던 경험에 대한 회고입니다. 네이버 클라우드 플랫폼은? 클라우드를 통한 디지털 트랜스포메이션, 비즈니스 성공의 기반입니다. NAVER Cloud는 고품질의 네이버 서비스를 제공하기 위해 기술과 서비스 운영 역량을 세계적인 수준으...

TDD, 클린 코드 with Kotlin - 1주차

6월 6일부터 넥스트 스탭의 TDD, 클린 코드 with Kotlin 6기 수업에 참여하게 되어 1주차 회고를 작성합니다. 코틀린에 대해서 코틀린에 대해서 자바와의 차이점에 대해 학습했으며, 코틀린의 기본 문법에 대해서 알아보는 시간을 가졌습니다. 아토믹 코틀린을 읽는 중이였기에 이미 알던 내용이였지만 한번 더 학습할 수 있는 기회가 되었습니...

도커 컴포즈로 그라파나+프로메테우스 실행시키기(2/2)

이전에 프로메테우스에 대한 설정은 완료했으니, 이제 그라파나에 대한 도커 컴포즈를 작성해봅시다. 이전 게시글을 따라오셨다면, docker-compose.yml 파일은 아래와 같을 것입니다. version: '3.7' services: prometheus: image: prom/prometheus #도커 이미지 명 container...