쿠버네티스 파드 네트워크 정리 (Kubernetes Pod Networking)

Pod 안에 있는 모든 컨테이너들은 localhost로 서로 통신할 수 있고, 쿠버네티스 클러스터내 모든 Pod는 CNI 네트워크 플러그인을 이용해 서로 통신할 수 있다. Flannel을 이용한 오버레이 네트워크를 통해 Pod가 서로 통신하는 방식을 알아본다.
Read more →

도커 네트워크 요약 (Docker Networking)

도커를 설치하게 되면 생기는 일 Docker를 설치한 후 Host의 네트워크 인터페이스를 살펴보면 docker0라는 가상 인터페이스가 생긴다. docker0는 일반적인 가상 인터페이스가 아니며 도커가 자체적으로 제공하는 네트워크 드라이버 중 브리지(Bridge)에 해당한다. 도커에서 사용할 수 있는 네트워크 종류는 브리지(bridge), 호스트(host), 논(none) 등이 있다.
Read more →

Github Action 빠르게 시작하기

Github Action이란? Github Action은 Github 저장소를 기반으로 소프트웨어 개발 Workflow를 자동화 할 수 있는 도구이다. 간단하게 말하자면 Github에서 직접 제공하는 CI/CD 도구라고 할 수 있다. Workflow는 Github 저장소에서 발생하는 build, test, package, release, deploy 등 다양한 이벤트를 기반으로 직접 원하는 Workflow를 만들 수 있다. Workflow는 Runners라고 불리는 Github에서 호스팅 하는 머신의 Linux, macOS, Windows 환경 그리고 컨테이너에서 실행할 수 있다. 물론 Runners를 사용자 호스팅 환경에서 직접 구동시킬 수도 있다.
Read more →

[독후감] 하룻밤에 읽는 Go언어 이야기

2016년 후반쯤 Go언어를 처음 접하고, 토이 프로젝트도 하면서 열심히 공부했던 기억이 난다. 오프라인 그룹 스터디도 만들어서 간단한 채팅 프로그램을 만들며 새로운 언어를 익혀갔는데… 그 뒤로 열심히 파이썬만 파느라 그만뒀다. 그러다가 이제 다시 Go언어를 시작 해보려고 한다. 그동안 대부분 파이썬으로 개발했었는데 좀 더 빠른 언어를 배워두면 적절히 활용할 수 있을 것 같다. 어쨌든 새로운 것을 시작하려면 뚜렷한 목표와 충분한 명분이 필요하다. ‘요즘 핫하다’, ‘어느 회사에서 쓴다더라’ 같은 말을 앞세우기 보다 스스로 직접 선택의 이유와 기준을 만드는 과정이 필요하다.
Read more →

Jetbrains Upsource - 뜻밖에 고퀄리티 코드 협업 도구 (Reverse proxy와 함께 Docker로 설치하기)

Upsource 소개 Upsource는 Jetbrains에서 만든 코드 리뷰 도구이다. Upsource는 웹 브라우저를 통해 코드 변경사항과 커밋 메시지, 커밋한 사람, Diff 보기, 코드 리뷰 생성과 의견을 주고받을 수 있는 기능을 제공한다. Github이나 Gitlab 등이 제공하는 저장소 히스토리 그래프와 커밋 내용, 브랜치도 모두 볼 수 있다. 하지만 Git 저장소를 직접 호스팅하는 기능은 갖고 있지 않다. Upsource의 근본적인 컨셉은 코드 리뷰 협업에 있기 때문이다. 이미 모든 회사에서 Github, Gitlab, Bitbucket 같은 Git 호스팅 서비스를 사용하고 있고, 이미 이 시장을 선점하고 있는 3대장(서로간 격차는 무시하고)과 굳이 비벼볼 필요는 없지 않을까 생각한다.
Read more →

2019년 회고

올해 정말 많은 일이 있었다. 열심히 노력해서 얻은 결실도 있었고, 그것에 대한 보상인지 내 가정에 큰 행운이 찾아오기도 했다. 당연히 좋은 일만 있던 것은 아니었지만 그때마다 가족과 친구들이 많은 힘이 되어줬다. 자 그럼 본격적으로 2019년 회고를 시작한다.

👨‍💻일 기술 발표 문화 - 29CM Developer Conference (29DCF) 개발팀이 경험한 것과 배운 것들을 정기적으로 공유하는 자리를 만들려고 노력했다. 사실 개인적인 목표는 나중에 더 큰 무대에서 발표를 잘하려면 발표 경험이 많아야 한다는 나름의 소신이 있기 때문이다.

Read more →

가장 보통의 파이썬 개발 환경 (Pyenv + Pipenv + Black + Flit)

파이썬 개발을 시작하면서 만나게 되는 여러 가지 선택과 궁금증에 대한 가장 보통의 선택을 할 수 있는 가이드다. 파이썬 버전을 여러 개 설치하는 방법, Virtualenv는 무엇이며 어떻게 쓰는 것인가, 코드 스타일 가이드(PEP8) 지키기 위해 유용한 도구들과 다른 파이썬 라이브러리를 설치하고 관리하는 방법, 마지막으로 직접 파이썬 패키지를 만들어서 배포하는 가장 쉬운 방법에 대해 알 수 있다.
Read more →

파이썬 코드 스타일(pep8)을 Black으로 자동 포맷팅하기

Black은 파이썬 소프트웨어 재단(PSF)에서 개발하고, PEP8을 기반으로 가독성이 더 좋은 코드 스타일로 고쳐 주는 자동 포맷터이다.
Read more →

헤로쿠에서 크론탭처럼 작업 스케줄링 - Heroku Scheduler

Heroku에서 Crontab처럼 작업을 스케줄링 할 수 있는 Add-on을 소개합니다.
Read more →

RabbitMQ 클러스터 구성하기

RabbitMQ를 클러스터로 구성하고, HA(고가용성)를 위한 Mirroring(미러링) 설정하는 방법을 설명 합니다.
Read more →