Java & Spring

자바 스윙 미니 프로젝트 - 캐치마인드 CatchMind

2020. 6. 9. 01:08

제작기간 3주

제작 인원 5명

사용 기술 : Java Swing, Oracle Database

주요 기능 : 로그인, 회원가입, 쪽지, 귓속말, Socket을 이용한 채팅, 그림 그리기.

 

정처기 필기 시험으로 인해 프로젝트 발표 직후 진행하지 못했던 코드리뷰를

2주가 지나서 드디어! 5명이 모여서 코드리뷰를 2시간 가량 진행했다. 

 

코드리뷰하며 헷갈렸던 점 정리

더보기

11) 서버가 클라이언트를 낚아채서 핸들러와 짝궁 지어줄 때
list의 주소값을 주는 것이기 때문에 해당 리스트에 추가되는 값, 제거되는 값이 동일하게 적용된다.
만들어진 list 객체를 넘겨주는 게 아니라 list객체가 있는 곳(주소)을 알려주는 것이다!

2) 최초 입장 메시지 처리 시에 dto에서 닉네임 값을 꺼내서 
필드에 선언해둔 nickname이 닉네임 값의 주소값을 갖도록 연결!

1과 2로 인해 같은 list객체 주소값만 가지고 있다면
그 리스트에서 특정 닉네임을 갖고 있는 핸들러를 특정할 수 있고
특정한 뒤에 귓속말, 쪽지, 채팅 기록 db저장 등의 기능으로 확장시킬 수 있다.



강사님 그림판과 다르게
본격 그림을 그리는 녀석은 Graphics2D 객체이다. 
이녀석은 두께 설정이 가능하기 때문이다.

연습장인 Image타입 객체 bufferImg에다가
2D객체(bufferG)로 그림을 그린 뒤에

완성된 연습장인 bufferImg를 
본 캔버스에다가 drawImage 한다.
이때 그리는 녀석은 Graphics g 이다.
얘는 완성된 Img를 옮겨 그리기만 하는 거라서 두께 설정이 필요 없다.
(생각해보니 둘다 2D여도 노상관일듯?)


bufferG로 bufferImg에다 그림 그리기 (연습장)
g로 canvas에다 그림 그리기 (본 캔버스)
Game 클래스에다 본 캔버스의 주소값 알려주기.

bufferG = Graphics 2D 객체
bufferImg = Image 자료형 객체
g = Graphics 객체
canvas = Canvas 객체

 


 

5월 5일 - 회원가입, 이메일 발송, 스레드를 이용한 유효성 검증


 

 

5월 14일 - Socket 네트워크, paint 메소드를 이용한 그림 그리기 프로토타입 완성

 


 

 

5월 21일 - 최종 완성

 

 


로그인 파트

 


 

 

대기실 파트

 

 


 

 

게임 파트

 


 

https://github.com/HJ-Rich/catchMind

 

HJ-Rich/catchMind

Bit159 자바 미니 프로젝트 캐치마인드. Contribute to HJ-Rich/catchMind development by creating an account on GitHub.

github.com

 

CatchMind.pdf
6.06MB

'Java & Spring' 카테고리의 다른 글

Spring Async 스프링 비동기 수행  (0) 2020.08.07
2020. 08. 06 (목) 스프링 시큐리티 적용  (3) 2020.08.07
2020.05.22 (금) 미니 프로젝트 발표일 : 캐치마인드 완성 CatchMind  (2) 2020.05.22
2020.05.14 (목) 학습 : 캐치마인드 Socket 그림판  (0) 2020.05.15
2020.05.12 (화) 학습 : Oracle 시작, Thread, isFocusOwner(), JLabel  (0) 2020.05.13
'Java & Spring' 카테고리의 다른 글
  • Spring Async 스프링 비동기 수행
  • 2020. 08. 06 (목) 스프링 시큐리티 적용
  • 2020.05.22 (금) 미니 프로젝트 발표일 : 캐치마인드 완성 CatchMind
  • 2020.05.14 (목) 학습 : 캐치마인드 Socket 그림판
리차드
리차드
화음을 좋아하는 리차드🎶리차드 님의 블로그입니다.
리차드
화음을 좋아하는 리차드🎶
리차드
전체
오늘
어제
  • 전체 게시글 보기 (200)
    • Portfolio (0)
    • Thoughts & Records (17)
    • 우아한테크코스 4기 (43)
    • Java & Spring (36)
    • JPA & QueryDSL (2)
    • Database (18)
    • Server & Infra (21)
    • Network (0)
    • Algorithm (11)
    • IDE (12)
    • HTML & CSS (4)
    • JavaScript (11)
    • Life (13)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • EC2
  • 스프링
  • 자바스크립트
  • 자바
  • 스프링부트
  • 웹 백엔드 4기
  • git
  • 오라클
  • javascript
  • java
  • aws
  • SQL
  • 알고리즘
  • 우아한테크코스
  • IntelliJ
  • Spring
  • 화음을 좋아하는
  • 우테코
  • oracle
  • 리차드

최근 댓글

최근 글

hELLO · Designed By 정상우.
리차드
자바 스윙 미니 프로젝트 - 캐치마인드 CatchMind
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.