본문 바로가기

전체 글

(31)
Data Modeling 및 Validation을 위한 Pydantic Python은 데이터를 다루는 언어 중 아주 유연한 언어 이지만, 모델링 또는 데이터 유효성 검사 시 불편한 점이 있다. 아주 훌륭한 Dict, List 등의 자료형으로 많은 일들을 할 수 있지만 여전히 모델링을 하기엔 다소 부족한 점이 있다. Pydantic 이란? Pydantic은 Python에서 사용할 수 있는 데이터 직렬화 도구 이다. 이를 사용하면, 데이터 모델을 생성하고 그에 맞는 유효성 검사를 할 수 있다. 역시나 Pythonic 하게 Type hinting을 사용해 아주 간결하고 가독성이 좋게 만들 수 있게 도와 준다. 요즘 핫한 Python web framework인 FastAPI에서 데이터의 모델을 정의할 때 사용하고 있다. Pydantic 설치 pip install pydantic P..
생애처음 Split Keyboard - Ergodox wireless 어깨, 등, 허리 가 너무 아파 해결책을 찾아보던중 Split Keyboard를 알게 되었다. 어깨가 열리면 등의 긴장이 풀어지고 자연스럽게 허리가 좋아진다고 한다. 0Split Keyboard 중에서도 ErgoDox라는 배열의 키보드가 눈에 띄었다. 원래 ZSA에서 만드는 Ergodox EZ 를 보고 있었는데 유선제품이고 가격도 사악해서 다른 키보드를 알아보기로 했다. ErgoDox는 Dox라는 사람이 만든 오픈소스 키보드 배열인데 여려곳에서 해당 배열을 사용해 키보드를 내놓고 있었다. 그 중 SliceMK 라는 곳에서 파는 Ergodox wireless 를 봤는데 가격도 상대적으로 저렴하고 무엇보다 완전한 무선 키보드로 선이 아얘 필요가 없는 제품이었다. 아래는 이렇게 생겼다. 위에 알류미늄 상판에 ..
Kensington Slimblade Pro가 왔다 2023.03.13 - [일상/이런저런] - Kensington Slimblade pro 출시 Kensington Slimblade pro 출시 2023.02.01 - [일상/이런저런] - Kensington Slimblade Trackball 7년 사용 후기 Kensington Slimblade Trackball 7년 사용 후기 2016년 여름 부터 Kensington Slimblade Trackball을 사용 중이다. (2016년 와이프가 생일선물로 사주 blog.taeju.kim Kensington slimblade pro 가 왔다. 사실은 4월 말에 왔는데 이제야 글을 적는다. 역시 슬림하고 스타일리시한 디자인이 그대로 이어졌다. 색상이 조금 더 짙어진 느낌이다. 새재품이라서 그런지 볼을 굴리는게..
cat 말고 bat 쓰자 Linux 및 Mac 에서 'cat' 은 가장 기본적이면서 유용한 명령어 중 하나이다. 'cat' 은 cancatenate(연결하다) 의 줄임말로 파일의 내용을 터미널에 출력하거나 할때 유용하게 사용된다. $ cat file.txt hello world 보통 위 처럼 파일의 내용응 빠르게 볼때 사용한다. 그럼 'bat'은 뭘까? bat은 cat의 기능을 확장한 명령어이다. 출력 내용의 색상을 입히고 line number를 표시 하는 등의 기능이 추가되었다. 그 외 여러가지 기능이 있다. https://github.com/sharkdp/bat bat 설치 Ubuntu $ sudo apt install bat Mac $ brew install bat bat 사용 cat 과 동일하게 사용할 수 있다. cat ..
Python 프로젝트 구성 끝판왕 Pyenv + Poetry Python으로 많은 것들을 할 수 있다. 단순한 프로그램 부터, 웹, ML 등 많은 프로젝트들을 Python을 사용해 만들어낼 수 있다. 보통 프로젝트를 시작하는 경우는 내가 처음 프로젝트를 시작하거나, 아니면 다른 사람이 먼저 시작한 프로젝트에 참여하거나.. 두가지 경우가 있을거같다. Python은 기본적으로 아주 느슨한 의존성 관리툴을 탑재하고 있다. (pip, requirements.txt..) Python프로젝트를 다른 사람과 같이 진행하다 보면 "어? 내 PC에서는 동작하는데?" 를 시전하는 경우가 적지 않다. 패키지 의존성 문제나, 서로 다른 Python 버전을 사용하는 경우 이런 Case가 발생한다. Pyenv와 Poetry를 같이 사용하면 위와 같은 문제를 대부분 해결 할 수 있다. Py..
Visual Studio Code의 모든 설정을 Github으로.. Visual Studio Code(이하 vscode)는 범용적으로 많이 쓰는 IDE 급의 에디터 이다. 엄청나게 많은 Extenstion 들을 사용하면 정말 많은 기능들을 사용 할 수 있다. vscode는 설치된 Extension이나 Theme, 각종 설정들을 클라우드에 저장해두고 PC를 바꾸거나 새로운 환경에서도 쉽게 예전에 쓰던 설정 및 Extension을 사용할 수 있게 Settings Sync 기능을 제공한다. 예전에는 별도 Extension 이 있어 이런 기능을 사용할 수 있었는데, vscode에서 공식적으로 이 기능을 제공하게 되면서 해당 Extension 은 Deprecated 되었다. 사용방법은 아주 간단하다. vscode를 실행하고 왼쪽 하단에 톱니바퀴 아이콘을 클릭하면 Turn on s..
Windows10 WSL2에서 Docker Error 해결하기 Windows 10에서 Docker를 사용하려면 몇 가지 문제가 발생한다. Dockerfile에서 COPY 나 ADD를 통해 파일 및 폴더를 Docker image로 복사할 경우 아래와 같은 문제가 발생하고 image 에 적용이 되지 않는다. docker: Error response from daemon: cgroups: cannot find cgroup mount destination: unknown. Linux 커널의 기능 중 프로세스간 자원을 제한하는 기능을 하는 cgroup의 경로가 잘못되었다는 오류가 발생한다. 아래처럼 cgroup의 경로를 생성하고 mount 하면 문제가 해결된다. sudo mkdir /sys/fs/cgroup/systemd sudo mount -t cgroup -o none,..
Kensington Slimblade pro 출시 2023.02.01 - [일상/이런저런] - Kensington Slimblade Trackball 7년 사용 후기 Kensington Slimblade Trackball 7년 사용 후기 2016년 여름 부터 Kensington Slimblade Trackball을 사용 중이다. (2016년 와이프가 생일선물로 사주었다.) 그 전 부터 손목이 아파서 여러가지 마우스를 사용해봤는데 효과가 없어 트랙볼이라는 새로운 제 blog.taeju.kim 드디어 출시 되었다! Slimblade 무선 버전 신제품 지난 2월에 Slimblade 제품에 대한 내용을 썼었는데 작년 11월에 Slimblade pro 가 출시되었다고 한다. 미리 알았으면 먼저 구매했을텐데 말이다.. 무려 충전식에 Bluetooth, 2.4Ghz..