[TIL] Today I Learned - 221103

2022. 11. 3. 21:40기록/TIL

[TIL] Today I Learned - 221103

 

미니 프로젝트 과정 중 공부한 부분 정리

 

python venv

 

파이썬의 가상환경

 

파이썬의 경우 알고리즘 문제풀이의 경우에만 사용해서 따로 가상 환경의 필요 유무를 정확하게 인지하지 않았다.

다만 오늘 git으로 코드 및 파일을 주고받으면서 오류가 나는 것을 보았고 해당 과정에서 누락이 된 것이 무엇인지 알았다.

 

바로 venv 바로 파이썬 가상 환경이었다는 것이었다. 그래서 원인을 알고 그것을 해결하였고 venv가 무엇인지 알아보았다.

venv의 경우 패키지를 쉽게 관리해주는 역할을 한다.

 

파이썬은 여타 다른 언어와 마찬가지로 수많은 패키지(라이브러리)가 존재하며 이는 매번 업데이트를 하며 안에 내용이 달라지고 변화된다. 이런 경우에 어떤 라이브러리가 설치가 되고 정리가 되었는지 알기 어렵고 이런 경우를 위해 venv를 사용한다고 한다.

venv를 통해 작업환경이 변하더라도 필요한 패키지를 동일한 버전으로 설치해서 작업이 가능하다.

 

해당 경우은 venv와 마찬가지인 virtualenv를 프로젝트 생성시 설정하는 경우

알아보니 virtualenv와 venv가 존재한다고 한다. 이런 경우 파이썬 2에서는 가상 환경 라이브러리가 제공이 되지 않았기에 virtualenv를 사용했지만 파이썬 3부터는 venv를 기본적으로 제공이 되어서 virtualenv는 선택사항이 되었다.

 

pip install 패키지 설치
pip uninstll 패키지 삭제
pip freeze 설치된 패키지 목록 조회
pip list 패키지 이름 및 버전 출력

 

만약 가상 환경의 삭제를 위해서는 venv로 생성된 폴더를 제거하면 됨

 

자바스크립트 & 파이썬의 ajax 사용

 

프런트 및 백엔드의 처리 과정 ( 코드의 처리 과정 )

  1. 프런트엔드로 구현이 된 html / css로 이루어진 페이지에서 요청 발생
  2. 요청에 맞는 데이터를 자바스크립트로 구현이 된 메서드에 ajax방식으로 전달
    1. 전달이 되는 항목은 api 요청의 타입 / url / 전송하고자 하는 data
  3. ajax로 전달이 된 데이터는 파이썬의 플라스크 데이터베이스와 연결이 된 라인으로 이동
  4. 해당 요청에 맞는 메서드를 호출하고 값에 맞는 데이터를 요청에 맞게 처리 후 response 후
  5. 자바스크립트로 전달
  6. 자바스크립트로 전달된 리소스는 success: function (response) {}에 전달되어 해당 메서드 안에 기록된 코드에 맞춰서 클라이언트에게 데이터를 처리하여 클라이언트 화면에 보여준다

어렴풋이 알고 있었지만 오늘 url 중복 설정 및 데이터 전달의 과정 중 ajax의 사용 과정이 궁금해서 정리하게 되었다.

 

html / css의 구조 설계 페이지

 

html 및 css의 경우 사용을 해도 익숙해지지 않아서 검색해서 알게 된 페이지다.

원하는 페이지의 골격을 디자인하면 그 디자인에 맞춰서 html 구조를 제공을 해준다.

해당 코드를 바탕으로 코딩을 진행하게 되면 좀 더 편하게 웹의 골격을 받아올 수 있다.

 

https://www.layoutit.com/build

 

Bootstrap 4 Interface Builder | LayoutIt!

LayoutIt! is a interface builder for CSS Grid and Bootstrap that wants to be the kick-off for your front-end developments.

www.layoutit.com

 

'기록 > TIL' 카테고리의 다른 글

[TIL] Today I Learned - 221107  (0) 2022.11.07
[TIL] Today I Learned - 221104  (0) 2022.11.04
[TIL] Today I Learned - 221102  (0) 2022.11.02
[TIL] Today I Learned - 221101  (0) 2022.11.01
[TIL] Today I Learned - 221031  (0) 2022.10.31