일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 디자인패턴
- FirebaseAnalytics
- cypressBDD
- 리팩토링2판4장
- 테스트코드책
- react-ga
- react
- 리팩터링2판테스트
- 시스템설계방법
- 시스템설계
- git squash
- s3이미지다운로드됨
- 리액트구글애널리틱스
- awss3
- 가상면접3장
- git commit 협업
- formik submitting not working
- 시스템설계면접
- cypress React
- Git commit 합치기
- file not found Error
- git commit merge
- 전략패턴
- 가상면접2장
- gitsquash
- formik react-query submitting not working
- 시스템설계면접예시
- 헤드퍼스트전략패턴
- 가상면접으로대규모시스템
- 시스템설계면접팁
- Today
- Total
mingg IT
[Cron] Cron 표현식 유효성검사 라이브러리 cron-validate VS cron-expression-validator 본문
[Cron] Cron 표현식 유효성검사 라이브러리 cron-validate VS cron-expression-validator
mingg123 2021. 9. 8. 19:55지난 포스팅에서 cron 표현식의 유효성을 검사하기위해 cron-validate 라이브러리를 사용했었다.
헌데 문제가 생겼다..
const cronValidate = cron(cronexp, {
preset: "default",
override: {
useSeconds: true,
useBlankDay: true,
},
});
if(!cronResult.isValid()) {
alert("cron 표현식 수정해주세요!")
}
아래와 같이 사용하게되면 0 0/1 * * * ? 1초에 한번 실행과 같은 부분은 커버가 가능하지만
0 0/1 * 1/1 * ? * 과 같이 1분에 한번 실행 표현식에서 isValid() 로 걸리는 것이다..
그러면 0 0/1 * 1/1 * ? * 이걸 맞게 하려면 어캐해야할까 ?
const cronValidate = cron(cronexp, {
preset: "default",
override: {
useYears : true ,
useBlankDay: true,
},
});
아래와 같이 바꾸어야한다. 년도가 ? 이기 때문에 ...
위와 같이 바꾸게되면 0 0/1 * * * ? 가 안된다.
즉 모든 cronValidate를 만들어서 검사하는것은 무리라고 판단했다.
결국 다른 라이브러리를 찾기로 결정.
https://www.npmjs.com/package/cron-expression-validator
보면 cron-validator 보다 다운로드 수가 작다.
가장중요한건 내가원하는 기능을 완벽하게 커버할 수 있냐가 문제이다.
if(!cronValidator.isValidCronExpression(0 0/1 * * * ?)) {
alert("cron 바꿔주세요");
}
통과했다!!
그렇다면 0 0/1 * 1/1 * ? * 은 과연?
통과했다.
아예 cron 표현식이아닌 문자를 입력해보았다. 예를들어 $같은.
alert가 발생했다. (굳)
한가지 마음에 걸리는것은 ISC 라이센스를 사용하는 것이다.
기존에 MIT 라이센스만 사용했었는데..
ISC라이센스는 다음과 같다.
https://www.olis.or.kr/license/Detailselect.do?lId=1074
무료로 제공하는데 아마 사용해도 문제없을것 같다.
'기타' 카테고리의 다른 글
Hyperdata에 MySql DataSource로 등록하기 (0) | 2021.09.28 |
---|---|
[DataSet] DATE type 데이터셋 (0) | 2021.09.09 |
[Cron] cron 표현식 유효성 검사 cron-validate 라이브러리 사용하기 (0) | 2021.09.06 |
[DataSet] EMP, DEPT, SALGRADE 기본 데이터셋 추가 (0) | 2021.09.06 |
[BPMN] Camunda 분석 (0) | 2021.08.25 |