전체 글 144

Redis - Node.js 연동 - ClientClosedError: The client is closed

나는 업무 상 redis 를 node js 애플리케이션에 연동해서 수행해야 할 테스트 작업이 있었다. 사실 js 를 잘 다루지 못하지만, 해당 방법에 대해서는 구글링 시 많은 자료가 나오므로 비교적 손쉽게 연동을 할 수가 있었다. 내가 처음에 참고한 블로그는 아래와 같다. https://zzdd1558.tistory.com/232 [Node.js] Node + Redis 연동 후 테스트 Node.js 서버와 Redis를 연동하여 나중에 공부해볼 Redis Session관리를 하기전에 Node 서버와 Redis가 연동이 되어야 하기 때문에 Node와 Redis연동하는 방법을 알아보도록 하겠습니다 . 먼저 Node.js에서 redis zzdd1558.tistory.com 하지만 해당 내용을 참고하며 진행할 ..

쿠버네티스란? - 노드와 파드, 컨테이너 차이를 이해해보자

목차 쿠버네티스란 쿠버네티스 구성요소 - 노드 쿠버네티스 구성요소 - 파드 01. 쿠버네티스란 도커를 어느 정도 공부하다 보면, 쿠버 네티스에 대해서 많이 들어봤을 것이다. 쿠버네티스는 컨테이너 개발에 있어, 컨테이너화된 애플리케이션을 탄력적으로 실행하기 위한 프레임 워크를 말한다. 이는 컨테이너화된 애플리케이션의 로드밸런싱 & 시크릿 관리 등을 원활히 하도록 돕는다. 로드 밸런싱(load balancing): 컴퓨터 네트워크 기술의 일종으로 둘 혹은 셋 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 것을 뜻함 (동의어: 부하분산) 이는 배포를 원활히 돕는 것뿐만 아니라, 혹여 배포가 잘못되었을 경우 유연한 대처(롤백 등)가 가능하도록 돕는다. 예를 들어, 쿠버네티스를 이용하면..

다시 블로그 시작 -

포스팅을 안 한 기간 동안, 내 삶에는 많은 변화가 있었다. 데이터 엔지니어로 취업을 하고, 독립을 했다. 새로운 환경에 적응하느라 바쁘다는 핑계로 블로깅을 미뤄 왔는데, 사수님의 조언대로 개발 블로그와 일상 블로그 모두, 다시 시작해보려고 한다. (지금까지 작성했던 글이 다시 돌아보니 부끄럽기도 해서, 블로그를 더 들여다보지 않았던 것도 있었다.) 그간 배웠던 것들 그리고 앞으로 배우는 것들에 대한 정리와 기록의 시간을 꾸준히 가질 것이다. 꾸준히, 더 의미있는, 많은 이들에게 도움되는 기록을 하길 바라며! 새해(가 된 지는 벌써 한참이지만 3월은 아직 한 해의 초니까.. ) 목표. 화이팅.

Apache Airflow 처음부터 빌드해보기 + 4

현재까지 진행한 내용을 정리하자면, 우리는 VM 안에 새로운 가상환경을 만들어 airflow를 설치했다. 앞으로 우리는 DAG 파일을 만들거고, 가장 먼저 sqlite 에서 데이터를 출력해와 테이블을 생성할 것이다. 이 작업을 함께 진행해보자. 01. DAG 생성 간단한 DAG를 생성해보겠다. Sqlite에 새로운 Table을 주기적으로 생성하는 task을 만들어 볼 것이다! 앞선 포스팅에서 생성한 dags 폴더 안에, dag명을 딴 py 파일을 생성한 뒤, 위와 같이 작성해준다. 설명은 아래와 같다. from airflow.models import DAG - DAG import from airflow.providers.sqlite.operators.sqlite import SqliteOperator -..

다시 정신차리고, 앞으로 !

오늘의 아침일기 좋은 아침! 배고파서 일찍 눈이 떠진 하루다. 오늘도 많은 경험과 생각을 할 수 있는 소중한 시간이 되길 바라는 바다. 어제, 내가 정말 좋아하는 책 중 하나인 ‘타이탄의 도구들’ 을 다시 읽기 시작했다. 한 챕터씩 읽어가며 느끼는 것은, 현재 내게 조금의 동기부여가 필요하다는 것. 입사와 동시에 적응하기만이라도 바쁜 나날들의 연속이지만, 그럼에도 불구하고 나는 조금씩 앞으로 나아가야 한다는 것을 잊으면 안된다. 아니, 앞으로 나아가야만 한다. 정말 뻔하디 뻔한 말이지만, 현실에 충실하자. 주어진 시간에 최선을 다하자 ! 오늘의 할 일 1. Udemy Airflow 강의 완강 2. (중요) 무탈히 회사 근무 잘 하기 3. 전일 업무처리 기록 컨플루언스 작성 4. 운동 - 오전 스쿼트, 오..

깃(Git) 개념 및 핵심 명령어 총 정리 (1)

