공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍/이것저것_개발일지 22

Ubuntu 인스턴스에 MySQL 올리기

Ubuntu 16.04에 Mysql 5.7 / 8.0.22를 설치하면서 구글링했던 내용들 정리 Mysql 설치하기 mysql-client : 데이터베이스에 연결하고, CLI로 mysql 명령어를 실행하기 위한 프로그램 mysql-server : 데이터베이스를 host, 관리하기 위한 프로그램. 일반적으로 둘 다 필요한 경우가 많음. sudo apt-get update sudo apt-get install mysql-server mysql-client cf. mysql 버전 8을 설치하고 싶은데, sudo apt-get으로 실행하면 5.7이 설치되는 경우 # 실행중인 mysql 프로세스를 종료한 뒤 sudo apt-get remove --purge mysql* sudo apt-get autoremove s..

Tomcat 서버 구동시 Creation of SecureRandom instance for session ID generation Warning 해결

빈 리눅스 / 우분투 인스턴스에서 Spring Boot 웹 애플리케이션을 runnable Jar파일로 구동할 때 마주한 오류. Exception처럼 프로그램이 종료되는 것도 아니고, 애플리케이션 로직에도 문제는 없지만 서버에 요청을 보냈을 때 응답을 받기까지 매우 오랜 시간이 걸리는 상황이 발생했다. Creation of SecureRandom instance for session ID generation using \[SHA1PRNG\] took \[43,222\] milliseconds. 요청에서 응답까지 43초가 걸렸다. 다른 요청에서는 213초까지 걸리기도 했다. 원인을 분석한 포스트를 여러 개 찾아봤다. https://goni9071.tistory.com/entry/connection-reset..

Python으로 Praat 활용하기 - parselmouth Package 사용법

Praat 프로그램의 Python Wrapper 패키지 사용법을 찾아보다가, 공식 docs에도 예시코드가 거의 없고 사용법 포스팅도 거의 없길래 직접 남기는 포스트. 2020.04 ~ 2020.07 글로벌경영학과 김영한 교수님 Research Assistant 작업. 교수님의 연구 어시스턴스로 'CEO의 음성 데이터와 해당 기업 주가와의 상관관계'를 조사하는 일이 필요했다. 800여 개의 CEO 인터뷰 음성파일 (확장자 wav)에서 Formant 0 ~ Formant 5까지의 값을 추출하는 작업을 맡았다. 0.1초 단위로 Formant값을 추출해서 각 음성별로 csv 파일을 생성한 뒤, 얻은 결과를 토대로 분석을 진행해야 했다. 음성 파일에서 Pitch나 Formant를 추출하는 프로그램으로는 Praat..

2018 IBM Developer Day - 문과생의 한 달만에 Composer로 해커톤 입상까지 일대기 (18.11.14)

2018.11.14 IBM Developer Day에서 발표했던 자료입니다. 2018.08.30일에 경기도블록체인해커톤 최우수상 이후 IBM에 발표신청을 했었고, 감사하게도 발표 기회를 받을 수 있었습니다. 2020년 현재 Composer는 Deprecated된 상태입니다. IBM에서 개발을 포기한 상황이라, Fabric 2.0까지 등장한 현재는 사용하기 어렵지 않을까 합니다. IBM developer day 2018 - hyperledger composer from 동건 이

Django + nginx + Gunicorn으로 AWS EC2에 Deploy하기 (Anaconda)

2019.10 ~ 글로벌경영학과 김영한 교수님 Research Assistant 작업 내용. 환경 AWS EC2 : Ubuntu 16.04 Anaconda : Anaconda3 - Python Version: 3.5 nginx : 1.1.0 (ubuntu) Gunicorn : 19.9.0 Django : 2.2.1 전제사항 1. django 웹페이지는 manage.py runserver 작업 시 로컬과 EC2 환경에서 정상적으로 작동한다. 2. Elastic IP는 AWS에서 이미 발급받았고, EC2와 연동되어 있다. 3. Anaconda3이 ubuntu에 이미 설치되어 있다. 4. 도메인은 이미 구입해둔 상태이며, AWS Route 53에 등록되어 있다. 5. manage.py collectstatic..

성균관대학교 학생회 공약 모아보는 웹페이지 제작 프로젝트(2)

