반응형

전체 글 50

How to use TaskFlow API (@task) while using an Operator other than Python

Introduction TaskFlow API paradigm is introduced as part of Airflow 2.0 and contrasts this with DAGs written using the traditional paradigm. In this data pipeline, tasks are created based on Python functions simply using the @task decorator. The function name acts as a unique identifier for the task. But how do I use Python and other operators together? Let's check it out. QuickStart You just si..

PolarDB에서 OSS에 있는 csv파일 로드하기 (FOREIGN TABLE)

Introduction 이번 포스트에서는 PolarDB (for MySQL or PostreSQL)을 이용해 OSS (Object Storage Service)에 업로드한 CSV파일을 간단하게 읽는 방법에 대해서 설명한다. 이 방법을 통해 AWS의 Athena나 Redshift Spectrum처럼 PolarDB에서도 OSS에 있는 CSV형식의 파일에 다이렉트로 쿼리할 수 있다. Prerequisites 버전 확인 Alibaba cloud 공식 문서에 따르면 PolarDB for MySQL의 경우 아래 버전을 만족해야 한다. : A cluster of PolarDB for MySQL 8.0.1 whose revision version is 8.0.1.1.25.4 or later. A cluster of P..

Github Actions로 초간단 코드 배포하기 (SSH)

글 순서 이번 포스팅에서는 Github Actions를 이용해 아주 간단하게 코드를 원격 리눅스 서버에 배포하는 기능을 구성해보도록 하겠다. 코드 배포에는 Ubuntu를 기준으로 작성되었으며 SSH와 SCP를 이용한다. 이게 제일 간단하다. SCP를 이용하면 복사할 때 중복되는 파일을 덮어쓰기 됨에 유의하자.  Prerequisites- 서버의 public access 개방- 배포할 서버에 접속할 수 있는 key pair (pem파일)Quick Start Github Actions에 들어가서 main 브랜치에 대해 actions를 생성한다. 아래 내용을 작성하면 자동으로 아래 경로에 yml파일이 만들어 진다.  .github/workflows/main.ymlname: Code deployon: work..

벡터 데이터베이스로 검색을 강화하다.

