Python 관련해서 개발하다보면 환경을 개발 환경을 좀 나눴으면 할때가 있는대요. ( 제 경우 python3, mxnet, tensorflow 를 사용할때 ) Virtualenv 는 이것 을 가능하게 해줍니다. 우선 pip 사용이 가능하다는 전제로 pip install virtualenv 를 통하여virtualenv 를 설치하도록 합니다. $ pip install virtualenv 설치가 완료 되었다면 virtualenv 명령어의 버전을 체크해 보도록 합니다. $ virtualenv --version 그리고 virtualenv 를 이용하여 원하는 폴더에 설정을 만들어 주도록 합니다. 보통 프로젝트 폴더 혹은 사용자 단위로 생성 하는대 여기서는 ~/.tensorflow 를 예를 들어 만들겠습니다. * ..
MAC 에서 brew 를 이용하여 Python3 를 설치하는 방법입니다. 우선 homebrew 를 설치하셔야 되는대요. homebrew 는 MAC OS 용 패키지 관리자로 설치 방법은 아래의 포스트를 확인해 보시기 바랍니다. 2015/10/11 - [Computer Skills/MAC] - MAC에 OSX 용 패키지 관리자 Homebrew 설치하기 및 간단한 사용법들 brew 를 사용 하신다면 어렵지 않게 설치가 가능합니다. $ brew install python3 정상적으로 설치되었다면 pip3 -V 와 python3 -V 로 간단히 버전 확인이 가능합니다. $ python3 -V $ pip3 -V 이제 pip3 관련 패키지를 설치하실때는 pip3 install package_name 으로 설치하시면 ..
Laravel 을 composer 와 함께 첫 설치시 Laravel 의 경우 cache 와 같은 디렉토리들의 쓰기 권한을 검사하고 프로그램이 진행 됩니다. 오랜만에 새로 버전 5.5로 올리면서 다시 포스팅 하게 되네요. 일단 권한 관련 폴더 들은 아래 3개의 폴더 이며 ./client/storage/ ./client/bootstrap/cache/ ./client/public 간단하게 명령어로 변환이 가능합니다. * ./client 라는 폴더에 Laravel 이 설치되어 있을 경우 - 만약 laravel 폴더 안에서 실행 하신다면 ./client 를 제거 하시면됩니다. ex ) ./storage/ ./public/ chown sftp_user:users ./client/* -R chown sftp_user..
PHP 로 서버에서 Curl 로 Post 를 보낼때 "Notice: Array to string conversion" 혹은 Laravel 에서는 아래와 같은 에러를 보실 수 있습니다. Laravel 최신버전에서는 디버그 모드가 변경되어서 다르게 뜨겠지만 메세지는 같을 것으로 예상됩니다. 일단 에러의 이유는 array in array 로 배열 안에 배열을 넣어서 그대로 전송하려 할때 나타나는 현상인대요. $transData = array( 'user_id' => $userInfo['userid'], 'page' => $data['page'] ); $parameter = array( 'organization_code' => 'CODE', 'organization_token' => 'SECRETKEY', 'r..
Amazon Cloud 와 서비스에서 Cloud 서비스를 운영하다 보면 서버를 생성할 경우 비밀번호를 주는 경우도 있지만 Amazon 과 같이 Key를 주는 경우도 있는데요.윈도우즈에서 XShell 혹은 Putty 를 이용하여 서버에 접속하는 방법입니다. * 스샷은 XShell 이나 PuTTY 역시 크게 다르지 않으니 그냥 참고 하시면 될 것 같습니다. XShell 을 켜시고 우선 New Session Properties 를 생성 합니다. 그리고 좌측 메뉴에서 Authentication 을 누르셔서 아래와 같이 사용자 이름을 넣어 주도록 합니다. Amazon Linux 의 경우 기본 사용자는 ec2-userAmazon Ubuntu 의 경우 기본 사용자는 ubuntu 입니다. 그리고 아래의 User Key..
가끔 데이터베이스에서 mysqldump 를 통해서 데이터를 가져 올때 10기가 이상의 필요 없는 로그데이터가 딸려올 때가 있는데요. 이때 용량을 먼저 알아보고 --ignore-table 를 하면 좋은데요. 아래의 쿼리로 테이터 베이스 테이블의 용량을 알 수 있습니다. SELECT table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = "테이터 베이스 이름" AND table_name = "테이블 이름" ORDER BY (data_length + index_length) DESC; 위의 쿼리에서 AND tab..
이번 포스트 에서는 간단히 Nginx 를 docker 로 올려보겠습니다. * MariaDB 와 PHP 를 따로 올릴 수도 있지만 하나의 컨테이너를 자체적으로 생성하여 올릴수도 있기 때문에 Nginx + MariaDB (Mysql) + PHP7-fpm 은 후에 포스팅 하도록 하겠습니다. 우선 이미 Docker 가 설치되어 있다는 전제하에 docker pull nginx:latest 로 최신 nginx 이미지를 가지고 오도록 합니다. docker pull nginx:latest 그리고 아래의 명령어로 서비스를 간단히 올려 보도록 합니다. docker run --name [container-name] -v [content-path]:/usr/share/nginx/html:ro -d -p 80:80 -p 443..
Docker 에서 실행중인 Container 에 콘솔 접속하는 방법 입니다. 우선 docker ps -a 를 이용해 접속할 컨테이너의 id 를 알아 내도록 합니다. $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e610c28485b mariadb "docker-entrypoint..." 41 minutes ago Up 41 minutes 0.0.0.0:4306->3306/tcp ubmariadb1 137414e60a9e nginx "nginx -g 'daemon ..." 2 hours ago Up About an hour 0.0.0.0:80->80/tcp, 443/tcp csms-nginx 그리고 나온 결과에서 CONTAINE..
Ubuntu 에서 SFTP 사용시 로그인 사용자를 해당 폴더에 가두는 방법입니다. ( SSH 를 사용하기 때문에 vsftpd 는 필요 없습니다. ) 0. 조건 - 우선 SSH 가 깔려 있다는 것을 전제로 합니다. - 사용자 그룹 sftponly 에 등록된 사용자들을 sftp 폴더에 가두게 될 것입니다. * 주의 : SSH 사용자를 sftponly 그룹에 등록하지 마시기 바랍니다. sftponly 에 등록된 사용자는 ssh 에 로그인이 되지 않게 될 것입니다. 1. SSH config 변경하기 우선 /etc/ssh/sshd_config 를 수정합니다. $ vim /etc/ssh/sshd_config 그리고 문서의 최하단으로 내리셔서 아래와 같이 internal-sftp 을 추가하고 Match Group 를..
Linux 에서 파일 혹은 디렉토리를 압축할때는 tar.gz 를 이용합니다. 일반 zip 역시 설치하여 사용 가능 하지만 기본적으로 설치되어있는 프로그램이 아니어서 잘 사용하지 않습니다. ( 필요하다면 패키지 설치 후 사용가능 ) 0. tar.gz 란? 우선 간단히 tar.gz 에 대해 설명하면 앞의 tar 은 파일이나 폴더를 하나로 합쳐 주는 역할을 합니다. 그리고 gz 는 gzip 으로 압축이 되었음을 의미 하는대요. 이는 gz 를 사용하지 않고 tar 만으로 폴더를 합치기만 할 수 있음을 알 수 있습니다. 1. tar 사용법 - 파일 혹은 디랙토리를 하나로 통합 합니다. tar 만들기 - tar -cvf [파일명] [대상 폴더명]ex) tar -cvf achive-name.tar directory-..
Electron 의 장점은 엄청 많은대요. 그 중 하나가 "공통된 브라우저 환경을 가질 수 있다" 입니다. 따라서.. 이것을 이용하여 Electron 으로 웹뷰 만 만든다 하더라도 사용자에게 공통된 경험을 하게 해 줄수 있다는 장점이 되게 되는데요. 여기서는 Electron의 Webview 를 이용하여 페이지를 iframe 과 같이 표시하는 방법을 알려 드리겠습니다. github 소스코드 : https://github.com/TutorialBook/electron-webview-example * Electron의 Webview 는 Iframe 과 다르게 여러가지 규칙들에 대한 옵션을 끄거나 켤 수 있는 기능을 제공합니다. Electron Webview 사용의 이유 ( 개인 ) 우선 제가 웹 서비스 페이지..
이전 포스트에서 간단히 Electron 에 관해 설명 드렸으며 이번 포스트에서는 간단히 앱을 개발해 보겠습니다. 2017/02/05 - [Dev Platform/Electron] - Electron 이란? 우선 개발전 개발 환경은 nodejs 를 기반으로 하기때문에 PC 에 nodejs 개발 환경이 설정 되어 있어야 합니다. NodeJS 설치 2015/03/02 - [Dev Languages/NodeJS] - Windows 에 NodeJS 설치하기 맥은 그냥 node js 홈페이지에서 다운받으셔서 까시거나 Homebrew 를 이용하여 설치 하시면 됩니다.관련 정보 : https://changelog.com/posts/install-node-js-with-homebrew-on-os-x Electron 시작..
Electron 이란? Electron 이란 NodeJS 와 Chromium ( 일반적으로 Chrome 의 소스 로 이해하시면 편함 : 정보 ) 을 조합하여 웹 서버 없이도 PC 에서 웹 서버 + 브라우저 인 것 처럼 구동하는 데스크탑 앱을 만들수 있는 툴을 말합니다. Chromium 기반으로 하기때문에 Chromium 지원하는 OS 들을 지원하는 크로스 데스트탑 앱 플렛폼 이라고 생각하시면 편합니다. 대표적으로 Slack, Jandi, discord, Atom, Visual Studio Code 와 같은 앱들의 데스크탑 버전들이 Electron 을 이용하며 지금도 수 많은 앱들이 개발되고 있습니다. - 정보 : http://electron.atom.io/apps/ - 특징 1. 데스크탑 앱을 웹 서비스..
Glances 는 python 기반 모니터링 프로그램입니다. top 와 같이 모니터에 화면을 띄워 주거나 web 으로 보여주는 등의 역할을 할 수 있으며 또한 JSON 과 같은 api 기반 연동 역시 가능합니다. 아래와 같은 화면을 웹으로도 볼 수 있으며 상태를 json api 형태로 볼 수도 있습니다. 설치 방법 설치 방법은 2가지로 자동 인스톨 스크립트를 다운받아 실행 하거나 python-pip 를 이용한 설치 방법이 있습니다. 자동 은스톨 스크립트를 이용하는 법 $ curl -L http://bit.ly/glances | /bin/bash 혹은 $ wget -O- http://bit.ly/glances | /bin/bash * 위의 방법은 설치할때 cassandra/driver 설치할때 시간이 좀 ..
처음 Redis 를 설치 후 구동시 아래와 같은 Warning을 볼 수 있으실 것 입니다. 여기서는 이 Warning 들을 제거 하는 방법들에 관해서 알려 드리겠습니다. # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then..
Laravel 에서 Input 을 받는 방법은 메뉴얼에 있는 대로 $request->input() 을 이용하는 방법과 Input 을 사용하는 방법이 있습니다.( 언제 부터였는지는 기억이 나지 않지만 Input 이 기본 클레스에서 제외되고 이제는 등록하지 않으면 사용하지 못하도록 변경 되었습니다. ) 문서에 있는대로 . $request->input('변수') 를 이용해도 되지만 이는 조금? 귀찮습니다.메뉴얼 : https://laravel.com/docs/5.3/requests#accessing-the-request 그에 비해 Input 을 사용할 경우는 아래와 같습니다. (GET POST 상관없음) $email = Input::get('email'); $password = Input::get('passw..
Laravel 5.3 부터 이전(5.2) 에 사용하던 방식인 Auth/AuthController.php 통합 방식이 변경되어 ForgotPasswordController.php - 비밀번호 찾기 LoginController.php - 로그인 RegisterController.php - 가입 ResetPasswordController.php - 비밀번호 초기화 파일 4개로 쪼개 졌습니다. 각각은 이름대로의 역할을 하는대요. 그렇다면? middleware auth 리다이렉트는 어떻게 처리 해야 되는가? /app/Exceptions/Handler.php 에 보시면 최 하단에 protected function unauthenticated($request, AuthenticationException $except..
우선 php7.1 의 경우 가장 최신 버전의 php 로 간단히 패키지 를 통한 설치가 가능합니다. * 이 글을 쓴 현재 최신 php 7.1 버전은 RC6 이며 RC 이란 Release Candidate 로 기능으로서는 출시 버전에 가깝지만 치명적인 버그를 포함 했을 수도 있습니다. 따라서 실서버에는 설치하지 마시기 바랍니다. php7.0 을 추천 드립니다. 아래의 방법으로도 php7.0 역시 설치 가능합니다. 우선 설치를 위해서 아래의 명령어로 패키지 저장소를 업데이트 해주도록 합니다. # sudo add-apt-repository ppa:ondrej/php # sudo apt-get update 패키지 저장소 업데이트가 완료 되었다면 아래의 명령어로 한번 정상적으로 적용 되었는지 확인이 가능합니다. #..
Mysql / MariaDB 에 익숙한 분들은 다소 어색할수 있는 MongoDB 에서 Authorization 기능을 사용하는 방법입니다. MongoDB 의 설치방법은 아래를 참고하시기 바랍니다.2015/10/05 - [Database/MongoDB] - Ubuntu 에서 MongoDB 3.0 설치방법 우선 간단히 RDBMS 와 다른점을 알려 드리면 RDBMS 는 설치와 동시에 root 패스워드를 생성하고 인증 체계를 확립합니다. 하지만 MongoDB, Redis 는 root 계정을 초기에 설정하지 않습니다. 따라서 아무 인증 없이 접속이 가능합니다. 1. 사용자 관리 계정 만들기 우선 MongoDB 가 처음 설치된 상태에서 mongo 를 이용해 접속합니다. $ mongo 그리고 아래의 명령어로 사용자 ..
Ubuntu 14.04 LTS 버전에서 NodeJS 설치 및 NodeJS 버전을 변경하기위한 n 을 설치하고 변경하는 방법에 관해 설명드리겠습니다. 1. Ubuntu 에서 apt-get 을 이용하여 NodeJS 설치하기 우선 apt-get 을 이용해서 설치할 것 이기 때문에 저장소를 NodeJS 홈페이지에 등록된 방법으로 등록해주시기 바랍니다. 원본 : https://nodejs.org/en/download/package-manager/* npm n 을 통해서 버전을 수시로 변경할 수 있기 때문에 버전에 관해서는 크게 걱정하지 마시고 일단 설치하시기 바랍니다. NodeJS 4.x LTS 버전 curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - ..
Ubuntu 에서 apt 저장소 추가 후 apt-get 을 통해서 nginx 설치시 Stable 버전으로 설치하는 방법입니다. 만약 저장소를 추가하지 않고 그대로 설치 한다면 구버전이 설치되니 참고하시기 바랍니다. ( 필자의 경우 1.8.1 Stable 에서 1.4.6 이 설치되었습니다. ) 우선 아래의 명령어로 nginx/stable 저장소를 추가합니다. sudo add-apt-repository ppa:nginx/stable 그리고 apt-get update 를 해주도록 합니다. 만약 업데이트 마지막에 GPG ERROR NO_PUBKEY 에러가 발생한다면 아래의 포스팅을 참고하시기 바랍니다. 2016/03/01 - [Computer Skills/Ubuntu] - Ubuntu 에서 GPG ERROR N..
Ubuntu 서버에서 패키지를 설치하기위해 apt-get update 시 아래와 같은 에러를 발견 하실때가 있으실 것 입니다. W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 00A6F0A3C300EE8C 제 경우 MongoDB 설치와 nginx 설치할때 발생하였는대요. 이 경우 key 를 등록해주셔야 합니다. ( 없이도 강제로 설치가 가능하긴함... ) 우선 키를 찾아야 하니 아래의 홈페이지로 들어가서 에러에서 발생한 키를 검색하도록 합니다. 키 검색방법은 에러의 문자열에서 0x..
Ubuntu 14.04 에서 MongoDB 설치시 저장소를 업데이트 하던중 최하단에 아래와 같은 에러가 발생할 경우 해결방법 입니다. GPG error: http://repo.mongodb.org trusty/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927 간단히 에러 를 읽어보면 public 인증키가 없다는 식의 에러 인대요. 아래의 명령어로 간단히 해결이 가능합니다. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv EA312927 ps. 키는 apt-..
여기서는 간단하게 Let's Encrypt 를 이용하여 무료로 HTTPS 를 제공하는 튜토리얼을 진행해보겠습니다. - 무료로 Let's Encrypt 를 이용한 인증서를 만들고 적용 우선 이 문서는 영문 버전을 참고하여 작성한 문서이며 원본은 How To Secure Nginx with Let's Encrypt on Ubuntu 14.04 입니다. 기본적으로 원본 문서보다 설명이 적습니다. 자세한 사항은 원문을 찾아 보시기 바랍니다. 서버 셋팅환경은 Ubuntu NginX 입니다. 1. Let's Encrypt 설치하기 우선 필요한 것들을 설치 하도록 합니다. 이미 설치되어 있다면 굳이 설치 하지 않으셔도 됩니다. $sudo apt-get update $sudo apt-get install git bc ..
여기서는 간단히 TexturePacker 를 이용하여 Sprite 를 생성하는 방법에 대해서 설명드리겠습니다. 우선 Sprite 에 관해서 간단히 설명드리자면 이미지의 모음 이라고 보시면 됩니다. 하나의 이미지 파일에 여러개의 이미지를 삽입하여 게임 분야에서는 애니메이션을 만들거나 웹 분야 에서는 이미지 요청 횟수와 용량을 줄일 수 있습니다. 간단한 예로 아래는 Facebook 의 Sprite 입니다. facebook 의 경우 아래의 이미지를 한번 불러 들입니다. 굳이 용량도 크지 않은 이미지를 각각 하나씩 불러들일 필요가 없어지는거죠. 이제 TexturePacker 를 이용하여 간단히 소셜 버튼 Sprite 를 만들어 보겠습니다. 우선 이미지를 준비하여 하나의 폴더안에 넣어 두도록 합니다. 그리고 Te..
git 저장소의 ip 혹은 저장소가 변경되어 원격 저장소의 url 을 변경해야 할때가 있습니다. 여기서는 git remote ( 원격 저장소 ) 의 url 을 변경하는 방법에 대해서 설명드리겠습니다. 1. 현재 git remote ( 원격저장소 ) url 확인 현재 git 에 설정된 원격저장소의 url 을 확인합니다. $ git remote -v origin https://222.222.222.222/저장소.git (fetch) origin https://222.222.222.222/저장소.git (push) 2. remote set-url 을 통하여 remote ( 원격저장소 ) url 변경하기 git remote set-url 을 통하여 원격저장소의 url 을 변경합니다. $ git remote se..
Chrome 은 개발자에게 많은 편의사항을 제공하는대요. 여기서 설명하는 디바이스 모드도 그중 하나로 PC 용 Chrome 에서 반응형 웹이나 모바일 웹의 디자인을 확인할 수 있는 방법입니다. 물론 PC로 작업하기 때문에 Javascript 디버깅 및 CSS 임시 수정도 쉽게 가능합니다. 우선 페이지에서 우측 버튼을 클릭 후 '검사'를 눌러서 개발자 모드로 들어가시기 바랍니다. * 예전에는 '요소 검사' 였는데 안 본 사이에 변했네요. FireFox 랑 겹쳐서 그런가... FireFox는 그대로 '요소 검사'를 사용하고 있네요. 그리고 아래와 같이 '검사' 창의 좌측 상단에 있는 모바일 모양의 아이콘을 클릭해주시기 바랍니다. 이제 아래와 같이 디바이스 모드로 변경된 화면을 확인하실 수 있으실 것입니다. ..
CKEditor 를 사용할시 기본적으로 정의되어져 있는 몇가지 스타일이 있는대요. 이 부분이 사용자에 따라 약간 불편할 수도 있습니다. 또한 글을 작성하는 동안 페이지에 커스텀으로 적용되는 CSS 의 경우 보지 못하는대요. 이런 부분을 해결할 수 있는 방법이 CKEditor 자체에 페이지에서 사용될 커스텀 CSS를 넣는 방법입니다. ps. 제 경우 CKEditor 의 p 테그에 margin 이 너무 넓게 들어 가서 적용한 경우 입니다. 아래를 보시면 기본 CKEditor 를 적용했을때 p 테그에 기본적으로 적용 되어 있는 margin 의 크기 입니다. CKEditor 자체에 CSS 파일을 적용하고 싶으시다면 CKEDITOR 를 정의 하실때 config.contentsCss 를 정의해주시기 바랍니다. CK..
이미 NginX + PHP 5 가 구성된 서버에서 Codeigniter 를 다운받아서 설정하는 방법입니다. 0. NginX 와 PHP 5 의 설정 방법은 아래를 참고하시기 바랍니다. 2015/03/08 - [웹 개발/WAS + PHP] - Ubuntu 에서 NginX + PHP-FPM 연동하기 2015/03/02 - [웹 개발/WAS + PHP] - Ubuntu 에서 NginX + PHP 설치 ( 연동 ) 하기 1. Codeigniter 설치하기 기본적으로 Codeigniter는 다운받아 설치 하시면 됩니다. 최신 Stable 버전의 주소를 받으신 후 wget 을 이용하시면 됩니다. 아래는 Codeigniter 3.0.2 버전의 예 입니다. 다운로드 링크 : https://codeigniter.com/d..
Composer 는 PHP 의 패키지 관리 툴 이며 프로젝트 단위의 패키지를 주로 관리 할때 사용합니다. 여기 설명하는 내용은 Composer 를 이용해서 운영중인 PHP 서비스에 패키지를 추가 하는 방법입니다. 명령어는 간단히 'composer require 패키지 이름' 입니다. 아래는 Laravel 과 함께 사용한 간단한 예제 입니다. $ composer require predis/predis ( 패키지 이름 ) Laravel 에서 Redis 를 사용하기 위한 predis/predis 를 설치한 모습입니다.
- Total
- Today
- Yesterday
- 개발
- 데이터베이스
- 튜토리얼북
- html
- 게임 개발
- 웹 서버
- 게임
- 서버
- 웹 개발자
- 맥
- it
- php
- JavaScript
- mac
- Developer
- cocos2d-x
- 설치
- 서버 개발
- ubuntu
- 인터넷
- Database
- 우분투
- 개발자
- 에러
- SNS
- Tutorialbook
- 웹
- Nodejs
- Laravel
- 웹 개발
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |