본문 바로가기

개발

PDF를 웹으로 볼수 있는 Javascript 플러그인 요즘은 PDF 를 바로 브라우져로도 볼수 있지만 내장 뷰어로 볼 경우 다운로드를 받지 않고 조금 깔끔하게 볼수 있게 하기위한 스크립트 들입니다. 물론 최근 브라우져들이 자체적으로 PDF뷰어 역할을 너무 잘해주기 때문에 조금 유용하지 않을수도 있지만 더욱 깔끔한 뷰어 기능을 하기 때문에 몇가지 소개시켜 드리겠습니다. 1. PDF.js PDF 로 Javascript 를 이용한 고퀄리티의 뷰어를 만들수 있습니다. 또한 파이어폭스의 플러그인으로도 사용되고 있는 플러그인이라고 합니다. 저도 Project에서 적용하여 사용하였 었지만 단점이 있다면 모바일 계열의 브라우져에서 극단적으로 느려 지는 현상이 있습니다. PC에서도 빠른속도를 자랑하지는 않지만 굉장히 깔끔한 인터페이스를 구현하는 예제를 제공합니다. 홈페이지..
MariaDB ( MySql ) 데이터베이스 보기. 생성, 삭제하기 여기서는 MariaDB ( MySql ) 에서 데이터베이스 (DB) 를 확인 ( show ), 사용 ( use ), 생성 ( create ), 삭제 ( drop ) 에 관해서 간단히 알아 보겠습니다. 1. 데이터베이스에 접속 후 데이터베이스 확인하기 우선 처음 데이터베이스를 설치 후 root 계정으로 접속하신 후 show databases; 를 입력하시면 아래와 같이 데이터베이스를 확인하실 수 있습니다. MariaDB [(none)]> show databases; 처음 설치 후 바로 확인하시면 위와 같이 기본 데이터베이스 들만이 있는대요. 위의 데이터베이스들은 특별한 지식이 있으시지 않으시다면 따로 건드실 일은 크게 없으실 것 입니다. ( 가끔 mysql.user 혹은 grant 정도? ) 2. 데이터베..
유니티 UniteSeoul 2019 트레이닝 데이 오늘 생전 처음으로 UniteSeoul 2019 트레이닝 데이를 참석해봤습니다. 어제 비가 오고 나서 그런지 바람도 선선하고 하늘도 정말 깨끗하네요. ^^ 트레이닝 데이는 코엑스 그랜드볼룸 2층의 콘퍼런스룸에서 진행하기에 이동 중에 내일부터 진행하는 Unite Seoul 2019 를 위해 준비 중인 부스들을 볼 수 있었습니다. 내일이 벌써 기대 되네요 ^^ 이제 2층으로 이동하여 트레이닝 데이 참석 하였습니다. 제가 참여 했던 Tiny mode & ECS 는 간단한 HTML5 게임을 Tiny mode 와 ECS 를 이용하여 만드는 세션이었고 진행은 미리 준비된 코드와 에셋을 가지고 간단한 결과를 만드는 방식으로 진행 되었습니다. * 만약 무엇인가를 코딩 하기를 원하고 코딩하는 시간을 가지시기 원한다면 조..
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 * 주의 : 파일 삭제는 항상 조심해야..