Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백트래킹
- 다익스트라
- 구현
- 비트마스킹
- 플로이드 와샬
- 스프링 시큐리티
- 게이트웨이
- 유레카
- Logback
- 이분 매칭
- 메모이제이션
- spring boot
- 트리
- 구간 트리
- BFS
- 스택
- 서비스 디스커버리
- 도커
- Gradle
- 완전 탐색
- 이분 탐색
- dp
- Spring Cloud Config
- ZuulFilter
- 주울
- Zuul
- docker-compose
- 달팽이
- Java
- spring cloud
Archives
- Today
- Total
목록애너테이션 활용 (1)
Hello, Freakin world!
[채팅앱][클라이언트] EventHandler 클래스 설계
selectionKey 객체는 이벤트와 함께 넘어오며 이벤트가 발생한 채널 객체 정보를 가지고 있다. event 로 감쌌지만 이벤트라는 개념을 설명하기 위한 가상의 객체다. (그런데 생각해보니 Event 클래스를 만들어두는게 더 나을지도 모른다는 생각이 들었다. 지금은 넘어가자) EventLoop 스레드에서 selectionKey 객체를 핸들러의 delegate 메서드의 파라미터로 넘겼었다. delegate 메서드는 핸들러에 내부의 메서드들 중 적절한 메서드와 해당 키를 매핑한다. 이런 일대다의 관계에서 매핑을 구현하기 위해 if문을 사용하면 결국 '다'부분의 가짓수가 늘어남에 따라 점점 가독성이 떨어지고 유지보수하기 어려운 코드가 탄생한다. 이를 해결하기 위해 애너테이션을 이용하자. 예를 들면, 스프링..
Toy Project/채팅 앱 만들기
2020. 2. 27. 14:34