분류 전체보기 439

공공 데이터 4강. 파싱(2)

파싱을 쉽게 도와주는 사이트도 있지만, 처음에는 직접 전송받아올 오브젝트를 만들어보자. 생성자와 getter, setter도 필요하지만 우선 필드 선언부터 해줄것이다. gson이 인식할 때 무조건 타입이 일치해야 하는데 스트링은 어떤 타입도 다 받을 수 있다. 무적임! 어차피 문자열로 날아오니까!! 개발계정의 상세보기에 들어가서 스크롤을 내리면 요청 변수라는 것이 있다. 요청 변수에 쿼리 스트링의 키 값들과 정보들이 나와있다. 여기 항목에 옵션과 필수 항목이 나누어져 있는 것을 볼 수 있다. * serviceKey는 디폴트 값이라 안 나와있어도 꼭 적어줘야 함! * 모든 항공사의 정보를 다 받고 싶으면 airlineId 옵션을 지워주면 된다. 빼도 되는지 안되는지 감으로 하는 것이 아니라 문서를 정독해보..

공공 데이터 2022.01.25

공공 데이터 3강. 리플렉션

리플렉션(Reflection) : 객체를 통해 클래스의 정보를 분석해 내는 프로그램 기법 (투시, 반사라는 사전적 의미를 가지고 있음) 쉽게 말해 리플렉션은 내부를 훔쳐보는 기법이라는 말이다. 과일가게에 1차 판매자는 사과와 딸기를 파는데 과일들을 더 맛있게 해주는 향신료를 가지고 있다. 1차 판매자에게 물건을 받아 되파는 2차 판매자가 바나나가 팔고 싶어 져서 1차 판매자에게 요청을 하면 추가로 넣어줄 수도 있다. 하지만 바나나 물건 구하고, 사 와서 향신료와 함께 파는 건 괜찮지만 2차 판매자가 많아질수록 요구사항도 많아지고 1차 판매자는 너무 귀찮아지게 될 것이다. 1차 판매자는 2차 판매자가 어떤 과일을 추가로 요구할지 모르기 때문에 1차 판매자는 결국 향신료의 레시피는 공개하지 않은 채 필요한 ..

공공 데이터 2022.01.25

공공 데이터 2강. 파싱(1)

공항 목록과 항공사 목록을 조회하여 원하는 정보를 입력한 다음 미리보기를 눌러주면 요청한 정보들이 xml 형태로 나온다. 페이지의 주소를 분석해보자. http://openapi.tago.go.kr/openapi/service/DmstcFlightNvgInfoService/getFlightOpratInfoList? 까지가 주소이다. http에서 get요청을 할 때 쿼리 스트링을 사용하여 구체적인 요청을 했었다. 쿼리 스트링의 형식은 주소?키=값&키=값 모양이였다. 물음표를 기준으로, 물음표 직전에 파일명이 있으면 URL, 없으면 URI이다. 이 주소는 URI이다!! serviceKey=~~%3D%3D // 인증키 serviceKey= 부터 %3D%3D까지가 발급받은 인증키이다. 여기에 자신의 인증키를 넣어..

공공 데이터 2022.01.25

공공 데이터 1강. 데이터 찾기

파일데이터 : 전국에 위치해있는 CCTV, 지하철 노선 데이터 등 오픈 API : 인터페이스만 지키면 데이터 무료로 나눠 줄게! 지금이랑 한시간뒤에 날씨가 다르듯 실시간으로 바뀌는 데이터를 파일로 만들 수 없는 것. 전국 버스위치 등 [출처] https://cafe.naver.com/metacoding 메타코딩 : 네이버 카페 코린이들의 궁금증 cafe.naver.com 메타 코딩 유튜브 https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9 메타코딩 문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist ..

공공 데이터 2022.01.25

자바 34강. Buffer

