기본 콘텐츠로 건너뛰기

2015의 게시물 표시

Amazon DynamoDB 고객 사례 - 비트패킹 컴퍼니

nginx + node.js

node.js node.js 모든것 http://bcho.tistory.com/m/post/876 http://mobicon.tistory.com/m/post/224  : 정리가 잘되어 있음 nginx nginx - 윈디하나의 솔라나라 삵 (sarc.io) - nginx LEMP(linux + nginx + mysql + php) How do I find and remove Nginx from an EC2 instance AWS EC2 인스턴스에 NGINX 설치와 보안 그룹 설정 AWS 초간단 웹서비스 구축하기 - Nginx 설치하기 NginX 9배 상승 삭제 Ubuntu 14.04 LTS 웹서버 세팅방법 (Nginx + PHP7-FPM + MariaDB)

안드로이드 GCM(Google Cloud Message)

구현 Google Cloud Messaging (GCM) 구현하기 서비스 등록까지 잘되어 있음 푸쉬 알림 기능. GCM (Google Cloud Messaging) 사용하기 서버 작업까지 포함 최신 Android Studio, Google Cloud Messaging 3.0(GCM)을 이용하여 Android 푸시 서비스 구현하기 샘플 Google Play Game Services https://github.com/googlesamples/google-services 라이브러리 Unity plugin for Google Cloud Messaging (GCM) 무료 prime31 - android GoogleCloudMessaging 유료 서버 PHP 코드 PHP 서버에서 GCM 멀티캐스트 발송하는 방법

VirtualBox 사용

OSX 데몬으로 실행하기 https://discussions.apple.com/thread/7095205 Windows 오류 문제 : NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) 여기 C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf 드라이버를 재설치하고(해당 파일에서 오른쪽 버튼 -> 설치) 윈도우즈 재부팅

Unity Physics - Rope

UNITY 3D Rope tutorial - Learn how to make rope for your games! Joints - Unity Official Tutorials QuickRopes2 Generalized Tutorial Carp Fishing Simulator Line Physics WIP Fish Physics  : 괜찮음 Unity Asset - Ultimate Rope Editor  : 괜찮음

redis 사용해 보자

설치 RHEL/CentOS 에 redis 2.8 설치 CentOS yum 으로 설치 CentOS 7 에서 redis 3.0.5 컴파일 설치  : 다른 버전도 가능함 Ubuntu Redis 설치 외부 접속 설정 /etc/redis.conf 에 bind를 127.0.0.1 -> 0.0.0.0 으로 변경 해당 포트 방화벽 열기 redis script redis.call('Time') 사용시 주의 사항 https://groups.google.com/forum/#!topic/redis-db/vYJhKhVu3Lc 명령어 랭킹전 1위 얻기 zrange [key] -1 -1 withscores In memory dictionary Redis 소개 Redis를 실무에 사용하기 전에 꼭 알아야 하는 실전 전략 설치, Replication, Sentinel, HAProxy Tools Redis Desktop Manager

MySQL - 외부 접속하게 설정

특정 사용자 계정의 외부접속 허용하기 - 여기서는 root 를 예로 든다. 권한 설정 mysql -uroot -p mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드'; Query OK, 0 rows affected (0.03 sec) mysql 접속 후 mysql database 선택 mysql> use mysql; user 테이블 살펴보기 mysql> select host, user, password from user; 등록확인하기 mysql> select host, user, password from user; refresh mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 위 단계는 my.cnf 파일 수정후 서버를 재시작할 것이기 때문에 굳이 안해도 된다. my.cnf 에서 외부접속 관련사항 변경하기 user@home:~$ sudo vim /etc/mysql/my.cnf 파일 내용중 bind-address = 127.0.0.1 부분 주석처리후 저장하기  mysql 재시작 user@home:~$ sudo /etc/init.d/mysql restart 외부에서 접속이 안되면 방화벽 설정 체크 리눅스 방화벽 firewalld (CentOS 7) MySQL root 패스워드 분실MySQL root 패스워드 분실 MySQL에서는 접속되는데 PHP 코드 내에서 접속이 안되는 경우

아마존 웹 서비스 구축시 참고사항

EC2 instance 생성 + EC2용 Security Group 생성 및 instance의 attach RDS instance 생성 + RDS용 Security Group 생성 및 instance의 attach 외부에서 접속할려면 Security Group의 InBound의 anywhere로 설정 필요 EC2의 LAMP 설치. 이때 RDS를 사용하면 MySQL은 설치안해도 되었습니다. https (SSL) 설치 자습서: SSL/TLS를 사용하여 Amazon Linux에서 Apache 웹 서버 구성 (아마존 제공) 인증서 만들기 인증서 구성 Configuring SSL on Single Instances of PHP 5.3, PHP 5.4, and PHP 5.5 Installing SSL on AWS EC2 시간 변경 /etc/php.ini 열기 timezone 변경 [date] date.timezone="Asia/Seoul" Linux OS 시간 동기화 참고 파일 쓰기 : 해당 폴더에 권한 설정 필수 쓰기 권한 QnA 웹서비스를 위한 퍼미션 문제 아파치가 접속시 사용되는 유저와 그룹 위치 httpd.conf -------------------------------- User nobody Group nobody -------------------------------- 암화 모듈 mcrypt : 추가 설치 필요 미설치인 경우 여기 참조 설치 자습서: Amazon LinuxLAMP 웹 서버 설치  : 전 여기서 MySQL은 미설치 아마존 웹서비스 – 서버 구축 아마존 웹서비스  : 여기 잘되어 있음. 많은 도움이 되었음 RDS 연결 에러 Error: php53-common conflicts with php-common You could try using --skip-broken to work around the problem

