Python 16

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개가 넘다..