LNK2038: _ITERATOR_DEBUG_LEVEL 불일치 오류 by TurboK

MPI를 이용한 병렬처리 작업을 Visual Studio 2010에서 하고 있는데 다음과 같은 오류가 난다.

A.lib(B.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL'에 대해 불일치가 검색되었습니다. '0' 값이 '2'(C.obj에 위치) 값과 일치하지 않습니다.

A.lib를 링크하여 빌드하려고 하는데 매크로 _ITERATOR_DEBUG_LEVEL의 값이 기 빌드된 A.lib 상에 정의된 내용과 이를 연결(링크)하여 사용하는 쪽에서의 정의가 달라서 발생하는 오류임.

문제 해결을 위하여 _ITERATOR_DEBUG_LEVEL의 정의를 따라가 보니 DEBUG 모드에서는 (정확히 말하면 매크로 _DEBUG가 정의되어 있다면) 2의 값을 갖고 그렇지 않은 경우에는 0의 값을 갖도록 정의되어 있다. Release 모드로 빌드했으니까 0값을 가져야 정상인데 2의 값을 갖는다는 것은 어딘가에 _DEBUG가 정의되어 있다는 뜻이다.

그래서 프로젝트 속성, 코드 다 뒤져봤는데 어디에도 없다. 그런데 Release 모드에서 _DEBUG 타입핑 해 놓고 마우스 올려 보면 "#define _DEBUG 1"이라고 나온다. 일하다 보면 이런 경우가 정말 난감하다. 아무래도 Visual Studio 2010 버그인 듯 추측하며 해당 라이브러리를 이용하는 소스 앞쪽에 다음 문장을 넣었다.
1: // Release 모드에서 LNK2038 오류가 나서 넣었음
2: // Release 모드임에도 불구하고 _DEBUG가 정의되어 있어 발생하는 현상임. 2010 버그인듯...
3: #ifdef NDEBUG
4: #ifdef _DEBUG
5: #undef _DEBUG
6: #endif
7: #endif
Release 모드(NDEBUG 정의됨)일 경우 강제로 _DEBUG의 정의를 날려버리는 문장임. 이렇게 하고 하니 문제없이 잘 빌드되고 실행도 잘 된다.


[일반] 지우기 애매한 블럭 주석달기 by TurboK

프로그래밍하다보면 작성해 놓은 코드를 지우기는 애매하고 다시 만들긴 해야 하고 하는 경우가 있다.
이럴 때, / *   주석   * /를 이용하여 주석 처리하고 작업하는 경우가 있는데 이 때 다음과 같이 주석을 달면 편하다.
1: / * 
2: 코딩한 코드들...
3: 코딩한 코드들...
4: / / * / <-- 키포인트
왜냐? 다시 살리고 싶을 때 다음과 같이 하면 끝이기 때문이다. 아니면 지우던지...
1: / / *   <-- 키포인트
2: 코딩한 코드들...
3: 코딩한 코드들...
4: / / * /
조금 더 나아가 다음과 같이 주석을 달아 놓으면 코드를 보는데 많은 도움이 된다.
1: / / *   / /  여기는 어떤 일을 하는 루틴임...
2: 코딩한 코드들...
3: 코딩한 코드들...
4: / / * /
이상 일하면서 터득한 꼼수 중 하나였음.


Epilogue: / * 가 다른 문자로 계속 바뀌어 들어가 부득이 중간에 공백을 하나씩 두었음...


96회 시험결과... by TurboK

지난 번 치룬 정보관리기술사 시험 결과가 지난 금요일(23일)에 있었다.

가채점해 보니 55점 ~ 57점 정도 나와 조금은 기대 되었다.

모의고사 기준으로 조금 짜게 점수를 줬으니 기대하는 것도 당연하리...

결과를 확인하기 위해 Q-Net에 접속 시험결과를 클릭했다.

"불합격"... "그래 공부를 많이 못했으니 당연한 결과지."라고 위안하며

점수를 확인했다. 59.66점.... 총점 4점이 모자라 떨어진 것이다.

59점으로 떨어지는 사람도 많다던데 내가 될 줄이야...

갑자기 밀려오는 허탈함이란...



발표날만 허탈해 하려고 했는데 사람인지라 지금도 좀 허탈하다.

다음 회차엔 필승하기 위해 계획표 작성하고 있는데 계속 생각이 나서리...

자, 이 글을 끝으로 잊고 다음에 꼭 붙자!!!


96회 정보관리 기술사 복기 by TurboK

[1교시]

1. 그래프를 이용하여 최적 경로를 찾는 데 이용되는 최소 신장 트리(Minimal spanning tree)알고리즘에 대하여 설명하시오.

I번째 단락
- 최소 비용 계산 등을 위해 사용되는 정점 모두 포함 일부 간선 포함한 트리라고 정의
- 시스템 설계 시 최소 비용으로 구축하기 위하여 사용한다고 적음
II번째 단락
- 최소신장 트리 개념 그래프 그리면서 도식화
- Prim과 크루스칼 방법 언급
- 최단 경로를 위한 다익스트라 방법 등 있다고 적음
III번째 단락
- 활용예시: 도로, 지하철 노선 설계 및 건설 시 사용


2. 클라우딩 컴퓨팅 환경에서 데이터 정보 보호에 대하여 설명하시오.

하루 밖에 안 지났는데 기억이 안 나네요...
Public 클라우드로 가면서 정보 보호에 대한 이슈가 증가 되었고,
개인정보보호법 등 컴플라이언드 대응하기 위하여
관리적, 기술적 정보보호를 해야한다고 적었던 것 같음...



4. 우선순위(Priority) 기반 CPU 스케줄링 알고리즘에 대하여 설명하시오.
I번째 단락
- 우선순위 기법에 대한 설명
- 우선순위 고려하여 스케쥴링하기 위한 알고리즘 필요성 언급

II번째 단락
- 우선순위 스케쥴링 알고리즘 절차를 도식화 하여 표현

III번째 단락
- 기아 현상 등 발생할 수 있으며 이를 위한 해결책 필요함을 언급


5. PIMS(Personal Infrmation Management System)에 대하여 설명하시오.

I번째 단락
- PIMS 정의: 개인 정보 관리 및 통계치 등 편의 기능 제공하는 시스템
- 개인정보보호법 등 개인 정보 관리를 위한 암호화 등 보안 기능 필요함을 언급

II번째 단락
- PIMS에 대한 개념적 구성도: 개인정보 -> PIMS(수집, 저장, 통계적 분석 ...) -> 개인 정보 관리 편의성 제공
- 각 구성요서에 대한 설명 테이블

III번째 단락
- 개인정보보호법 등 개인정보 보호를 위한 암호화 등 관리 기능 언급


6. DB 이상현상(Anomaly)에 대하여 설명하시오.

I번째 단락
- 데이터 이상으로 인해 데이터의 무결성, 정합성에 오류를 나타내는 현상
- 정규화, 동시성 제어로 해겨 가능

II번째 단락
- 삽입, 갱신, 삭제 이상현상 예제. (병행제어 관련된 현상을 기록했네요... 정신이 없었던든.. TT)

III번째 단락
- 이상현상을 해결하기 윈한 정규화(1~5차, BCNF) 및 동시성 제어(Locking, Timstampe, 낙관적 기법, Shadow Page) 상세 언급


7. OWASP Top 10(Open Web Application Security Project Top 10)에 대하여 설명하시오.

I번째 단락
- OWASP Top 10 정의: 웹 응용 관련 보안 이슈를 2~3년 주기로 발표하는 비영리 단체. 해당 단체에서 발표하는 주요 보안 이슈사항.

II번째 단락
- 2010년 발표된 Top 10 내용 테이블로 정리
- 7개 정도 썼네요... 14페이지 끝까지 쓰고 한권 더 받아 쓸 시간은 안되서리 여기서 마무리함.


8. 하이브리드(Hybrid) MMDBMS에 대하여 설명하시오.

I번째 단락
- 디스크 기반 DBMS(DRDBMS)와 메인 메모리 DBMS를 혼용한 DBMS

II번째 단락
- 개념 구성도: MMDBMS에 디스크 포함 및 디스크로 관리되는 데이터 등 표시
- 그리고 뭘 썼더라????


10. 시맨틱 웹(Semantic Web)의 필요성과 특징에 대하여 설명하시오.

I번째 단락
- 시맨틱 웹의 정의: 지능화된 웹

II번째 단락
- 시맨틱 웹의 필요성: M2M 등 폭발적 데이터 상에서 지능화된 검색 요구 증가
- 시맨틱 웹의 특징: 뭘 썼더라?
- 시맨틱 웹의 구조상 특징: Unicode -> XML -> RDF -> Ontology -> Logic -> Trust


11. 프로세스 마이닝(Process mining)에 대하여 설명하시오.

I번째 단락
- 업무 프로세스 등 프로세스 상에서 발생하는 데이터를 수집하여 분석, 결과정리 업무 프로세스의 효율성을 높이는 기법이라고 적음

II번째 단락
- 개념 구성도: 데이터 수집 -> 분석, 저장, 처리 -> 보고서 -> 활용
- 구성요소


13. 테스트 중심 개발(Test-driven development)의 사이클(cycle)에 대하여 설명하시오.

I번째 단락
- TDD가 무엇인지 설명하고 TDD 수행 시 한 기본 주기를 사이클이라 정의

II번째 단락
- TDD 과정 도식화 및 사이클 표시
- 사이클 상 수행해야 할 내용 표로 정리



[2교시]

1. 스마트 폰의 보안 취약점에 대하여 설명하시오.

I. 개요
가. 스마트 폰 보안 취약점 정의
나. 스마트 폰 보안의 필요성

II. 스마트 폰 보안 취약점
가. 기술적 취약점
나. 기타 물리적 취약점

III. 스마트 폰 보안 취약점 해결방안
가. 기술적 해결방안
- 업그레이드, 불법 사이트/앱 접근 금지, MDM ...

나. 관리적, 물리적 해결방안
- 보안 이슈 전파, 지속적 홍보, 정책적 지원

IV.
- 가장 효율적인 방법은 개인적 관리임을 명시


2. Java프로그램을 작성하고 실행시키는 일련의 과정을 JVM(Java Virtual Machine) 중심으로 설명하시오.
- Java 프로그램 작성 과정: UML 관점으로 기록. 요구분석 -> Use Case -> Realization -> 다이어그램 -> 코딩 -> Class 파일 생성
- 작성된 Class 파일을 Jar 등으로 압축, 배포하여 활용
- JVM에서 Class 파일 압축 해제 후 인터프릿 방식으로 실행
- JVM 활용을 통한 One Source Multi Use 가능
이런 내용들을 적었음.


3. 빅데이터(Big Data) 분석과 기존 경영정보 분석과의 차이점에 대하여 설명하고, 빅데이터 분석의 활용효과에 대하여 설명하시오.

I. 빅데이터 개요
가. 정의: 기존 방식으로는 처리 불가능한 크기의 데이터로 데이터를 유기체로 보고 트렌드 분석, 예측 등을 수행하는 기법이라는 식으로 작성

나. 빅데이터의 필요성을 적은 것 같네요...

II. 기존 경영정보 분석과의 차이
가. 분석 기법 측면

나. 특징비교

III. 빅데이터 분석의 활용효과


4. 컴퓨터 포렌식(Computer forensics)의 원칙, 유형 및 관련기술에 대하여 설명하시오.
문제에서 주어진 대로 단락 구성하여 작성

I. 컴퓨터 포렌식 개요
가. 정의: 분쟁해결을 위한 근거 자료 찾는 방법. 비즈니스의 IT 영향도 증가로 관심도 증가
나. 필요성 및 특징

II. 컴퓨터 포렌식 원칙 및 유형
가. 컴퓨터 포렌식 원칙: 원칙이라고 할만한 것들 나름 분류하여 기록.
나. 컴퓨터 포렌식의 유형:

III. 컴퓨터 포렌식 관련기술
데이터 마이닝, Link Analysis(SNA), 안티포렌식 관련(스테가노 그래피, 디가우징, 스랙 스페이스) 대비책 등
있는 거 없는 거 소설 형태로 기록


5. 구글과 애플의 비즈니스 생태계 전략을 다면 플랫폼(Multi-sided Platform) 차원에서 설명하시오.
- 선택안함.

6. HTML5에서 사용되는 웹스토리지(Web Storage)를 HTTP 쿠키(cookie)와 비교하여 차이점 중심으로 설명하시오
- 선택안함. 처음부터 한 레벨 내려 출제했네요. 그래서 패스~

[3교시]

1. 안드로이드 시스템 구조에 대하여 설명하시오.
왜 자꾸 안드로이드 문제가 나오는 지 의야해 하면서 마지막 문제로 적었음.

잘 생각 안 나서 Application <-> Library <-> System <-> Device 의 Layerd Architecture라고 언급하고
그림 그리고 나서 표로 설명.


2. 다음  UNIX 시스템 호출을 이용한 프로그램(UNIX System V기준)을 보고 물음에 답하시오.
    가) 위 프로그램의 동작과정을 fork, excel 시스템 호출중심으로 설명하시오.
    나) 위 프로그램의 동작과정과 동일한 결과를 얻기위한 UNIX 명령어를 작성하시오.
