Jiihyun's log
close
프로필 배경
프로필 로고

Jiihyun's log

  • 분류 전체보기
    • CS
      • DB
    • Spring
    • Project
      • Mingle
      • Showhive
      • Robo77
    • Reflection
    • Clean code
    • Language
      • Java
      • Kotlin
로보 77 구현기 최종 회고

로보 77 구현기 최종 회고

들어가며로보 77 구현 도전을 마친 뒤, 밀려 있던 일들을 정리하며 잠시 숨을 고르는 시간을 가졌다.일주일 간 충분히 쉬고 나니 다시 달릴 준비가 된 듯하다! 2주 전 나는 작년 편의점 미션에서 경험했던 한계를 다시 마주하고 극복해보고 싶어서 복잡한 요구사항을 가진 로보 77을 선택했고,나만의 객체지향 기준이 복잡한 요구사항 속에서도 얼마나 통하는지 검증하며 기준을 발전시키고 싶었다.(보다 자세한 도전 계기는 아래 링크 클릭! 바람니다)https://jiihyunn.tistory.com/33 로보 77 구현기 0일 차 - 왜 이 도전을 하는가?들어가며화, 수, 목 3일 간의 고민을 마치고, 마침내 도전 주제를 선정하였다👏🏻👏🏻👏🏻👏🏻로보 77이라는 최종 주제를 선택하기까지 여러 주제를 떠올..

  • format_list_bulleted Project/Robo77
  • · 2025. 12. 2.
  • textsms
로보 77 구현기 9일 차 - 불필요한 추상화를 걷어내고 Discord 리스너 테스트하기

로보 77 구현기 9일 차 - 불필요한 추상화를 걷어내고 Discord 리스너 테스트하기

들어가며오늘은 출력 로직의 책임 분리를 다시 살펴보며 개선 작업을 진행했다.콘솔/디스코드 환경의 입출력 모델을 다시 이해하면서 기존 설계의 잘못된 가정을 분명히 인지할 수 있었고, 불필요한 추상화를 제거해 구조적 혼잡을 줄이는 리팩토링을 진행했다.또한 앞으로 기능 추가나 리팩토링 시 기존 흐름이 깨지지 않는 확신을 갖기 위해 디스코드 봇 관련 테스트 코드도 작성했다. 디스코드 봇 특성상 실제 이벤트를 다루기 어렵기 때문에 외부 의존성을 모킹하기 위한 Mockito를 학습하여, EventListener의 흐름이 기대한 대로 동작하는지 검증할 수 있었다. 오늘 한 일입출력 로직 책임 분리불필요하게 사용되던 Reader, Writer 인터페이스를 제거하고, ConsoleInput, ConsoleOutput을 ..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 15.
  • textsms
로보 77 구현기 8일 차 - 동작 우선 코드, 객체지향으로 CPR 하기

로보 77 구현기 8일 차 - 동작 우선 코드, 객체지향으로 CPR 하기

들어가며오늘은 어제 작성한 코드를 다시 들여다보며 중복을 제거하고, 각 클래스가 맡아야 할 책임을 정의하며 리팩토링 작업을 진행했다.어제는 디스코드 봇이라는 완전히 새로운 환경에서 처음부터 책임 분리·객체지향·깨끗한 구조까지 다 챙기려 했다가는,아예 한 줄도 못 쓸 것 같아 과감히 동작 우선의 코드를 작성했기 때문이다. (돌아가는 쓰레기 코드...)기능이 실제로 작동하는지 빠르게 확인하는 데 목적이 있었기 때문에 여러 책임이 한 클래스에 섞여 있거나, 중복된 메서드가 생기는 등 구조적으로 아쉬운 부분이 많았다.따라서 리팩토링을 통해 각 환경에서 도메인 로직을 최대한 활용하고자 했다. 오늘 한 일gateway intent 제거Slash Command에서는 사용자로부터 메세지를 직접 읽어오지 않아 MESSA..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 14.
  • textsms
로보 77 구현기 7일 차 - 빈 깡통이었던 디스코드 봇에 생명 불어넣기

로보 77 구현기 7일 차 - 빈 깡통이었던 디스코드 봇에 생명 불어넣기

들어가며오늘부터 본격적으로 디스코드 봇 활성화 하는 것에 도전했다.관련 지식이 전혀 없는 상태라 어디서부터 시작해야 할지 막막했지만,jda 위키 문서와 여러 블로그를 참고하며 천천히 감을 잡아가기 시작했다.특히 디스코드 봇이 콘솔 프로그램과 전혀 다른 방식인 이벤트 기반 구조로 동작한다는 점에서 큰 혼란이 있었고,GatewayIntent, Slash Command 같은 개념들도 처음엔 낯설게 느껴졌다...그래도 작은 것부터 부딪혀보며 하나씩 이해해 나가다 보니 전체 구조가 조금씩 보이기 시작했고, 막막함을 뚫고 구현을 어찌저찌 해낸 것 같다!! 오늘 한 일디스코드 서버에 robo-77 봇 활성화 시키기Discord 봇 토큰 환경변수 설정하기Gateway Intent 알아보기Discord 이벤트 기반 아키..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 13.
  • textsms
로보 77 구현기 6일 차 - Phase 2를 향한 재정비와 첫 디스코드 봇 생성!

로보 77 구현기 6일 차 - Phase 2를 향한 재정비와 첫 디스코드 봇 생성!

