본문 바로가기

IT 공부/자바와 웹 애플리케이션37

[톰캣] - 프로젝트 배포 시 라이브러리 위치 1. 톰캣 자체 내장 라이브러리 자바 웹 백엔드 프로젝트는 여러 라이브러리에 의존한다. 따라서 실제 배포를 할 때는 내가 사용하고 있는 라이브러리를 잘 분류하고 관리할 수 있어야 한다. 예를 들어, 롬복(lombok)처럼 소스코드를 수정만 할 뿐, 일단 컴파일하고 나면 더 이상 사용하지 않는 라이브러리는 배포할 때는 필요 없을 것이다. JUnit과 같은 테스트 프로그램도 마찬가지다. 배포 시에는 JUnit 라이브러리는 필요 없다. 이때 필수적인 의존성 라이브러리 중 일부는 너무나 중요한 기술이기 때문에 이미 톰캣 프로그램 자체에서 라이브러리가 내장된 경우가 있다. 예를 들어, Serlvet이 그러한 기술이다. 톰캣이 서블릿 객체를 관리하고 실행하는 서블릿 컨테이너이기 때문에 서블릿 코드를 이미 확보하고 .. 2024. 1. 3.
[JUnit] - 아는 만큼만 정리.... JUnit은 Java 진영에서 필수적으로 활용되는 테스트 코드다. 그래선지 IDE와 빌드툴에서 자동으로 사용할 수 있도록 설정되어 있어 특별히 JUnit을 독립적으로 사용하는 경우는 드문듯하다. 처음에는 JUnit을 따로 독립적으로 활용해 그 원리를 파악해야 하나 싶었지만 그냥 관뒀다. 굳이 이렇게 테스트를 하지도 않을 뿐더러, 따라서 독립적으로 JUnit을 사용하는 것에 대해 공부하는 것이 시간 낭비로 여겨졌기 때문이었다. 그래서 솔직히 IDE 환경에서 벗어나 JUnit를 독립적으로 사용하는 방법에 대해서는 모르겠다. 앞으로도 IDE를 통한 JUnit 사용에는 익숙해지려고 노력하겠지만, 독립적인 JUnit 사용이 필요한 순간이 오지 않으면 굳이 원리를 공부할 생각은 없다. 너무 깊게 생각하지 말고 이제.. 2024. 1. 3.
[Log4j2] - Log4j2 개념과 작동 원리 및 사용법 총 정리 1. 로깅 시스템과 Log4j2 라이브러리 로그(log)란 소프트웨어 개발 과정, 혹은 프로그램 작동 시 발생하는 이벤트에 대한 기록을 말한다. 블랙박스로 주행 중, 주차 중에서 발생하는 이벤트를 기록하는 것과 똑같은 목적이다. 소프트웨어에서 로그는 디버깅이나 작동 추적, 모니터링, 사용자 데이터 분석 등에 활용하기 위해 온갖 기록을 모으는 시스템이다. 물론 대부분의 로그 기록은 오류 검증 및 보안을 주된 목적으로 활용된다. 로그 데이터는 최종적으로 인간이 읽고 이해해야 하기 때문에 텍스트로 저장(리포트)되며, 콘솔 화면(stdout, stderr)에 출력하거나 파일에 기록하고 파일을 열람해 살펴볼 수 있다. 이렇게만 보면 단순히 Console.log()나, System.out.println() 과 같은.. 2024. 1. 3.
[lombok] - 롬복(lombok) 작동 원리 (어노테이션 프로세서) 1. 롬복(lombok)이란? 롬복(lombok)이란 위와 같이 소스코드에 어노테이션을 붙여 자동으로 getter, setter, builder 메소드를 소스코드 파일에 편집해주는 라이브러리다. 사실상 문서 편집기다. 물론 이클립스나 인텔리제이에서 단축키로 메소드들을 빠르게 만들 수 있지만, 롬복을 사용하는 것이 훨씬 더 간편하기 때문에 자주 사용된다. 왜냐하면 롬복은 아예 소스코드 자체를 생략해주는 효과가 있기에 가독성이 좋아지기 때문이다. ( ※ 어노테이션을 모르면 롬복 원리를 전혀 이해할 수 없다! 까먹었으면 복습하자! → 링크 ) 2. 작동 원리 - 어노테이션 프로세서 롬복을 보통은 인텔리제이와 같이 IDE로 사용하기 때문에 그 원리를 딱히 파악할 필요는 없지만, 이왕 공부한 거 간단한 원리 정도.. 2024. 1. 2.