Skip to content
@Claksion

Claksion

Claksion πŸ’₯πŸš—πŸ’¨

ν‘œμ§€

Index


⚑️ ν”„λ‘œμ νŠΈ 정보


πŸ”₯ μž‘μ—… κΈ°κ°„

  • 2024.04.26 - 2024.05.10

πŸ“Œ ν”„λ‘œμ νŠΈ 및 κΈ°λŠ₯ μ†Œκ°œ

Redisλ₯Ό ν™œμš©ν•œ ꡐ싀 μ†Œν†΅ ν”Œλž«νΌ

ν•™κΈ‰ λ‚΄ μΉœκ΅¬λ“€κ³Ό ν•¨κ»˜ μ†Œν†΅ν•  수 μžˆλŠ” ν”Œλž«νΌ, Claksionμž…λ‹ˆλ‹€.

  • πŸ’¬ μΉœκ΅¬λ“€μ˜ 접속 ν˜„ν™©μ„ μ‹€μ‹œκ°„μœΌλ‘œ ν™•μΈν•˜κ³ , 단체 μ±„νŒ…λ°©μœΌλ‘œ μ†Œν†΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • πŸ’Ί λΉˆλ²ˆν•˜κ²Œ μ§„ν–‰ν•˜λŠ” κ΅μ‹€μ˜ 자리 배치λ₯Ό μ›Ήμ—μ„œ λΉ λ₯΄κ³  κ°„νŽΈν•˜κ²Œ μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
  • βœ… ν•™κΈ‰ λ‚΄ νˆ¬ν‘œν•˜κ³  싢은 것이 μžˆλ‹€λ©΄, νˆ¬ν‘œλ₯Ό 올렀 κ²°κ³Όλ₯Ό ν™•μΈν•΄λ³΄μ„Έμš”! 읡λͺ…도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

➊ νšŒμ›κ°€μž… 및 μ†Œμ…œ 둜그인

νšŒμ›κ°€μž…
νšŒμ›κ°€μž…
μ†Œμ…œ 둜그인 μ‹œ, λ“±λ‘λ˜μ§€ μ•Šμ€ 계정일 경우 νšŒμ›κ°€μž… μ ˆμ°¨κ°€ μ§„ν–‰λ©λ‹ˆλ‹€.
카카였 둜그인 넀이버 둜그인
카카였 둜그인 넀이버 둜그인
카카였 μ†Œμ…œ 둜그인이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 넀이버 μ†Œμ…œ 둜그인이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

βž‹ μ‹€μ‹œκ°„ 접속 μœ μ € 리슀트

μ‹€μ‹œκ°„ 접속 μœ μ € 리슀트
μ‹€μ‹œκ°„ 접속 μœ μ € 리슀트
같은 ν•™κΈ‰ λ‚΄ μΉœκ΅¬λ“€μ˜ 접속 ν˜„ν™©μ΄ μ‹€μ‹œκ°„μœΌλ‘œ λ°˜μ˜λ©λ‹ˆλ‹€.
πŸ‘€ point. 'ν™©μ˜€λ³΅' 둜그인 μ‹œ ACTIVE, λ‘œκ·Έμ•„μ›ƒ μ‹œ INACTIVE둜 즉각 λ³€κ²½λ©λ‹ˆλ‹€.

➌ μ„ μ°©μˆœ 자리 선택

B2 자리 선택 [μœ μ €1 : βœ…μ„±κ³΅] B2 자리 선택 [μœ μ €2 : βŒμ‹€νŒ¨]
μ„ μ°©μˆœ 자리 선택 성곡 μ„ μ°©μˆœ 자리 선택 μ‹€νŒ¨
빈 자리λ₯Ό λ™μ‹œμ— 선택할 경우, λ°€λ¦¬μ΄ˆ λ‹¨μœ„λ‘œ 더 빨리 μ„ νƒν•œ μœ μ €κ°€ μ„±κ³΅ν•©λ‹ˆλ‹€.

➍ μ„ μ°©μˆœ 자리 선택 κ²°κ³Ό

