전체 글 (169) 썸네일형 리스트형 클린 코드 vs 소프트웨어 설계 철학 Robert “Uncle Bob” Martin과 John Ousterhout이 2024년 9월부터 2025년 2월까지 진행한 소프트웨어 설계 관련 대화로,두 사람 모두 소프트웨어 디자인에 대한 저서를 집필세가지 주요 주제(메서드 길이, 주석, Test-Driven Development)에 서로 다른 견해 차이를 보임 대화의 핵심은 코드의 복잡도를 줄이고, 가독성을 높이는 방법,그리고 적잘한 테스트 코드 작성 방식에 대한 것 - Uncle Bob의 clean code- John의 philosophy of sw design 메소드 길이Uncle Bob(이하 UB)은 “짧은 함수가 좋음, 가능하다면 더 짧게 분리함”이라는 입장- 한 메소드는 One Thing 만 해야 함- 단, 너무 극단적으로 적용 시, .. Data Warehouse 기반 데이터 플랫폼 Snowflake TMI지만, 분산 시스템에서 유일한 ID를 만드는 방법 중에 UUID와 Snowflake ID 방식이 있고 한다.거기서 말하는 Snowflake ID는 Twitter에서 만든것이며,여기서 이야기하는 Data Warehousing 플랫폼인 Snowflake는 다른 플랫폼에 다른 회사라고 한다. Data WarehouseData Warehouse는 데이터 중앙 리포지토리이다.데이터는 다양한 소스로부터 들어오게 되는데, 이를 파이프라인을 구축하여 하나의 통합 플랫폼으로 모아 사용할 수 있다.여기서 파이프라인은 ETL 파이프라인을 가르키고, 하나의 통합 플랫폼은 Data Warehouse를 의미한다. 데이터를 추출(Extract)하여 사용가능한 형식으로 가공(Transform)하고 Data WareHouse로 .. [프로그래머스] 체육복 문제 - Greedy 알고리즘으로 해결하기 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 체육복 문제는 탐욕법(Greedy) 알고리즘을 이용하여 해결할 수 있다.탐욕법은 매 단계에서 최적의 선택을 하여 전체 최적해를 구하는 방법으로, 체육복을 빌려줄 수 있는 조건에 따라 최대한 많은 학생이 체육 수업을 들을 수 있도록 한다. 📌 문제 이해하기 도난당한 학생 중 여벌 체육복이 있는 경우, 빌려줄 수 없음 (본인 체육복만 사용 가능)여벌 체육복을 가진 학생은 자신의 앞번호 또는 뒷번호 학생에게만 빌려줄 수 있음최대한 많은 학생이 체육.. DuckDB 란? DuckDB란?in-process SQL OLAP DBMS> in-process? : in memory 분석 뒤에 데이터를 지움 DuckDB는 임베디드 분석 데이터베이스로, 대규모 데이터 처리를 로컬 환경에서 빠르고 효율적으로 수행할 수 있도록 설계된 시스템이다. 주로 데이터 분석 워크로드에 최적화되어있으며, 파이썬 등과 같은 언어와 이식성이 좋으며, OLAP(Online Analytical Processing) 쿼리에 특화되어이 있어 분석에 적합하다. 왜 사용해?보통 데이터 분석은 Pandas로 시작하는데, 데이터 크기가 커질 수록 Pandas 한계(Single thread로 동작, 불필요한 메모리 사용)는 빠르게 느껴진다.실제 대량의 데이터는 Athena, BigQuery 등 SQL로 데이터 처리.. Airflow 에서 직면한 여러 환경 설정 오류 해결 새로운 conda 환경 생성파이썬은 3.X 버전, 환경 이름은 airflow_env 라 지정했다.새로 만든 환경을 활성화시킨다.conda create -n airflow_env python=3.Xconda activate airflow_env 2. 에어플로우 설치나는 airflow 2.9.3 버전을 설치해주었다.설치하면, 홈 디렉토리에 airflow 라는 폴더가 하나가 생겼다.pip3 install apache-airflow==2.9.3 [!오류]계속 airflow 를 설치를 해줬는데, airflow 명령어를 실행하면 관련 명령어가 나와야 하는데, 나오지 않았다.이유는 모르겠지만 해결했음처음에는 % pip3 install apache-airflow==2.9.3 을 해주고 잘 될 줄 알았는데, conda .. Airflow 개념과 DAG 파라미터 정리 AirflowAirflow는 일련의 일들을 순차적으로 진행시켜주는 프로젝트 관리자라고 생각하면 된다. Airflow에서 알아야 하는 개념- Workflow(워그 플로우) : Workflow는 의존성으로 연결된 작업들의 집합- DAG(Directed Acyclic Graph, 방향이 있는 비순환 그래프)- Task : DAG의 단위 작업 Airflow 구성 요소- Airflow User - 웹서버- 스케쥴러- metastore : 여러 DAG 정보들이 있는 저장소- Executor : 작업 배치- Worker- OperatorOperator를 실행(세팅)하면 Task 추가로, Airflow는 실시간, 초단위로 진행되어야 하는 것에는 적합하지 않는다. 하루에 한번, 일주일에 한번 진행되는 공정에 관리하는데 .. [GIT] clone 시 The requested URL returned error: 403 + Support for password authentication was removed 회사에서 회사 내부 코드를 git private repo에서 클론할 때,사용자 인증의 문제로 clone 이 안되는 부분이 있다. 아래와 같이 에러 설명을 해준다.remote: Support for password authentication was removed on August 13, 2021.remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.fatal: Authentication failed for 'http.. [Mac] 맥북(mac)에 홈브류(Homebrew) 설치하기 맥(macOS) 에 홈브루(Homebrew) 설치하기1. 설치환경설치환경은 아래와 같다. 2. 설치(1) 홈브루(Homebrew) 설치 명령어 복사홈브류 ( https://brew.sh/ ) 에 접속하여 설치하기위한 명령어를 복사한다. 복사하기로 터미널에서 아래의 명령어를 입력해주었다./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 그러면 아래 처럼 로그들이 나오면서 설치가 완료된다.==> Checking for `sudo` access (which may request your password)...==> This script will install:/opt/homebrew/bin.. 이전 1 2 3 4 ··· 22 다음