Python 20

python이 Microsoft Store를 열때 해결방법

python >> Python python이라는 명령어를 치면 뜬금없이 Microsoft Store가 열렸다. microsoft store에서 Python을 받으려다 실패한것이 화근이었는데, 환경변수에는 Windows Apps가 있어서 이 안에 python을 실행시키고 있는 것이다. 이를 해결하기 위해서는 해당 경로로 들어가서 python이나 python3등 파일을 제거해주어야한다. 다음 명령어를 터미널에 쳐서 지워주자. Remove-Item $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\python*.exe

Python 정규식 그룹명으로 match 결과 가져오기 (group name)

filename = "backup_20220409180756_20220423180756" regex = re.compile(r"^backup_(?P\d+)_(?P\d+)$") match = regex.search(filename) if match: print(match.group("end")) # "20220423180756" 정규식 그룹명을 이용하면 편리하게 원하는 부분을 추출해낼 수 있다. (?P) 같은 식으로 사용할 수 있는데 위 예제는 정규식을 활용하여 파일명에서 시작시간과 끝시간을 뽑아내는 예제이다. 정규식 작성에 앞서 정규식을 테스트 해보기위해 regexr.com를 많이 이용하는데, 그룹명 테스트 만큼은 regex101이라는 사이트가 훨씬더 친절하게 결과가 나온다.

Falcon req.get_param()으로 모든 파라미터를 받아보자

일반적으로 Falcon에서는 Query parameter에 있는 값을 req.get_param('name')으로 읽어올 수 있다. 하지만 폼데이터 역시 동일한 방법으로 얻어오면 구분은 안가긴 하지만 편할 것이다. 간단한 세팅으로 이를 실현시킬 수 있다. application/x-www-form-urlencoded application/x-www-form-urlencoded로 들어오는 값들도 req.get_param()을 통해 얻고 싶다면 아래 라인을 추가하면 된다. app.req_options.auto_parse_form_urlencoded = True multipart/form-data 추가로 falcon-multipart라는 모듈 설치가 필요하다. pip install falcon-multipart ..

[Blender] 심즈4 블렌더로 렌더링 빠르게 하는 법

# 블렌더로 심즈4 심 렌더링하기 블렌더를 통해 심즈4 심 렌더링을 하기 위해서는 다음과 같은 절차를 거쳐야한다. 1. 블렌더 설치 [Blender] 2. TS4 SimRipper 설치 [Mod The Sims] 3. SimRipper로 DAE파일 추출 4. 블렌더로 DAE import 5. 스크립트를 통해 쉐이더/블렌드모드 설정 심즈4 렌더링 관련 가장 유명한 블로그 강의는 아래 주소다. 하지만 블렌더라는 전문 툴에 익숙한 사람들은 많지 않아 거의 여기서 입문스텝을 밟고있다. 특히 초반 쉐이더 설정은 심 "마다" 해줘야하는데, 처음하는 사람은 5분여가 걸릴 정도로 꽤나 번거로운 작업이다. 다른 사람들의 시간을 절약하기 위해...이 스크립트를 만들었다. 이 스크립트를 이용하면 한번에 Shader 설정을 ..

Python 프로젝트 패키지 관리하기: pip freeze requirements.txt

파이썬 프로젝트에 설치한 수많은 라이브러리의 의존성을 관리하기 위하기 위한 방법이다. 이것이 왜 중요하냐면, 당연하게도 프로그램이 언제나 내 컴퓨터에서만 돌아가는 것은 아니기 때문이다. 다양한 환경에서 배포되고 실행될 수 있어야하며, 그때마다 프로젝트에서 사용한 모듈을 설치해주어야하는데... 아래 명령어를 이용하면 현재 가상환경에 설치되어있는 패키지 목록을 requirements.txt 파일에 작성해준다. pip freeze > requirements.txt 다른 환경에서 requirements.txt에 적힌 모듈들을 모두 설치하는 방법은 아래와 같다. pip install -r requirements.txt install 명령어의 -r 옵션은 --requirement로, 주어진 requirement 파..

Python 배열 슬라이싱 공략 (Numpy)

