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

IntelliJ IDEA Competitive Discount

IntelliJ IDEA 경쟁적 할인 프로그램을 활용하면 구매가의 25%를 할인받을 수 있다.

미리 핵심부터 이야기하자면, 타 개발 도구 구매 내역을 증빙할 수 있는 자료를 제출하면, Jetbrains 담당자가 해당 제품 정가의 25% 할인된 가격으로 주문을 만들어준다. 국산 Software인  Editplus로도 할인 받을 수 있었다. 그 결과 저렴하게 intelliJ IDEA 개인 라이센스를 구매할 수 있었다.

저렴하게 할인 받을 수 있는 기회를 준 Jetbrains에 고맙게 생각하며, 구매과정을 친절하게 안내해준 Jetbrains 직원 Dominica에게 고마움을 표한다.

아래에는 과정과 절차를 기록해 두었다.

Read more