본문 바로가기

Java

(96)
JSON 파싱 연습 2단계 💡 JSON Object와 JSON Array의 타입을 반드시 구분하자. JSON Object (JSON 객체)JSON 객체는 { } 로 둘러싸인 키-값 쌍의 집합이다.키는 항상 문자열이고, 값은 문자열, 숫자, 객체, 배열, 불리언, 또는 null일 수 있다.{ "name": "홍길동", "age": 21, "subjects": ["수학", "물리", "컴퓨터 과학"]}  JSON Array (JSON 배열)JSON 배열은  [  ]로 둘러싸인 값의 순서 있는 목록이다.배열의 각 값은 모든 JSON 데이터 타입이 될 수 있다.[ { "name": "홍길동", "age": 21, "subjects": ["수학", "물리", "컴퓨터 과학"] }, { "name": "이순..
파싱 ( JSON 파싱 ) 파싱이란 뭘까?(JSON 파싱 )파싱(Parsing)이란 컴퓨터 과학에서 입력된 데이터를 해석하고 구조화하는 과정을 의미한다. 일반적으로 파싱은 텍스트 데이터를 특정 형식으로 변환하거나, 텍스트 데이터에서 유용한 정보를 추출하는 데 사용된다. 파싱을 통해 원시 데이터를 컴퓨터가 이해하고 처리할 수 있는 구조로 변환할 수 있다. 파싱의 주요 개념구문 분석(Syntax Analysis):텍스트 데이터를 구문 규칙에 따라 해석하는 과정이다.주로 프로그래밍 언어의 컴파일러나 인터프리터에서 소스 코드를 구문 트리(Syntax Tree)로 변환할 때 사용된다.데이터 형식 변환:텍스트 데이터를 특정 형식(예: JSON, XML)으로 변환하여 구조화된 데이터를 생성한다.예를 들어, JSON 형식의 문자열을 자바 객체로..
공공 데이터 포탈 사용해 보기 공공 데이터 포탈https://www.data.go.kr/ 공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr 공공 데이터 포탈 사이트에서 API 키 발급회원 가입 및 로그인 : 공공 데이터 포탈 사이트에 회원 가입 후 로그인한다.API 키 발급 : 원하는 API를 선택하고 사용 신청을 통해 API 키를 발급받는다.https://www.data.go.kr/data/15073885/openapi.do 한국환경공단_에어코리아_미세먼지 경보 발령 현황미세먼지(PM10, PM2.5)에 대한 주의보, 경보 발령을 조회하기 위한 서비스..
순수 자바코드로 HttpServer 만들기 package ch01;import java.io.IOException;import java.net.InetSocketAddress;import com.sun.net.httpserver.*;public class SimpleHttpServer { public static void main(String[] args) { try { HttpServer.create(new InetSocketAddress(8080), 0); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}package ch01;import java.io.IOException;import java.io.Inpu..
소켓을 활용한 HTTP 통신 HTTP 통신 개념HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜이다. HTTP는 요청-응답(request-response) 모델을 기반으로 하며, 클라이언트가 요청을 보내면 서버가 응답을 반환한다. HTTP는 주로 텍스트 기반의 프로토콜로, 클라이언트와 서버 간에 데이터를 주고받는 형식을 명확하게 정의한다.💡 HTTP 통신은 소켓 통신 개념을 활용하여 데이터 전송을 수행한다. HTTP는 TCP 소켓을 통해 클라이언트와 서버 간의 데이터를 주고받는다.  주요 HTTP 메서드GET : 서버에서 데이터를 요청한. 주로 데이터를 조회할 때 사용된다.POST : 서버에 데이터를 전송한다. 주로 데이터를 생성하거나 업데이트할 때 사용 된다...
제네릭 ( Generic ) 제네릭이란?제네릭 프로그래밍은 자바에서 타입을 일반화하여 재사용 가능한 코드를 작성하는 기법이다. 제네릭을 사용하면 클래스, 인터페이스, 메서드 등에 대해 특정 타입을 지정하지 않고, 다양한 타입에서 동작하도록 할 수 있다. 이는 코드의 재사용성과 안정성을 높여준다. 제네릭 프로그래밍의 주요 이점타입 안정성 : 컴파일 시 타입을 검사하여 런타임 에러를 줄일 수 있다.코드 재사용성 : 다양한 타입을 처리할 수 있는 일반화된 코드를 작성할 수 있다.유지보수성 : 타입 캐스팅을 줄여 가독성과 유지보수성을 향상시킨다.package ch01;public class Plastic { @Override public String toString() { return "재료는 플라스틱 입니다"; }}package ..
네트워크 프로토콜 네트워크 프로토콜이란?네트워크 프로토콜은 네트워크에서 데이터를 교환하기 위한 규칙과 절차의 집합이다. 프로토콜은 데이터 형식, 순서, 오류 제어 등을 정의하여 서로 다른 시스템 간의 통신을 가능하게 한다. 주요 프로토콜HTTP (HyperText Transfer Protocol) : 웹 페이지를 전송하기 위한 프로토콜이다.TCP (Transmission Control Protocol) : 신뢰성 있는 데이터 전송을 보장하는 프로토콜이다.UDP (User Datagram Protocol) : 신뢰성보다는 빠른 전송을 중시하는 프로토콜이다.FTP (File Transfer Protocol) : 파일 전송을 위한 프로토콜이다.SMTP : 이메일 전송을 위한 프로토콜이다. 프로토콜은 각기 다른 목적을 가지고 있..
1:1 양방향 통신 (채팅 기본 기능 구현) 멀티 스레드 활용양방향 통신을 지속적으로 수행하기 위해 서버와 클라이언트 모두에서 키보드 입력을 받아 상대방에게 데이터를 보내고 받을 수 있도록 스레드와 while문을 활용하여 코드를 작성해보자. 서버측 코드ServerSocket 을 생성하고 클라이언트와 연결을 기다린다.BufferedReader 를 사용하여 클라이언트로부터 메시지를 읽고, PrintWriter 를 사용하여 클라이언트에게 메세지를 보낸다.키보드 입력을 받기 위해 BufferedReader를 사용한다.클라이언트로부터 데이터를 읽는 스레드와 키보드 입력을 클라이언트로 보내는 스레드를 각각 실행한다.package ch04;import java.io.BufferedReader;import java.io.IOException;import java..

728x90