⭐ Plogramming/Etc 4

작업 스케줄러 종류

회사에서 crontab으로 정기 환불 서비스를 만드는데 궁금해서 sns에 말해보니 작업 스케줄러를 여러가지 추천해주셨다. 재밌게 들고 내 토이프로젝트에 사용하기 위해서 정리를 해보자 하는데! 1. crontab 크론탭 리눅스 작업 스케줄러로, 특정 시간에 특정 행위를 반복하는 작업에 사용. 2. at 윈도우 작업 스케줄러로, 특정 시간에 특정 행위를 한 번 작업해야할 때 사용 -> 일회성, 휘발성 (그리고 이건 일회성이라 내가 하고자하는 작업에 맞지 않았음) 3. airflow 에어비앤비에서 만든 아파치 파이썬 라이브러리로, 크론탭과 같은 작업을 하는데 로그도 확인할 수 있는 모니터링 기능이 있었다! (오버 엔지니어링이라는 말씀이 있으셔서 일단 구경만 해봤음) 4. AWS eventBridge 이것도 특..

관계형 데이터 베이스와 객체 지향 프로그래밍의 패러다임(feat.JPA)

지금까지 회사서 프로젝트를 진행하면 Mybatis + Spring 을 사용하였다. 대표님도 자바 프로그래밍보다는 SQL문을 중심으로 개발하는 것을 선호하셨고, 첫회사인만큼 그런 점을 배웠다. 그래서 SQL로 줄줄이 짜는 걸 굉장히 재밌어 해서 DBA를 꿈꿔볼까 싶기도 했다. 근데 지금 보는 책에서 관계형 디비로 인해 객체 지향 프로그래밍을 하면서도 객체를 중점으로 개발하지 않고 SQL 테이블로 객체를 관리하는 것에 의문을 가지고 있다고 했다. 이 부분을 보는 순간 나는 한 번도 생각지도 못했던 부분이라 너무 흥미로웠다. 책에서 나온 말처럼 지금까진 객체 지향보단 디비 모델링을 중심을 둔 종속 개발이며, 데이터의 저장이 중점인 관계형 디비와 기능과 속성을 관리하는 객체 지향의 패러다임이 불일치하는 상황이었..

테스트 코드

- TDD: Test Driven Development 테스트가 주도하는 개발로, 테스트 코드를 먼저 작성하는 방법 * 레드 그린 사이클: 항상 실패하는 레드 테스트 코드를 작성하고 -> - Unit Test: 단위 테스트 TDD의 첫번째 단계로 기능 단위의 테스트 코드를 먼저 작성하는 방법 꼭 테스트 코드를 꼭 먼저 작성해야하는 것도 아니며, 리팩토링도 필수가 아님 --> 순수하게 테스트 코드만 작성! 서버를 켜서 웹 브라우저에서 수동으로 확인하거나 println()을 찍어서 확인할 수 있고 나는 지금까지 그 방법을 썼었다. 하지만 testController를 생성하여 돌리는 것만으로도 간단하게 검증할 수 있다는 것이 충격이다. 물론 여러 번의 검증을 거쳐야하겠지만 테스트코드를 작성하는 습관을 들이므로..