본문 바로가기

Development/Free Topic53

Git Large File Storage(LFS) 사용하기 Git의 용량제한기본적으로 git은 여러개의 작은 파일들을 위한 버전 컨트롤 시스템(VCS)이다. 따라서 Github의 경우 50Mb부터 Warning이 표시되고, 100Mb부터는 Error가 발생한다. 그럼에도 불구하고 경우에 따라서 반드시 대용량 파일을 git repo에 포함시켜야하는 상황이 존재할 수 있다(예를 들면 학습된 모델파라미터 등). 이러한 경우에 사용할 수 있는 Git LFS(Large File Storage)의 사용법을 기록한다. 기본적인 사용방법은 모두 다음 블로그에서 가져왔다.https://leimao.github.io/blog/Git-Large-File-Storage/https://git-lfs.github.com/ Git LFS 설치하기curl -s https://packagec.. 2020. 3. 30.
On demand와 On the fly On demand: As soon as possible유저의 요청을 하면, 그 즉시 시작해서 최대한 빨리 return 해주는 시스템 On the fly: While in progress유저가 요청을 하면, 그 과정에서 멈추지 않고 무언가를 처리해서 return 해주는 시스템 https://ell.stackexchange.com/questions/140402/how-to-describe-the-difference-between-on-demand-and-on-the-fly ML에서의 예시On demand 전처리 : 유저가 학습 버튼을 클릭하면, 그 즉시 전체 데이터에 대한 전처리가 이뤄짐On the fly 전처리 : 유저가 학습 버튼을 클릭하면, 전체 데이터에 대한 전처리가 끝날 때까지 기다리지 않고 즉시(.. 2020. 3. 19.
작은 따옴표, 아포트트로피, 그레이브 악센트 구분 아포스트로피: I'll 같이 말을 생략하거나, Google's와 같은 소유격에 사용되는 특수문자.보통 작은따옴표를 사용한다.https://ko.wikipedia.org/wiki/%EC%95%84%ED%8F%AC%EC%8A%A4%ED%8A%B8%EB%A1%9C%ED%94%BC Quote: 따옴표. 마찬가지로 작은따옴표나 큰따옴표를 사용한다.He said, "I can't swim." Grave Accent: 특정한 발음기호를 가진 알파벳을 나타낼 때 사용한다.ESC아래에 있는 ` 키로 입력한다. https://en.wikipedia.org/wiki/Grave_accent 2020. 1. 30.
Librosa, Numba 에러 해결 RuntimeError: cannot cache function '__jaccard': no locator available for file '/opt/conda/lib/python3.6/site-packages/librosa/util/matching.py'원인0.7이 넘어가는 librosa에서 numba cache를 사용하는데, numba cache dir에 대한 권한이 없어서 생기는 문제이다, https://github.com/numba/numba/issues/4032https://github.com/ska-sa/montblanc/issues/253 해결책: 다음 셋 중 하나로 해결가능1. numba_cache dir 생성mkdir /tmp/numba_cache & chmod 777 /tmp/numb.. 2020. 1. 23.
Z-shell ( zsh ) 사용하기 zsh ( z-shell ) zsh은 bash shell에서는 제공하지 않는 사소하지만 정말 편리하고 우아한 기능들을 제공하는 shell이다. zsh 설치과정1. sudo apt-get install zsh 2. oh-my-zsh 설치 sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 3. zsh-syntax-highlighting git clone echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc source ./zsh-syntax-hig.. 2020. 1. 17.
Google API로 GDrive랑 Gspread 사용하기 구글 접속 권한 얻기먼저 구글 접속을 위한 credential생성이 필요하다. * oauth2client는 deprecated되고, 이제 google_auth_oauthlib을 사용해야한다.https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html#replacement 1. 구글 계정 생성2. https://console.developers.google.com/apis/library? 에서 원하는 API선택3. 사용자 인증 정보 생성4. OAuth 동의에서 scope설정5. json credential 다운로드6. Flow를 이용해서 authorization_url얻기7. authorization_url에 접속 후 로그인하여 au.. 2019. 11. 22.
라즈베리파이 4 Model B 시작하기 # 작동을 위해 필요한 최소 주변기기 1. USB-C 전원 연결을 위한 충전기(라즈베리파이 공식 충전기 사용) 2. 8기가 이상의 microSD카드(라즈베리파이 공식 카드 사용) 및 리더기 3. 케이스(있는게 매우 좋음) 4. microHDMI 케이블 # 방열판 부착하기 은색, 검은색 칩에 붙여주면 된다. 그러나 실질적인 효과는 -1~2도라고 한다.... https://www.youtube.com/watch?v=E-4GaAz7XNM # 기본 시작 방법: 아래 링크를 천천히 따라합시다. https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up # 운영체제 설치하기 아래 링크에서 원하는 이미지를 다운받는다. https://www.raspber.. 2019. 11. 8.
Javascript - 자바스크립트에서는 this가 매우 유용하다.- 모든 객체는 Window 밑에 존재하며, 그 밑에 document 와 body등의 children으로 존재한다.- .find() 등의 함수를 이용해 내가 원하는 element를 하위 children에 대해 검색할 수 있다.- 동적으로 모든 object들이 업데이트되므로, 과거에 console.log로 찍은 object도 나중에 업데이트되어 바뀐다. - Javascript에서 Undefined를 검출해내는 것은 쉽지 않은 일이다. https://martin-thoma.com/javascript-wtf/ 2018. 5. 9.
Windows10 에서 화면 녹화하기 # 윈도우10 유저라면 Xbox 를이용해 유료 소프트웨어를 쓰지 않고 화면을 쉽게 녹화할 수 있다.Windows 로고 키+G: 게임 표시줄 열기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-38286477 OS에 부담을 주지 않는 매우 효율이 좋은 가상화 도구 VM보다 훨씬 구조가 간단함. 기본 OS 99% 의 성능을 냄 결론적으로 얘기하자면, 나는 도커에서 지금까지 실행하지 못한 기능이 하나도 없었다. redis도 성공했고, sftp도 성공하였다. # docker에서 쓰이는 용어 도커 이미지: 미리 임의의 환경을 구워놓은 이미지파일 도커 컨테이너 : 도커가 실행중인 프로세스 # Ubuntu 16.04 에서 설치하기apt-get update apt-get install apt-transport-https ca-certificates curl software-propert.. 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 설치 usb 만들기 http://deviantcj.tistory.com/508 1. ubuntu 14.04 iso파일을 다운받는다http://www.ubuntu.com/download/desktop/contribute/?version=14.04.3&architecture=amd64 2. Universal-USB-Installer로 usb를 만든다http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ 3. 이미 설치된 ubuntu 14.0.4 에 usb를 연결한 후 ubuntu startup disk creator 를 이용해서 usb를 생성한다이것이 제일 빠르고 쉬운방법 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 참고> .. 2015. 8. 24.