분류 전체보기
-
Python] Postgresql결과를 CSV 파일로 저장 하기Python 2018. 10. 5. 16:54
Python] Postgresql결과를 CSV 파일로 저장 하기SQL의 결과를 CSV 파일로 저장하는 간단한 프로그램이다.제약 조건은 다음과 같다.1000만건 이상의 데이터가 있으므로 페이징 처리가 되어야 한다.테이블명은 년_월_일_시간 형식이다.시간은 2시간씩 텀을 가지고 있다.결과 파일은 테이블 명과 동일 해야 한다.프로그램은 다음과 같다.# -*- coding: utf-8 -* import psycopg2 import csv import time pagination_size = 100000 table_name = "wk_log_2018_08_{}.tb_log_http_2018_08_{}_{} " sql = "select host, uri, srvAdd, cliAdd, srvprt, rcvTime f..
-
SpringBoot에서 Websocket 사용하기설치&설정 관련/Spring Framework 2018. 10. 5. 16:53
SpringBoot에서 Websocket 사용하기Websocket 이란?서버와 클라이언트 사이에 양방향 통신 채널을 구축할 수 있는 통신 프로토콜이다. 동작 방식은 먼저 HTTP 통신을 연결하고 이후 Upgrade 헤더를 보내 양방향 연결로 업그레이드한다. Websocket은 최신 브라우저에서는 대부분 지원한다.전체 소스는 참고 내역에 있는 소스를 확인하면 된다.주요 설정은 다음과 같다.1. WebSocket Configurationpackage com.example.websocketdemo.config; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.Me..
-
Python3.7 설치와 몇가지 새로운 사실 & pip install 시 SSL 오류 처리Python 2018. 10. 5. 16:53
Python3.7 설치와 새로 알게된 몇가지 사실Python3.7을 설치 하고 가상환경을 설정하는 것을 테스트 해보았다. Python2.X 에서는 virtualenv 라는 모듈을 설치하여야 가상환경을 설정 할 수 있었지만, 3.7에서는 기본으로 제공되었다.Python3.7 소스 설치 하기How to Install Python 3.7.0 on CentOS/RHEL 7/6 & Fedora 28-23 를 확인하고 해당 내역을 따라서 진행 하면 다음과 같다.# 필수 모듈 설치 $> yum install gcc openssl-devel bzip2-devel # Python 3.7 download & 설치 $> cd /usr/src $> wget https://www.python.org/ftp/python/3.7...
-
경력 개발자 면접 질문설치&설정 관련 2018. 10. 5. 16:52
면접 질문 1. 객체지향 개발 5대 원리: SOLID- 기본중의 기본! 기본은 늘 중요 하니까!!! 2. SpringFramework 의 중요 컨셉 3가지1) IOC : 제어의 역전 / 의존성 주입 2) AOP : 관심의 분리 3) PSA : 일관성 있는 추상화 3. CSS 선택자 종류와 속도1) 전체 선택자 2) 태그 선택자 3) 클래스 선택자 4) 아이디 선택자 5) 복합 선택자 6) 속성 선택자 7) 가상 클래스 선택자 8) 기타(언어, 부정, 목적, UI요소) 4. JPA를 사용하면서 어려운점1) 영속성 이해 2) 다중 JOIN QUERY 3) 관계 DB와 객체 지향적 DB 설계 5. MSA 관련1) Eureka 2) Zuul 3) Histrix 4) 서킷 브레이커 등 6. CQRS란 무엇인가?7..
-
D3] TEXT 태그를 wraping하여 라벨 나누기HTML + JAVASCRIPT + CSS 2018. 8. 17. 15:34
D3에서 긴 텍스트에 대한 처리이전 포스팅의 텍스트 줄바꿈 처리는 모든 브라우져에서 동작 하지 않는다. 확인 해본 결과 Firefox에서는 동작 하지만, 많이 사용되는 Chrome에서는 동작 하지 않는다.모든 브라우져에서 동작하기 위한 코드를 찾아본 결과 Wrapping Long Labels을 발견 할 수 있었다.위의 코드에서 wrap을 해주는 매소드에 보면 text 태그 하단에 들어가는 tspan이라는 태그를 발견 하였는데, 이를 이용하여 여러 라인 처리를 하는 것을 확인했다. 이를 활용하면 긴 문장에 대한 여러 방법으로 처리가 가능 하다.function wrap(text, width) { text.each(function() { var text = d3.select(this), words = text..
-
MongoDB] 설치 & 권한 설정설치&설정 관련/MariaDB & Mysql 2018. 8. 17. 15:33
MongoDB] 설치 & 권한 설정CentOS 7에서 MongoDB를 설치하고 권한을 설정하여 권한이 없는 사용자는 조회/등록/수정/삭제 기능을 사용하지 못하게 한다. MongoDB는 3.6 버젼 기준으로 설명한다.1. 패키지 매니저에 MongoDB 추가먼저 /etc/yum.repos.d/mongodb-org-3.6.repo 파일을 생성하고 다음 내역을 추가 한다.[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3..
-
Python]paramiko 모듈에서 su 명령어로 계정 전환Python 2018. 5. 18. 10:12
Python]paramiko 모듈에서 su 명령어로 계정 전환python에서 ssh에 연결 후 command를 실행하기 위해 사용하는 paramiko 모듈에서 간단하게 command를 실행하는 코드는 다음과 같다.import paramiko ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # host keys 관련 설정 ssh_client.connect('127.0.0.1', username='lahuman', password='pass') stdin, stdout, stderr = ssh_client.exec_command('ls') stdin.flush() time.slee..
-
Python에서 class 선언시 object를 꼭 상속 받자Python 2018. 4. 17. 14:18
Python에서 class 선언시 object를 꼭 상속 받자python은 전역 객체를 선언할 경우 해당 클래스를 메모리에 올리는 초기 작업에서 실행 된다. 예를 들어 다음과 같은 코드에서 # 1, # 2 순서로 실행된다.import lahuman class test(object): a = lahuman.A() # 1 : def b(self): pass main pythonimport test # 1 if __name__ == '__main__': t = test() t.b() # 2 또한 test 클래스가 object를 상속 받지 않을 경우 객체 생성시 object를 상속 받지 않으면 객체생성시 new 메소드가 호출되지 않는다.