자바 19

Java.서버_네트워크 게임 만들때 유용한 Socket 교차 알고리즘 2부(클라이언트편)

안녕하세요 j.sieun 입니다. 저번시간에 서버에 대해서 소개를 했다면, 이번시간에는 클라이언트에 대해서 적어보도록 하겠습니다. 우선 실행 화면부터 보여드리겠습니다. 그리고 소스를 보여드리겠습니다. 저번 글과 마찬가지로 소스양은 많습니다. 이점 유의 해주시길 바랍니다. ;;-Client.javaimport java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.AdjustmentEvent;import java.awt.event.AdjustmentListener;impor..

java 2016.08.04

Java.서버_네트워크 게임 만들때 유용한 Socket 교차 알고리즘 1부(서버편)

안녕하세요 J.sieun 입니다. 이번글에는 제가 직접 손코딩한 Socket 알고리즘 - 서버편 이 되겠습니다. 이 알고리즘을 만들게 된 계기가저는 현재 학생이고, 작년에 자바에 대해서 독학하다가 학교에서 배운 기본 소켓에 대해서 많은 불만을 품다가 '내가 그냥 내 식대로 만들어 볼까..?' 라는 생각을 가지고 만들게 되었습니다. 우선 실행 화면 보여드리겠습니다. 서버 부분입니다.클라이언트 부분입니다.(클라이언트는 한꺼번에 보여드립니다.)기능이 어떤건지만 보여드릴려고 최대한 간단한 형식으로 만들었습니다. 우선 주황색 네모 친 부분과 파란색 네모 친 부분을 보시면, 분명 "같은" 클라이언트 창을 2개 열었는데 서로 다른 값을 보여주고있습니다. 물론 서버에도 "Client1 에게 값을 전달한다" "Clien..

java 2016.08.03

쉽지만 어려운 #Java #자바 #성공적 8. Socket.io 의 Serializable(직렬화)

