반응형

전체 글 230

Airflow에서 보기 편하게 Task를 묶어주는 - TaskGroup

안녕하세요 Dibrary입니다. Airflow 책을 보면서 Task를 구성하고 연결하는 것 까지는 해보았는데, 갯수가 많은 경우는 보기가 복잡할 수 있겠다~ 싶은 점이 있었습니다. 아니나 다를까, 최근 Airflow는 TaskGroup이라는 기능이 있어서 graph에서 보기 편하게 해 주는 기능이 있었습니다. graph를 사용하지 않은 기본 코드를 먼저 작성 해 보겠습니다. 위 코드의 graph를 보면 아래와 같이 나옵니다. 말 그대로 task_0에서 2가지 task로 분기가 되고, task_1_2에서 3가지로 분기가 되었다가 task_1_3_4에서 다시 모입니다. Task의 흐름을 보여드리고자 DummyOperator만 사용했습니다. BashOperator 및 PythonOperator를 사용하셔도 볼..

[구글 빅쿼리] 빅쿼리에 대해 입문할 수 있는 책

데이터 직무의 자격요건 혹은 기술스택을 보면 어지간해서는 꼭 빅쿼리가 있었다. 처음에는 AWS Athena처럼 클라우드에서 쿼리문 날려서 결과를 받아보는 것이지 않나 하는 생각이었지만, 그래도 기술스택에 '명시'가 되어 있기에 간단하게 봐 두자는 생각으로 이 책을 집었다. 우선 책이 매우 얇다. 250페이지 정도. 그렇기 때문에 약간 클라우드를 안써본 사람이라면 조금 버벅댈 부분이 몇 군데 있다. 처음에 빅쿼리 콘솔 화면을 보여준 후에 곧바로 데이터를 넣고, 꺼내고, 쿼리 작성 등을 해 나간다. 빅쿼리에서 사용하는 SQL문은 여느 DB의 SQL문하고 크게 다르지 않다. 물론, 빅쿼리에서만 쓸 수 있는 ARRAY나 STRUCT 등의 다른 점은 있다. 책을 따라 데이터를 로딩시키려고 하다 보면 안 될 것이다..

독서/서평 2022.10.24

[JIRA] 쉽게 따라하며 익힐 수 있는 지라 책

IT회사들마다 JIRA, Confluence 등을 할 줄 알면 좋다는 얘기가 많아서 보게 된 책이다. 우선 한번 가볍게 훑어본 느낌으로 JIRA는 '계획'을 만들고, 공유하기 좋은 툴인것 같다. 다만, 내가 있었던 회사는 해당 업무를 Excel로 수행했다는 것 뿐이다. 그래서 이참에 어차피 같은 역할이라면 새로운 기술을 써보는게 더 나는 재미있어서 책으로 공부를 해보았다. 내용은 매우 간단하다. 그냥 JIRA를 사용해서 계획을 짤 수 있고, 관리하는 방법을 배우는 것이다. 아마 직접 보면 너무 쉬울 수 있는게... 모든 화면이 다 수록되어있다. 어떤 버튼을 누르세요, 뭐라고 기입하세요 등등... 어떤 설명도 필요 없다. 말 그대로 유치원 때의 '따라하기'? 같은 책 느낌이었다. 그래서 너무 좋았다. 모르..

독서/서평 2022.10.14

[BOJ][1300번] K번째 수

안녕하세요 Dibrary입니다. 이번에는 이분탐색을 사용해야 풀 수 있는 문제를 정리해보겠습니다. 저에게 이 문제는 처음에 이해하는데 굉장히 시간이 오래 걸린 문제여서.... 정리를 꼭 해둬야겠다 생각했죠. 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 먼저 문제를 보고 어떤 방법으로 이분탐색을 해야 하는지 감을 잡지 못했습니다. 정확히는 '다른 풀이를 보고서도 이해가 안되었다' 가 더 맞는 표현같네요. 지금은 다른 풀이를 이해한 부분만 정리해보면 아래와 같습니다. 1. 대부분..

[모던 자바스크립트] 자바스크립트 문법 종합책

자바스크립트는 JAVA 웹 프로젝트를 하면서 가볍게 알고만 넘어갔었다. 물론, 필요할 수 있다는 인지정도는 한 채로... 실제 프로그램을 만들면서 자바스크립트로 비동기, 데이터 가공 같은 것을 해야 했는데 이게 여간 쉽지 않아서 급하게 도움을 받고자 이 책, 저 책을 찾았는데 그나마 나에게 맞는 책이 이 책이었다. 제목에 '모던'이 들어간다고 뭔가 특별한가? 싶지만, 여느 자바스크립트랑 크게 다른점은 못 느꼈다. 다만, 이 책은 두께가 있는 만큼 정말 많은 내용이 들어있고 여기에 있는 것만 다 능숙하게 할 줄 알아도 자바스크립트로 발목잡히는 일은 없지 않나 싶다. 처음 5장까지는 정말 여느 언어들과 다름 없이 실행방법, 변수, 객체, 연산자 등에 대한 설명이 나온다. 이는 다른 언어를 공부하고 할 줄 아..