- 선택안함.


3. 개인정보 유출을 방지하기 위한 데이터베이스 접근제어 모델 3가지에 대하여 설명하시오.

I.
- 데이터베이스 접근제어 및 보안의 필요성

II. 접근제어 모델 3가지
가. 접근제어 3가지 모델 표로 설명. G/W, Agent, 스니핑
나. 접근제어 3가지 모델에 대한 장/단점 비교

III. DB 보안을 위한 접근제어 모델 (제목은 잘 기억 안나지만 시스템 구조상 또 다른 3가지 접근제어 모델이라는 식으로 언급)
가. DB 접근제어 개념도: 사용자 <-> 접근차단제어(G/W, Agent, 스니핑) <-> 권한접근제어(DAC, MAC, RBAC) <-> 암호화 모델
나. 각 보안 모델에 대한 상세 설명


4. APT(Advanced Persistent Threat) 공격기법과 대응방법에 대하여 설명하시오.
예상 문제였는데 자료 뒤져 본다하면서 못 뒤져 봤네요... 아쉬워라. 보면 꼭 이런 문제가 나오는 거 같아요.

I. APT의 정의 및 대두 배경
- 지능적으로 지속적 공격을 하는 공격 위협

II. APT 공격기법
- 생각나는 공격 기법은 다 적었음. Zero-Day Attack, DDos, DRDos, ...