자리 선택 κ²°κ³Ό ν™”λ©΄ μ°Έκ³  λ‹€λŸ‰μ˜ μš”μ²­ λ°œμƒ μ‹œ νŠΈλž˜ν”½ 처리 κ°€λŠ₯
μ„ μ°©μˆœ 자리 선택 κ²°κ³Ό
자리λ₯Ό ν΄λ¦­ν•˜λ©΄, ν•΄λ‹Ή 자리λ₯Ό μ„ νƒν•œ μœ μ € λ¦¬μŠ€νŠΈκ°€ μ‘°νšŒλ©λ‹ˆλ‹€. λ§Žμ€ 인원이 μš”μ²­ν•  경우, λ°€λ¦¬λ‹¨μœ„μ΄ˆλ‘œ μš°μ„ μˆœμœ„κ°€ κ²°μ •λ©λ‹ˆλ‹€.

➎ 자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™”

자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™” [μ„ μƒλ‹˜ : βœ…κ°€λŠ₯] 자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™” [학생 : βŒλΆˆκ°€λŠ₯]
자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™” κ°€λŠ₯ 자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™” λΆˆκ°€λŠ₯
μ„ μƒλ‹˜λ§Œ 자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™”κ°€ κ°€λŠ₯ν•˜λ©°, 기쑴의 자리 주인이 λͺ¨λ‘ μ΄ˆκΈ°ν™”λ©λ‹ˆλ‹€. 학생은 자리 λ°°μΉ˜λ„ μ΄ˆκΈ°ν™”κ°€ λΆˆκ°€λŠ₯ ν•©λ‹ˆλ‹€.

➏ 단체 μ±„νŒ…

단체 μ±„νŒ… [μœ μ €1] 단체 μ±„νŒ… [μœ μ €2]
단체 μ±„νŒ… μœ μ €1 단체 μ±„νŒ… μœ μ €2

➐ μ‹€μ‹œκ°„ νˆ¬ν‘œ

νˆ¬ν‘œ 생성
νˆ¬ν‘œμƒμ„±
제λͺ©, ν•­λͺ©, 읡λͺ…μœ λ¬΄, 마감일 등을 μ„€μ •ν•˜μ—¬ νˆ¬ν‘œλ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.
νˆ¬ν‘œ [μœ μ €1] νˆ¬ν‘œ [μœ μ €2]
단체 μ±„νŒ… μœ μ €1 단체 μ±„νŒ… μœ μ €2
νˆ¬ν‘œ ν›„ μ‹€μ‹œκ°„ νˆ¬ν‘œ ν˜„ν™©μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

🌳 탐ꡬ λͺ©ν‘œ

πŸ§™ ꡐ싀 속 ν•„μš”ν•œ λ‹€μ–‘ν•œ μ†Œν†΅μ— Redis의 μž₯점을 ν™œμš©ν•˜λ©° 탐ꡬ

  • Redis의 Sorted Setκ³Ό AOP의 Aroundλ₯Ό ν™œμš©ν•΄ λΆ€ν•˜λ₯Ό 쀄인 'μ„ μ°©μˆœ μžλ¦¬μ„ νƒ'κΈ°λŠ₯을 κ°œλ°œν•œλ‹€.
  • Redis의 Pub/Sub νŒ¨ν„΄κ³Ό Socket을 ν™œμš©ν•΄ 'μ‹€μ‹œκ°„ μ±„νŒ…'κΈ°λŠ₯을 κ°œλ°œν•œλ‹€.
  • Redisλ₯Ό Session Storage둜 μ‚¬μš©ν•¨μœΌλ‘œμ¨ λΉ λ₯Έ μ‘λ‹΅μ†λ„μ˜ μž₯점을 μ·¨ν•˜κ³ , ν˜„μž¬ μ„œλΉ„μŠ€μ— 둜그인돼 μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ 정보λ₯Ό 좜λ ₯ν•œλ‹€.

πŸ•οΈ μ•„ν‚€ν…μ²˜

μΆ”κ°€μ˜ˆμ •μž…λ‹ˆλ‹€.


πŸ› οΈ 기술 μŠ€νƒ

Environment

Development

DataBase

Communication


πŸ“š ν”„λ‘œμ νŠΈ ꡬ쑰

