========= 다음 글은 activelow님이 정리해 놓은 글입니다 ==========

(허락없이 가져왔습니다. 말씀하시면 바로 삭제 할께요. 좋은 글인 것 같아서 ㅠㅠ) 

1. 프로그램 설계 시에 알아야 할 좋은 코딩 방법

 

-          최신 표준을 따르라.

-          개발 인원을 적정한 규모로 한정하라.

-          프로그램을 새로 만드는 것보다 유지보수 하는 경우가 많다.

-          새로운 기법을 도입할 때는 신중히 하라.

-          Run and Fix전략을 피하라.

 

2. 띄어 쓸 때 좋은 코딩 방법

 

-          한 줄에 한문장만 써라.

-          선언문과 실행 문을 구분하라.

-          단락을 구분하라.

-          제어문들 사이를 구분하라.

-          함수들 사이를 구분하라.

-          연산자의 앞뒤로 빈 칸을 두라.

-          단항 연산자를 피연산자와 띄어 쓰지 마라.

 

3. 들여 쓸 때 좋은 코딩 방법

 

-          중괄호의 위치를 통일 시켜라.

-          내부 블록은 들여써라.

-          피제어부는 들여써라.

-          쓸데없는 들여쓰기는 하지 마라.

 

* 조건문/반복문 사용시 코딩 스타일

 

while (number == 0) {

    printf(continue..\n);

    continue();

}

 

* 함수의 코딩 스타일

 

int InitLcdFunc (int init)

{

    printf(LCD init rootine……\n);

    return 0;

}

 

 

* 중괄호 사용 시 코딩 스타일

 

void main ()

{

    {

        int var;

    }

}

 

4. 주석을 작성할 때 좋은 코딩 방법

 

-          다양한 주석의 형태

-          한 줄 주석과 주석 상자를 구분하라.

-          변수 사전 작성용 주석을 달아라.

-          의사 코드를 프로그램에 기입하라.

-          프로그램의 앞부분에 머리 주석을 반드시 달아라.

 

* 한 줄 주석

 

/* 한 줄 주석은 이렇게 작성한다. */

 

* 여러 줄 주석

 

/* 함수 및 긴 루틴을 설명하는 주석은 이렇게 작성한다.

*여러 줄이 필요 한 주석도 이렇게 작성한다.

*/

 

* 강조 사항이 있는 주석

 

/*********************************************************************** */

/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!           고 (Warning)        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */

/*   이 프로그램은 특별히 주의를 요한다. */

/*   모든 수치를 정밀하게 검증할 필요가 있다. */

/*********************************************************************** */

 

* 박스 주석

 

/*********************************************************************** */

/*   박스 모양의 주석은 이렇게 작성한다. */

/*   내용을 입력한다. */

/*********************************************************************** */

 

* 파일을 설명하는 주석

 

/* ======================================================= */

/*   원본 프로그램 명칭 : functcall.c                                */

/*   실행 프로그램 명칭 : functcall.exe                              */

/*                                                                  */

/*   목적 : 파일 조작 함수들을 호출하여 그 결과 값을 보존한다.       */

/*                                                                  */

/*   작 성 자     : 홍길동                                           */

/*   최초 작성일  : 2004년 01월 01일                                */

/*   제1차 수정일 : 2004년 12월 31일 (김진수) */

/*       - 함수 호출 문장들을 정렬하여 읽기 쉽게 함 */

/* ======================================================= */

 

 

5. 식별자 이름을 지을 때 좋은 코딩 방법 1

 

-          변수 이름을 체계적으로 지어라.

-          헝가리안 표기법으로 변수 이름을 지어라.

-          변수의 자료형을 변수 이름에 접두사로 표기하라.

-          기억 영역 계층을 접두사로 활용하라.

-          함수의 역할을 접두사로 활용하라.

-          자신만의 접두사를 만들어 활용하라.

 

6. 식별자 이름을 지을 때 좋은 코딩 방법 2

 

-          이름을 의미있게 지어라

-          비슷한 변수 이름을 사용하지 마라.

-          의미를 잃지 않는 범위에서 짧게 지어라.

-          이름이 길면 밑줄 또는 대소문자로 구분하라.

-          변수 이름을 밑줄로 시작하지 마라.

-          밑줄을 과도하게 사용하지마라.

-          대소문자를 적절히 배합해서 만들어라.

-          대소문자만으로 이름을 구분하지 마라.

 

< 변수 이름 예 >

l       static int  siMyNum;

