Cannot Create Windows Service for MySQL. Error:0

You've installed MySQL on a Windows Virtual Private Server and when tried to start it, you've received following error messages:
  • "Error: Cannot create Windows service for MySql. Error: 0" during the configuration part of the MySQL install.
  • "ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)" when you try to run mysql from the command line when the MySQL service isn't running.
  • "Error 1067: The process terminated unexpectedly" when trying to start the MySQL service.
What you need to do is to open command line (Start -> Run -> cmd) and type the following:
  • sc delete mysql
You should receive a message like this:

[SC] DeleteService SUCCESS

Then uninstall MySQL completely using "Add or Remove Programs". After it has been uninstalled, install it again using installation wizard. When it ends, don't choose to configure MySQL right away, instead just uncheck the box and click OK.

Open command line (Start -> Run -> cmd) and type this:
  • C:\Installation_Path\mysqld.exe --install MySQL41 --defaults-file="C:\Installation_Path\my.ini"
Where 'Installation_Path' is the location where you've installed MySQL initially - make sure to write the path correctly.

Note: 'MySQL41' is the name of the MySQL service and it needs to be different than 'MySQL'.

Hit enter and restart your Windows VPS. MySQL should be running fine now.

If you continue to experience this problem, please contact our Support Department.
__________________
Milovan Milic
Posted by hopi
,
침착해라. 다음을 함 해 보기 바란다.

ctrl + x 를 두어차례 눌러 본다. 안되남?

그럼 customize -> customize User Interface -> Toolbars 탭에 들어가서 하단에 Reset 버튼을 누른다.

이래도 안되면 걍 컴퓨터를 밀어버리기 바란다. (약 10cm이상 밀다 보면 될거다)
Posted by hopi
,
아.. 정말 필레팅의 길은 멀고도 험한 것이다.
결국 해결 못하고 그냥 넣어버린다. (괜히 볼륨감 준다고 만들었다가 결국 수정 못했다 ㅠㅠ)



아래도 가장 힘들었었던 템플 연결부.. 도대체 어케 해야 얼룩말이 진정한단 말이냣!!
(Zebra는 그래도 훌륭해요~)



보시면 아시겠지만.. 지워야 하는 객체를 지우지 못한 아주 눈에튀는 삑사리가 있지만.. 다시 렌더링하기가 너무 귀찮다. 그냥 그러려니 하고 봐주시도록~




이제 칫솔로 넘어간다. 어쨌거나, 책의 예제는 3월 내로 전부 끝내버릴테다!!!
Posted by hopi
,
이래저래 핑계대면서 자꾸 미뤘던 라이노를 다시 하기 시작했다.
예제를 따라하는 것 자체가 무척 도움이 되는 것이, 만들다 보면 뭐가 궁금한지 나오기 때문이다. 본인 스스로가 무엇을 만들다 보면 더 빨리 늘지 않을까 하는 생각이 든다.

어쨌거나 이번것은 라운딩 처리라던가, 곡선 표현, 연결부위 자연스럽게 만들기 등을 배우는데 아주 좋다.
일단 커브를 만드는 데 한참 시간이 걸렸지만, 아직도 어느게 정답인지는 확신을 하지 못하겠다.
선글라스의 그 알맹이는 치수가 주어졌을 때 어케 그리는게 정석일까?

어쨌든, 작업중 화면 올린다. 마지막까지 고고~

(그나저나 SR5로 올렸는데 화면 전환하는게 느려저서 좀 짜증난다. 버그는 패치 된겨??)


Posted by hopi
,
C / C++ 언어의 문제아가 바로 이 포인터라는 사실은 누구나가 다 알고 있다.
문법책을 보면 누구나가 다 알 수 있고 이해할 수 있는게 포인터라는 넘이다.
근데 왜 어려울 수 밖에 없는가...

('*' 요넘이 바로 포인터다)

예를 들어보자.
누누히 강조하지만 포인터는 리모컨과 똑같다고 할 수 있다.
만능 리모컨을 가지고 조작하는 넘인데.. 얼마나 똑똑하냐면, 조작하고자 하는 제품을 대입시키기만 하면 리모컨에 자동적으로 조작가능한 기능의 버튼들이 쑥쑥 생겨난다.
단, 어떤 제품을 사용할 지 미리 선언해 두어야 하는데 이렇게 선언 한 이후에는 제품에 상관없이 사용이 가능한 만능 리모컨이 되어 버린다.


그럼 TV를 조작할 수 있는 리모컨을 하나 만들었다. (프로그램의 세계에선 그냥 선언만 하면 된다)
그 리모컨에 LG TV를 가리키도록 설정하였다. 그러면 이제부턴 그 LG TV가 조정이 가능하다.
근데 안방에 있는 TV는 삼성 TV였다. 그렇다면 리모컨이 삼성 TV를 사용하도록 설정 해 주면 되는 것이다.
이러한 동작을 하는 넘이 '&'기호를 사용하는 레퍼런스란 놈이다. 예를 들어 볼까?


TV* 만능티브이리모컨;

만능티브이리모컨 = &LG티브이;

만능티브이리모컨->TV켜기;
만능티브이리모컨->채널9번으로변경;



