
IT/파이썬 2021. 6. 22.
파이썬 - JSON 인지 아닌지 구분하는 is_json 함수 구현
JSON 이 맞는지 아닌지 구분한는 함수 이름을 생각하니 is_json 같은데..검색해 보니 기본 기능은 아니구만. 잘 정리해 두신 분이 있어 내용을 보관.. 음 홑따옴표를 쓰면 안되는 구먼. 그냥 따옴표를 내부에서 사용하고 밖은 싱글로 감싸줘야 겠네. https://stackoverflow.com/questions/5508509/how-do-i-check-if-a-string-is-valid-json-in-python # Example Python script returns a boolean if a string is valid json: import json def is_json(myjson): try: json_object = json.loads(myjson) except ValueError as ..

IT/파이썬 2021. 6. 15.
Flask 와 React 를 결합한 서비스 - 자료 조사
JS 만큼 강력한 파이썬을 활용하기 위해 Flask 백엔드에 대세라고 할 수 있는 React 프론트엔드 서비스 개발. 이리저리 검색중. 나중에 읽을 필요가 있을 글들을 여기에 모아둬 본다. 정리할 글은 계속 나오겠지. 읽어봐야할 글들 https://kimsehwan96.tistory.com/entry/React-%EB%B9%8C%EB%93%9C%EB%90%9C-%EC%95%B1-Flask-%EC%97%90-%EC%98%AC%EB%A6%AC%EB%8A%94-%EB%B0%A9%EB%B2%95 React 빌드된 앱 Flask 에 올리는 방법 React APP을 플라스크 서버 위에 호스팅하기. yarn build 한 index.html 파일을 그대로 flask 에서 리턴하게 했더니 안되어서 시작한 테스트. ya..

IT/파이썬 2021. 6. 15.
파이썬 - 여러개 값 관리 - 리스트, 튜플, 딕셔너리 멀 쓰나?
이거 할 때 마다 헷갈림 리스트, 튜플, 딕셔너리 비슷비슷한데 쩝... 여러개를 하나의 묶음으로 관리를 한다면 먼가 리스트 형태의 변수가 필요하다. 그냥 리스트만 알고 쓰면 좋은데 리스트 일단 대괄호로 만든다. [ ] 이렇게 말이다. 그냥 C에서 배열이라 생각하면 연계성이 생긴다. 추가, 삭제, 변경이 가능한데 아래 함수를 이용해서 해라 추가는 append() 삭제는 remove() https://velog.io/@inyong_pang/Python-List-Tuple-Dictionary-and-Set-%EC%9A%94%EC%95%BD List 함수 정리 append(원소) :리스트의 뒤쪽에 새로운 원소를 삽입 extend(리스트) : 리스트의 뒤쪽에 다른 리스트를 삽입 insert(인덱스, 원소) : 특..

IT/파이썬 2021. 6. 15.
파이썬 *args, **kwargs 의미는?
*args , **kwargs 이런 단어들이 파라메터로 나타나서 가끔 당황하게 만드네. 별거 아닌 거 같은데, 명확하게 적어둬....(찾아서 정리만 해 둬도 되) 아래 글로 방문해서 보면 끝!! https://ddanggle.gitbooks.io/interpy-kr/content/ch1-args-kwargs.html *args는 키워드 되지않은 가변 갯수의 인자들을 함수에 보낼 때 사용합니다. for arg in args: print ("*argv의 다른 인자", arg) **kwargs는 키워드된 가변 갯수의 인자들을 함수에 보낼 때 사용합니다.(역주: 가장 큰 차이는 keyword이냐 nonkeyword이냐입니다.) **kwargs는 함수가 이름이 지정된 인자를 처리할 때 사용해야합니다. if kwa..

IT/파이썬 2021. 6. 15.
Flask redirect 할 때 POST 데이터도 같이 넘기기
그냥 쉽게 url 을 불러 줄 때는 그냥 redirect(url) 하면 되는데, POST (form) 데이터를 같이 넘겨주려니 또 찾아보게 되네. 머 어렵지 않게 할 수 있는 예제를 찾아서 남겨둠 https://pythonbasics.org/flask-http-methods/ user = "username" return redirect(url_for('success',name = user)) url_for 함수에 함수 endpoint 와 함께 그냥 넘겨주면 되네. BJ. Polina Zimmerman 님의 사진, 출처: Pexels

IT/DB 2021. 6. 15.
mongodb - Flask mongoengine 필드 동일값을 그룹으로 묶기
저장된 데이터를 특정한 필드 값으로 그룹을 묶고 싶을때가 있다. 같은 값을 가진 문서가 몇개인지 궁금할 때가 가장 단순한 예가 되겠다. 이런 경우 aggregate 함수를 활용하면 된다. 몽고db 매뉴얼 페이지에서 해당 내용을 가져와 보자. https://docs.mongodb.com/manual/reference/operator/aggregation/sum/ Grouping the documents by the day and the year of the date field, the following operation uses the $sum accumulator to compute the total amount and the count for each group of documents. db.sales..

