테스트 하기 좋은 코드, 좋은 테스트 코드

이 글을 쓰는 이유 좋은 테스트 코드, 테스트하기 좋은 코드에 대해서 고민하다가 든 생각을 공유해보고자 적습니다. 테스트 하기 좋은 코드 1. 블랙박스 테스트할때 비즈니스 로직의 결과를 단언할 수 있는 코드가 테스트 하기 편하다. 비즈니스로직과 persist 작업이 한번에 이뤄지고 "OK"나 Unit 과 같은 결과물만 내놓으면 stubbing으로 내용이 잘 돌아갔음을 증명해야하고, 이렇게 되면 레포지토리 레이어까지 내려가서 테스트해야한다. "버그 없음"은 테스트 코드를 통해서 증명할 수 있는게 없기 때문에, return을 받아서 결과를 볼 수 있도록 되어있는게 편한 것 같다. 파라미터로 넣은 객체를 확인하는 방법도 있지만, 객체는 Immutable하게 유지해주는 편이 좋기 때문에 비즈니스 로직은 묶어서 ..

Kotlin 2024.01.15 0

인텔리제이는 생각보다 더 많은 도움을 준다.

평소에 인텔리제이에 IdeaVim을 켜서 쓰는 편이다. 그것만으로 충분히 좋은 IDE라고 생각했는데 최근에 김영한님의 스프링 강의를 들으면서 더 강력한 기능들을 많이 배울 수 있었다. 그래서 좋은거 나눠가지자는 생각으로 내가 쓰는 좋은 기능들을 함께 공유하고자 한다. 내 키보드는 capslock의 위치에 ctrl이 들어가있다. 이걸 감안하고 보길 바란다. 그리고 나는 Mac 유저다. 그러니 윈도우 유저들은 기능만 참고하고 위치는 알아서 쓰면 된다. Keymap Tool window 화면 전환과 관련된 키맵들이다. run 현재 실행중인 어플리케이션의 출력물을 확인할 수 있다. 테스트코드를 돌리고 있었다면 테스트 코드, 어플리케이션 코드를 작성하고 있었다면 어플리케이션 코드를 볼 수 있다. cmd + 4 g..

Web 2023.01.25 0

어플리케이션 출시 전에 했던 일: 앱 출시 후기 2편

이 글은 어플리케이션 출시 전에 했던 일들을 적은 글입니다. 앱 출시 후기 1편 글을 쓰는 이유 이 글은 어플리케이션 개발을 해서 출시하시는 분들을 위해서 작성되었습니다. 지금 당장 기록하지 않으면 나중에는 까먹거나, 당연한 것으로 여기게 될 것 같아 출시를 하고 바 blog.mayleaf.dev 지난 번에 앱 출시 후기 1편을 적어서 냈는데, 그 글의 목차별로 글을 이제 작성해보려고 합니다. 오늘 쓰는 내용은 어플리케이션 출시 전에 해야했던 일들입니다. 어플리케이션 출시 전에 했던 일들 사전조사 우선 로또 리마인더를 구현하기 전에 앞서 리마인더 기능외에 어떤 기능들을 제공해주면 좋을까? 라는 생각을 했습니다. 그래서 앱스토어에 있는 로또 관련 어플리케이션들을 쭉 깔아보고 사용을 해봤습니다. 사용을 해보..

Flutter 2022.09.19 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

Nginx 프록시 서버

이 글은 Nginx를 프록시 서버로 사용하는 방법을 적은 글입니다. 이 글에서 다루고자 하는 내용은 크게 두 가지로 첫 번째는 Nginx를 리버스 프록시 서버로 운용할 때의 장점이고 두 번째는 Nginx를 리버스 프록시 서버로 운용하는 방법 입니다. 리버스 프록시 서버를 운용하는 장점 첫 번째는 어플리케이션 서버의 정보를 외부에 노출하지 않고 운영할 수 있다는 점이고, 두 번째는 하나의 포트만으로 여러 서버에 접근 할 수 있는 아키텍쳐를 만들 수 있다는 점입니다. Nginx를 리버스 프록시 서버로 운용하기 우리는 두가지 실습을 진행할 것입니다. 첫 번째는 간단한 Nginx 리버스 프록시 서버를 세팅하는 것이고 두 번째는 Nginx 리버스 프록시 서버에 어플리케이션 서버를 연결하는 것입니다. Beginne..

Nginx 시리즈 2020.04.04 0