성균관대학교 학생회 공약 모아보는 웹페이지 제작 프로젝트 - (2) 수집한 정보 데이터베이스 모델링하기 171129 Python으로 신문기사를 크롤링한 다음, 4명 팀원이 2014년부터 2017년 중 1년씩 맡아서 총학과 단과대의 공약 이행 데이터를 수집하기로 했다. 보통 성대신문이 제공하는 평가는 9월 무렵 중간평가 형태로 제공되거나, 11월경 최종평가 특집기사 형태로 이루어졌다. 신문기사다 보니 공약의 내용이나 이행여부도 전부 줄글로 쓰여 있다. 그래서 각자 1년치 데이터를 조사하기 위한 기준이 필요했다. 총학과 단과대의 기준을 조금 다르게 설정했다. 총학 데이터베이스 구분기준 - Attribute들이라고 해야 하나. year : 조사 연도 (integer)name : 총학생회 이름(string) c..

성대 학생회 공약 모아보기 사이트 - 멋쟁이사자처럼 프로젝트 (1)

171122 (1) Python 웹 크롤링으로 정보 수집하기 성균관대학교 멋쟁이사자처럼 5기 - 2학기 프로젝트 학교를 몇 년 다니고 있지만, 딱히 관심을 갖고 보지 않으면 대학교 학생회가 어떤 공약을 제시했고, 얼마나 이행했는지 알기가 쉽지 않다. 프로젝트 주제 선정 과정에서 이 문제를 해결해보면 좋겠다는 이야기가 나왔고, 2014년부터 2017년까지, 4년간 총학생회와 단과대 학생회의 공약 정보를 조사하기로 했다. 이 문제를 해결하려면 어떤 과정이 필요할지 대강 그려봤다. 1. 매년 총학생회와 단과대 공약 데이터를 저장해 두는 무언가를 찾는다. 2. 조사한 데이터를 웹페이지에 활용할 수 있는 데이터베이스 형태로 만든다. 3. 데이터베이스를 활용한 웹페이지를 만든다. 이 웹페이지가 만들어지기 위해 가장..

구글 스프레드시트에서 웹 크롤링하기 - importjson 활용법.

웹 스크래핑과 크롤링으로 가장 많이 쓰이는 건 아무래도 Python일 겁니다. 라이브러리도 잘 되어 있고 빠르니까요. 하지만 코드를 한 번도 짜 본적 없는 사람이 웹 스크래핑과 크롤링을 하고 싶어서 파이썬을 배우기 시작하면 꽤 오랜 시간이 필요할 겁니다. 영어 하나 배우는 데에도 오래 걸리는데, 파이썬이라는 컴퓨터 언어는 익숙하지 않으니 더 배우기 어려울 수밖에 없죠. 최근에 구글 스프레드시트로 웹 스크래핑을 하는 법을 알게 됐습니다. 주로 파이썬으로 웹 스크래핑을 하곤 했었는데, 구글 스프레드시트에서도 스크래핑을 편하게 할 수 있도록 누가 자바스크립트 코드를 만들어 뒀더라구요. 저도 인터넷으로 찾아서 해보다 알게 됐는데, 사용 방법을 공유해 두면 좋을 것 같아서 포스팅해 보려고 합니다. 사실 웹 스크래..

Aibril 소프트웨어로 아주 쉽게 챗봇 만들어보기 - T아카데미 세미나

17.09.27 T아카데미 캠퍼스특강 ‘Aibril을 활용한 챗봇 개발’ 본 강의의 영상본은 아래 주소에서 확인할 수 있다. https://tacademy.sktechx.com/live/player/listOnline.action 강연을 해주신 연사님은 SK C&C에서 Aibril Evangelist라는 직함으로 일하시는 류승균 선임이셨다. Evangelist의 사전적 정의는 ‘전도사’인데, Aibril 생태계와 환경을 조성하기 위해 사람들에게 Aibril이라는 소프트웨어를 알리고 가르치는 역할이라고 한다. Aibril은 SK에서 개발한, IBM Watson에 기반한 AI플랫폼을 말한다. AI +Brilliant의 줄임말인 Aibril은 IBM 왓슨의 api를 기반으로 지도학습에 강점을 가지고 있다. 개..