Do Not Think!!!

Posted
Filed under 01010101

설치

GitLab는 설치 문서를 참고 따라하기만 하면 설치 할 수 있습니다.
GitLab Installation Document


삽질 내용1.

메모리 문제 때문에 설치를 포기했습니다.

GitLab을 설치하기 전에 꼭 읽어봐야 하는 문서가 하나 더 있는데, 바로 requirements 문서 입니다.
이 문서 중에서 Memory 부분을 간과했다가, GitLab이 동작하지 않는 문제 때문에 하루종일 삽질을 했습니다.

 

Memory

  • 512MB is too little memory, GitLab will be very slow and you will need 250MB of swap
  • 768MB is the minimal memory size and supports up to 100 users
  • 1GB is the recommended memory size and supports up to 1,000 users
  • 1.5GB supports up to 10,000 users

KT ucloud 중에 Free Pack 으로 제공되는 가상 머신이 있는데, 이 가상 머신의 스펙은
CPU 0.5vCore, Memory 512MB, Disk 20GB
입니다.

바로 메모리 512MB 부분에서 문제가 되어서,
GitLab 이 동작하지 않았는데, 다른 머신에 설치를 해보니 아무런 문제 없이 잘 동작합니다.



삽질 내용 2.

MySQL 대신 MariaDB 를 사용하는 경우,
GitLab 설치 과정에서 필요한 Ruby MySQL library 가 설치되지 않는 문제가 있었습니다.


결국 이 문제는 MariaDB 를 지우고, MySQL 을 재설치해서 해결했습니다.


Posted
Filed under 01010101

현재 상태

Travelog 이미지를 AWS S3에 저장
북미 지역에서는 매우 빠른 속도를 보임
아시아 지역에서는 매우 느린 속도
아시아 사용자가 늘어나는 추세

내부 테스트 진행

AWS CloudFront 적용
https://aws.amazon.com/cloudfront/
서버에서 이미지 주소를 바꾸지 않고, 앱 코드를 수정해서 내부 인원만 테스트 진행

테스트 결과

이미지 다운로드 속도만 빨라져도 앱의 성능이 눈에띄게 올라감

실 서비스에 CloudFront 적용

기존 S3 이미지 URL 을 CloudFront URL 로 교체 하는 코드 적용



AWS CloudFront 설정 방법

AWS Console 접속 -> CloudFront 선택

https://aws.amazon.com/cloudfront/

Create Distribution

Select delivery method

사용자 삽입 이미지

Create distribution Settings

사용자 삽입 이미지
Posted
Filed under 01010101

MariaDB

https://mariadb.org/en/
MariaDB is a drop-in replacement for MySQL.

저장소 추가

[CODE]$ sudo apt-get install python-software-properties
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
$ sudo vi /etc/apt/sources.list.d/mariadb-stable-precise.list
# MariaDB 5.5 repository list - created 2013-02-15 02:13 UTC
# http://mariadb.org/mariadb/repositories/
deb http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu precise main
deb-src http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/5.5/ubuntu precise main
[/CODE]

mariadb 설치

[CODE]$ sudo apt-get update
$ sudo apt-get install mariadb-server[/CODE]

mariadb 실행 & 테스트

[CODE]$ sudo /etc/init.d/mysql start
$ mysql -u root -p[/CODE]

소감

1. MySQL 바이너리가 제거되고 MariaDB 바이너리가 설치됨
2. mysql 관련된 명령어가 그대로 실행됨
3. php driver 도 그래도 사용됨
4. 데이터도 그대로 남아 있음
5. 쿼리문을 수정할 필요가 없음
6. 즉, 기존 MySQL 에서 MariaDB로 바이너리만 바꾸면 기타 변경작업 없이 바로 적용이 됨
7. 일단 개발 머신에서는 MySQL 대신 MariaDB 를 사용

Posted
Filed under 01010101

ubuntu 12.04

apm + xdebug

eclipse + pdt + aptana plugin + mylyn

bitbucket (git + issue tracker)

 


 

ubuntu 12.04

http://www.ubuntu.com/


apm + xdebug

http://dont.pe.kr/tt/414


eclipse + pdt + aptana plugin + mylyn

download eclipse
http://eclipse.org/

install pdt
http://www.eclipse.org/projects/project.php?id=tools.pdt

install aptana plugin
http://www.aptana.com/

install mylyn


bitbucket

create repository & issue tracker
https://bitbucket.org/


mylyn bitbucket connector

install mylyn bitbucket connector
https://bitbucket.org/pplupo/bitbucket-mylyn-connector/wiki/Home



Posted
Filed under 01010101

0. 문제

아마존에서 EC2 + ELB 조합으로 서버를 구성하면, 서버에 접속한 클라이언트의 IP 주소를 받아오지 못함

1. 원인

Elastic Load Balancer 에 의해 $_SERVER["REMOTE_ADDR"] 가 감춰짐
http://blog.svnlabs.com/get-remote-host-client-ip-behind-load-balancers-elb/

2. 해결

