폐쇄망 우분투에서 인터넷이 되는 개발 환경의 패키지들을 똑같이 설치해야 될 상황이 생겼는데 다음 링크에서의 방법으로 진행하면 될 것 같다. 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일 간의 대장정이 끝이 났다. 진짜로 환급이 된다 여자친구가 매일매일 이 챌린지를 진행하는걸 보고 정말 지독하다고 했는데 결국 최종미션 대상자로 선정됐다는 안내메일을 받아낼 수 있었다. 이게 미션 시작일로부터 주말도 없이 진행해야하기 때문에 정말 쉽지 않은 도전이었던 것 같다. 여름 휴가 기간도 절묘하게 걸쳐있는 시기여서 .. 여행을 […]
[Airflow] execution_date 이해하기
Airflow DAG는 Jinja Macro 로 구현돼 있는, 사전 정의된 값들을 가져다가 사용함으로써 좀 더 다이나믹하게 구현할 수 있다. Airflow Macros reference 그 중에서도 execution_date 를 가장 자주 사용하게 되는데 이 매크로는 DagRun, TaskInstance 가 instantiated 될 때 값이 정해지면서 특정 인스턴스에 정해진 날짜 값을 갖게 해주기 때문에 추후 재작업 등을 하는데 용이하게 쓰인다. 그런데 이 […]
[JetBrains] 인터넷 안되는 환경에서 플러그인 설치하기
동료들이 전부 jetbrains의 IDE를 사용하는데 나도 이제는 갈아타야될 때가 된 것 같아서 넘어가려는 중에 IdeaVim 플러그인 설치하는거에서 애를 좀 먹었다. Vim 덕후들은 텍스트 에디터나 IDE 같은 툴이 암만 좋다고 해도 Vim 키보드 에뮬레이션이 지원되는지가 가장 중요하다. 인터넷이 가능한 환경이라면 plugins 메뉴에서 간단히 버튼 클릭 만으로 플러그인을 설치할 수 있지만 인터넷이 없는 환경에서 오프라인으로 Jetbrains IDE […]
패스트캠퍼스 자바 인강 100% 환급 챌린지 도전 시작
패스트 캠퍼스 100% 환급 챌린지 도전을 위해 주소만 만들어놨던 티스토리에 드디어 글을 쓰게 됐다. 사실 잘 쓰고 있는 워드프레스에다가 포스팅할 생각으로 챌린지 신청한 거였는데.. 네이버/티스토리/깃헙페이지 중에 등록하는 것만 가능하다고 공지가 와서 살짝 아쉽다. 그나마 예전에 블로그 플랫폼으로 쓰려고 고민했던 곳이기도 해서 한번 체험해보고자 티스토리를 선택했는데 마크다운으로만 글을 쓰다가 일반 에디터로 쓰는게 어색하긴 하지만 클립보드에 복사한 […]
[Python] JPype로 Java 라이브러리 가져다 쓰기
JPype를 이용하면 python 에서 java 라이브러리를 이용할 수 있다. 기존 프로젝트에서 자바로 만들어놓은게 있고 굳이 파이썬으로 다시 만들어 쓸 시간이 없을때 jpype를 유용하게 쓰고있는데, 성능 이슈가 없는 작업이나 후딱 치워버리고싶은 일회성 작업을 하는데 진짜 도움이 많이 된다. 암복호화같은것들? java는 python 보다는 오래전부터 인기가 있던 언어여서 그런지 인터넷을 뒤져보면 java로 만들어진 라이브러리는 있는데 python 버전은 없는 […]
[network] 폐쇄망 로컬 환경에서 CA-signed SSL 인증서 이용하기 (“trusted” self-signed certificate)
로컬 개발 환경을 production 환경과 맞춰서 secure 통신으로 세팅을 해놓으면, https 를 비롯해서, 기본적으로는 여러 경고 문구들과 마주할 수밖에 없다. 웹브라우저라면 몇번의 클릭으로 넘어갈 수도 있겠지만 여러 서버 모듈이 있다면 서로간의 통신에서 검증 단계를 스킵하는 코드를 심어야하는 번거로운 작업이 많이 발생할 수도 있다. 이런 귀찮은 일들을 줄이고 시각적인 만족감을 위해서는 로컬 환경을 "신뢰받는" 환경으로 만들어버리면 […]
[nginx] reverse proxy & SSL offload 설정
nginx 설치 curl https://nginx.org/download/nginx-1.19.1.tar.gz | tar xz cd nginx-1.19.1 && ./configure –prefix=/usr/local/nginx –with-http_ssl_module make && make install reverse proxy 및 SSL offload 설정 cd /usr/local/nginx 경로로 이동해서 vim conf/airflow.conf 설정파일을 다음과 같이 만들어준다. events { use epoll; multi_accept on; worker_connections 4096; } http { server { listen 80; server_name airflow.centos.vm.oboki.net; root html; location / { […]
[Airflow] RBAC
RBAC; Role-Based Access Control 참고: https://airflow.apache.org/docs/stable/security.html#rbac-ui-security Airflow 1.10.9 버전 이후 Web UI가 Flask-Admin에서 Flask-Appbuilder 기반으로 변경되면서 RBAC를 활성화할 수 있다. 다음과 같이 다섯개의 Role 이 정의돼 있고 이 외에도 커스텀 롤을 생성할 수 있다. Admin Op User Viewer Public 각 Role들은 아래와 같은 형태의 권한들의 집합인데 세부 권한들은 다음과 같은 형태로 정의 돼 있어서 […]