일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- cypress React
- git squash
- file not found Error
- git commit 협업
- 전략패턴
- cypressBDD
- 시스템설계
- gitsquash
- formik submitting not working
- git commit merge
- 시스템설계면접
- 테스트코드책
- 가상면접2장
- 리액트구글애널리틱스
- 디자인패턴
- 리팩터링2판테스트
- FirebaseAnalytics
- 가상면접으로대규모시스템
- 시스템설계면접예시
- 가상면접3장
- 헤드퍼스트전략패턴
- formik react-query submitting not working
- s3이미지다운로드됨
- 시스템설계면접팁
- 시스템설계방법
- 리팩토링2판4장
- Git commit 합치기
- react
- awss3
- react-ga
- 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-expression-validator
Validate cron expressions
www.npmjs.com
보면 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
ISC License
ISC 라이선스는 Internet Systems Consortium(ISC)에 허용된 free Software license 로, ISC에서 개발한 OpenBSD베이스로 개발된 소프트웨어 릴리즈를 위해서 사용되는 라이선스이다.
www.olis.or.kr
무료로 제공하는데 아마 사용해도 문제없을것 같다.
'기타' 카테고리의 다른 글
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 |