GithubHelp home page GithubHelp logo

step-by-step-oop-study's Introduction

스터디 교재

오브젝트 회차 당 3챕터씩

스터디 규칙

  • 스터디 진행 중에는 서로 존댓말 사용하기
  • 스터디 끝나고 다같이 회고하기

스터디 장소와 요일

요일: 수요일, 일요일 장소: TBD

step-by-step-oop-study's People

Contributors

binsk-dev avatar

Stargazers

Yeseul Gong avatar

Watchers

송민준 avatar  avatar

step-by-step-oop-study's Issues

과제 - 영화 시스템 리팩토링 진행

📋 사전 정보

다음은 과제는 지난번 진행한 구현 과제(#16)에 이어서 작성하게 됩니다. 테스트 프레임워크는 JUnit5(official docs)를 기준으로 하겠습니다.

위의 사항을 참고하여 아래의 요구사항을 만족시키는 코드를 작성해주세요! 제출은 모든 과제 소스들을 담은 디렉토리를 code 브랜치에 개인 PR로 날리는 형태로 하겠습니다.

🧹 설계 개선 및 리팩토링

지난 과제와 이번 4회차 스터디 모임을 통해 각자의 설계의 문제점과 이를 개선시킬 단서들을 얻으셨으리라 믿고 있습니다.
이번 과제에서는 날 것의 과제를 다듬어보고 지금까지 배웠던 것들을 되돌아보는 시간을 가져보겠습니다.
지난번 요구사항을 그대로 만족시키는 코드를 각자 스터디에서 생각했던 설계를 직접 구현해보겠습니다.

이번에는 코드에 대한 테스트 코드도 함께 작성하는 것을 목표로 하겠습니다.

스터디 컨텐츠 제안

회고 관련

image

한 줄 요약

  • 이번 인프콘2023에 가서 토비님의 강의 때도 들었던 것으로 "나의 언어로 표현"하는 것이 배우는 과정에 있어서 굉장히 중요하다고 하여 한 줄이라도 배운 내용을 요약해서 정리해보는 것도 의미가 있을 것 같습니다.

진도 - 교재 ch.4 ~ 6 읽어오기

저번 1~3 챕터의 연장선인 내용들을 담고 있습니다. 아마 익숙한 내용들도 있고 생소한 내용들도 있을텐데 스터디 시간에 같이 이야기 하면 좋을 것 같습니다.

과제 - 게임 만들기 요구사항 토론

추가적인 요구사항이 있으면 댓글로 논의하기

게임 종류: 턴제 게임

과제 목표:

  • 실제 구현체까지는 아니더라도 확장 가능한 형태의 게임을 설계
    • 예를 들면 무기가 있으면 마법, 물리 등의 타입으로 확장할 수 있는 설계
  • 좋은 설계인지 확인하는 테스트 용도로 1~2개 정도의 구현까지만 만들기

구현 목표:

  • 게임 한 판이 돌아갈 수 있도록
  • 포켓몬스터 처럼 각 유저는 5개의 캐릭터를 배치하고 전투
  • 배치된 순서대로 나와서 전투, 진 쪽은 다음 캐릭터 출전
  • 모든 캐릭터가 죽으면 패배
  • 각 캐릭터는 다양한 무기 타입, 방어구 타입을 가지고 있어서 상성 관계가 있음

과제 - 영화 예매 시스템 기능 추가 및 개선

📋 사전 정보

다음은 과제는 지난번 진행한 구현 과제(#9)에 이어서 작성하게 됩니다.

위의 사항을 참고하여 아래의 요구사항을 만족시키는 코드를 작성해주세요! 제출은 모든 과제 소스들을 담은 디렉토리를 code 브랜치에 개인 PR로 날리는 형태로 하겠습니다.

🛠️ 개선사항

저번 과제에 성인, 청소년, 어린이 별로 가격을 따로 설정하는 규칙을 설정하지 않았는데 기존에 규칙을 설정해서 구현을 하지 않았던 분들은 이번 과제에서 각 유형 별로 따로 요금을 받게 만들어주세요. 같은 맥락에서 영화의 유형(ex. 2D, 3D)에 따라서도 요금을 별도로 책정해주세요!

진도 - 교재 ch.7 읽어오기

주로 의존성과 관련된 이야기입니다. 기존에 이해했던 의존성에 대한 개념을 환기시키는 시간이 되었으면 합니다.

과제 - 영화 예매 시스템 기능 추가

📋 사전 정보

다음은 과제는 스터디 교재 '오브젝트'의 저자이신 조영호님의 Github 저장소에 업로드된 chapter02 디렉토리 밑에 있는 소스들 중 스텝2에 해당하는 코드를 기준으로 진행합니다.

위의 사항을 참고하여 아래의 요구사항을 만족시키는 코드를 작성해주세요! 제출은 모든 과제 소스들을 담은 디렉토리를 code 브랜치에 개인 PR로 날리는 형태로 하겠습니다.

➕ 추가 기능

예매 정보 확인 기능

예매 UUID: 123e4567-e89b-42d3-a456-556642440000
제목: 오펜하이머
상영 유형: 2D
상영 시간: 180분
상영 날짜: 2023-08-25
상영 시각: 16:30
예매한 시간: 2023-08-23 09:30:27
예매 매수: 성인 2명, 청소년 1명, 어린이 1명
지불액: 49,000원
영화관: 성신여대점
상영관: 11층 09관

예시: 유저가 자신의 예매를 확인

예매 취소 기능

유저의 의사에 따라 특정 예매 항목에 대해서 예매를 취소할 수 있어야 함. 이 때, 유저에게 환불되는 금액은 정가의 90%다. 단, 환불은 상영 날짜 당일 1시간 전까지만 가능

🤨 기타 변경사항

기존의 코드베이스를 각자의 생각을 갖고 기능적 요구사항을 만족시키게끔 변경. 이에 따른 구체적인 제약사항은 없음.

Gather town 스터디 방

만든 목적

첫 회의 때 스터디 내에서 글쓰기 모임 같은 것을 자발적으로 열어서 같이 하는 문화가 만들어졌으면 좋겠다고 말씀드렸었습니다.

하지만 매번 줌 같은 온라인 회의실을 열기에는 번거로움이 있을 것 같아서 자유롭게 출입할 수 있는 gather town을 이용해서 공부하거나 글쓰기 할 때 같이 이용하면 어떨까 해서 하나 만들어봤습니다!!

공부하시거나 글을 쓰실분들은 들어오셔서 함께 하면 서로 동기부여도 되고 좋을 것 같습니다!

게더타운 주소:

https://app.gather.town/invite?token=xJXBdMhNS4ilOhNSZebh

비밀번호는 따로 공유드리겠습니다!

2023-09-20 스터디 회고

회고 템플릿 - 오른쪽 상단의 복사 버튼 누른 후 작성

# Plus 좋았던 점

# Minus 아쉬웠던 점

# Interest 흥미로웠던 점

2023-09-13 스터디 회고

회고 템플릿 - 오른쪽 상단의 복사 버튼 누른 후 작성

# Plus 좋았던 점

# Minus 아쉬웠던 점

# Interest 흥미로웠던 점

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.