본문 바로가기

개발

AWS Summit 2017~2019 점심 도시락 비교 AWS Summit 을 가게 되면 기조연설 이후 점심을 먹게 되는데요. ( 무료 콘퍼런스임에도 엄청난 서비스 ) 제가 처음 참석했던 2017 년부터 이 글을 쓰고 있는 2019년 도시락 들입니다. - AWS Summit 2017 처음 참석했던 2017년 때의 도시락입니다. 지금 보기에도 2017 가장 화려했던 것 같네요. 당시에 얼마나 놀랐던지... 새우와 함께 연어, 전복, 고기( 고기 종류는 기억이... ) 그리고 가지런히 정리된 모습! 정말 당시에 얼마나 놀랐었는지 모르겠네요. - AWS Summit 2018 2017에 비하면 조금은 간결해진? 모습의 도시락입니다. 그래도 역시 야채 과일 고기 등의 밸런스가 잘 맞춰져 있고 정말 맛있었고 먹고 나서 엄청 배불렀던 기억이 있네요. 당시에 도시락이 좀 ..
VirtualBox 에서 '호스트 전용 어댑터' 로 내부망 연결 네트워크 만들기 VirtualBox 는 Oracle 에서 제공하는 간단하게 가상 환경을 구성 할 수 있도록 해주는데요. 여기서는 간단히 2대의 머신에서 내부 아이피를 이용하여 서로 연결 할 수 있도록 하는 '호스트 전용 어댑터' 를 이용하여 네트워크를 연결 하도록 해보겠습니다. 우선 머신 2대를 간단히 만들어 주고 ( 제 경우 1개를 만들고 셋팅한 후 'MAC 초기화'와 함께 '완전 복제'를 합니다. ) 1.호스트 전용 어댑터 설정하기 복제된 머신에서 '설정' 으로 들어 간 후 네트워크 탭 으로 이동 그리고 어댑터 2 에 '호스트 전용 어댑터' 를 추가해 주도록 합니다. * 기본적으로 vboxnet0 이라는 기본 어댑터가 설정 되어 있으니 그냥 쓰도록 합니다. 기본 어댑터는 192.168.56.0 의 IP 대역때를 사용..
[Tensorflow] Cuda 설치 후에도 ImportError: libcublas.so.8.0 에러가 날 경우 tensorflow-gpu 와 cuda 를 설치 했음에도 아래와 같이 ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory 의 에러가 날 경우 보통은 환경변수 설정이 안되어서 그렇습니다. 일시적으로는 아래의 명령어로 처리가 가능하며 export PATH="$PATH:/usr/local/cuda-8.0/bin" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64" 만약 부팅때 마다 적용 하고 싶으시다면 명령어를 사용할 사용자로 로그인 후 ~/.profile 파일을 열어서 vi ~/.profile 파일의 아래쪽에 위에서 사용한 명령어를 넣어 줍니다. export PA..
Cuda 버전 별로 받을 수 있는 주소 Tensorflow는 버전에 따라 요구하는 Cuda 의 버전이 달라 야 하는대요. 현재 Nvidia 에서 다운받을 경우 9.0 최신이 받아지며 현재 Tensorflow 는 9.0 을 사용 하지 않아 8.0 을 설치해 주셔야 합니다. Cuda 8.0 은 아래의 주소로 가시면 Cuda를 버전 별로 받을 수 있습니다. https://developer.nvidia.com/cuda-toolkit-archive 즐거운 개발 되시기 바랍니다 :D
Linux 에서 스왑 ( Swap ) 메모리 생성하기 아마존과 같은 클라우드 서비스에서 머신을 생성하고 사용하다 보면 기본 Swap 메모리가 설정되어 있지 않아 있는 것을 볼 수 있는데요. 물론 성능상으로 Swap 이 없는 것이 좋긴 하지만 테스트 서버나 굳이 Swap을 쓰지 말아야 할 정도로 빠른 서비스가 아닐 경우 사용하는게 서버 안정성에 좋을 때가 있는데요. 여기서는 간단히 Swap 을 생성하는 방법을 알아보겠습니다. 1. 메모리 검사하기 우선 정말 스왑 메모리가 없는지 free -m 을 통해 확인해 보도록 합니다. $ free -m 위와 같이 Swap 이 0 으로 표기된다면 스왑(Swap) 메모리가 없는 것으로 보시면 됩니다. 2. 스왑(Swap) 메모리 파일 생성하기 우선 아래의 명령어로 / 에 swapfile 을 생성합니다. $ sudo dd i..
Python 프로그램을 nohup & 으로 백그라운드 동작시 UnicodeEncodeError: 'ascii' codec can't encode character 과 같은 에러가 날 경우 Python 프로그램을 nohup 과 & 을 이용하여 아래와 같이 백그라운드로 실행할 경우 $ nohup 1>/dev/null 2>&1 & Exit 1 메세지와 함께 강제 종료 되는것을 확인 할때가 있는데요. 이때 로그를 찍어 파일을 보면 UnicodeEncodeError: 'ascii' codec can't encode character 위와 같은 에러 문구를 확인 할 수 있는데요. 이때는 그냥 간단히 export PYTHONIOENCODING=utf-8 으로 python 의 encoding 을 utf-8 로 변경해 주시면 됩니다. $ export PYTHONIOENCODING=utf-8 이제 파일을 실행해 보시면 정상적으로 종료되지 않고 작동하는 것을 확인하실 수 있으실 것입니다. 즐거운 개발 되시기..
Mysql 혹은 MariaDB 에서 데이터베이스 삭제시 ERROR 1010 (HY000): Error dropping database 에러 발생시 간혹 어딘가 꼬여서.. 아래와 같이 drop database를 했는데 ERROR 1010 (HY000): Error dropping database 에러 메시지와 함께 삭제가 안될 때가 있습니다. DROP DATABASE DB_NAME; ERROR 1010 (HY000): Error dropping database (can't rmdir './DB_NAME', errno: 66) 이때는 강제로 데이터베이스의 데이터 스토리지의 디렉터리를 삭제해 주시면 됩니다. 만약 스토리지 디렉터리가 /var/lib/mysql/이라면 db의 디렉터리는 /var/lib/mysql/DB_NAME이며 아래의 명령어로 삭제가 가능합니다. rm -rf /var/lib/mysql/DB_NAME * 주의 : 파일 삭제는 항상 조심해야..
Linux 에서 Public ( 공개 ) IP 알아내기 Linux 서버에서 public ( 공개 ) ip를 커맨드로 알아내야 할 때가 있는데요. 이때 사용하기 좋은 방법입니다. 그냥 간단히 curl로 아래의 https://ipinfo.io/ip 을 호출해 주시면 됩니다. $ curl https://ipinfo.io/ip 즐거운 개발되시기 바랍니다. ^^ 만약 웹페이지를 접속할 수 있다면 아래의 링크에서 공용 IP 와 로컬 IP를 확인하실 수 있습니다. 링크 : http://ko.ontools.work/app/network/what-is-my-ip
CentOS 에서 scl 을 이용해 python2.7 or python3.x 이용하기 CentOS 버전의 경우 기본적으로 python 2.6 이 깔려 있는데요. 이것이 요즘 사용되는 대부분의 python 프로그램을 지원하지 않습니다. ( 대표적으로 cert-bot의 경우 python2.7을 이용합니다. ) 또한 만약 패키지 관리자로 python2.7을 강제 설치할 경우 기존 python 을 업그레이드하면서 시스템에서 사용하는 기능들이 잘 동작하지 않는 상황이 발생할 수 있습니다. ( 예를들어 yum 이 작동하지 않는다던가... ) 이때 에러가 없이 사용할 수 있는 방법이 소스 코드 컴파일을 하는 방법과 scl 을 이용하는 방법이 있는데 여기서는 scl 을 이용하는 방법을 설명드리겠습니다. 방법은 아래의 명령어 순서대로 설치해 주시면 됩니다. 1. scl 설치 $ sudo yum insta..
CentOS 에서 yum-config-manager: command not found 에러가 날 경우 CentOS 에서 yum-config-manager 사용시 yum-config-manager: command not found 에러가 난다면 간단히 yum-utils 설치하여 해결이 가능합니다. $ yum install yum-utils 정상적으로 작동 한다면 아래와 같이 동작 하는 것을 확인하실 수 있습니다. 즐거운 개발 되시기 바랍니다 :D