Git Product home page Git Product logo

modern-java-in-action's Introduction

현 저장소는 모던 자바 인 액션에 관한 스터디 내용을 담은 저장소입니다.

스터디 사용 책

[모던 자바 인 액션] 책을 기준으로 진행됩니다.

스터디 일정 및 커리큘럼

  • 주 1회 목요일, 오프라인으로 만나 약 2시간의 스터디 시간(20:00~22:00)을 가집니다.
  • 21개 챕터의 내용을, 각 장을 1주에 걸쳐 학습합니다 (챕터속 소주제의 내용이 방대해질 경우, 유동적으로 챕터 분리)

진행 방식

스터디 모임 전, 모임 당일에 각 스터디원은 아래 내용을 준비해 와야 합니다.

스터디 모임 전

  • 기본적으로 그 주에 해당하는 챕터의 부분은 모두 다 읽습니다.
  • 챕터 속 각 소주제마다 담당자를 랜덤으로 정한다
    • 모든 인원은 최소 하나의 소주제의 담당자가 되지만, 소주제가 사람 수 보다 적을 시엔 예외입니다.
  • 해당 저장소를 fork후 각 폴더의 README.md에 자기가 맡은 소주제를 꼼꼼하게 정리하고 PR-Merge를 합니다.
    • PR 마감시간은 매주 목요일 18:00까지입니다. (정리본 미업로드시 1회당 예치금 -3000)
  • 현 저장소의 issues에 해당 챕터의 이슈가 등록 됩니다.
    • 책을 읽다가 내가 맡은 소주제가 아닌 부분에 대하여 모르는 점이 생기면 issues에서 자유롭게 해당 담당자에게 질문 남깁니다.
    • 담당자는 본인이 책을 읽고 얻은 지식 + 검색(출처 명시)을 통해 성실하게 답변을 해줍니다. (몰라도 됩니다!! 모른다면 다 같이 토론 합니다!)
    • 공격적인 질문 등이 아닌 서로 토론하고 다양한 생각과 지식을 얻기 위함입니다!
    • ex) 1.1 역사의 흐름은 무엇인가? / 30p에서 ~~ 이런 부분에서 왜 이렇게 되는지 잘 모르겠음.
    • ex) 담당자 혹은 아는 사람은 @홍길동(질문자 태그) / 이 부분은 자바의 ~~ 부분을 보시면 좋을거 같고 제 생각에는 이러합니다. 함께 보시면 좋은 링크도 남겨드립니다.

스터디 모임 당일 (목 20:00~)

  • 모임 당일 각자가 맡은 소주제의 정리본을 토대로 발표 -> 이슈에 나온 내용 토론 (담당자가 주가 되어), 다음 소주제 발표 -> 이슈에 나온 내용 토론의 형식으로 진행됩니다.
    • 한 주제의 내용으로 너무 오래 끌고가지 않도록 합니다.
    • 대관시간에 맞게 각 소주제별 시간을 타임라인을 쪼개어 할애한다. (주어진 시간 안에 끝내는 것도 훈련!)
    • 모두가 잘 모르는 부분이라면, 검색 후 추후 공유
    • 너무 완벽하지 않게, 너무 깊지 않게 주어진 시간안에 유연하게 잘 끝내기를 목표로
  • 미팅 날 소주제의 담당자분이 빠지게 되면 현장에서 랜덤으로 대체할 사람을 뽑습니다.
    • 불가피하게 모임에 참여하지 못하시더라도 README.md에 정리는 꼭! 해주셔야 합니다.
  • 모든 토론과 의견을 제시할 땐 상대방의 의견을 존중해서 합니다.

스터디 진행 내용을 본 저장소에 기록하여 저장합니다. 기록하는 내용은 아래와 같습니다.

  • 소주제별 해당 담당자 표기 및 소주제별 정리본
    • 스터디장은 챕터의 모든 소주제가 업로드되면 챕터 README.md에 취합하여 하나로 올린다.
  • 스터디 중 발생한 질문 및 답변을 issues에 기록
  • 발표한 내용에 추가 혹은 보완할 내용
  • 기본적으로 모든 내용은 책을 바탕으로 합니다.
    • 책에 나오는 내용 외에 추가적인 내용을 다루는 경우, 명확한 출처와 근거 자료를 제시해야 합니다. (잘못된 내용을 학습하는 것을 막기 위함)