벡터DB (Vector Database) 벡터DB는 말그대로 벡터를 저장하는 데 사용되는 데이터베이스로서 여기에는 텍스트나, 이미지와 같은 비정형 데이터를 벡터로 바꾸어서 저장하게 된다. 기존의 관계형 데이터베이스 (RDB)는 대용량 텍스트나 이미지를 비롯한 다양한 미디어 형태의 비정형 데이터를 저장하기에 적합하지 않았다. 따라서 이러한 데이터는 NoSQL에 저장하게 된다. 한편 이렇게 다양한 데이터를 저장하는 건 좋으나 정작 데이터를 찾으려 할 때 새로운 해결책이 필요하게 되었다. 대용량의 문서, 이미지, 심지어는 동영상과 같은 데이터는 어떻게 검색할 것인가하는 문제를 해결하기 위해 벡터DB가 등장하였다. 결과적으로 현재까지 비정형 데이터의 정보 검색에는 벡터DB가 많이 활용되고 있다. 벡터 임베딩 (..

AMD 미니 PC 가성비 BEST 3 (2023년 하반기)

가성비 미니 PC 그냥 이거 사. 미니 PC의 매력은 뭘까? 미니PC의 작은 크기는 공간을 넓게 쓸 수 있다는 게 가장 큰 매력일 것이다. 하지만 그뿐일까. 그 이상의 미니PC가 주는 매력은 편의성과 디자인이다. 십수년이 넘게 한국시장을 장악해온 조립형 PC에 진절머리가 난 소비자들은 이제 더 이상 스펙을 비교하고 사양을 커스터마이징할 필요가 없어졌다. 프로세서의 성능은 이미 충분히 좋아졌고 이는 가벼운 게임을 즐기는 유저들에게도 충분한 솔루션이 되고 있다. 이번 포스팅에서도 역시 한국에는 정식 수입이 되지 않는 제품들까지 포함하여 여러 미니PC들을 비교해보겠다. 소개할 제품들은 passmark 점수 20,000 언저리급의 프로세서가 탑재된 제품들이며, 이 구간이 성능도 적당하고 가성비가 높다. 참고로 ..

Consumer Tech 2023.10.31

[Python 문제 풀이] 프로그래머스 '배달'

Programmers Lv.2 '배달' 파이썬 코드 및 풀이 Dijkstra 알고리즘을 몰라도 DP적으로 접근하면 풀 수 있다. 접근 출발지가 정해져 있고 출발지에 인접하지 않은 지점은 반드시 어딘가를 거쳐서 온다고 확신할 수 있다. 그렇다면 거쳐온 중간지점까지 누적된 거리에 추가로 한 단계의 거리만 추가하면 출발지로부터의 거리가 된다. 어느 한 위치의 관점에서 봤을 때 여기서 주변 지점으로 더 나아갈 수 있는지 없는지만 확인하면 된다. 그리고 도달 가능했던 지점들에 대해서 도달가능한 지점이 없을 때까지 이전 수행결과를 전파시키면 된다. 이는 큰 문제를 작은 부분 문제로 쪼개 생각하는 DP와 완벽히 동일하다. 그도 그럴게 Dijkstra가 애초에 DP의 특수한 케이스이다. 현실에 적용하기 안성맞춤인 알고..

CBDC의 특징과 한국에서의 중요성

CBDC란? CBDC는 Central Bank Digital Currency의 약자로, 중앙은행이 발행하는 디지털 화폐를 말한다. 기존의 화폐는 지폐나 동전과 같이 물리적인 형태로 존재하지만, CBDC는 전자적으로 존재하는 화폐이다. 사실 계좌에 예치되어 있는 우리의 예금도 전자화 되어있다고 할 수 있다. 그러나 화폐 자체가 전자적으로 존재하는 것은 아니다. 은행이 일정량 이상 현금을 보유해야 하고, 타국 간의 통화 스와핑을 통해 외화 또한 일정량 보유해야 한다. 이러한 측면에서 CBDC는 다음과 같은 이점을 가진다. 효율성: 실시간으로 전 세계 어디든지 송금할 수 있다. 실시간이라는 것은 자국 은행간의 계좌이체와 속도가 같아짐을 의미한다. 자국 혹은 해외를 불문하고 전체적인 속도도 빨라진다. 은행이 현..

Finance 2023.10.24

간단하게 온라인에서 Python 실행하기 (JupyterLite)

What is JupyterLite? 이번 포스팅에서는 주피터 노트북을 온라인에서 쉽게 실행할 수 있는 주피터라이트에 대해 소개한다. JupyterLite 바로가기 JupyterLite jupyter.org JupyterLite란? JupyterLite는 다양한 유즈케이스를 위해 도구, 표준 및 서비스를 제공하는 Project Jupyter의 일환으로 개발된 실험적인 기술이다. 무료로 제공되는 JupyterLite는 브라우저에서 실행되는 자체 Jupyter 환경을 제공한다. JupyterLite는 Pyodide Project를 통해 Python환경을 브라우저에서 제공하며, 커널을 포함한 Jupyter Notebook의 웬만한 환경은 모두 사용가능하다. Pyodide는 CPython을 WebAssembly..

[Python 문제 풀이] 프로그래머스 '하노이의 탑'

Recursive method로 풀 수 있는 아주아주 유명한 문제 접근 DP 방법으로 접근하여 작은 문제로 분해해야 한다. 디스크는 큰 것이 아래로 가야 하기 때문에 디스크를 옮기다 보면 결국 target pole의 가장 아래에 가장 큰 디스크를 먼저 놓게 될 것이다. N개의 디스크가 있다고 할 때 일반화된 과정은 다음과 같다. 1. N-1개의 디스크를 mid pole로 옮긴다. 2. N번 째 디스크를 target pole로 옮긴다. 3. N-1개의 디스크를 target pole로 옮긴다. *N-1까지의 디스크를 옮길 때에는 source pole, mid pole, target pole이 번갈아가며 바뀐다. 위와 같이 큰 하나의 문제가 두 개의 부분문제로 나뉠 수 있고 그것들이 다시 더 작은 문제로 나뉜..

반응형