void CAVI_PROJECTDlg::OnBnClickedBtnFind()
{ 
	BROWSEINFO BrInfo;
	TCHAR szBuffer[512];                                      // 경로저장 버퍼 

	::ZeroMemory(&BrInfo,sizeof(BROWSEINFO));
	::ZeroMemory(szBuffer, 512); 

	BrInfo.hwndOwner = GetSafeHwnd(); 
	BrInfo.lpszTitle = _T("파일이 저장될 폴더를 선택하세요");
	BrInfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX | BIF_RETURNONLYFSDIRS;
	LPITEMIDLIST pItemIdList = ::SHBrowseForFolder(&BrInfo);
	::SHGetPathFromIDList(pItemIdList, szBuffer);				// 파일경로 읽어오기

	CString str;
	str.Format(_T("%s"),szBuffer);
	AfxMessageBox(str);
}


MFC 버튼컨트롤에 클릭이벤트를 건뒤 해당 함수에 위의 소스를 복붙해서 실행하시면 폴더 찾기 다이얼로그가 생성되는걸 확인 할 수있습니다. 





블로그 이미지

루우지

1. OCI (Oracle Call Interface)

 - Application과 Oracle Database와 상호작용할 수 있도록 오라클에서 지원하는 Low-Level api이다. 일반적으로 C/C++에서 많이 사용된다. 그런데 OCI 프로그래밍은 Low-Level  API를 사용하는것이라 매우 어렵다. 다만 ODBC처럼 Oracle Client를 설치하지 않고 oci 관련된 dll을 같이 배포할때 포함해주면 되기 때문에 사용자가 oracle 을 설치하지 않아도 된다는 이점이 있다. 물론 단점은 위에서 언급했듯이 개발자가 사용하기 쉬운 API는 아니라른점.




2. OCCI (Oracle C++ Call Interface)

 - 약자와 같이 OCCI는 C++에서 오라클DB를 조작할 수 있게금 도와주는 API다. Low-Level로 작성된 OCI를 C++로 랩핑하여 API를 제공해주는데 공식 도큐먼트에서의 OCCI의 장점을 아래와 같이 설명하고 있다.




1) C++과 같은 객체지향 프로그래밍 활용

2) 사용하기 쉽다.

3) JDBC에 익숙한 사람들에게 배우기가 쉽다.









실제로 OCI와 OCCI의 사용 문법은 판이하게 다른다. JDBC에 익숙한 나에게는 OCCI에서 제공해주는 API가 더 친숙하고, 친절하다. 


하지만 OCCI는 단점이 있다..


VS2015에서 사용하면 버그가 생긴다. 

- 정확히는 OCCI가 VS2010 (V100) 까지의 라이브러리 파일을 제공해준다. (dll도 같이)하지만 나는 vs2015를 사용하는데 OCCI(oraocci11d.lib)를 사용할때 getString() 함수를 사용하는데 힙커런트 에러가 뜬다. 이는 내부적으로 2번 메모리를 delete해주는 현상이라고 한다. (정확히는 모름) 무려 저 에러때문에 하루를 다 날려먹었지만 결국 vs2010 으로 갈아타고 작업하는데 성공했다.


해당 에러를 잡으면서 많은 생각을 했다. OCCI를 버리고 OCI로 갈것이냐, ODBC방식으로 갈것이냐, 혹은 JVM을 위에올려서 JDBC로 갈것이냐 등,, 결국 VS2010으로 다운그레이드하여 OCCI를 끝까지 가져가보자라는 방식으로 마음 먹었다.


























블로그 이미지

루우지


1. Hxd 에디터

https://mh-nexus.de/en/hxd/


위의 주소에서 Hxd에디터를 설치해주세요.





1. 다클을 하실려면 대항해시대 클라이언트가 설치된 폴더에서 GVOnline.bin 파일을 수정하셔야합니다.

기본 설치 경로는 C:\Netmarble\GV Online Kr 에 있습니다. bin파일 수정시 실패할경우를 대비해 미리 원본을 백업해두세요. (원본 파일을 복사해서 다른 폴더에 보관해주세요)







2. 설치한 HxD 에디터를 실행하여 수정할 GVOnline.bin 파일을 불러와주세요.

파일 -> 열기 -> 대항해시대 설치 경로에 있는 GVOnline.bin 파일 선택 후 열기 버튼 클릭

파일을 불러왔으면 아래의 스크린샷처럼 16진수 값들을 확인 할 수있습니다.







3. 수정할 16진수 값을 검색합니다.

Ctrl + F 키를 누르거나 찾기 -> 찾기 버튼을 클릭하면 아래와 같은 다이얼로그가 뜹니다. 

데이터 형식을 16진수 값으로  선택 후 검색 창에 3b 45 e0 7e 15 를 입력후 수락버튼을 눌러주세요.

아래의 스크린샷 처럼 해당 값을 찾을 수 있습니다.











4. 이제 bin파일을 수정하겠습니다.

3b 45 f0 7e 15 값을 3b 45 e0 7e 15으로 수정 해주세요. (20클까지 되는거 같습니다)








5. 이제 저장하시면 bin파일 수정 작업은 끝납니다.

