티스토리 툴바

Blog | Tag | Local | Media | Guest | Login  RSS
여기서 CVS나 SVN같은 source version control 툴들을 간략히 소개

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/29 관련글 쓰기
paper writing services| 2011/12/14 05:05 | PERMALINK | EDIT/DEL | REPLY
There are a few companies that can propose high quality help with custom academic essays creating. When you want to get high results, you will have to buy papers from the professional firm.
Name
Password
Homepage
비밀글 (Secret)
memcpy나 strcpy등은 주의깊게 사용하지 않으면 다른 메모리 영역을 overriding하는 등의 부작용이 빈번하게 발생한다. MS에서는 이런 runtime 함수들에 대해서 좀 더 안전해진 별도의 함수들을 제공한다. 이른바 Security Enhancements in the CRT

대략적인 제공 기능은,
  • Null check 및 range 검사 등 parameter check
  • buffer overflow 검사
  • 스트링의 null-termination 검사
  • exception 발생시 handler를 사용자가 설정하는 기능 등
Secure Template Overloads를 통해서 기존 코드 수정을 최소화하는 방안도 제공한다고 함.
이걸 쓸 수 있는 상황이면 한번 적용해 보는것도 나쁘지 않겠다

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/27 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
WM용 어플을 개발한 후 이를 deploy/실행하면, security warning dialog가 뜨게 된다.
아마도 검증된 모듈이 아닌데 설치된다는 것을 알려주는듯..
개발시 이 dialog를 매번 눌러주는 것도 매우 불편하다.
그래서 warning을 없애는 아래와 같은 방법이 있다.

  1. ActiveSync연결
  2. \Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SDKTools  이동후 도스창 띄웁니다
  3. 도스창에서 아래 명령 실행.
    RapiConfig.exe /P /M securitymodels\open.xml
  4. success했다면 성공.
  5. 이후 부터는 security warning dialog 뜨지 않습니다.

 



 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/25 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
Side by Side Assembly는 dll hell을 해소하기 위해 VS2005부터 지원하기 시작한 개념으로,
한 PC에서도 서로 다른 버전의 dll을 사용하는 어플을 동시에 실행시킬 수 있게 한다.
예를 들어, 버전 1.0.1인 dll A를 사용하는 어플과 1.0.2인 dll A를 사용하는 어플이 있을 때,
dll A를 버전별로 별도로 관리해서 각 어플이 해당 dll을 올바로 런타임에 링크하게 한다.
이 방식은 어떻게 보면 linux에서 so파일을 쓰지만 사실상 버전별로 다른 so파일을 쓰는 것과 유사한 점이 있다.

VS2005부터는 빌드시에 항상 manifest파일이 생성되며 이는 별도 파일로 생성하거나 dll 내부에 포함시키고 있다.
각 manifest파일에는 자신이 빌드시에 사용한 하위 dll들의 버전 정보등이 포함된다.
실행시에는 dll loader가 manifest파일을 보고 어떤 버전의 dll을 쓸지 결정해서 loading한다.
사용자 삽입 이미지

Visual studio에서 제공하는 CRT등의 dll은
    %WINDIR%\WinSxS\x86_Microsoft.VC90.CRT_<version>
과 같은
형태의 디렉토리에 각각 저장되며
    %WINDIR%\WinSxS\Manifests\x86_microsoft.vc90.crt_<version>.manifest
에 인스톨 정보가 남게 된다. 그리고
    %WINDIR%\WinSxS\Policies\x86_policy.9.0.Microsoft.VC90.CRT_<version>.policy
위와 같은 policy 파일을 통해 redirection도 가능하다.

보통의 경우에 VS2005를 설치하지 않은 PC에서 실행하기 위해서는 redistributable package라는 것을 다운받아 설치하면 CRT등의 dll이 해당 디렉토리에 설치되게 된다. 하지만, debug모드용 dll들은 이런 package에 포함되지 않은 듯 하다. 그래서 수동으로 필요한 파일들을 커파해야 하며, dll과 manifest외에 위의 policy와 인스톨 정보도 함께 카피해야 정상적으로 로딩에 성공한다.
그외에 trouble shooting 자료도 참조할것.
   
   


 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/23 관련글 쓰기
