PyCharm(IntelliJ라도 상관없음)에서 YAML(yet another markup language or YAML ain't markup language) 파일을 열어보면 다음과 같이 syntax highlighting이 잘 적용되어 있습니다. 아마도 대부분의 사람들은 "IDE에서 syntax highlighting은 당연한 기능 아냐?"라고 하실 수도 있는데요. 맞습니다. 확장자에 따라서 기본 설정이 적용되어 있기 때문입니다. 최근에 테라폼(Terraform)으로 코드를 개발하면서 YAML 파일을 템플릿 형식으로 작성할 일이 꽤 많았는데요. 확장자는 tftpl 였습니다. 테라폼에서 templatefile 함수를 통해 읽는 파일의 확장자는 tftpl로 권장됩니다. *.tftpl is the rec..
pycharm, datagrip을 최신 버전으로 업데이트했을 때 메뉴가 전부 현지화(한글) 되어 버렸다. 아마 IntelliJ를 포함해서 JetBrains에서 나오는 모든 프로그램이 동일하지 않을까 하는 예상된다. 자, 그럼 메뉴를 영어로 되돌리고 싶으신 분들은 최신 버전으로 업데이트될 때 자동으로 설치된 "Korean Language Pack / 한국어 언어 팩" 플러그인을 제거해주면 되겠다. 딱히 영어가 능숙한 건 아니지만 이미 눈에 익어버려서 한글 메뉴는 매우 불편하게 느껴졌다. 왜 이런 업데이트를 감행했을까? 아무튼, 메뉴 위치는 Preferences -> Plugins에서 찾을 수 있다. 영어로 변경하고 나서 다시 마음이 편-안 해졌다. :) 그러고 보니 파이참은 한 2년 만에 업데이트한 건가...
키보드 자판 위에 vim 단축키를 나타내는 이미지가 돌아다니지만 입문자 입장에서 보기 어렵지 않을까 싶은 생각에 입문자용 핵심 단축키 정리를 마음먹었다. 아래 이미지를 보시라. 한글 버전판도 있지만, 입문자에게 이게 다 무슨 소리인가 싶지 않겠냐는 거다. 우주선 조종 기판 같다. 나는 개발 커리어를 리눅스 커널로 시작해서 약 7년간 vim으로만 개발을 해왔으면 이후에도 IntelliJ에 vim 플러그인을 이용하는 등 광적으로 vim을 사랑하는 유저이다. 지금이야 순정이 좋지!라는 마음으로 웬만하면 IDE는 그냥 플러그인 없이 순정으로 이용하는 편이지만. 아무튼 각설하고 vim을 처음 입문하는 사람에게 실제로 도움이 될만한 단축키를 설명하도록 한다. 본문에 있는 단축키는 모두 완벽하게 손으로 익혀주는게 좋..
서비스의 개발만큼 중요한게 API 단위 테스트이다. 테스트 tool은 네이버의 nGrinder, Apache JMeter등 다양하게 존재하지만 여기서는 명장, Apache Jmeter를 살펴본다. 필자는 얼마전까지 모든 API 테스트는 셸 스크립트로 충분하다고 생각해왔다. 아래처럼 말이다. # curl.sh curl -X GET localhost:8000/products 위와 같은 파일을 터미널에서 아래와 같이 병렬로 처리하는 등 기교부리는 것을 좋아했다. $ seq 400 | xargs -P 200 -I{} ./curl.sh 여기서는 꽤 간단하게 묘사되지만 sleep과 while, 다양한 조건까지 들어가면 꽤 그럴듯한 traffic generator tool 이 완성된다. 조금 더 헤비한 테스트가 필요..
! 앱피움 소개, 설치 방법을 가이드하는 글이 아닌, 조직에 도입하면서 겪은 경험을 일기처럼 써 내려간 글입니다. 글 중간중간 가볍게 적은 내용에서 인사이트를 얻으실 수 있기를 바랍니다. 앱 테스트 자동화를 알아보다 보면 엷은 물줄기가 호수로 모이듯이 결국 앱피움(appium)이라는 오픈소스 테스트 자동화 프레임워크로 귀결된다. 이번에 QA 조직에서 테스트 자동화를 도입할 수 있도록 가까운 곳에서 지원하며 익힌 내용을 두서없이 기록해본다. 이미 인터넷에는 앱피움의 소개 글이나 설치 방법들을 어렵지 않게 찾아볼 수 있는데 정작 이것으로 무엇이 가능하고, 어떻게 활용되는지에 대한 글은 부족해 보인다. 아니, 어쩌면 이미 얕게 충분히 살펴본 사람들의 글이라서 지식의 저주[1]에 빠져 내용 전달이 부실하게 느껴..
데이터베이스 연결 도구로 그동안 Sequel Pro를 사용해오고 있었는데 프로그램이 죽어도 너~무 잘 죽습니다. 프로그램이 툭하면 멈추고 종료되는 현상 때문에 업무 때문에 마음 조급할 때는 한없이 스트레스를 받고는 했는데요, 아무튼 Mac 스럽게 깔끔한 GUI가 마음에 들어서 버텨보려고 했으나 이제 그 한계가 찾아온 듯해서 대안으로 DBeaver라는 툴을 사용하기로 했습니다. Sequel Pro의 경우에는 MySQL 서버만 연결할 수 있고 PostgreSQL 연결을 위해서는 다른 도구를 사용해야 했습니다. 예를 들면 PSequel 같은 도구를 말이죠. Sequel Pro와 상당히 유사한 UI 때문에 적응하는데 어려움은 없지만 MySQL과 PostgreSQL 두 종류의 데이터베이스를 사용하려면 클라이언트 ..
인터넷에 많고 많은 IntelliJ 단축키 글이 있지만 역시 하나씩 직접 사용하면서 정리해야 내것이 되는 듯 합니다. IntelliJ 를 사용하면서 익혀가고 있는 단축키를 아래와 같이 정리합니다. MacOS에서 Keymap은 Default for macOS를 기준으로 합니다. 아래에서 설명하는 기호는 다음과 같은 의미를 갖습니다. ⌘ : command ⌥ : option ⇧ : shift ⌃ : control 볼드체로 작성되어 있는 단축키는 인텔리제이로 개발하려고 할 때 제일 먼저 알아야 하는, 혹은 최소한으로 숙지하면 좋은 단축키 입니다. # Navigate # Edit - 계속 업데이트 진행 - 혹시 공유해주고 싶은 꿀 단축키는 답글 주시면 감사하겠습니다. :-)
ngrok을 설명하기 전에 이것이 필요한 상황에 대해서 이야기를 간단하게 하는게 이해에 도움이 될 듯 하다. 우리가 웹이나 API를 개발할 때 당장 public 망에서 테스트를 해야 하는 경우를 생각해보자. 예를들어 slack bot을 개발한다고 생각해보면 아래 슬랙 API 화면에 보이는것처럼 public IP를 갖고 있는 서버가 있어야 정상적인 테스트가 가능하다. ( Request URL에 들어가는 주소는 슬랙 API를 처리할 개인 서버쯤으로 생각하면 된다. ) 하지만 개발단계에서 우리는 아직 서버가 없을수도 있고 퍼블릭 IP를 할당받지 못했을 수도 있다. 기타 다른 여러가지 이유로 localhost로 테스트를 해야 하는 경우가 있는데 대부분의 웹 개발는 개발환경이나 프러덕트 환경에 deploy 하기 ..
Google 에서 또다시 엄청난 것을 일반에 공개했다. 바로 Colaboratory 라는 것인데, Jupyter Notebook 의 협업판 이라고 생각하면 되시겠다. 원래 구글 내부에서 직원들이 사용하던 것인데 이번에 신청만 하면 바로 사용이 가능하게 되었다. (기본 제공은 아직 아닌듯.) 신청하면 1시간 내에 accept 되니 일단 선신청하고 용도는 천천히 생각해보시라. 신청은 아래 URL 에서 진행하면 된다. 신청: https://colab.research.google.com/ 자, 그럼 도대체 Colaboratory 가 무엇인지 조금 더 살펴보도록 하자. Google 에서 기본적으로 제공되는 많은 문서가 있는데 이것들의 장점이라고 하면 로컬 PC 가 아닌 클라우드 환경에서 작업이 되기 때문에 공유가..
virtualbox에서 OS(CentOS-6.4 64bit)를 복제하고자 할 때 인터페이스에 문제가 발생합니다.(모든 네트워크 카드의 MAC 주소 초기화 활성화 했음) 문제 내용은 eth0가 사라진다는 것인데요.eth0가 사라지고 eth1가 생깁니다. 이것은 아마도 virtualbox에서 MAC주소를 초기화 하지 못하는 것으로 보입니다.(32bit 복제 시에는 문제 없음) 해결 방법은 아래 파일을 직접 수정하는 겁니다./etc/udev/rules.d/70-persistent-net.rules eth0의 MAX주소가 원본 이미지와 동일하네요. 그래서 부팅 시에 인터페이스 생성에 실패하고 다음 인터페이스인 eth1을 생성했던 겁니다.이제 eth0 부분을 삭제하고 NAME="eth1"을 NAME="eth0"로..
crawling.[컴퓨터] 크롤링; (검색 엔진에서) 분산 저장되어 있는 정보를 수집하여 검색 대상으로 복제·보존하는 기술. 크롤링은 여러 방면에서 사용되는데 일반적인 소프트 유저라면..- 기상청 날씨를 긁어온다- 식단 표를 긁어온다 등으로 사용할 수 있겠습니다.이야기는 많이 들었었는데 이번에 필요하게 되어 직접 크롤링을 해봤습니다. 발단은 이러합니다.이번 회사에서 인터뷰어 활동을 하게 되면서 이력서 검토도 하기 되었는데문제는 작은 중소기업이다 보니 구직 사이트에 이력서가 새로 들어왔는지 종종 접속해서 확인하는 시간이 아까웠습니다. (많은 이력서가 쏟아 지는게 아니다 보니까..) 그래서 아래와 같은 요구 조건으로 개발을 시작했습니다.- 주기적으로 구직 사이트(기업 계정)를 크롤링- 새로운 이력서가 있으면..
회사에서 계속 무료 툴인 virtualbox를 이용하고 있었는데, VMware를 사용할 일이 있어서 관련 라이선스를 찾아봤습니다. 일단 VMware에는 두 가지 종류가 있는데 그 첫 번째가 VMware Workstation Player, 두 번째가 VMware Workstation Pro 되시겠습니다. VMware Workstation Pro 는 뭔가 이름부터 유료 느낌이 나고.. VMware Workstation Player쪽을 찾아보니 "개인용으로 사용하는 경우 무료" 라는 문구가 눈에 들어오네요. 하지만 일단 회사(기업) 내부에서 사용해야 하는 것이니 (회사 내부에서 혼자 조용히 학습 용) 이러한 경우의 라이선스 정책은 어떠한지 찾아봐야 했습니다. 관련된 정확한 정보는 아래와 같습니다. VMware..
디스크 용량 문제로 virtualbox의 이미지(vdi) 경로를 변경할때 아래와 같은 오류가 발생하게 되는데이에 대한 해결 방법을 기록합니다. * 일단 아래와 같이 기존 path를 잡고 있는 디스크가 삭제 불가한 경우 * 세션이 저장되어 있지 않은지 확인합니다. * 저장된 상태는 삭제가 안되므로, "저장된 상태 삭제"를 진행합니다. * 그럼 아래와 같이 삭제 버튼이 활성화 되는 것을 확인할 수 있습니다. * 삭제 후 새로운 경로의 이미지를 추가하려고 하면 아래와 같은 오류가 발생합니다. * 이때는 cmd 모드에서 아래와 같은 명령을 진행합니다. cd C:\Program Files\Oracle\VirtualBox\ * 그 후 새로운 path를 입력해줍니다. VBOXMANAGE.EXE internalcomm..
SecureCRT를 주로 사용하다가 putty로 넘어왔는데, 다소 아쉬운점이 많았습니다뭐.. 라이선스의 freeware 여부로 인한 금전적인 문제가 있다보니 감수해야 하는 부분이겠지만요. 무료 소프트웨어인 putty도 설정을 갖추면 나름 쓸만해지는데 아래 4가지를 정리합니다. 1. 스크롤 라인 수 기본설정이 2000으로 나름 여유롭긴 하지만 신명나게 서버를 운영하던지,vim을 사용하는 경우 타이핑 이력이 스크롤을 초과하는 경우가 발생합니다.기본 스크롤 라인 수를 여유롭게 설정해서 사용하기를 권고합니다. 2. 색상 나름 본인이 굉장히 중요하게 여기는 설정입니다.ANSI의 파란색 색상은 매우 짙어서 리눅스의 폴더를 표기하거나 c/c++의 include나 define을 처리하기에 매우 부적합하다고 생각이 듭니..
편집모드 (i,o 등로 입력할 수 있는 상태) 명령 모드(편집모드에서 esc key를 누른상태) 기 타 A 현재라인의 끝부터 문자 삽입 a 커서 다음부터 문자 삽입 I 현재라인의 처음부터 문자 삽입 i 커서 이전부터 문자 삽입 O 커서의 윗라인에 새로운 라인첨가 (처음부터 문자 삽입) o 커서의 아래 라인에 새로운 라인첨가 (처음부터 문자 삽입) r 커서위치의 한문자 치환 R 커서위치에서부터 계속 치환 cw 한 단어 치환 C 한 라인 치환 c$ 현재부터 라인끝까지 치환 cG 현재부터 파일끝까지 치환 cL 현재부터 화면 끝까지 치환 c) 현재 구 치환 c} 현재 절 치환 ~ 소문자와 대문자 서로 치환 xp 두 문자 자리바꿈 n>> n(숫자)만큼 이동 CTRL + I tab ..
- Total
- Today
- Yesterday