III. APT 대응방법
- HoneyPot, IPS, IDS, 지능형 방화벽, RPD, MDM
- 패턴 분석을 위한 데이터 마이닝 등 언급


5. 워크플로우 패턴(Workflow pattern)을 기본적 제어 패턴(Basic control pattern) 중심으로 설명하시오.
- 선택안함


6. 소셜 네트워크 분석(Social network analysis)의 개념과 방법에 대하여 설명하시오.

I. 소셜 네트워크 분석 개요
가. 정의: 관계성 데이터 분석을 통한 그룹 추출 및 의사결정, 마케팅에 활용할 수 있는 정보, 지식 추출 기법
나. 필요성 언급

II. 소셜 네트워크 개념 구성도 및 구성요소
가. 소셜 네트워크 개념 구성도
나. 구성요소 상세설명

III. 소셜 네트워크 방법




[4교시]
1. 자동차용 전장장치(EDU: Electronic Control Unit) 플랫폼인 AUTOSAR(AUTomotive Open System ARchitecture) 소프트웨어의 구조에 대하여 설명하시오.
- 선택안함


2. 2-D(Dimensional) 바코드 시스템에서 데이터를 읽는 과정에 대하여 설명하시오.

I. 개요
가. 2D 바코드 시스템의 정의
나. 1D 바코드와 비교한 2D 바코드 시스템의 특징

