반응형

전체보기 359

구글 프로토콜 버퍼(Google Protocol Buffer)란? (설치/proto만들기/컴파일링/사용방법)

구글 프로토콜 버퍼 (Google Protocol Buffer) 란? Google에서 개발한 protocol buffer의 특징은 아래와 같습니다.language-neutralplatform-neutralextensible mechanism for serializing structed data 쉽게 말하면 XML, Json등 과 같이 데이터를 저장하는 하나의 포맷이라고 할 수 있습니다. 하지만 가볍고, 빠르고, 그리고 사용하기에 쉽습니다. 사용법은 최초에 우리가 사용하고자 하는 데이터를 구조화하고, 사용하는 언어의 코드로 컴파일링을 하면 자동으로 코드가 생산됩니다. 자동으로 생성된 코드는 파일을 쓰고/읽는데 사용하면 됩니다. 구글 프로토콜 버퍼는 Java, Python, 그리고 C++을 지원하고 있습니다..

Programming/기타 2016.03.23

[Python] Join, Split 리스트를 문자열로, 문자열을 리스트로 변환

들어가며 파이썬에 내장되어 있는 함수 join, split을 이용해 문자열(String)을 리스트(List)로 변환하는 방법입니다. Join 함수는 리스트를 특정 구분자를 포함해 문자열로 변환해 주는 함수입니다. Split함수는 문자열을 특정 구분자를 기준으로 나누어 리스트로 변환해 주는 함수입니다. 리스트(List)를 특정 구분자를 포함해 문자열(String)으로 변환 animals = ['사자', '코끼리', '기린', '원숭이', '바나나원숭이'] print ",".join(animals) # >> 사자,코끼리,기린,원숭이,바나나원숭이 print "\n".join(animals) # >> 사자 # >> 코끼리 # >> 기린 # >> 원숭이 # >> 바나나원숭이 print "/".join(animal..

Programming/Python 2016.03.23

[MySQL] 사용자(Account) 추가/삭제, 권한 부여

MySQL에서 사용자를 추가/제거 하는 방법과 권한을 부여하는 방법입니다. 접속하기$ mysql -u root -p 사용자 확인하기 mysql database를 선택하고, host, user, password를 확인합니다. mysql >use mysql; mysql > select host, user, password from user; 여기서 host는 localhost, '%'가 있습니다. 사용자 아이디 뒤에 @localhost, '%'에 따라서 외부 접근이 허용되는 권한을 줄 수 있습니다. localhost는 내부접근, '%'는 외부 접근입니다. 사용자 추가 (권한 추가) 사용자 아이디를 만드는 방법, 비밀번호 추가, 외부접근 허용 userid에 추가하고자 하는 아이디를 입력하면 됩니다. ident..

DBMS/MySQL 2016.03.23

[Python] MySQL 설치 및 쿼리 (접속/SELECT/INSERT/DELETE/UPDATE)

들어가기 Python에서 MySQL을 연동하는 방법입니다. 설치부터 접속, SELECT, INSERT, DELETE, 그리고 UPDATE고에 대해서 정리해 놓은 내용입니다. 설치하기$ pip install MySQL-python 접속하기 import MySQLdb con = MySQLdb.connect('192.168.1.198', 'username', 'password', 'database') cur = con.cursor(MySQLdb.cursors.DictCursor) 여기서 MySQLdb.cursors.DictCursor를 사용하는 이유는 query를 통해 데이터를 얻을때 python의 dict로 얻기 위한 방법입니다. SELECT query = " select * from %s" & (table..

Programming/Python 2016.03.23

[Linux] 윈도우에서 리눅스 원격 접속 방법 (xRDP, XFCE4)

들어가며 윈도우에서 리눅스 원격 접속하는 방법은 다양합니다. 흔히 많이 사용하는건 VNC를 사용하지만, 본 포스팅에서는 xRDP와 XFCE4를 설치하는 방법에 대해서 설명하겠습니다. 우분투의 데스크탑 관리자는 xRDP을 지원하지 않기 때문에, 가볍고 빠른 XFCE Desktop Manager를 설치해야 합니다. 설치하기 xRDP 설치$ sudo apt-get install xrdpXFCE4 설치$ sudo apt-get install xfce4 xRDP 환경 설정 (마지막줄에 startxfce4 를 추가)$ echo xfce4-session > ~/.xsession $ vi /etc/xrdp/startwm.sh xRDP 재시작$sudo service xrdp restart 설치시 오류1) 접속 화면이 나..