리눅스 웹 서버 설치

Ubuntu 우분투 14.04 서버 세팅하기 (Virtual Box) Ubuntu 서버 14.04에 LEMP 스택 설치하기 (Nginx, MySQL, PHP) Azure에서 Linux 가상 컴퓨터에 LAMP 스택 설치 여러 OS에서 설치 방법을 간략하게 설명되어 있습니다. CentOS VirtualBox에서 centos7 설치 네트워크 활성화 : root 계정으로 해야함 ip a    // 네트워크 아답터 보기 ping 168.126.63.1     // ping 테스트 cd /etc                   // etc 폴더로 이동 find -type f -name "*enp0s3"   // 아답터 파일 찾기 cd /etc/sysconfig/network-scripts // 아답터 파일 위치로 이동 vi ifcfg-enp0s3            // 아답터 파일 편집 ONBOOT=no              // yes로 변경 service network stop    // 네트워크 서비스 재시작 service network start ping 168.126.63.1     // pint 테스트 3번째 아답터도 위와 동일하게 변경 네트워크 수동 설정 OS update yum update 개발 도구 설치( 설치 항목) yum groupinstall "development tools" VirtualBox Guest Plugin 설치 : VirtualBox에서 실행에 느린 부분을 속도를 높여주는 기능 현재 실행된 VirtualBox 메뉴 -> 장치 -> "게스트 확장 CD 삽입" 선택 mkdir cdrom     // 이곳에 게스트 확장 CD를 mount 할것입니다. mount /dev/sr0 cdrom cd cdrom ./VBoxLinuxAdditions.run   // 확장 설치 실행 yum

PHP 암호화/복호화

참고 MySQL의 Aes_encrypt / Aes_decrypt와 호환되는 Python/ Php 구현 64진수로 암호화하는 base64 함수 PHP에서 AES-256과 HMAC을 사용하여 문자열을 암호화하고 위변조를 방지하는 법 암호화 사용시 뒤에 쓰레기값이 찍는 문제 발생했음(2015-09-16). 내가 뭘 잘못했나?? mcrypt_encrypt

Apache Server SSL 설정

Apache 설정을 아래와 같이 수정합니다. 파일은 httpd.conf 입니다. 참고 리눅스 개인서명 SSL 인증서 생성  : Linux + Apache 환경에서 Self-Signed 인증서 생성하고 SSL 구성하기 아파치 환경에서의 SSL 구성하기 openssl CA 및 인증서 생성하기 SSL/TLS 기본 테스트 페이지 SSL Labs SSL Checker | Symantec CryptoReport

웹서버 openssl로 인증서 만들기

c:/openssl/bin>openssl req -config d:\apache\server\conf\openssl.cnf -new -out server.csr -keyout server.pem Loading 'screen' into random state - done Generating a 1024 bit RSA private key ...............++++++ ................++++++ writing new private key to 'server.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: phrase is too short, needs to be at least 4 chars Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: KR State or Province Name (full name) [Some-State]: Seoul Locality Name (eg, city) []: Seoul Organization Name (eg, company) [Inter

Android Activity 여러개 사용하는 방법

Android Activity 여러개 사용하는 방법 Code (csharp): #if UNITY_ANDROID     //Grab the current activity (the one declared as MAIN in the manifest - can be an other plugin)     AndroidJavaClass  ajc  =   new   AndroidJavaClass ( "com.unity3d.player.UnityPlayer" ) ;     AndroidJavaObject  ajo  =  ajc. GetStatic < AndroidJavaObject > ( "currentActivity" ) ;     //Give the activity instance to my own static method to launch an activity from there     var  jc  =   new   AndroidJavaClass ( "com.my.package.RootActivity" ) ;    jc. CallStatic ( "launchActivity" , ajo, showUI,  true ,  "string" ,  0 ) ; #endif In the com.my.package.RootActivity java file : Code (csharp): public   static   void  launchActivity ( Activity  root ,  boolean  param1,  String  param2,  int  param3 )   {     Intent intent  =   new  Intent ( root , CameraActivity. class ) ;     intent. putExtra ( RootActivity. EXTRA_BO

안드로이드 인앱 결제(In App Billing)

