📢 notice. K-DEVCON Daejeon 브랜치는 대전, 세종을 중심으로 운영 중인 개발자 커뮤니티이며 온라인으로 IT 지식과 개발에 관련된 토론을 나누고, 오프라인 정기 스터디 모임(격주 토요일, 유료)이 진행되고 있습니다. IT업계에 종사하고 있거나 IT를 공부하고 있다면 누구나 함께할 수 있습니다. 자세한 내용은 아래 링크를 참고해 주세요. K-DEVCON Daejeon K-DEVCON Daejeon 정기 스터디 모임 신청 문의 |
안녕하세요 K-DEVCON(k-devcon.com) 입니다.
지난 12월 7일(토)에 K-DEVCON 대전 챕터에서는 28번째 오프라인 스터디가 진행되었습니다.
스터디 주요 내용은 다음과 같습니다.
내 코드가 그렇게 이상한가요?
프로그램 설계의 질서를 파괴하는 주요 패턴에 대해서 알아봅니다.
9장 설계의 건전성을 해치는 여러 악마 (이규환)
Real Mysql 8.0
MySQL에서 어떻게 쿼리 작성을 최적화 할 수 있는지 알아봅니다.
11장 쿼리 작성 및 최적화 (SELECT) (박종훈)
[특별 주제] 당신의 Python, 안녕하십니까?
Python 트렌드를 알아보면서 어떻게 하면 Python 을 더 효율적으로 사용하는 방법을 알아봅니다.
(이예성)
내 코드가 그렇게 이상한가요? - 설계의 건전성을 해치는 여러 악마 (이규환 님)
이 책은 제목은 장난스러워 보이지만, 그 안에 내용은 이해하기 쉬우면서도 공감이 가는 내용들로 채워져 있어서 재밌게 함께 스터디를 진행하고 있습니다.
이번 발표에서 다용한 내용을 다뤘지만 그 중 하나인 YAGNI 원칙에 대해서 소개를 드려보겠습니다.
YAGNI는 You Aren't Gonna Need It 의 약자입니다.
개발을 하다보면 때때로 앞으로 구현해야 할 부분까지 과도하게 예측해서 개발을 진행하게 되는 경우가 있는데요
막상 이후에는 요구 사항이 변경되어서 예측해서 추가 개발했던 부분이 사용되지 않게 되기도 합니다.
이는 불필요한 리소스 사용이며, 불필요하게 코드의 복잡도를 올리게 되는 원인이 되기도 합니다.
YAGNI 원칙은 현재 필요한 것에 집중하고, 미래를 지나치게 예측하려 하지 말라는 소프트웨어 개발 철학입니다.
Real Mysql 8.0 - SELECT 쿼리 작성 및 최적화 (박종훈 님)
MySQL 8.0의 SELECT 문과 관련된 다양한 내용들을 다뤄보았습니다.
스터디에서 진행했던 내용은 블로그 글로도 정리해보았습니다.
이번 스터디를 통해 SELECT 문이 어떤 순서로 처리되고 SELECT 문을 작성할 때 어떤 부분들을 유의해야 하는지에 대해서 알 수 있었습니다.
재밌었던 내용을 하나 소개해드리자면 COUNT 함수에 대한 이야기 인데요.
사람들이 COUNT 함수에 대해 쉽게 오해하는 것이 COUNT 함수가 그냥 데이터를 가져오는 것에 비해 빠를것이다 라고 생각하는 것이라고 합니다. 하지만 일반적인 SELECT 문과 동일한 접근 방식으로 데이터를 조회해오기 때문에 COUNT 문 역시 주의 해야 한다는 것을 알게되었습니다.
그러면 COUNT 함수를 어떻게 개선할 수 있을까요?
다양한 방법이 있겠지만, 이 글에서는 그 중 임의의 페이지 번호 표기를 통한 최적화 방법에 대해서 소개를 해보겠습니다.
종종 우리가 구글에서 검색을 하다보면, 페이지가 있는 것처럼 나와서 페이지를 눌러보았는데
막상 해당 페이지는 없고 그것보다 더 이전의 페이지가 마지막 페이지로 설정되는 경험을 해보신 적이 있으실 겁니다.
이 현상은 임의의 페이지 번호 표기를 통해 COUNT(*)를 최적화 한 케이스 인데요
이와 같이 임의의 페이지 번호 표기를 하고 페이지 번호를 보정을 하면 COUNT(*) 의 호출 횟수를 줄일 수 있습니다.
정리하자면 다음과 같이 동작을 하게됩니다.
- 우선 첫 페이지에서 10개 페이지 표시 한다.
- 페이지를 이동할 경우 이동하면서 페이징 쿼리를 수행한다.
- 해당 페이지에 해당하는 데이터가 있을 경우 사용자에게 데이터 전달
- 해당 페이지에 해당하는 데이터가 없을 경우 마지막 페이지 번호에 대한 보정을 진행한다.
* 페이지 보정이 발생되었을 경우, COUNT(*) 을 수행하긴 하지만, 기존보다 호출 횟수를 줄일 수 있습니다.
[특별 주제] 당신의 Python, 안녕하십니까? (이예성 님)
최근에 K-DEVCON 대전에서는 연말 행사를 진행했었습니다.
관련 리뷰글 : [Review] 2024-11-30(토) K-DEVCON 대전 : 대전 개발자 한 해 마무리
해당 행사에서 예성님은 파이썬의 트렌드를 소개 해주셨었는데요.
이번 스터디 에서도 해당 내용을 공유해주셨습니다.
행사에 참여하지 못하셨던 회원분들도 해당 내용에 대해서 들을 수 있는 좋은 기회였습니다.
행사에서는 묻지 못했던 더 다양한 이야기도 나눌 수 있었습니다.
파이썬도 k8s 처럼 1년에 한번씩 새로운 버전을 출시하고 있기 때문에, 정기적으로 업데이트 하는 프로세스를 만들어야 한다는 것을 강조해주셨습니다.
또한 과거에는 requirements.txt를 사용하여 Python 프로젝트의 의존성을 관리했지만, 최근에는 Poetry와 UV와 같은 도구들이 각광받고 있다고 하는데요. 다음에 프로젝트를 구성한다면 꼭 Poetry 나 UV 를 도입해 봐야겠다는 생각이 들었습니다.
K-DEVCON 대전 스터디에 참여하고 싶으신 분들은 언제든지 환영합니다.
저희는 단순히 진도를 나가는데 목적을 두는 것이 아니라 해당 주제에 대해 서로 공부해 온 것을 기반으로 이야기 하면서 스터디를 진행하고 있습니다. 모르는 부분은 질문하고, 자기가 알던 내용과 다르면 얼마든지 의견을 제시해도 좋습니다. 같이 더 좋은 것을 얻어가기 위해 함께 노력하고 있습니다.
서로서로 현업에서 있었던 일이나, 최근 있었던 이슈들에 대해서도 이야기 하고 있습니다.
오늘도 다들 파이팅입니다!
keyword: 대전, 대전 개발자, 대전 개발자 네트워킹, 대전 개발자 행사, 대전 개발자 스터디, 자바, Java, 스프링, Spring
'데브콘 활동 후기' 카테고리의 다른 글
[Review] 2024-12-21 K-DEVCON DEAJEON 스터디 후기 (1) | 2025.01.03 |
---|---|
[Review] 2024-10-19 K-DEVCON DEAJEON 스터디 후기 (5) | 2024.10.23 |
[Review] 2024-09-07 K-DEVCON DEAJEON 스터디 후기 (2) | 2024.09.15 |
[Review] 2024-08-24 K-DEVCON DEAJEON 스터디 후기 (6) | 2024.08.31 |
[Review] 2024-08-10 K-DEVCON DEAJEON 스터디 후기 (+ 멤버십 데이 2회차) (0) | 2024.08.12 |