2016년 1월 14일 목요일

윈도우용 MySQL 5.7 Archive (ZIP) 버전 설치

자.... 윈도우용 MySQL 5.7 Archive(ZIP) 버전 설치기를 써보겠어...

일단 지난 주 금요일 부터 지금 목요일까지 맨땅에 해딩을 했다는 것만 생각하니 ㅂㄷㅂㄷ하다.

윈도우에 MySQL을 설치 하기위한 준비물은 다음과 같아..

윈도우 10과 MySQL 5.7 버전 Archive(ZIP) 버전 파일 (mysql-5.7.10-winx64)

일단 MySQL 커뮤니티 서버를 다운받아 (GPL) 라이센스에 따르기 때문에 이걸 설치해..
MySQL 페이지 >> Downloads >> Community >> MySQL Community Server (바로가기)

여기서 ZIP Archive 형식은 니 윈도우가 32비트냐 64비트냐에 따라서 구분해서 받고, ZIP 파일 말고 그냥 윈도우 인스톨러 형식으로 받을려면 MySQL installer MSI 버전을 받아..
MySQL installer MSI 버전은 따로 설명해줄게 없어..
ZIP Archive 는 Debug Binaries & Test Suite 말고 그냥 ZIP Archive 버전을 받아..

다운 받았으면 압축을 니꼴리는 경로에 풀어... 그리고 mysql 아래에 data 폴더를 생성해..

나는 압축을 풀고 기본 디렉토리 명인 "mysql-5.7.10-winx64" 에서 mysql로 변경했어.
Archive ZIP버전은 mysql을 구동하기 위한 기본 system DB도 없기 때문에 다음 명령어로
기본 system DB를 생성해줘야해 (일종의 초기화야..)

일단 cmd를 관리자 권한으로 하나 실행해..
mysql압축을 해제한 폴더에서 bin 폴더 로 이동을 하고 다음 명령어를 실행해..
(이미 오류가 나고 별에 별 시도를 해봤다면 e:\mysql\data 폴더 밑에 파일을 삭제하고 시도해.. 파일이 있으면 정상적으로 초기화가 진행이 안되)

예) 디렉토리 위치 : e:\mysql\bin

e:\mysql\bin> mysqld.exe --initialize


이걸 안하고 무작정 mysql을 서비스 등록하고 구동할려고시도하면 아래의 메시지를 만나보게 될꺼야...

