Program이란?어떤 작업을 수행할 수 있는 지시사항(코드)가 저장된 데이터 형태internet.exe라는 <span style="color: #00..
C & C++
·
Programming Languages/etc
개발자 C : 데니스 리치와 켄 톰슨 C++ : 비야네 스트롭스트룹(덴마크어: Bjarne Stroustrup) C 언어의 등장 배경 C 언어 등장 이전에 프로그램은 기계어와 1:1로 대응되는 Assembly 언어 기반으로 작성되었습니다. Assembly는 하드웨어 종속적 기호언어이기에 다른 종류의 하드웨어로 이식할 수 없는 호환성 Zero의 언어였습니다. 하나의 프로그램을 CPU 종류만큼의 여러번 작성해야 했습니다. 이 한계를 극복하고자 하드웨어의 구성에 맞추어 자동으로 어셈블리어를 생성하는 C언어가 등장하게 됩니다. Build 소스코드를 실행 가능한 프로그램으로 만드는 과정 Compile 일반적으로, 자연어에 가까운 소스코드를 하드웨어에 맞춘 바이너리 코드로 변경하는 작업을 의미한다. C 언어의 특징..
(Window) VS Mysql 연동
·
Programming Languages/C++
1. MYSQL 설치+ 5.7x 로 설치+ 32bit 해도 됨(굳이 64bit No)+ MYSQL 8.0 요구사항 아니면, 큰 의미 없음 + 오류시 해결 자료 없음 + 해당 다운로드 링크+ 설치 참고 링크 2. MYSQL 완전 제거: 언제나 설치 후, 제거 방법 숙지가 먼저다. 연결, 사용 방법 확인보다. 1. 제어판 제거 2. 폴더 제거C:\Program Files -> mysqlC:\Program Files (x86) -> mysqlC:\ProgramData -> mysql3. 윈도우 MYSQL 환경 변수 설정 설치 경로 확인C:\Program Files\MySQL\MySQL Server x.x\lib 윈도우키 + S검색어: "고급 시스템 설정" or "advanced system setting" ..
참조 차이 (C# 객체와 C++ 포인터)
·
Programming Languages/C#
int* xp의미는 &int (int 크기의 실제 값[13]이 담긴 공간의 주소값 [0x0012FF44]) int* xp에 담음 일반 변수 포인터 변수 참조 변수 일반 변수는 / 기본적으로 메모리 주소를 1번 참조해서 실제 값을 가져온다. C++ 포인터 변수명, 참조를 참조 변수명 >> ref >> value C++ 참조 변수명, 참조 변수명 >> value C# 객체 변수명, 참조 변수명 >> value : C++ 에서, 일반적으로 array, vector 같은 컨테이너는 생성시, 변수명은 포인터다. (참조의 참조값이다.) 이를 함수내에서 참조 접근하려면, 정의시 *포인터 연산자를, 함수 내의 CRUD는 &주소 연산자로 접근한다. 일반 변수 타입도 같은 방법을 쓴다. : C# 에서 array, list..
[ C#, C++ ] thread, async, Parallel
·
Programming Languages/C#
c++ thread, async 예시 //C++ #include #include // 쓰레드 사용시, client list 벡터 std::vector clientlist; wsa wsa; // 쓰레드 버전 clientlist.push_back(new std::thread(&wsa::client, wsa, sock_connected, clientAddr, &clientlist)); // Async 사용시, client list 벡터 a_clientlist.push_back(std::async(std::launch::async, &wsa::client, wsa, sock_connected, clientAddr, &clientlist)); c++ thread, async 비교 // c++ async std::..
Thread.Sleep & Task.Delay
·
Programming Languages/C#
- Thread.Sleep( ) 코드가 선언된 부분의 해당 쓰레드를 일정시간 멈추는, 시스템(OS) 메서드다 새롭게 쓰레드가 생성되지 않는다. 실행중인 쓰레드를 멈춘다. - Task.Delay( ) 별도의 비동기(쓰레드)가 생성되어 시간만큼 지연시킨다. // 아래와 같이 사용할 경우, await Task.Delay(1000) 과 논리적으로 같은 역할을 한다. Thread t1 = new Thread(() => Thread.Sleep(1000)); t1.Start( ); 예제) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Thread..
3) Task, Task<T>, Parallel, Async
·
Programming Languages/C#
// ramda Task task = new Task( () => PrintMessage() ); task.Start(); 대표사진 삭제 사진 설명을 입력하세요. 1)대리자 + 2)람다 -> 3)비동기 -> 4) .NET 네트워크 C# 스타일에 맞는 네트워크 프로그래밍을 하려면, 비동기(Thread, Task, Async, Parallel) 구조 구현을 이해해야 한다. C# 스타일 비동기 구조 구현을 위해서는, 대리자와 이벤트를 이해해야 한다. C# 에서 대리자와 이벤트의 사용은 사용자 생성 대리자와, func, action 대리자에 람다를사용 할 수 있어야 한다. C#에서 thread 보다 비동기(Task, Async, Parallel) 이 더 효과적이다. 1. TPL (Task Parallel Lib..
2) Lamda
·
Programming Languages/C#
사진 삭제 사진 설명을 입력하세요. 1)대리자 + 2)람다 -> 3)비동기 -> 4) .NET 네트워크 C# 스타일에 맞는 네트워크 프로그래밍을 하려면, 비동기(Thread, Task, Async, Parallel) 구조 구현을 이해해야 한다. C# 스타일 비동기 구조 구현을 위해서는, 대리자와 이벤트를 이해해야 한다. C# 에서 대리자와 이벤트의 사용은 사용자 생성 대리자와, func, action 대리자에 람다를사용 할 수 있어야 한다. 기본적으로 람다는 쓰지 않는다. C#을 제외하고 디버깅이 힘들다. 한번 쓰고 두번 다시 쓰지 않을 경우, 3줄 이하의 코드에서만 쓴다. 1. 람다식과 대리자로 만드는 무명 메서드 2. Statement Lambda (매개변수_목록) = > { 문장1; 문장2; 문장3..
1) Delegate
·
Programming Languages/C#
사진 설명을 입력하세요. 1)대리자 + 2)람다 -> 3)비동기 -> 4) .NET 네트워크 C# 스타일에 맞는 네트워크 프로그래밍을 하려면, 비동기(Thread, Task, Async, Parallel) 구조 구현을 이해해야 한다. C# 스타일 비동기 구조 구현을 위해서는, 대리자와 이벤트를 이해해야 한다. C# 에서 대리자와 이벤트의 사용은 사용자 생성 대리자와, func, action 대리자에 람다를사용 할 수 있어야 한다. : C#은 객체지향 프로그래밍 언어다. : Delegate(대리자)또한, 함수를 객체화시켜 다형성을 이루는 하나의 방법일 뿐이다. C# delegate 참고 링크1 - Delegate 1. Noun (집단의 의사를 대표하는) 대표(자) 2. Verb (권한업무 등을) 위임하다 ..
18 File
·
Programming Languages/C#
18.1. 파일과 폴더를 다루는 방법 - File : 저장 매체에 기록되는 데이터의 묶음 - Directory(Folder) : 파일이 위치하는 주소 - System.IO 의 클래스 - 주요 메소드와 프로퍼티 18.2. 파일의 "내용"을 읽고 쓰는 방법 - Stream : 네트워크나 데이터 백업 장치의 데이터 입/출력 구조 : 순차 접근 구조 - System.IO.Stream : 추상 클래스 - C# CLR Byte Order : Little Endian (vs. Java JVM: Big Endian) 18.3. using : 네임스페이스, 파일, 소켓 등 - UsingDeclaration : 별칭 - 자동 Dispose() 18.4. BinaryWriter/BinaryReader : 스트림에 이진 데이..
16 Reflection, Attribute 17 Dynamic
·
Programming Languages/C#
16. Reflection & Attribute - 객체 정보를 데이터화 : 프로그램 실행 중에 형식 이름, 프로퍼티 목록, 메소드 목록, 필드, 이벤트 목록 등 읽을 수 있다 - 리플렉션 다형성 : 읽어들인 형식의 인스턴스를 만들고 프로퍼티나 필드에 값을 할당하고, 메소드를 호출할 수 있다 - 리플렉션 내보내기 : 프로그램 실행 중에 새로운 형식을 만들어낼 수 있다 - 에트리뷰트 : 리플렉션 값 사용 16.1. Object.GetType() : 객체의 메타데이터를 리턴한다. - Object 클래스 : Object는 모든 데이터 형식의 조상 : 즉, 모든 Type 은 Object 형식이다. - Object 클래스의 메서드 : 반드시 인스턴스 필요(클래스 X) : Object.Equals( ) : Obje..
14 Lamda 15 LINQ
·
Programming Languages/C#
14. Lamda - 람다식으로 만드는 익명 메소드, Anonymous Function(무명 함수) - 함수를 변수에 대입 14.1. 람다식 선언 매개변수_목록 => (식) 14.2. Statement Lambda (매개변수_목록) = > { 문장1; 문장2; 문장3; ... } 14.3. Func, Action - delegate 대리자 선언부 생략 방법 - func 대리자, 결과를 반환하는 메소드 참조 - action 대리자, 결과를 반환하지 않는 메소드를 참조 14.4. Expression Tree - System.Linq.Expressions - Expression 클래스와 파생 클래스들 - 각 노드 타입 상관 없이 Expression 형식 참조 선언 가능 - expression tree = st..