프로그래밍/VI 자동실행 환경/C, Python/대화형 쉘/디버그 (교육 38일차)

SW·2023년 1월 12일

미션20230111-1> 아래 조건에 맞는 프로그래밍 환경을 설치하시오.

1. 개요
화이트 해커가 되기 위해서는 프로그래밍 언어는 필수이고 그중에서도 C, C++, Python 언어는 필수이므로 윈도우에서 C, C++, Python 언어를 제작하기 위한
개발 툴을 설치한다.

2. 용어 설명
Visual Studio: MS사에서 만든 상용 개발 툴
Community 2022버전: 개인이 무료로 다운로드 받아서 사용
Visual Studio Code: MS사에서 만든 무료 편집기로 다양한 언어(C, Python, PHP, HTML ...) 와 조합해서 개발하는 편집기

o C/C++ 프로그래밍 언어
Visual Studio Community 2022 버전 설치하기
참고: https://cafe.naver.com/linuxmasternet/1698

o 파이썬 프로그래밍 언어
윈도우용 파이썬 설치하기

  • 설치 버전은 예전 버전으로 되어 있으므로 최신버전으로 받아서 설치한다.

https://cafe.naver.com/linuxmasternet/1232

VSCode 설치하기

  • 설치 버전은 예전 버전으로 되어 있으므로 최신버전으로 받아서 설치하고 파이썬과 연동한다.​

https://cafe.naver.com/linuxmasternet/856

실습> 코딩 사이트 소개

화이트 해커가 되기 위한 코딩 사이트

https://w3schools.com
http://www.tcpschool.com/
https://dojang.io/
https://wikidocs.net/book/1
https://modoocode.com/187
https://modoocode.com/130

실습> vi에서 자동 실행환경 구성하기

https://linuxmaster.net/vi에서자동실행환경구성하기.txt

실습> Visual C++로 설정하기

https://cafe.naver.com/linuxmasternet/941

실습> 윈도우 디펜더에서 exe 폴더 제외하기

https://cafe.naver.com/linuxmasternet/981

실습> 하나의 프로젝트에서 main()함수 2개 사용하기

하나의 프로젝트에는 1개의 main()함수만 존재한다.

1. 주석처리

  • 이전 소스를 주석 처리한다.

2. 빌드 제외
https://cafe.naver.com/linuxmasternet/982

실습> C언어 이스케이프 문자

주로 printf() 함수에서 사용됨.

백 슬래시() 뒤에 하나의 문자를 조합하여 사용 하는 문자를 이스케이프 시퀀스라고 함
-일반적으로 아스키코드(ASCII) 문자 중 제어 문자를 표현 하기 위해 사용 함
-백 슬래시() 뒤의 문자와 함께 두 문자를 하나의 단일 문자로 취급
ESCAPE 문자 기능
‘\n’ New Line(새로운 줄로 이동)
‘\r’ Carriage Return(줄의 처음으로 이동)
‘\b’ Back Space(한 문자 왼쪽으로 이동)
‘\t’ Tab(탭 크기만큼 이동)
‘\a’ Alarm(벨 소리 냄)
‘\’ \ 문자를 화면에 출력

실습> 아래 소스 파일을 생성하고 컴파일한 후 실행하시오.

-- test2.c --
#include <stdio.h>

int main()
{
printf("Welcome To C Class~!!\r");
printf("Very Easy \n");
printf("Hello B\b");
printf("C\n");
printf("Hello\tC\n");
printf("Hi\tC\n");
#if _WIN32
_getch();
#endif

return 0;

}
-- test2.c --

-- test3.c --
#include <stdio.h>

int main()
{
int year = 2023;

printf("오늘은 %d년 입니다. \n", year);

#if _WIN32
_getch();
#endif

return 0;

}
-- test3.c --

C언어에서는 문자는 작은 따옴표를 사용한다.
ex) 'A' , 'Z'

C언어에서는 문자가 2개 이상 모여있으면 문자열이라고 한다.
문자열은 큰 따옴표를 사용한다.

ex) "Hello", "안녕하세요", "A"

실습> 아래 소스 코드를 작성해서 실행결과를 확인하시오.

파일명 : test4.c

-- test4.c --
#include <stdio.h>
int main()
{
printf("10진수출력 : %d %d %d\n",180 , 0264 , 0xb4);
printf("8진수출력 : %o %o %o\n",180 , 0264 , 0xb4);
printf("16진수출력 : %x %x %x\n",180 , 0264 , 0xb4);
printf("16진수출력 : %X %X %X\n",180 , 0264 , 0xb4);
printf("단일문자출력: %c \n",'A');
//printf("단일문자출력: %s \n",'A'); 다음 페이지
printf("문자열출력 : %s \n","Apple");
printf("문자열출력 : %s \n","Apple");
printf("문자열출력 : %c \n","Apple");
printf("원주율은? %f \n",3.141592);
printf("원주율은? %d \n",3.141592);
printf("문자%c의ASCII 코드값은%d 이다.\n", 'a', 'a');
printf("ASCII 코드값이%d인문자는%c 이다.\n", 98, 98);

// 윈도우에서 컴파일할 때 필요한 코드
// 리눅스에서는 인식이 안된다.

#if _WIN32
_getch();
#endif

return 0;

}
-- test4.c --