IT/파이썬 2021. 6. 11.
파이썬 - dictionary 처리 관련해서, empty check, 추가하기
리스트 말고 딕셔너리 dictionary 타입 처리는 어떻게? 맨날 헷갈려서 그냥 적어두자. 비어있는지 체크하는 방법은 아래와 같다. https://stackoverflow.com/questions/23177439/python-checking-if-a-dictionary-is-empty-doesnt-seem-to-work test_dict = {} if not test_dict: print "Dict is Empty" if not bool(test_dict): print "Dict is Empty" if len(test_dict) == 0: print "Dict is Empty" 아이템 추가는 https://www.kite.com/python/answers/how-to-append-a-value-to-a..

IT/파이썬 2021. 6. 9.
파이썬 - 순환 참조 문제 Circular Imports 에러
파일 여러개로 작업할 때 서로 순환참조되어 호출 되는 경우가 많다. 필요할 때 딱 쓰려고 import 했는데, 그 파일에 이미 자신의 파일이 import 되어서 쓰고 있으면 왠만해선 넘어가지 않고 머라머라 순환참조 문제일 수 도 있다고 Warning 이나 Error 가 발생한다. 요거 참 곤란한데 아주 좋은 해결책이 있었네. 아래 분의 블로그에 가시면 아주 자세하게 설명이 잘 되어 있으니 꼭 들어가 보시고, TYPE_CHECKING 상수를 활용하는 방법으로 import 순환 문제는 해결할 수 있을 거 같다. https://item4.blog/2017-12-03/Resolve-Circular-Dependency-on-Python-Typing/ Python typing으로 인한 순환 참조 대응책 Python..

IT/파이썬 2021. 5. 24.
파이썬 리스트 삭제, clear
파이썬 리스트를 제거하는 방법이 여러가지 있네. 아이템을 지울때는 그냥 del, 전체 지울 때는 clear 를 쓰면 되겠다. 자세한 내용은 아래 글을 참고합시다. 고마운분들~~ https://ponyozzang.tistory.com/587 Python 리스트 값 삭제 clear, pop, remove, del 파이썬에서 리스트 형태에 저장된 값을 삭제하는 방법을 보겠습니다. 리스트에서 값을 삭제하기 위해서는 함수를 사용하거나 범위를 지정해 삭제할 수 있습니다. 종류 내용 clear() 모든 요 ponyozzang.tistory.com BJ. Engin Akyurt 님의 사진, 출처: Pexels

IT/파이썬 2021. 5. 20.
파이썬 - 함수 전달인수에 * 가 있다면 멀까?
아래 글 보다 더 잘 설명할 순 없다. 그냥 아래 글에 들어가셔용~~ https://sjquant.tistory.com/31?category=797018 파이썬에서 arguments로 *(별표)만 쓴 경우!? fastapi 의 코드를 보던 중 함수의 arguments 로 *만을 쓴 것을 발견했다. 난생 처음 본 표현법이라서 직접 테스트 해보며 뭔지 알아냈다. ...(생략) def get_param_sub_dependant( *, param: inspect.Parameter,.. sjquant.tistory.com *를 사용하면 *이후의 arguments들을 keyword arguments로 강제할 수 있다. 예를들어 아래와 같이 정의한 경우에는 recipient와 what을 positional argum..

IT/IoT | Hardware 2021. 4. 19.
Raspberry Pi Pico + Ethernet 연결하기 1 - 환경설정 라즈베리파이 피코 W5500
라즈베리파이 피코 보드에 대한 설명은 다른 곳에도 많이 있네요. 라즈베리파이 MCU 버전, 아두이노와 유사한 플랫폼입니다. 더 자세한 설명은 아래글... RP2040 RaspberryPi Pico 간단히 알아보기 --> divenire.tistory.com/292 라즈베리파이의 첫번째 MCU, RP2040 및 라즈베리파이 피코 소개 오픈소스 하드웨어의 대표주자인 라즈베리파이는 최근까지도 AP의 빈약한 GPIO로 애플리케이션의 엔드포인트에 이렇다 할만한 개선점이 크게 없었습니다. 호환성을 위해 GPIO 핀맵을 고수한 점은 divenire.tistory.com MicroPython vs CircuitPython for 이더넷 기능 Raspberry Pi Pico 보드에 Ethernet 기능을 추가하기 위해 ..

IT/파이썬 2021. 4. 16.
예외를 직접 발생시키기 - raise Exception
설명 필요없고, 아래 글 참고. raise Exception 함수내에서 Exception 처리하면 함수 호출 한 곳에서는 Exception이 발생이 안되니까, 별도로 Exception 처리이후에도 호출 쪽에서 그 내용을 알아야 한다면 강제로 raise Exception을 이용해서 예외를 다시 전달해 주도록 하자. dojang.io/mod/page/view.php?id=2400 파이썬 코딩 도장: 38.3 예외 발생시키기 지금까지 숫자를 0으로 나눴을 때 에러, 리스트의 범위를 벗어난 인덱스에 접근했을 때 에러 등 파이썬에서 정해진 예외만 처리했습니다. 이번에는 우리가 직접 예외를 발생시켜 보겠습니다. 예 dojang.io def three_multiple(): x = int(input('3의 배수를 입력..