버퍼는 가득차면 전송한다. 가득 찰 때까지 기다리는 것이다. 100만큼의 데이터가 버퍼로 들어오면, 사이즈가 100인 버퍼의 처리 속도가 빠르다. 100이 들어오면 버퍼가 가득차서 바로 처리하기 때문이다. 100크기의 버퍼에 500이 들어오면 100이 가득차고, 400은 대기중인것을 버퍼링이라고 한다. 버퍼링 : 내가 가진 버퍼 범위를 가득차서 넘어가는 것 한번에 처리할 수 있는 크기의 버퍼를 만들어야 한다. baud rate : 초당 얼마나 많은 데이터를 전송할 수 있는가를 나타내는 말 잘게 쪼갤수록 짧은시간에 더 많은 데이터를 보낼 수 있다. 컴퓨터의 연산속도가 빠르면 통신할 때 더 많은 데이터를 보낼 수 있게된다. Byte Stream을 통해 10110이 들어오면 무슨말이 하고싶은지 소통을 할 수 ..

JAVA 2022.01.24

자바 33강. HashMap

HashMap은 ArrayList와 비교해서 사용한다. 순서대로 데이터를 저장할 때 ArrayList를 사용하는데 몇 번 인덱스에 어떤 데이터가 있는지 알 수 없다. 키 값으로 데이터를 검색하고 싶을 때 HashMap을 사용한다. HashMap은 검색에 용이하다. package ex22; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; // 컬렉션 public class HashEx01 { public static void main(String[] args) { // 1. 순차적으로 데이터를 ..

JAVA 2022.01.24

버블 정렬 만들기

버블 정렬(Bubble Sort) : 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘 인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다. https://gmlwjd9405.github.io/2018/05/06/algorithm-bubble-sort.html 원소를 하나하나씩 비교하며 코드의 패턴을 분석한다. package study; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class BubbleSort { public static void main(String[] args) { // 1. 리스트 만들기 // 2. 리스트 원소 비교하기 // 3. 인접한 원소들을 비교..

JAVA/실습 2022.01.23

자바 32강. GSON

이거만 하면 통신할 준비 끝! https://mvnrepository.com/ 구글이 만든 라이브러리이다. 내가 아닌 외부에서 만든 라이브러리를 써드파티(third party)라고 한다. 제삼자가 만든 라이브러리라는 의미이다. gson 검색 버전이 아주 많다. 최신 버전은 안정화되지 않아서 그 아래 가장 많이 다운로드한 것을 다운로드할 것이다. 라이브러리에 추가해준다. gson을 사용하면 우리가 json에게 전송하기 위해 toJson( ) 메서드를 만들어 일일이 리턴 값을 적어줬던 것을 단 한 줄로 끝낼 수 있다. 바로 Gson 클래스의 메서드 두 개만 기억하면 된다. 전송받은 json을 자바 오브젝트로 바꿀 때 : fromJson( ) 전송하기 위해 json으로 바꿀 때 : toJson( ) toJso..

JAVA 2022.01.21

자바 31강. SMS 전송 라이브러리

회원가입을 해준다. SDK(Software Develop Kit) 필요한 메서드가 포함된 파일에 관련된 모든 파일을 다운로드하는 것 내가 개발할 때 필요한 모든 자바 파일을 다운로드하는 것을 sdk라고 한다. 즉, 라이브러리를 다운로드하는 것이다. 자바에서 .jar는 라이브러리나 실행파일을 말한다. 컴파일된 .class 파일들 .jar 파일 안에 main이 있으면 실행파일이고 없으면 라이브러리이다. 여기 2.2 v 이 있으니까 2.2v으로 다운로드하자. 우리의 workspace 폴더 안에 downloads 폴더 안에 다운로드하여준다. 메시지를 보내는 예제를 따라 해 보자. 예제를 다 복사해서 새 파일에 붙여준다. 그러면 오류가 막 날 것이다. 오류를 잡기 위해 또 하나의 라이브러리를 다운로드하여야 한다...

JAVA 2022.01.21