들어가며오늘은 어제 마무리했던 Phase 1(콘솔 버전)을 다시 돌아보며 다음 단계로 나아가기 위한 준비를 했다.Phase 2(디스코드 봇 구현)를 앞두고 보니 설렘도 있었지만, 관련해서 아는 지식이 전혀 없는 상태라 "일주일도 안 남은 시간 동안 정말 해낼 수 있을까?"라는 막막함도 동시에 밀려왔다.그래서 기획서를 다시 정리하며 Phase 2의 목표를 더 작고 구체적인 단위로 세분화했다.그 과정에서 잘못된 방향으로 나아가지 않도록 나 자신을 한 번 더 다잡을 수 있었다.또 막연한 불안감을 줄이기 위해 디스코드 봇을 어떻게 구현할 수 있을지 공식 문서와 여러 블로그를 참고하며 전체적인 흐름을 머릿속에 그려보려 했다.관련 자료가 많지 않아 처음엔 막막했지만, 오히려 그렇기 때문에 더 ‘내 힘으로 개척해보자..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 12.
  • textsms
로보 77 구현기 2일 차 - 전략 패턴과 씨름한 하루

로보 77 구현기 2일 차 - 전략 패턴과 씨름한 하루

들어가며오늘은 카드 효과별 턴 진행 로직을 어떻게 하면 더 가독성 좋고 깔끔하게 작성할 수 있을지 고민하며 하루 종일 코드와 씨름했다.카드 타입에 따라 진행 순서를 다르게 처리해야 했는데,매번 if 분기문을 늘어놓지 않고도 복잡하지 않게 효과를 적용할 수 있는 구조가 잘 떠오르지 않았다.그래서 우선 “절차적으로 먼저 이해해보자”는 마음으로, 하나의 메서드 안에 전체 흐름을 주르륵 적어보며 로직을 시각적으로 이해하려고 했다.그렇게 작성된 코드를 다시 들여다보니 중복되는 패턴들이 눈에 들어왔고,이를 바탕으로 전략 패턴을 적용해 카드 효과를 동적으로 처리하는, 나름 만족스러운 구조를 만들어낼 수 있었다. 오늘 한 일카드 효과별 턴 진행 전략 패턴 적용카드 제출 방식 리팩토링 시도 📌 복잡한 카드 효과별 턴 ..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 8.
  • textsms
로보 77 구현기 1일 차 - 예상보다 험난했던 프로젝트 세팅과 카드 제출 구현

로보 77 구현기 1일 차 - 예상보다 험난했던 프로젝트 세팅과 카드 제출 구현

들어가며오늘은 드디어 나만의 도전 주제 탐색 및 기획을 마치고 개발을 본격적으로 시작하였다.👏🏻👏🏻👏🏻로보77 게임 Phase 1 개발 시작👏🏻👏🏻👏🏻 프로젝트 세팅부터 쉽지 않았고,,무엇보다 이번 미션은 기존처럼 “주어진 요구사항을 해석하는 방식”이 아니라,내가 직접 a~z까지 설계해야 한다는 점에서 막막함을 크게 느꼈다.그래도 “첫 술에 배부르려 하지 말자. 일단 시작하고, 더 나은 게 떠오르면 고치면 된다.”라는 마음으로 할 수 있는 작은 것부터 시도하며 첫 발을 내디뎠다.그리고 그렇게 한 걸음씩 나아가다 보니개발해야 할 기능 목록도 정리되고, 카드 제출 기능까지 구현할 수 있었다. 오늘 한 일레포 생성 및 프로젝트 환경 설정도메인 이해 및 기능 목록 작성카드 지급, 손패 조회..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 7.
  • textsms
로보 77 구현기 0일 차 -  왜 이 도전을 하는가?

로보 77 구현기 0일 차 - 왜 이 도전을 하는가?

들어가며화, 수, 목 3일 간의 고민을 마치고, 마침내 도전 주제를 선정하였다👏🏻👏🏻👏🏻👏🏻로보 77이라는 최종 주제를 선택하기까지 여러 주제를 떠올리며 우여곡절이 많았는데,내게 도전이란 정의는 무엇인지, 프리코스 기간 동안 뭘 얻고자 했는지, 어떤 개발자가 되고 싶은지, 무엇을 할 때 몰입할 수 있는지 등 스스로 자문자답 한 결과, 다행히도 2주 동안 즐기면서 몰입할 수 있는 주제를 찾을 수 있었다.따라서 도전에 앞서 '도전을 기획한 이유'와 '도전을 통해 얻고싶은 것'에 대해 기록하여,2주 후 돌아보았을 때 무엇을 이루어냈는지 확인해보고자 한다. 오늘 한 일도전 기획 이유 정리하기도전 실행 계획 수립하기 📌 프로젝트 기획 이유 나의 개발자로서 목표는 단순히 “기능을 구현할 수 있는 사..

  • format_list_bulleted Project/Robo77
  • · 2025. 11. 6.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
전체 카테고리
  • 분류 전체보기
    • CS
      • DB
    • Spring
    • Project
      • Mingle
      • Showhive
      • Robo77
    • Reflection
    • Clean code
    • Language
      • Java
      • Kotlin
최근 글
인기 글
최근 댓글
태그
  • #s3 presigner
  • #반송 이메일
  • #REST Client
  • #presigned url
  • #멱등성
  • #멀티 모듈
  • #aws sdk v2
  • ##객체 지향 5원칙
  • #AWS SES
  • #HTTP 응답
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바