제작기간 3주 제작 인원 5명 사용 기술 : Java Swing, Oracle Database 주요 기능 : 로그인, 회원가입, 쪽지, 귓속말, Socket을 이용한 채팅, 그림 그리기. 정처기 필기 시험으로 인해 프로젝트 발표 직후 진행하지 못했던 코드리뷰를 2주가 지나서 드디어! 5명이 모여서 코드리뷰를 2시간 가량 진행했다. 코드리뷰하며 헷갈렸던 점 정리 더보기 11) 서버가 클라이언트를 낚아채서 핸들러와 짝궁 지어줄 때 list의 주소값을 주는 것이기 때문에 해당 리스트에 추가되는 값, 제거되는 값이 동일하게 적용된다. 만들어진 list 객체를 넘겨주는 게 아니라 list객체가 있는 곳(주소)을 알려주는 것이다! 2) 최초 입장 메시지 처리 시에 dto에서 닉네임 값을 꺼내서 필드에 선언해둔 ni..
미니 프로젝트 캐치마인드가 드디어 완성단계에 접어들었다. 이메일인증, 스레드를 통한 실시간 유효성 검증, 음악재생, 채팅창 구성, db 연동. 로그인 이후 JTable과 DefaultTableModel, 스레드와 db연동을 활용한 접속자 및 방 목록 노출. 포트의 분할을 통한 채팅 데이터의 분리. 그리고 드디어 방금 ObjectOutputStream을 통해서 그림에 대한 좌표값을 DTO에 담아서 네트워크로 주고받는 것을 구현하는데에 성공했다. 처음엔 너무나 이해 안 가는 부분이 많았던 네트워크 TCP 채팅이었는데. 여전히 이해가 안 가는 부분이 많다. 그러나.. 어쨋든 최소한의 구동 방법에 대해 이해하게 되어 구현할 수 있었다. 나는 로그인 창에 없는 채팅창을 만들며 채팅을 복습했고 대기실과 게임방을 만..
1. 그림판 깜빡임 해결 그림판에서 빠르게 repaint()를 부를 때 화면이 깜빡이는 것을 Image 객체를 잡아서 BufferG로 그리는 것으로 해소하셨다. 더블 버퍼링 메모리에 그린 후 화면에 옮긴다. 1.캔버스와 동일한 크기의 Image 객체를 생성한다 2.Image 객체에 그림을 그린다. update(); 3.Image 객체를 캔버스에 보여준다. paint(); paint() 메소드에서는 g.drawImage()메소드를 이용해서 Image 객체를 그리는 역할만 수행한다. update() 메소드에서는 bufferG라는 Graphics 객체를 얻어서 그걸로 Image 객체에 그린다. 2. 미니 프로젝트 진행상황 로그인, 회원가입, 아이디찾기, 비밀번호 찾기, 회원정보 수정을 구현했다. https:/..