인데...
버그가 있는 듯 하다.
지금 현재 지멋대로 카운트가 마구올라가고 있는데 -_-;
이 글을 쓰는 현재는 15만 넘게 올라가고있다 [.......]
뭔가 지멋대로 무한루프...
좀 짱인데 [.........]
귀찮으니 대충 꺼야겠다;;;
암호화라고 거창하게 써놨지만, 사실 별거 없죠
걍 특정/불특정 문자열을 꼬아놓은다 랄까...
여튼, 전 제가 원하는 임의의 문자(숫자)를 곱하는 형식을 취했습니다.
CFile f;
CFileException e;
CString fileName, strHost;
UpdateData(TRUE);
char *p_host = (LPSTR)(LPCSTR)m_strHost; // 에디트 박스에 쳐박은 호스트주소입니다.
char key = 243;
int i = 0;
for( i = 0; i < strlen(p_host); i++){ // 한글자 마다 key 값을 곱합니다 (-_-) 제곱이랄까....
p_host[i] = p_host[i] ^ key;
}
strHost.Format("%s\r\n", p_host);
char szCurDir[256] = {NULL, };
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\config.ini");
fileName=szCurDir;
if( !f.Open( fileName, CFile::modeCreate | CFile::modeWrite, &e ) )
{
#ifdef _DEBUG
afxDump << "File could not be opened " << e.m_cause << "\n";
#endif
}
else
{
f.SeekToEnd();
f.Write(strHost , strlen(strHost)); // 저장합니다.
f.Close();
}
끝.
읽어올때도 마찬가지로 하나씩 읽어오는 형태를 취합니다.
char szCurDir[256] = {NULL, };
CString fileName, strHost;
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\config.ini");
fileName=szCurDir;
char load_data[256] = { 0 ,};
char key = 243;
int i = 0;
FILE *p_file = fopen(fileName, "rb");
if(p_file != NULL){
fread(load_data, 256, 1, p_file);
fclose(p_file);
}
int length = strlen(load_data);
int j = 0, k=0;
for(i = 0; i < length; i++){
load_data[i] = load_data[i] ^ key;
}
m_strHost = load_data;
if(bUpdate) UpdateData(FALSE);
끝...
| 태그 : | 개발관련 |
Static컨트롤에 색상을 입히는 것 까지는 좋으나, 다이얼로그를 계속 생성하거나
폰트사이즈를 지정해줄 경우, 1회성으론 관계가 없다.
하지만, 여러번 다이얼로그를 불러온다던가 하면서
SetFontSize 메소드를 계속 불러올 경우
에러를 토해내는데, 생각보다 단순한 문제였다.
우선, ColotStaticST의 함수 부분을 살펴보면
void CColorStaticST::SetFontSize(int nHeight, int nWidth, BOOL bold)
{
CFont* pFont = NULL;
LOGFONT LogFont;
pFont = GetFont();
pFont->GetLogFont(&LogFont);
if(nHeight > 0)
{
LogFont.lfHeight = nHeight;
}
if(nWidth > 0)
{
LogFont.lfWidth = nWidth;
}
if(bold)
{
LogFont.lfWeight = FW_BOLD;
}
m_pFont->CreateFontIndirect(&LogFont);
SetFont(m_pFont);
Invalidate();
}
자 무엇이 문제인지 알겠는가.
m_pFont->CreateFontIndirect(&LogFont);
이부분에서 에러가 발생하게 된다.
즉, 반복적으로 불러올 경우, 불러오는 만큼 오브젝트를 계속 생성하려 들기 때문인데
여러가지 해결 방법이 있을 수 있겠지만 본인은 이렇게 해결했다. (사실 좀 무식하게 해결한..)
m_cStStatus.m_pFont->DeleteObject();
해당 컨트롤에 대한 변수를 선언하고 (CColorStaticST m_cStStatus; 등..)
CColorStaticST가 가지고 있는 멤버변수인 m_pFont 에 직접 DeleteObject() 를 수행케 함으로써 해결했다.
.... 아 쓰고나니 진짜 개무식하네-_-
| 태그 : | 개발관련 |
포스팅도 잘 안하던 찰나에, 오늘은 조금 짬이 나네요.
네 이직했습니다.
기존 PMP/네비게이션 개발(OS/Platform part, Solution) 회사에서 일하다가
지금은 SEC 공정자동화 솔루션(SI분야) 개발자..로 이직했습니다.
더 나은 조건과 근무환경, 사내 복지도 좋고 연봉도 오르고 -_-
대우는 마찬가지로 일반 사원입니다만, 한가지 좋은점이라면 좋고 아쉬운점이라면 아쉬울 수 있는 부분은
'신입'으로 들어왔다는 정도 ....
기존에 일하던 회사 경력이 1년도 채 안된 부분도 있지만, 본인이 신입사원 모집하는 부분으로 지원하였기 때문에
신입인거죠 뭐 .... (-_-)
여튼 ... 이직한지는 어언 3주정도 되었습니다.
8월 24일부터 옮겼고요...
여튼 뭐 ... 그렇습니다. 요즘 근황 궁금해하실 분을 위해서 써둡니다 [......]
파일에 쓸때:
- 형식:
WritePrivateProfileStringA(
LPCWSTR lpAppName,
LPCWSTR lpKeyName,
LPCWSTR lpString,
LPCWSTR lpFileName
);
- 사용법:
WritePrivateProfileString("카테고리", "파라메터", 저장하고자하는항목(변수), ini파일의 위치);
실 사용 예:
char szCurDir[256] = {NULL, };
int port;
CString strPort;
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
strPort.Format("%d", port);
WritePrivateProfileString("Server", "Port", m_nPort, szCurDir);
strMsg.Format("%d", size);
파일로부터 읽어올때:
- 형식:
GetPrivateProfileStringA(
LPCSTR lpAppName,
LPCSTR lpKeyName,
LPCSTR lpDefault,
LPSTR lpReturnedString,
DWORD nSize,
LPCSTR lpFileName
);
- 사용법:
GetPrivateProfileString("카테고리", "파라메터", "기본값", 저장할곳, 읽어올바이트수, ini파일의 위치);
실 사용 예:
CString strButt;
int port, m_nPort;
char szBuffer[256] = {NULL , };
char szCurDir[256] = {NULL, };
GetCurrentDirectory(256, szCurDir);
strcat(szCurDir, "\\server.ini");
GetPrivateProfileString("Server", "Port", "15000", szBuffer, 256, szCurDir);
strBuff.Format("%s", szBuffer);
port = atoi(szBuffer);
m_nPort.Format("%d", port);
| 태그 : | 개발관련 |
BOOL C다이얼로그클래스::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message==WM_MOUSEMOVE)
{
if (GetDlgItem(IDC_SEND)->GetSafeHwnd()==pMsg->hwnd)
{
}
else if (GetDlgItem(IDC_SELSEND)->GetSafeHwnd()==pMsg->hwnd)
{
}
else if (GetDlgItem(IDC_START)->GetSafeHwnd()==pMsg->hwnd)
{
}
else if (GetDlgItem(IDOK)->GetSafeHwnd()==pMsg->hwnd)
{
}
}
return CDialog::PreTranslateMessage(pMsg);
}
....
사실 버튼같은 경우엔 CButtonST를, 스태틱컨트롤은 CColorStaticST를 쓰는 편이 낫긴 하다.
| 태그 : | 개발관련 |
같은 내용의 MFC프로그램을 ARM용으로 하나의 eVC 4.0 프로젝트를 생성하고
Win32용으로 하나의 VS 6.0 프로젝트를 생성해서 두개를 관리해왔습니다.
뭐 하나로 묶어서 쓸 수도 있었겠지만, 난 초보니까.
헌데 이번에 2005를 쓰다보니, 이걸 하나로 뭉칠 수 있을 것 같았습니다.
그래서 뭉쳤죠 (-_-)
지난번 글에도 언급했다 시피 어차피 임베디드계열과 Win32를 병행한다면
eVC로 만든것을 컨버팅하는게 낫다고 생각합니다.
왜?
1>C:\Program Files\Microsoft Visual Studio 8\VC\ce\include\crtdefs.h(100) : fatal error C1189: #error : ERROR: Use of C runtime library internal header file.
1>Build log was saved at "file://c8c8c8c8c8c8c8c8c8 (ARMV4I)\Debug\BuildLog.htm"
1>zip_dev - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
이딴에러 만날 일 없거든... -_-
여튼, 각설하고
eVC를 컨버팅 해서 쓰려고 하니, 컴파일시 다음과 같은 문제가 발생을 합니다.
warning C4996: 'strcpy' was declared deprecated
c:\program files\microsoft visual studio 8\vc\include\string.h(73) : see declaration of 'strcpy'
Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
... WHAT THE FUCK??
기본 API에서 오류가 날리가 없잖아... 근데 났네요
이는 stdafx.h 상단에
#define _CRT_SECURE_NO_DEPRECATE
를 정의함으로써 해결가능합니다.
또, rc2 파일인가 rc파일이 없다고 컴파일이 안되는 부분도 생기는데
전 그냥 주석처리 해버렸습니다 (무식한놈....)
| 태그 : | 개발관련 |
기존엔 WinCE 5.0기준으로 개발해왔기 때문에
개발환경을 VS6.0 과 eVC++ 4.0 을 쓰다가
이제 WinCE 6.0 을 개발해야 하는 상황이 와서
SDK가 VS 2005 에서만 구동되는 x같은 상황이 왔습니다.
그래서 Visual Studio 2005를 사용중에 있는데.
확연히 다르다는 느낌도 많이 받거니와
확실히 짜증도 많이 납니다.
기존 VS 6.0 -> VS 2005 로 컨버팅 해서 쓰느니
eVC++ 4.0 -> VS 2005 로 컨버팅 해서 쓰는게 낫다는 생각도 들고요.
(물론 어디까지나 임베디드 개발도 병행해야 할 경우의 이야기입니다.)
조만간에 개발노트들을 마구마구 작성할 듯 싶습니다.
| 태그 : | 개발관련 |
몸은 몸대로 병자됐고
주변은 주변대로 짜증이고
아오 씨발 ㅈ배ㅔㅑㅕ기;ㅏㅓㄼ2ㅔ93ㅕㄱ3ㅐㅑㅓ1ㄱㅇ메ㅐㅐㅑ;ㅣ231ㅑㅕ4ㅈㄷㄴ
담배를 피고싶어진다 아주 128ㅔ34ㅛㅂㄷ거ㅏㅁㄴㄹ으ㅜ.,ㅡㅜㅋㅌㅊㅍ
요즘들어 자주 그런 생각을 해봅니다.
"내가 하는 행동이 옳은 것 일까" 에 대한 의구심.
여자친구. 게임. 회사. 그 외 다수 등등...
회사 다니면서 학교도 다니지만
회사에 그만큼 신경을 못쓰고 빼앗기는 부분이 발생하는데 이대로 좋은것일까.
혹은 겜도 해야하고 여자친구도 놀아줘야 하는데,
게다가 회사다니는 부분도 굉장히 압박이 심한 부분이 없잖아 있는데
이렇게 진행해도 괜찮은 것인가.
본인 스스로가 답을 내기가 어렵네요.
삶이란게 다 이런거라면 정말 힘든게 아닌가 싶습니다.
하암...
회사에서 사천성 게임을 만드는 중 ....
개발인력: 나루
사용언어: C 및 CC ...
혼자임 -_- 혼자라고 !!!
......
여튼 ..... 대충 이정도는 완성했다.
대충 사천성 길찾는 알고리즘 등등 완성하긴 했는데
만족스럽지는 못하다 랄까 ....
......
에라이 ㄴㅁㅇ렄.,ㅌㅊ프/,;ㅣㅏㅁ널;ㅑㅕㅈ23ㅣ;ㄷ가ㅓㅣㅏ/ㄴ.,.ㅡㅌㅊㅍㅋ
늙어보인다는 말을 하도많이 들어서 지겹다 못해 아무생각이 들지 않는다. =_=
고로 이번기회에! 뭔가 바꿔보자!! 했는데...
우선 안경.....
두개를 놓고 저울질을 해봤다.
알사람은 알겠지만 난 금속테 반테만을 써와서... 나머지는 시도해본 적이 없는 바,
이번 기회에 뿔테로 전향하고자 했다....
야임마!!!
| 태그 : | 안경 |
물론 본인은 병원치료 하느라 좀 늦었습니다만....
그래도 동영상 건진거라도 있어서 다행이네요 ㄷㄷㄷ;;;;
자 그럼 즐감...
ps.. 사진은 정리좀 하고 올릴게요 -_-;;
| 태그 : | 태국여행 |
에... 지난 개천절이죠. 10/3..
밤 10시경에 결혼식을 올렸습니다.
스샷러시임...
잘 살께용 'ㅅ'/
와주신 모든분들께 감사드려요
인터넷좀 돌아다니다 또 하게 되었는데 -_-;;;
결과는 같네 ㅡ,.ㅡ;;;
Your calculated IQ is Above 145
그래프상 Mensa Level 에서 큰웃음.
뭔가 신빙성이 있는건지도 의심스러워 지기 시작한다 -_-;;
링크: IQ Test 페이지 http://www.iqtest.dk/main.swf
사실 이건 지난주에 완성한거지만 귀찮아서 못올리다가
이제서야 등록하게 되네요.
50렙 달성하는 순간
10살에 50렙을 찍은 타이틀 겟.
하지만 10살 50렙 보다는 하루만에 50렙이라능... 낄낄낄
한동안 렙업에 대한 한은 다 풀은 것 같습니다.
이제 좀 쉬자 ㄱ-;;
| 태그 : | 마비노기 라이프 |
섀벽종이 울렸쯔.
섀아침이 밝았쯔.
닥치고 학교로 나아가
교수 애널써킹 해보세.
....
나름 빡세다면 빡세고 아니라면 아닌 시간표.
1학기에 비하면 과목수는 2과목이 줄어든 7개과목이긴 한데
이수과목이 있어서 하나 빠지긴 했지만 학점은 23학점임.
무엇보다 실무프로젝트가 4학점짜리 과목에 주 6시간 과목이라
이래저래 피곤한 과목이다.
그래도 1학기에 비해 시간적인 면에선 2시간이 줄었다.
학과의 커리큘럼이 좀 개판이라 하는 수 없이 학부 내 전공인접 과목을 수강하기로 했다.
동시에 별로 하고싶은 생각이 없는 중국어를 빼고 1학년들과 문화산책을 듣는다.
정말 빼고싶었던 서버구축은 별도의 대체과목이 없어서 (시간이 맞지를 않는다.) 수강해야만 했고
자바 역시 마찬가지로 대체과목이 없음이 문제로다.
** 상기 시간표는 수정되어질 수 있음.
퍼가는건 가능하나 말 한마디씩은 쓰고 가져가기.
뭐.. 딱히 함께했다기 보단...
한명은 1개월 남짓을 같이 근무했고...
한명은 타부서 직원이었지만 업무때문에 안지 한 1년정도 된 직원인데 (지금은 도시계획과 입니다.)
이래저래 성격이 까탈한 본인이었으나.. 그래도 술한잔 하자고 하시니
본인을 잘 봐준듯 싶어 상당히 고마움을 느끼는 분들이지요.
뭐... 본인이 나이에 비해 얼굴이나 언행이 좀 노숙한건 사실입니다만
그것을 흠잡는다기 보단 그냥 장난으로 이야기 하며 웃어 넘기는 분들....
본인은 이제 떠나지만 그분들은 앞으로도 행복하시길.
대충 리화 3개는 조금 잘 뒤져봐야 하고 2개잡는건데
대충 리화 자체가 어떤건지를 보여주겠심....
대충 위와같은 팔레트가 있다고 가정했을 때, 리화는
하다보면 알게되-_-
| 태그 : | 마비노기 염색 |
대략.. 얼음땡 이라고 보면 되겠는데요.
가서 퍽 치면 윽 하고 죽는(....)은 아니고
'내가 한대 치면 그사람은 얼음이 되고, 얼음인 사람을 같은팀이 와서 치면 땡이 되는' 을 부가요소로 갖춘
상대팀 진영에 있는 수박통에서 수박을 꺼내서 우리팀 창고에 쳐박으면 점수를 얻는
전형적인 Capture the flag격의 매우 단순한 이벤트입니다.
아무튼.. 설명은 여기까지 하고. 대충 아무생각없이 뛰어다녔습니다
인데.. 2등했네요 -_-;;;
어차피 이긴팀은 100%확률로 아이템을 받고
진팀은 50% 비겼을 경우 75%의 확률로 아이템을 받게 됩니다.
뭐 ... 저때 전 두건을 받았네요.
대략 2등이라 기분이 좋기도 합니다만, 흥미로운 점은
나루는 인간인 관계로 엘프나 자이언트 케릭터보다 달리기가 다소 느립니다.
반대로 말하면 엘프나 자이언트 유저는 좀 더 이벤트를 하기가 수월하고 상대적으로 느려터진 인간은
좀 애매하죠 달리기가 좀 징하게 느리니... -_-;;
여튼.. 대략 2등하고 아이템 받아서 좋았습니다.
그리고 덤으로, 오늘 두건과 부츠를 구해서 이로써 두건, 옷, 부츠 3종 풀세트를 구비하였습니다.
수리불가라는게 아쉽긴 하지만 소장용으론 괜찮을 것 같네요.
| 태그 : | 마비노기 |
니야옹... 결혼했어얌
결혼 기념촬영 #1
결혼 기념촬영 #2
결혼 기념촬영 #3
이쁜나루 and 레드스핀
'ㅂ' 우리 결혼했어얌~
그리고 아래는 덤..
앉은채로 파힛쓰는 색시...
ㄹㄹㄹㄹ...
| 태그 : | 마비노기 |
얼마전 열받아서(-_-) 마우스(G5)를 집어던졌었는데
왼쪽 버튼이 고장나버렸더군요 -_-;;;
로지텍 A/S센터에 보내고 오늘 막 도착했습니다.
당초엔 G5 초기모델인 왼쪽버튼 1개였던 모델이었는데
교환되어져 온건 왼쪽버튼이 2개짜리 신형으로 왔네요.
왼쪽위부터 무게추, 무게추 카트리지, G5, G1
G5 연결한 모습. 왼쪽 버튼 2개가 달려있습니다.
생김새도 약간 달라지고 괜찮습니다.
뭐랄까 그립은 그대로인데 느낌이 좀 다르네요.
예전건 메탈릭이었는데 지금은 뭔가 스폰지 같기도 하고 좀 어색합니다-_-;
데이터베이스 -> 전체석차 2등.
나오지 않은 과목들
비주얼베이직 -> 대충 1/4선 안에 들거라고 봄.
Java -> 1/5? -_-
마이크로프로세서 -> 시험을 '못봤음'. 시험종료시간에 학교도착.
영어독해 -> 최악. bravo. 토익으로 원샷빵 쳐주겠음-_-
리눅스 -> 만점이라고 확신함.
e-비즈니스의 이해 -> 1/3선 정도..
.....
| 태그 : | 중간고사 끝! |
[00:13:18] <이쁜나루'ω'> 소우세이세키
[00:13:24] <소우세이세키> ?
[00:13:35] <이쁜나루'ω'> 나
[00:13:53] <이쁜나루'ω'> 어쩌면 -_-
[00:13:55] <소우세이세키> 응.
[00:13:57] <이쁜나루'ω'> 공짜로 차 하나 나올지도
[00:13:57] <소우세이세키> 죽는거냐
[00:14:01] <이쁜나루'ω'> 씨박님아
[00:14:02] <이쁜나루'ω'> -_-
[00:14:02] <소우세이세키> 왜
[00:14:08] <소우세이세키> 누가 사준데냐
[00:14:11] <이쁜나루'ω'> 아니
[00:14:13] <이쁜나루'ω'> 이벤트 경품
[00:14:15] <이쁜나루'ω'> 당첨
[00:14:18] <소우세이세키> 무슨이벤트인데
[00:14:23] <소우세이세키> 응모자가 그렇게 없나 나루가 당첨되게.
[00:14:28] <이쁜나루'ω'> 그러게
[00:14:31] <소우세이세키> 차종은?
[00:14:33] <이쁜나루'ω'> 모닝
[00:14:44] <소우세이세키> 언제까지 내집으로 오나?
[00:14:52] <이쁜나루'ω'> 100만년 뒤
[00:14:55] <소우세이세키> 그래
[00:14:57] <소우세이세키> 근데
[00:14:58] <이쁜나루'ω'> 아니면 너가 차값 주면 바로
[00:14:59] <소우세이세키> 당첨됬다면서
[00:15:01] <소우세이세키> 왜 어쩌면이냐?
[00:15:06] <이쁜나루'ω'> 그게
[00:15:14] <이쁜나루'ω'> 내가 유지할 능력이 되야 뭘 해먹지
[00:15:15] <이쁜나루'ω'> ''....
[00:15:20] <이쁜나루'ω'> 좀 축하해주면 어디가 덧나냐
[00:15:21] <이쁜나루'ω'> 씨박님아
[00:15:29] <ZebeC|rtkvel> 만우절임?
[00:15:47] <소우세이세키> 그렇군.
[00:15:53] <소우세이세키> 이쁜나루'ω', 오늘 4월 1일이구나
[00:15:54] <소우세이세키> 씨박놈..
이쁜나루 1 : 0 소우세이세키
YARR!!!
| 태그 : | 만우절 낚시 |
사진은 발로만든 시간표의 극치
뭐 복학도 했겠다... 시간표도 대충 짜여졌고
이제 공부를 해야지... 하면서도
한편으론, 두가지 공부를 병행해야 하기에.. 어렵네 어려워
뭐... 스스로에게 열심히 해보자고 다짐이라도 해두도록 하자.
님들 버로우 타세냥
승리의 나루
무시무시하다능 ;ㅅ;
럭키걸 달걀귀신
무시무시한 모카님
위협적인 모카님
고스트는 보스여서 감동먹었었음.
어풀 고스트 클로커
스트롱 케오골렘 =_-
(적어도 일단은 그렇게 생각합시다.)
사건의 발단은 이러합니다.
22일 오후 6시. 퇴근길에 통화를 하다가 전원이 나간 후 코트 주머니에 넣었던 것으로 기억을 합니다.
집에 도착해서 코트는 옷장에 걸어두고 늘상 하는 뻘짓들을 재생합니다.
23일 오전 11시. 사무실에서 문득 '나루씨 전화했는데 전화기 꺼져있더라?'
어라 .. 그러고보니 나 폰 어디다뒀지..
서랍을 뒤져보고 케비넷을 뒤져보지만 나오지않는 폰 =_-
집에 두고왔나보다... 하고 집에 찾아봐달라고 부탁드렸는데
집에서도 폰이 없대요 llloTL
한 10분정도 찾아보다가 도저히 안나오길래...
아놔 어디선가 흘렸나보다
그냥 하나 새로 사야지.. 하고 포기했습니다.
저녁에 술마시고 들어오다 귀가 시려서 헤드폰이나 끼고 음악이나 들으며 집에가야지~ 하고
코트 안주머니에 앞발을 넣는 순간
뭔가 익숙한 네모낳고 얇은게 손에 잡히더군요
응? 폰이 안주머니에 있었네 [......]
.......
뭐 이렇게 폰 분실소동은 하루만에 잠잠해지긴 했습니다만
뭐랄까 .. 웬만해선 안주머니에 폰을 넣는 일은 없는데
희한하더군요 =_-
앞으론 안주머니 먼저 찾아봐야겠습니다.
| 태그 : | 분실소동 |
