분류 전체보기 477

[JAVA] 스택 Stack

스택이란 선입후출(FILO) 먼저 들어온게 나중에 나온다. 들어오는 입구와 나가는 입구가 같은 구조 Stack은 데이터를 쌓는 형식으로 저장하는데 따라서 조회, 추가, 삭제 모두 가장 위에 있는 즉 가장 최근의 값에서 이루어 진다. 스택 구조에서 가장 상단에 있는 데이터를 Top이라고 한다. ​ JAVA 스택 클래스 스택의 생성 Stack Stack_name = new Stack(); 스택 클래스 public Element push(Element item); // 데이터 추가 public Element pop(); // 최근에 추가된(Top) 데이터 삭제 public Element peek(); // 최근에 추가된(Top) 데이터 조회 public boolean empty(); // stack의 값이 비..

Java/Java 문법 2021.04.19

[TCP/IP] 5장. 데이터 전송하기

응용 프로그램 프로토콜과 데이터 전송 1. 응용 프로그램 프로토콜 응용프로그램 프로토콜은, 응용 프로그램 수준에서 주고받는 데이터의 형식과 의미 그리고 처리 방식을 정의한 프로토콜이다. TCP/IP 표준 프로토콜과 비슷하나, 응용 프로그램마다 자유롭게 정의한다는 점, 즉 표준화되어있지 않다는 점이 다르다. 응용 프로그램 프로토콜의 기본은 "주고받을 메시지 형식"을 정하는 것이다. ex) 그림판 [주고 받아야할 정보] 1. 직선의 시작과 끝 2. 선의 두께와 색상 struct DrawingMessage1 { int type; // = LINE int x1, y1; // 직선의 시작점 int x2, y2; // 직선의 끝점 int width; // 선의 두께 int color; // 선의 색상 }; type..

[TCP/IP] 4장. TCP 서버- 클라이언트

TCP 서버-클라이언트 구조 1. 동작과 개념 서버는 먼저 실행하여 클라이언트가 접속하기를 기다린다. (listen) 클라이언트는 서버에 접속(connect)하여 데이터를 보낸다. (send) 서버는 클라이언트 접속을 수용하고(accept) 클라이너트가 보낸 데이터를 바당서(recv)처리한다. 서버는 처리한 데이터를 클라이언트에 보낸다. (send) 클라이언트는 서버가 보낸 데이터를 받아서(recv) 처리한다. 데이터를 주고받는 과정을 모두 마치면 접속을 끊는다. (closesocket) 2. 동작 원리 1) 서버는 소켓을 생성한 후 클라이언트가 접속하기를 기다린다. 이때 서버가 사용하는 소켓은 특정 포트번호(ex 9000번)와 결합되어 있어서 이 포트 번호로 접속하는 클라이언트만 수용할 수 있다. 2)..

[TCP/IP] 3장. 소켓 주소 구조체 다루

소켓 주소 구조체 1. 소켓 주소 구조체 네트워크 프로그램에서 필요한 주소 정보를 담고 있는 구조체 1) 기본형은 SOCKADDR 구조체이다. typedef struct sockaddr { u_short sa_family; char sa_data[14]; } SOCKADDR; sa_family : 주소 체계를 나타내는 16비트 정수 값 예) TCP/IP 프로토콜 → AF_INET 또는 AF_INET6 sa_data : 해당 주소 체계에서 사용할 주소 정보 예) TCP/IP 프로토콜 → IP 주소와 포트 번호 2) 프로토콜 체계에 따라 다양한 형태가 존재 예) TCP/IP → SOCKADDR_IN{ } 또는 SOCKADDR_IN6{ } IrDA → SOCKADDR_IRDA{ } 실제 프로그래밍에서는 응용 ..

[TCP/IP] 2장. 윈도우 소켓 시작하기

오류 처리 1. 오류처리 유형 오류처리 방법에 따라 다음 세가지 유형으로 나눌 수 있다. 1) 오류를 처리할 필요가 없는경우 : 리턴값이 없거나 호출 시 항상 성공하는 일부 소켓 함수 2) 리턴 값만으로 오류를 처리하는 경우 : WSAStartup() 함수 3) 리턴 값으로 오류 발생을 확인하고, 구체적인 내용은 오류 코드로 확인하는 경우 : 대부분의 소켓 함수 ※ 1,2 유형은 특별한 경우이다. ※ 대부분의 소켓함수는 3유형으로 처리한다. 2. 오류 코드 얻기 1) int WSAGetLastError(void) (사용 예시) if (소켓함수(...) == 실패) { int errcode = WSAGetLastError(); printf(errcode에 해당하는 오류 메시지); } WSAGetLastEr..

[TCP/IP] 1장. 네트워크와 소켓 프로그래밍

TCP/IP 프로토콜 개요 1. 인터넷 구성 요소 인터넷을 통해 통신을 수행하는 개체는 크게 호스트와 라우터로 나눌 수 있다. 1) 호스트(Host) : 최종 사용자의 응용프로그램을 수행하는 주체 2) 라우터 (router) : 호스트에서 생성된 데이터를 여러 네트워크를 거쳐 전송함으로써 서로 다른 네트워크에 속한 호스트 간에 데이터를 교환할 수 있게 하는 장비 3) 통신 프로토콜 : 호스트, 라우터/ 호스트-호스트 간에 통신을위한 정해진 절차와 방법 2. TCP/IP 프로토콜 구조 1) TCP/IP 프로토콜 인터넷의 핵심 프로토콜인 TCP와 IP를 비롯한 각종 프로토콜 운영체제의 일부로 구현되며, 응용 프로그램은 운영체제가 제공하는 TCP/IP 프로토콜의 서비스를 사용해 통신한다 응용프로그램은 운영체제..

[Kotlin] Kotlin 대화형 코드 편집기 사용 (실행)

1.kotlin 프로그램 작성 대화형 코드 편집기 사용 1. 브라우저에서 developer.android.com/training/kotlinplayground실행 2.편집기의 오른쪽 상단에서 흰색 또는 녹색 삼각형을 찾아 클릭하면 프로그램이 실행 2. kotlin 기본 요소 1) 함수 (fun) : fun은 kotlin에서 함수를 의미합니다. ex) fun main() {} 2) 출력 : 출력은 println()을 이용합니다. 3) 주석 : '//' 을 이용 ex) //이건 주석이라네 4) 변수 (val) : 변수는 val 키워드를 이용하여 선언해 줍니다. - 선언한 변수를 출력문에서 호출하고 싶다면 ${val name}을 이용합니다. ex) val age = 15 println("내 나이는 ${age}..

Android 2021.04.05