Programming/TIL
-
초보자를 위한 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에서 이루어지거든요.사이트에 대한 불만은... 많지 않습니다!단 하나만 제외하고는요.예제 입력과..
-
Python set의 순서는 어떻게 정해질까? CPython 구현으로 알아보는 해시 테이블 동작 원리Programming/TIL 2025. 2. 2. 22:10
파이썬 set 자료형의 순서 결정 원리를 CPython 소스코드 분석을 통해 파헤칩니다. 해시 테이블 구현 방식, 충돌 해결 전략, 초기화 방식에 따른 순서 차이까지 상세히 설명합니다. set.pop() 메서드의 기묘한 동작을 통해 집합 자료형의 내부 동작 원리와 구현 방식에 대해 분석합니다.개요Python의 set, 집합 자료형은 순서가 없는 자료형으로 알려져 있습니다.하지만 데이터가 메모리에 저장되는 한, 어떤 방식으로든 순서가 있기 마련입니다.파이썬에서 for 문을 사용해 집합을 순회할 수 있는(iterable) 것도 순서가 있으니까 가능한 일이겠죠.이런 식으로요.s = {"하나", "둘", "set", "집합"}for item in s: print(item)실행 시마다 출력되는 순서가 다르게..
-
Windows 개발환경 구축하기 (Neovim, NvChad, Git-bash)Programming/TIL 2025. 1. 19. 20:47
Windows 11 환경에서 Neovim 개발 환경을 처음부터 차근차근 구축하는 방법을 설명합니다. Git for Windows SDK를 통한 CLI 환경 구성, Windows Terminal 설정, NvChad를 이용한 Neovim 초기 설정까지 단계별로 상세히 다룹니다.개요최근 SSAFY 스타트캠프를 마쳤습니다.본격적인 학습을 시작하기 전 진행하는 2주간의 적응 기간입니다. 논산 훈련소 같은 느낌이죠.내일부터는 실제 프로그래밍 학습이 시작될 텐데요.학습은 교육장에서 제공하는 삼성 SSAFY 컴퓨터로 진행합니다. 즉, 개인 노트북을 사용할 수 없어요 ㅜㅠ.게다가 SSAFY 컴퓨터에는 Windows 11이 설치되어 있고,고정 좌석이 아니라서 한 달에 한 번씩 자리가 바뀔 수 있습니다.이런 환경에서... ..
-
티스토리 블로그에 마크다운 콜아웃(Callout) 넣어주기Programming/TIL 2024. 11. 25. 18:56
티스토리 블로그에서 Github 스타일의 마크다운 콜아웃(경고/주의 상자)을 구현하는 방법을 설명합니다. HTML 구조 분석부터 자바스크립트 DOM 조작, CSS 스타일링, 웹 접근성 개선까지 단계별로 알아봅니다.개요Github에서 README 파일을 읽다 보면 이런 멋있는 경고 상자를 볼 수 있습니다. 프로그램 사용 시 주의사항이나 설정 방법, 사용 꿀팁 등을 강조할 때 주로 사용되곤 하는데요.이는 Github Flavored Markdown에서 지원하는 기능입니다.표준 마크다운 문법에 여러 가지 확장을 더한 것이죠.아래와 같은 표준 마크다운 인용블록에> 나는 생각한다 고로 나는 존재한다. - ChatGPT나는 생각한다 고로 나는 존재한다. - ChatGPT이런 식으로 [!NOTE]를 앞에 붙이면 위에..
-
C언어로 알아보는 객체 지향 프로그래밍: 가상 함수 테이블(vtable)과 메서드 구현Programming/TIL 2024. 11. 23. 22:43
C언어로 구조체와 함수 포인터를 이용해 객체 지향 프로그래밍을 구현하는 방법을 설명합니다. 객체 지향 언어의 메서드를 모방하고, 가상 함수 테이블(vtable)을 이용한 동적 함수 호출을 구현하는 과정을 다룹니다. C++의 정적/동적 바인딩, Java의 추상 메서드 등 다양한 언어의 메서드/인터페이스 구현 방식과 비교하며 객체 지향의 원리를 설명합니다.개요요전에 제어의 역전(Inversion of Control) 이해하기 1부: 객체 지향 이전의 C언어 구현이라는 글을 썼습니다.2부는 "객체 지향 프로그래밍에서의 제어의 역전"을 설명할 계획이었는데요.글의 내용을 고민하던 와중, 이걸 객체 지향 언어 대신 C언어로 설명해 볼 순 없을까?라는 생각이 들었습니다.그런데 글을 쓰다 보니 내용이 점점 산으로 가고..
-
제어의 역전(Inversion of Control) 이해하기 1부: 객체 지향 이전의 C언어 구현Programming/TIL 2024. 11. 7. 22:56
C언어의 함수 포인터를 활용하여 제어의 역전(IoC, Inversion of Control)의 기본 개념과 구현 방법을 설명합니다.Spring이나 객체 지향 프로그래밍의 고급 개념 없이, C언어의 qsort() 함수 예제를 통해 콜백 메커니즘의 동작 원리와 장점을 살펴봅니다. 함수 포인터를 활용한 코드 결합도 낮추기와 재사용성 향상 방법을 다룹니다.개요최근 너무 흥미로운 블로그 글을 발견했습니다.제어의 역전을 C언어 예시로 설명하고, 이를 객체 지향적 관점으로 확장하며 설명하는 글이었는데요.읽으면서 이해한 내용을 정리하고, 글 소개도 할 겸 글을 써보기로 했습니다.본 글은 해당 블로그 글을 기반으로 제어의 역전을 설명합니다.설명과 코드 예시는 블로그 글을 참고하되, 최대한 이해하기 쉽도록 제 나름의 설명..