일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 런데이애플워치
- 오운완
- 마이더치콜드브루
- 재택커피
- Zone2
- 루스틱
- 가람집옹심이
- parquet
- 송고버섯피자
- 스타벅스리저브콜드브루
- sparksql
- 플라스틱은 어떻게 브랜드의 무기가 되는가
- apollo-server-v3
- 이코노미스트한국구독센터
- apollo-sandbox
- schema-registry
- sky빛의아이들
- 잘쉬어야지
- 집커피
- 여니브레드
- 콜드브루메이커
- 여행
- neovim
- 중사랑
- 달리기
- 런데이
- 저동하녹
- 강릉여행
- kafka-connect
- 티지아이포럼
- Today
- Total
목록개발 (36)
해뜨기전에자자
얼마전부터 맥os 비밀번호 규칙이 빡빡해져서 비밀번호 변경주기도 생기고 여간 귀찮은게 아니다..아래 커맨드로 어떤 규칙이 설정되어있는지 확인할 수 있다.pwpolicy getpolicy 아래처럼 규칙을 설정해주고..pwpolicy -u "$USER" -setpolicy "requiresNumeric=0"pwpolicy -u "$USER" -setpolicy "requiresMixedCase=0"pwpolicy -u "$USER" -setpolicy "maxMinutesUntilChangePassword=99999999999"pwpolicy -u "$USER" -setpolicy "usingHistory=0"pwpolicy -u "$USER" -setpolicy "requiresAlpha=0"아래 커맨드로..
기존에 graphql playground 를 쓸 때에는 settings에서 requests.credential을 same-origin 으로 주면 Cookie 값 전달이 잘 됐었다. 이번에 apollo sever v3로 업그레이드하면서 ApolloServerPluginLandingPageLocalDefault를 사용해 apollo sandbox를 embed로 쓰도록 변경했는데 Cookie값을 전달하려면 아래와 같이 includeCookies를 true로 전달하면 된다. apolloServer plugin ApolloServerPluginLandingPageLocalDefault({ embed: true, includeCookies: true, footer: false, }), header Cookie: K..
현재 vscode에서 설치되는 neovim 플러그인의 버전은 v0.0.89인데 이 경우 한글 설정에 문제가 있다. 최신 빌드로 쓰거나 0v.0.88로 빌드해서 쓰면 문제가 없다. (둘 다 확인함) 아래와 같이 세팅해서 쓸 수 있다. ``` git clone https://github.com/vscode-neovim/vscode-neovim.git # install deps npm install # build npx vsce package -o vscode-neovim.vsix ``` `cmd + shift + p` > `Extensions: Install from VSIX` 에 빌드한 vsix 파일을 이용하여 설치 ## vscode-neovim setting 로컬에 neovim 설치 후 ``` brew ..
스크립트 하단의 처리 부분을 변경하고, 다음 실행부터 적용되리라고 생각하고 있었는데 실행 중 이었던 스크립트가 변경된 스크립트의 결과를 출력하는 현상이 나타났다. 단순히 파일을 읽어 메모리에 다 올리고 실행할 것이라고 생각하고 있었기 때문에 깜짝 놀랐다. bash는 일반적으로 전체 스크립트를 사전에 로딩해두지 않기 때문에, 스크립트를 덮어쓰는 것은 예측할 수 없는 결과가 나올 수 있다고 한다. 인터프리터는 블록 단위로 읽고 실행하는 것을 반복하도록 설계되어있기 때문이다. strace 로 실제 어떻게 읽었는지를 확인해볼 수 있는데, read 부분에서 전체 파일을 읽었지만 다시 스크립트 일부를 읽고 있는 이력이 있었다.. 정확한 동작은 파악하기가 어려워보인다. 아무튼 스크립트 실행 중 스크립트 파일을 수정하..
문제 며칠 전 spark SQL로 조회하던 parquet 파일 베이스의 hive external table의 필드 schema의 대소문자가 꼬여 문제가 생겼던 적이 있다. 어떤 field는 대소문자를 구분했고, 어떤 필드는 소문자로만 보였다. case-sensitive와 case-insesitive가 섞인 mixed-case 의 형태를 보인 것이다. spark.sql('FROM tbl').printSchema() root |-- isValid: string (nullable = true) # 대소문자를 구분한다 |-- requestid: string (nullable = true) # parquet schema상으로는 reqeustId이지만, 소문자로만 조회가 된다. ..개발 및 테스트 과..
기본 설정 iptables -P INPUT REJECT INPUT 체인 기본 정책 reject iptables -F INPUT INPUT 체인의 모든 규칙 삭제 포트 별 규칙 생성 및 삭제 iptables -A INPUT -p tcp –dport 80 -j ACCEPT 외부에서 모든 목적지의 tcp/80 포트로의 접근을 허용 iptables -A INPUT -d 192.168.10.10 -p tcp –dport 22 -j DROP 외부 모든 출발지에서 내부 192.168.10.10 목적지 서버의 tcp/80 포트로의 접근을 차단 iptables -L INPUT 1 -s 111.111.111.111 -p tcp -dport 2000 -j ACCEPT 방화벽의 규칙은 위에서 아래의 순서로 적용되므로 순서가 ..
Alfred는 나에게 있어서 생각의 속도만큼 맥을 사용할 수 있게 해주는 툴이다. 맥을 처음 살 때부터 유료로 사용하고 있는데, 몇 년에 한번씩 업그레이드 비용만 내면 된다. 생각 속도만큼 빠르게 컨텍스트 스위칭이 가능하기 때문에 생산성 향상에 큰 기여를 하고 있어서 비용이 아깝지 않다. 가장 잘 사용하고 있는 기능은 app search, google 및 기타 쿼리 검색, 스니펫(snippet), workflow 기능이다. 개발 문서 (ex. Dash) 등을 연동해서 빠르게 검색해서 사용하는 케이스를 보고 적용해보려고 했었지만 개발 문서 query 검색 혹은 구글, stackoverflow 검색이 좀 더 편해서 잘 안 쓰게 되었다. 아쉬운 점은 workflow 작성 및 디버깅이 좀 불편하다는 것과, co..
ECMAScript에는 이벤트 루프가 없다.Nodejs 뿐만 아니라 브라우저 javascript 실행 흐름은 Eventloop를 기반으로 한다.Eventloop의 작동 방식을 이해하는 것은 최적화 및 올바른 아키텍처에 중요하다. 그러나 event loop의 개념은 HTML 스펙에 정의되어있다. https://html.spec.whatwg.org/multipage/webappapis.html#event-loopsNodejs와 브라우저에서의 javascript, eventloop 의 관계eventloop는 javascript의 스펙이 아니다. javascript는 Heap, stack만 존재하고 실제로 eventloop는 javascript 실행환경에 있다. 왼쪽은 브라우저 환경에서의 이벤트루프이고, 오른쪽..
unique column이 정해져 있을 때 spark mongodb upsert를 하려면 아래와 같이 하면 된다. import json df.write.format('com.mongodb.spark.sql') \ .option('collection', 'target_collection') \ .option('replaceDocument', 'true') \ .option('shardKey', json.dumps({'date': 1, 'name': 1, 'resource': 1})) \ .mode('append') \ .save() 새로운 document로 repl..
log structured merge tree. Cassandra, Elasticsearch 등 최신 DB들에서 많이 사용되며 Data를 immutable하게 관리할 수 있다. Disk의 Sequantial Read/Write 속도는 Memory 의 Random access에 비해서도 10배 가까이 빠른 성능을 내므로, LSM tree 는 B+ tree에 비해 더 높은 write workloads를 처리할 수 있다. Random write가 발생하는 b tree와 다르게, SSTable의 write는 항상 sequantial하기 때문이다. 그러나 매우 높은 write 을 처리해야하는 부하 상황에서 Lag이 생길 수 있으며 merge&compaction작업이 느려지면 그만큼 Read가 늘어나 퍼포먼스가 불..