파일트리
πŸ“¦ 
└─ src
   β”œβ”€ main
   β”‚  β”œβ”€ java
   β”‚  β”‚  └─ com
   β”‚  β”‚     └─ claksion
   β”‚  β”‚        β”œβ”€ ClaksionApplication.java
   β”‚  β”‚        β”œβ”€ ServletInitializer.java
   β”‚  β”‚        β”œβ”€ app
   β”‚  β”‚        β”‚  β”œβ”€ data
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ dto
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ ClassMate.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ LoginUser.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ OauthType.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ SeatUser.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ UserInfo.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ enums
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  └─ MessageType.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ msg
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  β”œβ”€ AdminMsg.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  β”œβ”€ ChatRoom.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  └─ Msg.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”œβ”€ request
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  β”œβ”€ ChatMessageRequest.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  β”œβ”€ SelectSeatRequest.java
   β”‚  β”‚        β”‚  β”‚  β”‚  β”‚  └─ UpdateSeatUserRequest.java
   β”‚  β”‚        β”‚  β”‚  β”‚  └─ response
   β”‚  β”‚        β”‚  β”‚  β”‚     β”œβ”€ GetChatMessageResponse.java
   β”‚  β”‚        β”‚  β”‚  β”‚     └─ GetSeatAndUserResponse.java
   β”‚  β”‚        β”‚  β”‚  └─ entity
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ BaseEntity.java
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ ClassroomEntity.java
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ PollContentEntity.java
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ PollEntity.java
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ SeatEntity.java
   β”‚  β”‚        β”‚  β”‚     β”œβ”€ UserEntity.java
   β”‚  β”‚        β”‚  β”‚     └─ UserType.java
   β”‚  β”‚        β”‚  β”œβ”€ frame
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ BaseRepository.java
   β”‚  β”‚        β”‚  β”‚  └─ BaseService.java
   β”‚  β”‚        β”‚  β”œβ”€ repository
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ ClassroomRepository.java
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ LoginUserRepository.java
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ PollContentRepository.java
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ PollRepository.java
   β”‚  β”‚        β”‚  β”‚  β”œβ”€ SeatRepository.java
   β”‚  β”‚        β”‚  β”‚  └─ UserRepository.java
   β”‚  β”‚        β”‚  └─ service
   β”‚  β”‚        β”‚     β”œβ”€ ClassroomService.java
   β”‚  β”‚        β”‚     β”œβ”€ PollContentService.java
   β”‚  β”‚        β”‚     β”œβ”€ PollService.java
   β”‚  β”‚        β”‚     β”œβ”€ RankingService.java
   β”‚  β”‚        β”‚     β”œβ”€ RedisMessageSubscriber.java
   β”‚  β”‚        β”‚     β”œβ”€ SeatSelectService.java
   β”‚  β”‚        β”‚     β”œβ”€ SeatService.java
   β”‚  β”‚        β”‚     β”œβ”€ UserService.java
   β”‚  β”‚        β”‚     β”œβ”€ WebSocketHandler.java
   β”‚  β”‚        β”‚     β”œβ”€ aop
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ AroundValidSeatOnRedis.java
   β”‚  β”‚        β”‚     β”‚  └─ SeatValidAop.java
   β”‚  β”‚        β”‚     β”œβ”€ chat
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ ChatRoomRepository.java
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ MessageService.java
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ RedisMessageStorage.java
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ RedisPublisher.java
   β”‚  β”‚        β”‚     β”‚  β”œβ”€ RedisService.java
   β”‚  β”‚        β”‚     β”‚  └─ RedisSubscriber.java
   β”‚  β”‚        β”‚     └─ oauth
   β”‚  β”‚        β”‚        β”œβ”€ KakaoService.java
   β”‚  β”‚        β”‚        └─ NaverService.java
   β”‚  β”‚        β”œβ”€ config
   β”‚  β”‚        β”‚  β”œβ”€ JasyptConfig.java
   β”‚  β”‚        β”‚  β”œβ”€ RedisConfig.java
   β”‚  β”‚        β”‚  β”œβ”€ SecurityConfig.java
   β”‚  β”‚        β”‚  └─ StomWebSocketConfig.java
   β”‚  β”‚        └─ controller
   β”‚  β”‚           β”œβ”€ ChatController.java
   β”‚  β”‚           β”œβ”€ ChatRoomController.java
   β”‚  β”‚           β”œβ”€ MainController.java
   β”‚  β”‚           β”œβ”€ MessageController.java
   β”‚  β”‚           β”œβ”€ PollController.java
   β”‚  β”‚           β”œβ”€ RedisController.java
   β”‚  β”‚           β”œβ”€ SeatController.java
   β”‚  β”‚           β”œβ”€ SeatRestController.java
   β”‚  β”‚           β”œβ”€ UserController.java
   β”‚  β”‚           └─ UserRestController.java
   β”‚  β”œβ”€ resources
   β”‚  β”‚  β”œβ”€ application-aws.yml
   β”‚  β”‚  β”œβ”€ application-dev.yml
   β”‚  β”‚  β”œβ”€ application.yml
   β”‚  β”‚  β”œβ”€ log4jdbc.log4j2
   β”‚  β”‚  β”œβ”€ logback.properties
   β”‚  β”‚  β”œβ”€ mapper
   β”‚  β”‚  β”‚  β”œβ”€ classroommapper.xml
   β”‚  β”‚  β”‚  β”œβ”€ pollcontentmapper.xml
   β”‚  β”‚  β”‚  β”œβ”€ pollmapper.xml
   β”‚  β”‚  β”‚  β”œβ”€ seatmapper.xml
   β”‚  β”‚  β”‚  └─ usermapper.xml
   β”‚  └─ webapp
   β”‚     └─ views
   β”‚        β”œβ”€ chat.jsp
   β”‚        β”œβ”€ chat
   β”‚        β”‚  β”œβ”€ room.jsp
   β”‚        β”‚  └─ roomdetail.jsp
   β”‚        β”œβ”€ chatTest.jsp
   β”‚        β”œβ”€ home.jsp
   β”‚        β”œβ”€ index.jsp
   β”‚        β”œβ”€ login.jsp
   β”‚        β”œβ”€ loginother.jsp
   β”‚        β”œβ”€ poll_creation.jsp
   β”‚        β”œβ”€ poll_final_result.jsp
   β”‚        β”œβ”€ poll_form.jsp
   β”‚        β”œβ”€ poll_list.jsp
   β”‚        β”œβ”€ poll_result.jsp
   β”‚        β”œβ”€ register.jsp
   β”‚        β”œβ”€ reservation.jsp
   β”‚        β”œβ”€ seat.jsp
   β”‚        β”œβ”€ seat_result.jsp
   β”‚        └─ seat_select.jsp

