IT Diary/# Dev Diary 8

Mac OS 에서 LaunchAgents 사용해보기

맥북에서 crontab을 통해 주기적으로 실행을 시켜보고싶은게 생겨서 crontab을 등록하여 테스트를 해보았더니 잘 작동이 되지않아서 찾아보니 macOS에서는 crontab 보다는 LaunchAgents를 통해 crontab의 역할을 한다고 한다. 하고싶었던 작업은 매일 오전10시에 어떤 작업을 수행할 것 * crontab 이라면 아마 이렇게 crontab -e 로 등록해서 사용했을 것 같다. 0 7 * * * cd 실행할위치 && 실행하고싶은 명령어 사용방법 앞서 말했든 macOS에서는 crontab 보다는 LaunchAgents를 권장하고 있고 해당 방법은 간단하다 1. .plist 파일 작성: ~/Library/LaunchAgents/${너가수행할이름}.plist라는 파일을 생성 2. plist ..

[ Dev Dairy ] 007-1. 포켓몬 이미지 크롤링 ( selenium )

요즘 포켓몬 유나이트를 너무너무 재밌게 하고 있어서 그거와 관련된 조그만 프로젝트를 하면 좋을 것 같아서 고민중에 있다. 일단 오늘은 포켓몬 유나이트의 참전 포켓몬을 크롤링해서 이미지들을 다운받는거 부터 시작하려고 한다. 크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 소스는 python 으로 되어있고, 패키지는 파이썬에서 웹 브라우저 상호작용을 자동화하는 selenium 을 사용했다. 일단 본인의 크롬버전을 확인하고 그 크롬버전에 맞는 크롬드라이버를 다운받아줘야한다. 크롬 버전 확인방법은 오른쪽상단에 세개의 점 아이콘을 클릭 후, 도움말에서 chrome정보 보기를 클릭하면 확인이 가능하다. 크롬드라이버는 https://chr..

[ Dev Dairy ] 006. 연관어 네트웍크 분석 Networkx 사용해보기

어제 공부했던 textrank 로 했을 때, 결과값이 만족스럽지 않아서 다른걸 찾아보기로 했다. 결과값이 만족스럽지 않다는거는 단어 추출은 잘되는데, 연관된 단어일 경우 분리되서 나와서 하나의 단어로는 그렇게 데이터로써 큰 가치가 없었다. 예를 들면 내가 원하는거는 "성과 창출" 인데 실제로 textrank 를 돌려서 나온값은 "성과" "창출" 각각의 단어로 나오니까 하나의 단어로는 데이터로써 효용가치가 별로 없었다. 그래서 다른 좋은게 있는지 찾아보던중 , NetworkX 를 발견했다. 실제로는 다른분들은 그래프 형식으로 결과값을 도출해서 많이 사용하시던데 내가 원하는건 연관단어들의 텍스트형식의 결과물이었다. NetworkX는 네트워크분석을 기본으로 하고 있고 네트워크 분석은 개인과 집단들 간의 관계를..

[ Dev Dairy ] 005. krwordrank 사용해보기

원래는.. 리뷰들을 모아서 그 리뷰에 대한 긍정적인 부분/ 부정적인 부분을 추려서 프로젝트를 하려고 했다. 기존에 나와있는 긍/부정 감성분석은 리뷰의 평점에 따라 좋은평점에서 긍정적인 단어를 추리고 나쁜평점에서는 부정적인 단어를 추리는 방식이었는데 내가 하고있던거는 미리 긍/부정도 단어사전을 만들고 단어 사전을 통해 긍정/부정을 추출하는 방식이었다. 암튼, 그 긍/부정도에 대해서는 못하게되어 다른 아이디어를 찾고있던 중 .. 발견하게 된거는 krwordrank 이다. text에서 핵심 문장/단어를 추출하는 알고리즘이다. WordRank 알고리즘은 구글의 PageRank 나 HITS 같은 Graph Ranking을 자연어처리에 적용한 알고리즘 이다. 이거를 한국어의 어절 개념을 적용한게 KR-WordRan..

[ Dev Dairy ] 004. Flask API 만들어보기

JSP 단에서 GET 방식으로 요청을 보내고 그걸 Python Flask 로 받아서 처리한 값을 다시 JSP로 돌려주는걸 해보고싶었다. 쉽게 말하면 Flask 로 API를 만들어서 만든 API 에 요청을 쏴서 잘 처리되는지 해보고싶었다. 우선은 간단하게 JSP 에서 ajax 로 get 방식으로 API 호출하는걸 만들었다. JAVA - index.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 $.ajax({ method: "GET", // url: "https://dapi.kakao.com/v2/search/blog", url: "http://127.0.0.1:8080/plus", // flask 서버로 던진다. // data: { review : ["리뷰1","리뷰2","리뷰3"]} dat..

[ Dev Dairy ] 003. Teachable Machine 사용해보기

요즘 들어 여러가지를 해보려고 노력중인데 어떤 걸 해볼까 눈을 돌리다. Teachable Machine 이라는 나온지는 꽤 되었지만 인공지능 관련된 사물인식 머신러닝이다. 머신러닝이라고 하면 굉장히 어렵고 복잡할 것 같은데 Teachable Machine 을 이용하면 아주 쉽고 간단하게 머신러닝을 해볼 수 있다. 주소는 : teachablemachine.withgoogle.com/ Teachable Machine Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or c..

[ Dev Dairy ] 002. selenium 환경준비

어떤 걸 제일먼저 해볼까 구글링해보다 구글하니... 크롤링이라는걸 해보고싶어졌다. * 크롤링 정의 : 크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부른다. 현재 개발환경은 Python 이다. Python 하면 빼먹을 수 없는게 요 pip 이다. * pip는 Python Package Index (PyPI) 저장소로부터 파이썬 패키지를 받아 설치하는 패키지 관리 도구입니다. Node.js의 NPM와 비슷하다고 생각하시면 됩니다. 크롤링은 아주아주 간단하게 pip 명령어를 통해 패키지 설치가 가능하다! pip install google_images_download 라고..해서 ..

[ Dev Dairy ] 001. 개발셋팅하기 ( 구름 IDE )

문득, 개발을 해야겠다고 생각이 들었다. 공부를 다시 시작하려고 하니, 뭐 부터해야할 지.. 뭘 해야할지 막막... 처음부터 개발환경을 셋팅하자니.. 너무 귀찮고 열심히 구글링한 결과 구름IDE가 눈에 띄었다. 구름 IDE는 도커(Docker) 컨테이너를 기반으로 클라우드 서비스가 구성되어있어서 별도의 설정없이 쉽게 사용이 가능!! * Docker 는 나중에 다시 설명할 계획 구름IDE를 들어가서 대시보드 들어가면 본인의 환경에 맞게 셋팅을 할 수 있다. 대시보드를 통해 들어가게 되면 본인이 원하는 소프트웨어 스택을 선택해서 컨테이너를 만들 수 있다. ( 개편해!!! ) 만드는 데 시간이 좀 걸리는데 완성되면 짜잔!! 요렇게 만들어진다. 만들어진 컨테이너에 들어가면 개발환경 셋팅 끝!!! ( 요즘 세상 ..