Legacy 테스트 - Subclass and Override Method

레거시 코드 일를 테스트하기 위해 Subclass and Override Method 방법 적용 Subclass and Override Method 방법 참고 링크: https://youtu.be/Dct4bGKCmI8 테스트하기 어려운 부분이 존재할 때 다루는 기법 1. 레거시 코드에서 테스트 대상을 방해하는 부분을 메소드로 분리한다. 레거시 코드의 의존성을 분리하기 위해 메소드 단위로 코드를 분리 2. 분리한 메소드를 protected 로 변경한다 3. 테스트하고자 하는 클래스를 상속받아 테스트용 클래스를 만들고, 분리한 메소드를 재정의 한다. Stubbing 실제 동작과는 다르게 테스트 코드를 쉽게 만들기 위한 작업 4. 테스트용 클래스를 이용해서 테스트 대상을 테스트하는 코드를 작성한다.

2023년 7월 28일

[re] Hello World

[re] Hello World [re] Hello World by GitHub Pages & Hugo install golang $ brew install golang install Hugoo https://gohugo.io/installation/macos/ $ brew install hugo github 저장소 생성 duddns.github.io: GitHub Pages 저장소 dontkr-hugo: Hogo 소스 저장소 Create a site $ hugo new site dontkr-hugo $ cd dontkr-hugo $ git init $ git submodule add -b master https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod $ git submodule add -b main https://@github.com/duddns/duddns.github.io.git public $ echo "theme = 'PaperMod'" >> hugo.toml $ hugo server configure baseURL = 'https://dont.kr' languageCode = 'en-us' title = 'DoNT - Do Not Think!!!' theme = 'PaperMod' publish GitHub Pages 저장소와 Hogo 소스 저장소 두 번 push 해야 함 ...

2023년 7월 10일

[Backup] Visual Studio Code Regex Replace

, 10개 마다 줄 바꿈 하기 ((.+, ){10}) $1\n

2022년 4월 30일

[Backup] gradle 의존성 갱신

방법 1 $ rm -rf ~/.gradle/caches 프로젝트가 여러개 일 경우 모두 초기화 방법 2 $ ./gradlew build --refresh-dependencies

2021년 10월 28일

[Backup] aws ec2 인스턴스 생성후 하는 작업 v3

업데이트 $ sudo apt update ; sudo apt upgrade -y zsh $ sudo apt install zsh $ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh $ sudo chsh -s $(which zsh) ubuntu vim $ sudo add-apt-repository ppa:jonathonf/vim $ sudo apt update $ sudo apt install vim java (spring boot application 실행을 위해) $ wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - $ sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ $ sudo apt update $ sudo apt install adoptopenjdk-13-hotspot nginx (웹서버 및 SSL 적용을 위해) nginx 설치 $ echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list $ curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - $ sudo apt-key fingerprint ABF5BD827BD9BF62 pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14] 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 uid [ unknown] nginx signing key <signing-key@nginx.com> $ sudo apt-get update $ sudo apt-get install nginx nginx 설정 ssl 설정 badbot blocker https://github.com/mariusv/nginx-badbot-blocker/tree/master/VERSION_2

2020년 3월 9일

[Backup] ngrok - secure introspectable tunnels to localhost

ngrok https://ngrok.com/

2019년 7월 9일

[Backup] brew - mac package manage

brew $ brew install {PACKAGE_NAME} $ brew update $ brew upgrade

2019년 4월 8일

[Backup] 로그로 남기면 좋은 것들

1.6. Log Domains 로그를 남기는 이유는 몇가지로 분류될수 있습니다. 1.6.1. 개발 로그(Development Log) 개발자가 디버깅 및 흐름 추적을 위해 기록하는 내용입니다.보통 debug, trace레벨로 기록합니다. 1.6.2. 운영 로그(Maintenance Log) 운영에 관련된 로그입니다. 디스크가 꽉 찼거나, 인터페이싱 과정에서 타입아웃이 발생했거나 하는등 운영을 모니터링하기 위한 용도의 로그입니다. 보통 WARNING이나 ERROR로 기록됩니다. 1.6.3. 비지니스 로그(Business log) 비지니스적으로 의미가 있고 추후 추적하기 위한 로그입니다. 장바구니 상품추가, 로그인, 결제등이 대표적입니다. 보통 INFO로 기록합니다. 1.6.4. 감사 로그(Audit log) 감사 로그는 보안 관련 시간순 기록, 기록 집합 및 / 또는 대상 및 기록 데이터 소스입니다. 특정 작업, 절차 또는 기록에 언제든지 영향을 미친 활동 순서에 대한 증빙 자료를 제공하기 위해 기록됩니다. 보통 INFO이지만 운영자가 수정가능하지 않는 곳에 저장합니다. ...

2019년 1월 28일

[Backup] MySQL 대용량 sql import 시 진행상황 확인하기

Pipe Viewer https://www.ivarch.com/programs/pv.shtml $ pv dump.sql | mysql -uuser -ppassword database

2018년 11월 29일

[Backup] swagger-diff swagger 문서 내용 비교

swagger-diff http://deepoove.com/swagger-diff/ 이전 버전의 API 와 신규 버전의 API 를 비교하여 변경 내용을 html 파일로 출력 $ java -jar swagger-diff.jar \ -old http://petstore.swagger.io/v2/swagger.json \ -new http://petstore.swagger.io/v2/swagger.json \ -v 2.0 \ -output-mode html > diff.html

2018년 11월 29일