프로젝트를 진행하면서 docker, docker-compose 는 많이 사용했지만 kubernetes, helm 은 사용할 기회가 별로 없었다. 하지만, Marimba 에 조인되어 개발을 하다보니 helm 을 이용한 kubernetes batch job 이 필요하여 구성한김에 정리 해본다 :)

kubernetes 와 helm 을 설명하기 위해선 정말 많은 것들이 필요하니, 여기에서는 아주 아주 간단하게 아래와 같이 정리해 본다 :)

  • kubernetes 는 docker container 를 POD(kuberetes 의 최소 배포 단위로 하나 이상의 컨테이너를 가짐)단위로 배포한다. POD 에는 컨테이너 및 네트워크, 스토리지 …

MySQL 을 사용하다보면 Table Scheme 를 변경하는 작업중에 foreign key 때문에 고민하게 되는 경우가 있다. 데이타가 없어서 Table 을 Drop 하고 새로 만들어 버리는 경우는 크게 문제가 되지 않지만, 운영중으로 데이터를 유지 해야 하는 경우는 데이터를 Script 로 백업하고 Table 을 Drop 하고 Create 하고 데이터를 Restore 해야하는 번거로운 단계를 거쳐야 한다.

하지만! MySQL 에는 foreign key 를 일시적으로 Diable 해주는 기능을 제공한다.!

이 기능을 이용하면 아래와 같이 foreign key disable -> alter table -> foreig …


RuntimeError:*******************************************************************CMake must be installed to build the following extensions: _dlib_pybind11*******************************************************************

pip 로 dlib 패키지를 설치하는 경우 CMake must be installed 에러가 발생하는 경우가 있다. 이런 경우는 아래와 같은 명령어로 쉽게 해결이 가능하다.

# osx

$ pip install cmake

# Linux

$ sudo apt-get install python python-pip build-essential cmake pkg-config libx11-dev libatlas-base-dev libgtk-3-dev libboost-python-dev -y

Github 보안을 위해 Github Two Factor 인증을 하고 나서 git pull, push 등의 명령어를 입력하고 ID/PW 를 입력하면 아랭와 같이 fatal: Authentication failed 메세지가 발생하는 문제가 발생 하게 된다.

이 문제는 Github Two Factor 인증으로 인해 기존 password 로는 인증 할 수 없기 때문에 나타나는 현상으로, 이를 해결 하기 위해서는 아래와 같이 Setting > Developer settings 화면에서 Personal access tokens 을 생성 해서 사용해야 한다. 참고로, Personal access tokens 생성시에는 맨 상단의 …


docker 를 사용하다 보면 여러 container 들을 한번에 구성하고 싶어진다. 이런 이유로 docker-compose 를 사용하게 되는데, 이런 경우 각각의 container 간의 network 를 어떻게 연결해야하는지가 고민이 되게 된다.

container 간의 network 를 연결하는 방법 중 하나는 docker-compose 설정 파일에서 network_mode: "host" 로 설정하여 host 의 네트워크를 container 에 할당해 버리는 것이다. 하지만, 이방법은 osx 에서 동작되지 않는 문제가 있다. 또 하나의 방법은 docker-compose 에서 container 를 구성할때 hostname …


Ubuntu 18.04 를 잘 사용 하고 있었는데 갑자기 Wifi 연결 속도가 엄청나게 느려지는 현상이 발생되었다. 갑자기 이 문제로 인해 당황하여 작업 하던 것들을 멈추고 리부팅도 했지만 해결이 되지 않아다. ㅠㅠ

혹시 장치 드라이버 문제인가?
혹시 Wifi 공유기 문제인가?

했지만, 이 문제는 Linux 에서 간혹 발생하는 문제였다.

이 문제를 해결하는 방법은 여러 방법이 있지만, 시스템 설정을 크게 변경하지 않는 2가지 방법은 정리 해보았다 :)

  • Wifi 가 Atheros 인 경우 아래와 같은 설정을 추가한다.
    이 설정은 Wifi 모듈이하드웨어 암호화보다 소프트웨어 기반 암호화를 사용하도록 변경 하는 설정이다.
# 아래 명 …

Linux(or Ubuntu) 를 사용하다 보면 종종 예상하지 못하는 트러블 슈팅 경험을 하는 경우가 많습니다. Linux 를 사용한다는 것은 이런 저런 트러블 슈팅을 재밌게 즐길수 있다는 것과 비슷한 의미를 갖는 것 같습니다.

이런 저런 트러블 슈팅 중 가장 당황스럽게 하는 경우는 잘 동작하던 Device 가 사라져버리는 것과 같은 경우일 것입니다. 예를 들면 Dell Xps 9560 에 Ubuntu 18.04 를 잘 사용하고 있었는데, 갑자기 Sound Device 가 사라져서 Sound 가 나오지 않는 경우처럼 말입니다.

Output Device 에 아무런 정보가 나오지 않는 경우

이렇게 Sound Device 를 갑자기 인 …


Linux 를 사용하다 보면 주기적으로(10분, 1일, 일주일 등) 작업을 수행하는 경우가 많습니다. 이런 작업 스케쥴을 관리해주는 것이 바로 crontab 입니다.(crontab 이라는 이름도 시간을 의미하는 그리스어 “Chronos” 에서 가져 왔음)

Cron 의 작업은 실행 주기와 실행할 명령을 텍스트 파일에 정의 합니다. crontab에서 사용되는 구문은 아래 그림처럼 쉽지만 어렵습니다. 항상 이런 crontab 을 작업 스케쥴을 등록할 때면 한참 고민하고 등록을 하게 됩니다. Python 을 이용하면 이렇게 쉽지만 어려운 crontab 을 쉽게 관리 할 수 있습니다.

jjeaby(Lee yong jin)

Test Eng? Test Devloper? Devloper?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store