Legacy
-
프로그래밍을 위하여 - 0x01 "C표준과 POSIX C"Legacy/C&C++ 2015. 6. 10. 08:45
C 표준 (C Standard) 이 글을 보고 있는 사람들은 다들 C를 배웠거나 배우고 있는 사람들일 것이다. 그러면 C는 알겠는데 C의 표준은 무엇일까? 먼저 일반적으로 통용되는 '표준'이라는 의미에 대해 알아보자. 위키백과를 검색해보면 표준이라는 말 대신 '표준화'라는 말이 등장한다. 표준화(標準化)는 여러 가지 제품들의 종류와 규격을 표준에 따라 제한하고 통일하는 것을 말한다. 이와 비슷한 말로 정규화가 있다. 표준으로 만든다는 의미지만 여러 가지 제품들의 종류와 규격을 표준에 따라 제한하고 통일하는 것을 말한다고 한다. 종류와 규격을 통일하는 것을 의미하는 것 같다. 표준화를 하는 이유는 불편함을 막기 위해서이다. 예를들어 돈을 생각해보자. 우리나라에서 표준으로 통용되고 있는 화폐가 무엇인가? '..
-
프로그래밍을 위하여 - 0x00 "사전 준비"Legacy/C&C++ 2015. 6. 10. 08:44
프로그래밍을 위한 사전 준비 Java 같은 객체 지향적(object-oriented) 언어들도 마찬가지겠지만, C로 프로그램을 만들 때에는 무작정 코드를 작성하기 전에 먼저 프로그램을 설계하는 과정이 필요하다. 언어를 새로 배우는 과정에서 접할 수 있는 예제들처럼 쉽고 간단한 문제들은 설계가 별로 필요가 없지만, 조금만 규모가 커지거나 알고리즘 대회 문제 같은 복잡한 문제를 프로그래밍하려면 대개 설계가 꼭 필요하다. 설계가 상세할 수록 프로그램이 주어진 문제를 빠르고, 정확하게 풀 '가능성'도 높아진다. 또한 설계를 잘 해두면 비교적 버그가 적고 유지보수도 쉬운 프로그램이 만들어진다. 프로그램을 설계할 때 생각해 봐야할 첫 번째는 '내가 풀고자 하는 문제가 무엇인가?'이다. 만약 다음과 같은 경우를 생각..
-
-
[VM Ware] 은행 보안 프로그램이 VMware를 알아채지 못하게 하는 방법Legacy/문제해결 2015. 5. 7. 14:29
출처 : http://www.unibia.com/unibianet/systems-networking/bypassing-virtual-machine-detection-vmware-workstation혹시라도 모를 나중에 원본 출처의 글이 삭제 되는 것에 대비해 백업을 해 둔다. VMWare Workstation(VMWare Player포함)에서 가상머신 탐지 기능 무력화 시키기Sun, 09/11/2011 - 05:18 — Daniel Morante Vmware로 프로그램을 돌리다보면 한번 씩 가상 환경에서 실행을 거부하는 몇몇 짜증나는 프로그램을 봤을 것이다. 보통 이런 경우 악성프로그램이 가장 주된 범인이지만, 몇몇의 합법적인 프로그램들 역시 가상 환경인 것을 탐지하면 설치가 안되게 하기도 한다. 다행히..
-
Java 의 Vector 와 ArrayList , Linked List 의 차이점Legacy/JAVA 2015. 5. 4. 17:34
Java의 리스트 클래스를 이해하자! Java에서 대량의 자료를 추가/삭제하며 처리하기 위해서는 무엇을 사용해야 할까요?연구실에서 Java를 한번쯤 공부해 본 사람이라면 보통 “Vector Class”라고 대답을 할 것입니다. 정답이죠. Vector Class는 대량의 자료를 가질수 있으며, 추가/삭제또한 자유롭게 처리가 가능합니다. 그럼 뭐가 문제라서 이런 글을 쓰는것일까요?단순히 “처리되는가” 를 넘어서 “빠르게 처리할수 있는가” 를 생각해 본다면, 위에서의 대답 “Vector Class” 는 X에 가까운 답이라고 할 수 있기 때문입니다.우선, Java에서 제공하는 “대용량 자료처리 개념” 은 여러가지 상위 인터페이스를 통해서 구현할 수 있습니다. (Collection, Iterator, Enumer..
-
[컴파일] 네임 맹글링 (Name Mangling, =Name Decoration)Legacy/C&C++ 2015. 5. 4. 10:30
[출처] [컴파일] 네임 맹글링 (Name Mangling, =Name Decoration) - http://blog.naver.com/PostView.nhn?blogId=no1rogue&logNo=30095521394 * 네임 맹글링(Name Mangling) ; 프로그램에서 함수나 변수를 선언했을 때, 선언시 사용했던 이름을 컴파일러가 컴파일 단계에서 일정한 규칙을 가지고 변형하는 것으로, 네임 데코레이션(Name Decoration)이라고도 한다. 네임 맹글링은 주로 C++에서 종종 듣게 되는데, 이 작업은 링커가 다른 범위(Scope)에 있는 '같은 이름의 함수 및 변수'들에 대해 구별을 가능하게 해준다. 다른 범위라는 것의 예를 들면 다른 파일이나 다른 네임 스페이스가 다른 경우를 들 수 있으며..
-