[카테고리:] 기술스택

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

  • 좌충우돌 웹서비스 프로젝트 수행기 – 4.MSA Web Service Architecture 설계

    좌충우돌 웹서비스 프로젝트 수행기 – 4.MSA Web Service Architecture 설계

    Microservice Architecture(MSA)? Monolithic? 말 그대로 작은 서비스. 큰 서비스를 잘게 쪼개어 각각 하나의 독립적인 서비스로 나누는 설계 방식이다. 규모가 큰 서비스의 경우에 이를 하나의 프로젝트로 관리하고 개발하고, 하나의 큰(이를 monolithic이라고 표현한다.) 서비스로 운영하게 되면 부작용이 생긴다. 작은 기능 수정인데도, 프로그램을 통째로 내려받아서 수정하고, 테스트하고, 빌드하고 배포해야 한다. 작은 하나의 기능에 문제가 생겨도 프로그램 전체에 문제가…

  • [C++][VSCode]VSCode C++ MSVC 연동, 프로젝트 설정(vcpkg, CMake)

    [C++][VSCode]VSCode C++ MSVC 연동, 프로젝트 설정(vcpkg, CMake)

    달성 목표 코딩 테스트 연습 때문에 C++ 개발이 필요하다. 요즘 IDE는 계속 VSCode를 쓰고, 집 컴퓨터를 원격 데스크톱으로 붙어서 메인 컴퓨터로 쓰다 보니 그냥 MSVC(VS Community 2022 있음)를 쓰는 게 낫겠다고 생각해서 사용하려 했는데, Windows + VSCode + MSVC는 제대로 정리를 해본 적이 없네. WSL + VSCode + g++, Windows + VSCode + Mingx, Windows…

  • [AWS]EBS란?(gp3, 요금, snapshot 등)

    [AWS]EBS란?(gp3, 요금, snapshot 등)

    EBS(Elastic Block Store) AWS에서 제공하는 스토리지의 하나다. EC2에 mount하여 사용할 수 있는 볼륨이다. 보편적으로 알려져 있는 AWS S3는 스토리지 전용이라 파일 저장 및 불러오기만 가능한데 EBS는 PC에 장착되는 ssd처럼 인스턴스에 mount하여 파일 시스템으로써 활용할 수 있다. EBS 요금 요금은 서울 기준 실제 사용하는 GB, IOPS, throughtput의 합으로 요금이 청구된다. GB는 내가 실제로 사용하는 용량이고 IOPS는…

  • 좌충우돌 웹서비스 프로젝트 수행기 – 3.프로젝트 조직구성(PM, PL, PO, QC 등)

    좌충우돌 웹서비스 프로젝트 수행기 – 3.프로젝트 조직구성(PM, PL, PO, QC 등)

    웹서비스 프로젝트 구성원 Project 자… 프로젝트를 시작하기는 했는데… 그래서 누가 뭘 한다고? -> Project Product 우리가 제공하고 싶은 서비스가 몇 개야? -> Product 기획 누군가는 사용자가 직접 마주할 화면과 컨텐츠를 기획해야 하고… -> 기획 Frontend 개발 누군가는 기획된 내용의 시각적 기능을 개발해야 하고… -> Frontend 개발, 디자이너, 퍼블리셔 Backend Engineering 누군가는 시각적 기능에 보여져야 할…

  • 좌충우돌 웹서비스 프로젝트 수행기 – 2.아키텍처 상세

    좌충우돌 웹서비스 프로젝트 수행기 – 2.아키텍처 상세

    정보제공 웹 서비스를 위한 아키텍처 개요 draw.io로 열심히 그린 이번에 우리 회사에서 서비스할 금융정보 웹 서비스의 전반적인 아키텍처 혼자서 아키텍처 정의 다했다… 경계가 분명한 것은 아니지만 다양한 관점에서 이 정보제공 웹 서비스의 Action flow를 생각해볼 수 있을 것이다. 각 관점에서의 Action flow를 나열해보자. 너무 구체적이기보단 개괄적으로. 상세적인 지식은 이어지는 글들에서 담도록 하자. 사용자 Action flow…

  • 좌충우돌 웹서비스 프로젝트 수행기 – 1. 프로젝트의 서막

    좌충우돌 웹서비스 프로젝트 수행기 – 1. 프로젝트의 서막

    프로젝트가 시작되었다. 금융 정보제공 웹서비스를 위한 프로젝트를 진행하고 있다.BizDevOps로 Frontend 일체를 제외한 모든 영역을 우리 부서가 거의 전담해서 진행 중이다.Frontend는 외주여서 Managing과 QC도 병행하고 있고…실무에서 이런 일을 해볼 수 있다는 것은 경험과 자산이라서 회사에 Confluence에만 기록하는 것이 너무 아깝다. IT 회사가 아니라 다들 보지도 않아…그래서 막 잘 정돈된 기술 블로그 문서처럼은 아니더라도 중간중간 꿀팁이나 기술…

  • [C++][VSCode] VSCode C++ Formatter 설정하기(갸꿀팁…)

    [C++][VSCode] VSCode C++ Formatter 설정하기(갸꿀팁…)

    들어가며 오늘은 VSCode에서 C++을 개발할 때, 자동으로 코드 포맷팅을 하도록 설정하는 방법을 배워보도록 하자. 1.VSCode에서 User Preference 세팅(settings.json) 열기 VSCode를 실행한 뒤 Ctrl + Shift + p 를 눌러 팔레트를 열어주고, Preferences: Open User Settings (JSON)을 검색해서 선택해주면 이렇게 settings.json 파일이 등장한다. 이 파일은 내가 VSCode 에디터를 쓰는데 어떤 설정을 사용할 것인지 전부 작성되어 있는…