만능티브이리모컨 = &삼성티브이;

만능티브이리모컨->TV켜기;
만능티브이리모컨->SLEEP설정(30분);



에어컨* 만능에어컨리모컨;
에어컨 = &휘센에어컨;


쉽다. 정말 쉽지 않은가?
C 언어의 포인터에 대해서 쥐꼬리만큼이라도 읽어 보았다면 위 내용이 무엇을 의미하는지 알 것이다.
또한 위의 예제만 봐도 왜 포인터를 사용해야 하는지에 대해서 개념을 잡을 수 있을 것이다.

자, 그럼 이제 무엇이 그토록 포인터를 질리게 만드느냐를 따질 차례다. 도대체 뭐가 문제지???

그렇다. 포인터는 바로 무지무지 위험하기 때문이다.
포인터는 프로그램이라는 가상의 공간을 단 한 번의 실수로 깨뜨려먹을 수 있다.

위의 예를 좀 이어서 설명 해 보자.
우선 전지전능하신 내가 '집' 이라는 가상의 공간을 프로그래밍 했다.
그 집 안에 있는 제품들을 가상 주인공이 사용하기 위해서 미리 제품들을 배치 해 두고, 그 제품들을 편하게 사용할 수 있도록 만능 리모컨을 하나 만들었다.

자, 이제 안방 TV를 보기 위해 안방 TV를 만능 리모컨에 대입했다.
근데 이런!.. 잠시 화장실을 갔다 온 사이 같이 지내던 여친이 나랑 싸우고 나서 TV를 밖에다 던져서 박살을 내 놓은 것이 아닌가!
나는 그것도 모르고 습관대로 안방에 문을 열자마자 TV를 확인하지도 않고 Power 버튼을 눌렀다.
어찌될까? 바로 그 가상의 집이 날아가버린다고 생각하면 된다.

정말 위험하지 않은가?

문제는 또 있다. 포인터가 받을 수 있는건 TV나 에어컨 뿐만이 아니다. 에어컨, TV. 냉장고, 보일러 등을 다 가지고 있는 '집' 이란 넘도 관리할 수 있는 리모컨을 만들 수 있다.
이러한 개념으로 살펴보면 멀리 나아가 '행성'이라는 리모컨도 만들 수 있으며 이 행성 리모컨에 '지구'를 받기만 하면 거의 전지전능한 신의 수준으로 지구를 컨트롤 할 수 있다.
그런데 이러한 '지구' 리모컨을 생성했더니 버튼 수가 장난이 아니다. 이건 신의 입장에서도 관리할 수 없는 숫자의 버튼들이 생겨버린 것이다. 그래서 지구 리모컨의 버튼 하나는 다른 리모컨으로 변신할 수 있는 또다른 버튼 하나를 할당할 수가 있다. 여기에다가 '국가' 라는 이름을 달았다.
이 버튼을 누르게 되면 갑자기 이 만능 리모컨이 휘리릭~ 하고 바뀌며 국가를 컨트롤 할 수 있는 리모컨으로 바뀌게 된다.
바로 여기에서 컨트롤 안의 컨트롤, 즉 포인터의 포인터 개념이 생기게 되고 이제 이노무 만능 리모컨이 더 이상 친절한 도구가 아닌 사람을 환장하게 만드는 도구가 되기 시작한다.


그럼에도 왜 사용하려는 것일까?

여러분의 집을 생각 해 보라.
모든 기기가 리모컨이 없을 때 얼마나 귀찮아질 지 생각 해 보면 된다.
일일이 움직여서 모든 기기를 조작해야 한다면 정말 귀찮다.
즉, 포인터는 이러한 불편함을 줄여주는 희대의 발명품이라 할 수 있는 것이다

그치만, 실제로 프로그램에서 사용할 때는 위와 같은 단세포적인 이유로 사용하는 것은 아니다.
프로그래밍 안에서는 거의 신의 존재라고 했다. 단순하게 모든 TV가 그 장소에 있는 것이 아니라, 주문을 받으면 새로운 TV를 만들어서 사용이 가능하게 해 주기도 해야 한다.
이럴 때 만약 포인터 개념이 없다면 도대체 프로그램을 어떻게 만들어야 할 지 감이 잘 오지 않게 된다.


이제 결론은 하나다. 개념만 잘 잡고 포인터를 잘 관리 해 주기만 하면 된다.
정 포인터가 싫다면 포인터를 사용하지 않는 프로그래밍 녀석들을 배우면 된다. 주변에 널려있다.

그래도 포인터를 배우려면 다음의 4 줄을 꼭 외우자.


'*' 포인터란?
주소값을 담을 수 있는 변수이다.

그럼 주소값을 알고 싶을 때는?
'&' 레퍼런스를 사용하면 된다.

(참고로 주소값이란 메모리 번지의 주소이다)
앞으로 위의 개념으로 모든것을 이해하려 노력하고 포인터에 대해서 바라보기 바란다.
포인터는 위의 개념을 벗어날 수 없다. 그러므로 모든 문법책에서 포인터에 대한 설명이 쉬울 수 밖에 없다.
단지, 아래에선 그넘을 사용하면 어떻게 되는지, 실제에선 대충 어떻게 사용하는지에 대해서 설명을 해 보도록 하자.