l       register int riCounter;

 

< 함수 이름 예 >

l       int GetSoybeanFlour (int Soybean);

l       int GetNumber (void);

 

 

< 변수의 기억 영역 계층과 접두사 >

접두사의 예

접두사가 지시하는 내용

a

자동(auto) 변수

s

정적(static) 변수

g

전역(global) 변수

e

외부(external) 변수

r

레지스터(register) 변수

 

 

< 변수의 자료형에 따라 붙는 접두사 >

접두사의 예

접두사가 지시하는 내용

a

배열

arr

배열

b

bool 형 변수

c

character 형 변수

d

double 형 변수

f

float 형 변수

fd

파일 기술자

fp

파일 포인터형 변수

h

핸들

I

int 형 변수

n

int 형 변수

p

포인터형 변수

pfn

함수에 대한 포인터

r

참조형 변수

s

String 형 변수

str

Cstring 형 변수

u

unsigned 형 변수

w

word 형 변수

 

< 함수의 접두사를 활용한 예 >

접두사 활용 예

접두사가 지시하는 내용

GetNumber()

 'Get'으로 수를 얻기 위한 함수라는 것을 알수 있다.

SetNumber()

 'Set'으로 수를 설정하는 함수라는것을 알수 있다.

MaxNumber()

 'Max'로 수치 중에 최대값을 얻는 함수라는 것을 알 수 있다.

PutNumber()

 'Put'으로 수를 저장하기 위한 함수라는 것을 알 수 있다.

 

 

< 함수이름 작성시 접두사 >

접두사

지시하는 내용

Avr

평균값을 얻는다.

AvrOfTot

Cnt

데이터의 개수를 얻는다.

CntAllthing

Check

어떤 값을 검증한다.

ChkData

Get

어떤값을 얻는다.

GetData

Set

어떤값을 설정한다.

SetData

Is

무엇인가에 대해서 묻는 역할을 한다.

IsKey

Key

데이터 중에서 키 값만을 얻는다.

KeyPaymentTable

Max

최대값을 얻는다.

MaxOfNum

Mid

중간값을 얻는다.

MidOfData

Min

최소값을 얻는다.

MinOfArray

 

 

< 식별자 이름 작성시 축약어 >

 

축 약 어

Function

   fun

Number

   num

Day

   d 또는 dd

Month

   m 또는 mm

Year

   y 또는 yy

Temporary

   Temp

Terminate

   End

Terminal

   Term

 

 

7. 대소문자를 구분하여 이름 짖는 코딩 방법

 

-          변수나 객체의 이름은 소문자로 한다.

-          함수, 클래스, 구조형, 공용형 등의 이름은 대문자로 시작한다.

-          기호 상수나 매크로 함수는 모든 글자를 대문자로만 짓는다.

 

8. 연산자 사용을 위한 코딩 방법

 

-          조건 연산자는 경우에 따라서 효율성을 발휘한다.

-          연산자 우선순위는 ( )로 구분하라.

-          포인터 연산자를 변수 이름쪽에 붙여서 써라.

-          쉬프트 연산자는 빠른 속도가 필요할 때 사용, 일반적으로 산술 연산자 사용.

 

9. 명료한 프로그램을 만들기 위한 코딩 방법

 

-          함축된 코드 보다는 명료하고 이해하기 쉬운 프로그램을 작성하라.

-          while문에서 관계/대입 연산자의 우선순위를 혼동하지 마라.

-          while, for, if와 같은 조건식 안에서는 조건 연산 외에 대입 연산 등을 하지 마라.

-          묵시적인 non zero test를 하지마라.

-          KISS ( Keep It Simple and Short) 규칙을 따르자.

-          함수의 원형에도 인수의 자료형을 표기하라.

-          가인수에도 이름을 기제한다.

-          반환 자료형을 반드시 표기하라.

 

10. 이식하기 좋은 프로그램 만들기 위한 코딩 방법

 

-          파일 이름의 길이를 14자로 제한한다.

-          파일 이름에 특수문자를 사용하지 마라.

-          조건부 컴파일을 활용하여 이식성을 높여라.

-          컴파일러의 한계를 인식하라. (중첩 단계, 모듈 크기, 식별자 길이)