구현 Android In-App Billing 구현하기 (IAB Version 3) 안드로이드 앱내결제 (Android In App Billing) Google Play 개발자 콘솔에 In App Billing 제품 추가하기 Implementing In-app Billing (Google Developers) In-app Billing Reference (Google Developers) Android In-App Billing 보안 완벽 정리 (설명 잘되어 있음. 제품 등록, 패킷 순서도 등등) Google In-App Billing의 상품 등록과 보안 이슈 정리 안드로이드 keystore 생성(Debug용도 존재, UnityEditor 미사용) 구현시 문제 및 해결 bundle 이름 확인 안드로이드로 어플리케이션 제작 및 상용화시에 겪었던 문제들과 해결방법 안전함을 위해서 가급적이면 테스트 신청 페이지에서 로그인 후 테스트 계정을 등록할것 혹시 APK 베타/알파 게시 -> 비공개 알파 테스트 -> Create list로 등록하였다면 활성 check 등을 확인해야한다 안드로이드 인앱 결제 구현 오류 메세지 및 해결 방법 결제 에러 보안 구글 인앱 결제의 서버 검증 만들기 (중요) 구글플레이 안드로이드 인앱결제 보안 이야기 #1 (프리덤을 막자) 구글 in-app결제. 서버 사이드 인증의 불편한 진실 결제 검증 Validating Android In-App Purchases With Laravel  : 최신 버전에 영수증 검증 방법인듯 인앱 결제 구현 및 서버 검증  : 설명 잘 되어 있음 구글 in-app결제. 서버 사이드 인증의 불편한 진실 InAppVerify/verify.php Google Play In-App Billing Server Purchase Verification 구글 마켓 연동 (부제 : 인앱 결재 영수증 확인 A to Z) Google In-App Bill

Amazon Web Service

설치 AWS EC2 인스턴스 생성하기 DevOps를 위한 AWS CLI 활용팁 Apache 아마존 웹 서비스를 다루는 기술 아마존 EC2 우분투 웹서버 설정 블로그 - 개발이 하고 싶어요 우분투(Ubuntu)에서 APM 웹서버 구축하기 Uploading web files to a new Amazon EC2 instance 그림으로 그려서 세팅 NginX AWS EC2 Linux에 PHP, Nginx 설치하기 참고 AWS 티어 지역별 속도 비교 AWS – EC2 에서 S3 로 파일 전송 AWS 클라우드에서의 웹 애플리케이션 호스팅(2010 년 5 월) AWS re:Invent 2013 슬라이드 중에 관심있는 것들 AWS 아키텍처 센터 WEB-APPLICATION HOSTING 서비스 Cloud Taekwon 2015 - Amazon EC2 Container Service 자세히 보기 ]프리티어사용시 요금발생(폭탄)을 막기위한 팁 Cloud Taekwon 2015 - Amazon EC2 & Auto Scaling 제대로 활용하기 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 강의 생활코딩 AWS 툴 사례 쿠키런 사례

JSON - PHP

Array to Json // Non-consecutive number keys are OK for PHP // but not for a JavaScript array $array = array(   2 => array("Afghanistan",32,13),   4 => array("Albania",32,12) ); // array_values() removes the original keys and replaces // with plain consecutive numbers $out = array_values($array); json_encode($out); // [["Afghanistan",32,13],["Albania",32,12]] Json to Array $json_data = " ["2":["Afghanistan",32,12],"4":["Albania",32,12]]"; $out = json_decode($json_data, true);

Protobuf 관련

공식 google / protobuf 예제 [Protocol Buffers] 유니티 - 모바일 플랫폼에서 사용하기. Google Protocol Buffers 기본 사용법  Protocol Buffers를 패킷으로 활용해 보자 모듈 및 Add on hultqvist / ProtoBuf mgravell / protobuf-net mgravell/protobuf-net Third Party Add ons

ncanis's Macula (흑점) :: 게임서버의 대세

ncanis's Macula (흑점) :: 게임서버의 대세 GM툴  (GWT)   단순한 하이퍼캐주일이라도 지표는 필요하다. 1,3,5,7,15,30 리텐션, 잔존율, 게임특성에 맞는 서비스, 유저정보 조회, 로그,서버관리,게임플레이로그, 등등 필요한건 엄청나다, 오픈전에 반드시 이런부분이 갖춘 상태에서 서비스를 해야 오픈하고서도 제대로 유저의 행동방향을 예측하고, 거기에 맞는 아이템/이벤트/운영등을 할수있다. 오픈후에 만들면 x된다고 생각한다.   개인적으로 웹에서 접속가능한 GWT(Google App Engine)을 이용하는게 좋다. Smart GWT도 있는데 무겁다는 생각이고, GWT만을 이용해 컴포넌트를 조금만 만들면 쉽다. 개인적으로 html이 들어간 노가다는 싫어서.. 물론 현재 만들어서 잘 쓰고있다. http://www.gwtproject.org/

DB 튜닝

시스템 관리자의 쉼터, 커피닉스 > MySQL의 최대 성능 향상 방법 (튜닝, MySQL 매뉴얼 한글번역) MySQL에서 대용량 테이블의 경우 성능 개선을 위한 10 가지 방안