※ 모던 자바 인 액션 - 동작파라미터화 코드 전달하기 부분 정리한 내용 동작 파라미터화 (behavior parameterization) : 변화하는 요구사항에 효과적으로 대응하기 위해 사용 예시 농부가 첫째날 원한 것 : 특정 무게 이상의 사과만 나열하고 싶어~ 개발자 : public filterApples(List apples, Float weight){ ... for(Apple apple : apples){ if(apple.getWeight() >= 15){ ... } } ... } 농부가 둘째날 원한 것 : 초록 사과만 나열하고 싶어~ 개발자 : public filterApples(List apples, String color){ ... for(Apple apple : apples){ if("G..

환경 Windows 10 wsl2 : Ubuntu 20.04 Windows -> Ubuntu 경로 확인 Windows 파일 탐색기 창에 \\wsl$\ 를 입력하면 설치된 Ubuntu 가 조회됨. Ubuntu-20.04 폴더에서 원하는 위치에 파일 공유함. Ubuntu -> Windows 경로 확인 df -h 명령어를 이용하여, 현재 사용되는 디스크 공간 확인 Windows 의 C:\, D:\ 가 /mnt/c, /mnt/d 위치에 잡혀있는 것을 확인할 수 있음. /mnt/c 경로 내에서 Windows 의 파일, Ubuntu의 파일 공유. ~$df -h
TDD에 관심을 가지고 공부 중에 있다. 그래서 개발하면서 JUnit5을 이용한 테스트를 진행하고 있는데, private 메소드에 대한 테스트 방법이 어려워 이것저것 찾고 있다가 정리한다. 그러나! private 메소드를 테스트 하는 것은 antipattern 이라고 한다. 나름대로 정리해봤는데, 내 생각에는 우리가 테스트를 하는 이유에 있는 것 같다. 테스트를 하는 이유는 이 기능이 외부 다른 기능들과 맞물려 있을 가능성이 크고, 변경이 있을 경우 비용이 크게 들어가기 때문에 충분한 테스트를 통해 검증을 해야한다. 하지만 private 메소드의 경우, 해당 메소드는 오로지 동일한 클래스 내에서만 사용되기 때문에, public 메소드를 테스트하면서 자동적으로 private 메소드에 대한 테스트도 이루어져..
기능에 대한 단위테스트를 진행하는데 있어, 다른 기능들이 물려있는 경우, stub 방식으로 대신 제공하여, 필요한 기능만 집중으로 테스트할 수 있다. ※ Stub : 대역( 실제 구현을 대신하여 사용할 구현 ) 종류에 하나로 구현을 최대한 단순화시킨 것이다. 테스트 기반의 개발을 해보고 싶어 요즘 TDD에 대한 공부를 하고 있다.. 이전에도 혼자서 테스트해본다고 이것저것 건드렸는데... 뭐든 잘 모르고 쓰면 문제가 발생한다. 본 글은 Mockito를 이용하여 단위테스트를 진행하면서 발생한 문제에 대한 해결법을 작성한 것이다. 상황 Controller 클래스의 특정 기능을 테스트하였다. 해당 기능은 Service 의 특정 기능에 의존해 있다. 그렇기 때문에 BDDMockito 에서 제공하는 given을 이..

보안이슈 https://www.boannews.com/media/view.asp?idx=103257 [긴급] 거의 모든 서버가 위험하다! 매우 치명적인 ‘로그4j’ 보안 취약점 발견 거의 모든 서버에 영향을 미칠 수 있는 매우 심각한 제로데이 취약점이 발견돼 이번 주말 공공기관과 기업에 비상이 걸렸다. 취약점이 발견된 로그4j(Log4j) 2는 프로그램 작성 중 로그를 남기기 www.boannews.com 해결방안 1. Apache Log4j2 최신버전( Log4j 2.15.0 )으로 업데이트 2. 최신버전 업데이트 불가한 경우 pom.xml/gradle 에서 "log4j-core" 검색 -> 버전 확인 - (조치방법) 2.0-beta9 ~ 2.10.0 ※ JndiLookup 클래스를 경로에서 제거 : ..

zookeeper와 kafka를 windows에서 실행하는데 하나하나 properties를 추가해서 실행하는게 귀찮았다.... 그래서 한번에 실행시키고픈 생각에 batch 파일을 만들었다 ! 1. echo off 하기 2. 실행할 순서 작성하기 3. pause 넣기 4. 작성한 파일 확장자 bat로 설정하기 5. 실행하기 [ 작성한 batch 파일 ] 1. echo off 하기 echo는 프롬프트 창에 명령문이 표시되는 것을 의미한다. 따라서 echo를 off 하게 되면 프롬프트 창에 명령문이 출력되지 않는다. ※ 작성한 모든 명령문에 echo off 하기 위해서는 @ 기호를 이용하여 @echo off 를 넣는다. 그러면 작성한 모든 명령문에 대한 echo off 가 진행된다. 2. 실행할 순서 작성하기..