[C 강좌 ] 변수

Windows/TIP 2021. 2. 9. 23:54
728x90

프로그래밍에 있어 변수(Variable)란, vary와 able의 합성어로 '내용을 다양하게 변화시킬 수 있는 것'이라는 뜻을 가져요.

다시 말해 변수는 어떤 값을 담을 수 있는 '그릇'이라고 볼 수 있어요.

마치 처음엔 그릇에 김치를 담았다가 실증이나면 그릇의 김치를 치우고 다시 나물을 담을 수 있듯, 변수도 변수가 가진 값을 프로그래머가 원하는 때에 바꿀 수 있는 거에요.

또한 '그릇'이므로 변수의 크기가 커질수록, 즉 변수가 메모리에서 차지하는 공간이 클수록 많은 것을 담을 수 있고 어떤 변수이냐에 따라 담는 내용도 달라질거에요.

 

아래는 C에서 사용하는 변수와 크기, 그리고 그 변수가 담을 수 있는 범위를 표로 나타낸 것이에요.

 변수 타입  크기  범위
 short  2Byte  -32768 ~ 32767
 int  4Byte  -2147483648 ~ 2147483647
 long  4Byte  -2147483648 ~ 2147483647
 unsigned int  4Byte  0 ~ 4294967295
 unsigned long  4Byte  0 ~ 4294967295
 float  4Byte  1.175494351E-38 ~ 3.402823466E+38
 double  8Byte

 2.22507385072014E-308 ~ 1.7976931348623158E+308

 char  1Byte

 1Byte를 차지하는 문자 하나.

 단, 한글은 2Byte를 차지하므로 배열을 사용한다.

 

변수 중 short, int, long, unsigned int, unsigned long은 '정수형'이에요.

정수형의 변수는 오직 정수만을 담을 수 있어요. 문자열이나 소수 등은 정수형 변수에 넣을 수 없답니다.

 

그리고 float, double은 '실수형'이에요.

실수형의 변수는 정수는 물론이고 소수까지 담을 수 있어요. 하지만 문자열은 넣을 수 없어요.

 

char는 '문자형' 변수에요.

문자형 변수는 문자를 담을 수 있는 변수에요. 문자가 아닌 수는 문자 상태로 바꿔야만 담을 수 있어요.

예를 들어, char 타입의 변수 A가 있을 때 A에는 "A" 또는 "B" 등의 문자를 넣을 수 있어요.

하지만 1, 2 등의 수는 넣을 수 없답니다. 이럴 때엔 수를 문자열로 바꾸어 "1", "2" 등의 형태로 넣어주셔야해요.

참고로 C에서는 큰따옴표(")의 유무로 문자열인지 판단해요.

그러므로 큰따옴표가 있는 "A"는 문자열이지만 큰따옴표가 없는 A는 문자열이 아닌 것이 된답니다.

 

또한 정수형 변수들 중 앞에 unsigned이 붙은 것은 '음수가 없다'라는 뜻이에요.

unsigned가 붙지 않은 변수는 음수와 0, 그리고 양수를 담을 수 있는 것에 반해, unsigned가 붙은 변수는 0과 양수만 담을 수 있어요. 또한 음수를 담지않는 만큼 담을 수 있는 양수의 범위가 더 크답니다.

 

변수를 사용할 때에는 먼저 변수를 '선언'해주어야해요.

'선언'은 선언된 변수의 타입에 따라 메모리에 그 공간을 확보 해 놓는 것이므로 사용하기 전에 반드시 해야하는 작업이에요.

변수의 선언은 아래와 같이 할 수 있어요.

 

  변수 타입 변수 이름;

ex) int ABC;

 

마지막에 붙는 ;는 C에서 하나의 코드가 끝났음을 알리는 용도에요.

;로 코드의 끝을 알리지 않으면 C는 코드의 끝난건지 파악하지 못해 에러를 일으켜요.

 

변수 타입은 위쪽에서 언급한 바와 같이 int, long, char 등을 뜻해요.

어떤 변수 타입으로 선언했느냐에 따라 메모리에서 적당한 크기를 선언한 변수 이름 앞으로 할당 해 주어요.

 

변수 이름은 변수를 구분하여 사용하기 위해 쓰는 것인데, 아래의 표와 같은 네가지 경우를 제외하고는 프로그래머가 자유롭게 지정할 수 있어요. 하지만 효율성을 생각해서 무엇에 사용되는 변수인지를 알 수 있도록 정하는 것이 좋아요.

 

 1. 변수 이름은 대소문자를 구분한다. ex) 변수 ABC와 변수 abc는 서로 다른 변수이다. 

 2. 변수 이름은 영문자 또는 밑줄 문자(_)로 시작되어야한다.

 3. 변수 이름에는 공백을 사용할 수 없다.

 4. 영문자, 밑줄 문자, 숫자만 사용할 수 있다.

 5. 예약어를 사용할 수 없다. (예약어 = 프로그래밍 언어에서 이미 문법적으로 사용되는 단어들) ex) return, int, if

 

그리고 C는 변수의 선언이 소스 전체 또는 함수 블록의 가장 앞쪽에서 이루어져요.

이해를 돕기 위해 아래의 표를 보아주세요. 이것은 C의 일반적인 소스 구성이에요.

 

 #include <헤더 파일>

 선언문; 

 

 void main() {

     선언문;

     명령문1;

     명령문2;

     .....

     명령문3;

 }

 

 void 함수() {

     선언문;

     명령문1;

     명령문2;

     .....

     명령문3;

}

 

우선 C에서는 각 코드의 끝을 ;를 이용해서 알리고 {와 }를 이용해서 코드의 집합을 구분해요.

그리고 {와 }로 분리된 코드 집합을 '블록'이라고 칭하는데 이런 함수 블록들이 모여서 하나의 소스를 구성하는 거에요.

함수 블록들의 가장 첫 문장들을 보세요. void main(), void 함수()는 해당하는 함수 블록의 이름(main, 함수)과 타입(void)이에요. 함수는 다음 기회에 다루도록 하고, 우선 함수 이름 바로 다음에 나오는 코드를 보세요. 바로 선언문이에요.

이처럼 선언문은 함수 블록의 가장 처음 부분에서 이루어져야하며, 함수 블록 내의 어떠한 문장보다 먼저 나와야해요.

 

