게시글

모든 게시글을 한곳에서 확인하세요. AI, 프로그래밍, 보안, 인프라, 웹 개발 관련 튜토리얼과 심층 글, 가이드, 업데이트를 제공합니다.

기술 실사: 인수자가 실제로 보는 것

기술 실사는 코드 품질을 겨루는 대회가 아니며, 실사를 준비하는 팀은 대개 엉뚱한 곳에 시간을 쏟습니다. 회사를 인수하려는 사람 중에 당신이 만든 추상화에 점수를 매기려는 사람은 없습니다. 인수자는 이 시스템을 소유하는 데 얼마가 들지, 그리고 돈이 오간 뒤에 상황이 얼마나 나빠질 수 있는지를 계산하려는 것입니다. 이렇게 질문을 다시 세우는 일이 중요한 이유는, 무엇부터 손봐야 하는지가 달라지기 때문입니다. 보기에 지저분해도 돌아가고, 팀이 이해하고 있으며, 안전하게 바꿀 수 있는 코드는 사소한 지적에 그칩니다....

데이터베이스 성능: 애플리케이션을 죽이는 쿼리 찾기

데이터베이스 성능 작업은 보통 누군가 더 큰 인스턴스를 제안하는 것으로 시작해서, 페이지를 열 때마다 쿼리 하나가 400만 행을 순차 스캔하고 있었다는 발견으로 끝납니다. 제약은 처음부터 하드웨어가 아니었습니다. 제약은 실행 계획이었습니다. 이 패턴은 충분히 일관되게 반복되므로 기본 가정으로 삼을 만합니다. 애플리케이션이 느리고 데이터베이스가 바쁘다면, 원인은 거의 언제나 소수의 특정 쿼리이지 전반적인 용량 부족이 아닙니다. 그리고 서버를 키우는 일은 테이블이 다시 커지는 데 걸리는 시간만큼만 문제를 가려 줍니다. 무엇이든 바꾸기 전에 먼저 측정하십시오. 짐작으로 고...

엔티티 SEO: 검색엔진에 당신이 무엇인지 가르치기

엔티티 SEO는 대부분의 최적화 조언이 여전히 무시하는 하나의 사실에서 출발합니다. 검색엔진은 아주 오래전에 문자열 매칭을 그만두었습니다. 검색엔진은 사물을 매칭합니다. 페이지는 특정 문구를 포함하고 있는지로 점수를 받는 것이 아니라, 그 문구 뒤에 있는 개념에 관한 페이지라고 시스템이 믿는지, 그리고 그 개념이 무엇인지에 대해 시스템이 얼마나 확신하는지로 점수를 받습니다. 이 구분이 키워드를 반복하는 일이 도움이 되는지 아니면 아무 효과도 없는지를 결정합니다. 문자열을 매칭하는 시스템에서 반복은 신호입니다. 엔티티를 매칭하는 시스템에서 반복은 잡음이며, 실제로 결과...

실제 사용자를 견뎌내는 소프트웨어 테스트 전략

소프트웨어 테스트 전략은 대개 커버리지라는 숫자로 설명되지만, 커버리지는 이 분야 전체에서 정보량이 가장 적은 숫자입니다. 커버리지가 구십 퍼센트인 코드베이스도 가장 많이 쓰이는 경로에서 버그를 그대로 배포할 수 있습니다. 커버리지는 테스트가 도는 동안 어떤 줄이 실행되었는지를 측정할 뿐, 그 줄에 대해 의미 있는 검증이 이루어졌는지는 전혀 측정하지 않기 때문입니다. 자기 테스트 스위트를 신뢰하는 팀은 퍼센트가 가장 높은 팀이 아닙니다. 무언가가 정말로 망가졌을 때 테스트가 빨간불을 켜고, 그 외의 순간에는 조용히 있는 팀입니다....

영국 핀테크 소프트웨어 개발: FCA, 결제망, 비용

핀테크 소프트웨어 개발은 누군가 돈을 보유할 권한이 누구에게 있는지 묻기 전까지는 일반 소프트웨어 개발과 똑같이 견적되고 일정이 잡힙니다. 그 질문이 나오는 순간부터 프로젝트는 엔지니어링 과제이기를 멈추고 엔지니어링 요소가 딸린 규제 과제가 되며, 머릿속에 그려두었던 일정은 더 이상 달성 가능한 것이 아니게 됩니다. 기술은 어려운 부분인 경우가 드뭅니다. 돈을 옮기는 일은 이미 해결된 문제이고, 성숙한 제공업체와 문서화된 인터페이스, 첫날부터 쓸 수 있는 테스트 환경이 갖춰져 있습니다. 핀테크 구축 기간을 늘리는 것은 인가 지위, 감사에 대응할 증적 의무, 그리고 여...