독서/서평 2022.10.07

[파이썬 클린코드] 4장 (SOLID 원칙) 정리

안녕하세요 Dibrary입니다. 이번에는 파이썬 클린코드의 4장 내용을 정리해보겠습니다. 4장은 객체지향적으로 코딩을 작성할 때 생각해 봐야 하는 원칙인 SOLID원칙을 설명하고 있습니다. 1. S (Single Responsibility Principle) 단일 책임 원칙 소프트웨어 컴포넌트(클래스)는 단 하나의 책임을 져야 한다는 것. 아래 코드 처럼 독립적인 동작을 하는 메서드를 하나의 클래스에 정의해버리면 안 된다. 이렇게 하나에 많은 기능을 집약해넣게 될 경우, 외부 요소에 의한 영향 최소화가 안 된다. 보다 응집력있고 작은 추상화가 가능해야 한다. 물론, '단일 책임 원칙'이라고 해서 클래스가 딱 하나의 메서드만을 가져야 한다는 것이 아니다. 2. O (Open/Close Principle) ..

[파이썬 클린코드] 3장 (좋은 코드의 일반적 특징) 정리

안녕하세요 Dibrary입니다. 아래 내용은 파이썬 클린코드의 3장 중 핵심 내용만을 정리한 것입니다. 1. 계약에 의한 디자인 컴포넌트는 기능을 숨겨 캡슐화 하고 함수를 사용할 고객에게는 애플리케이션 프로그래밍 인터페이스(API)를 노출해야 한다. 코드가 정상적으로 동작하기 위해 기대하는 것과, 호출자가 반환 받기를 기대하는 것은 디자인의 하나가 되어야 한다. 사전조건 = 코드가 실행되기 전에 체크해야 하는 것들 사후조건 = 함수 반환값의 유효성 검사가 수행 불변식 = 함수가 실행되는 동안 일정하게 유지되는 것 사전조건 검증에 실패하면 클라이언트의 결함으로인한 것이다 사후조건 검증에 실패하면 특정 모듈이나 제공 클래스 자체의 문제로 인한 것이다 중복제거원칙 = 사전조건 검증을 양쪽(클라이언트, 서버)에..

Codility 코딜리티

안녕하세요 Dibrary입니다. 제가 원래 알고 있는 알고리즘 사이트는 Leetcode, BOJ, Programmers 였는데, 이번에 코딜리티라는 것을 새로 알게 되었습니다. 그저 단순한 알고리즘풀이 사이트면 그런가보다~ 하고 넘어갔겠는데, 이 사이트만의 '장점'이 있어서 다른 사람들도 잘 활용했으면 좋겠어서 공유해봅니다. 구글에 코딜리티 쳐서 들어가면 웬걸 문제푸는것과 관련 없는 사이트만 나옵니다. Developer Training | Test Coding Skills Online - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 위 사이트로 가셔야 됩니다. 들어가시면 아래와..

알고리즘 2022.09.29

[Django RESTful] 정말 쉬운 Django로 RESTful API 배우는 책

파이썬을 공부하면서 알음알음 Flask와 Django를 옅게 공부해두긴 했었다. 그 중에 화면이 필요없는 개발이 있어서 Flask를 써서 간단하게 구현을 했었는데, JAVA와의 접합부?가 굉장히 마음에 들지 않았었다. 물론, 개발자가 아닌 사람이 보기에는 굉장히 '심플'하게 보여서 괜찮다고 하지만 개발하는 입장에서 아주 께림칙 했었다. 그래서 해당 접합부에 RESTful을 사용할 까 했었지만, Flask에서 RESTful을 어떻게 사용할 지 몰라 우선 구현은 마무리 지었었다. Flask의 RESTful 구현도 모르는데 Django라면 더더욱 몰랐었다. 하지만 작정하고 RESTful을 배워야 했기에 이것 저것 찾다가 이 책의 내용이 눈에 들어왔다. 이 책은 제목 그대로 Django와 Django에서 RES..

독서/서평 2022.09.28

[PySpark 배우기] PySpark 기본 다루기 초급서

이 책은 이미 Spark 관련 책을 하나 가지고 있었기에 여느 스파크 책과 뭐가 다를까~ 싶어서 도서관에서 빌려서 본 책이다. Spark는 Scala로 배워야 가장 최근 경향을 빠르게 따라갈 수 있고, 더 많은 기능이 지원된다고 알고 있는데, 그럼에도 파이썬이라는 언어의 '간결하고 명료함'을 포기할 수 없다면, PySpark를 사용하는 것도 하나의 방법이다. 다만, Spark는 JVM을 기반으로 실행되기 때문에 Python을 사용하면 JVM에서 Python으로 통신하는 부분이 하나 더 추가되는 꼴이라서 Scala보다 당연히? 느릴 수 밖에 없다. 책의 초반에는 이런 개념적인 내용과 스파크의 아키텍쳐 및 실행 흐름을 설명하고있다. 여느 스파크 책과 마찬가지로 간단한 연산 및 메서드를 배우고 그 다음에 어느..

독서/서평 2022.09.27
반응형