분류 전체보기556 18. 소켓 통신 소켓통신은 통신의 원형이다. 소켓통신은 프로토콜이 없이 단순히 데이터만 주고 받으면 된다. 여기서 프로토콜이 생기면 지그비나 http, mqtt가 된다. 현재 사용하는 주요 통신을 몇가지 보면, mqtt는 현대 통신에서 제일 많이 쓰이는 방식으로 유튜브와 유사하다. 퍼블리싱(pub)과 구독자(sub), 두 개체로 이루어져 있으며 퍼블리싱이 데이터를 업로드하면 구독자에게 메세지가 가는 형태로 통신이 가능해진다. 구독자가 구독하지 않을 경우 메세지가 가지 않으며, 새로 구독에 참여하게 되면 메세지가 전송되는 방식이다. 블루투스는 1:1 통신이 기본이다. 그러나 브로드 캐스트 방식으로 메시 네트워크를 이용하면 다:다 통신이 가능해지는데, 아이디를 바꿔가면서 통신는 형태이다. 소켓 통신으로 돌아와서, 소켓 통신.. 2020. 4. 14. 17. 멀티 스레드 우리도 음악을 들으며 공부를 하거나 커피를 마시며 수다를 떨듯, 대부분 프로그램은 매서드가 하나씩 실행되지 않는다. 이렇게 두가지를 동시에 하는 것을 멀티 태스킹이라고 한다. 자바가 멀티 태스킹을 하는 형태는 멀티 프로세싱과 멀티 스레드가 있다. 멀티 프로세싱은 서로 다른 프로세스가 같은 시간 단위 내에 동시에 실행되는 것을 의미한다. 이 프로세스는 대체로 CPU당 하나씩, 병렬로 실행하는 것이 좋다(현재 컴퓨터에는 CPU가 쿼드코어(4개) 이상부터 옥타코어(8개) 등 달려있다). 그러나 멀티 프로세싱의 경우 프로세스들 끼리 변수를 공유하지 않아서 프로세스들 사이의 통신을 해야한다. 이 때, 직렬화와 유사하게 프로세스의 필드(데이터 타입, 매서드 등등)를 알려주는데, 이를 마샬링이라고 한다. 직렬화는 매.. 2020. 4. 13. 16. 익명 클래스 JAVA 코드를 적다보면 많은 이유로 오브젝트화 할 수 없는 코드들이 생긴다. package ch13; //규약 interface Animal{ void move(); //추상 매서드 : 추상적이기 때문에 오브젝트가 될 수 없음 } abstract class Person{ abstract void eat(); } public class AnomyEx01 { public static void main(String[] args) { //Animal a= new Animal(); //추상 메서드가 구현되지 않아서 new 불가 //Person p=new Person(); //추상 매서드가 구현되지 않아서 new 불가 //Person p2=new Person(); //추상 클래스는 추상 매서드가 들어올 수 있기 .. 2020. 4. 13. JAVA 실습 10. 공공데이터를 이용하여 코로나 공공마스크 지원 약국 주소찾기. 원형 클래스 package mask; import java.util.ArrayList; import lombok.Data; @Data class MaskList { private int count; private int page; ArrayList storeInfos; @Data class StoreInfos { String addr; String code; Double lat; Double lng; String name; String type; } private int totalCount; private int totalPages; } 먼저, 공공데이터포털에서 코로나 관련 공적 마스크 페이지를 불러온다. https://www.data.go.kr/dataset/15043025/openapi.do 공공데이.. 2020. 4. 10. 이전 1 ··· 115 116 117 118 119 120 121 ··· 139 다음 반응형