01. Git이란? 코드의 버전 관리 시스템 중 하나 코드를 짤 때는, 여러 명이 협업해서 하나의 버전을 생성되기 때문에, 되돌리는 과정 등이 부가적으로 필요하다. 또한 중간마다 변화사항이 생길 때마다 백업도 필요한데, 유의미한 변화를 중심으로 효율적 백업이 필요하다. 이런 버전 관리작업을 돕는 도구 중 하나가 바로 Git 이다! 02. Github란? 각자의 컴퓨터에만 존재하는 버전(local에서 만들어준 버전)을 저장/관리해주는 서비스 우리가 만약 원격 저장소에 저장을 한다면, 레포지토리에 저장된 모든 버전들을 저장할 수 있다. 03. Git 버전에 대하여 3-1. Git 내에서 버전이 생성되는 단계 Git은 세 개의 공간이 존재한다. 1. working directory (작업공간) : 내가 코드 ..

Apache Airflow 처음부터 빌드해보기+2

앞서 포스팅은 아래와 같다. https://eng-sohee.tistory.com/108 03. Apache Airflow 처음부터 빌드해보기 + 1 Airflow를 사용해본 경험은 꽤 되지만, 이는 누군가가 Docker로 사용하기 좋게 build해놓은 것을 썼기 때문에 온전히 내 것이라는 느낌이 들지 않았다. 따라서 이번 프로젝트를 진행하면서 Airflow를 처 eng-sohee.tistory.com 이제 이어서, airflow 를 본격적으로 실행하기에 앞서, 초기 사용 방법을 익혀보도록 하겠다. 01. Airflow 시작에 앞서 1-1. 앞서 생성한 가상환경 접속 source sandbox/bin/activate 1-2. airflow에서 사용 가능한 인터페이스 설명 목록 확인 이를 통해, airfl..

알고리즘 요점 정리 - 스택 큐 힙

입사 후 정신이 없어서 면접 준비를 할 때 작성한 요점 개념에 대한 글을 포스팅한다는게 깜박했다. 임시저장 게시물 부랴부랴 업로드해야겠다 !!! 목차 스택 큐 힙 스택 LIFO 데이터 간 순서를 약속하는 것이다. 마치 접시처럼, 먼저 쌓인 것이 가장 늦게 출력된다. deque (맨 앞과 뒤에 데이터를 삽입 및 삭제할 수 있도록 하는 자료형) 양방향 자료형을 쓰는데, 이는 append나 pop이 압도적으로 빠르다. 추가는 append 접근은 [-1] 삭제는 pop() 큐 FIFO 병원 대기줄과 같이, 먼저 쌓인 것이 먼저 출력된다. 즉 들어가는 순서대로 나온다. 이 또한 deque를 사용한다. 뒤에서는 append와 pop을, 앞에서 넣을땐 appendleft 앞에서 꺼낼땐 popleft를 사용한다. 큐는..

06. SQL - SubQuery 활용 방법 (A.K.A 4주차 수업 정리 (1))

SubQuery란? 큰 쿼리문 안에 들어가 있는 쿼리문을 말한다. 테이블 간 Join 작업인데, 더욱 복잡한 명령을 수행한 뒤 Join을 행할 수 있기 때문에 매우 중요한 개념이다. 1-1. Join이 아닌 SubQuery도 사용해야 하는 이유 - Join과 SubQuery 비교 만약, kakaopay로 결제한 user의 id, email, name을 보여달라는 명령을 수행해본다고 가정해본다. 이는 Join을 이용해서 (저번 시간에 배웠던 대로) 문제를 해결할 수 있다. 하지만, 만약 Join해야 할 테이블에 조건을 걸어야 하는 것이 복잡해진다면, join을 쓰기에는 역부족일 수 있다. 이럴 때 SubQuery를 사용한다. SubQuery를 이용한다면 더욱 간단히 문제를 해결할 수 있다. 01. Join..

신입 데이터 엔지니어, 합격을 하기까지의 여정

안녕하세요 한소희입니다. 저는 입사를 앞둔 신입 데이터 엔지니어가 됐습니다. 데이터 엔지니어를 준비하게 된 계기 및 과정, 취업 과정까지 겪었던 기나긴 여정을 스스로 회고하고자 포스팅해보려 합니다. 목차 어쩌다가 '데이터 엔지니어'라는 꿈이 생겼나 데이터 엔지니어를 준비하던 과정 이력서 그리고 면접 합격과 다짐 01. 어쩌다가 '데이터 엔지니어'라는 꿈이 생겼나 1-1. 대학교 2학년, SCM에서 데이터를 발견하다. 나는 산업경영공학과 출신이다. 1학년 때 배웠던 산업공학개론을 듣고, 물류유통에 흥미가 생겼다. 따라서 물류유통 관련 외부 대외활동들을 하며 인사이트를 키웠다. 나는, 이 과정 속에서 큰 기업의 성공 전략이 모두 데이터에 귀결됨을 깨달았다. 한국청년물류포럼 활동 중 세미나에서 내가 발표했던 ..