데브콘 리뷰 보기

[Review] 2024-02-03 K-DEVCON DEAJEON 스터디 후기

알 수 없는 사용자 2024. 2. 5. 00:02
📢 notice.

K-DEVCON Daejeon 브랜치는 대전, 세종을 중심으로 운영 중인 개발자 커뮤니티이며 온라인으로 IT 지식과 개발에 관련된 토론을 나누고,
오프라인 정기 스터디 모임(격주 토요일, 유료)이 진행되고 있습니다. IT업계에 종사하고 있거나 IT를 공부하고 있다면 누구나 함께할 수 있습니다. 자세한 내용은 아래 링크를 참고해 주세요.



l   K-DEVCON : https://k-devcon.com/groups
l   K-DEVCON Daejeon 정기 스터디 모임 신청 문의  : https://forms.gle/dF6rR6oF4QE68LDq6

 

 


‘항상 주변을 단정히 정돈하는 사람은 단지 찾기를 너무 귀찮아하는 사람이다.’

-독일 속담

 

 

 

안녕하세요! 😄 이번 주 진행한 스터디의 첫번째 문장을 소개하며 리뷰를 시작합니다.

2024년 2월 4일에 K-DEVCON Daejeon 브랜치에서 데이터 중심 애플리케이션 설계 책으로 스터디가 진행되었습니다!

 

 

K-DEVCON  대전 정기 스터디

 

일정

l 2024.01.20 14:00-18:00 (4h)

l 대전 궁동 더포럼

 

참여자 수

l 12명

 

스터디 진행 내용

l  데이터 중심 애플리케이션 설계 Part 1 - 03. 저장소와 탐색: 조 OO

l  프론트엔드에 대하여: 배 OO

l  스프링에서 테스트코드 작성하기 : 박 OO

l  토론

 

 


데이터 중심 애플리케이션 설계 Part 1

03. 저장소와 탐색

 

3장 저장소와 검색에서는 데이터베이스가 데이터를 저장하는 방법과 데이터를 요청했을 때 다시 찾을 수 있는 방법을 설명하고 있습니다.

애플리케이션 개발자가 저장소 엔진을 주의해야하는 이유는 무엇일까요? 특정 작업부하 유형에서 좋은 성능을 내게끔 저장소 엔진을 조정하려면 저장소 엔진에서 수행되는 작업에 대해 대략적인 개념을 이해할 필요가 있기 때문입니다.

 

 

먼저 로그 구조(Log-Structured) 계열 저장소 엔진에 대해서 함께 살펴보았습니다.

많은 데이터 베이스는 내부적으로 추가 전용(append-only) 데이터 파일인 로그(log)를 사용합니다. 로그는 키,값으로 된 데이터를 파일의 끝에 매번 추가함으로써 키를 여러 번 갱신해도 예전 버전을 덮어쓰지 않습니다. db_set 즉 쓰기 작업은 좋은 성능을 보여주지만, db_get 읽기 작업은 파일에서 파일에서 키의 마지막 항목을 찾아야하므로 많은 레코드가 있으면 성능이 매우 좋지 않습니다.

 

 

그래서 데이터베이스에서 특정 키의 값을 효율적으로 찾기 위해서 색인이 등장했습니다.

먼저 해시 색인이 있습니다. 해시 맵을 사용해 데이터 파일에서 오프셋을 찾아 해당 위치를 구하고 값을 읽은 방식으로 각 키의 값이 자주 갱신되는 상황에서 적합합니다. 다만 이런 식으로 키에 따른 값이 계속 쌓이면 디스크 공간이 부족해집니다. 이를 해결하기 위해서 로그를 세그먼트로 나누는 방식이 등장했습니다.

 

 

 

세그먼트로 나누는 것은 특정 크기에 도달하면 세그먼트 파일을 닫고 새로운 세그먼트 파일에 이후 쓰기를 수행하게 됩니다. 그런 다음 세그먼트 파일들에 대해 컴팩션을 수행하게 됩니다.

컴팩션은 로그에서 중복된 키를 버리고 각 키의 최신 갱신 값만 유지하는 것을 의미합니다고정된 세그먼트의 병합과 컴팩션은 백그라운드 스레드에서 수행할 수 있습니다.

병합 과정이 끝난 이후에는 읽기 요청은 이전 세그먼트 대신 새로 병합한 세그먼트를 사용하게끔 전환하게 되고, 전환 후에는 이전 세그먼트 파일을 간단히 삭제하면 됩니다.

 

 

 


k-devcon 대전 정기 스터디

프론트 엔드에 대하여

 

 

프론트 엔드의 역사와 RnR, 그리고 경험담을 나눠보는 시간을 가졌습니다. 제가 발표자료를 준비하고 소개하는 자리를 가지게 되었습니다.

아무래도 뒤늦게 합류하기도 했고.. 대전에는 아직 RnR을 명확하게 구분하는 회사가 적다보니, 개발자 인원이 증가하며 서로 어떻게 업무를 분담할 수 있을지 고민이 될 수 있다고 생각이 되어서 역사와 역할을 얘기 나눠보면 좋겠다 싶더라구요.

 

매일 하는 일이다 보니, 너무 시시한 발표로 끝날까봐 걱정하며 준비를 했는데, 다들 귀기울여 주시고, 공감해주셔서 함께 하는 스터디분들과 친밀도가 상승하는 기분이었습니다. ㅎㅎ 

 

 

 

2015년 이후 등장한 FE 프레임워크 & 라이브러리 목록을 보여드리니 다들 놀라시더라구요. 진화하는 프론트엔드.. 하하!

학습하는 것을 좋아하시나요? 최고의 직무. 추천합니다.

 

 

 


k-devcon 대전 정기 스터디

스프링에서 테스트코드 작성하기

지난 01월 27일에 진행한 일월엔 스타트! 행사에서 진행했던 스프링에서 테스트코드 작성하기 발표를 한번 더 공유해주셨습니다. 여건 상 참여하지 못한 분들이 계셨고, 이미 들은 분들에게도 테스트코드에 대한 경각심(?)을 한번 더 일깨워주는 시간이었습니다.

 

테스트코드 정말 중요하죠.. 

왜 중요한지, 어디서부터 어떻게 테스트코드를 시작해야 할지 부터 어떤 기법들을 사용할 수 있는지 소개해주셨습니다.

굉장히 유익한 발표라고 생각합니다! 짝짝짝!

 

 

 

 

스터디를 시작할 때에는 날이 흐리다 정도였는데, 마칠 때 쯤에는 비가 내리고 있더라구요.

흐린 날씨에도 지치지 않는 열정!!! 다들 대단합니다!! 멋있어요!! 좋은 관계가 형성되고, 유익한 시간이었습니다. 벌써부터 다음 스터디도 기대가 되네요~~

 

읽어주셔서 감사합니다! 오늘도 좋은 하루되세요.