분류 전체보기
-
ThreadC# 예제 공부일기 2020. 7. 31. 19:53
실행중인 프로그램을 프로세스라고 한다. 운영체제는 이 프로세스를 CPU에 올렸다가 내렸다가 하면서 일을 하는데, 스레드란 프로세스 내부의 프로세스이다. 한 프로그램은 보통 하나의 스레드를 가지고 있다. 지금까지 했던 프로그래밍은 하나의 흐름 즉 하나의 스레드를 가지고 있었다. 하지만 여러 개의 스레드를 사용할 수 있다. 여러개의 스레드를 사용하는 것을 멀티스레드라고 한다. 이 멀티 스레드가 등장한 배경은 하나의 프로그램에서 복잡한 동시 작업을 요구하기 시작하면서 프로세스보다 더 작은 개념이 도입된 것이 스레드이다. 동시에 작업을 하는 것을 보기 위해 Thread(Delegate 메소드) 로 메소드에 Thread.Sleep 메소드로 일정시간 정지를 시킬건데 첫 메소드는 10초 두번째 메소드는 15초 세 번..
-
소켓 프로그래밍 (네트워크) #3C# 예제 공부일기 2020. 7. 31. 19:29
NeNetworStream을 이용한 TCP 소켓 프로그래밍 서버 using System; using System.Net; using System.Net.Sockets; using System.Text; namespace Network6 { class Program { static void Main(string[] args) { //Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //Server.Bind(new IPEndPoint(IPAddress.Any, 7000)); //한방에 쓰기 TcpListener aTcpListener = new TcpListener(IPAddress.Any, ..
-
외부에서 MariaDB 접속하기C# 예제 공부일기 2020. 7. 31. 12:25
https://www.heidisql.com/download.php Download HeidiSQL Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead. Download HeidiSQL 11.0 Release date: 17 Mar 2020. Installer, 32/64 bit combined Portable versi www.heidisql.com 라즈베리파이 mysql 접속허용 절차 mysql -uroot -p use mysql SELECT host,user FROM..
-
RaspberryPi : 파이썬 MariaDB 서버 커넥션C# 예제 공부일기 2020. 7. 30. 15:04
라즈베리파이에 설치된 Python이 3.x버전 이상이어야 가능하다고 한다. 연결설정 mysql데이터베이스에 있는 user 테이블에 root계정의 plugin 값을 빈값으로 설정한다. sudo mysql -uroot show databases; use mysql UPDATE user SET plugin=''; FLUSH PRIVILEGES; UPDATE user SET password=password('1234') WHERE user='root'; FLUSH PRIVILEGES; 다음 명령어를 순서대로 입력한다. 먼저 sql서버에 접속한 후 데이터베이스 목록을 확인한다. 그중에서 mysql이라는 데이터 베이스 내에 user테이블에 plugin 항목을 빈값으로 설정 한다. 그리고 접속할 때 비밀번호가 필요하..
-
RaspberryPi : MariaDB 설치 및 활용C# 예제 공부일기 2020. 7. 30. 14:24
MariaDB 설치 sudo apt-get update sudo apt-get install mariadb-server mariadb-client MariaDB 접속 sudo mysql -uroot Database 목록 보기 show databases; mydb이름의 데이터베이스 생성 collate 부분은 한글사용 create database mydb collate utf8_general_ci; 테이블 생성 CREATE TABLE tblRegister( id VARCHAR(20) NOT NULL, pwd VARCHAR(20) NOT NULL, name CHAR(6) NULL, num1 CHAR(6) NULL, num2 CHAR(7) NULL, email VARCHAR(30) NULL, phone VARC..
-
공공데이터(json) 끌어다 쓰기C# 예제 공부일기 2020. 7. 29. 20:35
data.go.kr 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase data.go.kr 공공데이터 포털에서 제공하는 동네 예보 조회 서비스를 Json으로 받아서 python으로 처리해봤다. 동네예보 조회 서비스 활용신청 (신청하려면 로그인이 필수다.) 신청에 성공한후 마이페이지를 보면 아래와 같이 일반인증키를 긁어서 복사해놓는다. 그 아래로 내려간다. 서비스키에 공개키를 입력하고 datatype은 JSON 날짜와 시간을 바꿔준뒤 예보지점의 X값과 Y값은 data.kma.go.kr/community/board/detailBoard.do?bbrdT..
-
소켓 프로그래밍 (네트워크) #2C# 예제 공부일기 2020. 7. 29. 20:01
Socket클래스 예제(1) Socket Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 소켓클래스의 생성자에는 주소모음(IPv4), 소켓형식(Stream:TCP 데이터 보내는 형식), 프로토콜형식(TCP)위와 같이 정의한다. 위와 같이 생성된 Socket클래스에서 생성된 Server객체는 Server.Bind(new IPEndPoint(IPAddress.Any, 7000)); Server 소켓에 IP주소와 포트번호를 묶는다. 여기서 IPAddress.Any는 아무 Ip주소나 7000번으로 들어오는 클라이언트를 저장한다. Server.Listen(100); Server에는 받은 클라이언트의 IP주소가..
-
소켓 프로그래밍 (네트워크) #1C# 예제 공부일기 2020. 7. 29. 19:29
소켓이란 벽에 연결되어있는 콘센트 전원부라고 생각하는 것이 일반적이다. 네트워크 개념에서도 비슷한 개념이다. 네트워크 프로그래밍에서의 소켓은 네트워크 환경에 연결할 수 있게 만들어진 연결부가 바로 네트워크 소켓이다. 그렇다면 콘센트는 막 만들어도 되는것인가? 답은 전혀 아니다. 일반적으로 벽에 있는 콘센트도 110V 혹은 220V의 규약에 의해 만들어진다. 소켓 또한 프로토콜에 의해서 만들어지는데 주로 OSI 7계층에서 4계층 Transport Layer의 TCP프로토콜로 만들어진다. 여기서 우리가 만드는 프로그램은 응용계층이고 TCP프로토콜을 이용하기위해 만든 소켓을 TCP소켓 혹은 TCP/IP 소켓이라고 한다. 우리(Client)가 네트워크를 통해 서버(Server)에 접속한다고 한다면 두가지 정보가..