K-DEVCON Daejeon 브랜치는 대전, 세종을 중심으로 운영 중인 개발자 커뮤니티이며 온라인으로 IT 지식과 개발에 관련된 토론을 나누고,
오프라인 정기 스터디 모임(격주 토요일, 유료)이 진행되고 있습니다. IT업계에 종사하고 있거나 IT를 공부하고 있다면 누구나 함께할 수 있습니다. 자세한 내용은 아래 링크를 참고해 주세요.
K-DEVCON Daejeon
K-DEVCON Daejeon 정기 스터디 모임 신청 문의
안녕하세요 K-DEVCON 대전 디렉터 박종훈 입니다.
지난 2월 22일(토) 에는 K-DEVCON 대전 챕터에서는 오프라인 스터디가 진행되었습니다.
대브콘 대전에서는 월 2회씩 오프라인 스터디를 진행하고 있습니다.
이번주 스터디의 주요 내용은 다음과 같습니다.
클린 코드 (이예성)
0장 들어가면서, 1장 깨끗한 코드, 2장 의미있는 코드
Spring In Action (박종훈)
6-9장 Rest API 개발하고 활용하기, 비동기로 통신하기, 서비스 통합하기
개발자 온보딩 가이드 (강성욱)
조직 내에서 어떻게 성장할 수 있을지에 대해 토론
이번 주에 두 가지 새로운 책 (클린 코드, 개발자 온보딩 가이드)을 시작하게 되었습니다.
이번 스터디에서 다룬 내용을 정리하여 보겠습니다.
클린 코드 - 0장-2장 (이예성 님)
"클린 코드"는 단순히 코드 작성 규칙을 넘어서, 개발자의 태도와 철학을 이야기합니다.
깨끗한 코드의 중요성
우리가 작성한 코드의 대부분은 유지보수를 위한 것입니다. 새로운 기능 추가나 버그 수정이 필요할 때, 읽기 어려운 코드는 개발 속도를 크게 저하시킵니다.
깨끗한 코드는 우아하고 효율적이며, 읽기 쉬운 문장처럼 자연스러워야 합니다. 나쁜 코드는 팀의 생산성을 갉아먹고 프로젝트의 실패로 이어질 수 있습니다. 따라서, 좋은 개발자가 되기 위해서는 코드 품질을 지키는 데 책임감을 가져야 합니다.
때로는 현실적인 이유로 타협을 하곤 합니다. 하지만 결국 그 부채는 개발자에게 다시 돌아오게 됩니다. 기술적 부채가 쌓이면 나중에 더 큰 비용과 시간을 들여야 하며, 이는 팀의 사기를 떨어뜨리는 원인이 되기도 합니다.
이름 짓기의 중요성
클린 코드의 2장은 "의미 있는 이름"에 대해 다룹니다. 다음은 몇 가지 실천 팁입니다:
- 의도를 드러내는 이름: 함수나 변수 이름만 보고도 어떤 역할을 하는지 알 수 있어야 합니다.
- 검색하기 쉬운 이름: 숫자나 약어 대신, 의미를 전달하는 명확한 단어를 사용하세요.
- 일관성 있는 어휘: 같은 개념에는 동일한 단어를 사용하세요.
이름 짓기는 사소해 보이지만, 코드의 가독성과 유지보수성을 크게 좌우합니다. 개발자는 읽기 쉬운 코드를 작성할 책임이 있습니다.
Spring In Action - 6장-9장 (박종훈 님)
REST
'REST API 가 뭐야?' 라고 주변 사람이 갑작스럽게 물어본다면 잘 대답해줄 수 있을까요? 뭐라고 대답해주면 좋을까요? 익숙하지만 설명하기는 참 어려운 용어가 아닐까 싶습니다.
REST 는 자원을 URI로 식별하며, HTTP 메서드(GET, POST, PUT 등)를 사용해 자원의 상태를 처리하는 방식 입니다.
대표적인 HTTP Method (출처)
- GET : 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
- POST : 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
- PUT : 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
- DELETE : 특정 리소스를 삭제합니다.
- PATCH : 리소스의 부분만을 수정하는 데 쓰입니다.
POST와 PUT 과의 차이: PUT은 동일한 요청을 여러 번 보내도 같은 결과를 보장하지만, POST는 그렇지 않습니다.
JWT 인증
전통적인 인증 방식과 JWT 방식을 비교하여 보고 Spring Project 에서 어떻게 처리할 수 있을지에 대해서 알아보았습니다.
이미지 출처: https://blog.bytebytego.com/p/sessions-tokens-jwt-sso-and-oauth
JWT는 Stateless 설계에 적합하며, 세션 관리를 서버가 아닌 클라이언트가 담당합니다.
이러한 특성으로 인해 세션을 실시간으로 만료하는 처리 할 수는 없습니다.
짧은 만료 시간의 Access Token과 긴 만료 시간의 Refresh Token을 조합해 사용합니다.
비동기 메시징
책에서는 JMS(Java Message Service) 와 RabbitMQ 와 Kafka를 비교하고 있습니다.
그 중 RabbitMQ 와 Kafka 를 비교해보고, 실제로 Kafka 를 Spring 프로젝트 내에서 설정하여 실행해보았습니다.
상황 에 맞는 솔루션을 선택하는 것이 중요합니다.
RabbitMQ 와 Kafka 는 다음과 같은 차이가 있습니다.
- Kafka (polling 방식)
- 설계 철학: 이벤트 스트림 프로세싱.
- 대량 데이터 처리에 최적화, 메시지 처리가 느린 경우에도 데이터를 손실 없이 유지.
- 컨슈머는 처리 속도를 조정할 수 있음.
- RabbitMQ (push 방식)
- 설계 철학: 실시간 메시지 전달.
- 작업 큐(Task Queue)로 주로 사용되며, 특정 작업이 완료되면 메시지를 삭제.
- 메시지를 빠르게 컨슈머에게 전달하는 데 중점.
개발자 온보딩 가이드 - 1장-2장 (강성욱 님)
새로운 조직에 들어가게 되었을 때 어떻게 더 좋은 방향으로 회사 문화에 적응 할 수 있을지
혹은 새로운 조직원이 생겼을 때 어떻게 더 잘 적응하게 할 수 있을지에 대해서 이야기를 나눌 예정입니다.
단순히 주니어 엔지니어 뿐만 아니라 미들/시니어 엔지니어여도 새로운 조직에 들어갔을 때는 새로운 조직에 적응하는 온보딩 과정이 필요한데, 그 과정이 어떻게 진행되었었는지, 어떻게 참여 하면 좋은지 성욱님의 경험담과 함께 들을 수 있었어서 평소에 생각해보지 못했던 것들을 생각해볼 수 있는 시간이였습니다.
K-DEVCON 대전 스터디에 참여하고 싶으신 분들은 언제든지 환영합니다.
저희는 단순히 진도를 나가는데 목적을 두는 것이 아니라 해당 주제에 대해 서로 공부해 온 것을 기반으로 이야기 하면서 스터디를 진행하고 있습니다. 모르는 부분은 질문하고, 자기가 알던 내용과 다르면 얼마든지 의견을 제시해도 좋습니다. 같이 더 좋은 것을 얻어가기 위해 함께 노력하고 있습니다.
서로서로 현업에서 있었던 일이나, 최근 있었던 이슈들에 대해서도 이야기 하고 있습니다.
2025년 스터디에서는 Spring 을 메인 주제로 다뤄보고자 합니다.
아래의 링크에서 자세한 내용을 확인하실 수 있습니다.
https://k-devcon.web.app/spring2025
[대전] K-DEVCON 대전에서 Spring 스터디를 시작합니다.
안녕하세요!K-DEVCON 대전에서는 새해를 맞아 멤버십에서 Spring 스터디를 시작합니다.스터디 일정 및 정보도서: 스프링 인 액션스터디 기간: 약 3달진행 횟수 및 주기: 6회, 평균 월 2회 (연휴/공휴
k-devcon.com
많은 관심 부탁드립니다.
오늘도 다들 파이팅입니다!
keyword: 대전, 대전 개발자, 대전 개발자 네트워킹, 대전 개발자 행사, 대전 개발자 스터디, 자바, Java, 스프링, Spring, 설계
'데브콘 활동 후기' 카테고리의 다른 글
[Review] 고투런 2기 온라인 OT 후기 (1) | 2025.03.07 |
---|---|
[Review] 2024-12-21 K-DEVCON DEAJEON 스터디 후기 (1) | 2025.01.03 |
[Review] 2024-12-07 K-DEVCON DEAJEON 스터디 후기 (2) | 2024.12.12 |
[Review] 2024-10-19 K-DEVCON DEAJEON 스터디 후기 (6) | 2024.10.23 |
[Review] 2024-09-07 K-DEVCON DEAJEON 스터디 후기 (2) | 2024.09.15 |