Welcome! 🙋‍♂️ View more

분류 전체보기 40

[MLOps] Windows 환경에서 kubeflow 설치하기

최근 부서를 옮기게 되면서 MLOps 업무를 시작하게 되었습니다. 현재 회사에서 중점적으로 사용하고 있는 툴이 Kubeflow인데, 이 툴에 대해서 심층적으로 탐구하고자 개인적으로 설치를 진행하게 되었습니다. 근데... 이게 생각보다 쉽지가 않았습니다.... 저같은 삽질을 하지 마시라고 글을 작성합니다.... 시작! 🤸‍♂️ 우선 어떻게 설치를 하는지는 kubeflow 공식 페이지를 통해서 확인하는 것이 가장 낫습니다. (여기저기 참고하면서 진행했!는데 안 되는 것이 너무 많더라... ) 공식 페이지는 아래를 참고하세요. 가장 최신 버전도 알아서 업데이트되니 여기서 확인하는 것이 가장 좋습니다. https://www.kubeflow.org/docs/started/installing-kubeflow/ In..

[GitHub] TIL README.md 업데이트를 자동화 해보자! (TIL README Automation)

TIL (Today I Learned) 말 그대로 '오늘 내가 배운 것'을 기록하는 것입니다. 부족한 점을 채우기 위해서 매일매일 꾸준히 커밋하고 있습니다. https://github.com/DeepFlame-JR/TIL GitHub - DeepFlame-JR/TIL: ✨Today I Learned ✨Today I Learned. Contribute to DeepFlame-JR/TIL development by creating an account on GitHub. github.com 다만, TIL을 진행하다보면 새로운 파일을 올릴 때마다 README.md 파일을 업데이트하는 것이 상당히 귀찮습니다. 이 과정을 자동화하는 방법이 있어 소개시켜드리고자 합니다. 자동화 설정 방법은 GitHub Action ..

Personal 2022.08.24

[Algorithm] 알고리즘을 위한 Scala 기본 문법

Scala란 함수형 객체지향 프로그래밍 언어로써 Spark를 사용할 때 빠른 성능을 이용할 수 있음으로 데이터 엔지니어링 역량에 필요한 언어입니다. 필자는 Scala언어와 친해지기 위해서 Scala 언어를 활용하여 많은 알고리즘 문제를 풀어보았습니다. https://github.com/DeepFlame-JR/Algorithm_Solving GitHub - DeepFlame-JR/Algorithm_Solving: 알고리즘 문제 풀이 알고리즘 문제 풀이 . Contribute to DeepFlame-JR/Algorithm_Solving development by creating an account on GitHub. github.com 아래에 알고리즘에 필요한 Scala 기본 문법에 대해서 정리해보겠습니다...

[Leetcode/Python] 96. Unique Binary Search Trees

https://leetcode.com/problems/unique-binary-search-trees/ Unique Binary Search Trees - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 🤔 문제. n 개의 노드가 주어졌을 때, BST를 구성할 수 있는 경우의 수를 구하는 문제이다. 🤗 풀이. 처음에는 BST를 모두 구현을 해야하나...? 라는 생각이 들었다. (그러나 leetcode 특성상 그런 무식한 문제는 잘 없다.) 하지만 이내 이 문제는 ..

[Airflow] 2.3.0 릴리즈 주요 변화 사항을 간단하게 알아보자

Airflow가 2022년 4월 30일 버전 2.3.0을 릴리즈했습니다. 2.0.0 버전 업데이트 이후 가장 큰 변화라고 하는데, 주요 변화 사항을 간단하게 알아보도록 하겠습니다! 🔥 1. Tree뷰의 변화 가장 크게 눈에 띄는 변화입니다. 기존에는 수행별로 Task의 상태만 확인할 수 있었고, 중간에 구별선이 없어서 해당 상태(네모)가 어느 Task의 상태인지 구별하기가 어려웠습니다. 하지만 이것이 Grid View로 변경되면서 어느 Task가 어떤 상태인지 명확하게 확인할 수 있게 되었습니다. 또한 수행 시간이 제공됨으로 실행이 너무 오래 걸리거나, 너무 빨리 끝나는 상황에 대한 이상현상을 좀 더 빠르게 확인할 수 있게 되었습니다! 추가적으로 저 네모를 클릭하여 확인할 수 있는 상세 화면이 기존에는 ..