해당 bin파일 코드는 업데이트마다 바뀔 수가 있습니다. 현재 2018/08/17일 까지는 위의 코드가 유효한 상태입니다.







이제 네트워크 드라이버 추가 작업을 해야하는데 간단하게 글로 설명을 하자하면 한 IP당 클라이언트는 2개밖에 접속을 못합니다. 그래서 야매로 IP를 속여 접속해야하는데요. 그러기 위해서는 가상의 네트워크 드라이버를 추가해야합니다.




1) 윈도우 검색에 장치관리자를 검색하셔서 실행하신 뒤, 네트워크 어뎁터를 클릭 후 상단의 동작 -> 레거시 하드웨어버튼을 클릭합니다.



2) 목록에서 직접 선택한 하드웨어 설치를 선택후 다음 버튼을 누른뒤 스크롤을 내려 네트워크 어뎁터를 클릭 후 다음 버튼을 눌러주세요.



3) 제조 업체에서 Microsoft 사를 클릭 후 Microsoft KM-TEXT 루프백 어댑터를 선택후 다음 버튼을 누르면 어뎁터 설치가 끝나게 됩니다.



4) 제어판\네트워크 및 인터넷\네트워크 연결 경로로 들어가면 추가된 어뎁터가 보입니다. 

우클릭 -> 속성 버튼을 클릭후 인터넷 프로토콜 버전 4(TCP/IPv4)를 눌러 IP속성값을 임의로 수정해주세요 ex) 11.142.132.251 



5) 저장 후 어뎁터를 사용하지 않음으로 채크 후 2클라이언트 이상 접속할경우에 해당 어뎁터를 켜주시면 3클 이상부터 접속이 가능합니다. 하지만 어뎁터도 2개의 클라이언트만 가능하오니 5클을 사용하실려면 접속하실 때마다 ip를 바꿔주시거나 미리 여분의 어뎁터를 설치 후 어뎁터를 끄고 키는 방식으로 비교적 쉽게 접속하실 수 있습니다. 




'취미 > 대항해시대 온라인' 카테고리의 다른 글

대항해시대 다클 가이드  (0) 2018.08.17
블로그 이미지

루우지




무려,, 3회에 걸친 시험 끝에 정보처리기사를 합격했다. ㅋㅋㅋ

주변 친구들은 필기와 실기를 모두 한번에 붙었는데



내가 노력이 부족한건지,

머리가 나쁜건지

필기 2번 실기 3번만에 합격을 했다;;

뭐 취업준비한다고 신경 못쓴게 있긴하지만 서도 그래도 지금이라도 붙어서 다행인듯

사실 이번 회차가 정말 쉽게 나왔기 때문에 운이 좋았다.



전공자의 입장에서 정보처리기사를 공부한다고 하면

(학교생활 열심히해서 전공과목에대한 이해도가 있다면)


1. 코딩, 알고리즘 -> 쉬움

2. DB -> 보통

3. 업무프로세스 -> 어려움

4. 신기술 동향 -> 어려움

5. 전산영어 -> 어려움





코딩 알고리즘의 문제를 받고나면 어이가 없을정도의 난이도로 나온다.

대부분이 괄호안의 조건문을 채우는 정도의 문제가 나오기 때문에

(알고리즘도 비슷하게 반복문이나 조건문의 빈칸채우기)

전공자라면, 이 과목에대한 공부비중은 낮추는게 좋을것이다.




DB 과목은 생각보다 범위가 넓으면서도 여태 경험해본바 나올 법한 문제들이 계속 순환되서 나오는듯하다.

특히 SQL작성하는 부분은 매 시험마다 나온거 같으니 꼭 수기로 SQL을 작성할 줄 알아야한다. 

(그렇다고 뷰, 트리거, 인덱스와 같은 생성 SQL은 나오지 않은듯한다.)

시나공에서 A~B등급 챕터는 꼭 다 숙지하고 가길 바란다.




업무프로세스는 답이없다. 

생전 처음보는 용어들이 나오는데 이부분은 그냥 오랫동안 암기를 해야한다.

보통 시험문제지 맨 마지막 문항에 업무프로세스 문제가 나오는데 페이지가 거의 2~3페이지를 차지할정도로

지문이 엄청나게 길다.

하지만 막상 이거풀어보면 꽁으로 주는 문제이기 때문에 엄청난 지문에 지레 겁먹지말고 찬찬히 시간을 들여서

읽어보고 풀길 바란다. (시험시간이 엄청 나게 남습니다.)




신기술 동향은 정보처리기사 공부를 시작하면서 아예 따로 빼놓고 수시로 암기해야하는 과목이다. 노트나 A4에 정리해서 등하교길이나 똥쌀때 등등,, 항상 손에 놓지말고 영어단어 암기 하듯이 달달달 외워야한다.




전산영어는 문제집 기출문제를 잘 봐둬야한다. DB, 업무프로세스, 신기술동향과목에서 영어지문으로 나온다. 전산 영어는 생각보다 점수 비중이 크지 않기 때문에 그점 감안해서 시험준비를 하면 좋을것이다.

























블로그 이미지

루우지

티스토리 툴바