일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- digitalRead
- Binary
- Overloading
- Unity
- memory
- preprocessing
- Android
- inheritance
- parameter
- Contour
- Encapusulation
- Class
- Pointer
- flutter
- UNO
- java
- SERIAL
- file access
- sensor
- aduino
- stream
- wpf
- Read
- APP
- atmega328
- mfc
- Barcode
- length
- public
- compare
- Today
- Total
목록분류 전체보기 (287)
폴크(FOLC)
# 배열 # 같은 타입(자료형)의 변수들의 모임 > 1차원 ~ N차원 까지 사용 가능 ( 메모리를 넘지 않는 상황 ) > 보통 1차원 ~ 2차원 까지를 가장 많이 이용 # 특징 > 배열을 선언할때 길이는 상수 이어야 한다. > 첫번째 번호는 0번 부터 시작 > 컴파일러는 배열의 길이가 아닌 배열의 주소값을 이용하여 접근한다. > 배열 초기화 시점에 {} 중괄호 를 이용해서 초기화 가능 # N차원 배열 > 2차원 이상의 배열 > 배열의 각 요소가 배열이 될 수 있다. # 1차원 배열 > 구조1 : 자료형[] 이름 = new 자료형[ 길이 ]; - 생성될때 초기화 하지 않았으므로 주의해서 사용 > 구조2 : 자료형[] 이름 = new 자료형[ ] = { 요소1, 요소2, ... }; - 자료형과 요소의 타입..
# 지역화 및 다중 언어 지원 > 리소스 파일을 이용하여 언어 변경 가능 - 한국어 : ko-KR - 영어 : en-US - 중국어 : zh-CH # 지역화 설정 > (리소스 파일명).지역명칭 - 한국어 : (리소스 파일명).ko-KR # 다중 언어 패키지가 설치되어 있지 않은 경우 예외 처리 > 지역화 설정 상태와 다중 언어 패키지가 불일치 한 경우 wide 문자의 경우에는 깨지는 현상 # 문자열 인코딩 > string str1 = "한글 한글 test 1234"; > byte[] dst11 = Encoding.Default.GetBytes(str1); // 현재 OS의 ANSI 코드 페이지에 대한 인코딩 > byte[] dst12 = Encoding.ASCII.GetBytes(str1); // ASC..
# LiveChart 공식 사이트 > https://lvcharts.net/App/examples/Wpf/start Live Charts lvcharts.net # LiveChart 테스트 소스 관련 Github > https://github.com/Live-Charts/Live-Charts # LiveChart 테스트 소스 관련 Github 2 > https://github.com/beto-rodriguez/LiveCharts2 GitHub - beto-rodriguez/LiveCharts2: Simple, flexible, interactive & powerful charts, maps and gauges for .Net, LiveCharts2 can Simple, flexible, interacti..
# 특정 시점마다 반복적으로 작업을 간단하게 진행하기 위함. > DispatcherTimer 를 이용하여 진행 # 소스 코드 using System.Windows.Threading; namespace TimerRunTEST { public partial class MainWindow : Window { private DispatcherTimer timer = new DispatcherTimer(); // 타이머 생성 public MainWindow() { InitializeComponent(); // 타이머 설정 timer.Interval = TimeSpan.FromMilliseconds(1); // 시간간격 설정 timer.Tick += new EventHandler(timer_tick_event); ..
# 함수 # 함수는 특별한 목적을 수행하기 위해서 설계된 명령문들의 모임 > 표준 함수, 사용자 정의 함수 > 반복적인 작성을 피할 수 있고 반복적인 수행이 가능 > 기능별 호출이 용이하며 모듈화가 가능하여 가독성이 높아진다. # 정의 > void functionName(X, Y) { } > 반환값 ( void ) : 모든 작업을 마치고 결과를 반환하는 값 ( 0개 or 1개 이하 ) > 함수명 ( functionName ) : 호출하기 위한 이름 > 전달인자 ( X, Y ) : 호출할때 전달되는 값 ( N개 ) > 함수 몸체 { } : 명령문들의 모임 # 특징 > 함수를 사용하기 위해서는 함수를 클래스 내부에 그대로 작성 한다. # 재귀호출 > 함수 내에서 자기 자신의 함수를 재 호출하는것 > 함수를 ..
# 조건문 : 조건식에 따라서 명령문을 선택적으로 수행하는 구문 > if 문 - 조건식의 결과가 참(true) 이면 { } 안의 명령문을 수행하고 거짓(false) 이면 PASS > if / else 문 - 삼항 연산자와 동일한 형태 - 조건식의 결과가 참(true) 이면 { X } 안의 명령문을 수행하고 거짓(false) 이면 { Y } 안의 명령문을 수행 > if / else if / else 문 - 조건식의 결과가 참(true) 이면 { X } 안의 명령문을 수행하고 다음 조건식의 결과가 참(true) 이면 { Y } 안의 명령문을 수행하고 모두 거짓(false) 이면 { Z } 안의 명령문을 수행 > switch 문 - 조건식의 결과가 참(true) 이면 조건 값과 연결된 { } 안의 명령문을 수..
# 함수 디폴트 파라미터 > 함수에 파라미터를 전달하는 기본값을 설정 > 함수 원형에만 지정할 수 있다. > 우선 순위 위치 순서대로만 지정할 수 있다. ( 우->좌 ) > 별도위치만 지정할 수 없다. # 함수 포인터 > 함수의 이름이 곳 포인터가 된다. ( 시작 주소 ) > 함수의 시작 주소를 가리키는 상수 ( 값 변경 불가 ) # 함수 포인터 선언 > typedef, auto 키워드 이용 > typedef void (*functionptr)(void); # 함수 오버로딩 ( 다형성 ) > 함수 이름은 동일하고 파라미터 개수와 리턴값이 다름 ( 시그니처 ) # 함수 오버라이딩 ( 다형성 - 상속 관련 ) > 함수 이름과 파라미터 개수와 리턴값이 같음 ( 재정의 ) > 부모의 함수와 동일한 이름을 갖는 ..
# 파일 종류 > text file : 문자열의 모임으로 바로 확인 가능 ( TxT 뷰어 이용 ) > binary file : 0, 1의 이진 형식으로 바로 확인 불가능 ( 별도 뷰어 필요 ) # 파일은 stream(임시 메모리 공간)를 통해서 접근 > ifstream / ofstream ( 파일 연결 ) - ifstream ifs; ios_base::in 이 기본값 ( 읽기 상태 ) - ofstream ofs; ios_base::out | ios_base::trunc 이 기본값 ( 쓰기 상태 ) > cin / cout 으로 사용자 데이터 송신, 수신 - ifs >> buf : 한 문자를 읽어 buf 에 연동 - getline(buf, 100) : 한 줄을 읽어 buf 에 연동 # 파일 연동 > HDD ..
# 구조체 > 사용자 정의로 생성된 타입 ( 여러 자료형의 모임 ) > 멤버 변수 : 구성되는 자료형 변수 > 구조체 안에 구조체를 선언 가능 ( 중첩 ) > 크기 : 전체 자료형의 크기들의 합 # 형태 > struct 기본이름 > { > int ABC; > ... > }; > struct > { > int ABC; > ... > } 새로운이름; - 이름은 생략이 가능하지만 생량하는 경우에는 새로운 이름을 이용 - typedef 기존이름 변경이름; 형태로 새로운 이름으로 재정의 가능 # 멤버 변수 접근 > .연산자를 이용해서 접근 > 초기화 할때는 { } 와 .연산자를 이용 > 초기값을 설정하지 않은 경우에는 0으로 자동 초기화 # 생성 및 사용 > 구조체이름 stDEF; > stDEF.ABC = 111..
# 입력과 출력 > 스트림 ( stream ) : 실제 입/출력으로 데이터의 흐름 ( 운영체에와의 약속 ) > 입력 스트림 : istream, 출력 스트림 : ostream, 파일 스트림 : fstream # 문자 입력 > cin : 입력 스트림으로 문자 1개 입력, 파일도 가능 > endl : 파일의 끝 또는 입력의 마지막 # 문자 출력 > cout : 출력 스트림으로 문자 1개 출력, 파일도 가능 > endl : 파일의 끝 또는 입력의 마지막 # 문자열 > 연속된 문자들의 모임, 배열과 연관이 깊음 > " " 로 표현하며 문자열 상수(string constant)라고도 함 > NULL 문자 : '\0' 으로 표시, ASCII CODE : 0 > C 스타일의 명령어도 동일하게 사용 가능 # 문자열 입력..
# 물리적인 메모리 영역에 source code 가 load 되고 프로그램에서 사용하는 변수들과 메모리 공간을 할당 > 코드 영역 : 실행 프로그램 소스 코드가 저장되는 공간 - 실행 시점에 결정 > 데이터 영역 : 전역/정적 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 스택 영역 : 지역/매개 변수들이 저장되는 공간 - 컴파일 시점에 결정 > 힙 영역 : User 가 직접 관리 하는 공간 ( 생성/삭제 ) - 실행 시점에 결정 # 메모리 할당1 > User 에 의해서 힙 영역에 특정 공간을 관리하기 위한 요청이 발생 > new 명령어를 이용해서 할당 받고 delete 명령어를 이용해서 해제 > byte 단위로 전체 크기를 설정 > return 값은 첫번째 주소값 ( pointer ) # 메모리 할..
# 널 포인터 ( null pointer ) > 아무것도 가르키지 않는 포인터 > 포인터 변수를 0 으로 초기화 하거나 NULL 로 초기화 > C++11 이상에서는 nullptr 로 초기화 # 비자료형 포인터 ( void pointer ) > 주소값만 저장 가능 > 포인터 연산이나 메모리 참조는 할 수 없다. > 자료형이 없는 포인터 ( 변수, 함수, 포인터 등을 대입 할 수 있음 ) # 함수 포인터 ( function pointer ) > 함수 이름의 주소를 대입 할 수 있는 포인터 > 프로그램이 실행될때 compile 이 완료된 상태이므로 반환값, 전달값은 정해져 있다. # 값에 의한 전달 ( call by value ) > 전달하는 변수의 값을 호출되는 함수의 매개변수에 복사(copy) > 메모리 ..
# 배열 # 같은 타입(자료형)의 변수들의 모임 > 1차원 ~ N차원 까지 사용 가능 ( 메모리를 넘지 않는 상황 ) > 보통 1차원 ~ 2차원 까지를 가장 많이 이용 # 특징 > 배열을 선언할때 길이는 상수 이어야 한다. > 첫번째 번호는 0번 부터 시작 > 컴파일러는 배열의 길이가 아닌 배열의 주소값을 이용하여 접근한다. > C++11 이상 - 배열 초기화 시점에 대입 연산자[=]를 사용하지 않아도 된다. - 값을 지정하지 않고 {} 중괄호 만으로 0값으로 초기화 가능 - 암시적인 변환(narrowing cast) 를 방지 해준다. # 메모리 크기 > 배열의 자료형 * 배열의 길이 > sizeof(이름) / sizeof(자료형) # N차원 배열 > 2차원 이상의 배열 > 배열의 각 요소가 배열이 될 ..
# 함수 # 함수는 특별한 목적을 수행하기 위해서 설계된 명령문들의 모임 > 표준 함수, 사용자 정의 함수 > 반복적인 작성을 피할 수 있고 반복적인 수행이 가능 > 기능별 호출이 용이하며 모듈화가 가능하여 가독성이 높아진다. # 정의 > void functionName(X, Y) { } > 반환값 ( void ) : 모든 작업을 마치고 결과를 반환하는 값 ( 0개 or 1개 이하 ) > 함수명 ( functionName ) : 호출하기 위한 이름 > 전달인자 ( X, Y ) : 호출할때 전달되는 값 ( N개 ) > 함수 몸체 { } : 명령문들의 모임 # 특징 > 함수를 사용하기 위해서는 사용하기 전에 미리 작성(원형 선언) 되어 있어야 한다. > 함수 원형 선언은 몸체를 제외한 부분을 main() 함..
# 조건문 : 조건식에 따라서 명령문을 선택적으로 수행하는 구문 > if 문 - 조건식의 결과가 참(true) 이면 { } 안의 명령문을 수행하고 거짓(false) 이면 PASS > if / else 문 - 삼항 연산자와 동일한 형태 - 조건식의 결과가 참(true) 이면 { X } 안의 명령문을 수행하고 거짓(false) 이면 { Y } 안의 명령문을 수행 > if / else if / else 문 - 조건식의 결과가 참(true) 이면 { X } 안의 명령문을 수행하고 다음 조건식의 결과가 참(true) 이면 { Y } 안의 명령문을 수행하고 모두 거짓(false) 이면 { Z } 안의 명령문을 수행 > switch 문 - 조건식의 결과가 참(true) 이면 조건 값과 연결된 { } 안의 명령문을 수..
# 데이터를 보고 직관적으로 빠르게 파악하여 판단하기 위함 # 공개용 차트 뷰어(ChartDirector)이며, 만료 날짜 없이 제품 평가를 위해서 모든 제품 다운로드 가능 > dll 파일 다운로드 - https://www.advsofteng.com/download.html # 운영체제별로 dll 을 별도로 제공하고 있으며, 32bit/64bit 도 별도로 구분해서 제공하고 있음 > static library 형태는 제공하지 않음. # 관련 dll 파일 다운로드 후 Solution 에 추가하여 연동하면 바로 적용 가능 > 관련 기능에 대한 자세한 사항은 도움말을 참고 > 리소스 뷰어 설정 - Picture Control 추가 하여 Bitmap 으로 Type 을 변경 - CChartViewer 와 연결되는..
# 프로그램에서 사용하는 산술/연산 식 > 산술, 대입, 증감, 비교, 논리, 비트 등의 연산자 제공 # 산술 연산자 > 사칙연산 : 2개의 피 연산자 ( 방향 : 좌 -> 우 ) > 종류 : *, /, %, +, - ( 우선순위 : 좌 -> 우 ) # 대입 연산자 > 대입연산 : 변수에 값을 입력 ( 방향 : 우 -> 좌 ) > 종류 : *=, /=, %=, +=, -=, = ( 우선순위 : 좌 -> 우 -> 좌 ) # 증감 연산자 > 증감연산 : 변수의 값을 변경 ( 방향 : 좌 -> 우(뒤), 우 -> 좌(앞) ) > 종류 : A++, A--, ++A, --A # 비교 연산자 > 비교연산 : 2개의 피 연산자 ( 방향 : 좌 -> 우 ) > 종류 : ==, !=, >, >=, 우(2개), 우 -> ..
# 기본 타입 # 기본적으로 미리 정의 해놓고 제공하는 타입 > 문자형, 정수형, 실수형, boolean 형 > 지수형태로 표현 가능 # 문자형 타입 > 부호가 있다. 소수 부분을 제외한 수 > 문자(아스키코드 - ASCII code) 하나를 표현 - 영문 대/소문자를 사용하는 비트 인코딩 방법 ( 128개 문자 표현 가능 ) - UNICODE로 문자 표현 > 범위 - char 2 바이트 0 ~ 65535 # 정수형 타입 > 부호가 있다. 소수 부분을 제외한 수 > 범위 - byte 1 바이트 -128 ~ 127 - short 2 바이트 -32,768 ~ 32,767 - int 4 바이트 -2,147,483,648 ~ 2,147,483,647 - long 8 바이트 -9,223,372,036,854,77..
# 변수 # 데이터를 조작하기 위해서 프로그램에서 생성하는 이름 > 할당받는 메모리(물리적인) 공간 - 실제 물리적인 공간을 직접 접근하지 않고 O/S 에서 맵핑 시켜놓은 주소(address)에 접근 > 문자형, 정수형, 실수형등의 자료형을 제공 # 변수와 메모리 > 변수를 선언하게 되면 memory 공간에 자료형의 크기만큼 공간을 생성 > 생성된 변수는 주소(address)와 공간(크기) 정보를 갖으며, 프로그램 상에서 이름으로 접근 가능 # 생성 규칙 > 데이터를 조작하기 위한 의미를 부여하여 작성 ( 자유롭게 작성 가능 ) > 영문자, 숫자, " _ ", " $ " 로만 구성 가능 > 숫자로 시작 불가 > 공백은 포함 불가 > 미리 정의되어 있는 키워드는 중복 사용 불가 # 미리 정의된 키워드 > ..
# 프로그램과 사용자간의 정보를 교환하는 방법 > 입출력 함수 또는 I/O 함수 > java.lang 패키지에 system 클래스 에 포함 # 서식을 작성할때 유용한 표현 [ 서식지정자 : % ] > %c 하나의 문자 > %d 부호 있는 10진 정수 > %f 고정 소수점 실수 ( 소수점 이하 6자리 ) > %s 문자열 > %o 부호 없는 8진 정수 > %x 부호 없는 16진 정수 # 서식을 작성할때 유용한 표현 [ 이스케이프 : \ ] > \" 큰 따움표 > \n 줄 바꿈 > \t 수평으로 탭 간격 이동 # 출력 함수 > System.out > 서식을 작성할때 유용한 표현 [ 서식지정자 : % ] > 서식을 작성할때 유용한 표현 [ 이스케이프 : \ ] > System.out.println(출력 데이터)..