목록분류 전체보기 (89)
yoncho`s blog
앞 글에서 Airflow를 Docker Container로 실행시키는 방법을 배웠다. 여기서는 Airflow의 Cluster를 배우겠다. 정확히는 Worker 들을 하나의 Cluster로 운영하는건데.왜 이렇게 하냐? => 하나의 서버에서 모든 작업을 실행 시킨다면 작업량이 많을 경우 서버 부하가 발생된다.이를 해결하고자 작업을 실행하는 Worker들을 Clustering 하는 것이다. 아래 그림은 Airflow에서 Worker들을 Clustering 하는 것이다.Master와 Airflow-worker#N 는 모두 다른 서버(PC)이고 Airflow-worker#N의 dockerfile에 Master PC의 정보를 명시해 연결해보겠다.단, 이렇게 구성을 직접 해보니.. Airflow-worker#N들..
앞 글의 내용처럼 Airflow는 Workflow 관리 툴이다 !! python 기반의 DAGs을 Scheduling & Monitoring 가능하며 Operator 종류도 다양해 ssh 접속, python 함수, shell 명령어 등의 동작 수행이 가능하다! Airflow 구성을 위해선 가상 환경(venv, linux계열)이 필요하고특히, 복잡한 Airflow 구성을 언제든 빠르게 타 PC로 이식할 수 있게 Docker Image와 Docker Compose 파일로 구성할 수 있다. 본 글에서 Window PC 환경에서 WSL에 Ubuntu-18.04에 Docker로 Airflow를 구동시켜보겠다. #목차1. 환경 및 필요 파일2. Local WSL(ubuntu-18.04) port forwardi..
1. Airflow란?초기 airbnb(Airfbnb) 엔지니어링 팀에서 개발한 워크플로우 오픈 소스 플랫폼이다. 추후 apache로 넘어갔다.*워크플로우 : 의존관계 작업(Task)의 집합프로그래밍(python) 방식으로 워크플로우를 작성하고 예약(*Scheduler), 모니터링(*Monitoring) 할 수 있다.즉, 스케쥴러 기능을 탑재한 워크플로우 오픈 소스 플랫폼이다. 2. Airflow 구성 (a) DAG (Directed Acyclic Graph)- 순환하지 않는 그래프, 대그라 부른다.- 반복/순환은 허용되지 않으며 하나의 플로우로 구성되어 순차적으로 Task를 수행한다. (b) Operator - Task를 정의함.- Type 1) Action Operators : 기능 및 명령을 실..
대학교 4학년 여름방학때 우역곡절속에 첫 회사에 입사하게된다. 자동차에 관심이 많았던 시기, 학과 동기 누나 추천을 받고 정규직으로 바로 들어가면서 사회생활이 시작되었다. 입사지원 과정에서 합격 번복과 재면접 등 여러 일화가 있었지만 그래도 좋은 쪽으로 진행되었고 바로 합격해서 뿌듯했던 그 기억은 평생 가겠지? ㅋㅋ 입사 당시 팀명은 mobile.platform팀이였고, 팀의 목표는 HW와 SW사이 연결 계층이 되어주는 것이였다. 투입되자마자 바로 들어간 프로젝트는 SecurityFuzzer 라는 프로그램이다. 물론 초반에 이름은 없었던걸로 기억하지만, 점차 정해진게 S.F였다. S.F는 전세계 1개 있는 SW 보안 테스팅 툴 Defensics를 자동차용으로 모방해서 만드는것이였고, 기획 단계에서 시작한..
본 글은 SCM 중 운송 영역에서 고객사에게 정보 제공 혹은 담당자 업무 향상을 위해 해송 과정을 모니터링 할 수 있게 선박을 추적하기 위한 기능에 대한 설명입니다. 관련 기술 : OSM (OpenStreetMap) : 무료로 상업적 이용이 가능한 지리 정보 데이터 Leaflet : 지도 오픈 소스 라이브러리 (JS) with OSM SeaRoute : 해상 경로를 예측 표시 라이브러리 AIS (Automatic Identification System) : 선박자동식별시스템 with IMO & MMSI 선박 모니터링 예시 (*직접 개발함) *상업적 이용 가능한 무료 지도 OSM *상업적 이용 가능한 AIS 정보를 받아올 수 있는 AISHUB (단, AIS Receiver 구축) AIS 정보를 기반으로 O..
목차 : 0. 설명 1. CentOS 설정 1-1. Jenkins 1-2. Maven 2. Project 설정 2-1. Backend - pom.xml / launch.sh / application.yml 2-2. Frontend - package.json 3. jenkins 환경 설정 3-1. jenkins에 Maven 설정 3-2. jenkins에 Public Over SSH 설정 3-2. jenkins new project [Git 연결, Build Step - Maven 설정, Post Build - Public Over SSH 설정 ( SSH 및 Transfer )] Flow Diagram.io Link 0. 설명 0-1. 이번 포스트에 대한 설명을 합니다. 0-1. 이번 포스트에 대한 설명을 ..
Flow : [ Spring JDBC ] > [ JPA ] > [ Spring JPA ] > [ Hibernate ] 목차 : 1. Spring JDBC 2. JPA 3. Spring JPA 4. Hibernate - JPA 구현체 5. MyBatis #1. Spring JDBC JDBC는 Java DataBase Conneticity 의 약자로 데이터베이스에 접속할 수 있는 API이다. JAVA로 CRUD가 가능하며 Query문을 String 형태(틀)를 이용해 데이터를 주고받는다. 하지만 String 이라 입력 오타 예외 처리가 고려되지 않았고 Query 코드가 많아진다는 단점이 있다. 1-1. Feature JdbcTemplate 를 이용해 미리 정의한 Query문을 호출하고 필요한 인자를 넘겨준다..
목차 : 1. React Component Life Cycle ? 2. useEffect (*mount/ update/ unmount) 1. React Component Life Cycle? React Component Life Cycle은 3단계를 거친다. 생성되어 화면에 표시되는 Mount, 상태 변화로 화면에 표시되는 값이 업데이트되는 Update, 화면에서 제거되는 Unmount이다. 간단한 예시로 Mount에서는 초기화 작업을, Update 에서는 예외 처리 작업을, Unmount에서는 메모리 정리 작업을 수행한다고 보면 이해가 빠를 것이다. Class Component 에서는 위 그림 처럼 각 단계별로 React에서 제공하는 method가 존재한다. 근데 왜 useEffect를 배우냐? use..