전체 글 144

WEV2VEC2 튜토리얼을 활용하여, STT 이해해보기

지난 4월 12일, 휴대폰을 두고 화장실에 들어갔다가 갇힌 남성의 사연이 화제였다. 살려달라 외쳤지만 나아질 기미가 보이지 않자, 방 안 휴대폰을 떠올렸다고 한다. 그래서 그는, '하이 빅스비'를 외쳤고, 부모님께 통화연결을 해달라는 음성인식에 성공하여 화장실에서 탈출할 수 있었다. 뉴스 출처: https://www.hankyung.com/society/article/2023041213427 이 기사를 접한 뒤, 문득 궁금해졌다. 빅스비는 어떻게 음성을 인식한건지, 그리고 음성 데이터는 어떻게 수집&처리될지 알고 싶어졌다. 그래서 난, 지난 달 지인과의 대화를 통해 알게 된 STT를 떠올렸고, 해당 STT 튜토리얼을 직접 시도해 보았다. 목차 STT의 원리 STT 튜토리얼 한국어 음성인식에 대하여 01...

Airflow를 helm으로 배포해보기 - (2)

** Airflow 관련 업데이트 소식 지난 4월 1일, Airflow에서 2.5.3 버전을 release 했다. 중요한 변화는 없었지만, 크고 작은 버그들이 개선됐다고 한다. 참고문서: Airflow Release Notes https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html#airflow-2-5-3-2023-04-01 Release Notes — Airflow Documentation airflow.apache.org 지난 포스팅에 이어서, GKE 환경의 Airflow를 처음부터 배포해 보도록 하겠다. 01. DB 생성 Airflow 를 처리하기 위해서는 postgreSQL 서버가 필요하다. 간단한 테스트 용 postgre..

Airflow를 helm으로 배포해보기 - (1) 사이드카 패턴

오늘 포스팅에서는, 직접적인 helm 배포를 진행하기 전, 알아둬야 할 개념 중 하나인 사이드카 패턴에 대해 다뤄보고자 한다. 01. 사이드카 패턴이란 사이드카 패턴이란, 어플리케이션 컨테이너와 독립적으로 동작하는 별도의 컨테이너를 붙이는 패턴을 말한다. 사이드카를 형상화(?) 하면 이렇다. 이처럼, 메인 오토바이에 사이드카를 붙인 형태와 같은 패턴이 사이드카다. 이렇게 오토바이에 사이드카를 붙여 달릴 수도 있고 사이드카를 떼어서도 달릴 수 있는 형태처럼, 기본 컨테이너와 함께 하나의 컨테이너가 함께 실행될 수 있는 컨테이너 패턴을 짜는 것이 사이드카 패턴이다. 즉 pod 안에 두 개의 컨테이너가 띄워져 있는 형국인데, 이때 pod안의 컨테이너들은 동일한 volumn과 연결이 가능하다. 또한, 하나의 p..

‘글또'에 합류했습니다

01. 글또에 합류했다 글또('글쓰는 또라이가 세상을 바꾼다'라는 슬로건을 가진 글 쓰는 개발자 모임, 링크) 8기 모집 소식을 보고, 재빠르게 지원을 했다. 이전에 다른 데이터 엔지니어 분을 통해 이 모임을 알게 됐는데, 그 이후로 글또에 조인하고 싶어서 운영자님 인스타그램을 팔로우하며 모집 공고가 뜨길 기다려왔다. 내가 왜 글또를 하고 싶었냐면, '유사한 직군에 종사하시는 분들과 ‘글’로써 인사이트를 서로 공유하는 모임, 그리고 그것을 통해 개개인의 통찰을 들여다보는 장' 같아 보였기 때문이다. 나는 그리 대외적인 활동을 하지도 않거니와 나름 내성적이기 때문에, (같은 회사 동료 분들을 제외한) 데이터 엔지니어분들과 소통할 기회가 많이 없었다. 같은 직군의 분들과 양방향적 소통을 해보고 싶다는 니즈가..

파이썬 클린코드 3 - 좋은 코드의 일반적인 특징 (1/2)

요즘 파이썬 클린코드(마리아노 아나야 지음)라는 책을 읽고 있다. 한 챕터씩, 책을 읽으며 내가 기억에 남는 점 등에 대한 정리를 해보도록 하겠다. 목차 1. 계약에 의한 디자인 2. 방어적 프로그래밍 3. 관심사의 분리 좋은 코드의 특징 중 3가지를 이번 포스팅에서 정리를 해보고자 한다. 1. 계약에 의한 디자인 계약이란, 소프트웨어 컴포넌트 간 통신 중 지켜야 할 규칙들을 말한다. 여기서 계약에 의한 디자인이란, 계약을 기반으로 코드를 디자인해야 하는 것을 말한다. 이는 런타임 오류 발생 시 코드의 어떤 부분이 계약 파손 됐는지 명확히 알 수 있도록 돕는다. 이외 장단점을 정리하면 아래와 같다. 계약에 의한 디자인의 장점 사전조건 검증, 사후조건 검증에서 실패하는 오류 발생 시 오류를 쉽게 찾음 책임..

개발자 선물로 추천, 도커(Docker) 컨테이너 각티슈 케이스