관련 오류 및 경고 메시지
1. [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2. [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
[ERROR] --initialize specified but the data directory has files in it. Aborting.
[ERROR] Aborting

3. [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
[Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate and private key


이제 초기화를 했으면 서비스를 등록하고 root  계정의 암호를 생성해보자.

mysqld --console --explicit_defaults_for_timestamp --skip-grant-tables &
(mysql을 콘솔모드로 grant 테이블을 무시하고 구동하라는 것 같아.)

그리고 관리자 권한으로 cmd 창을 하나 더 실행 시켜서

mysql -u root mysql

를 실행해서 mysql에 접속을 시도해...

mysql> 라는 프롬프트가 뜨면 다음의 쿼리 문을 입력해서 암호를 변경해줘...

update USER set authentication_string=password('[설정할 암호]') where user='root';

flush privileges;

alter user 'root'@'localhost' identified by '[설정할 암호]';
\q

이러고 mysql 을 빠져 나와...

그러고 mysql -u root -p 를 입력하면 Enter Password : 라는 프롬프트가 떨어지고 여기에 좀전에 설정한 암호를 입력하면 mysql에 접속을 하는글 확인하고...

bin 폴더 에서 mysqld -install 을 해서 윈도우 서비스에 등록을 해서 사용하면 되...

여기까지가 기본적인 mysql 설치 및 설정이야...







2016년 1월 8일 금요일

windows 에서 nginx 설치 및 초기 구동

가. 다운로드
  1. nginx 다운로드 
  2. php 다운로드
  3. VCRUNTIME 다운로드

나. 압축해제 및 설치
  1. nginx 다운로드 후 압축해제
  2. 압축해제 후 폴더명을 nginx로 변경
  3. php 다운로드 후 압축해제
  4. 압축해제 후 폴더명으로 php로 변경
  5. php를 nginx 폴더 안으로 복사 또는 이동
  6. VCRUNTIME 다운로드 후 설치

다. 기본 설정
  1. nginx\conf\nginx.conf 파일 수정
     **수정내용
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 항목의 주석을 제거
  2. 수정된 nginx.conf 파일을 저장
  3. nginx폴더에 start.bat 및 stop.bat 파일 생성
  4. start.bat 파일 내용 작성 및 저장
     **내용
     @ECHO OFF
     start [nginx.exe 경로]
     start [php-cgi.exe 경로] -b 127.0.0.1:9000 -c [php.ini 경로]
     ping 127.0.0.1 -n 1 > NUL
     echo Starting nginx
     echo .
     echo ..
     echo ...
     ping 127.0.0.1 > NUL
     EXIT
  5. stop.bat 파일내용 작성 및 저장
     @ECHO OFF
     taskkill /f /IM nginx.exe
     taskkill /f /IM php-cgi.exe
     EXIT

라. 구동
    장성한 start.bat를 실행하고 웹브라우저에서 주소를 127.0.0.1입력하여 nginx 기본페이지가 나타나는지 확인한다.

apache, tomcat, nginx 차이점을 알아보자.

뭐 차이점을 심도있게 알아보는건 아니고.
간략하게 궁금한 점. 이것 들의 간단한 차이점. 만 알아보자.

1. 아파치(apache) - http://httpd.apache.org/
2. 엔진엑스(nginx) - http://nginx.org/
3. 톰캣(tomcat) - http://tomcat.apache.org/

이렇게 3가지가 있어.

여기서 아파치와 엔진엑스는 웹 서버(web server) 프로그램이라고 하고
톰캣은 웹 애플리케이션 서버(web application server) 프로그램이라고 해..

1. 웹 서버와 웹 애플리케이션 서버는 뭐냐..

웹 서버는 기본적으로 HTTP를 서비스 해주는 것을 말해, CGI도 지원해주고 자바스크립트 등의 복잡한 계산이 없는 그냥 정적인 것을 처리하는 그런거야.
우리가 생각하는 가장 기본적인 웹 서비스를 하기 위한 가장 기본적인 것이라고 보면 되.

웹 애플리케이션 서버(Web Application Server)는 줄여서 WAS 라고 해.
웹 사이트 주소를 보면 간혹 http://~~~~/xxx.jsp라고 적혀 있늘 것을 볼 수 있을거야..
그래, .html이 아닌 JSP (Java Server Page)를 처리하는 프로그램이야. JSP는 뭐냐 자바(java)알지? 자바로 만든 프로그램을 웹 서버에서 처리해서 그 결과 값을 클라이언트PC가 볼수 있도록 해주는 거야.
JSP용 was는 엄청 많아, 대표적으로 톰캣(tomcat)도 있고 레신(resin)등이 있어.

그럼, 비슷한 ASP랑 ASPX용 WAS는 뭐가 있을까? 일단 마이크로소프트 IIS에서 돌아가고,리눅스에서는 모노 프로젝트라는 것으로 신통치 않은지 아직은 이렇게 사용하는데가 별로 없어..


2. 아..위에서 아파치랑 톰캣을 얼추 다 설명 해버렸네...
그래도..적어볼께... 아파치(apache)는 아파치 소프트웨어 재단(http://www.apache.org/)에서 배포하는 웹 서버(web server) 프로그램이고, 톰캣(tomcat)도 아파치 소프트웨어 재단에서 배포하는 웹 애플리케이션 서버 (web application server) 프로그램이야.

이 둘의 다른점은 아파치는 html과 같은 기본적이고 정적인 사이트를 운영하기 위한 웹 서버 프로그램이고, 톰캣은 jsp과 같은 서블릿처리에 특화된 동적인 사이트를 운영하기 위한 웹  애플리케이션 서버 프로그램이야.

그리고, 톰캣은 jsp와 html은 처리할 수 있지만, php나 perl은 처리 못해...왜냐고? jsp만 처리하도록 만들어졌으니까. jsp도 처리하고 php도 처리 하고싶으면 아파치 + 톰캣 + php 이렇게 구성해서 하면되...

3. 그리고 엔진엑스(nginx)는 뭐냐?
엔진엑스는 아파치랑 같은 웹 서버 프로그램이야.
엔진엑스는 러시아 아제가 아파치의 한계점과 단점을 보완하기 위하 만든 프로그램이야.
근데 이놈이 아파치 보다 가벼우면서 처리속도등이 월등하게 좋아서 요즘에는 아파치에서 이놈으로 많이 갈아타는 추세라고해...


(참고1 : http://blog.daum.net/palranggoblin/206)
(참고2 : http://118k.tistory.com/65)
(참고3 : http://bsnippet.tistory.com/47)
(참고4 : https://namu.wiki/w/Nginx?from=nginx)





2016년 1월 5일 화요일

심시티 빌드잇 google paly 연동 초기화 방법

심시티 빌드잇을 구글 플레이 연동시 초기화 하는 방법을 알아보자.

없다.

그런거. 사실확인 했다. 불가능하다.

아래는 EA 코리아의 FAQ 내용이다.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
안녕하세요, EA 코리아 입니다. 

다른 도시에 사용 중인 계정이므로 로그인 할 수 없다는 안내와 관련하여 안내를 드리겠습니다.

위 화면을 보셨다면 아마 지금 심시티 빌드잇을 재미나게 즐기시다가, 어떠한 사유에서 게임을 재설치 후 
기존의 게임을 불러오기 위해 페이스북 또는 구글 플레이(안드로이드)/게임 센터(iOS)와 연동을 하셨을것 입니다.
다음의 예를 통해 왜 위와 같은 메시지가 나타나는지 설명을 드리겠습니다. 

예)
고객님께서 레벨 7의 도시를 페이스북과 연동했습니다. 하지만 도시가 마음에 안들어서 다시 시작 할 요량으로 게임 삭제 후 재설치를 했습니다. 

재설치 후 튜토리얼을 완료한 뒤 즉시 페이스북과 연동을 한다면 기존 레벨 7의 도시를 불러올 수 있습니다. 

그러나 만약 새로운 도시에서 튜토리얼 후에 게임을 더 진행해서 레벨 2의 도시가 된 다음에, 구글 플레이/게임 센터(iOS)와  연결을 했습니다. 

이렇게 되면 페이스북 계정에 레벨 7의 도시가 하나, 구글 플레이/게임 센터 계정에 레벨 2 도시가 하나, 각각 1개의 도시씩 저장이 잘 되는것 입니다. 여기서 기억하셔야 할 사항은, 페이스북 또는 구글 플레이/게임 센터에 저장된 게임은 삭제나 계정간 이동이 불가능 합니다. 

자, 이제 새롭게 구글 플레이/게임 센터에 레벨 2의 도시를 저장 후에 여기서 바로 페이스북과 연결을 시도하면 위와 같이 '죄송합니다, 시장님! 이미 다른 도시에 사용 중인 계정입니다. 이 계정에 로그인할 수 없습니다.' 라는 메시지가 나타나게 됩니다. 왜냐하면 고객님의 페이스북 계정엔 이미 레벨 7의 도시가 저장이 되어 있고, 그 도시를 현재의 구글 플레이/게임 센터에 저장된 레벨 2의 도시와 합칠 수 없기 때문 입니다. 
반대로 레벨 7의 도시가 저장된 페이스북과 연동된 상태에서 레벨 2의 도시가 있는 구글 플레이/게임 센터와 연동을 하려고 한다면 마찬가지의 문구가 나타날것 입니다. 

앞서 언급했다시피, 도시 정보를 삭제 또는 이동하는것도 불가능 하기 때문에 이렇게된 경우 페이스북 또는 구글 플레이/게임 센터, 두 가지 연동 방법 중 한 가지 방법만 이용이 가능하게 됩니다. 

즉, 레벨 7의 게임으로 계속 진행을 하고 싶으시다면 게임 재설치 후 튜토리얼이 끝나자마자 바로 페이스북 계정으로 연동을 하셔야 하고, 레벨 2의 도시로 계속 진행을 하시려면 구글 플레이/게임 센터와의 연동으로 이용을 하셔야 합니다. 다른 한가지 연동 방법은 이용이 불가능 하게 되는것이죠. 

감사합니다. 

이미지 센서 크기

이미지 센서의 크기는 다음과 같아.

화소수가 크다고 무조건 사면 안된다. 일단 사고자 하는 카메라의 이미지센서 사이즈가 큰지를 따져보고 화소수를 봤으면 좋겠다.

그리고 너무 고화소의 카메라는 찾지마라.. 화소가 클수록 수광부 간의 간섭과 센서열에 의한 열화도가 심하다. (대다수의 폰카메라들이 확대하면 엉망이지..)

고로 화질이 나빠지는데 이미지 처리 프로세스는 그걸 가리기 위해 별도의 프로세싱을 더 거치겠지....

이렇게 생각하면 된다 사과상자(이미지센서)에 사과를 촘촘히 넣으면 어때? 사과가 서로 눌리고 물러 터지고 그렇겠지? 그 반면에 넉넉히 공간을 주고 넣으면 사과가 안다치고 보기 좋겠지?

암튼 그렇다.

이 블로그에 있는 사진이 보기도 좋고 이해하기 쉬운것 같다. (http://blog.naver.com/unclesnap/220554614797)