II. 2D 바코드 시스템의 구성
가. 시스템 개념 구성도
나. 구성요서 상세설명

III. 2D 바코드 시스템의 데이터 읽는 과정
가. 클라이언트와 바코드 시스템을 이분하여 읽기 과정 순차적으로 도식화
나. 상세설명


3. 데이터 마이닝(Data mining)의 과정, 기법 및 활용사례에 대하여 설명하시오.
전공분야임~

I. 개요
가. 데이터마이닝 정의
나. 데이터마이닝의 특징, 필요성

II. 데이터마이닝 기법
가. 군집
나. 예측
다. 분류
연관성 분석 따로 간단히 언급

III. 데이터마이닝 활용사례
가. 비즈니스적 활용
나. 공정 모니터링 분야

IV. BigData와 결부되어 어쩌구 저쩌구 언급...



4. 효과적인 개인정보보호를 위한 DB 암호화 구축전략, 절차 및 데이터베이스 암호화 기술에 대하여 설명하시오
I. DB 암호화 개요

II. DB 암호화 구축전략 및 절차
가. DB 암호화 구축전략
- 암호화 시 예상되는 문제 및 고려사항별로 전략 수립. 표로 작성
- 개인정보보호법 등 Compliance 준수 고려 전략 등.

나. 절차
- BIA, PIA 등 조사. 계획 수립, 적용 방안, 솔루션 도입 시 벤치 마크, 단계적 구축