저장소의 네이밍 컨벤션

  • 챕터 디렉토리 (스터디장이 생성)
    • ex) Ch3 - 람다 표현식
    • ex) Ch4 - 스트림 소개
  • 소주제 디렉토리 (스터디장이 생성)
    • 숫자 + 소주제 타이틀 (소주제 안의 소주제의 넘버까진 기입 X)
      • ex) 1.1 역사의 흐름은 무엇인가?
      • ex) 1.3 자바 함수
    • 정리를 하는 리드미 파일 : README.md
      • 따로 네이밍 하지 않고 README.md 이름 그대로 가져간다.

스터디장이 원본 저장소에 디렉토리를 생성하면, 스터디원들은 fork한 저장소를 업데이트 후 README.md에 작성만 하면 된다

커밋 컨벤션

  • [해당 소주제 넘버] 소주제 타이틀_이름
    • ex) [1.3] 자바 함수_홍길동
    • ex) [1.1] 역사의 흐름은 무엇인가?_홍길동

modern-java-in-action's People

Contributors

deingvelop avatar hongxeob avatar jeongyuneo avatar parkrio avatar seungah-hong avatar vimkim avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

modern-java-in-action's Issues

<Ch9 - 리팩터링, 테스팅, 디버깅>

범위

  • 9.1 가독성과 유연성을 개선하는 리팩터링 : @deingvelop
  • 9.2 람다로 객체지향 디자인 패턴 리팩터링하기 : @jeongyuneo
  • 9.3 람다 테스팅 : @hongxeob
  • 9.4 디버깅 : @dqgthb

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch6 - 스트림으로 데이터 수집>

범위

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch2 - 동작 파라미터화 코드 전달하기>

범위

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch1 - 자바 8, 9, 10, 11 무슨 일이 일어나고 있는가>

범위

  • 1.1 역사의 흐름은 무엇인가? : @jeongyuneo
  • 1.2 왜 아직도 자바는 변화 하는가? : @deingvelop
  • 1.3 자바 함수 : @hongxeob
  • 1.4 스트림 : @ParkRio
  • 1.5 디폴트 메서드와 자바 모듈 : @SeungAh-Hong
  • 1.6 함수형 프로그래밍에서 가져온 다른 유용한 아이디어 : @dqgthb

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch3 - 람다 표현식>

범위

  • 3.1 람다란 무엇인가 : @jeongyuneo
  • 3.2 어디에, 어떻게 람다를 사용할까 : @dqgthb
  • 3.3 람다 활용 - 실행 어라운드 패턴 : @SeungAh-Hong
  • 3.4 함수형 인터페이스 사용 : @hongxeob
  • 3.5 형식 검사, 형식 추론, 제약 : @ParkRio
  • 3.6 메서드 참조 : @deingvelop
  • 3.7 람다, 메서드 참조 활용하기 : @ParkRio
  • 3.8 람다 표현식을 조합할 수 있는 유용한 메서드 : @dqgthb

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch7 - 병렬 데이터 처리와 성능>

범위

  • 6.5 Collector 인터페이스 : @SeungAh-Hong
  • 6.6 커스텀 컬렉터를 구현해서 성능 개선하기 : @hongxeob
  • 7.1 병렬 스트림 : @deingvelop
  • 7.2 포크, 조인 프레임 워크 : @dqgthb
  • 7.3 Spliterator 인터페이스 : @jeongyuneo

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch4 - 스트림 소개>

범위

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

Ch10 - 람다를 이용한 도메인 전용 언어

범위

  • 10.1 도메인 전용 언어 : @hongxeob
  • 10.2 최신 자바 API의 작은 DSL : @jeongyuneo
  • 10.3.1~2 자바로 DSL을 만드는 패턴과 기법(1) : @SeungAh-Hong
  • 10.3.3~5 자바로 DSL을 만드는 패턴과 기법(2) : @dqgthb
  • 10.4 실생활의 자바 8DSL : @deingvelop

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch8 - 컬렉션 API 개선>

범위

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

<Ch5 - 스트림 활용>

범위

관련하여 본인이 잘 모르겠거나, 같이 알면 좋을만한 지식을 질문하고 아래 댓글로 남겨주세요.

질문들을 통해 같은 주제를 다양한 관점에서 보고, 더욱 깊은 지식 습득을 목표로 합니다!
이곳에서 질문에 관한 내용을 구체적으로 토의해도 좋습니다!

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.