이번엔 함수 블록이 아닌, 소스 전체의 가장 앞 부분을 보세요.

#include와 선언문이 위치한 것을 알 수 있어요.

#include는 '선행처리기 지시자'인데, 역시 나중에 다루기로하고 일단은 선언문을 보아주세요.

함수 블록에서와 마찬가지로 소스 전체에서도 선언문은 선행처리기 지시자와 함께 소스 앞쪽에 위치해요.

 

이렇게 변수 선언은 소스 또는 함수 블록의 가장 앞에서 이루어져야하고, 그 이외의 곳에서 선언되면 에러를 일으켜요.

또한 변수는 선언된 위치에 따라 지역 변수와 전역 변수로 구분되어요.

 

먼저 지역 변수는 하나의 블록 내에서 선언된 변수로, 그 블록 내에서만 변수를 사용할 수 있어요.

전역 변수는 블록들의 밖, 즉 소스의 앞부분에 선언된 것으로 소스 전체에서 사용할 수 있어요.

 

그리고 사용되는 범위에 따라 정적 변수와 외부 변수로 분류되기도 하는데, 정적 변수는 그 변수가 선언된 블록이 끝나더라도 메모리에서 사라지지않아요. 정적 변수로 선언할 때에는 변수 타입 앞에 static을 넣으시면 되어요.

ex) static int A;

 

외부 변수는 다른 소스 파일에서도 변수를 사용할 수 있어요.

C 프로그램은 두 개 이상의 소스 파일 묶음으로도 이루어질 수 있는데, 이 때 외부 변수를 사용하면 변수가 선언된 소스 파일은 물론, 그 소스 파일과 연결된 다른 소스 파일에서도 변수를 사용할 수 있어요. 외부 변수 선언은 extern을 변수 타입 앞에 넣으시면 되어요.

ex) extern int A;

 

반응형

'Windows > TIP' 카테고리의 다른 글

제어판 제어(비활성화) 방법  (0) 2021.02.09
VB 기본 컨트롤 이해하기  (0) 2021.02.09
윈도우 10 숨겨진 기능 9가지  (0) 2021.02.09
VB 기본용어 정리  (0) 2021.02.09
와이어 샤크 사용방법  (0) 2021.02.09

안드로이드 에뮬레이터 Memu

기타 도구/Utility 2021. 2. 9. 23:50
728x90

이번에 소개할 프로그램은 PC에서 안드로이드를 실행하여 실제로 스마트폰기능을 사용하는 프로그램입니다.

 

가장많이 아시는 프로그램으로는 블루스택 잘아실거예요 ㅎㅎ 근데 제 노트북은 고물이라 안돌아가요 >ㅇ<

 

그래서 Memu 에뮬레이터를 사용해봤는데 사용하기가 편해서 추천해드립니다.

 

공식 홈페이지 https://www.memukorea.com/ 에서 다운 받으시면 됩니다.

 

중간에 검은네모는 광고및 앱이름과앱아이콘들을 가렸습니다. ( 광고로 인식되서)

 



처음 실행하면 로딩창이 뜨고 100% 되면 아래의 모습이 뜹니다. 기본설정은 화면 : 태블릿 기기 : 갤럭시 노트 10 


기본적으로 구글스토어가 깔려있습니다. 저는 게임용도로 사용하여서 게임을 깔아서 사용하였습니다

사용하는데 문제는 없었습니다. ㅎㅎ

 

이 프로그램의 장점은 다중 사용이 가능하다는것입니다. 프로그램 설치 후 Multi-Memu,와 Memu가있습니다.

Memu는 기본 첫번째를 실행하고 Multi-Memu는 미뮤앱플레이어-멀티미뮤를 실행하여 다중실행을 하도록 도와줍니다.

 

미뮤에서 사용했던것들은 게임,메신저,쇼핑앱등을 사용했었고 다 문제없이 작동됩니다.

가상스마트폰이라 전화기능은 없고요.사진,동영상등은 외부,내부에서 가져오기 내보내기가 가능합니다.

APK(앱패키징)이있다면 미뮤에다가 APK를 전송하여서 설치가 가능합니다.

반응형

리눅스 버젼별 링크

기타 도구/Utility 2021. 2. 9. 23:49
728x90

★ Cent Os 시리즈★ 
리눅스 cent os 7.0

<- 리눅스 cent os 7.0 버젼 다운 클릭

Cent Os 6.0

<- Cent os 6.0 버전 64비트 다운

--------------------------------------------------------- 
Θ페도라 시리즈Θ 

페도라 11 버젼

<- 리눅스 페도라 11 버젼 다운클릭

페도라 12 버젼 32비트

<- 페도라 12버젼 32비트 다운클릭

페도라 12 버젼 64비트

<- 페도라 12버젼 32비트 다운클릭

--------------------------------------------------------- 
♣우분투 시리즈 ♣ 

우분투 12.04.3 32비트

<- 우분투 12.04.3 32비트 버전 다운클릭

우분투 12.04,3 64비트

<- 우분투 12.04.3 64비트 버전 다운클릭

우분투 10.04.4 32비트

<- 우분투 10.04.4 32비트 버전 다운클릭

우분투 10.04.4 64비트

<- 우분투 10.04.4 64비트 버전 다운클릭
----------------------------------------------------------
◎ 데비안 시리즈 ◎

데비안 7.0 - part 1
데비안 7.0 - part 2

<- 데비안 7.0은 part 1,2,3 다 다운받으셔야돼요 

데비안 7.0 - part 3


---------------------------------------------------------- 
■ 약간은 구버젼들 ■ 

Pupy Linux

<- Pupy Linux 

우분투 7.04

<- 우분투 7.04 버전 다운 클릭 

G-os

<- G-os 버젼 다운 클릭 
----------------------------------------------------------
▶ Xubuntu ◀

Xubuntu 14.04.1 

32 bit

Xutbuntu 14.04.1

64bit

Xubuntu 12.04.4

32bit 

Xubuntu 12.04.4 

64bit
----------------------------------------------------------
☞ openSUSE ☜

openSUSE 13.1

32bit

opneSUSE 13.1

64bit

openSUSE 12.3 

32bit

openSUSE 12.3

64bit
----------------------------------------------------------
▦ Mageia ▦

