본문 바로가기

728x90
반응형

전체 글

(348)
실무로 통하는 웹 API "한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다."https://www.hanbit.co.kr/store/books/look.php?p_code=B6294432947 실무로 통하는 웹 API실무에 바로 통하는 웹 API, 예제로 배우는 가장 실용적인 활용법www.hanbit.co.kr 대학교 시절, 어느 연구실에 소속되어 처음으로 실시간으로 변화하는 데이터를 시각화하는 대시보드 메인 페이지를 만들어야 했던 경험이 있다. 당시 나는 개발 지식도, 기본 개념조차도 제대로 알지 못한 상태였다. 그저 “어떻게든 화면에 변화를 보여줘야 한다”라는 막연한 목표 하나만 가지고 시작했는데, 그 과정에서 선택한 것이 바로 JavaScript에서 제공하는 XMLHTTPRequest API였다. 하..
[Review] 아키텍트 첫 걸음 "한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다." https://www.hanbit.co.kr/store/books/look.php?p_code=B4982465193 아키텍트 첫걸음아키텍트, 누구나 될 수 있지만 아무나 될 수 없다. 가치 있는 아키텍처를 만드는 진짜 아키텍트로 가는 첫걸음www.hanbit.co.kr 지난 개발 경험 동안 나에게 “아키텍트”라는 단어는 늘 “어떻게 개발을 해야 할까”라는 물음을 던지는 일종의 트리거 같은 존재였다. 그래서 “아키텍트”나 “아키텍처” 관련 서적을 읽을 때마다 자연스럽게 “아키텍트는 어떻게 되는 걸까”라는 생각을 곱씹곤 했다. “아키텍트는 어떤 모습이어야 하는가”라는 질문을 던지다 보면, 곧 “그렇다면 아키텍트가 되려면 무엇을 공부..
Named Parameter와 Builder Pattern 요새 Java 코드를 볼 일이 부쩍 늘어났다. 회사에서 사용하는 언어가 Java이기 때문에 당연한 일이 아닌가 싶다. 이제껏 신명 나게 Python을 사용하다가 Java를 보려니 눈에 안 익기도 하고 Java에도 이런 건 있겠지 하던 게 없다거나 해서 마치 다른 문화를 접하는 듯싶다. 각설하고 이 글에서 이야기할 부분은 바로 Named Parameter에 관한 부분이다. 우선 Named Parameter가 뭔지부터 알아보자. Named Parameter는 Python을 쓰면서 자주 애용하는 방법인데 다음과 같이 함수의 파라미터를 호출하는 쪽에서 해당 파라미터의 이름을 특정해 넘기는 방식이다.def method(name, age): print(name, age) method(name='jako', ag..
AI 도구와 함께 달라진 코딩 환경 개요요즘 MCP, 바이브 코딩, AI Agent, A2A 같은 키워드들이 부쩍 눈에 띈다. 개인적으로는 “그런가 보지 뭐” 정도의 감상이다. 코딩하는 입장에서 이런 도구들의 도움을 제대로 받으려면 결국 유료로 써야 쓸 만하다는 생각이 들어서다. Cursor, WindSurf, Claude 같은 도구들이 대표적이다. 후기나 실제 사용하는 걸 두 눈으로 보면 생산성 하나는 끝내주겠다는 생각이 드는 건 덤이다. 하지만 문제는 결국 돈이다. Cursor, Claude, ChatGPT 모두 Pro 플랜이 월 20달러, WindSurf는 월 25 크레디트 방식. 여기에 환율까지 더해지면 매달 나가는 돈도 만만치 않다. 개인적으로도 MCP를 체험해보고 싶어 최근까지 Claude를 써봤지만, 하루 할당량은 금방 바닥났..
코드가 너무 빨리 바뀐다, 그래서 PyCrunch다 개요 요 근래에는 패스트 캠퍼스 강의를 보면서 프로젝트성 강의들을 Django를 이용해 재구성해보며 시간을 보내는 중이다. 강의 내용을 Django로 재구성하는 과정에서 상당 부분 고민하고 실험해 볼 만한 요소들이 상당히 흥미롭다. 이 포스팅에 쓸 내용 또한 이 맥락에서의 이야기다. 과거 파이썬에서 테스트 코드를 작성하는데 필요한 내용들을 조사하면서 얼핏 스치면서 알게된 도구를 소개하는 내용이며 알고 있었지만 왜 그동안 사용하지 않았는지에 대한 사견을 풀어보고자 한다. 파이썬에서 테스트 코드 경험지금까지 테스트 코드를 작성할 때는 unittest 또는 pytest 중 하나를 선택했다. 프레임워크 기반의 개발에는 대부분 pytest를, 단순 기능 검증에는 unittest를 사용하는 방식이었고, 사용 비중..
Django로 만드는 쿠폰 발급 서비스 개요이 포스팅은 "FastCampus"의 "대규모 쿠폰 발행 시스템 구축"에 관한 강의를 보고 Django로 재구성하면서 정리한 내용이다. 쿠폰 발급 서비스의 의의쿠폰 발행은 마케팅 전략의 일환으로 높은 트래픽과 동시성을 해결하지 못하면 시스템 장애로 이어질 수 있으며 이 강의에서는 이러한 문제를 해결할 수 있는 시스템 아키텍처와 해결 방안을 단계별로 알아보도록 하는 게 목표다. 대개의 경우 한정된 수량의 쿠폰을 짧은 시간안에 발행하는 형태로 진행되며 문제가 되는 부분은 상술했듯 높은 트래픽과 동시성 제어이다. 사용자가 만약 동시에 요청을 보낼 경우 쿠폰 중복 발행, 데이터 오염, 시스템 다운 타임이 발생할 수 있으며 시스템 안정성과 확장성이 보장되어야 한다. 엔티티상황에 따른 요구사항과 해당 도메인의..
[Review] 한빛미디어, 나는리뷰어다2025 - 개발자 기술면접 노트 "한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다." https://www.hanbit.co.kr/store/books/look.php?p_code=B5491056069 개발자 기술 면접 노트합격하는 포트폴리오는 무엇이 다를까? 기술 면접에서는 어떤 답변이 최선일까?www.hanbit.co.kr 회사에 들어가는 건 정말 쉽지 않은 일인 것 같다. 2020년 12월, ‘개발자를 해봐야겠다’는 마음 하나로 무작정 여기저기 지원서를 넣던 때도 그랬다. 그 당시만 해도 코딩 열풍이 지금처럼 거세지는 않았기에, 상대적으로 진입 장벽이 낮다고 여겨졌지만 막상 면접장에 가면 인성 질문이나 기술 질문에 제대로 대답하지 못했다. (물론 지금도 여전히 어렵긴 하다.) 그래도 ‘경력을 쌓고 나면 다..
Python으로 100만건 집어넣기 개요 돌이켜 보면 Python을 써오면서 실 서비스에서 한 번에 많은 데이터를 다뤄야 할 일은 비교적 적었던 듯싶다. 그러다 보니 Python으로 대량의 데이터를 다뤄야 하는 경우를 맞닥뜨리면 어떤 경험치를 가지고 판단할 수 있을까 못내 궁금해하고 있었다. 그런 생각에 힘입어 이번 기회에 지금 사용하는 기술 수준에서 이런저런 잔머리를 굴려보며 대량의 데이터를 삽입(INSERT)할 경우 어느정도 시간이 소요되는지 측정해 보기로 했다. 대충 100만건 정도 가정하자. 사실 "대량"이라고 한다면 그 기준을 정하기는 애매한 듯싶다. 따라서 단순하게 MySQL 5.7 에 100만 건의 데이터를 삽입해 보는 걸 목표로 잡았다. Column의 수나 데이터의 형식에 따라 100만건을 삽입하는데 변수로 작용할 수 있겠..

728x90
반응형