감사하게도 인카토스 측으로부터 도커 컨테이너 각티슈 케이스 협찬을 받게 됐다. 결론부터 말하자면, 실물을 본 주위 개발자 친구들이 다 탐냈다. 컨테이너 판넬을 조립하면 이와 같이 도커 컨테이너 모양으로 완성이 된다. 우선 제품을 다 조립했을 때 처음 느낀 장점은 아래와 같이, 크게 세가지였다. 탄탄하다, 내구성이 좋아보인다. 프린팅이 선명하고, 프린팅 퀄리티가 괜찮다. 깔끔한 디자인이어서 책상 인테리어로도 좋다. 1. 탄탄하다, 내구성이 좋아보인다. 이 각티슈 케이스는, 판넬을 하나씩 조립하는 구조다. 그래서인지, 조립하고 나면 탄탄한 느낌이다. 2. 프린팅이 선명하고 프린팅 퀄리티가 괜찮다. 전반적으로 프린팅이 깔끔하고 선명하다. 특히 놀랐던 건, 측면의 프린팅조차 디테일이 있다. 3. 깔끔한 디자인이..

파이썬 클린 코드 (2) - 파이썬스러운 코드 (1/2)

요즘 파이썬 클린코드(마리아노 아나야 지음) 라는 책을 읽고 있다. 한 챕터씩, 책을 읽으며 내가 이해한 대로 요약 및 정리를 해보도록 하겠다. 목차 1. '파이썬' 스러운 코드란? 2. 파이썬스러운 코드 1 - 인덱스와 슬라이스 2-1. 슬라이스(slice)의 동작 원리 2-2. 자체 시퀀스를 생성하는 방법 3. 파이썬스러운 코드 2 - 컨텍스트 관리자 3-1. 파이썬 스러운 방법으로 컨텍스트 관리자 구현 방법 (1) with 3-2. 파이썬 스러운 방법으로 컨텍스트 관리자 구현 방법 (2) __enter__, __exit__ 매직 메소드 구현 3-3. 파이썬 스러운 방법으로 컨텍스트 관리자 구현 방법 (3) decorator 활용 1.' 파이썬'스러운 코드란? 모든 언어는 해당 언어로 작업을 처리하는..

파이썬 클린코드 (1) - 코드 포매팅과 도구

요즘 파이썬 클린코드(마리아노 아나야 지음) 라는 책을 읽고 있다. 한 챕터씩, 책을 읽으며 내가 이해한 대로 요약 및 정리를 해보도록 하겠다. 목차 1. 클린코드란? 1-1. 클린코드의 중요성 1-2. 클린코드를 위한 코드 포맷팅 2. 클린 코드를 위한 방법 - 문서화 2-1. Docstring 2-2. Annotation 3. Annotation은 Docstring을 대체하는 것일까? 4. 클린 코드를 위한 방법 - 도구 설정 5. 1장 요약 1. 클린코드란? 코딩 표준, 포맷팅, 린팅 도구나 다른 검사 도구를 사용한 코드 레이아웃 설정과 같은 것 그 이상을 의미한다. 즉, 품질 좋은 소프트웨어를 개발하기 위해 견고하고 유지보수가 쉬운 시스템을 만들기 위한 요소다. 1-1. 클린코드의 중요성 소프트웨..

제 5회 빅데이터분석기사 실기 시험 후기

입사 전, 빅데이터분석기사 필기 시험을 합격해뒀었다. 곧이어 입사를 했고, 실기 시험을 잠시 잊고 살았다. 그러던 중, 이번 실기 시험이 필기 유효기간이 만료되기 전 마지막 시험이어서, 시험을 준비하게 됐다. 시험 정보 시험은 아래와 같이 세 가지 유형으로 출제됐다. 1. 단답형 2. 작업유형 1 - 3문제 3. 작업유형 2 - 1문제 준비물은 수험표와 신분증을 지참해야 했는데, 수험표가 없어도 시험을 볼 수 있었다. 1-1. 단답형 한번쯤 들어본 개념이 출제됨 이전 대비 통계 기반 계산 문제가 더 늘었다. 단답형의 경우, 와이즈인컴퍼니에서 출판한 '공개적 빅데이터분석기사 실기' 책을 참고했다. 절반 이상은 해당 책에서 소개한 단답형에서 출제된 것 같다. 그리고, 평소 중요하다고 생각했던 개념들을 블로그..

빅데이터분석기사 실기 단답형 대비

공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정하도록 하겠습니다. 현재 빅데이터분석기사 실기를 준비하고 있다. 작업형은 그럭저럭 예상이 가긴 하는데, 단답형이 어떤 것이 나올지 감이 안와서 정리를 하고 있다. 누군가에게 도움이 되길 바라며 공유를 해본다 ..! 나는 이것을 gsheet 로 옮겨서, 퀴즐렛처럼 만들어 활용했다. 최초의 인공신경망 입력층과 출력층으로만 구성되어 있고, XOR 문제 해결은 불가능함 퍼셉트론 출력층에서 계산한 값을 입력층으로 역으로 전달하며 가중치와 편향을 계산하는 알고리즘 역전파 알고리즘 대뇌피질 시각피질의 학습 과정을 모델화한 인공신경망 자율 학습을 통한 클러스터링이 가능 자기조직화지도 앙상블 기법의 일종, ..