Megaia 4.1 

32bit

Megaia 
4.1 

64bit
----------------------------------------------------------
▣ kail linux ▣

kail-linux-1.0.9

64bit

kail-linux-1.0.9

32bit

kali-linux-1.0.8

32bit

kali-linux-1.0.8

64bit
----------------------------------------------------------
♣ Android ♣

Android 4.2.2 jellybean
Android 4.4 kitkat
Android asus


-----------------------------------------------------------
『backtrack』 

backtrack5R3-KDE

32bit

backtrack5R3-KDE


===========================================================
∇windows7 ∇

windows7

full version
===========================================================
■ 설치에 필요한 유틸 ■ 

usb 부팅 디스크 만들기 

<- 클릭

 

링크 수정및 업데이트는 주기적으로 하고있습니다.

반응형

제어판 제어(비활성화) 방법

Windows/TIP 2021. 2. 9. 23:42
728x90

1. 로컬 그룹 정책 편집기 활용

gpedit.msc를 실행하여 로컬 그룹 정책 편집기로 들어가 아래 경로에서 설정합니다.

사용자 구성 - 관리 템플릿 - 제어판 - 제어판 액세스 금지 - 사용



2. 레지스트리를 이용한 방법

윈도우 홈 버전의 경우 로컬 그룹 정책 편집기가 없어서 위 방법을 적용할 수 없습니다. 이 경우 레지스트리 방식을 사용해보세요.

 제어판금지.reg

 제어판복구.reg


1번 방법은 바로 적용되는데, 2번 방법은 레지스트리를 병합한 다음 로그오프 한번 해주셔야 적용됩니다.


이렇게 제어판 사용을 금지시키면 일단 시작 메뉴에서 제어판이 사라집니다.


그리고 설령 C:\Windows\System32 경로로 들어가 control.exe 파일을 직접 실행시키더라도 아래와 같은 메시지가 뜨면서 제어판에 접근할 수 없게 됩니다.

반응형

'Windows > TIP' 카테고리의 다른 글

[C 강좌 ] 변수  (0) 2021.02.09
VB 기본 컨트롤 이해하기  (0) 2021.02.09
윈도우 10 숨겨진 기능 9가지  (0) 2021.02.09
VB 기본용어 정리  (0) 2021.02.09
와이어 샤크 사용방법  (0) 2021.02.09

명령어 OS차이

카테고리 없음 2021. 2. 9. 23:38
728x90

os의 종류는 다양합니다.
대표적으로 윈도우,리눅스,맥,안드로이드(리눅스),애플(맥)유닉스,임베디드(윈도우,리눅스) 등.

각각의 os마다커널에존재하는 커맨드영역이있는데요
리눅스,유닉스계열은 command -option
윈도우계열은 command /option
맥계열은 command /option or command -option

윈도우도 가끔은 command -option 형식이되지만 올바른 명령어가 아닙니다.

리눅스계열도 윈도우의 명령어를사용할때는 ( 해킹또는 윈도우리눅스호환프로그램) - option을 사용합니다.

제가 설명하는부분은 명령,제어 부분이고 command마다 각각 틀릴수도있습니다.( 예외라는게 존재합니다.) 하지만 기본적으로 위의내용대로입니다.

그래서 윈도우 명령어 설명과 리눅스 명령어 구별은 -과 / 차이로 알수있습니다

반응형

VB 기본 컨트롤 이해하기

Windows/TIP 2021. 2. 9. 23:31
728x90

VB 기본 컨트롤 이해하기 그림1

비주얼 베이직 6.0의 기본 컨트롤을 모두 배치 해 보았습니다. (할게 없는 중생 엘프의 뻘짓)

각 컨트롤의 이름은 맨 위 왼쪽부터

픽쳐박스, 라벨, 텍스트박스, 프레임,

커맨드버튼, 체크버튼, 라디오버튼, 콤보박스,

리스트 박스, 횡스크롤바, 종스크롤바, 타이머, 드라이버 리스트 박스, 폴더 리스트 박스,

파일 리스트 박스, 도형, 선, 이미지 박스, 데이터 컨트롤, OLE 입니다.

 

각 컨트롤의 특징을 설명 해드릴게요.

 

픽쳐박스

이미지를 담을 수 있습니다. 기본적으로 테두리가 있으며, 자신 안에 또 개체를 넣을 수 있습니다.

 

라벨

문자열을 표시하는 컨트롤입니다.

 

텍스트 박스

문자를 입력하거나 수정, 표시 하는 컨트롤입니다.

 

프레임

자신 안에 또 개체를 넣을 수 있습니다.

 

커맨드버튼

제일 표준 적으로 쓰이는 버튼입니다.

 

체크버튼

복수 선택이 가능한 버튼입니다.

 

라디오버튼

해당 컨테이너 내의 다른 라디오버튼과의 복수 선택이 불가능합니다.

(컨테이너 = 픽쳐 박스, 프레임 처럼 다른 컨트롤을 넣을 수 있는 개체, 또는 기능)

 

콤보 박스

오른쪽의 화살표를 클릭하면 아래로 리스트가 나오고 그 중 하나를 선택할 수 있습니다.

 

리스트 박스

콤보 박스와는 달리, 오로지 리스트만 나오는 컨트롤입니다.

 

횡, 종 스크롤 바

해당 방향으로 스크롤 됩니다.

 

타이머

일정한 시간을 간격으로 이벤트를 일어나게 할 수 있습니다.

 

드라이버 리스트 박스

컴퓨터의 드라이브를 표시 해 줍니다.

 

폴더 리스트 박스

선택된 드라이브의 폴더를 표시합니다.

 

파일 리스트 박스

선택된 폴더의 파일을 표시합니다.

 

도형, 선

문양이나 그림, 안내선 등을 만들 때 쓰입니다. 이벤트를 지정할 수 없습니다.

 

이미지 박스

이미지를 넣을 수 있습니다.

하지만 픽쳐박스와는 달리, 기본적으로 테두리가 없고 자신 안에 또 개체를 넣지 못합니다.

 

데이터 컨트롤

데이터 베이스와의 연동을 위해 쓰입니다.

 

OLE

기타 외부의 특별한 기능을 가져옵니다.

반응형

'Windows > TIP' 카테고리의 다른 글

