2025년 8월 30일 토요일

정규표현식 성능을 높이려면

정규표현식 메타문자의 성능 우선순위가 있느냐는 질문을 받았다. 일단 메타문자는 검사 범위의 차이를 가지고 있을 뿐, 성능 차이는 없다. 하지만 성능 우열을 결정할 수는 있다. 기준은 내가 찾으려는 문자열의 위치. 

수량자는 최대 검사모드가 디폴트이기 때문에 .*은 입력 순간 모든 문자를 검사한다. 이후 종료 문자인 b를 찾아야 하는데 b의 위치는 뒤에서 두 번째이므로 한 단계만 뒤로 후퇴하면 끝.


2025년 8월 24일 일요일

VIM vs AWK - 2nd

강의 이해를 위해 요구되는 사전 지식들.


필수 요건으로 못박고 싶지만 그랬다간 망할까봐 권장으로 타협. 출강 기관 측은 아예 빼자고 하는데 그러고 싶진 않다. 내 강의 정체성이기 때문.

2025년 8월 6일 수요일

Elasticsearch 9.0의 변화 - 5th

단일 노드 조건에서 버전 업그레이드는 매우 간단하다. data와 config 디렉토리만 덮어쓰면 됨. 그런데 'v9.0.3 -> v9.1.0' 업그레이드 과정에서 다음 에러 발생. 'v9.0.1 -> v9.0.3' 과정까지는 문제 없었는데(..)
PS D:\ELK\elasticsearch-9.1.0\bin> .\elasticsearch
java.lang.RuntimeException: starting java failed with [1]
output:
[0.003s][error][logging] Error opening log file 'logs/gc.log': No such file or directory
[0.003s][error][logging] Initialization of output 'file=logs/gc.log' using options 'filecount=32,filesize=64m' failed.
error:
Invalid -Xlog option '-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,level,pid,tags:filecount=32,filesize=64m', see error log for details.
Error: Could not create the Java Virtual Machine.

2025년 8월 3일 일요일

크리에이티브 커먼즈 라이선스