Windows 에서는 아직 네이티브 클라이언트를 제공하지는 않지만 WSL 2 에서 Linux 버전으로 구동하거나 도커 컨테이너로 기동할 수 있다. https://ollama.ai/blog/ollama-is-now-available-as-an-official-docker-image 먼저 WSL 안에서 NVIDIA CTK 활용이 가능해야하는데 다음 문서를 참고한다. https://learn.microsoft.com/ko-kr/windows/ai/directml/gpu-cuda-in-wsl 위 문서를 참고해 컨테이너를 실행하고 mistral, mistral:instruct 이미지를 내려받아놓기까지만 하면 로컬 API 서버 준비 끝. docker run –rm -d –gpus=all \ -v ./ollama:/root/.ollama -p 11434:11434 […]
VSCode 에서 CUDA (nvcc) 개발 환경 설정하기 – 1
이전 포스팅에서 그래픽 카드 붙은 시스템 까지는 구성해놨으니 이제 개발환경을 설정해본다. 사실 NVIDIA Container Runtime 만 구성하면 NVIDIA NGC 에서 CUDA 뿐만 아니라 여러 라이브러리, 프레임워크 버전별 이미지를 제공해주다보니 직접 버전별로 구성해놓을 필요가 없어서 시스템을 깔끔하게 관리할 수도 있고 집에 있는 개인 장비, Cloud Workspace 그리고 폐쇄망인 회사 업무 환경에 까지 일관된 개발환경을 구성할 수 […]
code-server (설치형 VSCode 웹버전)
code-server vscode.dev 같이 웹버전 vscode 를 직접 구성할 수 있게 하는 오픈소스(?) 프로젝트가 있어 사내 jupyterhub 프로젝트에서 개인별 노트북 환경에 설정해봤는데 동료들 사이에서 반응이 괜찮고 직접 써봐도 사용성이 제법 좋아서 홈서버에 붙여 써볼까 한다. https://github.com/coder/code-server 컨테이너로 실행할 수도 있겠지만 홈서버 호스트를 외부에서 바로 제어(?)하고 싶은 용도로 쓰고싶어 일단은 바이너리를 그대로 받아 네이티브 프로세스로 실행할 예정. […]
[VSCode] Remote Container 에서 파이썬 디버깅하기 (feat. Airflow)
최근에 팀 airflow 프로젝트를 컨테이너 기반으로 전환하면서 런타임에 디버깅하는 환경을 별도로 구축했어야했는데 Remote – containers 플러그인을 이용하면 운영환경에서 크게 변경없이 디버깅할 수 있어서 사용방법을 간단히 정리해본다. 이 확장을 이용하면 디버깅 용으로 별도 로컬 환경을 구축하지 않아도 컨테이너로 관리하는 서비스들을 운영 이미지 그대로 디버깅할 수 있는데, 아직 preview 버전이긴 하지만 사내에서 사용하고 있는 airflow 이미지 기준으로 […]
폐쇄망에서 wsl × vscode × docker 개발환경을 세팅해보자
Windows 10 환경에 wsl2 ubuntu × vscode × docker desktop 조합으로 개발 환경을 세팅해본다. wsl 은 기본적으로는 VM 이지만 이 조합으로 구성하면 마치 네이티브 리눅스 환경에서 작업을 하고 있는 듯이 매끄럽게 조작할 수 있는데 특장점을 꼽아보자면, 윈도우 파일시스템이 /mnt/c, /mnt/d 와 같이 unix 경로로 기본 마운트 돼 있어서 별도 통신없이 접근할 수 있고 호스트 윈도우의 […]
VSCode Extension 개발기 (feat. SQL Styler)
대부분의 IDE 에서는 언어별로 포맷팅 프로파일을 설정해서 배포할 수 있는 확장들이 있는데 Code 에서 SQL 용으로 쓸만한 포맷터는 없는 것 같다. 그나마 있는게 Poor Man's T-SQL 스타일에서 keyword uppercase 옵션이나 comma 위치 정도 선택할 수 있는 기능 정도 뿐인듯. 내가 하는 업무에서는 1~200 줄은 가볍게 넘어가는 SQL 코드를 많이 만들어내는데, 키워드 마다 개행을 하고 서브쿼리 […]
[JetBrains] 인터넷 안되는 환경에서 플러그인 설치하기
동료들이 전부 jetbrains의 IDE를 사용하는데 나도 이제는 갈아타야될 때가 된 것 같아서 넘어가려는 중에 IdeaVim 플러그인 설치하는거에서 애를 좀 먹었다. Vim 덕후들은 텍스트 에디터나 IDE 같은 툴이 암만 좋다고 해도 Vim 키보드 에뮬레이션이 지원되는지가 가장 중요하다. 인터넷이 가능한 환경이라면 plugins 메뉴에서 간단히 버튼 클릭 만으로 플러그인을 설치할 수 있지만 인터넷이 없는 환경에서 오프라인으로 Jetbrains IDE […]
[Vim] Multi-line Search 로 여러 줄에 걸친 패턴 검색
Vim에서 여러줄에 걸쳐서 발생하는 패턴을 검색하기 위해서는 약간 다른 정규표현식을 사용해야한다. 메타문자 등이 있을 때 그 바로 앞에 \_ 문자열을 더해주면 되는데, 아래와 같이 자주 사용되는 표현을 예로 들자면 . ^ $ \s 다음과 같이 바꿔서 써줄 수 있고 \_. \_^ \_$ \_s [^A] 와 같은 문자열 클래스도 \_[^A] 로 변형해서 사용할 수 있다. 만약 […]
[Gmail] 검색 연산자
하나의 구글 계정 안에 회사 메일, 학교 메일, 개인 도메인 메일까지 당겨왔었고, 라벨링까지 해가며 나름 메일을 잘 활용했었는데 회사를 이직하고나서부터는 개인 지메일을 많이 사용하지 않게 되었다. 전 회사에서는 인터넷 망에서 자유롭게 메일이 가능했기 때문에 회사 메일을 개인 gmail 로 당겨와서 관리를 했었고 또 업무를 보려면 무조건 메일을 확인했어야했기 때문에 수신함에 읽지않은 메일이 10건을 넘어가는 적이 […]
[Vim] ctags 활용
[Vim] ctags 활용 ctags는 소스코드를 파싱해 함수 및 변수 이름의 인덱스를 생성해줌으로써 vim 에디터 안에서 단축키만으로 간편하게 해당 함수의 선언부로 이동할 수 있게 해준다. Mac 에서 설치 방법 (2019.11.02 추가) Mac에서 기본으로 설치된 ctags는 -R 옵션이 없는데 recursive 로 소스코드 색인을 하기 위해서는 따로 설치를 해주어야 한다. 아래와 같이 homebrew를 이용해서 설치한 뒤 새로운 경로로 […]