[C 강좌 ] 변수  (0) 2021.02.09
제어판 제어(비활성화) 방법  (0) 2021.02.09
윈도우 10 숨겨진 기능 9가지  (0) 2021.02.09
VB 기본용어 정리  (0) 2021.02.09
와이어 샤크 사용방법  (0) 2021.02.09

윈도우 10 숨겨진 기능 9가지

Windows/TIP 2021. 2. 9. 23:29
728x90

1.웹(과 바탕화면)을 툴바에
구성 메뉴에서 몇 가지만 만지면 웹 주소 표시줄과 데스크톱 링크를 추가해 데스크톱 툴바를 더욱 강력하게 만들 수 있다.
툴바를 클릭하고 빈 공간 아무 곳에서나 마우스 오른쪽 버튼을 클릭한다. “도구모음” 탭을 선택한다.
여기서 주소, 데스크톱, 링크의 3가지 옵션을 선택할 수 있다.
주소 표시줄을 사용하면 웹 사이트 주소를 신속하게 입력해서 브라우저를 실행할 수 있다.
링크도 같은 기능을 하지만 주소가 아닌 저장된 북마크를 사용한다.
데스크톱 링크는 데스크톱을 바로 실행하는 대신 폴더를 비롯한 PC의 다른 위치를 불러온다.
화면은 조금 지저분해지지만 아주 유용하다.

2.가장 많은 공간을 차지하는 앱은 무엇일까?
설정 - 시스템 - 저장소 아래에는 PC 드라이브 목록이 숨겨져 있다.
드라이브를 클릭하면 앱과 사진, 동영상 등이 차지하는 드라이브 공간을 세부적으로 볼 수 있다.
하위 범주를 클릭하면 더 자세한 정보가 표시된다.
특히 SSD 공간이 부족해질 때가 되면 아마 앱 목록이 가장 유용할 것이다.
무엇이 공간을 차지하고 있는지 살펴보고 어떤 것을 삭제해야 할지 결정할 수 있다.

3.메일의 숨겨진 클러터 기능
마이크로소프트는 스팸도 걸러내지만 사용자가 관심이 없을 법한 이메일을 “클러터(Clutter)” 폴더에 넣어두기도 한다.
이 기능이 이제 윈도우 10 메일 애플리케이션에도 포함되어 있다.
클러터는 스팸은 아니지만 그렇다고 딱히 읽어야 할 메일도 아니다.
클러터 폴더는 메일의 “더 보기(More)” 하위 메뉴 아래에 다른 몇 가지 폴더와 함께 숨겨져 있다.
중요한 이메일이 클러터로 분류될까 걱정스럽다면 처음 사용할 때 클러터 폴더를 자주 확인하고
중요한 메일이 있으면 받은 편지함으로 옮겨놓으면 된다.
그렇게 시간이 지나면서 클러터는 어떤 이메일이 중요한지 학습하게 된다.
마이크로소프트는 어떤 이메일이 클러터 폴더로 분류되었는지에 대해 정기적으로 이메일도 보내준다.

4.코타나 기능 소개및 끄는 방법
코타나(Cortana)는 음성인식 기능이다.
코타나의 장점은 파일을 찾을수도있고 인터넷 검색을 할수도있다. 
하지만 단점은 아직까지 한국어를 인식을 못한다.
따라서 이 기능을 사용할려면 영어 문장으로 말해야 인식을 할수있다.
코타나를 끌 수 있는 옵션이 있다. 윈도우 10에 개인 정보를 저장하기로 했다면 마이크로소프트 클라우드에 보관된 개인 정보가 삭제되었는지도 확인하는 것이 좋다. 그러나 단순히 코타나의 메모리만 지우고 끄려면 설정(Settings) > 개인정보 > 음성, 수동 입력 및 입력으로 가서 "내 정보 표시 중지”라는 큼직한 회색 버튼을 클릭한다.

5.백그라운드 앱 관리자
역시 윈도우 10 모바일에서 건너온 기능인 백그라운드 관리자는 백그라운드에서
실행되는 앱의 설정을 조작하는 기능을 제공한다.
웹 브라우저를 사용하지 않을 때 그 안에 숨겨진 온갖 광고가 멋대로 인터넷에 연결하더라도
상관 없는 사람에겐 필요 없을 것이다.

6.배터리 사용/배터리 잔량 표시기
윈도우 10은 컴퓨터와 스마트폰에서 모두 실행되는 만큼 윈도우 10에는 “모바일 인식” 애플리케이션이 풍부하다. 
물론 배터리 관리 애플리케이션도 있다.
이 애플리케이션은 설정 - 시스템 - 배터리 절약 모드 아래에 숨겨져 있다.
실제 배터리 절약 모드가 있지만 별로 유용하진 않다.
마이크로소프트가 이 기능을 설정 메뉴 아래에 숨겨둔 유일한 이유는 이 기능이 제대로 역할을 수행하지 못하기 때문이다.
남은 배터리 수명을 계산해봤는데, 5분이 지나도록 결과가 나오지 않아 결국 포기했다. 
다만 앱 및 기기별 배터리 사용량 정보는 유용하다.
시스템에서 전력을 많이 소비하는 요소가 무엇인지 확인할 수 있을 뿐만 아니라(물론 디스플레이임)
배터리 소모의 주범인 앱도 구체적으로 볼 수 있다.

7.빠른 시작
윈도우 8 사용자에게는 익숙하겠지만 윈도우 7 사용자에겐 반가운 기능이다.
윈도우 10은 빠른 시작이 기본적으로 활성화된 상태다.
특정 시스템 파일을 마스터 파일에 써서 전체 시스템을 재시작하는 대신 이 시스템 파일을 재개하는 방식이다.
마이크로소프트는 이 기능이 부팅 시간을 약 60% 줄여준다고 주장한다.
빠른 시작과 SSD의 조합, 재부팅이 정말 빠르다 

8.새로운 종료 방법
C:\Windows\System32\Slidetoshutdown.exe 이걸을 실행하게 되면
화면이 검게 변하고 어떠한 창이 반쯤 걸쳐진체로 내려오게됩니다.
위로 올린다면 종료를 취소를 하는것이고 아래로 내린다면 종료를 하는것입니다.
일일이 폴더를 찾고 실행하기 어려운 분들은 Slidetoshutdown.exe를 작업표시줄 또는 메인 화면에 바로가기 형식으로
만들어놓으면 유용하다.