최익필| 2009/08/13 15:35 | PERMALINK | EDIT/DEL | REPLY
마른 무 밭에 단비 같은 글이였습니다. 감사합니다.
yiso| 2010/02/11 13:41 | PERMALINK | EDIT/DEL | REPLY
담아가겠습니다.
Alisha32CROSS| 2011/10/20 08:00 | PERMALINK | EDIT/DEL | REPLY
Make your own life time easier get the <a href="http://goodfinance-blog.com/topics/business-loans">business loans</a> and everything you need.
Write Custom Research Paper| 2011/10/25 08:18 | PERMALINK | EDIT/DEL | REPLY
Not a lot of things can aid you accomplish research papers if your academic writing skills are very poor. You have only one way out. You have an opportunity to tell professinals: "I Need Research Papers ".
buy essays| 2011/10/27 07:28 | PERMALINK | EDIT/DEL | REPLY
Students must get know some information referring to this good post, because it’s really good to look for custom essays or pre written essay at the essay writing service or that is available to buy essay in such situation!
Name
Password
Homepage
비밀글 (Secret)
IEEE 802.11 wireless network의 인증/보안을 위한 표준의 흐름
- 초기에는 Wired Equivalent Privacy (WEP)를 사용했음
- 이는 RC4 stream cipher를 사용했지만, keystream reuse 문제와 HMAC대신 단순 CRC를 쓰는 문제로 인해 보안상 허점들이 발견됨
- 이에, WEP를 deprecate시키고 802.11i의 subset인 Wi-Fi Protected Access (WPA)를 제안
- 802.11i의 full implementation은 WPA2(혹은 RSN-Robust Security Network)라 불림
- 802.11i는 인증을 위한 802.1X와 confidentiality, integrity를 위한 AES기반 암호화를 사용
- group key도 사용되지만, 갱신시 AP가 1-1로 새 키를 제공하는 기본방식 사용

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/21 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
* scoped locking
- Resource Acquisition Is Initialization (RAII) 디자인 패턴과 auto_ptr(참조)등을 이용해서 리소스 획득 후 release하는 것을 자동화함으로써 버그를 만들 확률을 낮춤
- 기본 방식은 local variable의 lifetime을 가지며 stack에 저장되는 object를 사용.
- 예를 들어, mem allocation의 경우 선언과 초기화 후에 release는 destroy될때 하며, local lifetime을 가지므로 leak없이 delete됨.
- 메모리, FILE, multi-thread환경의 공유 데이터 등의 관리에 사용됨
- exception 처리나, api call/exit logging, api 단위의 access control에도 적용 가능
* double checked locking
- singleton의 getInstance에서는 오직 하나의 instance만 만들어지도록 관리해야 한다.
- 이를 검사하기 위해 locking을 쓰는데, lock되는 scope은 되도록 줄이자는 원칙에 따르고 항상 하나의 instance만 생긴다는 것을 보장하기 위해 두번의 NULL check을 하는 double checked locking을 사용한다.
- compiler/language에 따라 broken되기도 한다(아마도 optimization으로 instruction 순서가 바뀌어서인듯)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/19 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
From MSDN:

For a DLL, the default entry point is _DllMainCRTStartup.

For an EXE, the default entry is wWinMainCRTStartup, the Unicode entry point for an EXE that defines the wWinMain function, or WinMainCRTStartup otherwise.

You can rely on the default entry point that the linker chooses, but the best practice is usually to override the default choice. Instead, specify an entry point with the /ENTRY linker option.

Windows CE supports the following CRT entry points:

