[카테고리:] Computer Science

  • AI 코딩 에이전트가 SaaS의 종말을 부른다? (착각입니다)

    AI 코딩 에이전트가 SaaS의 종말을 부른다? (착각입니다)

    최근 AI와 코딩 에이전트(Coding Agent)가 유행하면서, 심심치 않게 “이제 SaaS의 시대는 끝났다”는 말들이 들린다. “AI가 코드 다 짜주는데, 뭣하러 비싼 돈 주고 SaaS를 쓰나요? 그냥 인하우스(In-house)로 뚝딱 만들면 되지.” 얼핏 들으면 그럴싸하지만, 이는 SaaS의 진짜 ‘본질’을 오해한 데서 비롯된 생각이다. SaaS의 본질은 소프트웨어가 아니라 ‘책임 외주화’다 SaaS(Software as a Service)를 단순히 ‘남이 만든 소프트웨어’라고 생각하면…

  • [Airflow] 스케줄링의 미학: 00시 정합성과 리소스 분산을 모두 잡는 설계

    [Airflow] 스케줄링의 미학: 00시 정합성과 리소스 분산을 모두 잡는 설계

    (부제: 논리적 시간(Logical)과 물리적 시간(Physical) 분리하기) 개발자에게 “00시”는 하루의 끝이 아니다. 하루의 시작이자, 가장 예민한 시간이다. 500개가 넘는 배치가 동시에 “나부터 실행시켜줘!”라고 아우성치는 그 시간, 우리 데이터 팀의 슬랙은 항상 불타고 있었다. 1. The Dilemma: 정합성이냐, 효율성이냐 (죽느냐 사느냐) 데이터 엔지니어라면 누구나 겪는 가불기(딜레마)가 있다. 보통 여기서 우리는 타협한다. “그래, ODS는 00시, DM은 01시, 리포트는…

  • AI는 다소 과대평가 되거나 다분히 과소평가 되고 있다

    AI는 다소 과대평가 되거나 다분히 과소평가 되고 있다

    링크드인을 켜면 매일같이 장밋빛 환상이 쏟아진다. 클로드나 오픈클로우(OpenClaw)로 하루 만에 프로그램을 만들었다는 둥, 이제 개발은 아이디어 싸움이라는 둥… 하지만 정작 개발 현장에서 마주하는 풍경은 사뭇 다르다. AI에게 뇌를 맡긴 채 ‘개판’으로 내린 지시로 짜인 이상한 코드들, 확장성이라곤 고려하지 않은 하드코딩 수준의 MR을 마주할 때면 이 괴리감은 극에 달한다. AI는 정말 우리를 대체하고 있는가, 아니면 우리는…

  • 증분 Sequence 기반의 대용량 로그 테이블 ETL 경험기

    증분 Sequence 기반의 대용량 로그 테이블 ETL 경험기

    “로그 테이블 created_at에 인덱스 하나만 걸어주시면 안 될까요?”“테이블 사이즈가 수십 TB인데 인덱스만 TB 단위입니다. 안 됩니다.” 데이터 엔지니어로서 대용량 로그성 데이터를 다루다 보면 필연적으로 마주치는 상황이다. UPDATE 없이 쌓이기만 하는(Append-only) 로그 테이블인데, 너무 거대해서 날짜 컬럼(created_at)에 인덱스조차 걸 수 없는 상황.이 글은 그런 척박한 환경에서 Primary Key(Sequence) 하나만 믿고 고속으로 데이터를 퍼 날랐던 전략과, 그…

  • [Troubleshooting] Spark가 데이터를 두 번 읽는 방법: JDBC 파티셔닝과 격리 수준의 환장 콜라보

    [Troubleshooting] Spark가 데이터를 두 번 읽는 방법: JDBC 파티셔닝과 격리 수준의 환장 콜라보

    “어제 매출이 왜 2배로 뛰었죠? 마케팅 대박 났나요?”“아뇨… 그럴 리가요…” (등줄기에 땀이 흐른다) 1. 사건의 발단: “데이터가 뻥튀기 됐어요” 어느 평화로운 오전, 분석가님으로부터 메시지가 왔다. 후행 마트 테이블의 집계 수치가 평소보다 훨씬 높게 나온다는 것.확인해 보니 특정 시간대의 데이터가 정확히 중복(Duplicate) 적재되어 있었다. PK가 중복되었으니 당연히 Sum 집계는 뻥튀기될 수밖에. 사용 중인 기술 스택은 AWS…

  • [Troubleshooting] 00시 정각의 비극: 클라우드의 배신과 네트워크의 역습 (MWAA & Glue)

    [Troubleshooting] 00시 정각의 비극: 클라우드의 배신과 네트워크의 역습 (MWAA & Glue)

    “클라우드는 무한하지 않다. 특히 내 지갑과 IP 주소, 그리고 오토스케일링 속도는 더더욱.” 1. 00시 정각, 대혼돈의 서막 우리 팀은 AWS MWAA(Managed Workflows for Apache Airflow)와 AWS Glue를 사용해 ODS 데이터를 적재한다.테이블 500개, 관련 Task만 2,000개가 넘는 이 거대한 파이프라인이 매일 00시 00분 00초에 동시에 출발 신호탄을 쏘아 올린다. 이론상으로는 아름다워야 했다.MWAA는 알아서 오토스케일링이 되고, Glue는…

  • [Troubleshooting] 분석가님의 쿼리가 회사의 새벽을 멈춘 날 (feat. Redshift Lock)

    [Troubleshooting] 분석가님의 쿼리가 회사의 새벽을 멈춘 날 (feat. Redshift Lock)

    00시 정각. 데이터 엔지니어에게는 가장 긴장되는 시간이다. 수백 개의 파이프라인이 동시에 돌아가며 데이터를 쏟아내는 이 시간에, 갑자기 지옥문이 열렸다. 1. 상황 발생: “배치는 돌고 있는데 데이터가 안 들어온다?” 여느 때와 다름없이 자정 배치가 시작됐다. 그런데 아침에 출근해서 확인해 보니, ODS(Operational Data Store) 테이블 갱신 작업이 Running 상태로 6시간째 멈춰 있었다. 이건 100% Lock 문제다. 그것도…

  • [홈서버 구축기 3편] 서버 OS & 개발 환경 세팅 (feat. WSL2, Docker)

    [홈서버 구축기 3편] 서버 OS & 개발 환경 세팅 (feat. WSL2, Docker)

    지난 2편에서 고성능 미니 PC 세팅을 마쳤으니, 이제 본격적으로 서버를 굴릴 환경을 만들 차례다. 1. 고민의 시작: OS는 뭘로 하지? 처음엔 서버니까 당연히 우분투 서버(Ubuntu Server)를 깔까 고민했다. 하지만… 나는 뼛속까지 윈도우(Windows) 유저다. 리눅스 커맨드 라인이 익숙하긴 해도, GUI 환경에서 오는 그 편안함을 포기할 순 없었다. 게다가 메인 PC로도 쓸 거라서 리눅스 데스크톱은 좀… 그래서…

  • 갖잖은 영어랑 용어 뽕 좀 빼라 – 판교어

    갖잖은 영어랑 용어 뽕 좀 빼라 – 판교어

    회사 누군가와 소통하다가 일도 안하고 제대로 이해도 못하면서 온갖 신기술에, 용어에, 글로벌뽕에 취해있는 놈이 미쳐버릴 뻔해서 화나서 쓰는 글. 보여주기식 ‘판교어’와 개발자들의 허세 링크드인이나 미디엄이나 어디 오픈소스 깃헙이나 있어 보이는 스타트업 선전 글에서나 본 그럴듯한 말로 온갖 미사여구 좀 갖다 붙이지 좀 마라. 니들이 언제부터 영어를 그렇게 잘했다고 멋들어진 용어들을 썼다고 잘난 체들이냐. 왜 유독…

  • [C++]전위/후위 연산자 성능

    [C++]전위/후위 연산자 성능

    전위 연산자 ++i, 후위 연산자 i++ 원래부터 진짜 필요한 곳이 아니면 후위 연산자 대신 전위 연산자를 쓰라. 성능과 메모리에 모두 영향을 준다.는 건 알고 있었지만 코딩 테스트 문제 풀면서 크게 영향을 준 케이스가 있어서 생각난 김에 정리. 그냥 프로그래밍 언어의 기본 중의 기본인 전위 연산자와 후위 연산자에 대한 짤막한 상식을 이야기해볼까 한다. 코드 한 줄을…