9.탐색기 닫기
Ctrl+Shift키를 누른채 작업표시줄을 우클릭하면 메뉴안에 탐색기 닫기라는 메뉴가 활성화 되어있습니다.
실제로 탐색기가 닫히는 경우입니다.

반응형

'Windows > TIP' 카테고리의 다른 글

제어판 제어(비활성화) 방법  (0) 2021.02.09
VB 기본 컨트롤 이해하기  (0) 2021.02.09
VB 기본용어 정리  (0) 2021.02.09
와이어 샤크 사용방법  (0) 2021.02.09
커널(Kernal)이란  (0) 2021.02.09

VB 기본용어 정리

Windows/TIP 2021. 2. 9. 23:26
728x90

컨트롤(control)

컨트롤은 사용자가 응용프로그램과 상호 대화할 수 있는 표현 양식입니다.

컨트롤을 이용하면, 도구상자에 표시된 해당 버튼으로 그래픽 도형처럼 작성할수 있습니다.

이렇게 작성된 도형들을 '컨트롤개체' 또는 'OCX'라고 부르는데, 도구 상자에 표시된 것 외에도 다양한 종류의 컨트롤을

직접 추가해서 사용할수 있습니다.

 

---

 

개체(객체, object)

개체는 작업 수행의 주체가 되는 단위로, 데이터를 가질 수 있으며, 어떤 동작을 수행할 수도 있습니다.

즉, 영어에서 말하는 주어(subject)에  해당한다고 생각하면 됩니다.

앞의 화면에서는 폼 자체도 개체이고, 폼 안에 있는 6개의 컨트롤도 개체가 됩니다.

이 때의 개체는 개체지향 프로그래밍(OOP)언어의 공통적인 개념입니다.

 

---

 

컬렉션(collection)

하나 이상의 개체들의 그룹을 '컬렉션'이라고 합니다.

컬렉션을 이루는 개체는 같은 종류일 수도 있고 서로 다른 종료일 수도 있습니다.

컬렉션을 표시하는 명령어에는 대부분 복수를 나타내는 의미인 'S'가 붙습니다.

예를 들어, 여러 개체들 중에서 특정 위치의 한 개체를 지정할 때는 인덱스 번호를 사용합니다.

 

---

 

속성(property)

글자의 크기나 색 등과 같은 개체의 모양이나 개체의 상태 등을 '속성'이라고 합니다.

위의 화면에서 글자의 색이나 크기가 변경되는 것은 해당 컨트롤의 속성을 변경시켰기 때문입니다.

속성값을 설정하려면, 디자인 타임에서는 속성창을 이용하고, 실행 타임에서는 속성을 지정하는 코드인

'개체, 속성 = 속성값' 의 형태로 지정해야 합니다.

 

---

 

이벤트(event)

이벤트는 응용 프로그램 화면(폼)에 있는 특정 컨트롤을 선택하거나 값을 변경하는 등의 지정된 작업이 일어날 때를 의미합니다.

위의 화면을 살펴보면, 명령 버튼을 누를 때나 스크롤바의 화살표를 누르는 것이 이벤트에 속합니다.

이벤트는 그 자체만으로는 아무런 역활도 하지 않기 때문에 이벤트를 인식하고 해당 이벤트에서 실행하게 될 작업명령을

프로그래머가 기술해야 합니다.

 

---

 

메서드(method)

개체가 수행할 수 있는 동작을 '메서드' 라고 합니다.

속성이나 이벤트처럼 메서드도 개체의 종류에 따라 할 수 있는 동작이 다릅니다.

 

---

 

폼(Form)

비주얼 베이직의 어플리케이션 프로그래밍의 기본이 되는 플랫폼이다.
간단하게는 '창(window)'이라고 말할 수 있다. 여기에 컨트롤들을 나열하여 윈도우에서 동작하는 프로그램을 만들 수 있다.

 

이상이엇습니다.

 

반응형

'Windows > TIP' 카테고리의 다른 글

VB 기본 컨트롤 이해하기  (0) 2021.02.09
윈도우 10 숨겨진 기능 9가지  (0) 2021.02.09
와이어 샤크 사용방법  (0) 2021.02.09
커널(Kernal)이란  (0) 2021.02.09
호스트파일 변조  (0) 2021.02.09

[안드로이드]음향시스템 어플

정보공유 2021. 2. 9. 23:26
728x90

Viper4Android는 스마트폰의 음향시스템을 조정할수있는 어플리케이션입니다.

소리가 너무 큰 스마트폰을 조정하고 소리가 너무 작은 스마트폰도 조정이 가능합니다. 또한 소리를 크게하고싶거나 작게하고싶을때 사용가능합니다. 음향시스템을 건드리느것이기에 따로따로 작동하는것이아니라 소리의 설정값에따라서 음향의 세기가 같습니다.

 

총 4가지의 소리를 조정할수있습니다. 헤드셋을연결했을때, 스마트폰의 스피커, 블루투스의 소리, USB/DOCK의 소리를 조정할수있습니다. 또한 메뉴를열어  UISetting 에서 모드를 바꿀수있는데 총 3가지 모드로 바뀝니다. 기본적으로 Beginner (초급자용), Moderate(중급자용) , Expert(고급자용) 초급자용에서 올라갈수록 설정하는 탭이 많이집니다. 그만큼 더욱 세밀하게 조정을 할수있습니다. 하지만 영어여서 못알아 먹는 ㅠㅠ 그냥 전 Beginner로 사용합니다.







반응형

와이어 샤크 사용방법

Windows/TIP 2021. 2. 9. 23:24
728x90

Wireshark의 강점

- 쉬운 설치.

- GUI 인터페이스를 이용한 간단한 사용법.

- 매우 다양한 기능들.

 

Wireshark는 원래 개발자가 근무하던 회사를 떠난 뒤, 저작권 문제로 인해 프로그램의 이름을 변경하기로 한 2006년까지 Ethereal로 불렸습니다.

 

Wireshark 실행화면



 

 

Capture -> Options

네트워크 인터페이스를 선택하고 Start을 클릭합니다.

 

 

Wireshark을 실행한 후의 모습.

 


 

