![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Ee5C%2Fbtq7nsPDKv0%2FMygLxTLe6oCv5sS6ZS7lPK%2Fimg.jpg)
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..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr8zoA%2Fbtq7iO0c440%2F4QC51iy7kZveg5JHvrLbpk%2Fimg.jpg)
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
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyTO4H%2Fbtq7fdfuedV%2FIu0pDA7z6FKLpE146OnDWk%2Fimg.jpg)
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..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW3uhz%2Fbtq6352reBV%2FZNkXClKvcbZOtGzTtGkWf1%2Fimg.jpg)
IT/DB 2021. 6. 11.
mongodb - Flask mongoengine을 이용하여 필드 추가, 삭제
이미 설계 이후에, 스키마가 변경되어서 다큐먼트 필드가 추가되거나 삭제되는 경우가 있다. 이때 새로운 레코드는 해당 필드가 있는데, 기존 레코드에 없다면 좀 이상하기도 합니다. 혹은 필드를 삭제하는 경우도 있어 이경우도 기존 DB 에 반영해야 한다. Mongoengine 을 이용하는 경우 해당 클래스에 필드를 추가, 삭제하고 난 뒤에, 추가된 필드의 경우 아래처럼 모든 objects 에 해당 필드값을 채워주기만 하면 된다. 해당클래스.objects.update(추가필드1=0,추가필드2="") 삭제되는 필드의 경우 아래처럼 명령을 내리면 해결된다. 해당클래스.objects.update(unset__code=True) # Note: code 라는 필드를 없애라 BJ. Markus Winkler 님의 사진, ..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKGrEH%2Fbtq60MvN1NX%2FkkBnW8kmze3elCSukADLPK%2Fimg.jpg)
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..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhQaaO%2Fbtq6RaKcOsm%2Fbgdi9KxdXxbiUzfdHyVuRk%2Fimg.jpg)
IT/DB 2021. 6. 9.
Flask mongoengine Objects() 와 Objects.get() 차이점
문제 정의는 flask mongoengine 에서 하고 있지만, mongoengine 이라는 것이 Django ORM 특성을 가져온 것으로 알고 있어 비스무리 한 곳을 찾아보았다. 원하는 답은 찾은 듯 하여 여기에 남겨두다. 머 쉽게는 리스트를 리턴해야 하는데 Objects.get()을 쓰면 제일 첫번째 놈 object 만 리턴한다는 것! https://code4human.tistory.com/81 [Django] Django의 ORM : get() 과 filter() 비교 Django ORM을 작성하면서 SQL문을 확인하곤 한다. 오류를 발견하면서 헷갈리는 get() 과 filter()을 간단히 정리한다. fetchone # ORM User.objects.get(id=1) #Return : Object..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblsVxD%2Fbtq6NuhtMtj%2FHBgV4wTCO657r7XIGgq1MK%2Fimg.jpg)
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..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIy1x1%2Fbtq6nbifrvq%2FNqRhzPhA6kGysUNz8cgUf1%2Fimg.jpg)
IT/리눅스 2021. 6. 2.
우분투 Nginx - 동일 포트 http 접근 https 리다이렉트
포트가 다른 경우에는 그냥 리다이렉트 하면 되는데. 비표준 포트를 사용하는 경우, http 로 접근했을 때 같은 포트의 https 로 보내 주고 싶다. 비슷한 고민이 있던 다른이들의 흔적을 찾음 :) [nginx] 같은 포트로 들어오는 http를 https 로 넘기기 https://blog.bandoche.com/622 질문 이걸 해결하기 위해 구글링. Force redirect to https on specific port on nginx? 질문 자체를 가져와 봤다. 한글로 써 놓기 쉽지 않네. 내용은 아래와 같은 질문이다. 나랑 똑같은 고민 I have website on port 8080 and I want to force https on it. ex. If I type http://mywebsit..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSp7NN%2Fbtq5U45hqcp%2FogDKELFkK5nJ0MN4aFQ7T1%2Fimg.png)
IT/리눅스 2021. 5. 31.
우분투 SSH 서버 설치 및 설정 - WinSCP로 접속 예제 - 2021.05.31
이번 글에서는 간단한 SSH 서버 설치, 설정, 기본적인 포트 변경 방법을 알아보고, 윈도우 환경에서 WinSCP로 접속을 시도해 보자. 우분투를 기본으로 설치하고, ssh, sftp 접속을 하면 아래와 같은 에러가 발생!! 먼가 설치를 해야 한다. SSH 설치 이것도 로그로 보여준다. 명령어를 어떤 것을 줬는지, 어떤 로그들이 뜨는지 다 확인할 수 있다. sudo apt-get install openssh-server sudo systemctl start ssh sudo systemctl enable ssh netstat -tnlp 중간에 netstat 패키지가 없어서 net-tools 패키지를 설치하는 과정도 포함되어 있다. twmini@twmini-ThinkCentre-M600:~$ sudo apt..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6Zmky%2Fbtq53YJz99i%2FxjN0rNWmCccKFvByRNlS71%2Fimg.png)
IT/Web 2021. 5. 29.
Notion 노션 팁 - 잘 만든 페이지 복사 가져오기 (복제) - 2021.05.29
노션 팁 - 잘 만든 페이지 복사해서 가져오기 (복제) (2021.08.27) 언제부터인가 원래 방법이 안되네요. 고수님이 올려주신 아래 링크 동영상을 참고해 주세요~ 14분 근처에서 시청하셔도 됩니다~~~~ https://youtu.be/0bobq8KN3yo?t=861 생각보다 까다로움, 아예 저자가 공용으로 사용해라고 공유해둔 노션페이지는 그냥 Duplicate 메뉴가 있어서 누르면 끝!! 아래 예제 페이지 처럼 복제할 수 있는 메뉴가 뜨지 않는다. 이때는 어떻게? 예제 사이트 : https://www.notion.so/3-99-e9730dcfd84f4639a796ed202304b6c2 이런 경우에는 그냥 자신의 Notion 페이지에서 빈페이지를 하나 만들고, 그 곳에 링크 주소를 복사해두고, Lin..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbK39WR%2Fbtq50Zo7gmV%2F6PaFZ7DEZ3mUqiK2MJv9vK%2Fimg.jpg)
IT/리눅스 2021. 5. 28.
우분투 GitHub ACCESS TOKEN 으로 연결하기
GitHub 계정이 2FA 가 활성화 되어 있으면 그냥 아이디 패스워드로 접근이 안된다. 여러가지 방법이 있지만 Access token을 만들어서 접속하는 방법을 해보자. GitHub access token 연결 연결 문자열을 잘 만들면 된다. 아래 글을 참고하자. 출처: https://kibua20.tistory.com/88 3.1. ACCESS TOKEN을 활용 (출처)git clone 시 http URL에 ID와 Password 추가해서 git을 복사합니다. Password가 cache에 저장되어 노출되는 문제가 점이 있으며, 특히 공용 서버에서 Git을 사용하는 경우 보안 상 문제가 됩니다. GitHub는 Password 대신 ACCESS TOKEN을 받아서 인증을 받을 수 있으며, 해당 ACCE..
![](http://i1.daumcdn.net/thumb/C400x300/?fname=https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyyPBb%2Fbtq5SQTyjx4%2FrfHIB8bo3htkyRDeW4YjOK%2Fimg.png)
IT/리눅스 2021. 5. 28.
우분투 18.04 LTS 웹서버 Nginx 설치 및 서비스 등록
우분투 18.04 LTS 웹서버 Nginx 설치 및 서비스 등록도 별거 없다. 그냥 명령어 몇개로 웹서버를 간단하게는 바로 올릴 수 있다. nginx 설치 설치 로그로 대신하련다. twmini@twmini-ThinkCentre-M600:~$ sudo apt-get install nginx [sudo] twmini의 암호: 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음의 추가 패키지가 설치될 것입니다 : libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-commo..
![로딩중](http://t1.daumcdn.net/tistory_admin/static/mobile/m640/img_loading.gif)