파싱 4

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

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

공공 데이터 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

자바 30강. JSON

자바 스크립트를 잠깐 언급하고 가자. let : 변수를 초기화하거나 선언할 때 쓰는 키워드 (자바의 자료형과 다름) let n = 10; let s = "문자열"; let ss = '문자열'; 문자열을 초기화할 때 홑 따옴표도 가능하다. 타입 자체가 없기 때문에 제네릭 같이 리턴 타입을 생각할 필요도 없고, 초보 개발자들이 사용하기에 좋은 언어이다. 이 언어가 오브젝트를 선언할 때 (커스텀 자료형) let user = {// 클래스 이름 모두 소문자 name : "홍길동", age : 60 } new를 하지 않아도 모든 게 heap에 들어간다. 데이터의 사이즈를 모르고, 동적이기 때문이다. user.name으로 변수를 찾을 수 있다. 자바의 오브젝트 (커스텀 자료형) class User { // 처음에 ..

JAVA 2022.01.21

자바 24강. String

은행의 A 컴퓨터와 홍길동의 B 컴퓨터가 통신을 할 것이다. 통신을 할 때 너무 길게 보내면 데이터가 무거워진다. 자연어 상태로 보내게 되면 컴퓨터는 이해할 수 없다. 컴퓨터가 이해하기 쉬운 데이터로 분석하는 파싱을 해주어야 한다. 경량 데이터를 보내려면 프로토콜을 만들어 경량화를 해두어야 한다. 자연어로 보내면 파싱이 안되기 때문이다. 자연어가 아닌 프로토콜을 지킨 상태로 보내야 파싱 할 수 있다. 누가 봐도 이해하기 쉽게 보내야 한다. 송신자 : 계좌번호 : 수신자 : 계좌번호 : 금액이라는 프로토콜을 정했고 홍길동은 계좌이체를 하기 위해 프로토콜에 맞추어 홍길동 : 10333377 : 장보고 : 1123333557 : 5000이라고 요청을 했다. Byte Stream으로 들어오는 통신은 모두 문자열..

JAVA 2022.01.20