Start를 누르게 되면 위와 같이 패킷을 보실수가 있을 겁니다 만약에 패킷이 안보이고 하얀 화면만

나오신다면 인터넷 새창을 한번 켜보시면 패킷을 확인 할수 있을 겁니다

 

메뉴설명


 

File

Open : 저장된 파일을 열때 사용한다.

Open Recent : 최근에 열었던 파일을 열때 사용한다.

Merge…. : 저장되어 있는 캡쳐 파일을 하나로 합칠때 사용한다.

Close : 현재 캡쳐 하고 있는 화면을 닫는다.

Save : 현재 캡쳐된 파일을 저장한다.

Save as : 현재 캡쳐된 파일을 다른이름으로 저장한다.

File Set : 현재 보고 있는 캡쳐파일의 Filename/Created/Last Modified/Size/저장경로  볼수 있다.

Export : 현재 파일을 여러 파일로 저장합니다.(

Print.. : 출력할때 사용한다.

Quit : 나가기.

 

 

Edit


 

Find Packet.. : 특정 패킷을 찾을수 있다.

Find Next : 찾은 패킷의 다음으로 이동한다.

Find Previous : 찾은 패킷의 전으로 이동한다.

Mark packet(toggle) : 특정 패킷을 사용자 임의로 지정할수 있다여러  복수 선택 가능)

Find Next Mark : 임의로 지정된 패킷중 다음 패킷으로 이동한다.

Fine Previous Mark : 임의로 지정된 패킷중 이전 패킷으로 이동한다.

Mark All displayed packets : 현재 캡쳐된 모든 패킷을 마크로 지정한다.

Unmark All Packets : 지정된 모든 마크 패킷을 원상태로 되돌린다.

Ignore Packet(toggle) : 지정된 패킷은 무시되어 어떠한 정보도 화면에 표시되지 않는다.(지정된 패킷에는 Ignore 라고표시된다.)

Ignore All Displated Packets : 화면상에 표시된 모든 패킷을 Ignore한다.

Un-Ignore All packets : Ignore  패킷을 원상태로 되돌린다.

Set Time Reference(toggle) : 지정된 패킷을 기준으로 패킷 시간을 표시한다.

지정된 패킷에는 *ref*표시가 생기며 패킷을 0초로 하여 다음패킷의 Time 표시한다.

Find Next Reference : ref 지정된 패킷의 다음 패킷으로 이동한다.

Find Previous Reference : fef 지정된 패킷의 이전 패킷으로 이동한다.

Configuration Profiles…. : 여러 환경설정등을 여러 가지 분류로 각각 저장할  있다.

Preferences.. : 캡쳐 화면이나 윈도우 폰트 등을 상세하게 설정할  있다.

 

View


 

Main Toolbar : 바로가기 단축창을 on/off 할수 있다.

Filter Toolbar : Filter 창을 on/off할수 있다.

Wireless Toolbar : Wireless 창을 on/off할수 있다.

Statusbar : 창아래 보이는 패킷 파일의 대한 정보를 on/off할수 있다.

Packet List : Packet  보이는 List창을 on/off 할수 있다.

Packet Details : Packet  정보를 확인할수 있는 창을 on/off할수 있다.

Packet Bytes : Packet 16진수  데이터 창을 on/off할수 있다.

Time Display format : Packet 시간 정보 표시를 임의로 바꿀수 있다.

Name Resolution : Wireshark MAC, Network, Transport address  프로토콜의 이름풀이를 on/off할수 있다.

Colorize Packet List : 패킷별 지정해 놓은 색상을 on/off할수 있다.

Zoom In /Zoom Out : 글씨 크기를 조정할  있다.

Normal Size : 원래 상태의 사이즈로 돌아온다.

Resize All Columns : 현재 사이즈에 맞춰  배열한다.

Displated Columns : Packet List  표시할 항목을 선택 할수 있다.

Expand Subtrees : Packet Details창에 선택된 Packet 정보를 펼칠  있다.

Expand All : Packet Details창의 모든 Packet 정보를 펼친다.

Collaspse All : Packet Details창의 모든 Packet 정보를 접는다.

Colorize Conversation : 모든 패킷의 색상을 바꿀수 있다.

Reset Coloring 1-10 : 1-10 저장된 패킷 색상을 원상태로 되돌린다.

Coloring Rules .. : 패킷에 대한 색상을 임의의 색으로 바꿀수 있다.

Show Packet in New Window : 선택된 Packet Details창과 bytes창을 한번에 열수 있다.

Reload : 패킷의 최상단 패킷으로 이동한다.

 

Go

Back : 이전에 선택된 패킷으로 돌아간다.

Forward : 돌아오기전에 선택되었던 앞의 패킷으로 돌아간다.

Go to Packet… : Packet 앞부분에 써있는 Number Packet 찾을수 있다.

Previous Packet : 선택된 패킷을 가운데 화면으로 고정시키고 한칸 위로 이동한다.

Next Packet : 선택된 패킷을 가운데 화면으로 고정시키고 한칸 아래로 이동한다.

First Packet : 모든 패킷의 가장 상단 패킷으로 이동한다.

Last Packet : 모든 패킷의 가장 하단 패킷으로 이동한다.

 

Capture


 

Interfaces

캡쳐할 인터페이스를 선택할수 있다.

필자는 Vm-ware가상 프로그램을 써서 인터페이스가 여러개고 보통 1개가 보이실 겁니다
 

Options

캡쳐를 시작하기 전에 여러 기본적인 옵션들을 선택 할수 있다.

Start : 캡쳐를 시작한다.

Stop : 캡쳐를 중지한다.

Restart : 캡쳐를 다시 시작한다.

Capture Filters… : 캡쳐된 Packet 필터옵션을 설정하여 임의의 Packet 선택하여 볼수 있다.

 

Analyze

Display Filters…. : 미리 설정되어 있는 Filter Option 화면에 표시해준다사용자는 선택하여 적용하거나 새로운 옵션을 만들수 있다.

Display Filter Macros… : 여러  문장의 Filter 명령어를 매크로로 지정하여 편하게 쓸수 있다.

Enabled Protocols… : wireshark 지원하는 Protocol 확인하고 on/off할수 있다.

Decode As…. : 임의의 패킷을 원하는 패킷으로 변경할수 있다.

