Do Not Think!!!

Posted
Filed under 01010101
http://dont.pe.kr/tt/450


개선된 코드

config.php 파일 수정
[CODE]$config['proxy_ips'] = $_SERVER["REMOTE_ADDR"];[/CODE]
Posted
Filed under 01010101
0. Prepare
MacPorts
http://www.macports.org/

Apple's Xcode Developer Tools
https://developer.apple.com/technologies/tools/

Apple's Command Line Developer Tools
https://developer.apple.com/downloads/


1. Install Apache2 & PHP
[CODE]$ sudo port install apache2
$ sudo port install php5
$ sudo port install php5-mysql
$ sudo port install php5-xdebug
$ sudo port install php5-openssl[/CODE]


2. Configure Apache2
[CODE]$ sudo vi /opt/local/apache2/conf/http.conf

LoadModule php5_module modules/libphp5.so
Include conf/extra/mod_php.conf[/CODE]


3. Install MySQL
[CODE]$ sudo port install mysql56-server [/CODE]


4. Configure MySQL
[CODE]$ sudo vi /opt/local/etc/mysql56/macports-default.cnf

#skip-networking[/CODE]


5. Configure XDebug
[CODE]$ sudo vi /opt/local/etc/php5/php.ini

; NOTE: This line adds the xdebug extension. The macports install will give you the path,
; or may even add this automatically. Be smart, look for a similar line in your config first.
; (Edit: 06/22/2012)
zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

; General config
;Dumps local variables on exception
xdebug.show_local_vars=On
;Dump server variables
xdebug.dump.SERVER=*
;Dump global variables
xdebug.dump_globals=On
xdebug.collect_params=4;

; Tracing
xdebug.auto_trace=On
xdebug.trace_output_dir=/opt/local/php_traces/
xdebug.show_mem_delta=On
xdebug.collect_return=On

; Profiler
xdebug.profiler_enable=1
xdebug.profiler_output_dir=/opt/local/php_traces

; Debugging. You might need to specify your host with some additional options
xdebug.remote_enable=1[/CODE]
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 글로 기록하기

1. 아이폰에서 사용할 RESTful API 개발

SKILL

COMMENT

  • 로직 자체는 한번 구현했었기 때문에 크게 어렵지 않지만, 기존 데이터를 그대로 유지하면서 마이그레이션 하는게 문제.
  • API endpoint 이름 짓는게 제일 큰 고민거리.

2. API 문서 작성

TOOL

COMMENT

  • API 문서는 apiary 에 작성하고, google docs 에는 진행 상황을 표로 작성해서 공유
  • 아직까지 apiary 로 문서 작성 후, Robinson(아이폰 개발)이 문서를 보고 이해하는데 크게 문제점이 나타나지 않음.
  • API 문서를 작성하는데 최적화된 서비스이기 때문에 google docs 에 API 문서를 작성할 때 보다 직관적이고 편함.
  • 아직 베타버전이기 때문에 개선점 - 특히 HTTP Parameter 를 기술하는데 어려움 - 이 있음.
Posted
Filed under 글로 기록하기
블로그 설정에서
이 설정을 했는데도 스팸 트랙백이 달리네요;;;


그동안 매일 수백개씩 스팸을 지우다가 결국 모든 글에 트랙백을 달지 못하다록 수정을 했습니다.

[CODE]update tt_Entries set accepttrackback = 0;[/CODE]
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 를 사용