안녕하세요 j.sieun 입니다. 이번글에는 Socket 을 사용하면서 데이터를 임시 저장해주고 그것들을 Client 에 보내주는 객체 직렬화(Serializable) 에 대해서 적어보겠습니다. 직렬화(Serializable) 란? 자바 객체를 저장하거나 전송하기 위하여 자바 객체의 코드를 다시 복원가능한 형태의 Stream으로 직렬화 시켜주는 것을 말합니다. 제가 사용하는 프로그램중에 있는 소스중 일부를 보여드리겠습니다.public class SocketData implements Serializable { public static final int SOCKETDATA= 10; public static final int SOCKETLOGOUT= 20;public static final int SOCKE..

java 2016.06.26

쉽지만 어려운 #Java #자바 #성공적 7.Mysql (JDBC) 연동하기 1부

안녕하세요 j.sieun 입니다. 요새 많이 바빠져서 시간이 없지만 시간을 쪼개서 포스팅 해보도록 하겠습니다. 요번에 배우실 내용은 자바와 Mysql 을 연동하는 JDBC가 되겠습니다. 우선 Mysql을 설치해야 하니 설치 방법에 대해 알려드리도록 하겠습니다. 1 .www.mysql.com 로 들어가셔서 스크롤을 쭉내리다 보면 Mysql Community Server 가 있습니다. 클릭! MySQL Community Server 5.5 를 클릭합니다. 시간이 지나면서 홈페이지 인터페이스 화면이 다르겠지만, 당황하지 않고 MySql Community Server 5.5 를 찾아서 클릭하시면 됩니다. 그후 윈도우 사양에 맞게 설치를 하면 되는데요 MSI라고 설치버전이 있고, ZIP라는 압축 추가형식이 있습니..

java 2016.06.03

쉽지만 어려운 #Java #자바 #성공적 6.Swing(GUI) 2부

안녕하세요 j.sieun 입니다. 원래는 6월 중순까지 쉴려고 하다가 잠깐 시간이 있어서 포스팅 하겠습니다 ~ 저번시간에 GUI에 대해 조금 배우셨는데요. 이번에는 여러 메소드에 대해 배워보도록 하겠습니다. 가장 기본적으로는 JPanel panel = new JPanel();JLabel label = new JLabel();JTextField TF = new JTextField();JButton button = new JButton();JButton[] button = new JButton [ ];여기서 좀 추가하자면 같은 형식으로 selectbox scrollbox 등등..GUI를 꾸밀수 있는 여러가지 메소드가 있습니다. 간단하게 저것들을 사용한 소스를 보도록 하겠습니다. import java.awt...

java 2016.05.27

쉽지만 어려운 #Java #자바 #성공적 6.Swing(GUI)

안녕하세요 j.sieun 입니다. 이번시간에 배우실 내용은 재밌는 스윙 즉, UI기능에 대해 알아보도록 하겠습니다. GUI란 Graphic User Interface 의 약자로 기존에 텍스트 모드 프로그램을 윈도우 프로그램처럼 나타내는 형식입니다. 이기능으로 여러가지 프로그램을 만들고 간단한 플래시 게임, 그림판도 만들수 있는 무한한 가능성을 가진 기능입니다. 이기능은 내용이 많아서 2부로 적겠습니다. 윈도우의 구성요소로 기본적으로 아래 그림으로 되어있습니다. 전체적인 바탕화면인 프레임, 제목을 입력하는 타이틀바, 그리고 그안에서 여러가지를 적을수 있는 content pane 이 있습니다. 그렇다면 우선 전체적인 바탕화면을 생성하는 방법을 보여드리겠습니다. JFrame frame = new JFrame(..

java 2016.05.08

쉽지만 어려운 #Java #자바 #성공적 5.멀티 스레드 예제

안녕하세요 j.sieun 입니다. 저번시간에 단일 스레드와 다중 스레드에 대해서 배워보았습니다. 그걸 응용하여 에제 몇개 풀어보도록 하겠습니다. 가장 기본적인 예제로 경주말을 풀어보도록 하겠습니다. mport java.util.Random; public class ThreadClass{public static void main(String[] args) {// TODO Auto-generated method stubRank R = new Rank();//나중에 랭크 기록할때 객채소환//스레드 생성 및 선언Thread thread = new Horse("1번",R);Thread thread2 = new Horse("2번",R);Thread thread3 = new Horse("3번",R);//스레드 스타트..

java 2016.05.07

쉽지만 어려운 #Java #자바 #성공적 5.멀티 스레드

안녕하세요 j.sieun입니다. 저번시간에는 단일 스레드를 배웠다면 요번에 배우실 내용은 다중스레드입니다. 단일과 다중의 차이는 그냥 스레드가 1개에서 여러개로 바뀌고 좀더 복잡한 구조로 발생하는 것 뿐입니다. 너무 어렵게 생각 안하셔도 됩니다. 다중스레드로 쓰이는 곳은 다양합니다. 그중 하나는 여러가지 작업을 동시 다발적으로 할수가 있다는 장점이 있습니다. 그럼 바로 간단한 예제를 보겠습니다. public class ThreadClass{public static void main(String[] args) {// TODO Auto-generated method stubThread thread = new CharThread();Thread thread1 = new NumThread();thread1.st..

java 2016.05.06

쉽지만 어려운 #Java #자바 #성공적 5.멀티 스레드

안녕하세요 j.sieun 입니다. 요번에 배우실 내용은 멀티 스레드 입니다. 처음에 이것을 배울 때에는 이해가 잘되지 않지만 몇번 연습하다보면 어떻게 되는지 알게 되고 응용 문제도 잘풀거라 예상이 됩니다. 그럼 개념부터 보겠습니다. 스레드란?? 스레드(thread) : 프로그램의 실행 흐름을 말합니다. 스레드에도 종류가 몇가지 있습니다. 1. 싱글스레드(single thread program) : 스레드가 하나뿐 인 프로그램2.멀티 스레드 프로그램(multithread program) : 스레드가 둘 이상인 프로그램이렇게 2가지가 있습니다. 거의 대부분 싱글 스레드는 사용을 잘안하고 멀티스레드를 주로 많이 사용합니다. 작동방식을 보도록 하겠습니다. 우선 왼쪽에 있는 것은 싱글 스레드를 말하는것이고 오른쪽..

java 2016.05.03

쉽지만 어려운 #Java #자바 #성공적 4.자료구조(리스트,스택,큐,해쉬테이블,집합 자료구조를 이용한 난수 중복제거

안녕하세요 j.sieun 입니다. 이번에 풀어보실 예제는 자료구조를 통해 중복제거 난수를 만드는 것입니다. 우선 해쉬셋(HashSet)은 자동으로 중복된 숫자를 제거해주는데 이것을 사용안하고 리스트만으로 중복제거하는 예제 입니다. 아래 사진을 보겠습니다. 맨위에 같은 경우는 해쉬셋으로 로또번호를 생성하였습니다. (보너스 번호까지 함꼐 했습니다. ) 다음 부분은 최대한 오차범위를 없애고자 난수 설정을 1~6까지 그리고 6개의 칸으로 설정했습니다. (이렇게 해야 중복되는 부분도 많고 그것을 수정하거나 삭제할 것이 많아서 설정했습니다. ) 그럼 변경후 사진을 보면 중복되지 않게 변경이 되었습니다. 음..이것은 힌트를 드리자면 get과 set 메소드를 사용하시면 충분히 하실수 있습니다. ↓↓↓↓↓↓↓↓↓↓↓↓↓..

java 2016.05.02