Java/JAVA 3 - 유용한 클래스

💡 JSON Object와 JSON Array의 타입을 반드시 구분하자.JSON Object (JSON 객체):JSON 객체는 { } 로 둘러싸인 키-값 쌍의 집합입니다.키는 항상 문자열이고, 값은 문자열, 숫자, 객체, 배열, 불리언, 또는 null일 수 있습니다.{ "name": "홍길동", "age": 21, "subjects": ["수학", "물리", "컴퓨터 과학"]}​JSON Array (JSON 배열):JSON 배열은 **[ ]**로 둘러싸인 값의 순서 있는 목록입니다.배열의 각 값은 모든 JSON 데이터 타입이 될 수 있습니다[ { "name": "홍길동", "age": 21, "subjects": ["수학", "물리", "컴퓨터 과학"] }, { "nam..
Parshing💡 파싱(Parsing)이란 컴퓨터 과학에서 입력된 데이터를 해석하고 구조화하는 과정을 의미합니다. 일반적으로 파싱은 텍스트 데이터를 특정 형식으로 변환하거나, 텍스트 데이터에서 유용한 정보를 추출하는 데 사용됩니다. 파싱을 통해 원시 데이터를 컴퓨터가 이해하고 처리할 수 있는 구조로 변환할 수 있습니다. 파싱의 주요 개념구문 분석(Syntax Analysis):텍스트 데이터를 구문 규칙에 따라 해석하는 과정입니다.주로 프로그래밍 언어의 컴파일러나 인터프리터에서 소스 코드를 구문 트리(Syntax Tree)로 변환할 때 사용됩니다.데이터 형식 변환:텍스트 데이터를 특정 형식(예: JSON, XML)으로 변환하여 구조화된 데이터를 생성합니다.예를 들어, JSON 형식의 문자열을 자바 객체로..
공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr 공공 데이터 포탈 사이트에서 API 키 발급회원 가입 및 로그인: 공공 데이터 포탈 사이트에 회원 가입 후 로그인합니다.API 키 발급: 원하는 API를 선택하고 사용 신청을 통해 API 키를 발급받습니다.  한국환경공단_에어코리아_미세먼지 경보 발령 현황미세먼지(PM10, PM2.5)에 대한 주의보, 경보 발령을 조회하기 위한 서비스 ※ 운영계정으로 사용하고자 할 경우 "한국환경공단 에어코리아 OpenAPI 기술문서" 내 신청 가이드 참고www.data.go.kr pack..
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.Out..
💡 소켓을 활용한 HTTP 통신 HTTP 통신은 소켓 통신 개념을 활용하여 데이터 전송을 수행합니다. HTTP는 TCP 소켓을 통해 클라이언트와 서버 간의 데이터를 주고받습니다. HTTP 통신 개념HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜입니다. HTTP는 요청-응답(request-response) 모델을 기반으로 하며, 클라이언트가 요청을 보내면 서버가 응답을 반환합니다. HTTP는 주로 텍스트 기반의 프로토콜로, 클라이언트와 서버 간에 데이터를 주고받는 형식을 명확하게 정의합니다. 주요 HTTP 메서드GET: 서버에서 데이터를 요청합니다. 주로 데이터를 조회할 때 사용됩니다.POST: 서버에 데이터를 전송합니다. 주로 데이..
💡 제네릭(Generic)제네릭 프로그래밍은 자바에서 타입을 일반화하여 재사용 가능한 코드를 작성하는 기법입니다. 제네릭을 사용하면 클래스, 인터페이스, 메서드 등에 대해 특정 타입을 지정하지 않고, 다양한 타입에서 동작하도록 할 수 있습니다. 제네릭 - 무엇이든 담을 수 있는 제네릭 프로그래밍 -> ver 5.0 사용이유 우리가 변수를 사용한다고 하면 항상 자료형을 먼저 지정하게 되어있다.변수의 이름이 같지만 데이터 타입( 자료형 )이 달라야 한다면 제네릭 프로그래밍을 생각하자. 제네릭 프로그래밍의 주요 이점타입 안정성: 컴파일 시 타입을 검사하여 런타임 에러를 줄일 수 있습니다.코드 재사용성: 다양한 타입을 처리할 수 있는 일반화된 코드를 작성할 수 있습니다.유지보수성: 타입 캐스팅을 줄여 가독성과..
네트워크 프로토콜이란? 네트워크 프로토콜은 네트워크에서 데이터를 교환하기 위한 규칙과 절차의 집합입니다.프로토콜은 데이터 형식, 순서, 오류 제어 등을 정의하여 서로 다른 시스템 간의 통신을 가능하게 합니다. 주요 프로토콜HTTP (HyperText Transfer Protocol): 웹 페이지를 전송하기 위한 프로토콜입니다.TCP (Transmission Control Protocol): 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다.UDP (User Datagram Protocol): 신뢰성보다는 빠른 전송을 중시하는 프로토콜입니다.FTP (File Transfer Protocol): 파일 전송을 위한 프로토콜입니다.SMTP: 이메일 전송을 위한 프로토콜입니다.프로토콜 각기 다른 목적을 가지고 있..
1:N 소켓 양방향 통신에서는 하나의 서버가 여러 클라이언트와 동시에 양방향 통신을 할 수 있습니다. 이는 채팅 애플리케이션, 멀티플레이어 게임 서버 등에서 흔히 사용됩니다.  필요 개념서버와 클라이언트 소켓:서버는 하나의 ServerSocket을 통해 여러 클라이언트의 연결 요청을 기다립니다.클라이언트는 각각의 Socket을 통해 서버에 연결을 요청하고, 연결된 후 서버와 통신합니다.멀티스레딩:서버는 각 클라이언트와의 통신을 별도의 스레드에서 처리합니다. 이를 통해 여러 클라이언트와 동시에 통신할 수 있습니다.각 클라이언트는 서버와의 통신을 처리하는 자체 스레드를 가집니다.동기화 및 자원 관리:여러 스레드가 동시에 데이터를 읽고 쓸 수 있으므로, 데이터의 일관성을 유지하기 위한 동기화가 필요합니다.서버..
💡 멀티 스레드 활용      양방향 통신을 지속적으로 수행하기 위해 서버와 클라이언트 모두에서 키보드 입력을       받아 상대방에게 데이터를 보내고 받을 수 있도록 스레드와 while문을 활용하여 코드를 작성해봅시다. 서버 측 코드ServerSocket 을 생성하고 클라이언트의 연결을 기다립니다.BufferedReader 를 사용하여 클라이언트로부터 메시지를 읽고, PrintWriter를 사용하여 클라이언트에게 메시지를 보냅니다.키보드 입력을 받기 위해 BufferedReader를 사용합니다.클라이언트로부터 데이터를 읽는 스레드와 키보드 입력을 클라이언트로 보내는 스레드를 각각 실행합니다. package ch04;import java.io.BufferedReader;import java.io.IO..
서버측 코드 작성인풋스트림, 아웃품 스트림이 둘 다 필요하다.package ch03;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class ServerFile { public static void main(String[] args) { // 준비물 // 1. 서버 소켓이 필요하다. // 2. 포트 번호가 필요하다. (0 ~ 65535까지 존재) // 2.1 잘 알려진 포트 번호 : 주..
CNOW
'Java/JAVA 3 - 유용한 클래스' 카테고리의 글 목록