본문 바로가기
반응형

분류 전체보기547

[Vue3] vite.config.js 에서 환경변수 사용하기 .env root 경로에 .env 파일이 있고, 내용은 아래와 같을 때 VITE_APP_API_PREFIX=http://localhost:9000 vite.config.js 에서 위의 변수를 사용하려고 한다면 import { defineConfig } from 'vite'; // .env 파일에서 환경 변수 가져오기 const { VITE_APP_API_PREFIX } = import.meta.env; export default defineConfig({ server: { proxy: { '/api': { target: VITE_APP_API_PREFIX 대부분 이렇게 쓰라고 나옵니다. VITE_ 로 변수명을 정해야 합니다. 하지만 무슨 이유인지 모르겠는데, 저 환경변수를 못가져오는 경우가 있었습니다. 그럴때 해.. 2023. 10. 11.
[vue] SweetAlert2 사용하기. (Utils Class 만들어서 사용하기) 설치 npm install sweetalert2 사용 결과는 아래와 같이 나옵니다. Toast.fire({ icon: 'error', title: 'The current password is incorrect' }) 여기에서 icon 에 들어갈 수 있는 것은 아래와 같습니다. 예제 코드 Swal.fire({ title: 'Are you sure?', text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'Yes, delete it!' }).then((result) => { .. 2023. 9. 27.
[DeepL] python api 사용하기 우선 계정부터 만들어야합니다. 무료가입. 신용카드가 필요합니다. 결제되지 않습니다만, 본인 확인용으로 0원 결제가 진행됩니다. https://www.deepl.com/ DeepL 번역: 세계에서 가장 정확한 번역기 텍스트 및 전체 문서 파일을 즉시 번역하세요. 개인과 팀을 위한 정확한 AI 번역. 매일 수백만 명이 DeepL 번역기로 작업합니다. www.DeepL.com 가입을 마치면, 내 DeepL 계정 에서 "계정" 탭에 맨 아래쪽에 api key 가 있습니다. 설치 pip install deepl 예제1. 단건 import deepl api_key = "deepl의 계정에 있는 api key" translator = deepl.Translator(api_key) message = '안녕하세요. 반갑.. 2023. 9. 24.
[Python] package name 에 하이픈(-)이 있을 때 import 하는 방법 가장 좋은 방법은 "-" 없이 package 를 생성하는거겠죠. (directory 나 filename 모두) 하지만, 어쩔수 없이 사용해야할 경우가 생긴다면, yourpath some-dir-name model.py class User 가 있다고 함 utils.py class Utils 가 있다고 함 이렇게 있을 때, module = __import__("yourpath.some-dir-name", fromlist=['model', 'utils']) User = module.model.User Utils = module.utils.Utils # 아래와 같이 import User 로 사용했을 때와 같이 사용 user: User = User() 2023. 9. 21.
[FastAPI] SQLModel datetime column 기본값 현재시간 (UTC-한국기준) 아래와 같이 사용하면, 서버가 어디에 있든 UTC 기준 시간으로 입력됩니다. from typing import Optional from datetime import datetime from sqlmodel import Field, SQLModel, JSON, Column class User(SQLModel, table=True): __tablename__ = 'user' reg_date: Optional[datetime] = Field(default_factory=lambda: datetime.utcnow()) 한국시간으로 입력하려면, 아래와 같이 utc에 9시간을 더해주면됩니다. from datetime import datetime, timedelta reg_date: Optional[datetime].. 2023. 9. 19.
[FastAPI] SQLModel 에서 MySQL 의 Json 컬럼 사용방법 sqlmodel 의 Field, SQLModel, JSON, Column 를 imort from sqlmodel import Field, SQLModel, JSON, Column friends_id_list 와 같이 python data type 은 dict SQLModel Field 는 sa_column=Column(JSON) 으로. class User(SQLModel, table=True): __tablename__ = 'user' user_id: str = Field(primary_key=True) friends_id_list: dict = Field(sa_column=Column(JSON)) reg_date: Optional[datetime] = Field(default_factory=dateti.. 2023. 9. 18.
[AWS] "cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_'" on AWS Lambda using a layer lambda 에서 레이어를 추가하고 boto3 만 import 했는데 이런 오류가 발생하네요. botocore 가 아직은 urllib3 의 2.0 버전을 지원하지 않아서 발생하는 거더군요. 그래서 urllib3 버전이 2 미만이 되도록 설치 하면 됩니다. 또는 requests==2.28.2 로 설치, 저는 이 방법으로 간단하게 해결했습니다. 2023. 9. 16.
[FastAPI] Html 띄우기 server.py from typing import Union from fastapi import FastAPI, Request from fastapi.templating import Jinja2Templates templates = Jinja2Templates(directory="templates") app = FastAPI() @app.get("/") def read_root(request: Request): return templates.TemplateResponse("test.html", {'request': request}) @app.get("/items/{item_id}") def read_item(item_id: int, q: Union[str, None] = None): return {"i.. 2023. 9. 15.
[AWS] Cloud9 에서 Selenium 으로 크롤링하기 (Amazon Linux2) aws 에 접속해서 Cloud9 에서 새로운 환경 생성. 플랫폼은 Amazon Linux2 생성되면 환경으로 접속 후 터미널에서 아래 명령어 실행 chrome 설치 sudo yum update -y wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm sudo yum install -y ./google-chrome-stable_current_x86_64.rpm 링크 설정 sudo ln -s /usr/bin/google-chrome-stable /usr/bin/chromium 설치가 잘 되었다면 버전확인 했을 때 메시지가 나옴. 다음 명령어로 설치 여부 확인 터미널에서 google-chrome CLI 로 크롤링 동작 .. 2023. 9. 12.
[vue] Composition api 에서 property로 받은 변수 watch 하는 방법 사용하려는 컴포넌트 vue 에서 다음과 같이 props를 사용하고 있을 때, import {useStore} from "vuex"; import {computed, watch} from "vue"; const store = useStore() const props = defineProps({ isDialogVisible: { type: Boolean, required: true, } }) // 생략 isDialogVisible 을 watch 하고 싶다면 watch(isDialogVisible, (newVal, oldVal) => {}) watch(props.isDialogVisible, (newVal, oldVal) => {}) 이 방법들은 안되고 아래와 같이 사용하면 됩니다. watch(()=>prop.. 2023. 9. 10.
728x90
반응형