최근에 팀 airflow 프로젝트를 컨테이너 기반으로 전환하면서 런타임에 디버깅하는 환경을 별도로 구축했어야했는데 Remote – containers 플러그인을 이용하면 운영환경에서 크게 변경없이 디버깅할 수 있어서 사용방법을 간단히 정리해본다. 이 확장을 이용하면 디버깅 용으로 별도 로컬 환경을 구축하지 않아도 컨테이너로 관리하는 서비스들을 운영 이미지 그대로 디버깅할 수 있는데, 아직 preview 버전이긴 하지만 사내에서 사용하고 있는 airflow 이미지 기준으로 […]
Airflow 2.x HA 구성 (3 node docker 환경)
airflow 2.0 에서 공식적(?)으로 HA 를 지원한다. 1.x 버전에서는 scheduler 프로세스를 동시에 여러개 구동하면 작업이 중복 실행될 수 있는 위험이 있었서 무조건 single 로 운영해야했고 이 때문에 가용성을 보장할 수 없었는데 2.x 에서부터는 row-level locking 을 이용해서 multiple scheduler 이용이 가능하도록 개선이 됐다. (대신 SKIP LOCKED 또는 NOWAIT 구문을 지원하는 mysql8.0 이상을 써야하는 제약조건이 있다.) […]
ec2 에서 도커로 운영하는 워드프레스 업데이트
워드프레스를 얼마전 AWS 로 옮기면서 도커로 운영하고 있다. wordpress를 aws로 옮겨보자 업그레이드 경고가 나온지 꽤 됐는데 클릭 한번으로 되는게 아니다보니 미루다가 이제서야 작업하게 됐다. 집에 서버가 돌아갈때는 괜히 한번씩 콘솔 접속 해보곤 했는데 눈에 안보이니 더 미루게 되는 것 같다. 역시 클라우드가 편한걸까 오랜만에 도커파일을 열어보니 5.7.3 버전으로, 더 미루면 안될 것 같아서, 늦은 시간이지만 […]
폐쇄망에서 wsl × vscode × docker 개발환경을 세팅해보자
Windows 10 환경에 wsl2 ubuntu × vscode × docker desktop 조합으로 개발 환경을 세팅해본다. wsl 은 기본적으로는 VM 이지만 이 조합으로 구성하면 마치 네이티브 리눅스 환경에서 작업을 하고 있는 듯이 매끄럽게 조작할 수 있는데 특장점을 꼽아보자면, 윈도우 파일시스템이 /mnt/c, /mnt/d 와 같이 unix 경로로 기본 마운트 돼 있어서 별도 통신없이 접근할 수 있고 호스트 윈도우의 […]
[도서] Refactoring 2nd Edition – Martin Fowler
Refactoring; Improving the Design of Existing Code 클린코드의 바이블이라는 리팩토링이 드디어 도착했다. 최근 즐겨 보고있는 유투브 채널 드림코딩 앨리에서 추천했던 도서여서 언젠가 꼭 읽어봐야지 하고 북마크만 해뒀었는데 지난 회식때 동료가 마틴 파울러는 천재 인 것 같다는 얘기를 하면서 꼭 보라고 추천하기에 냉큼 구매했다. 해외도서여서 배송에만 2주가 걸렸는데 조금만 더 늦었으면 의지가 사그러들 뻔 했다. 번역본을 […]
VSCode Extension 개발기 (feat. SQL Styler)
대부분의 IDE 에서는 언어별로 포맷팅 프로파일을 설정해서 배포할 수 있는 확장들이 있는데 Code 에서 SQL 용으로 쓸만한 포맷터는 없는 것 같다. 그나마 있는게 Poor Man's T-SQL 스타일에서 keyword uppercase 옵션이나 comma 위치 정도 선택할 수 있는 기능 정도 뿐인듯. 내가 하는 업무에서는 1~200 줄은 가볍게 넘어가는 SQL 코드를 많이 만들어내는데, 키워드 마다 개행을 하고 서브쿼리 […]
wordpress를 aws로 옮겨보자
wordpress를 aws로 옮겨보자 매번 이사때마다, 짐 쌀 때는 서버를 제일 마지막에 챙기고 짐 풀 때는 서버 먼저 꺼내서 구동하는 식으로 해왔었다. 그런데 이번에는 보관이사를 짧지 않은 기간동안 해야하는데 이 동안 블로그가 내려가있는게 썩 내키지 않아서 보관 기간 동안 만이라도 저 사양으로 운영하려고 찾아보니, aws 프리티어로 워드프레스 정도는 충분히 운영이 가능한 조합이 있었다. ec2, efs, rds […]
[Ubuntu] 설치된 패키지 설치파일 (*.deb) 전체 다운로드하기
폐쇄망 우분투에서 인터넷이 되는 개발 환경의 패키지들을 똑같이 설치해야 될 상황이 생겼는데 다음 링크에서의 방법으로 진행하면 될 것 같다. beginninglinux.com 링크 쉘에서 다음 명령을 수행하면, dpkg -l | grep "^ii"| awk ' {print $2} ' | xargs sudo apt-get -y install –reinstall –download-only /var/cache/apt/archives 경로에 현재 설치된 패키지 설치 파일들이 다운받아져 있다. 이걸 옮겨다가 sudo […]
바닐라 JS로 크롬 앱 만들기 강의 후기 (feat. github pages)
프론트엔드를 배워보고싶은데 패스트 캠퍼스의 앵귤러 강의가 어떻냐고 개발자들 익명 카톡방에 물어봤었는데 왜 굳이 .. 라는 반응이 지배적이었다. 앵귤러를 왜 굳이 .. 왜 굳이 패스트캠퍼스에서 .. 동시에 굳이 유료 강의부터 시작하지말고 노마드 코더 아니면 생활코딩에 있는 무료 강의부터 시작해보는건 어떻냐고 추천을 해주는 사람들이 많이 있었고 평소 유투브로 노마드 영상을 종종 접했던 터라 그나마 친숙한 노마드에서 무료 […]
패스트캠퍼스 Java 웹 개발 마스터 올인원 패키지 Online. 챌린지 참여 후기
패스트캠퍼스 Java 웹 개발 마스터 올인원 패키지 Online. 챌린지 50일 간의 대장정이 끝이 났다. 진짜로 환급이 된다 여자친구가 매일매일 이 챌린지를 진행하는걸 보고 정말 지독하다고 했는데 결국 최종미션 대상자로 선정됐다는 안내메일을 받아낼 수 있었다. 이게 미션 시작일로부터 주말도 없이 진행해야하기 때문에 정말 쉽지 않은 도전이었던 것 같다. 여름 휴가 기간도 절묘하게 걸쳐있는 시기여서 .. 여행을 […]