[Python] 프로젝트 패키지 관리하기(pip freeze)
·
✏️ Study/🐍 Python
📍목표- Python 프로젝트에서 패키지 관리하는 방법 알아보기 📍Python 프로젝트에서 의존성 관리 방법Python에도 Node.js의 npm 처럼 pip 라는 패키지 매니저가 존재한다. pip 명령어를 통해 외부 패키지를 설치하고 삭제할 수 있다. 그런데, 가상환경에서 Python 프로젝트를 실행하는 경우, 패키지 정보가 담기는 가상환경(일반적으로 /venv 폴더) 폴더의 /lib 은 gitignore에 의해 공유되지 않는다. 그렇다면 Python 에서는 Node.js 진영의 package.json 처럼 의존성을 명시하는 문서가 없을까? 📍현재 프로젝트의 모든 패키지 목록 추출하기찾아보니 pip freeze 명령어를 통해 현재 프로젝트의 의존성 리스트(버전 포함)를 터미널에 출력할 수 있었다-..
[Python] virtualenv 모듈로 가상환경 사용하기
·
💭 Languages/🐍 Python
📍가상환경을 사용하는 이유- 여러 버전의 파이썬을 사용하거나, 프로젝트 별로 패키지를 설치하고 싶을 때- 가상환경에서 애플리케이션을 개발하면 특정 패키지를 시스템에 전역으로 설치하지 않아도 된다 => 가상환경 디렉토리 하위에 pip install로 설치한 패키지들이 설치되기 때문 📍가상 환경 생성Python 표준 라이브러리의 venv 모듈을 사용한다 가상환경 폴더(주로 venv 라는 이름 사용)의 구성요소- /lib: 파이썬 인터프리터가 설치된 폴더- /bin: 가상환경 내에서 상호작용(가상환경 활성화/비활성화)에 필요한 파일이 저장된 폴더python3 -m venv [사용할 가상환경 이름] 📍가상 환경 활성화source [가상환경 이름]/bin/activate- 활성화에 성공하면 가상환경 폴더명이..
[Python] reduce 사용하기
·
💭 Languages/🐍 Python
📍목표- Python에서 reduce 사용하기 📍functools.reduce예를 들어, 어떤 각각의 경우의 수를 나타내는 [1, 2, 3, 4, 5] 리스트가 있다고 할 때, 모든 경우의 수를 구하기 위해 이 리스트의 모든 원소를 곱하는 결과를 반환받고 싶다면 어떻게 할까? for loop 를 사용할 수도 있지만, JavaScript의 reduce 같은 메서드를 사용해 결과를 깔끔하게 반환할 수도 있을 것이다. Python에도 reduce 함수가 존재한다. functools 패키지에서 import 해오면 된다from functools import reduce 기본 문법은 아래와 같다reduce(function, iterable[, initializer]) - function: 2개의 인자를 받아(리..
[Nuxt] composables, utils, types 폴더의 auto import 사용하기
·
✏️ Study/⛰️ Vue.js & Nuxt
📍composables/composables 폴더에 기능 단위로 파일을 만들고 내부에서 use + 파스칼 케이스의 함수를 선언하고 개별 named export- 예시) /composables/math.ts 생성export function useSum(x: number, y: number) { return x + y;}// 화살표 함수 사용 가능export const useMultiply = (x: number, y: number) => { return x * y;};export function useMinus(x: number, y: number) { return x - y;}export function useMyNumber() { // util 호출 가능 return MY_NUMBER;} /..
[Tanstack Query] 계정이 바뀌면 캐시된 기존 데이터 지우기
·
➿ Challenges/🔧 디버깅
📍목표- tanstack query(react-query, vue-query) 의 캐시된 데이터 전부 초기화하는 방법 알아보기- A계정으로 데이터 페칭 후, 로그아웃. B계정으로 새로 접속 시 A계정으로 불러온 데이터 제거하기 📍현재 상황- vue-query의 useQuery를 사용해서 데이터 페칭 후 캐싱- 로그인 페이지에서 useQueryClient() 를 이용해 queryClient 인스턴스를 선언- Nuxt의 $fetch로 로그인 요청- 로그인 요청이 성공(access token 및 refresh token이 반환됨)하면 queryClient.clear() 를 사용해서 모든 캐시 데이터 제거 시도=> 하지만, 캐시가 제거되지 않음 📍시도한 방법queryClient.clear() 대신- que..
[Next.js] 프로젝트만들고 ESLint, Prettier 설치하기
·
🥁 Frontend/♠️ Next.js
📍목표- PNPM 패키지 매니저 사용해서 Next.js 프로젝트 만들기- Tailwind 사용 조건으로 ESLint, Prettier 빠르게 설치하기📍create-next-app- create-next-app으로 최신 Next.js 프로젝트 생성- pnpm 사용 npx create-next-app@latest [project-name] --use-pnpm 이후 터미널에서 이어지는 질문에서 ESLint 사용을 체크했다면 ESLint를 설치할 필요 없다 📍Prettier 설치- Prettier 및 Prettier와 ESLint와의 충돌을방지하는 플러그인과 익스텐션 설치- Prettier Tailwind 플러그인도 설치- ESLint Tailwind 플러그인도 설치 pnpm install -D prett..