운영체제/Linux 2016.03.22

[Android] 안드로이드 스튜디오 File size exceeds configured limit 오류가 발생하는 경우

들어가며 프로젝트 IDE로 IntelliJ를 사용하는 개발자들은 많을 것이다. 갑자기 'cannot resolve symbol' 이라는 에러와 함께 import가 되지 않는 현상이 나왔습니다. 'File size exceeds configured limit' 의 에러는 코드 사이즈가 제한을 초과했다는 말을 나타냅니다. 저 같은 경우에는 Google Protobuf에서 자동으로 생성되는 코드의 용량이 너무 커서 생겼습니다. 해결방법 문제를 해결하기 위해서는 android-studio/bin/idea.properties에 idea.max.intellisense.filesize=25000로 수정하면 된다. (default는 2500)

Programming/Android 2016.03.21

[Python] 유니코드, UTF-8를 해결하는 방법 (Unicode, UTF8)

들어가며 지난 포스팅에서 UnicodeEncodeError에 대해서 문제점과 해결방법에 대해서 포스팅을 했다. UnicodeEncodeError:'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 이 에러는 작기도 하지만... 어쩔때는 엄청 큰 문제야 정말..그렇다면, 애초에 unicode를 신경 쓰지 않고, 기본으로 utf-8로 설정 한다면, 매번 unicode를 unicode_str.encode('utf8')을 할 필요가 없다. 자 이제 그만 귀찮은 작업 하지말고, 근본적인 문제를 해결해보자. 문제점 파이썬 내장모듈인 locale을 import한 뒤에 getdefaultlocale()함수를 통해 현재 loca..

Programming/Python 2016.03.20

[Python] UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

들어가며 파이썬으로 구현을 하다보면 한번씩은 겪는 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 파이썬은 기본적으로 unicode를 사용한다. 그렇기 때문에 한글을 사용하기 위해서는 unicode를 utf-8로 변환해서만 사용할 수 있다. 변경하는 방법은 아주 간단하다. unicode를 utf8로 encoding을 해주면 문제를 해결할 수 있다. 문제점 예를 들어서 웹페이지에서 한글 텍스트를 입력받은 값을 website.text라고 가정하자. 아래 내용은 website.text를 print문으로 출력했을때 UnicodeEncodeError가 발생한다. python 내장함수..

Programming/Python 2016.03.20

[Linux] Vim 언어별 Highlight 설정 (Vi/Syntax/에디터/하이라이트)

들어가며 Vi/Vim Editor는 개발자라면 한번은 사용해본 에디터이다. 우리는 Linux terminal에서 구현을 할때, 소스코드 syntax 하이라이트는 정말 중요하다. 또한 터미널에서 Vi키고 화려한 하이라이트의 색이 입혀진 코드를 보면, print문만 찍어도 뭔가 있어보이니까... 설치하기 이미 친절하게 코드 vi syntax 코드 하이라이트를 만들어놓고 배포하는 착한 사람이 있다. https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting 지원하는 코드 하이라이트는 java, python, html, javascript, php, css, bash, haml, viml 이다. 사전 설치 항목 (뭐.. 거의 있겠지만 혹..

운영체제/Linux 2016.03.19

[AWS] AWS EC2 ssh 접속 오류 Permission denied (publickey)

[AWS] AWS EC2 ssh 접속 오류 Permission denied (publickey) 들어가며 AWS에서 EC2를 생성한 후에 터미널에서 ssh를 통해 접속을 시도할때 생기는 에러에 대해서 설명하려고 합니다. 아마존에서 인스턴스를 생성하고 나면 다운로드 받을 수 있는 파일이 *.pem 파일입니다. 해당 파일은 우리의 서버로 접속을 가능하게 해주는 인증을 해주는 역할이라고 생각하시면 됩니다. 해당 파일에는 인스턴스의 private key의 내용이 담겨 있습니다. 그 만큼 보안에 중요한 파일입니다. 어디에서나 해당 키가 있어야 접근이 가능합니다. 만약 *.pem파일을 분실하면 매우 번거롭게 다시 재발급을 받아야 하기 때문에 항상 백업을 해 놓는게 중요합니다. 에러내용 ssh를 통해 -i 옵션으로 ..

클라우드/AWS 2016.03.19
반응형