User Specified Decodes… : 사용자가 임의로 변경한 Packet 확인할  있다.

Follow TCP Stream : TCP Packet 데이터 부분만 모아서 보기 쉽게 화면에 표시해준다.

Follow UDP Stream : UDP Packet 데이터 부분만 모아서 보기 쉽게 화면에 표시해준다.

Follow SSL Stream : SSL Packet 데이터 부분만 모아서 보기 쉽게 화면에 표시해준다.

Expert Info : Packet Errors, Warnings, Notes, Chats  한번에 확인할  있다.

Expert Info Composite : Exper Info 부분의 Packet 더욱 상세하게 확인할  있다.

 

Statistics

Summary : Wireshark File, Time, Capture, display, Traffic..  요약을 보여준다.

Protocol Hierarchy : 현재 캡쳐된 Packet 종류와 전체 패킷중의 Packet 비율을 % 확인할  있다.

Conversations : 전체 Packet 흐름을 확인 할수 있다. (IPv4,IPv6,TCP,UDP등이 어디에서 어디로 향했는지 한눈에 볼수있다.)

Endpoints :  Packet Rx,Tx 신호의 흐름을 한눈에 확인할  있다.

Packet Lengths… : Filter옵션을 넣으면  Filter 대한 Packet 길이를 확인   있다.

IO Graphs : 전체 패킷에 대한 흐름도를 그래프로 확인 할수 있다. Filter옵션을 넣어 특정 Packet 확인할 수도 있다.

 

Conversation List : 특정 Packet 대한 흐름을 확인   있다.

Endpoint List : 특정 Packet Rx,Tx 신호의 흐름을 한눈에 확인할  있다.

Service Response Time : 보다 정밀한 검사가 가능한 16개의 프로토콜이 제공됩니다.

 

Flow Graph : 전체 Packet 대한 흐름을 그래프로 한눈에 확인 할수 있다.

HTTP : HTTP Protocol 관련된 Packet 손실률 성공Packet등을 확인   있다.

IP Addresses : 임의의 Packet 대한 IP주소의 개수속도퍼센트를 확인   있다.

IP Destinations : 임의의 packet 대한 도착지 IP주에 대한 개속도퍼센트를 확인   있다.

IP Protocol Types : 임의의 Packet 대한 IP Protocol 대한 개수속도퍼센트를 확인   있다.

TCP Stream Graph : TCP Packet 대한 다양한 그래프를 확인   있다.

UDP Multicast Streams : 멀티캐스트로 사용한 UDP 확인   있다.

 

Telphony

Wireshark에서 지원되는 다양한 Telephony  패킷들을 확인   있다.

 

단축키

자주 쓰이는 기능들을 손쉽게 쓰기 위해 모아논 bar. 마우스를 위에 올려 놓으면 자세한 정보를 확인   있다.

 

 

와이어 샤크 화면에 대해서 설명해 드리겠습니다.

PACKET DETAILS PANE

packet list 패널은 캡쳐된 모든 패킷을 보여줍니다. Source/destination MAC/IP 주소, TCP /UDP 포트 번호, 프로토콜, 패킷 내용 등의 정보를 얻을 수 있습니다.

 

 

PACKET DETAILS PANE


Packet Details 화면은 패킷을 와이어 샤크가 스스로 정리하여 모든 패킷의 상세 정보를 자세히 볼수 있습니다.

 

DISSECTOR PANE

packet bytes 패널이라고도 하는 dissector 패널은 packet details 패널과 내용은 같지만 데이터를 16진수로 나타내줍니다.

 

Wireshark 하단 정보 표시

프로그램 화면 하단에서는 다음과 같은 정보들을 확인 할 수 있습니다:

Expert Infos, Paket , Displayed , Marked, Dropped

 

필터

CAPTURE FILTERS

 
 

Protocol:

사용 가능한 값: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.

프로토콜을 지정하지 않으면 모든 프로토콜을 사용합니다.

Direction:

사용 가능한 값: src, dst, src and dst, src or dst

출발지나 목적지를 지정하지 않으면 "src or dst" 키워드가 사용됩니다.

예를 들어, "host 10.2.2.2"은 "src or dst host 10.2.2.2"과 동일합니다.

Host(s):

사용 가능한 값: net, port, host, portrange.

호스트를 지정하지 않으면 "host" 키워드가 사용됩니다.

예를 들어, "src 10.1.1.1"은 "src host 10.1.1.1"과 같은 의미입니다.

Logical Operations:

사용 가능한 값: not, and, or.

부정 연산("not")이 가장 높은 우선순위를 갖습니다. 논리합("or")과 논리곱("and")는 같은 우선순위를 가지며 왼쪽에서 오른쪽으로 처리됩니다.

예를 들어,

"not tcp port 3128 and tcp port 23"은 "(not tcp port 3128) and tcp port 23"과 동일하게 작용합니다.

"not tcp port 3128 and tcp port 23" 은 "not (tcp port 3128 and tcp port 23)"과는 동일하지 않습니다.

 

사용 예:

tcp dst port 3000

목적지가 TCP 포트 3000인 패킷을 보여줍니다.

ip src host 1.1.1.1

출발지 IP 주소가 1.1.1.1인 패킷을 보여줍니다.

host 10.1.2.3

출발지와 목적지 IP 주소가 10.1.1.1인 패킷을 보여줍니다.

src portrange 2000-2500

출발지의 UDP, TCP 포트가 2000-2500 사이인 패킷을 보여줍니다.

not imcp

icmp 패킷을 제외한 모든 패킷을 보여줍니다. (icmp는 보통 ping 프로그램에서 사용합니다.)

src host 10.7.2.12 and not dst net 10.200.0.0/16

출발지 IP 주소가 10.7.2.12이면서, 목적지 IP 네트워크가 10.200.0.0/16이 아닌 패킷을 보여줍니다.

