2020.05.22 (금) 미니 프로젝트 발표일 : 캐치마인드 완성 CatchMind
https://github.com/HJ-Rich/catchMind 약 2주간의 미니 프로젝트가 막을 내렸다.
https://github.com/HJ-Rich/catchMind 약 2주간의 미니 프로젝트가 막을 내렸다.
미니 프로젝트 캐치마인드가 드디어 완성단계에 접어들었다. 이메일인증, 스레드를 통한 실시간 유효성 검증, 음악재생, 채팅창 구성, db 연동. 로그인 이후 JTable과 DefaultTableModel, 스레드와 db연동을 활용한 접속자 및 방 목록 노출. 포트의 분할을 통한 채팅 데이터의 분리. 그리고 드디어 방금 ObjectOutputStream을 통해서 그림에 대한 좌표값을 DTO에 담아서 네트워크로 주고받는 것을 구현하는데에 성공했다. 처음엔 너무나 이해 안 가는 부분이 많았던 네트워크 TCP 채팅이었는데. 여전히 이해가 안 가는 부분이 많다. 그러나.. 어쨋든 최소한의 구동 방법에 대해 이해하게 되어 구현할 수 있었다. 나는 로그인 창에 없는 채팅창을 만들며 채팅을 복습했고 대기실과 게임방을 만..
1. db진도 시작 오라클 데이터베이스를 시작했다. 기존 ArrayList로 임시 데이터 값을 클래스 안에 담아서 프로토 타입으로 만들어뒀던 과정들을 db에 접속해서 진행하는 것으로 바꿨다. 2. ArrayList에서 db로 전환 db사용하는 것이 생각보다 쉬워서 나름 프로토 타입으로 활용했던 ArrayList용으로 만들어뒀던 모든 기능들을 db용으로 전환하는데 많은 에너지나 시간이 소요되지 않았다. public void emailVerifier() { //1. 공백 검증 if(inputEmail.getText() == null || inputEmail.getText().length() == 0) { emailV.setText(""); return; } //2. 형식 검증 if(!isValidEmail(..
1. 그림판 깜빡임 해결 그림판에서 빠르게 repaint()를 부를 때 화면이 깜빡이는 것을 Image 객체를 잡아서 BufferG로 그리는 것으로 해소하셨다. 더블 버퍼링 메모리에 그린 후 화면에 옮긴다. 1.캔버스와 동일한 크기의 Image 객체를 생성한다 2.Image 객체에 그림을 그린다. update(); 3.Image 객체를 캔버스에 보여준다. paint(); paint() 메소드에서는 g.drawImage()메소드를 이용해서 Image 객체를 그리는 역할만 수행한다. update() 메소드에서는 bufferG라는 Graphics 객체를 얻어서 그걸로 Image 객체에 그린다. 2. 미니 프로젝트 진행상황 로그인, 회원가입, 아이디찾기, 비밀번호 찾기, 회원정보 수정을 구현했다. https:/..
네트워크 채팅 구현에 대해서 어제 입력하지 못했다... 어쩌면 오늘도 못할지도.. ㅋㅋㅋㅋㅋㅋ 정리해둔 내용 천천히 올려야징... 2020.05.09 추가 2020.05.07(목) 작성해놨던 정리를 이제야 올린다 채팅의 구현 1. 서버 클래스 서버의 역할 1) 수신할 socket 객체를 담을 리스트를 보유한다. 2) serverSocket.accept() 메소드로 클라이언트 socket의 연결요청에 대응하는 socket을 생성한다. 3) Handler객체(스레드)를 생성하여 위에서 생성한 socket을 연결하고, 리스트에 스레드를 담고, 스레드를 실행한다. 2. 핸들러 클래스 핸들러의 역할 1) 핸들러는 1인분 스레드다. 클라이언트 1인분에 대한 카운터파트너다. 2) 핸들러 클래스는 생성자(스레드 확장판..