-          자료형의 크기가 달라질 수 있음을 고려하라. (프로그램 도입부에 sizeof()

연산자를 사용하여 자료형의 크기를 측정하는 방법도 있다.

-          절대 경로를 지정하지 마라. (헤더파일 등 삽입시)

 

11. 정밀한 프로그램을 만들기 위한 코딩 방법

 

-          정밀한 계산이 필요하다면 부동소수점 연산을 피하라.

-          정밀한 계산에는 flot형보다 double형을 사용해라.

-          정수형의 크기를 확인하라.

-          계산 단위를 명시하라.

-          나눗셈 연산에 주의하라. (소수이하 부분 생략)

-          자료형의 변환이 이루어지지 않도록 하라. (작은 단위로 변환 시 자료 유실됨)

 

12. 성능향상을 위한 코딩 방법

 

-          성능이 중요하다면 될 수 있는 한 출력하지 마라.

-          연산을 단순한 형태로 바꿔라. (아래는 연산자 부하의 크기)

비트/논리 연산 < 덧셈/뺄셈 < 곱셈 < 나눗셈 < 부동 소수점 처리

-          효율성이 요구되는 큰 파일을 다룰 때는 바이너리 파일을 사용하라.

-          팩키드 구조체와 언팩키드 구조체의 장단점을 인식하고 사용하라.

팩키드 구조체 : 스택의 크기 제한, 신호 처리 변수가 많이 필요한 경우 사용.

언팩키드 구조체 : 스택의 크기 제한 없음, 신호 처리 변수가 적을 경우 사용.

-          실행 환경을 고려하여 언어 선택하라.

 

13. 이해하기 쉬운 프로그램을 만들기 위한 코딩 방법

 

-          goto 문을 사용하지 마라.

-          C의 구성요소를 선행처리기로 치환하지 마라.

-          긴 자료형은 짧은 이름으로 바꿔 사용하라.

-          조건식 보다는 if 문을 사용하라.

-          배열의 차원을 3차원으로 한정하라.

 

14. 사용자 인터페이스를 처리할 때의  코딩 방법

 

-          입력 값을 저장할 변수의 크기를 충분히 확보하라.

-          변환 지정자와 매개변수의 개수를 일치시켜라.

-          scanf() 함수 보다는 fgets()와 sscanf() 함수를 사용하라.

-          fflush() 함수를 사용해 표준 입출력 장치의 버퍼를 비워라.

 

15. 오류 없는 프로그램을 만들기 위한 코딩 방법

 

-          배열의 첨자는 0부터 시작한다는 것을 잊지 마라.

-          치환 문자열은 반드시 괄호를 씌워라.

-          파일을 열었다면 반드시 닫아라.

-          컴파일러의 경고를 무시하지 마라.

-          런타임 오류를 인식하고, 그것이 발생하지 않도록 코드를 작성하라.

-          배열이 큰 경우에는 정적 변수로 선언하라


1. 유닉스

기존의 대형 network는 대부분 유닉스를 기반으로 구성되어 있었으며 해커들은 여기서 자양분을 공급받았고 해킹을 해왔다.
그러므로 당연히 알아야 된다.

2. 리눅스

리눅스는 유닉스와 비슷한 형태의 운영체제로 PC 에서구동될 수 있도록만든 유닉스 비슷한 운영체제라고 보면된다.
명령도 거의 비슷하고 커널 구조도 거의 흡사해서 유닉스 사용자는 리눅스를 무리없이 쓸 수 있고 유닉스 해킹법은 리눅스에서도 거의 통한다.

3. 윈도우95/98/2000/NT/ME

요즘대부분의 개인 PC 사용자들이 윈도우시리즈에 바탕을 두고 있고 서버시장에서도 그 편리성에 힘입어 NT가 입지를 넓혀가고 있다.
그러므로 당근 알아야 된다.

4. HTML

HTML은 웹 페이지를 구성하는 가장 기본이 되는 언어이며 초보자들이 프로그래밍의 개념을 잡는데 어느 정도 도움을 줄 수 있다.또한 요즘 들어 웹 보안이 중요한 문제로 자리잡고 있으므로 웹의 기본인 HTML은 꼭 알아야 된다.

5. C/C++ 언어

이 언어는 가장 많은 사용자를 가지고 있으면서 가장 오래된 언어 중 하나이며 가장 강력하고 빠른 언어 중 하나이다. 해커들 중 이 언어를 사용하지 못한다면 그 사람은 이미 해커가 아니다. 많은 언어들 이 C 언어를 바탕으로 생성되었으며 C를 능숙하게 다룰 수 있는 사람은 다른 언어를 배우는데도 문제가 없을 것이다.

6. Java script

자바 스크립트는 자바와는 다르다.
웹이 활성화됨과 동시에 다양한 웹 프로그래밍 도구들이 생겼다.
자바 스크립트도 그 중 한가지로 많은 웹 페이지에서 이것을 사용하고 있다.
자바 스크립트만 알아도 해킹할 수 있는 웹페이지가 있을 정도이니 당연히 알아두자.
참고로 자바 스크립트와 자바를 확실히 구별해서 사용하자.
그렇지 않으면 자바 프로그래머들이 들으면 기분 나빠할 것이다.

7. Java

현재로서는 자바를 굳이 알아야 한다고 하기는 이른 감이 있지만 자신이 능력있는 해커가 되고자 한다면 자바는 또한 필수다.
자바는 썬 마이크로시스템즈 사가 만든 객체지향 언어로 요즘 많은 네트워크 관련 장비와 연계하여 보이지 않게 많은 입지를 넓히고 있다. 네트워크에 연결될 수 있는 많은 장비들과 심지어는 가전제품까지 자바의 지원을 표방하고 나선 마당에 자바를 배우지 않을 이유가 없다. 네트워크는 컴퓨터에만 있는 것이 아니다.

8. CGI

Common Gateway Interface의 약자인 CGI는 웹에서 어떤 입력을 받아서 그 데이터를 처리하는 프로그램과 연결을 위한 일반적인 규약으로 특정 언어나 수단을 지칭하는 것은 아니다.
CGI를 통한 입력을 처리하는 방법은 다양하며 그 다양한 방법들 중 일반적으로 사용되는 방법들을 해커는 반드시 알 필요가 있다.뒤에 다시 언급할 것이다.

9. Perl

펄은 앞에서 언급한 CGI와 관련되어서 중요한 것이다.
CGI 데이터 처리를 위해서 사용되는 많은 수단들 중 하나가 바로 펄이며 펄은 CGI를 떠나서 그 자체만으로도 주목받는 언어들 중 하나다. 초보자의 경우는 모르겠으나 기존 프로그래머는 배우기 쉬우며 다양한 기능들에 만족할 것이다.

10. Shell Programming

쉘 프로그래밍은 유닉스/리눅스의 쉘 번역기를 이용하여 작성하는 프로그램을 말한다.
쉘은 원래 명령어 해석기지만 그 명령어들을 모아서 하나의 파일로 만든 다음일반 프로그램처럼 실행시킬 수 있다. 해커들은 쉘 프로그래밍의 대가이며 쉘 프로그래밍은 별다른 컴파일러를 요구하지 않는 인터프리터 언어이므로 적용하고자 하는 곳에 바로 쉽게 적용할 수 있어서 해킹 도구로 그만이다.
또한 많은 유닉스/리눅스 서버가 CGI 처리를 위해 쉘 프로그래밍을 사용하므로 반드시 알아야 겠다.

11. OSI 7 layer

OSI 7 계층은 네트워크를 위한 전반적인 구조를 정의하고 있는 일종의 프로토콜이라고 할 수 있다.
많은 네트워크가 이 계층 구조를 바탕으로 형성되어 있으므로 해커라면 개념은 반드시 잡고 넘어갈 필요가 있다.

12. TCP protocol

인터넷의 대부분은 이 프로토콜을 이용해서 구현되어 있다.
인터넷 해킹에 관심이 많은가?
네트워크가 뭔지 알고 싶은가?
그렇다면 이건 전공필수다.

13. CISCO router

라우터는 네트워크를 구현하는데 필수적인 장치이다.
특히나 CISCO router는 전 세계 라우터 시장의 75%를 장악하고 있다.
시장을 좌지우지하는 점유율이 60%라는 것을 감안할때 라우터는 시스코가 표준이라고 봐도 좋다.
그러므로 시스코 라우터의 구조 등에 대해서 공부하는 것은 당신을 대단한 해커로 만드는 지름길이다.

14. DES 암호화

DES 암호화는 유닉스/리눅스의 대표적인 패스워드 암호 변환 알고리즘이다.많은 암호들이 DES 암호 방법을 사용하여 구현되어 있으므로 이에 대한 학습도 중요하다 하겠다.

15. PGP [Pretty Good Privacy]

PGP는 공개키 암호 방식을 사용하는 암호화 알고리즘이다.
인터넷을 통한 대부분의 데이터 전송이 암호화 되지 않은 상태로 전송된다.해커라면 이런 암호화 되지 않은 데이터 전송으로 인해 다른 사람이 자신의 데이터를 패킷 스니핑 하는 것을 용납하는 것은 자존심 상하는 문제다.
PGP는 그에 대한 적절한 해답이 될 수 있다.

16. 자료구조론

자료구조론은 프로그래밍에 있어서 기본이나 마찬가지다.
자료구조는 가장 깔끔한 프로그래밍을 가능하게 하는 반석이다.
해커라고 해서 무작정 네트워크를 뚫기만 하는 좁은 영역만 보지 말고 기본을 다질 줄 알아야 한다.

17. 컴퓨터 구조론

컴퓨터의 구조를 일단 알게 되면
컴퓨터가 절대 대단한 장치가 아니라는 것을 깨닫게 된다.
누군가 쓴 책의 제목처럼 컴퓨터는 깡통에 지나지 않는다.
하지만 그 깡통은 말 잘듣는 훌륭한 하인이 될 수 있으며 당신에게 가장 유용한 도구가 될 수 있다.
컴퓨터 구조론을 공부함으로 해서
당신은 그 하인을 가장 적절하게 부릴 수 있을 것이다.

18. 어셈블리어

어셈블리어는 가장 빠른 언어이며 가장 근본적인 언어이고 가장 까다로운 언어 중 하나이다. 어셈블리어를 배우는 가장 근본적인 이유는 가장 근본적으로 컴퓨터를 다룰 수 있기 때문이다.
하지만 어셈블리어는 머신에 종속되므로 그것을 컴퓨터 종류마다 다 배운다는 것은 무척이나 소모적인 작업일 수 있다.필수라고 말하기는 힘들지만 어셈블리어를 능숙하게 다룬다는 것은 확실히 유리한 점이 있다.

19. Ethernet Structure

대부분의 네트워크 환경이 LAN으로 구성되어 있으며 Lan은 또한 대부분 Ethernet 프로토콜을 구현하고 있다.
몇몇 해킹법[패킷 스니핑, E-mail intercepting 등]은 Ethernet 프로토콜의 단점을 바탕으로 하며 Ethernet은 그 구조상 많은 재미있는 해킹을 맛볼 수 있다.

20. 영어

어디선가 해커가 알아야할 가장 기본적인 사항으로 영어를 언급한 글을 본적이 있다.
맞는 말이다. 영어를 모르고서는 해커되기를 포기하는 것이 좋다.
왜냐하면 대부분의 자료가 영어로 되어 있기 때문이다.
당신이 만약 남이 다 먹고 소화 다 시킨 자료로만으로도 만족한다고 하면 영어를 배울 필요는 없을 것이다.

다른 해커에게 자료를 구걸하면 되니까 말이다.

21. Gateway/Firewall

상업적으로 또는 중요한 정보를 포함하고 있는 네트워크는 그 정보를 보호하기 위해서 방화벽을 사용한다.
방화벽은 비유적으로 말하자면 어떤 건물로 들어 가는 문이라고 할 수 있으며 문을 지나가고자 하는 사람이나 문을 지키고자 하는 사람 둘다그 문의 구조에 대해서 잘 알 필요가 있다.

22. 디지털 회로 이론

컴퓨터를 사용한다고 하면 일반적으로 소프트웨어적인 면만 강조하기 마련이다.하지만 실제로 컴퓨터는 하드웨어이며 소프트웨어는 결국은 그 하드웨어에 종속되기 마련이다.
소프트웨어가 구현되는 곳이 하드웨어를 바탕으로 하므로 컴퓨터를 구성하는 디지털이라는 신세기의 괴물을 알지 못하면 근본적인 컴퓨터에 대한 이해는 기대하기 힘들다.
우리의 선대 해커들 거의 모두가 하드웨어 해커였다는 것을 상기해보기 바란다.

23. 유즈넷

유즈넷은 많은 정보의 보고이다.
거의 대다수의 해커들이 유즈넷을 거점으로 활동하고 있으며 유즈넷을 위해서 봉사하고 있다. 가장 빠른 정보를 얻을 수 있는 곳은 유즈넷이다.
하지만 유즈넷은 완전히 걸러진 정보를 얻기는 불안하므로 어느 정도의 해안이 필요하다.

24. 소프트웨어 공학

여기서 말하는 소프트웨어 공학은 넓은 의미의 소프트웨어 공학을 말하는 것이 아니다.
단지 소프트웨어를 만들때 필요한 설계적인 측면에 대한 공부가 필요하다는 것이다.
해커는 어설퍼서는 곤란하다.
해커가 만든 프로그램은 그 이름에 걸맞는 격을 갖출 필요가 있다.
그러므로 버그가 없는 소프트웨어는 해커의 명성을 드높인다.

25. ASCII

아스키 코드는 컴퓨터에서 일반적으로 사용되는 문자 256개를 숫자 0-255에 매핑시킨 것이다.
모든 문서 파일의 기본이 되며 어떤 해커는 이 255개의 모든 문자를 외우고 다니는 사람도 있다.
외우면 무엇이 좋으냐고? 당연히 컴퓨터 조작과 프로그래밍을 빠르게 할 수 있다.

26. X진수 연산

진법은 아주 기본이 되는 것이다.
특히나 2진수와 16진수간의 변환은 빠르면 빠를 수록 좋다.
2의 16승까지 정도는 외우고 있어야 한다.
이것도 빠르면 빠를 수록 프로그래밍을 빠르게 한다.
계산기가 있는데 무슨 말이냐고 할지 모르지만
외우고 있는 사람과 못외우는 사람은 차이가 많이 난다.

27. Bool 연산

불 연산은 논리연산을 수행하기에 적합하도록 만든 수학이다.
필수라고 말하기는 그렇지만 이것도 알아두면 프로그래밍시 조건식 판단에서 상당히 빠르고 견고한 작업을 할 수 있다.

28. IRC

IRC는 일종의 채팅이다.
많은 해커들이 IRC에서 채팅을 하고 얘기를 나누며 의견을 교환하고 자료를 공유하고 있다.
해커들이 자주 찾는 IRC를 알아 두었다가 그곳에 자주 들리며 자기 입지를 조금씩 넓혀 가는 것도 좋겠다.

29. 해킹 툴

일부 해커는 이것에 반감을 가지고 있을 수도 있다.
해킹 툴을 사용한다는 것은 훌륭한 해커들에게는 일종의 모욕이다.
하지만 난 사용하라고는 하지 않았다.
단지 알아야 한다고 말하는 것이다.
알아야만 피할 수 있고, 그 해킹툴에서 사용하는 보안 취약점과 기법들을 배울 수 있다.
또한 간단한 방법이 있다면 어려운 방법을 굳이 선택할 이유는 없다. 툴에만 얽매이는 것은 위험한 것이지만 이해를 한 상태에서 동작 시키는 것은 우리가 계산을 하기 위해서 컴퓨터를 사용하는 것과 다를 바가 없다.
"세상에는 해결해야할 문제가 산재해 있다."

30. 기본 윤리

윤리가 바탕이 되지 않은 해커는 결국 크래커가 되고 만다.
왜냐하면 해커라는 존재는 과거의 말썽장이와 이단아의 이미지를 넘어서 이제는 권력에 어느 정도 접근하고 있다.
컴퓨터에 대한 능력은 사회적으로도 많은 인정을 받고 있으며 존경을 받는 입장에까지 이르고 있다.
이런 마당에 기본 윤리가 바탕이 되지 않은 해커는 권력을 탐하는 썩은 정치가들 마냥 그 권력을 엉뚱한 곳에 사용하게 될 것이다.
진정으로 존경받는 해커가 되고자 한다면 결국 윤리적인 사람이 되어야 한다.차가운 컴퓨터를 다루는데에도 따뜻한 가슴이 필요하다.

해커라는 직업은 불법으로 자행되는 일에 대하여 사고 분석을 하여 대응 방법론을 제시하는 매니저라고 볼 수 있습니다. 국내 같은 경우 정보보안 전문가가 많이 부족한 실정입니다. 예를 들어 말을 한다면 청와대, 국정원에서 사용되고 있는 보안 제품을 있는데 외산 제품이라고 가정을 했을 경우 국내 보안 매니저를 그 제품을 컨트롤 할 수 없어 외국에 있는 인력을 불려 장비를 점검을 하게 되는데 이때 OS, Network등 각각의 전문가들이 각각 맡은 분야만 작업을 하게 됩니다. 이때 지불되는 비용이 시간당 천불이 되기도 합니다. 국내처럼 한사람이 모든일을 하지를 않는게 외국의 현황임

이에 보안전문가도 역시 한 부문만을 맡아서 업무를 진행을 하게 됩니다. 침해사고의 로그정보를 분석을 하여 문제점을 파악을 하게 됩니다. 이에 분석된 자료에 의거하여 방법론을 제시를 하게 됩니다.
이에 필요한 시스템 점검을 하게 됩니다.



=ㅇ=  어쩌라는겨 ㅠㅠ

+ Recent posts