(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8

출발지 IP 주소가 10.4.1.12이거나, 출발지 네트워크가 10.6.0.0/16인 패킷중에서 목적지 TCP 포트 범위가 200-10000이면서, 목적지 IP 네트워크가 10.0.0.0/8인 패킷을 보여줍니다. 

 
 

DISPLAY FILTERS

display 필터는 캡쳐된 데이터에서 원하는 정보를 찾을 때 사용합니다.

display 필터의 검색 능력은 capture 필터 보다 더 뛰어납니다. 그리고 필터의 내용을 바꾸고 싶을 때 캡쳐 작업을 다시 시작하지 않아도 됩니다.

 

 
 

Protocol:

OSI layer 2에서 layer 7 사이에 있는 매우 다양한 프로토콜을 사용 할 수 있습니다. 그것들은 메인 화면에 보이는 "Expression..." 버튼을 클릭하면 볼 수 있습니다.

비교 연산자:

6개의 비교 연산자를 사용 할 수 있습니다:

 

 

논리 표현 식:

 

 

사용 예:

snmp || dns || icmp

SNMP 혹은 DNS 혹은 ICMP 트래픽을 보여줍니다.

ip.addr == 10.1.1.1

출발지나 목적지의 IP 주소가 10.1.1.1인 패킷을 보여줍니다.

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6

출발지의 IP 주소가 10.1.2.3이 아니거나 목적지의 IP 주소가 10.4.5.6이 아닌 패킷을 보여줍니다.

다른 말로 하자면, 화면에 보여지는 패킷은 다음과 같을 것입니다:

출발지 IP 주소 : 10.1.2.3이 아닌 모든 주소, 목적지 IP 주소 : 10.1.2.3이 아닌 모든 주소

그리고

출발지 IP 주소 : 모든 주소, 목적지 IP 주소 : 10.4.5.6이 아닌 모든 주소

ip.src != 10.1.2.3 and ip.dst != 10.4.5.6

출발지 IP 주소가 10.1.2.3이 아니면서, 동시에 목적지 IP 주소가 10.4.5.6이 아닌 패킷을 화면에 보여줍니다.

다른 말로 하자면, 화면에 보여지는 패킷은 다음과 같을 것입니다:

출발지 IP 주소 : 10.1.2.3이 아닌 모든 주소, 그리고 목적지 IP 주소 : 10.4.5.6이 아닌 모든 주소

tcp.port == 25

출발지와 목적지의 TCP 포트가 25인 패킷을 보여줍니다.

tcp.dstport == 25

목적지의 TCP 포트가 25인 패킷을 보여줍니다.

tcp.flags

TCP 플래그를 가지고 있는 패킷을 보여줍니다.

tcp.flags.syn == 0x02

TCP SYN 플래그를 가지고 있는 패킷을 보여줍니다.

필터 구문에 문제가 없다면, 녹색으로 하이라이트 될 것이며, 잘못됐다면 붉은색으로 하이라이트 될 것입니다.

 

 

통계

화면의 상단에 있는 "statistics"을 클릭하면 다양한 통계자료를 볼 수 있습니다.

protocol hierarchy창에서는 각 OSI layer별로 세부적인 데이터를 확인 할 수 있습니다.

 

 

 

Conversations

TCP/IP어플리케이션이나 프로토콜을 사용한다면, Ethernet, IP, TCP, UDP 의conversations 을 위한 4개의 탭이활성화 된 것을 볼 수 있습니다. "conversation"이란 두 호스트 사이의 트래픽을 말합니다.

각 탭의 프로토콜 명 옆에 있는 숫자는 conversation의 수를 나타냅니다. 예: "Ethernet:6"

 

Ethernet conversations:



 

 

TCP conversations:


 
 

UDP conversations:



 

 

Endpoints

Endpoints 창은 각 장치 별로 주고 받은 데이터에 대한 통계 정보를 보여준다.

탭에서 프로토콜 이름 옆에 있는 숫자는 endpoints의 수를 나타냅니다. 예 : "Ethernet:6".

(화면 구성은 Conversations 동일 하고 표시되는 내용만 다르다)

 

Packet Length

패킷의 수와 속도 비율을 보여줍니다. 
 

 

IO Graphs

 Packet 사용자가 보기 편하게 실시간 그래프로 나타내어 줍니다.

Filter옵션으로 한눈에 Packet 양을 보기 쉽게 확인   있습니다.


 

 

Flow Graph

"Flow Graph" 섹션은 TCP 연결 흐름을 한눈에 확인   있다. 

 

 

처음 세 줄은 TCP 연결이 "SYN", "SYN ACK", "ACK"의 순서로 만들어지는 것을 보여줍니다.

HTTP

HTTP (Hypertext Transfer Protocol)는 HTML 파일을 전송하기 위한 클라이언트/서버간 통신 프로토콜이다

대부분의 웹 브라우저 사용자인 HTTP 클라이언트는 파일을 찾기 위해 HTTP request을 "URL"과 함께 웹 서버에보냅니다. 그리고 웹 서버는 HTTP reponse을 통해 그에 대한 응답을 하고, 클라이언트가 원하는 웹 페이지를 보여준다.

 

"HTTP" 아래 세가지 하위 섹션이 존재한다.

- Load Distribution

- Packet Counter

- Requests

 

Load distribution:

 

 

Packet Counter:

HTTP 요청과 응답을 보여줍니다. 

 

Requests:

웹 서버에서 요청 받은 파일들을 보여준다.


 
 

IP address

네트워크 패킷의 출발지 IP주소를 보여준다. 
 

 

IP destinations


"Destinations" 섹션은 네트워크 패킷의 모든 목적지 IP 주소를 보여준다. 

 

IP Protocol Types

TCP나 UDP 포트의 통계 정보를 보여준다 
 

아 끝났네요^^ 와이어샤크는 손쉬운 조작으로 강력한 기능을 보여주네요~

간단하게 쓰기에는 정말 좋은거 같아요 ~

이제 기본 툴은 여기까지 하고 다음 시간부터는 OSI 7계층 정리와 패킷에 대한 분석

그리고 시간이 남으면 와이어 샤크로 여려 상황의 대한 패킷분석을 보여 드릴께요^^

 

 

읽어주셔서 감사합니다__)/

 

출처 : http://sqlsql.tistory.com

반응형

'Windows > TIP' 카테고리의 다른 글

윈도우 10 숨겨진 기능 9가지  (0) 2021.02.09
VB 기본용어 정리  (0) 2021.02.09
커널(Kernal)이란  (0) 2021.02.09
호스트파일 변조  (0) 2021.02.09
[C 강좌] 헤더 파일  (0) 2021.02.09