본문 바로가기

정보/개발 환경

(5)
[DB] Alembic & SQLalchemy for CRUD 1. SQLalchemy: python으로 DB를 관리할 수 있게 도와주는 ORM(Object Relational Mapper) 라이브러리기능 1) python 코드를 SQL 쿼리로 추상화 2) 세션/트렌젝션/연결 풀을 관리 파이썬 환경을 DB 환경을 유사하게 미믹해줌 (환경 설정) 2. Alembic: DB를 마이그레이션 해주는 도구로, DB 변화 감지 파일을 생성해 업데이트를 반영함(LIKE git)Flask-Migrate 패키지가 alembic에 내부적으로 의존하고 있어, flask-migrate를 설치하면, alembic도 함께 설치된다.(실제 맵핑) 3. ORM & Migration1) ORM: python class와 DB 테이블 mapping"Python 클래스를 DB 테이블로 표현하겠다"..
[UV] 가상환경 셋팅하기 장점로컬의 프로젝트(폴더) 단위로 가상환경을 관리할 수 있고 (해당 폴더로 이동하는 것이 중요)병렬형으로 진행되어 설치가 매우 빠르다!# 컴퓨터에 설치pip install uv# 프로젝트(폴더) 생성# 그냥 프로젝트 폴더가 아니라 uv가 고유하게 관리할 수 있는 폴더# pyproject.toml: 프로젝트 의존성 관리uv init #--bare: .toml 파일만 #--scipt: 스크립트 생성===# 가상환경 생성: .venv # python 버전 고정: .python-versionuv venv #--python 3.nn# 혹은 따로 python 설치uv python install 3.nn# activate (aka. conda activate).venv\Scripts\activate # 1) 의존..
[python venv & anaconda] 가상환경 셋팅하기 가상환경과 가상머신. 이름이 비슷해서 헷갈릴 수 있느나, 각 단어가 가르키는 것이 완전히 다르다. 가상머신: 가상으로 컴퓨터를 만든 컴퓨터. 원격 대여한 컴퓨터 자체가상환경: 하드웨어와 독립적으로 동작하는 소프트웨어 환경. 컴퓨터 내 각기 다른 사용자(환경)와 유사.여러개의 프로젝트를 한 환경에서 동시에 돌릴 경우 충돌이 일어날 수 있음따라서 가상환경에서 작업환경을 세팅한다는 것은, 패키지나 라이브러리들이 버전 차이로 인해 충돌이 일어나지 않도록 한 컴퓨터 내에서 작업 공간을 분리하여 준다는 것 (모델마다 요구하는 파이썬 라이브러리 버전이 다르기 때문에, 실행 환경 관리에 용이)가상환경은 "컴퓨터"라면 어디에든 생성할 수 있고, azure virtual machine이라는 가상머신 내에도 가상환경을 설..
Git/Git hub 설치 및 세팅 https://wikidocs.net/book/144521. 개발환경파이썬 프로그래밍 개발환경: VS code, visual stuido 등IDE integrated development environment: 통합 개발 환경. 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다.ex) visual stuido codecomputational notebook: 데이터 탐색 후 바로 결과를 확인 가능하므로, 데이터 분석에 용이ex) jupyter notebooke2. Git vs GitHub1) Git: 로컬에서 동작하는 버전관리 툴. 분산 버전관리 시스템으로리모트 서버에 있는 소스를 로컬로 clone(복사해 가져오기)하면Gi..
개발 언어 공부 사이트 모음 1. 공부 사이트중요하게 생각하는 포인트: 깔끔한 인터페이스와 편의성. 페이지가 깔끔해야 그나마 손이 한 번이라도 더 가기 때문이다(손이 가요 손이 가)1) W3Schools(장점)1. 기초부터 천천히 공부할 수 있다2. python 외에도 다양한 언어를 학습 가능3. 깔끔한 인터페이스 (아쉬운 점)영어의 장벽. 번역기로 극복하자https://www.w3schools.com/sql/default.asp W3Schools.comW3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, ..