본문 바로가기

Engineering22

Poetry: Python 패키지 의존성 관리 tool 본 포스팅은 Github을 통한 협업을 진행하면서, 팀원들 간에 모두 같은 환경을 공유할 목적으로 파이썬 패키지 의존성 관리 tool인 Poetry를 활용하기 위하여 관련한 기초 조사를 진행한 내용입니다. 01 Poetry란? poetry Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Poetry offers a lockfile to ensure repeatable installs, and can build your project .. 2023. 7. 11.
[Engineering Basic] 서버 관리 basic 1. 서버 관리 AI, ML 엔지니어가 만든 모델은 대부분 서버에서 동작하므로, 서버를 어떻게 관리할 수 있는지에 대해 배울 필요가 있음 서버 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터 우리가 어딘가에 있는 컴퓨터에 접속해서 사용할 때 ‘서버’를 사용한다고 함 서버 관리를 위한 배경 지식 쉘 커맨드 파일 시스템 네트워크 패키지 관리 성능 모니터링 Docker, 컨테이너 2. 파일 시스템과 디스크 Linux의 파일 시스템 구성 /: 계층 구조의 최상단 디렉토리 /bin : 단일 사용자나 다중 사용자에게 모두 기본적으로 필요한 유틸리티 프로그램들이 있는 디렉토리. ls, cp 등 /sbin : 시스템 관리를 유틸리티 프로그램들이 있는 디렉토리 /boot : 운영 체제 부팅에 필요한 파일들이 있는 디렉토.. 2023. 4. 30.
[Engineering Basic] 리눅스 Linux 1. Linux 1.1 Linux 운영 체제의 한 종류 1991년 9월 17일 리누스 토르발스가 처음 출시한 운영 체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영 체제 계열 (wiki) 서버에서 자주 사용하는 OS 1.2 CLI, GUI CLI (Command Line Inteface) 터미널에서 텍스트를 통해 컴퓨터를 조작하는 명령어 기반의 인터페이스 ex. window의 CMD window, Mac의 Terminal GUI (Graphical User Interface) 화면에서 마우스를 통해 컴퓨터를 조작하는 그래픽 기반의 유저 인터페이스 1.3 대표적인 Linux 배포판 Debian: 온라인 커뮤니티에서 제작해 배포한 리눅스 Ubuntu: 영국의 캐노니컬에서 만든 배포판으로 설치.. 2023. 4. 30.
[Engineering Basic] 파이썬 버전 관리 1. 버전 관리 1.1 버전과 버저닝 버전 Version 소프트웨어 제품의 특정 릴리스에 대한 고유한 식별자 소프트웨어가 처음 출시 되었을 때 및 업데이트가 이루어졌을 때마다 새로운 버전 번호를 부여 ex. Python 3.11.0, Ubuntu 20.04 등 버저닝 Versioning 버저닝이란? 소프트웨어에 버전 번호를 할당하는 과정 다양한 버전을 관리하고 식별하기 위해 사용되는 방법 버전을 정의하는 방법 버저닝의 방법 CalVer (Calender Versioning) 날짜에 기반하여 버전 번호를 할당하는 방법 연도, 월, 및 패치 버전으로 버전 번호를 구성 버전 번호에 대한 직관적인 이해가 가능하고, 버전 번호를 통해 출시 시기를 예측하기 쉽다. ex. Ubuntu 22.04 SemVer (Sem.. 2023. 4. 24.
[Engineering Basic] 소프트웨어 엔지니어링 1. 소프트웨어 엔지니어링이란? 소프트웨어와 소프트웨어 엔지니어링 소프트웨어: 컴퓨터 프로그램과 문서, 데이터의 집합. 하드웨어와 대조적인 개념. 소프트웨어 엔지니어링: 소프트웨어를 개발하는 과정에서 체계적이고 효율적인 방법을 사용하여 소프트웨어의 품질과 유지 보수성을 보장하는 학문 분야 소프트웨어의 분야 프론트엔드, 백엔드, 풀스택, 머신러닝, AI, 데이터, 모바일 앱, 게임, DevOps, 클라우드, 보안 등 각 분야마다 집중하는 문제에서 차이가 있음 소프트웨어 개발 라이프사이클 (Software Development Lifecycle) planning 계획 analysis 요구 조건 분석 design 설계 implementation 구현 testing & integration 테스트 mainten.. 2023. 4. 24.
vscode로 원격 서버 접속하기 1. AI stages에서 서버 생성 2. vscode extension인 Remote-SSH 설치 2. 서버 생성 시 다운로드 된 key 파일을 /Users/[Username]/.ssh 로 이동 3. vscode에서 fn+F1 -> Remote-SSH: Connect to Host -> 호스트에 연결 -> 새 SSH 호스트 추가 4. SSH 연결 명령 입력 ssh -i ~/.ssh/key root@[주소] -p [포트번호] 5. 업데이트할 SSH 구성 파일 선택: /Users/[Username]/.ssh/config 6. 다시 fn+F1 -> 호스트에 연결 -> 추가된 호스트 선택 이 때 비밀번호 입력 창이 뜨면, 터미널에서 config 파일이 있는 위치로 이동하여 권한 부여 chmod 0600 ~/... 2023. 4. 10.
[Git] 03 commit 수정하기 git status repository의 상태 확인 현재 브랜치의 이름과 생성 / 변경 / 삭제된 파일 및 디렉토리 목록을 표시 commit하지 않은 변경사항 확인 git status git log local repository의 commit 히스토리 탐색 git log --oneline --all --graph —oneline: 각 commit을 요약해서 보여줌 —all: 모든 branch를 보여줌 -n: 탐색할 commit 히스토리의 개수를 지정 —graph: commit 히스토리를 그래프 형태로 보여줌 git reflog commit / rebase / reset 등의 히스토리 탐색 git reflog git reset 선택한 commit을 취소 git reset --hard —hard: reset.. 2023. 4. 4.
[Git] 02 Git을 통한 협업 Create Branch branch: 독립적으로 어떤 작업을 진행하고 버전 관리를 할 수 있도록 하는 기능 branch 목록 보기 git branch 현재 위치해있는 branch에는 “*”를 붙여서 보여준다 새 branch 생성 git branch branch 삭제 git branch -d -d: delete main branch가 아닌 다른 branch를 push하고 싶을 때 origin(remote repository)에 feature/login이라는 이름의 새로운 branch를 올리겠다 git push --set-upstream origin feature/login Git Checkout git checkout branch / commit 전환 git checkout [branch 이름]: 해당 .. 2023. 4. 4.
[Git] 01 Git Basic Git & Github Git: 소프트웨어 버전관리 시스템(VCS, Version Control System)의 한 종류 Git server & Git client git server 코드를 모아둔 중앙 서버 ex) github.com, gitlab 등 git client git server의 사본을 가진 로컬 환경 ex) git CLI(Command-line interface), Visual Studio Code에 내장되어 있는 git 등 Create Repository Repository repository: 파일이나 디렉토리(폴더)를 저장하는 장소 local repository: 자신의 컴퓨터에 있는 repository remote repository: 서버 등 네트워크에 있는 repository .. 2023. 4. 4.