mainACRTStartup for applications that define the main function
mainWCRTStartup for applications that define the wmain function
WinMainCRTStartup for applications that define the WinMain function
wWinMainCRTStartup for applications that define the wWinMain function
_DllMainCRTStartup for DLLs
For more information, see the linker topic /ENTRY (Entry-Point Symbol).

Note: if you want to use mainACRTStartup or mainWCRTStartup, you must explicitly state that when you specify the /ENTRY option.

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/18 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
취향 분석
From www.idsolution.co.kr

톡톡튀는 참신한 키치 예술 취향


당신에게 뻔한 것, 따라하기, 지루한 것은 죄악입니다.

당신은 새로운 것을 찾고 독특함을 개발하고 싶어합니다. (항상 그런건 아니겠지만) 다들 따라하는 패션, 누구나 흥얼거리는 노래, 너도나도 사보는 베스트셀러, 아줌마들이 떠들어 대는 연속극, 모두 신물 나는 것들입니다.

이제 당신은 갓 찍어낸 붕어빵처럼 똑같은 노래, 똑같은 드라마, 똑같은 성형수술 연예인들로부터 벗어나고 싶습니다. 그래서 때때로 좀 건방지거나, 좀 못 생겼거나, 아니면 심하게 시대착오적이라도, 당신 머리 속을 상쾌하게 만들어 줄 참신하고 개성있는 '물건'을 만나고 싶습니다.

"이상한 나라의 앨리스"
루이스 캐롤의 이 정체불명 괴상한 이야기는 당신의 취향과 일맥상통합니다.

당신은 너무 직관적인 것만 찾을 뿐 도통 좋아하는 것에 기준이 없다는 비난을 들을지도 모르겠습니다. 특이한 걸 좋아하긴 하지만, 뭐가 얼마나 어떻게 특이해야 좋은지 당신도 잘 모를 겁니다. 

당신에겐 대중이 찾지 않는, 음지에 숨은 보석을 발견하는 재주가 있습니다. 우수한 언더그라운드 뮤지션, 아무도 안본 최고의 독립 영화 등 숨은 진주를 찾아내 사람들에게 알리는 문화 메신저의 역할을 할 수도 있습니다.


좋아하는 것
참신하고 희귀하고 독창적이면 당신은 가리는 것 없이 좋아할 가능성이 있습니다. 하지만 너무 특이한 그림이나 소설은 싫어할지도 모르고, 지겹게 듣는 대중가요 중에도 뜻밖에 당신 취향에 맞는 곡이 있을지도 모릅니다. 솔직히 저희도 당신이 정말 좋아하는 것에 어떤 기준이 있을지 확실하지 않습니다. 왜냐하면 당신은 기본적으로 무엇에든 쉽게 질리는 경향이 있거든요. 바로 이런 쉽게 질리는 성격 때문에 당신은 끊임없이 더 새롭고 더 창의적인 것을 발굴해 나갈 겁니다. (어쩌면 계속 새로운 것을 찾는 것마저 질려 버릴 수도 있습니다.)

아래의 유명한 "앱솔루트" 광고는 당신 같은 취향을 위한 대표적인 작품이라 하겠습니다.


저주하는 것
당신은 줏대없는 따라쟁이들이 제일 싫습니다. 어떤 옷이 유행한다면 우르르 따라가 몸에 걸쳐 보는, 무슨 영화가 잘 팔린다고 친구들과 몰려가 감상하는, 그런 개성도 없고 주체성도 없는 나방떼 같은 사람들도 싫고, 그런 사람들이 좋다고 떠받드는 가수도 배우도 드라마도 너무 싫습니다.   

당신은 알기 어려운, 직관적이지 않은 것도 싫습니다. 소설이건, 시건, 노래 가사건, 그림이건, 만화 건, 알기 어렵게 꼬아 놓으면 기분 나쁩니다. 논리와 철학으로 어렵게 만든 글이나 그림은 무책임합니다. 독자들에게 불성실하거나, 지적인 척 잘난 척하려는 속물 근성 때문일테지요. 괜한 절제와 통제, 근엄함과 엄숙함, 쿨해 보이려는 냉정함은 이런 속물 근성의 한 부류일 것입니다.