실습> 아래 출력 결과를 서식 문자로 바꾸어서 출력하시오.

파일명 : test5.c

========== 출력 결과 ==========
이름 : 홍길동
나이 : 20
Tel : 010-1234-1234
키 : 178.5
몸무게 : 75
혈액형 : O

-- test5.c --
#include <stdio.h>

int main()
{
printf("이름 : %s\n", "홍길동");
printf("나이 : %d\n", 20);
printf("Tel : %s\n", "010-1234-1234");
printf("키 : %3.1f\n", 178.5);
printf("몸무게 : %d\n", 75);
printf("혈액형 : %c\n", 'O');
_getch();

return 0;

}

-- test5.c --








최종 설치 후 저장 폴더 설정하면 신뢰 여부 메시지가 나옴.






글꼴 설정은 네이버 D2coding으로 설정한다. (개발자의 가독성 제고, lI1 (소문자 엘, 대문자 아이, 숫자 1) 구분, oO0 (소문자 오, 대문자 오, 숫자 0) 구분 등

o 대화형 쉘 사용하기

쉘 : 사용자와 컴퓨터간의 명령어를 해석하는 명령어 해석기

인터렉트브 쉘에서 Hello World! 출력하기
검색 -> cmd -> python을 실행해서 인터렉티브 쉘로 들어간다.

print() : 화면에 문자열을 출력하는 함수
사용 형식 : print("문자열"), print('문자열'), print(변수)

C:\Users\user>py
Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
'>>> print("Hello World!")
Hello World!

오늘은 파이썬을 처음 배웁니다. 를 화면에 출력하기 위해서는 아래처럼 사용한다.
print("오늘은 파이썬을 처음 배웁니다.")
print('오늘은 파이썬을 처음 배웁니다.')

-- hello.py --
"""
파일명 : hello.py
프로그램 설명 : 파이썬 프로그램 시작하기
"""

print("Hello python!")
-- hello.py --

-- hello.py --
"""
파일명 : hello.py
프로그램 설명 : 파이썬 프로그램 시작하기
"""

print("Hello python!")
print("Hello python!")
print("Hello python!")
print("Hello python!")
print("Hello python!")
-- hello.py --

외부 터미널 실행
https://cafe.naver.com/linuxmasternet/919



.vscode: 폴더
|
+-- launch.json: 파일

-- launch.json --
{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
}
]
}
-- launch.json --

파이썬 코드 실행 시 별도의 외부 커멘드 창에 결과가 나타나는 설정 -> 실행 결과 및 디버그 시 가독성 제고

-- hello.py --
"""
파일명 : hello.py
프로그램 설명 : 파이썬 프로그램 시작하기
"""

print("Hello python!")
print("Hello python!")
print("Hello python!")
print("Hello python!")
print("Hello python!")
-- hello.py --

o 파이썬 프로그램의 코드 실행 순서
위에서 아래로 내려오면서 실행한다.
왼쪽에서 오른쪽으로 실행한다.

버그 : 벌레 (프로그램 오류)
디버그 : 벌레잡이

디버깅을 하는 이유
1. 논리적인 오류를 잡기 위해서
2. 프로그램을 분석하기 위해서 <--

디버그 동안 내부 편집기 창에서 변수 값을 표시해 줌

BP 설정은 공백에 설정하면 안된다.
BP 설정은 주석에 설정하면 안된다.
BP 설정은 실행되는 코드에 반드시 설정한다.

프로그램을 디버깅 하는 방법
1. 소스코드를 작성하고 저장한다.
2. 프로그램을 분석하기 위해 BP(Break Point)를 설정한다.
3. 디버그 모드(F5)로 프로그램을 실행한다.
4. 프로그램을 실행하기 위해 단축키(F10, F11)로 실행한다.
5. 프로그램을 실행하면서 프로그램의 흐름을 분석한다.

실습> debug.py 분석하기

-- debug.py --
"""
파일명 : debug.py
프로그램 설명 : 디버깅을 이용한 프로그램 분석하기
"""
i = 1

while i <= 5:
print(i)
i = i + 1

print('프로그램 종료')
-- debug.py --

-- debug2.py --
"""
파일명 : debug2.py
프로그램 설명 : 디버깅을 이용한 프로그램 분석하기
"""

for i in [1,2,3,4,5]:
print(i)

print('프로그램 종료')
-- debug2.py --

미션20230112-1> Rocky Lux 8에서 APM 설치하기

  1. OS 설치 후 그누보드 설치하기

  2. RAID 5 설정하기
    -HDD 1개 당 용량 20G 총 5개 추가하기
    -5개의 HDD를 RAID5로 묶기
    -RinAID 5 장치(/dev/md5)를 /backup 디렉터리에 영구적으로 마운트 설정하기
    -/backup 디렉리의 권한은 drwx------. 1 root root 로 설정하기

    RAID 5 총 용량 : 80G

profile
정보보안 전문가

0개의 댓글