전체 글
-
MySQL 다중 행 UPDATE - VALUES ROW로 외부 데이터를 쿼리에 끼워넣기Programming/TIL 2026. 5. 4. 00:13
MySQL에서 외부 데이터로 레코드를 한 번에 업데이트해야 할 때 쓸 수 있는 방법을 정리합니다. 임시 테이블, UNION 서브쿼리부터 VALUES ROW 문법까지 환경별로 사용 가능한 방법을 예시와 함께 소개합니다.개요스타트업 백엔드 개발자로 일하다 보니 운영 쿼리를 직접 작성하는 일이 정말 많습니다.정기 작업으로 자동화할 만큼 빈번하지도 않고, 그렇다고 앱 기능으로 구현하기는 너무 일회성인 요청들이 종종 들어오거든요.가끔은 고객사에서 직접 요청이 들어오기도 합니다.조회 결과를 엑셀로 뽑아 전달해 드리는 일도 있고, 데이터 업데이트 요청이 오기도 하죠.업데이트 조건이 깔끔하게 떨어진다면... WHERE 절 한 줄로 끝나니 큰 문제는 아닙니다.단 고객사가 미리 선별한 데이터 리스트를 기반으로 작업해야 할..
-
타입스크립트 빌드가 느릴 때 컴파일 시간 분석하기Programming/Troubleshooting 2026. 5. 2. 01:35
Typescript 빌드 시간이 느릴 때 어디가 병목인지 측정하는 방법을 정리합니다. tsc의 --extendedDiagnostics, --generateTrace 옵션 사용법과 typescript-analyze-trace로 트레이스 결과를 읽는 방법을 다룹니다.개요프로젝트가 커지다 보면 타입스크립트 컴파일러가 눈에 띄게 느려지는 시점이 옵니다.이럴 때 시간 내서 한 번 개선하면 팀에 생색 내기 딱 좋죠.1초만 줄어도 팀원 수, 평균 빌드 횟수 및 CI/CD 환경에 따라 엄청난 시간과 비용 절감이 될 수 있으니까요.관련해서 여러 자료가 인터넷에 많지만, 이를 그대로 가져다 쓰기엔 함정이 있습니다.코드베이스마다 실제 병목 지점이 다르기 때문에 어떤 변경은 효과가 거의 없을 수도 있고,어떤 변경은 코드의 b..
-
마크다운 코드블럭 안에 코드블럭 넣는 방법(중첩 코드블럭 사용법)Programming/Troubleshooting 2026. 4. 19. 17:59
마크다운 코드블럭 안에 또 다른 코드블럭을 넣는 방법을 설명합니다. 마크다운 문법 자체를 설명하거나 다른 마크다운 문서를 예시로 보여줄 때 유용한 중첩 코드블럭 사용법을 소개합니다. 백틱 개수를 다르게 쓰는 방법과 물결표(~)를 활용하는 방법, 그리고 CommonMark 스펙 기준으로 지원하는 서비스까지 정리했습니다.TL;DR방법은 간단합니다.바깥쪽 코드블럭의 백틱(```) 개수를 안쪽보다 많이 써주면 됩니다.````markdown이렇게 바깥쪽 코드블럭은 백틱 4개, 안쪽 코드블럭은 백틱 3개를 사용합니다.typescript 코드를 포함한 마크다운 문서를 예시로 그대로 보여줄 수 있습니다.```typescriptconst f = () => f;```````혹은 바깥쪽 코드블럭을 백틱 대신 물결표(~)로 ..
-
WSL2 디스크 용량 부족 해결 방법: vhdx 파일 압축하기Programming/Troubleshooting 2025. 10. 9. 23:30
WSL 파일 삭제 시 Windows 디스크 용량이 줄어들지 않는 문제의 원인과 해결 방법을 설명합니다. ext4.vhdx 파일 크기를 압축하여 디스크 저장 공간을 확보하는 방법과 Docker Desktop의 docker_data.vhdx 파일 처리까지 단계별로 안내합니다. optimize-vhd와 diskpart를 활용하여 WSL 디스크 용량 부족 문제를 해결합니다.개요최근에 신입 개발자로 취업했습니다. 와아~어쩌다 보니 Node.JS 기반 서버 개발 업무를 맡게 되었는데요.회사가 패키지 매니저로 npm을 사용하다 보니, node_modules 폴더가 무지막지하게 쌓이고 있습니다.덕분에 노트북 저장 공간이 많이 부족해지고 있어서, 휴일동안 파일 정리를 진행했습니다.그런데 파일을 아무리 지워도 디스크 공간..
-
WSL이 E_UNEXPECTED와 함께 자주 멈춘다면? 범인은 Docker Desktop일수도Programming/Troubleshooting 2025. 6. 11. 20:36
TLDRWSL(Windows Subsystem for Linux) 사용 중 WSL이 자주 멈추는 경우새로운 터미널을 띄워도 Error code: Wsl/Service/E_UNEXPECTED 메시지가 뜨는 경우Docker Desktop의 Resource Saver Mode가 원인일 수 있습니다.주요 해결 방법은 다음과 같습니다.Docker Desktop의 Resource Saver Mode 해제하기Settings(톱니 아이콘) - Resources - Advanced - Resource Saver 에서 해제가 가능합니다.4.43.0 이상으로 Docker Desktop 버전 업데이트 하기현재(2025-06-11) 4.43.0은 정식 버전 출시 전으로, 개발 버전으로 테스트가 가능합니다.Windows(Inte..
-
초보자를 위한 MCP 서버 사용 가이드: Claude Desktop에서 파일 관리와 유튜브 요약 기능 설정하기Programming/TIL 2025. 3. 30. 21:40
MCP(Model Context Protocol)를 활용해 Claude AI의 기능을 확장하는 법을 소개합니다. Claude Desktop에서 개인 폴더와 파일을 연동하여 개인 AI 비서처럼 활용하는 방법과, 유튜브 영상의 자막을 분석하여 요약하는 기능을 추가하는 방법을 안내합니다. MCP의 개념부터 설정 방법까지 비개발자도 따라할 수 있는 실용적인 가이드를 제공합니다.개요요즘 MCP(Model Context Protocol)에 대한 관심이 아주 뜨겁습니다.MCP를 간단히 말해 클라이언트-서버 구조를 기반으로 AI 언어 모델과 다른 소프트웨어를 연결하는 프로토콜인데요.기술적인 내용을 덜어내고 비유하자면 AI를 위한 USB 포트와 같은 개념입니다.USB 포트로 외장 하드나 키보드, 미니 선풍기까지 연결할 ..
-
Vimium으로 크롬 웹 브라우저에서 마우스 없이 웹서핑하기Programming/TIL 2025. 3. 2. 23:39
마우스 없이 키보드만으로 웹 브라우징을 가능하게 해주는 크롬 확장 프로그램 Vimium C를 소개합니다. 페이지 스크롤부터 링크 클릭, 텍스트 복사까지 키보드 단축키만으로 해결하는 Vimium의 사용법을 자세히 설명합니다. Vim 경험이 없는 독자도 쉽게 사용할 수 있도록 주요 명령어와 실용적인 팁을 제공합니다.개요오늘은 마우스 없이, 키보드로만 웹서핑을 할 수 있게 해주는 크롬 확장 프로그램 Vimium C를 소개하겠습니다.프로그래밍을 하다 보면 어느 순간 IDE에 익숙해져 점차 키보드로만 많은 작업을 수행하게 됩니다.저는 Neovim을 주로 사용했기 때문에 애초에 마우스로 클릭할 수 있는 버튼 자체가 없었기도 하구요...하지만 웹 브라우징은 여전히 마우스에 의존적입니다.아무리 브라우저 단축키를 많이 ..
-
SW Expert Academy 예제 입출력 복사 크롬 확장 프로그램 제작하기Programming/TIL 2025. 2. 16. 16:05
SWEA(SW Expert Academy) 사이트에서 예제 입력과 출력을 쉽게 복사할 수 있는 크롬 확장 프로그램 개발 과정을 상세히 설명합니다. 개발자 도구를 활용한 기능 구현 실험, manifest 파일 작성, 실제 코드 구현, 크롬 웹스토어 등록까지 과정을 다룹니다.개요웹스토어 승인이 완료되어서 다운로드가 가능합니다. 한 번 받아보세요!확장프로그램 다운로드 링크SW Expert Academy(이하 SWEA)는 삼성에서 제작한 알고리즘 문제 풀이 사이트입니다.많은 사람들이 코딩 테스트 준비, 특히 삼성 SW 역량 테스트 대비에 자주 사용하죠.저도 최근 SSAFY에 입과 하면서 SWEA 사이트를 자주 사용하고 있습니다.삼성에서 운영하는 교육 프로그램이다 보니 알고리즘 교육과 과제 제출이 모두 SWEA에..