이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/17 관련글 쓰기
Name
Password
Homepage
비밀글 (Secret)
static code analysis
작성한 코드들이 pointer를 이용한 function call들이 많아서 제대로 call graph를 보기 힘들가.
이를 위해 코드를 분석해주는 툴들을 찾아보았다.
코드를 실행하면서 분석 결과를 알려주는 DevPartner라는 tool의 evaluation 버전을 사용해봤는데,
일단 정품이 아니라 결과가 저장이 안되고 -_-; call graph의 글자가 너무 작고 잘린다.
그래서 코드 실행 없이 static하게 분석하는 tool을 찾아봤다.
SNIFF+이랑 CodeSurfer가 사용하기 적당한 듯해서 찾아봤으나,
SNIFF는 linux용만 찾고 CodeSurfer는 요즘 발매 중지중인듯 -_-
어디 간단하고 좋은 tool없나..

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/13 관련글 쓰기
^^| 2008/01/22 11:59 | PERMALINK | EDIT/DEL | REPLY
klocwork
sparrow| 2009/02/02 11:32 | PERMALINK | EDIT/DEL | REPLY
국내제품 sparrow도 있더군요
http://www.spa-arrow.co.kr
Parks19Gracie| 2011/10/25 08:18 | PERMALINK | EDIT/DEL | REPLY
Writing corporations are several year in academic papers writing industry. So, they have got good practice to offer high quality support and we should easily ask: " <a href="http://www.primewritings.com">someone write my essay</a> ".
write my paper| 2011/10/25 08:26 | PERMALINK | EDIT/DEL | REPLY
There're lots of things you do every day. However, some of them are nice and others will be worse. In fact, you don't like to do research papers writing, however, you can simply ask "help me write my paper ".
article submissions| 2011/10/29 07:13 | PERMALINK | EDIT/DEL | REPLY
Site can have colorful styling, nevertheless, it doesn't mean it will surely have a lot of visitors. Generally, people are willing their internet sites to have good traffic. Therefore, they turn to the submit articles company under such circumstances!
buy essay| 2011/11/30 13:01 | PERMALINK | EDIT/DEL | REPLY
I always buy essay and buy term papers just about this good post.
Name
Password
Homepage
비밀글 (Secret)
linux에서 메모리 릭이나 잘못된 메모리 사용을 찾기 위해서라면 valgrind를 사용한다.
사용법 : valgrind --tool=memcheck --leak-check=yes --show-reachable=yes 실행파일

valgrind에는 메모리 검사하는 memcheck외에도 cache 프로파일을 위한 cachegrind, 멀티쓰레드용 helgrind등이 있음.
valgrind의 장점 중 하나는 원본 소스를 리컴파일할 필요없이 바로 사용가능하다는거.

기본 원리는 LD_PRELOAD를 이용해서 valgrind.so를 먼저 링크시키고 가상의 CPU를 사용하게 함으로써 debug정보를 얻는 방식을 사용한다.

자세한 사용법은 HowTO 참조


 태그 : 
이 글의 관련글(Trackback) 주소 :: http://raballe.tistory.com/trackback/12 관련글 쓰기
rab| 2008/01/31 14:28 | PERMALINK | EDIT/DEL | REPLY
valgrind --tool=memcheck --leak-check=yes --num-callers=20 --leak-resolution=high
call stack 크기를 20정도로 늘이고 각 릭의 위치를 좀더 정확히 찾기 위해 resolution=high로 설정하는게 편하다
raballe| 2008/02/25 20:01 | PERMALINK | EDIT/DEL | REPLY
windows 기반 환경이라면 DevPartner 제품도 괜찮다. api call graph도 잘 나오고, memory leak 위치도 상대적으로 쉽게 찾을 수 있다.
Name
Password
Homepage
비밀글 (Secret)