데브콘 활동 후기

[Review] Go To Learn 2기 4주차 활동 후기

juppiiiii 2025. 4. 22. 07:00

 

안녕하세요, 고투런 2기 운영진 박경미입니다.

고투런 2기 멘토링도 어느새 막바지에 접어들고있는데요. 4주차에는 어떤 활동이 있었는지 공유해보겠습니다.

 

[김정우 멘토님 - 확장성, 회복탄력성, 고가용성을 보장하는 애플리케이션 설계]

-멘토링 목표: MSA 구축, PoC

-주차별 목표: Clean Code에 대해서 미니 세션 진행

4주차 멘토링 세션에서는 ‘Clean Code’ 주제로 미니 세션을 진행하며, 가독성 높은 코드를 통해 기술 부채를 줄이고 유지보수성을 높이는 방법에 대해 심도 있는 논의가 이뤄졌습니다. SRP(단일 책임 원칙)를 비롯해 리스코프 치환 원칙, 의존성 역전 원칙 등 SOLID 원칙들을 실제 코드에 어떻게 녹여낼지 각자의 경험과 예시를 바탕으로 이야기 나누었고, 작은 함수와 메소드의 중요성, 유연한 구조 설계 방법 등을 실무에 맞춰 정리했습니다. 네이밍 전략과 코드 컨벤션 수립에 대해서도 열띤 의견이 오갔고, 변수명에 단위를 명확히 표시하거나 메소드 이름 앞에 동사를 두는 등의 방식으로 코드 가독성과 목적성을 강화하기로 했습니다. 로드 테스트, 클라우드 리소스 전략 등 인프라 차원의 고민도 함께 다뤘으며, 실제 서비스 확장 시 어떤 성능 전략이 필요한지 아이디어를 공유했습니다.

 

[서준수 멘토님 - 프로젝트로 배우는 안드로이드 프로그래밍 A to Z]

- 멘토링 목표: 테스트(JUnit, Espresso) 학습

- 주차별 목표:  검색결과 클릭 시 해당 위치로 포커스, 마지막 위치 저장 후, 앱 실행 시 해당 위치로 포커스 되도록 구현하고, 테스트 코드를 작성할 수 있다.

이번 주에는 ‘테스트’를 주제로 실제 기능 구현과 함께 JUnit4와 Espresso를 활용한 단위 테스트 및 UI 테스트를 학습했습니다. 검색 결과에서 특정 장소를 클릭하면 해당 위치로 포커스가 이동하고, 앱 재실행 시 마지막 위치를 기억해 복원하는 기능을 구현하며, 테스트 가능한 구조로 만들기 위해 패키지 분리와 의존성 주입 방식에 대해 논의했습니다. View, ViewModel, Repository 구조를 기반으로 구현된 코드를 함께 리뷰하면서, 테스트를 고려한 설계의 중요성과 테스트 더블을 활용한 효과적인 테스트 방식에 대해 멘토와 멘티 간 활발한 피드백이 오갔습니다. SQLite와 SharedPreference를 상황에 맞게 구분하여 사용하는 전략, 지도 API 사용 시 에러 대응 방안, BottomSheet 활용법 등도 다루며, 실무에서 겪는 다양한 예외 상황을 시뮬레이션하고 이를 테스트 코드로 검증하는 경험을 쌓았습니다. 새로운 라이브러리 추가 시 그 필요성을 다시 검토하고, 학습 목표에 부합하는 구현인지 서로 검토해보는 문화가 자연스럽게 형성된 점도 인상 깊었습니다.



[이현재 멘토님 - 객체지향 101 - 객체지향을 쓰게 된 이유]

-멘토링 목표: 암기에 그치는 이론에서 벗어나 실제 객체지향을 느껴보기

-주차별 목표: 상속과 합성

4주차에는 실무에서 유용하게 사용할 수 있는 디자인 패턴들을 중심으로 객체지향 설계의 핵심인 의존성 관리에 논의했습니다. 특히 템플릿 메서드 패턴과 전략 패턴의 차이를 중심으로, 상속과 합성이 객체 설계에 미치는 영향을 비교 분석했습니다. 템플릿 메서드 패턴은 자식 클래스의 형을 통해 조합을 고정하므로 구조가 단순하지만, 조합이 많아질수록 형이 무한히 늘어나는 조합 폭발 문제가 발생합니다. 반면 전략 패턴은 런타임에 필요한 객체를 주입할 수 있어 유연하지만, 그만큼 의존 객체가 많아지는 의존성 폭발 문제가 발생한다는 한계가 있습니다. 이 밖에도 생성 패턴과 팩토리 등 다양한 디자인 패턴을 함께 살펴보았고, 이전에 작성했던 코드 중 디자인 패턴을 적용해 리팩토링 할 수 있는 코드는 어떤 것이 있을까 함께 논의하였습니다. 이번 멘토링을 통해 객체지향 설계는 상황에 따라 변화에 대응할 수 있는 구조를 만드는 일임을 다시금 확인할 수 있었던 시간입니다.





[정유선 멘토님 - 20년차 AI 엔지니어에게 배우는 AI 에이전트의 모든 것]

-멘토링 목표: AI 에이전트의 모든 것 학습

-주차별 목표: 멘티별 맞춤 학습목표

이번 주에는 챗봇의 응답 품질을 어떻게 평가할 수 있는지에 대해 심도 있게 다뤘습니다. Accuracy, Precision, Recall, F1 Score 같은 기본적인 메트릭부터 Confusion Matrix, Fallback Rate까지 구체적인 예시와 함께 학습하며, 챗봇이 사용자 질문에 대해 얼마나 정확하고 관련성 있는 답변을 제공하는지를 판단하는 기준을 명확히 할 수 있었습니다. 또한 멘티님들이 진행 중인 에이전트 프로젝트를 공유하며, 멀티 에이전트 구조 설계와 Human-in-the-loop 개입 방식에 대한 실질적인 논의를 나눴습니다. 예를 들어, 뉴스 정보를 수집하고 주제를 분류한 뒤, 사람의 판단을 통해 편향을 걸러내고 스토리라인을 조정하는 방식처럼 자동화된 흐름 속에서 사람이 개입하는 시점과 방식에 대해 다양한 아이디어가 제시되었습니다. Slack 연동, 이벤트 기반 워크플로우, A/B 테스트 등을 활용한 조건 분기 설계도 함께 논의하며, 단순 구현을 넘어 실제 서비스 품질을 높이기 위한 접근이 인상 깊은 세션이었습니다.