πŸ¦ΈπŸ»β€ νŒ€μ› 및 μ—­ν• 

κΉ€ν•˜μ˜ ν•œμ›ν¬ ν™©ν˜œλ¦Ό νŒ€μž₯
Redis νˆ¬ν‘œ μˆœμœ„ 및 νˆ¬ν‘œ μœ μ € 관리
Redis, SSE μ‹€μ‹œκ°„ νˆ¬ν‘œ ν˜„ν™©
νˆ¬ν‘œ 생성, μ°Έμ—¬, μ‹€μ‹œκ°„/μ΅œμ’… κ²°κ³Ό
Websocket, Stomp, Redis Pub/Sub
μ‹€μ‹œκ°„ μ±„νŒ… κ΅¬ν˜„
Redis μ„Έμ…˜κ΄€λ¦¬
μ†Œμ…œ 둜그인 및 Redis μ„Έμ…˜ 관리
Redis, SSE μ‹€μ‹œκ°„ 접속 μœ μ € ν˜„ν™©
Redis 자리 μ„ μ°©μˆœ 선택 및 κ²°κ³Ό 확인

Popular repositories Loading

  1. Claksion Claksion Public

    Redisλ₯Ό ν™œμš©ν•œ ꡐ싀 μ†Œν†΅ ν”Œλž«νΌ

    Java 1 5

  2. .github .github Public

  3. images images Public

    Claksion의 μ‹œμ—° gif, ν‘œμ§€ 이미지 등을 ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Repositories

Showing 3 of 3 repositories
  • Claksion Public

    Redisλ₯Ό ν™œμš©ν•œ ꡐ싀 μ†Œν†΅ ν”Œλž«νΌ

    Claksion/Claksion’s past year of commit activity
    Java 1 5 0 0 Updated Jul 7, 2024
  • .github Public
    Claksion/.github’s past year of commit activity
    0 0 0 0 Updated Jul 7, 2024
  • images Public

    Claksion의 μ‹œμ—° gif, ν‘œμ§€ 이미지 등을 ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

    Claksion/images’s past year of commit activity
    0 0 0 0 Updated May 14, 2024

Top languages

Loading…

Most used topics

Loading…