본문 바로가기

Development/Free Topic63

Windows10 에서 화면 녹화하기 # 윈도우10 유저라면 기본 설치된 Xbox 프로그램을 이용해 유료 소프트웨어를 쓰지 않고 화면을 쉽게 녹화할 수 있다.Windows 로고 키+G: 게임 표시줄 열기(또는 Xbox Game Bar를 검색해서 실행)Windows 로고 키+Alt+G: 게임 플레이의 마지막 순간들 녹화(게임 표시줄 > 설정에서 녹화되는 시간을 변경할 수 있습니다.)Windows 로고 키+Alt+R: 녹화 시작/중지Windows 로고 키+Alt+Print Screen: 게임 스크린샷 찍기Windows 로고 키+Alt+T: 녹화 타이머 표시/숨기기Windows 로고 키+Alt+M: 마이크 녹음 시작/중지http://it.donga.com/22257/ - 그러나 위 방식의 단점은.. 하나의 application에 대해서만 녹화를 .. 2018. 3. 12.
윈도우즈10 파일 탐색창 왼쪽 메뉴의 바로가기 수정하기 # Registry를 건드릴 수밖에 없다.1) Window+R 키를 누르고 regedit을 입력해서 실행한다. 2) 레지스트리 편집기에서 HKEY_CLASSES_ROOT\CLSID을 선택한 다음, 해당 디렉토리에 대해 ctrl+F 를 눌러 찾기를 실행 후 System.IsPinnedToNameSpace 을 검색한다. 3) System.IsPinnedToNameSpace 값이 1이면 탐색창 메뉴가 보이고, 0이면 보이지 않는다. 4) 어떤 key 값이 어떤 프로그램을 가리키는지 알기 어려우므로, 일일이 1로 되어있는 키를 0으로 바꿔보면서 탐색창에서 없어지는지 확인한다. 5) 레지스트리를 편집할 수 없다는 에러가 뜨면 무시하고 다른 F3을 눌러 다음찾기를 통해 다른 값을 바꿔본다. - NCS drive 키.. 2018. 3. 11.
Mac에서 압축한 파일의 제목이 깨질 때 Mac에서 압축한 파일을 window에서 압축 해제했더니 파일 제목이 깨질 때winarchiver lite를 사용해서 압축하면 됨 (압축할 때 setting에서 Korean window옵션 선택) 2017. 12. 18.
Ubuntu 여러 에러 잡기, 설치 # apt-get install 팁1) apt-get update를 하면, 등록해둔 주소에서 패키지 리스트를 가져온다2) 아래와 같이하면 등록을 할 수 있다.(tee라는 명령어로 /etc/apt/sources/list파일 뒷부분에 이어쓰기한것)echo "deb https://dl.bintray.com/wangzw/deb trusty contrib" | sudo tee /etc/apt/sources.list 3) 또는 설치파일인 deb를 직접 curl로 받아서, dpkg로 아래와 같이 설치할 수도 있다.curl -O http://kr.archive.ubuntu.com/ubuntu/pool/main/p/protobuf/libprotobuf8_2.5.0-9ubuntu1_amd64.debdpkg -i libpr.. 2017. 9. 6.
IP타임 공유기 스위치 허브 모드 스위치 허브 모드 : 공유기를 단순히 포트의 확장으로 사용하기(각 컴퓨터에 할당된 고정아이피 사용) 1. 내부아이피 주소 끝을 1에서 200으로변경2. 인터넷 연결을 끊었다가 재접속3. DHCP중지4. WAN을 빼서 LAN으로 이동5. 컴퓨터의 네트워크를 갱신-고정아이피로 설정변경6. 그럼이제 모든 컴퓨터가 각자 고정아이피모드임http://m.blog.naver.com/michaelrodri/120184371244 2016. 12. 15.
Ubuntu 에서의 DNS 서버 구축 총 7대의 slave와 1대의 master로 구성된 클러스터 서버에서 IP주소를 일일이 외우지 않고, domain name으로 각 서버컴퓨터들을 사용하기 위해서 bind9을 이용한 DNS를 master서버에 구축하였다. * DNS의 원리 slave.dns.server.co.kr : 이런식으로 구성된 도메인은 역순으로 구성된 DNS서버들을 거쳐서 recursive하게 ip주소를 받아낸다. 즉, kr -> co -> server -> dns 순서로 DNS를 물어본다.보통의 경우 server.co.kr은 도메인을 구입해서 사용해야하고, 그 앞의 slave와 dns에 해당하는 부분을 서버 개발자가 구성하게 된다. # bind9 설정하기우선 아래의 링크만 정말 천천히 정독하면, 거의 한 번에 구현이 가능하다. 이.. 2016. 9. 28.
Ubuntu에서 FTP파일 서버 구축 - vsftpd 를 이용해 파일 공유하기 : ftp는 보안에 매우 취약하다. sftp는 보안은 강력한대신 속도가 느리다. vsftpd는 sftp 만큼 안전하면서 속도도 빨라서 가장 널리 이용되는 프로그램이다. - vsftp 설정하기sudo apt-get install vsftpd sudo vim /etc/vsftpd.conf # 원하는 대로 설정 변경. 그러나 우선은 default 상태로 실행시켜서 접속 테스트sudo service vsftpd restart # vsftd.conf 파일 수정하기http://blog.daum.net/99lib/27 http://isaac0448.iptime.org:8080/676http://webdir.tistory.com/199http://auctionpro.co.kr/.. 2016. 9. 27.
Ubuntu GUI 관련 트러블슈팅. Gym, Xserver, pyglet, TeamViewer OpenAI Gym을 원격서버 IPython에서 렌더링하기# 주의 # 아래의 방법으로 하면, 결국 되기는 되는데, CUDA 드라이버가 뭔가에 의해서(아마 범블비) 지워져버려서 GPU컴퓨팅이 안된다....... 그래서 결론은 이 글 가장 아래부분의 TeamViewer를 사용하는 것을 추천한다.-----원격 서버에서 IPython을 통해 GYM의 렌더링 결과를 gif로 보여주기를 시도해보았다. 결국 다음 링크의 예제를 재현하는 것이 목표였으나 pyglet과 xvfb 설정에서 상당히 많은 어려움이 있었다. 재현할 대상 : http://nbviewer.jupyter.org/github/patrickmineault/xcorr-notebooks/blob/master/Render%20OpenAI%20gym%20as%.. 2016. 7. 26.
Docker 사용방법 Docker란 무엇인가?http://www.slideshare.net/pyrasis/docker-docker-38286477OS에 부담을 주지 않는 매우 효율이 좋은 가상화 도구로 VM보다 훨씬 구조가 간단해서 기본 OS 99% 의 성능을 낼 수 있는 매우 유용한 가상화 시스템이다.결론적으로 얘기하자면, 도커는 시대의 흐름이고 앞으로 모든 것이 도커를 기반으로 돌아갈 것이다. Docker에서 쓰이는 용어 이미지: 미리 임의의 환경을 구워놓은 이미지 파일 컨테이너 : 이미지를 실행하는 독립된 light VM 같은 것 Ubuntu 18.04 에 docker 설치하기간편하게 정리된 도커 공식 설치 스크립트를 사용하기curl https://get.docker.com | shsudo systemctl start .. 2016. 2. 19.
Ubuntu 서버 구입부터 설치 및 인터넷 설정까지 1. GPU 서버 구입아래와 같이 고성능 GPU 컴퓨팅용 서버의 견적을 내고 주문한다. 아래 견적은 호환성이 검토되어 있다. 호환성은 다음의 4가지만 체크하면 큰 문제가 없다. 메인보드와 CPU의 소켓넘버가 같은지 / 메인보드가 RAM의 스펙을 지원하는지 / 메인보드의 PCI가 GPU를 지원하는지 / GPU의 전력용량을 파워가 충분히 만족시키는 지 (단, 하드디스크는 3TB이상일 경우 우분투에서 인식하지 못하는 버그가 있는 것으로 알려져있다.)위의 견적에서 가격을 조금 내리고 싶다면, 다음을 고려할 수 있다.1) 파워를 750W -> 650W 로 다운. (Titan X 는 권장 600W 을 요구하므로, 650W으로 충분할 수 있다.) 2) CPU와 메인보드를 다운그레이드 3) 케이스/키보드 구입 X or.. 2016. 2. 12.
Ubuntu 설치하기 Ubuntu 설치 USB 만들기https://hiseon.me/linux/ubuntu/ubuntu-install-usb/1. ISO 이미지 다운로드https://ubuntu.com/download/desktop 2. Rufus 다운로드https://rufus.ie/ 3. Ubuntu 설치 USB 만들기https://hiseon.me/linux/ubuntu/ubuntu-install-usb/ Ubuntu 설치하기Ubuntu 설치 USB를 꽂고 컴퓨터를 켠다음, Try Ubuntu without installing 을 클릭한다. 설치를 진행하기 전에 확인해야하는 시스템 사항이 있기 때문이다.1. 내 디스크의 OS 설치방식 확인하기sudo parted -l 설치전에 위 명령어를 실행하여 GPT 디스크인지 여부.. 2015. 8. 28.
고정ip가 할당된 공유기에 리눅스 서버를 올릴 때, 포트포워딩 - 고정ip가 할당된 공유기에 리눅스 서버를 올릴 때 1) 공유기에 접속해서 dhcp 가 할당하는 내부 ip를 고정시킨다.(mac 주소에 내부 ip를 고정시킴)2) 포트포워딩을 통해, 고정ip로 들어오는 특정 포트(22)로의 접속을, 내부 포트(22)로 보낸다. ssh(푸티)와 sftp는 모두 22번 포트를 사용함. 프로토콜만 다름3) 리눅스서버에 sudo apt-get install openssh-server 를 설치하고 실행한다. - 리눅스 설치하고나서 할일sudo update로 모든 설치된 프로그램을 업데이트 apt-get install build-essential로 빌드 에센셜 깔기 sudo apt-get install vimsudo apt-get install openssh-server syst.. 2015. 8. 24.
무선 통신의 원리 먼저 무선 통신은 전자기파를 이용하는 방식과 음파를 이용하는 방식으로 크게 나눌 수 있다. 대부분의 우리가 산업에서 쓰는 무선 통신은 전자기파를 이용한 통신 방식이며, 음파를 이용하는 통신은 일상생활에서 우리가 대화할 때 이외에는 크게 쓰이는 경우를 찾진 못하였다. 다만 통신이 아닌 음파의 응용으로는 보통 초음파진단이나, 초음파비파괴 검사, 수중음파탐지, 박쥐와 돌고래의 음파 통신 및 탐지 등이 있다. 물론 전자기파도 x-lay나 투사전자현미경 등에서 탐지를 위해 사용한다.https://ko.wikipedia.org/wiki/%EB%AC%B4%EC%84%A0_%ED%86%B5%EC%8B%A0 여기서 다시 전자기파는 주파수에 따라, 다양한 이름을 가지며 통신과 탐지에 사용이 된다. 그럼 우선 전자기파의 주.. 2015. 8. 10.
Ubuntu - virtualenv, scrapy 사용법 # GPU 모니터링 : watch -0.5 nvidia-smi (0.5는 시간) watch -n 0.5 "nvidia-smi | grep MiB" # CPU 모니터링 : top (또는 ps? 근데 top이 더 맞는듯) # GPU를 사용중인 Python 프로세스 종료 : 이 방식으로 해야만, 안전하게 다른 프로그램에 영향을 미치지 않음.nvidia-smi python process의 PID확인 kill -9 PID # 모든 GPU 프로세스 종료 : 이 명령을 사용하면, X window도 죽어버려서 위험하다. 위 방법을 추천kill -9 $(nvidia-smi | sed -n 's/|\s*[0-9]*\s*\([0-9]*\)\s*.*/\1/p' | sort | uniq | sed '/^$/d')https://.. 2015. 7. 31.
IPython Notebook 사용법 http://ipython.org/ipython-doc/1/install/install.html#installation-using-easy-install-or-pip IPython server 설치 및 설정.Ipython notebook 설치 1) easy_install ipython[all] (pip 로 uninstall하면 충돌함) 2) sudo pip install "ipython[notebook]" 3) sudo pip install "ipython[notebook]==3.2.1" (2 번 방식은 최신 버전이 설치됨. 3번은 3.2.1 버전이 설치됨.)Ipython profile 생성 ipython profile create nbserverIpython profile 수정: 링크 참조, pem k.. 2015. 6. 2.
오픈소스 라이센스 및 개발 가이드 BSD 3-Clause LicenseA permissive license similar to the BSD 2-Clause License, but with a 3rd clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.매우 관대한 라이센스로, 본 프로젝트의 원래 이름 또는 contributor에 대한 copyright 문구를 삽입하는 한 대부분의 이용이 가능하다. https://github.com/NVIDIA/nv-wavenet/blob/master/LICENSE.TXThttps://en.wikipedia.org/w.. 2015. 4. 13.
openFramework, ofxFenster 버그 수정 오픈소스 개발에 기여하였다. I found a little bug on the latest version "of_v0.8.4_vs_release". The 'glfw3' library is old or wrong. so some addons using the latest 'glfw3' doesn't work. I found on "ofxFenster". And there are some more bugs on ofxFenster...http://forum.openframeworks.cc/t/glfw3-library-has-some-problem/18889 --------ofxFenster 사용하기1. 오픈 프레임워크 0.8.4 다운로드 http://openframeworks.cc/download/ 에서 .. 2015. 3. 15.
추천하는 소프트웨어 스택 - GPU 병렬처리CUDATheano - 분산 병렬 처리용 머신러닝 라이브러리아파치 머하웃 - 분산 병렬 처리스파크카산드라하둡MapReduce - OS리눅스 우분투 - 웹Node JS : 자바스크립트로 서버사이드개발이 가능하도록 한 것(자바스크립트의 JSP기능을 코딩) -> 자바스크립트로 통일된 언어로 서버와 클라를 모두 개발할 수 있음. -> 트위터나 페이스북 등 대규모 서비스를 처리할 정도로 매우 빠른속도를 가짐: 기본적으로 JS가 요청에 대해 콜백함수로 처리하는 멀티 스레딩이라서 구조자체가 대규모 서비스에 적합하다고 함. Angular JS : 주로 클라이언트를 개발하는 데 쓰인다고함. Node JS는 서버Jquery : 자바스크립트 라이브러리PHP - 데이터베이스 매니지먼트NoSQL(Not onl.. 2015. 3. 3.
C++ STL의 Vector 사용법 C 언어를 다룰 때 필요한 마인드 : 나는 기계를 제어하는 중이다. 진짜 멍청한 기계다. 정적할당은 해제할 필요가 없고 일반적으로 할당 속도가 더 빠르다.동적할당은 메모리 오버플로우 문제가 발생할 수 있고, 메모리가 연속적으로 할당되지 않을 수 있어 메모리 엑세스 속도가 느릴 수 있다. 따라서 new , delete 방식의 동적할당을 쓰지말고 vector를 써라.(vector를 1차원)그러면 heap corrupt 문제가 발생하지 않고, 메모리 연속성을 보장 받을 수 있다. - 2차원 배열 동적 할당 : new , deletefloat ** parray = new float*[sizeOfColumn]; for(int i=0; i< sizeOfColumn; i++){ parray[0] = new float.. 2014. 12. 4.
C++ 프로그래밍 - window에서 하위 폴더까지 파일 목록 가져오기#include "stdafx.h"#include "windows.h"#include "winbase.h"#include "stdio.h"#include "cstringt.h"#include "atlstr.h" bool FindnFile( const wstring strPath ) {bool bContinue = true;WIN32_FIND_DATAW FindFileData;HANDLE hFind;wstring strFindPath, strFileName;wstring FullPathName;strFindPath.assign(strPath+L"\\*.*");hFind = FindFirstFileW( strFindPath.c_str(), &FindFile.. 2014. 11. 26.