Semaphore -> 상호배제를 하면서 동시에 수행할 수 있는 스레드의 개수를 설정할 수 있는 클래스-> 생성자를 이용해서 동시 수행가능한 개수를 설정-> 스레드가 수행되는 시점에 acquire()를 호출하고 스레드가 종료되는 시점에 release()를 호출.-> 한정된 자원을 여러 개의 프로세스들이 사용해야 할 경우, 프로세스들 간에 자원 사용 시 충돌이 없도록 하기 위해서 세마포어를 사용 acquire() : 리소스를 확보하는 메서드. (사용할 때 P연산)release() : 리소스를 해제하는 메서드 (반환할 때 S연산) acquire를 하면 알아서 자기가 wait를 함.acquire() : 리소스를 확보하는 메서드 리소스에 빈자리가 생겼을 경우 바로 스레드가 acquire 메서드로부터 곧바로 돌..
함수안에 또 다른 함수가 선언되어 반환되는 것을 클로저 함수라고 한다. - 전역변수를 사용하지 않고 지역변수를 함수 밖에서 계속 참조 가능 - 내부 데이터의 은닉에 활용 - 객체 처리 효과를 사용할 수 있다 파이썬에서 클로저를 만들기 위한 조건 -. 중첩 함수(Nested Function)를 갖는다. -. 중첩 함수는 자신을 감싸고 있는 함수 영역(부모함수)의 변수를 참조하고 있다. -. 부모함수는 중첩 함수(자식 함수)를 반환한다. 예제) 1 ~ 10 사이의 숫자가 입력되면 list type의 변수에 입력 값을 기억하고, 그 값을 유지하기 def outf(a,b): li = [] #set type을 사용한다면 li = {0} 값이 하나라도 있어야 함 def inf(x): if a
The Qt Company에서 개발한 오픈소스 GUI 라이브러리의 일종. '큐트'라고 읽는다. 현존하는 주요 플랫폼 (Windows, Linux, OSX, Android, iOS 등)을 거의 대부분 지원한다. 초기에는 GUI 라이브러리로 시작하였으나, 점점 기능이 확대 되어, 통합개발환경(IDE)와 UI개발도구, 번역 작업을 위한 도구 등등에 C++ 개발에 필요한 온갖 기능(UI, XML, 네트워크, SVG, Animation, Container Class 등등)을 제공하는 거대 라이브러리가 되었다. 윈도우에서 설치 생활코딩 - https://opentutorials.org/module/544 PyQt4 다운로드 - https://riverbankcomputing.com/software/pyqt/down..
python에 numpy, scipy, pandas, matplotlib 설치하기 (이클립스 등의 편집기에서 실습) 방법 1)c:\~>pip install numpy ... 하거나 또는 아래와 같이 해 준다.http://www.lfd.uci.edu/~gohlke/pythonlibs 에서 해당 파일을 찿아 다운로드한다. 압축을 풀어 python\lib\site-packages 폴더에 복사해 준다. 아래에 적어 둔 내용도 수행시켜 준다.c:\~>easy_install python_dateutil c:\~>easy_install pyparsing c:\~>pip install cyclerc:\~>pip install pytz 방법 2)Anaconda 를 설치(위의 모든 모듈이 자동으로 설치됨)하고, 이클립스에..
homebrew(http://brew.sh/index_ko.html)를 설치 후> brew doctor > brew update > brew doctor > brew install python3> brew doctor 기존에 있던 python경로를내가 설치한 python경로로 바꿔줘야 합니다 homebrew 패스 설정> export PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin> alias python=python3 .profile 패스 설정> vi .profile > PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin> alias python=python3..
R 개요R은 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며, 패키지 개발이 용이하여 통계학자들 사이에서 통계 소프트웨어 개발에 많이 쓰이고 있다. R은 다양한 통계 기법과 수치 해석 기법을 지원한다. R은 사용자가 제작한 패키지를 추가하여 기능을 확장할 수 있다. R의 또다른 강점은 그래픽 기능으로 수학 기호를 포함할 수 있는 출판물 수준의 그래프를 제공한다.R은 통계 계산과 소프트웨어 개발을 위한 환경이 필요한 통계학자와 연구자들 뿐만 아니라, 행렬 계산을 위한 도구로서도 사용될 수 있으며 이 부분에서 GNU Octave나 MATLAB에 견줄 만한 결과를 보여준다.R은 윈도, 맥 OS 및 리눅스를 포함한 UNIX 플랫폼에서 이용 가능하다. https://www.r-project.org/ ht..
참고 : 각 컴의 ip는 고정된 값이 아니라, 상황에 맞게 적어 주면 된다. 하둡 클러스터링 서버 구축* 초기 작업- 처음에 생성한 master사용자로 로그온 한 후에 업데이트, 절전 해제- root 사용자에서 useradd hadoop, passwd hadoop:1234 설정을 한다.- master를 로그아웃하고 hadoop 사용자로 로그인 한다.- centos7은 업데이트하면 openjdk8이 자동으로 설치된다. # yum -y install java-1.8.0-openjdk-devel 한다. 방화벽 제거[root@localhost ~]# systemctl status firewalld.service [root@localhost ~]# systemctl stop firewalld [root@local..
1. JAVAJAVA는 네트워크상에서 쓸 수 있도록 미국의 선 마이크로 시스템즈가 개발한 객체 지향 프로그래밍 언어JAVA의 특징a. 자바가상머신(JVM)만 설치하면 컴퓨터의 운영체제에 상관없이 작동한다.(즉, 운영체제에 독립적)b. 기본 자료형을 제외한 모든 요소들이 객체로 표현c. 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어d. Garbage Collector를 통한 자동적인 메모리 관리e. 멀티쓰레드(Multi-thread)를 지원 2. OOP(객체지향 프로그래밍)OOP란 Object-Oriented Programming의 약어로써 객체지향 프로그래밍을 의미데이터를 객체로 취급하여 프로그램에 반영한 것이며, 순차적으로 프로그램이 동작하는 기존의 것들과는다르게 객체와 객체의 상호..
1. path 확인 윈도우 환경 변수에 다음 내용이 추가되어 있는지 확인. C:\python\Python34\;C:\python\Python34\Scripts; 2. 인스톨 http://www.djangoproject.com 의 download에서 확인 해 보자 윈도우 커맨드 창에서 pip install Django==1.10.2 3. 인스톨 확인 >>>import django >>>print(django.get_version()) 참고 : Web Frameworks for Python ==> https://wiki.python.org/moin/WebFrameworks The Django Book ==> http://www.djangobook.com/en/2.0/index.html https://tuto..