본문 바로가기

java90

[Java] Vert.x 클러스터링 예제 오늘은 Vert.x의 클러스터링을 해보겠습니다. 파일 구조는 아래와 같습니다. // Main.java public class Main { public static void main(String[] args) { // 기존 Hazelcast 클러스터 매니저와 Vert.x 옵션 설정 HazelcastClusterManager mgr = new HazelcastClusterManager(); VertxOptions options = new VertxOptions().setClusterManager(mgr); // 클러스터링된 Vert.x 인스턴스 생성 Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result();.. 2024. 4. 4.
[Java] Vert.x HTTP 기본 예제 오늘은 Java으로 Vert.x 프레임워크를 사용해보겠습니다. 디렉토리 구조는 아래와 같습니다. 아래 코드는 터미널에서 curl을 통해 테스트해보시면 됩니다. GET 요청 (아이템 조회) curl -X GET http://localhost:8080/item/1 POST 요청 (아이템 생성) curl -X POST http://localhost:8080/item -H "Content-Type: application/json" -d '{"name":"NewItem", "description":"Description of new item"}' PUT 요청 (아이템 업데이트) curl -X PUT http://localhost:8080/item/1 -H "Content-Type: application/json".. 2024. 3. 31.
[JAVA] 스레드로 일기장 자동 백업 프로그램 만들기 저번 게시글에 이어서, 오늘은 자바의 thread를 사용해서 사용자가 작성한 일기가 3초마다 디렉토리에 저장되도록 해보겠습니다. import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; public class DiaryApp { // 일기를 저장할 디렉토리 경로 (코드를 실행하면, 이 프로젝트에 diaries 디렉토리가 자동으로 생성됩니다.) private static final String DIARY_DIRECTORY = "./diaries/"; // 메인 메서드 public static void main(String[] args) throws IOException { showMenu(); } // 메인 메뉴를 표시하는 메서.. 2023. 12. 13.
[JAVA] 일기장 관리 프로그램 만들기 오늘은 자바로 일기를 작성하고 컴퓨터에 파일로 저장한 후, 다시 불러와서 수정까지 가능한 프로그램을 만들어보겠습니다. import java.io.*; import java.text.SimpleDateFormat; import java.util.Date; public class DiaryApp { // 일기를 저장할 디렉토리 경로 (코드를 실행하면, 이 프로젝트에 diaries 디렉토리가 자동으로 생성됩니다.) private static final String DIARY_DIRECTORY = "./diaries/"; // 메인 메서드 public static void main(String[] args) throws IOException { showMenu(); } // 메인 메뉴를 표시하는 메서드 publ.. 2023. 12. 7.
[JAVA] 쿠키 세션 관리하기 오늘은 자바로 쿠키와 세션을 관리해보겠습니다. //SimpleHttpServer.java import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; import java.util.logging.Logger.. 2023. 11. 23.
[JAVA] HTTP로 이미지 업로드 및 다운로드 하기 오늘은 HTTP로 이미지 업로드 및 다운로드 하기를 진행해보겠습니다. import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.file.Path; import java.nio.file.Paths; public class SimpleHttpClient { // 클라이언트에서 이미지를 업로드하기 위한 경로 // Mac OS 기준입니다. 자신의 OS에 맞게 절대 경로를 수정해주세요. static String clientUploadServerPath = "/Users/컴퓨터이름/Downloads/client-upload-s.. 2023. 11. 13.
[JAVA] HTTP서버에 GET, POST 요청하기 저번 게시글 (https://stickode.tistory.com/957 ) 에 이어서 오늘은 클라이언트를 만들고, GET과 POST를 진행해보겠습니다. // HTTP 서버 구현 클래스 public class SimpleHttpServer { // 로거 인스턴스 생성 private static final Logger logger = Logger.getLogger(SimpleHttpServer.class.getName()); // 메인 실행 메서드 public static void main(String[] args) throws Exception { // 포트 8000에서 동작하는 HTTP 서버 인스턴스 생성 HttpServer server = HttpServer.create(new InetSocketAd.. 2023. 11. 4.
[JAVA] 간단한 HTTP서버 만들기 오늘은 간단한 HTTP서버 만들기를 해보겠습니다. 아래 코드를 실행한 후, 브라우저에서 아래 두 링크를 입력해봅니다. 글의 맨 아래 첨부한 이미지가 출력되면 정상적으로 서버가 운영되고 있는 것입니다. 자바는 17버전을 사용했습니다. http://localhost:8000/ http://localhost:8000/test // HTTP 서버 구현 클래스 public class SimpleHttpServer { // 메인 실행 메서드 public static void main(String[] args) throws Exception { // 포트 8000에서 동작하는 HTTP 서버 인스턴스 생성 HttpServer server = HttpServer.create(new InetSocketAddress(800.. 2023. 10. 25.
[JAVA] 소켓을 활용한 간단한 에코 서버와 클라이언트 EchoClient.java, EchoServer.java를 실행하면 클라이언트와 서버가 메시지를 주고 받는 간단한 프로그램을 작성할 수 있습니다. EchoClient.java import java.io.*; import java.net.*; public class EchoClient { // 서버 주소와 포트 번호를 상수로 설정 private static final String SERVER_ADDRESS = "localhost"; private static final int SERVER_PORT = 4444; public static void main(String[] args) { // try-with-resources를 사용하여 자원을 자동으로 닫게 설정 // 소켓, 출력 스트림, 입력 스트림을 초기.. 2023. 10. 14.