본문 바로가기

Java38

[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] 다양한 컬렉션 타입들을 사용해 학생 데이터 관리 시스템 만들기 안녕하세요. 이번 게시글에서는 컬렉션 프레임워크를 활용해 데이터를 관리할 수 있는 간단한 학생 데이터 관리 시스템에 대해 설명해드리겠습니다. 자바의 ArrayList, HashMap, HashSet과 같은 컬렉션들을 사용하여 데이터를 관리하는 방법을 사용할 것이며 각 학생을 객체로 표현하고, 이를 관리하는 클래스를 통해 객체 지향 프로그래밍을 만들어보려고 합니다. 그럼 ArrayList, HashMap, HashSet 의 차이점에 대해 설명하겠습니다. ArrayList 타입: ArrayList는 List 인터페이스를 구현하는 클래스입니다. 특징: ArrayList는 내부적으로 배열을 사용하여 요소를 저장합니다. 이는 인덱스를 통한 빠른 접근이 가능하게 해주지만, 크기 조정이 필요할 때는 비용이 많이 듭니.. 2024. 3. 26.
[Java] Java Swing으로 구현하는 날씨 기반 상태 변화 시뮬레이션 자바 스윙을 사용하여 간단한 날씨 기반 상태 변화 시뮬레이션 프로그램을 구현하는 방법을 알아보겠습니다. 이 프로그램은 날씨 상태(Sunny, Cloud, Rain)에 따라 사람(Person) 객체의 체력과 기분이 변화합니다. 날씨는 랜덤으로 변경되며, GUI에서는 날씨에 해당하는 이미지가 표시됩니다. 사람 객체의 상태 변화는 콘솔에 출력됩니다. 날씨가 맑다면 사람객체의 기분이 좋아지고, 체력이 10만큼 높아집니다. 구름낀 날씨라면 사람 객체의 기분은 그저 그렇고, 체력이 5만큼 높아집니다. 비가 오는 날시라면 사람 객체의 기분은 좋지 않고, 체력은 10만큼 줄어듭니다. 객체 지향 프로그래밍의 기본적인 개념과 자바 스윙의 사용법을 이해하는데 도움이 되었으면 좋겠습니다. 우선 시연영상부터 보겠습니다. 다음은.. 2024. 3. 21.
[JAVA] 클래스 상속을 활용한 게임만들기 안녕하세요. 이번 게시글에서는 자바에서 중요한 객체 지향 프로그래밍 개념 중 하나인 '클래스 상속'을 활용해 간단한 동물 게임을 만들어보겠습니다. 코드의 재사용성을 높이고, 유지 보수를 용이하게 하는 상속의 장점을 직접 경험할 수 있습니다. 또한, 추상화와 다형성 같은 개념도 함께 배울 수 있습니다. 먼저 개념 설명하겠습니다. 추상 클래스와 추상 메소드: '동물' 클래스는 추상 클래스로 정의되었으며, 이는 직접 인스턴스를 생성할 수 없음을 의미합니다. 추상 클래스는 상속을 통해 자식 클래스에서 구체화되어야 하는 '추상 메소드'(여기서는 '특수행동')를 가질 수 있습니다. 상속: '사자'와 '토끼' 클래스는 '동물' 클래스를 상속받습니다. 이것은 '사자'와 '토끼'가 '동물'의 모든 속성(이름, 에너지)과.. 2024. 2. 27.
[Java] 영화진흥위원회 오픈API 사용한 영화 정보 출력 예제 안녕하세요 이번 게시글에서는 영화 진흥 위원회 오픈 api를 사용해 영화정보 JSON 데이터를 파싱하고 데이터를 출력하는 간단한 예제를 다루려고합니다. 이 예제를 통해 JSON 데이터의 구조를 이해하고 자바에서 JSON을 다루는 방법을 익힐 수 있습니다. 해당 기능을 구현하기 전에 해야할 것은 두가지 입니다.1. 영화 진흥 위원회 오픈 api 사용하기 위한 회원가입, 그리고 인증키 발급해야합니다.https://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요. www.kobis.or.kr -> 위 사이트로 .. 2024. 2. 18.
[Java] SMTP를 이용한 이메일 발송 안녕하세요 이번 게시글에서는 SMTP를 이용한 이메일 발송 기능에 대해서 설명드리겠습니다. 우선 시연영상부터 보여드리겠습니다. 다음은 전체 코드입니다. import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class EmailSender extends JFrame { // 사용자 인터페이스 구성요소 선언 private JTextField txtTo; private JTextField txtSubject; private JTextArea txtMessage; private JButton b.. 2023. 12. 27.
[Java] Swing을 활용해 간단한 알람 만들기 안녕하세요 이번 게시글에서는 java swing을 활용해 간단한 알람을 만들겠습니다. 유저가 시간을 먼저 지정하고 지정한 시간이 지나면 지정한 시간이 됐었다는 알림 메세지와 함께 비프음이 들리는 알람 기능입니다. 먼저 시연 영상입니다. 다음은 전체 코드입니다. // 필요한 패키지와 클래스를 임포트합니다. import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; // AlarmClock 클래스를 정의합니다. 이 클래스는 메인 윈도우와 알람 기능을 관리합니다. public class AlarmClock { // GUI 컴포넌트들을 선언합니다. private fin.. 2023. 12. 23.
[Java] Java Swing으로 회원가입 & 로그인 프로그램 만들기(2) https://stickode.tistory.com/1008 안녕하세요 이번 게시글에서는 지난 게시글에 이어 로그인 기능을 추가해보겠습니다. 이전 게시글의 위의 링크를 참고하시면 됩니다. 시연영상 먼저 보여드리겠습니다. 이전 게시글에서 로그인 기능을 위한 코드를 추가하면 됩니다. 우선 로그인 UI를 추가하겠습니다. JButton loginButton = new JButton("로그인"); loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { showLoginWindow(); // 로그인 창을 보여줍니다. } }); panel.add(idField); panel.add.. 2023. 12. 14.