$_SERVER["HTTP_X_FORWARDED_FOR"] 를 이용

3. CodeIgniter 적용

config.php 파일 수정
[CODE]/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
|--------------------------------------------------------------------------
|
| If your server is behind a reverse proxy, you must whitelist the proxy IP
| addresses from which CodeIgniter should trust the HTTP_X_FORWARDED_FOR
| header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
|
*/
$config['proxy_ips'] = '여기에 ELB 아이피를 추가';[/CODE]

Posted
Filed under 01010101

[CODE]SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE tablename;
SET FOREIGN_KEY_CHECKS = 1;[/CODE]

MySQL 5.5.7 부터 FOREIGN KEY 설정이 된 테이블을 TRUNCATE 하려면 FOREIGN_KEY_CHECKS을 0으로 지정해야한다. 안 그러면 Cannot truncate a table referenced in a foreign key constraint 오류가 발생한다.
   
Posted
Filed under 01010101

각 홈페이지

node.js http://nodejs.org/
nvm https://github.com/creationix/nvm
npm https://npmjs.org/
express.js http://expressjs.com/
mongodb http://docs.mongodb.org/manual/
nodepad https://github.com/alexyoung/nodepad


프리뷰

1. nvm 을 이용해서 node.js 설치 및 버전 관리
2. npm 을 이용해서 express 등 필요한 모듈 관리
3. express 샘플 프로젝트 nodepad 소스 받아서 실행해보기
4. nodepad 에 필요한 mongodb 설치


nvm 설치

[CODE]$ wget https://raw.github.com/creationix/nvm/master/install.sh
$ . install.sh[/CODE]

node.js 설치

[CODE]$ nvm install 0.8.14
$ nvm alias default 0.8.14[/CODE]

npm 설치

[CODE]$ wget https://npmjs.org/install.sh
$ . install.sh[/CODE]

express 설치

[CODE]$ npm install -g express[/CODE]

nodepad 소스 받아오기 및 의존 패키기 설치 및 실행

mongodb 를 설치하지 않으면, 처음 실행하고 회원가입 할 때 에러가 발생합니다.
[CODE]$ git clone https://github.com/alexyoung/nodepad.git nodepad
$ cd nodepad
$ npm install
$ node app[/CODE]

mongodb 설치

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian/
[CODE]$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
$ sudo vi /etc/apt/sources.list.d/mongodb-10gen.list
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
$ sudo apt-get update
$ sudo apt-get install mongodb-10gen
$ sudo /etc/init.d/mongodb start[/CODE]

코드는 나중에 브라우저 테스트 먼저!

http://localhost:3000 접속!
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지



Posted
Filed under 01010101

Vundle 소개

Vundle 프로젝트 홈페이지 https://github.com/gmarik/vundle

KLDP Vundle 소개 글타래 http://kldp.org/node/125263

Vundle 설치 하기

1. vim 플러그인 디렉토리 만들기

[CODE]$ mkdir ~/.vim/bundle[/CODE]

2. Vundle 설치

[CODE]$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle[/CODE]

3. Vundle 설정

.vimrc 에 아무 내용없이 아래 내용만 들어가도 됩니다.
[CODE]$ vi .vimrc
set nocompatible               " be iMproved
filetype off                   " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'

" My Bundles here:
"

" original repos on github
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
" vim-scripts repos
Bundle 'L9'
Bundle 'FuzzyFinder'
" non github repos
Bundle 'git://git.wincent.com/command-t.git'
" ...

filetype plugin indent on     " required!
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..[/CODE]

4. Vundle 사용하기

vi 화면에서
  • :BundleSearch 를 이용해서 설치 가능한 번들을 찾고
  • My Bundles here: 부분에 설치 할려는 번들을 추가한 후에
  • :BundleInstall 을 실행합니다.
[CODE]:BundleSearch
:BundleInstall[/CODE]

Posted
Filed under 01010101

0. 기본 환경

1. 안드로이드 개발 환경

2. 에뮬레이터 속도 개선 X86

3. 에뮬레이터 속도 개선 다른 방법

 







0. 기본 환경


Ubuntu 12.04

Java version 1.6.0

Eclipse Juno

http://www.eclipse.org/downloads/



1. 안드로이드 개발 환경


ADT Plugin

http://developer.android.com/intl/ko/tools/sdk/eclipse-adt.html

Android SDK

http://developer.android.com/intl/ko/sdk/index.html



2. 에뮬레이터 속도 개선


Intel® Hardware Accelerated Execution Manager

http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/

KVM

https://help.ubuntu.com/community/KVM/Installation

Eclipse Configure

1. Android Virtual Device Manager - New - CPU/ABI - Intel Atom (X86)
사용자 삽입 이미지

2. Eclipse - Run - Run Configuration - Target - Additional Emulator Connamd Line Option
[CODE]-gpu on -qemu -m 512 -enable-kvm[/CODE]
사용자 삽입 이미지



3. 에뮬레이터 속도 개선 다른 방법

[CODE]-gpu on -cpu-delay 0 -no-boot-anim[/CODE]