python의 놀라운 점 중 하나는 배열을 간단한 문법으로 완전히 마음대로 가지고 놀 수 있다는 거다. 다른 언어들이 내가 과일을 깎는 정도의 효율성이라면...(매우 서툴러서 거의 네모가됨) python의 배열 슬라이스 능력은 마치 라떼 유행했던 Fruit Ninja라는 게임을 연상케한다! 그리고 numpy 같은 라이브러리를 활용하면 더욱 다양한 작업을 할 수 있다. NLP를 아주 겉만 살짝 맛보면서 matrix[:, 2] 막 이렇게 생긴걸 봤는데 배열 자르기를 내가 정말 모르는구나...생각이들어서 이렇게 정리를 해보려한다. 배열 선언하기 1차원 배열을 선언하는 방법은 다음과 같다. # python array = [0] * 8 # [0, 0, 0, 0, 0, 0, 0, 0] array = [2 * i f..

NLP 노트

단어의 표현 방법 Word Representation 국소 표현 Local Representation: 단어를 기호로 취급, 정수 등 특정값을 매핑하여 단어를 표현, Discrete Representation - Bag of Words(BoW), N-gram, One-hot Vector 분산 표현 Distributed Representation: 단어의 의미와 뉘앙스 표현가능. 주변 단어를 참고하여 단어를 표현, Continuous Representation - Word2Vec, LSA, GloVe 카운트 기반의 단어 표현 # Bag of Words 빈도 수 기반의 표현방법. 단어의 등장 순서를 전혀 고려하지 않음 ("Bag"). scikit learn의 CountVectorizer를 이용하면 쉽게 만들..

나/이슈 2021.03.03

[Python] 마방진 그리기 / 검산하기 with numpy

극한탈출 999 오늘 트위치에서 라는 방탈출게임 게임방송을 보다 저런 퍼즐을 발견했다. 1~9까지 핀이 주어지고 가로, 세로, 대각선의 합이 15가되도록 만드는건데 찾아보니 이것을 마방진이라고 부른다! 마방진...영어이름도 Magic Square...11차마법진을 그릴수있다면 정말 멋질거야.... 마방진 그리는 방법 마방진을 그리는 방법은 아래 사진과 같다. 인터넷에 원리라고 떠돌아다니는 건데....원리는 잘 모르겠다 ㅋㅋㅋ 암튼 파이썬으로 마방진 생성기를 만들어 보자. 11차 마방진이든 111차 마방진이든 그릴수 있도록 말이다. 파이썬으로 마방진 그리기 numpy 라이브러리를 사용할 것 이므로 코드 최상단에 import numpy as np 를 까먹지말자. 난 까먹었지만. def get_next(m, ..

[Node.js] Selenium 사용법을 익혀보자

Selenium은 웹 드라이버를 통해 웹 브라우저를 자동화하여 웹 테스트를 도와주는 툴이다. 말은 착하지만 매크로를 만들거나 크롤링 할때도 도움이 된다. ^^ 실제 브라우저를 띄우고 코드를 수행할 수 있으며, 일반적으로 크롤링 하는 방식보다 훨씬 더 상호작용을 사람같이! 할 수 있다. 페이지가 다 뜰때까지 기다리고, 클릭하고, 입력하는 등... 그러면 Node.js 에서 selenium을 사용하는 방법을 익혀보자. 패키지 설치 먼저 selenium-webdriver 패키지를 설치해야한다. npm i selenium-webdriver 파이어 폭스 브라우저로 Selenium을 실행해야 할 경우, geckodriver를 설치해야한다. npm i geckodriver 실행환경이 Ubuntu일 경우 geckodr..

마인크래프트 가이드 앱 개발기 2편 "왠 Python?"

오랜만에 2편을 써본다. 아무도 안기다렸지만 ㅎㅎㅎㅎ '~'방학을 맞아서 유저들에게 약속했던 7월 대규모 업데이트를 하려 다시 안드로이드 스튜디오를 켰다.그동안 코딩스타일을 배워 한 층 더 업그레이드 된 눈으로 다시 코드를 보니 엉망이었다.앱 특성상 아이템을 추가할 일이 많은데, 아이템 추가하기가 번거롭고 힘들게 되어있었다.그래서! 더욱 편하게 아이템을 추가하기 위해 나에게 조금 더 나은 인터페이스를 제공하기로 했다. 리팩토링이전에는 아이템을 추가하려면 layout에서 아이템 아이콘을 추가하고, 개별 아이템마다 onclick="아이템이름"다는작업을 한 뒤에, 아이템 정보가 담겨있는 ItemDB를 모아놓은 ArrayList인 ItemDBList에도 정보를 업데이트 해야 했다.그러나 아이템이 300개가 넘다..

1 2