Java 164

2024.06.05 Java 유용한 클래스 파싱이란 뭘까?(JSON 파싱 ) GSON 라이브러리 추가

파싱(Parsing)이란?컴퓨터 과학에서 입력된 데이터를 해석하고 구조화하는 과정을 의미합니다.일반적으로 파싱은 텍스트 데이터를 특정 형식으로 변환하거나, 텍스트 데이터에서 유용한 정보를 추출하는 데 사용된다. 파싱을 통해 원시 데이터를 컴퓨터가 이해하고 처리할 수 있는 구조로 변환할 수 있습니다. 파싱의 주요 개념구문 분석(Syntax Analysis)텍스트 데이터를 구문 규칙에 따라 해석하는 과정입니다.주로 프로그래밍 언어의 컴파일러나 인터프리터에서 소스 코드를 구문 트리(Syntax Tree)로 변환할 때 사용됩니다.데이터 형식 변환 텍스트 데이터를 특정 형식(예: JSON, XML)으로 변환하여 구조화된 데이터를 생성합니다.예를 들어, JSON 형식의 문자열을 자바 객체로 변환하거나, XML 데이..

Java 2024.06.05

2024.06.04 Java 유용한 클래스 공공데이터포탈 사용해 보기

https://www.data.go.kr/  공공데이터 포털국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datasewww.data.go.kr https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15073885 한국환경공단_에어코리아_미세먼지 경보 발령 현황미세먼지(PM10, PM2.5)에 대한 주의보, 경보 발령을 조회하기 위한 서비스 ※ 운영계정으로 사용하고자 할 경우 "한국환경공단 에어코리아 OpenAPI 기술문서" 내 신청 가이드 참고www.data.go.kr   더보기package ch0..

Java 2024.06.04

2024.06.03 JDK 아마존 --> JDK 오라클 변경

아래의 Oracle download사이트에 들어간다.https://www.oracle.com/kr/java/technologies/downloads/ Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com 아래의 JDK17 버전의 Windows  클릭한 후 x64 Installer를 다운로드 한다.다운받은 파일을 C드라이브 tools 파일에 저장하고 실행한다.시스템 환경변수에서 시스템 변수(S)에서 JAVA_HOME을 찾은 후 폴더를 C:\Program Files\Java..

Java 2024.06.03

2024.06.03 Java 유용한 클래스 순수 자바코드로 HttpServer 만들기

Chrome 확장 프로그램 Talend API Test를 다운받는다. https://chromewebstore.google.com/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm?hl=ko Talend API Tester - Free EditionVisually interact with REST, SOAP and HTTP APIs.chromewebstore.google.com 더보기package ch01;import java.io.IOException;import java.net.InetSocketAddress;import com.sun.net.httpserver.*;public class SimpleHttpServer { public..

Java 2024.06.03

2024.06.03 Java 유용한 클래스 소켓을 활용한 HTTP 통신이란

HTTP 통신 개념HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜입니다.HTTP는 요청-응답(request-response) 모델을 기반으로 하며, 클라이언트가 요청을 보내면 서버가 응답을 반환합니다. HTTP는 주로 텍스트 기반의 프로토콜로, 클라이언트와 서버 간에 데이터를 주고받는 형식을 명확하게 정의합니다. 주요 HTTP 메서드GET서버에서 데이터를 요청합니다.주로 데이터를 조회할 때 사용됩니다.POST서버에 데이터를 전송합니다.주로 데이터를 생성하거나 업데이트할 때 사용됩니다.PUT서버에 데이터를 업데이트합니다.전체 리소스를 대체할 때 사용됩니다.DELETE서버에서 데이터를 삭제합니다.HEAD서버에서 응답 헤더만 요청합니다.O..

Java 2024.06.03

2024.06.03 Java 유용한 클래스 제네릭(Generic)

제네릭 프로그래밍의 주요 이점타입 안정성: 컴파일 시 타입을 검사하여 런타임 에러를 줄일 수 있습니다.코드 재사용성: 다양한 타입을 처리할 수 있는 일반화된 코드를 작성할 수 있습니다.유지보수성: 타입 캐스팅을 줄여 가독성과 유지보수성을 향상시킵니다. 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언하는 것 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 컬렉션 프레임워크에서 많이 사용되고 있음 ch01 더보기package ch01;public class Plastic { @Override public String toString() { re..

Java 2024.06.03

2024.05.27 Sprint Tool Suite lombok 적용

SpringToolSuite4에 lombok을 적용하는 방법 lombok 을 다운받는다.https://projectlombok.org/download Download projectlombok.org loombok을 다운로드 받은 후 더블클릭 한다. Specify location... 버튼을 클릭한다. 자신이 설치하던 Eclipse 나 SpringToolSuite4 의 위치를 찾아서 파일을 선택한다. 파일을 선택하면 아래의 그림처럼 나오며 Quit Installer을 클릭하여 다운로드 한다.  SpringToolSuite4에 들어와 폴더에 마우스 우클릭 후  lombok을 적용시킬 자바 프로젝트 폴더를 생성한다.    SpringToolSuite4에 만들어진 lombok_test 프로젝트 폴더 파일을 찾아..

Java 2024.05.27

2024.05.24 Java 유용한 클래스 네트워크 프로토콜이란?

네트워크 프로토콜이란? 네트워크 프로토콜은 네트워크에서 데이터를 교환하기 위한 규칙과 절차의 집합입니다.프로토콜은 데이터 형식, 순서, 오류 제어 등을 정의하여 서로 다른 시스템 간의 통신을 가능하게 합니다.  주요 프로토콜 HTTP (HyperText Transfer Protocol) : 웹 페이지를 전송하기 위한 프로토콜입니다.TCP (Transmission Control Protocol) : 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다.UDP (User Datagram Protocol) : 신뢰성보다는 빠른 전송을 중시하는 프로토콜입니다.FTP (File Transfer Protocol) : 파일 전송을 위한 프로토콜입니다.SMTP : 이메일 전송을 위한 프로토콜입니다. 프로토콜 각기 다른 목..

Java 2024.05.24

2024.05.24 Java 유용한 클래스 1: N 소켓 양방향 통신

1:N 소켓 양방향 통신에서는 하나의 서버가 여러 클라이언트와 동시에 양방향 통신을 할 수 있습니다.채팅 애플리케이션, 멀티플레이어 게임 서버 등에서 흔히 사용됩니다. 필요 개념서버와 클라이언트 소켓:서버는 하나의 ServerSocket을 통해 여러 클라이언트의 연결 요청을 기다립니다.클라이언트는 각각의 Socket을 통해 서버에 연결을 요청하고, 연결된 후 서버와 통신합니다.멀티스레딩:서버는 각 클라이언트와의 통신을 별도의 스레드에서 처리합니다.이를 통해 여러 클라이언트와 동시에 통신할 수 있습니다.각 클라이언트는 서버와의 통신을 처리하는 자체 스레드를 가집니다.동기화 및 자원 관리:여러 스레드가 동시에 데이터를 읽고 쓸 수 있으므로, 데이터의 일관성을 유지하기 위한 동기화가 필요합니다.서버는 연결된 ..

Java 2024.05.24

2024.05.23 Java 유용한 클래스 1:1 양방향 통신(채팅 기본 기능 구현)(리팩토링)

서버측 코드 리팩토링 1단계 - 함수로 분리해보기package ch05;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class MultiThreadServer { // 메인 함수 public static void main(String[] args) { System.out.println("===== 서버 실행 ====="); // 서버측 소켓을 만들기 위한 준비물 // 서버 소켓, 포트 번호 try( ServerSocket serverSocket = new Serv..

Java 2024.05.23