mocha, jasmine 원하는 테스트만 실행/제외

Mocha에서 원하는 테스트만 실행하려 할 때는 .only를 사용하면 된다. 다음 예제의 경우 test 1만 실행된다. describe(‘description’, () => { it.only(‘test 1’, () => {}) it(‘test 2’, () => {}) }) 그리고, 다음의 경우에는 description 1의 test 1, 2만 실행된다. describe.only(‘description 1’, () => { it(‘test 1’, () => {}) it(‘test 2’, () => {}) }) … Read more

IntelliJ IDEA Preview 한글 깨짐

IntelliJ IDEA를 설치하면, 안드로이드 개발시 Layout xml의 Preview 창에 한글이 깨진다. 해결하기 위해서는 폰트를 재설정 해 주어야 한다. 필자는 금번에 Jetbrains의 Toolbox를 사용하여 IntelliJ IDEA를 설치하였다. 그래서 설치 경로는 다음과 같았다. $HOME/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/172.4574.11/ 폰트 설정 파일은 위의 경로 하위로 다음 경로에 있다. plugins/android/lib/layoutlib/data/fonts/fonts.xml 노토 산스 CJK면 한글이 깨지지 않아야 할 것 같은데 깨지는 문제가 있다. 아래의 … Read more

IntelliJ IDEA 단축키 사용기

Jetbrains Night 서울에 참석한지 아직 일주일도 지나지 않았지만, 지난 한 주간 단축키 몇 개 더 쓰면서 들었던 생각과 금주에 학습하고 활용한 단축키를 몇 가지 소개하려 한다. 이전 포스팅에서도 언급했듯 한글97의 단축키는 대략 80% 이상을 외워서 사용했다. 물론 마우스 사용은 극도로 꺼렸는데, 그 이유는 문서 작업의 흐름이 끊기기 때문이었다. 단축키 5-6개로 작업 할 동안 마우스로는 한 … Read more

docker-compose WordPress 세팅 – 2부. wordpress, nginx 설정

지난 1부에서는 docker-compose WordPress 세팅을 위한 mariadb 설정에 대해 다루었습니다. 2부에서는 wordpress와 nginx 설정을 통해서 워드프레스를 구동해 보도록 하겠습니다. docker-compose WordPress 설정 여기에서는 WordPress를 컨테이너로 띄울 것입니다. WordPress를 php 7.1으로 구동하는 fpm으로 띄울 것이며 도커 이미지 경량화를 위한 alpine 리눅스 이미지를 사용할 것입니다. 관련 사항을 docker-compose.yml에 추가하겠습니다. 1부에서 mariadb의 환경변수를 추출했던 것처럼 .env에 환경 변수는 … Read more

JetBrains Night 서울

JetBrains에서 필자가 관심갖고 있는 영역을 모두 행사에서 다룬다고 한다. 첫째는 IDE Tips & Tricks 파트다. Webstorm에 이어 PhpStorm과 PyCharm까지 사용하다가 Android Studio를 사용해야 하는 상황까지 되어서, IDE를 여러개 쓸 수 없다는 생각에 IntelliJ IDEA까지 구매를 했음에도, 사실 아직도 많은 단축키를 제대로 활용하고 있지 못한 점이 영 마음에 걸린다. 과거에 한글97 워드프로세서의 단축키 80-90%를 암기해서 쓸 … Read more

phinx 실행시 timezone 문제 발생하는 경우

사실 phinx의 문제라기보다는 php 환경변수로 timezone이 설정되지 않아서 발생하는 경고 메시지이다. 필자는 phinx를 사용하여 마이그레이션하려할 때 아래와 같은 경고 메시지를 받았다. Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and … Read more

phinx db migration tool setting

phinx.yml 에서 host를 localhost로 할 때엔 unix_socket을 정해줘야 한다. host가 localhost인데 unix_socket이 설정되어 있지 않으면, 다음과 같은 에러를 보게 된다. [InvalidArgumentException] There was a problem connecting to the database: SQLSTATE[HY000] [2002] No such file or directory unix_socket을 사용하지 않으려면 host를 127.0.0.1로 하면 된다. 참고자료: https://stackoverflow.com/questions/22188026/sqlstatehy000-2002-no-such-file-or-directory/25782795#25782795

Database migration with alembic or phinx

어떤 언어로 개발하든 데이터베이스를 수정할 일이 생기는 경우가 발생한다. 개발자의 개발 머신과 테스트 서버 그리고 상용 서버에 이르기까지 모두 적용해 주어야 한다. 때로는 어떤 상황으로 되돌아가야 하는 경우도 생긴다. 이와 같은 DB 변경 사항 적용을 마이그레이션이라 부르며, CodeIgniter나 Laravel 그리고 Django에서는 마이그레이션 기능을 내장하고 있다. 프레임워크와 별도로 작동하는 패키지가 있는지 찾아보다가 두 가지를 발견하였다. alembic은 … Read more

Android build setting

Andriod 앱을 빌드하기 위해서는 당연히 android sdk가 있어야 한다. 예전엔 android sdk를 다운받을 수 있었는데, 지금은 sdk tools를 별도로 제공하고 있다. 사용하려면 명령줄에서 실행해야 한다. 필자는 jenkins를 docker로 띄워 놓은 상태였고 git repository로부터 webhook이 걸리면 gradlew명령어를 사용해서 apk를 자동으로 빌드하려는 상황이었다. jenkins 컨테이너 내에 jenkins 사용자의 홈디렉토리는 기본으로 /var/jenkins_home에 세팅된 것을 기준으로 정리하였다. 이후에 tools/bin에 … Read more

Python BeautifulSoup4 사용방법

Python beautifulsoup4 사용법으로 문서의 제목을 가져오고 표의 값을 가져와 보도록 하겠습니다. Python BeautifulSoup4 개요 BeautifulSoup4는 Python에서 HTML 문서나 XML 문서를 파싱하는데 사용할 수 있습니다. PyPi에서 제공되는 현재 최신 버전은 4.12.3입니다. beautifulsoup3는 2020년도에 drop 되었다고 하니 bs4를 이용하시기 바랍니다. 문서의 제목 읽어오기 문서의 제목을 읽어오도록 하겠습니다. HTML에서 문서의 제목은 head 태그 아래의 title 태그 내에 표현합니다. … Read more