MVP 소프트웨어 개발: 범위, 비용, 일정

MVP 소프트웨어 개발이 어긋나는 지점은 구현 단계가 아니라 범위를 정하는 회의입니다. 누군가 “최소 기능 제품"이라고 말하면 모두가 고개를 끄덕이고, 그다음에 도착한 기능 목록에는 사용자 계정과 관리자 화면, 결제, 알림, 대시보드, 그리고 모바일 앱까지 들어 있습니다. 그것은 최소 기능 제품이 아닙니다. 그것은 이미 완성된 제품이고, 머릿속에 떠올린 숫자보다 세 배는 더 오래 걸립니다. 정작 문제를 일으키는 단어는 “기능하는”, 즉 뒤에 붙는 viable입니다. 대부분의 팀은 이 말을 “누구에게나 팔 수 있을 만큼 좋은 상태"로 읽지만, 실제 의미는 “...

콘텐츠가 상위에 올라도 인용되지 않는 이유

순위는 올라가는데 인용은 되지 않는다. 검색 엔진 최적화를 제대로 했는데도 아무 성과가 나오지 않을 때 느끼는, 아주 특정한 종류의 답답함이 이것입니다. 순위는 옵니다. 노출수도 올라갑니다. 그런데 클릭은 따라오지 않고, 타이틀 태그를 몇 번을 고쳐 써도 상황은 달라지지 않습니다. 이것은 당신의 최적화가 실패했다는 뜻이 아닙니다. 검색 결과 페이지가 링크 목록이기를 그만두고 하나의 답변이 될 때 벌어지는 일입니다. 그리고 이제 이것은 진단이 필요한 이상 현상이 아니라 평범한 상태가 되었습니다. Search Console에서 가져온, 2026년 8월 초까지 28일간의 ...

llms.txt는 아직 효과가 있을까? 그 증거

llms.txt가 지금 뭔가를 하고 있느냐는 질문에 대한 정직한 답은 이렇습니다. 측정 가능한 수준에서는 거의 아무것도 하지 않으며, 이 파일이 AI 가시성에 필수라고 말하는 사람은 무언가를 팔고 있는 것입니다. 그러면서도 파일을 하나 만들어 두라고 권하는 것은 불편한 입장이므로, 이 글은 먼저 숫자를 보여주고 그다음에 권고의 이유를 설명합니다. 파일 자체는 합리적인 아이디어입니다. 사이트 루트에 두는 마크다운 색인으로, robots.txt가 크롤러에게 무엇을 가져가도 되는지 알려주듯 언어 모델에게 무엇을 어디에 게시하는지 알려줍니다. 발상에는 문제가 없습니다. 문제...

AI 크롤러 차단 여부는 비즈니스 결정이다

AI 크롤러를 차단할지 말지는 흔히 기술 문제처럼 제시되지만, 사실은 기술 문제가 아닙니다. 차단 자체는 설정 몇 줄이면 되고 십 분이면 끝납니다. robots.txt에 몇 줄을 적거나 네트워크 단에서 규칙 하나를 켜는 일이 전부입니다. 어려운 쪽은 그것을 정말 원하는지 판단하는 일이고, 그 판단은 철저히 사업적인 판단입니다. 내 콘텐츠가 모델 학습에 쓰이지 않도록 지킬 것인지, 아니면 사람들이 이제 검색 결과 목록 대신 받아 보는 답변 안에 존재할 것인지를 고르는 문제이기 때문입니다. 온라인에 있는 조언 대부분은 먼저 한쪽 편을 고른 뒤 그 편만 변호합니다....

Cloudflare Queues: 엣지의 백그라운드 작업

Cloudflare Queues는 모든 서버리스 애플리케이션이 언젠가는 마주치는 문제를 해결합니다. 사용자가 기다릴 이유가 없는 작업을 유발하는 요청이 들어온다는 문제입니다. 확인 메일 발송, 업로드된 이미지 리사이즈, 레코드를 외부 서비스로 동기화하는 처리 같은 것들입니다. 전통적인 서버라면 그 일을 백그라운드 워커 프로세스에 넘기면 됩니다. 그런데 Workers에는 넘길 프로세스 자체가 없습니다. 흔히 쓰이는 우회책들은 보기보다 나쁩니다. 요청 안에서 그대로 처리하면 사용자가 메일 발송 업체의 응답을 기다리게 됩니다. 다른 Worker로 요청만 던지고 기다리지 않...