Java & Spring

Java & Spring

2020.05.07 (목) 학습 : 그림판 더블버퍼링, jSmooth

1. 그림판 깜빡임 해결 그림판에서 빠르게 repaint()를 부를 때 화면이 깜빡이는 것을 Image 객체를 잡아서 BufferG로 그리는 것으로 해소하셨다. 더블 버퍼링 메모리에 그린 후 화면에 옮긴다. 1.캔버스와 동일한 크기의 Image 객체를 생성한다 2.Image 객체에 그림을 그린다. update(); 3.Image 객체를 캔버스에 보여준다. paint(); paint() 메소드에서는 g.drawImage()메소드를 이용해서 Image 객체를 그리는 역할만 수행한다. update() 메소드에서는 bufferG라는 Graphics 객체를 얻어서 그걸로 Image 객체에 그린다. 2. 미니 프로젝트 진행상황 로그인, 회원가입, 아이디찾기, 비밀번호 찾기, 회원정보 수정을 구현했다. https:/..

Java & Spring

2020.05.06 (수) 학습 : 네트워크, 채팅, 서버 클라이언트

네트워크 채팅 구현에 대해서 어제 입력하지 못했다... 어쩌면 오늘도 못할지도.. ㅋㅋㅋㅋㅋㅋ 정리해둔 내용 천천히 올려야징... 2020.05.09 추가 2020.05.07(목) 작성해놨던 정리를 이제야 올린다 채팅의 구현 1. 서버 클래스 서버의 역할 1) 수신할 socket 객체를 담을 리스트를 보유한다. 2) serverSocket.accept() 메소드로 클라이언트 socket의 연결요청에 대응하는 socket을 생성한다. 3) Handler객체(스레드)를 생성하여 위에서 생성한 socket을 연결하고, 리스트에 스레드를 담고, 스레드를 실행한다. 2. 핸들러 클래스 핸들러의 역할 1) 핸들러는 1인분 스레드다. 클라이언트 1인분에 대한 카운터파트너다. 2) 핸들러 클래스는 생성자(스레드 확장판..

Java & Spring

2020.05.04 (월) 학습 : 컴파일과 실행 동시에, Socket, 자바프로젝트 시작 (캐치마인드)

1. 명령프롬프트에서 컴파일과 실행 동시에 하기 javac -encoding UTF-8 ClassName.java && java ClassName UTF-8로 인코딩하는 방법을 검색하다가 위와 같은 명령어를 발견. 두 줄에 나눠 쓸 것을 && 를 사용해 이어붙여서 한 문장으로 사용 가능. EditPlus에서 Eclipse로 갈아탄지 좀 됐지만 이걸 이제 알았다니 크흠.. 2. 네트워크 Socket 연습 채팅 구현 방식이 나의 상상과 약간 다른 부분이 있었다. 입력을 하면 내 화면엔 내 입력값이 들어가고 해당 입력값을 서버와 동기화(?)해주는 방식으로 진행되는 줄 알았는데 나의 입력마저도 서버로 갔다가 서버에서 전달해주는 값을 리턴하는 것이었다. 물론 이게 현재 TCP 동기 방식으로 진행하기 때문인지 까지..

Java & Spring

2020.05.01 (금) 학습 : 네트워크, EOFException, Interface

1. 네트워크 첫 수업 요청 후 반드시 응답을 기다리는 TCP와 무관한 UDP. 우리는 동기 방식에 대해 우선 배우게 된다. 2. 성적관리 GUI 숙제검사 2-1. ObjectOutputStream try{ ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); for(ScoreDTO dto : list){ oos.writeObject(dto); } oos.close(); } catch (IOException e) { e.printStackTrace(); } 학생성적관리 GUI에서 강사님처럼 ObjectOutputStream을 사용하지 않은 부분이 아쉽다. ObjectOutputStream으로 입출력시 txt파일이 어떻게 ..

Java & Spring

2020.04.29 (수) 학습 : 직렬화 Serializable, Graphics2D, GUI

1. 직렬화 네트워크를 통해 객체를 주고 받기 위해 필요함. 객체는 덩어리라서 이것을 한 줄로 세워서(직렬화) 전송한다. 받을 때도 한 줄이어서 이것을 역직렬화를 통해 덩어리로 다시 묶는다. 직렬화할 객체 클래스(일반적으로 DTO클래스)에서 Serializable을 구현하면 된다. 아무런 필드도 메소드도 없기 때문에 오버라이딩 해야만 하는 메소드는 없다. Serializable을 구현한 클래스를 상속받아도 해당 클래스는 직렬화가 가능하다. Serializable을 구현한 클래스에서 직렬화 하지 않을 필드가 있다면 필드 선언 시 데이터 타입 앞에 transient 를 입력해준다. 파일 아웃풋 스트림 > 버퍼드아웃풋 스트림 > 오브젝트 아웃풋 스트림 하여 .ser로 저장가능하다. 일단 쓰긴 해야 하니까 꾸역..

리차드
'Java & Spring' 카테고리의 글 목록 (7 Page)