[HIVE] 하이브-Python 연동 (feat. sqlalchemy)

프로젝트를 진행하면서 Python을 통해 Hive를 컨트롤하는 니즈가 발생했다. sqlalchemy를 활용하여, create select insert를 구현했다. sqlalchemy 란? Python에서 사용가능한 ORM(Object-relational maping)이다. 즉, 데이터베이스의 데이터를 Object필드와 매핑해준다는 것이다. 사실 DB의 스키마와 Object는 서로 기존부터 호환가능성을 두고 만들어진 것이 아니기에 불일치가 발생하는데,, ORM은 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성하여 이러한 불일치를 해결한다. 이를 통해서 쿼리를 실행할 수도 있고, Python의 Dataframe과 데이터베이스간을 연결할 수 있다. Hive-Python 연동 1. select from sq..

[Airflow] Docker를 활용한 Airflow 구축

필자는 개인 프로젝트를 진행하며, Airflow를 통한 워크플로우 자동화를 구축했다. https://github.com/DeepFlame-JR/Stock_and_Forum GitHub - DeepFlame-JR/Stock_and_Forum: 주식 가격과 네이버 종목토론방의 내용을 시간별로 수집 주식 가격과 네이버 종목토론방의 내용을 시간별로 수집. Contribute to DeepFlame-JR/Stock_and_Forum development by creating an account on GitHub. github.com 어느 날, 모든 작업을 수행한 Task가 계속 Running 상태로 남아있었다. 구글링을 해보니, 한 작업에서 많은 리소스를 사용하게 되면 위와 같이 되는 버그가 있는 것을 확인했다...

[Docker] Docker-Compose에서 같은 이미지로 여러 컨테이너 생성하기

🤔 문제 상황 # docker-compose.yaml version: '2' services: app01: image: app app02: image: app app03: image: app app04: image: app app05: image: app 위와 같이 같은 이미지에 대해서 다중의 컨테이너를 생성해야할 때, 위와 같은 비효율적인 파일이 생성된다. 만약 이미지별로 많은 설정들이 있다면 더욱더 복잡해질 것이다. 😀 해결 docker-compose up -d --scale app=5 docker-compose 파일을 빌드할 때 설정값을 수정하면 간단히 해결할 수 있다! 필자의 경우, 같은 airflow-worker 이미지에서 복수의 컨테이너를 생성해야해서 사용하게 되었다. 출처 https://st..

[프로그래머스/Python] 경주로 건설

https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 🤔 문제. (0,0)에 있는 자동차가 (n-1,n-1)로 이동하는 데 드는 최소 비용을..

첫 번째 토이 프로젝트 회고 (방탈출 취소 자리 찾기) (feat. AWS EC2, 웹크롤링, node.js)

나의 첫번째 토이 프로젝트가 끝났다. 그에 따라 프로젝트 주제 선정과 프로젝트를 진행하면서 고민했던 부분을 회고해보고자 한다. 🙋‍♂️ 목차는 아래와 같다. 주제 정하기 웹 정보 크롤링 웹 서버 만들기 AWS EC2를 활용하여 서비스 구축 마무리 1. 주제 정하기 토이 프로젝트란 무엇인가... 🤔 토이 프로젝트란 거창한 프로젝트가 아니라 장난감(토이)를 가지고 놀 듯 흥미 위주의 프로젝트를 진행하는 것으로 생각하면된다. 나의 경우, 평소에 불편했던 점 또는 이런 서비스가 있으면 참 좋을텐데... 라는 생각으로 접근했다. 방탈출 취소 자리 찾기! 그래서 생각한 것이 방탈출 취소 자리 찾기이다. 홍대 디코더의 Tempo Rubato의 경우, 1년간 예약이 꽉 차있다. 1년 뒤 열리는 자리를 예약하는 것보다 ..