참고로 이 설명방식은 그냥 내가 생각하기에 이해하기 편할 것 같아 정리 한 내용이다.
100% 만족스러운 설명은 되지 않겠지만 나름 이해하기 쉬울 것 같아 정리한 내용이며 만일 틀린 내용이 있을 경우 반드시 지적 해 주기 바란다.

- 다음 편에서 계속
Posted by hopi
,
오픈소스를 내 프로젝트에 적용 할 경우 제일 많이 보게되는 에러 메시지는 이것일 것이다.

fatal error C1010: unexpected end of file while looking for precompiled header directive

원인을 따지고 싶으면 뎁퍄에 가서 검색 한 번만 해 보면 된다. 여기선 해결 방법만...

VC++ 6.0 기준으로 설명된다.

Project -> Settings 항목의 다이알로그를 펼친다.
왼쪽 창의 소스 파일에 해당 파일을 선택하여 오른쪽 탭에서 C/C++ 항목을 선택한다.
다시 Category 항목에서 Precompiled Headers를 선택 해 준다.

아랫쪽의 라디오 박스에서 Not using precompiled headers 를 선택해 주고 빌드 하면 된다.
(그림 참조)


openssl 관련해서 windows에서 사용하고자 하는 사람들은 다음 글을 참고하면 된다.

http://crowback.tistory.com/entry/openssl-098i-%EB%94%94%EB%B2%84%EA%B9%85

VC 하는 사람들이야.. 왠만하면 crowback 사마를 아실테고.. 만약 모르신다면 윗분의 블로그는 꼭 기억해 두길 바란다. 정말 잡다구리한 보물창고라고 보면 된다.

사실, 위의 적용예제는 정말 사소한 문제일 뿐, 보다 복잡한 문제에 닥치게 되면 난감해 진다.
가끔 이러한 문제에 대해 해결할 수 있는 방안의 포스트를 올려보도록 해야겠다.
Posted by hopi
,
자꾸 귀찮은 일들도 생기고.. 집중도가 조금씩 떨어지다가 보니 완성되는게 좀 늦어졌다.

바닥을 글자를 넣어서 파버렸는데, 이게 쉽게 되는게 아니네.. ㅋ
종이 위에다가 글씨처럼 써주려고 했는데, 그것도 쉽게 나오지가 않는다.

어쨌든, 다음 예제로 고고~


Posted by hopi
,
아직 완성작은 아니고.. 그냥 시험작 중 하나
그래도 은영이가 원래 찻잔을 좋아하기 때문에 만드는 내내 기분이 좋았다.

모델링에 가장 문제가 되는 부분은 아래 그림..
손잡이와 더불어 만드는데 제일 애를 먹었다. 한 번에 해결이 안되어서 몇 번을 했는지..



아래는 잔디 표현을 하기 위한 vray 옵션 창이다. 기본적인 재질은 Repeat 없이 표현이 가능하지만, 바닥에 적용하려다 보니 아래와 같이 반복값을 줘야 한다. (대신 렌더링 타임이 엄청 증가한다)


어쨌거나 총 결과물은 아래에..
이쁘게 나와준 것 같아서 기분이 좋다.
커피잔과 더불어 세트로 만들 생각인데 다 만들면 다시 올려야지. ^^

Posted by hopi
,
이번 튜토리얼은 오차율(Tolerence)을 어떻게 극복하느냐에 초점을 맞춘.. 아주 극악의 모델링이었다.
왕노가다, 그리고 인내심의 한계를 느끼게 만드는 모델링의 문제점들...

vray로 라이트 효과를 내 보려고 애를 썼지만, 현재로써는 이게 한계다.
그래도 모델링이 이쁘니까 봐준다.. ㅋ

기억해야 할 명령어로는 다음이 있다.
Duplicate Edge, Show Edge(Naked Edges), Join 2 Naked Edge
그리고 잊어버릴 뻔 했던 명령어로
Arc-Tangent to Curves, Geometric Continuity of 2 Curves 등이 있다.


Posted by hopi
,
아레 렌더링에서는 다른 거 없이 vray를 이용해서 텍스쳐 매핑을 해 본 정도...

이번에 가장 중요한 것은 Create UV Curves 와 그 응용법을 배운 것. 아래 그림처럼 구부려진 시계의 표현하기가 힘들게 된다. (왜.. 구부러져 있으니까..) 이럴 때 사용하는 것인데, 아래 시계를 planar(평평한, 평면의)하게 펼쳐놓은 다음에 그것을 프로젝션 하듯이 객체에 쏴주는 부분이다.

또 하나 중요한 것은 extrude 관련 명령에서 프로젝션 된 UV 커브들은 먹지 않게 된다는 것. 왜냐.. 평평하지가 않으니까.. 간단한 것인데 가끔 까먹게 되는 것 같다.

텍스쳐 매핑 관련해서는 조금 더 디테일 하게 들어가 줘야 한다. 나중으로 미루자.


Posted by hopi
,