본문 바로가기

개발

(16)
[Python] 파이썬 버전에 따른 타입힌트/어노테이션 사용 파이썬 버전에 따라서 타입힌트를 typing 모듈로 해야할 지 파이썬 내장함수로 해야할 지 결정이 되는 것 같다. (왜냐하면.. 여러 환경에서 개발을 하다보니 에러를 겪었기 때문에) 1. 타입 힌트는 파이썬3.5 부터 지원한다. 1 - 1. typing의 타입들을 사용한 예 from typing import List, Dict, Tuple ko_currencies: List = [100, 500, 1000, 5000, 10000] count_has_money: Dict = { "hundred-won": 0, "five-hundred-won": 1, "thousand-won": 0, "five-thousand-won": 2, "ten-thousand-won": 5, } my_money: Tuple[List..
docker-compose로 올라간 ubuntu에서 파일 다운로드하고 싶을 때 파이썬 개발환경을 docker-compose로 올렸었는데 생성된 csv 파일을 로컬로 다운로드받고 싶어서 찾아보니까 scp (linux 명령)과 매우 유사하다. 로컬에서 아래와 같이 입력하면 된다. $ docker cp {접속할 컨테이너id}:{파일경로} {저장할 경로} 반대로 로컬에서 도커 컨테이너로 복사시킬 경우는 경로를 서로 바꾸면 되는데 아래와 같은 예시이다. $ docker cp {복사할 파일의 경로} {접속할 컨테이너id}:{저장할 폴더경로} 이렇게 docker cp 명령으로 두 컨테이너 간 파일 전송할 수 있고 로컬과도 통신이 가능하다. 만약 틀리거나 아쉬운 점 발견하셨다면 지적 및 태클해주셔도 좋습니다!
노션API 사용방법 - 4. 데이터베이스 행(row) 수정, 삭제 with Python 목차 1. 데이터베이스 항목(row) 수정 2. 데이터베이스 항목(row) 삭제 1. 데이터베이스 항목(row) 수정하기 1 - 1. 요청할 url 생성했던 항목(row)의 id을 넘겨주어야한다. 항목 리스트 (v1/databases/{database_id}/query) 로 가져왔을 때에는 리스트 안의 각 object 밑 id가 page_id 이며, 항목 생성으로 응답받을 경우에도 object 밑 id가 page_id 이다. url = f'https://api.notion.com/v1/pages/{page_id}' 1 - 2. 요청할 데이터 특정 키의 값을 수정 및 삭제할 때에만 아래 형태 쓰고 'key name': {dict 형태의 수정할 데이터} 만약 특정 키만 수정안하려면 위 코드를 아예 안써야 한..
노션API 사용방법 - 3. 데이터베이스 행(row) 생성, 조회 with Python 목차 0. 헤더 설정 1. 데이터베이스 가져오기 2. 데이터베이스 항목(row) 생성 3. 데이터베이스 항복(row) 조회 0. Header token = '발급받은 노션 integration 토큰' database_id = '사용할 database_id' headers = { "Authorization": "Bearer " + token, "Content-Type": "application/json", "Notion-Version": "2021-05-13" } 1. 데이터베이스 가져오기 1 - 1. GET 요청 url = f'https://api.notion.com/v1/database/{database_id}' requests.get(url, header=header) 1 - 2. Response {..
노션API 사용방법 - 부가 1. 노션용어 정리 노션 데이터베이스에 사용하는 용어를 짚고 넘어갈 필요가 있다. 엑셀 또는 mysql이나 postgresql을 써본 적 있다면 노션의 용어가 약간 헷갈릴 수 있는 여지가 있기 때문이다. 노션 엑셀 DBMS (mysql, postgresql 등) 데이터베이스 시트 (또는 표) table 항목 (또는 페이지) 행 row 속성 (property) 데이터 범주 (또는 데이터 형식) data type 속성 이름 (property name) 열 column (or key) 속성 값 (value) 셀 value 🤔 주의할 점은, 노션에서는 '테이블'을 '데이터베이스'라고 말한다. 아마, 사용자들에게 조금이라도 친숙하게 접근할 수 있도록 데이터베이스라고 명명한 것 같지만 실제로 사용되는 성격을 보면 '테이블' 이라고 ..
노션API 사용방법 - 2. 데이터베이스 id 확인하기 사실 노션의 핵심은 데이터베이스라고 해도 과언이 아니다. 노션 데이터베이스를 잘 다룬다면 노션을 잘 다룬다고 말할 수 있을 정도이다. 그래서 노션의 데이터베이스를 가져와, 로우를 읽고 생성하고 삭제하는 방법을 정리하기 전에 우선 데이터베이스의 id 찾는 방법을 알아야한다. 0 - 1. 데이터베이스 생성할 경우 노션 페이지에서 + 또는 키보드의 / 를 눌러서 데이터베이스에 대한 부분까지 스크롤하면 아래 이미지처럼 나온다. 원하는 view의 데이터베이스를 추가하면 아래처럼 나오는데 New database 를 눌러 데이터베이스를 새로 만들자. 이렇게해야 실제 데이터베이스가 생성이 되고 id 또한 생성이 된다. 0 - 2. 이미 있는 데이터베이스의 경우 이미 있는 데이터베이스의 id를 찾을 경우, 바로 직전 단..
실리콘 맥에서 no library called cairo-2 was found 에러 나올 때 파이썬으로 svg 가져와 작업을 해주기 위해 cairosvg 라이브러리를 설치했는데 다음과 같은 에러가 나오는 경우가 있었다. OSError: no library called "cairo-2" was found no library called "cairo" was found no library called "libcairo-2" was found cannot load library 'libcairo.so.2': dlopen(libcairo.so.2, 0x0002): tried: 'libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibcairo.so.2' (no such file), '/usr/lib/libcairo.so.2' (no..
노션API 사용방법 - 1. 조작하기위한 준비 (Integration, Token) 노션api 가 상용된지 좀 되었으나 노션공식문서보고 직접 시행착오를 겪어보면서 정리해보았다. 1. Notion Integration 생성하는 방법 (토큰) 노션api를 사용하려면 노션 로그인된 상태로 노션개발자페이지로 이동하여 Integration을 생성해 토큰을 받아야한다. a. 노션에 로그인된 상태로 여기 (https://developers.notion.com)로 접속한다. b. View my integrations 을 클릭한다. c. 왼쪽의 New integration 이나 가운데의 View Create new integration 을 클릭한다. d. 본인에게 맞게 설정하여 Submit 눌러서 생성한다. Name 을 입력하고 사용할 내 노션이 맞는지 Associated workspace 에서 확인해..