Git 브랜치 전략과 명령어 총정리 (merge vs rebase 완벽 비교) 🔀 Git 브랜치 전략과 명령어 총정리 (merge vs rebase 완벽 비교)Git은 협업 개발에서 버전 관리와 안정적인 배포를 위해 필수적으로 사용됩니다.아래는 실무에서 자주 사용하는 Git 명령어와 핵심 개념을 쉽게 정리한 내용입니다.🔀 브랜치 관리✅ 브랜치 이동git checkout {branch명}브랜치를 전환할 때 사용합니다.예: git checkout feature/login🔄 브랜치 병합 (Merge)git merge {branch명}현재 브랜치에 다른 브랜치의 내용을 병합합니다.예: git merge development특징✔ 안전하고 충돌 관리가 쉽다.✖ 병합 커밋(M)이 생겨 히스토리가 복잡해질 수 있다.🔃 브랜치 리베이스 (Rebase)git rebase {branch명}커.. 📚 입사 후 2개월 간 진행한 API 개발 학습 기록 📚 개발 학습 기록 1. 🐍 Python / 예외 처리1.1 IntegrityError 및 세부 예외 분기발생 상황API 개발 중 중복 카테고리 생성 요청 시, 예상했던 "이미 존재하는 카테고리입니다." 대신 "알 수 없는 무결성 오류입니다."가 반환됨.원인 분석psycopg2.IntegrityError는 포괄 예외이며, 내부적으로 UniqueViolation, ForeignKeyViolation 등 세부 예외 클래스를 포함.기존 코드가 최상위 예외만 캐치 → 구체적인 오류 원인 식별 불가.개선 방법psycopg2.errors.UniqueViolation 등 세부 예외 클래스를 명시적으로 캐치.예:from psycopg2 import errorstry: # INSERT ...except erro.. 🚀 Docker & Port 확인 명령어 정리 🚀 Docker & Port 확인 명령어 정리 컨테이너 환경을 관리할 때 자주 사용하는 기본 명령어를 정리했습니다. 필요할 때 빠르게 참고하세요! 1. 포트 사용 여부 확인 ✅ 특정 포트를 사용하는 프로세스 찾기sudo lsof -i :예시:sudo lsof -i :8882해당 포트를 사용 중인 `프로세스명, PID, 연결 상태`가 표시됩니다.출력이 없으면 해당 포트는 사용 중이 `아님`.✅ 현재 열려 있는 포트 전체 확인sudo lsof -i -P -n 2. 컨테이너 상태 확인✅ 실행 중인 컨테이너 목록 확인docker ps 실행 중인 컨테이너의 ID, 이미지, 포트, 이름 등을 보여줍니다. ✅ 모든 컨테이너(중지 포함) 확인docker ps -a* 종료된 컨테이너도 함께 조회. 3. 특정 포트 .. 'Papers with Code' 접속 안 되시나요? 서비스 종료 맞습니다. 공식 후속 플랫폼 'Hugging Face Papers' AI/ML(인공지능/머신러닝) 개발자나 연구원이라면 논문과 코드를 찾기 위해 한 번쯤은 방문해봤을 필수 사이트, 'Papers with Code'. 그런데 최근 paperswithcode.com 주소로 접속이 안 되거나 낯선 GitHub 페이지로 연결되어 당황하신 분들이 많으실 겁니다.결론부터 말씀드리면, 여러분이 겪으신 문제가 맞습니다. Papers with Code 웹사이트가 공식적으로 서비스를 종료하고, 이제 그 역할을 Hugging Face가 이어받게 되었습니다. Hugging Face의 Trending Papers에서 확인해보실 수 있습니다. (https://huggingface.co/papers/trending) 아래 내용은 궁금하시다면 읽어보세요.😊 무슨 일이 있었나? A to Z 총정리.. [Docker] could not select device driver "" with capabilities: [[gpu]] docker run --gpus all 에서 GPU driver 관련 에러가 발생한다. 원인GPU를 사용할 수 있는 Docker 런타임 설정이 안 되어 있음nvidia-container-toolkit 패키지가 설치 안 되어 있고, Docker daemon 설정 파일(/etc/docker/daemon.json)에 nvidia 런타임 설정이 없음 해결 방법1) NVIDIA Container Toolkit 설치NVIDIA 공식 repository 추가curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L .. [Docker] Error response from daemon: Conflict. The container name "/container-name" is already in use docker run 시에 이미 같은 컨테이너 이름이 있어서 충돌했음을 알 수 있다. 해결 방법은 단순하게 기존 컨테이너를 정지 및 삭제 후 재설치 하거나, 다른 이름으로 컨테이너를 생성하면 된다. sudo docker stop {container-name}sudo docker rm {container-name} 함부로 삭제하진 맙시다. [Docker] 도커 작업 명령어 설명 1. Docker 기본 명령어명령어 설명docker build -t [이미지이름] .Dockerfile로 이미지 빌드docker images현재 존재하는 이미지 목록 확인docker run -it --name [컨테이너이름] [이미지이름]컨테이너 실행 (터미널 연결)docker ps -a모든 컨테이너 목록 확인docker start [컨테이너이름]중지된 컨테이너 실행docker stop [컨테이너이름]실행중인 컨테이너 정지docker exec -it [컨테이너이름] /bin/bash실행중인 컨테이너 접속docker rm [컨테이너이름]컨테이너 삭제docker rmi [이미지이름]이미지 삭제 2. Dockerfile 작성 시 유용한 명령어명령어 설명FROM어떤 이미지를 기반으로 만들지 지정RUN이미지 빌드.. [Linux] 리눅스 nano 사용 방법 / 에디터 단축키 nano란?nano는 리눅스에서 사용하는 간단한 터미널 기반 텍스트 에디터명령어: nano 파일이름 특징:직관적이고 사용법이 쉽다터미널 내에서 바로 텍스트 파일 생성/수정 가능자주 쓰는 단축키:Ctrl + O : 저장 (Write Out)Ctrl + X : 종료Ctrl + K : 현재 줄 삭제Ctrl + U : 붙여넣기Ctrl + W : 찾기 (Search) Building an encoder-decoder transformer architecture for sequence-to-equence language tasks Building an encoder-decoder transformer architecture for sequence-to-equence language tasks like text translation and summarization Encoder-Decoder Connection: The encoder connects to the decoder through cross-Attention, allowing the decoder to use the encoder's final hidden states to generate the target sequence.Cross-Attention Mechanism: This mechanism helps the decoder "look back" at the inpu.. Transformer Inference의 두 단계: Prefill과 Decode 및 KV Caching 차이 Transformer 모델에서 inference는 크게 Prefill과 Decode의 두 단계로 이루어진다. 이 두 단계는 입력 토큰을 처리하고, 출력을 생성하는 방식이 다르며, 각각 성능에 중요한 영향을 미친다. 또한, 효율적인 추론을 위해 KV (Key-Value) 캐싱이 활용되는데, 이를 통해 불필요한 연산을 줄이고 속도를 최적화할 수 있다. Prefill 단계: 입력 토큰 처리 단계 Prefill 단계는 모델이 전체 입력 시퀀스를 한 번에 병렬로 처리하여, 각 토큰을 key-value 쌍으로 변환하는 과정이다. 이때 행렬-행렬 곱셈(matrix-matrix multiplication) 연산을 통해 모든 토큰이 병렬로 처리되므로, 여러 토큰을 동시에 계산할 수 있어 GPU를 최대로 활용할 수 있다... 파이썬 버전 확인 및 인터프리터 제어 모듈 sys 파이썬의 버전은 --version 플래그를 통해 알 수 있다파이썬의 버전 확인python --version파이썬3은 python3 이름을 이용python3 --version파이썬 내장 모듈 sys 의 값을 검사해서 버전을 알 수 있음import sysprint(sys.version_info)print(sys.version)sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해줌명령 행에서 인수 전달하기 - sys.argvimport sysprint(sys.argv)강제로 스크립트 종료하기 - sys.exitsys.exit()자신이 만든 모듈 불러와 사용하기 - sys.pathimport syssys.path 클래스와 인터페이스 - 클래스 계층 구조 이용하기 (namedtuple) 객체지향 언어로서 파이썬은 상속(inheritance), 다형성(polymorphism), 캡슐화(encapsultion) 등과 같은 기능을 제공한다. 파이썬으로 원하는 작업을 수행하기 위해 새로운 클래스를 작성하고, 새로 작성한 클래스들이 인터페이스와 계층 구조를 통해 상호작용하는 방식을 정의해야 한다. 파이썬 내장 딕셔너리 타입을 사용하면 객체 생명 주기 동안 동적인 내부 상태를 유지할 수 있다. 동적(dynamic)은 어떤 값이 들어 올지 미리 알 수 없는 식별자들을 유지해야 한다는 뜻이다. 예를 들어, 학생들의 점수를 기록해야 하는데 학생의 이름은 미리 알 수 없는 상황이라고 하면 학생별로 미리 정의된 애트리뷰트를 사용하는 대신 딕셔너리에 이름을 저장하는 클래스를 정의할 수 있다. class Si.. 이전 1 2 3 4 ··· 18 다음