III. 데이터 베이스 암호화 기술
가. 시스템 구성 측면
- SW 방식, HW 방식 비교 설명. Plug-In 방식 언급.

나. 암호화 자체 기술
- 암호화 알고리즘 AES, SEED 등 언급.



5. 소프트웨어 테스팅의 주요 이슈들을 제시하고, 이 중 비기능적 테스팅(Non-functional testing)과 동적 테스팅(Dynamic testing)을 구체적으로 설명하시오.
- 상세한 내용은 기억이 안 나네요. 문제에서 주어진 대로 단락 구성하였음.

I. 소프트웨어 테스팅 개요
가. 정의
나. 필요성


II. 소프트웨어 테스팅의 주요 이슈
- 테스팅 시 발생할 수 있는 문제점 및 필요사항을 이슈로 정리. 테스트 자체의 비용, 이력관리, 구조적 안정성을 위한 산출물 및 인스펙션 등 언급

가. 주요이슈
나. 해결방안


III. 비기능적 테스팅과 동적 테스팅
가. 비기능적 테스팅
- 인스펙션, Walk Through, Peer Review 등을 설명
나. 동적 테스팅
- 동적 테스팅 정의 언급. 테스트 케이스 작성이 중요하고 테스트 케이스 작성 기법 언급

IV. 보안성 강화, 안정적 구조 등을 위하여 Secure 코딩 및 테스트 결과 Repository 시스템 등 구성 필요성 언급.



6. P2P(Peer-to-peer) 알고리즘의 개념과 시스템 구조를 설명하고, 이 알고리즘이 CDN(Content Delivery Network)에서 어떻게 이용되는지 설명하시오.
- 선택안함.

 

기술사 모의고사 by TurboK

오늘 모의고사가 있는 날이다.

모의고사가 있는 날 항상 고민이다. 갈까 말까... 시험 자체가 너무 힘들어서 항상 이런 고민이 든다.

마음을 다 잡고 갔다. 열심히 문제보고 아는 거 모르는 거 11페이지에서 12페이지 정도씩 적고 나왔다.

용어형 문제 중에 Hypothesis Testing 이 13번 문제로 주어졌다. 앗! 이건 무슨 테스팅 기법이지?

테스트 문제가 매번 1~2문제씩 나오는데 어디서들 찾으시는 지 항상 새롭다. 이 것도 그런 새로운

테스트 기법 중 하나 이리라... Hypothesis가 가설이라는 것은 알고 있었기에 가설을 세우고 이를

기반으로 테스트 케이스 만들어서 어쩌구 저쩌구... 주절이 썼다.

자기 전 (조금 전) 해설지 보면서 해당 문제를 봤는데 Hypothesis Testing, 통계학에서 말하는 가설검증이였다.

흠... ITPE 시험에 별게 다 나온다는 생각을 하면서 한글로만 적혀 있었어도 제대로 풀었을 텐데 하는

아쉬움이 남는다.

팔이랑 목이랑 허리까지 좀 쑤신다... 이제 자야지...


1 2 3 4 5 6 7 8 9 10 다음