전체 글378 python factory pattern - 팩터리 패턴이란?다른 객체를 생성하기 위한 클래스를 의미.팩토리 메소드는 객체 생성을 위한 인터페이스를 정의 하지만 어떤 클래스를 인스턴스화 할지는 인터페이스를 구현하는 클래스에서 결정.팩토리 메소드는 코드를 실제 클래스가 아닌 인터페이스에 묶어 좀 더 보편적으로 사용할 수 있게 만든다. 추상 팩터리는 실제 클래스를 명시하지 않은 상태로 관련 있는 가족이나 의존된 객체를 생성하는 인터페이스를 제공. - 팩토리를 사용해야 하는 이유팩토리는 객체 생성과 클래스 구현을 구별해서 의존성을 낮춘다.생성된 객체를 사용하는 클래스는 정확히 어떤 클래스에서 객체를 생성했는지 알 필요 없음.생성된 클래스의 인터페이스인 어떤 속성으로 어떤 생성 클래스의 메소드를 호출 할 수 있는지만 알면 된다.새로운 클래스가 인터페이.. 2015. 11. 25. python Singleton 싱글턴은 클래스의 인스턴스를 하나만 만들때 사용하는 디자인 패턴이다.모든 객체에 대해 하나의 공유 상태를 사용. - 싱글턴을 사용하는 이유프로그램이 실행되는 동안 인스턴스(클래스의 인스턴스, 리스트,딕셔너리 등) 을 하나만 만들어야 할 때둘 이상의 인스턴스가 생기면 로직상 에러가 발생하는 등의 이유로 하나만 원할때 - 싱글턴 이 적합한 곳a. 공유 자원에 대한 동시 접근을 제어할 필요가 있을 때b. 여러 시스템에서 하나의 자원에 접근하는 지점이 필요할 때c. 유일 객체가 필요할때 - 싱글턴을 사용하는 예로깅 클래스와 서브 클래스(로그에 메시지를 보내기 위한 로깅 클래스에 대한 글로벌 접근 지점)프린트 스풀러: 동일 자원에 대한 요청 간섭을 피하기 위해서 하나의 스풀러만 사용데이터 베이스 연결 관리파일 관.. 2015. 11. 25. linux deb 파일 설치 .deb 파일 설치 방법 dpkg -i package-name-here.deb dpkg --install package-name-here.deb dpkg -i -R /path/to/dir/name/with/lots/of/dot-deb-files/ dpkg -i --recursive /path/to/dir/name/with/lots/of/dot-deb-files/ 2015. 11. 15. scrapy 사용법 파이썬 scrapy 를 활용하여 웹에서 데이터를 크롤링 한후 mongodb 에 저장 하기 1. 우분투 버전 확인:cat /etc/issue2. 파이썬 버전 확인:python -v3. mongodb 설치:몽고 디비는 아래 사이트를 참고하였습니다.참고 : https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10# echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.. 2015. 11. 14. 자바 Check if some exe program is running on the windows 자바로 윈도우즈에서 실행 중인 프로그램 리스트 가져오기특정 프로그램에 대해 찾기 String line;String pidInfo =""; try {Process p =Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe"); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line = input.readLine()) != null) { pidInfo+=line; } input.close(); if(pidInfo.contains("powershell.exe")){ System.out.println(".. 2015. 11. 6. Spring boot - Sigar 사용( 시스템 모니터링) 자바에서 Sigar 라이브러리를 사용하여 시스템에 대해 모니터링 할 수있다. Sigar repository 를 사용하려고 하였으나 library path 문제로 실패 하였다. 실패 메시지 : org.hyperic.sigar.SigarException: no sigar-amd64-winnt.dll in java.library.path 수동으로 라이브러를 다운 받아 추가 하는 방식으로 한다. import org.hyperic.sigar.CpuPerc;import org.hyperic.sigar.Sigar;import org.hyperic.sigar.SigarException; public class SigarTest {public static void main(String[] args){// sigar 객체.. 2015. 11. 6. 이전 1 ··· 36 37 38 39 40 41 42 ··· 63 다음