시스템 환경설정 > 개인 정보 보호 > 전체 디스크 접근 권한에 Emacs 앱을 추가했지만 홈 디렉토리를 제외한 문서, 다운로드 등의 디렉토리 접근이 불가능했다. 이유는 Emacs가 ruby로 실행되기 때문이었다. 전체 디스크 접근 권한에 /u
기존에 Java로 만들어진 프로젝트를 Golang으로 다시 만들고 있는데 문자열을 gzip으로 압축한 뒤 base64로 인코딩한 결과를 파일명으로 만드는 로직이 있었다. 처음엔 Golang에서도 gzip과 base64가
로그를 ElasticSearch에 쌓아서 실시간으로 보고 있었는데 로그의 양이 많아서 차지하는 용량이 계속 커지고 있었다. 파일로도 로그를 남겨두기는 해서 한동안은 80 ~ 90% 정도 되면 인덱스를 지워서 용량을 확보했다. 하지만 다년
Part 6 소프트웨어 이해하기 컴퓨터란 무엇인가? 인간이 설정한 목표를 달성하기 위해 일련의 기호 명령을 수행하고 데이터를 비교할 수 있는 모든 물질 소프트웨어 구성 요소: 구조, 동작, 결과 소프트웨어 개정판:(I)SAR 구별하기 구조
Part 3 단순성과 소프트웨어 설계 설계는 프로젝트 초반에 하라 미래를 고려하지 않으면 코드가 엉망으로 설계되고 너무 복잡해진다. 미래 예측의 정확성 미래 예측의 정확성은 시스템이 복잡해질수록, 예측하고자 하는 시점이 멀어질수록 낮아진
페이스북에서 “심플 소프트웨어"라는 책이 나왔다고 해서 어떤 내용인지 궁금해서 읽어 보았다. 책 표지에 다음과 같은 문장이 눈길을 끌었다. 100년 뒤에도 유용할 소프트웨어 설계 원칙 & 프로그래머의 바른 길
ejs를 2에서 3으로 업그레이드하고 나서 다음과 같은 에러가 발생했다. SyntaxError: Unexpected identifier in index.ejs while compiling ejs If the above error is not helpful, you may want to try EJS-Lint: https://github.com/RyanZim/EJS-Lint Or, if you meant to create an async function, pass `async: true` as an option. at new Function (<anonymous>) ... 에러 로그에서 어디에서 잘못됐는지 정확히 나오지도 않고 로그
Golang을 1.13으로 업그레이드를 하고 프로젝트에서 go get ...으로 라이브러리를 다운받으려고 했는데 410 Gone 에러를 내면서 실행이 되지 않았다. 구글에서 검색을 해보니 해결 방법을 바로 찾을 수 있었다. $ export GO111MODULE=on $ export GOPROXY=direct $ export GOSUMDB=off 원
Lostash에서 input으로 kafka를 사용하고 있었는데 다음과 같은 오류가 나왔다. [WARN ][org.apache.kafka.common.utils.AppInfoParser] Error registering AppInfo mbean javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=logstash-1 at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:436) ~[?:?] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1855) ~[?:?] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:955) ~[?:?] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:890) ~[?:?] at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320) ~[?:?] at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) ~[?:?] 중복되는 설정들이 많아 합치면서 pipeline을 사용하도록 수정했는
Logstash에서 pipeline으로 개별로 설정을 하여 로그를 수집할 수 있다. 그래서 input, filter, output으로 나누어 사용하기 위해 다음과 같이 디렉토리를 구분하여 pipelines.yml을 설정했다. - pipeline.id: input path.config: "/etc/path/to/input.conf" - pipeline.id: