> For the complete documentation index, see [llms.txt](https://seokrae.gitbook.io/sr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://seokrae.gitbook.io/sr/readme.md).

# Contents

* 정리해서 남주기

## Schedule

* 월요일

| 주제           | Tags | 참여인원    | Github                                                                          | 남은기간                     | 요약                                                                                                                                                                                                                                    |
| ------------ | ---- | ------- | ------------------------------------------------------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 스프링 부트 웹 기본  | 완료   | SR 외 7인 | [Link](https://github.com/spring-org/springboot_board)                          | 2020/06/08 \~ 2020/08/20 | <p>- SpringBoot 기반 웹 프로젝트 개발 시 필요한 내용이 무엇인지 파악하게 된 스터디 <br> - SpringBoot, JPA, Swagger를 이용한 backend API Server 개발 <br> - Spring JPA, Security, Batch</p>                                                                              |
| 스프링 부트 시큐리티  | 완료   | SR 외 7인 | [Link](https://github.com/spring-org/spring-security)                           | 2020/09/18 \~ 2020/12/16 | <p>- Spring Security 학습 스터디 <br> - 현업에서 커스텀되어 개발된 프로젝트에서 시큐리티 부분이 어떤 부분인지 알게된 스터디 <br> - 스프링 시큐리티 기본 API & Filter <br> - Security 주요 아키텍처 이해 <br> - Authentication 프로세스 구현 (Form인증, Ajax 인증) <br> - Authorization 프로세스 구현 (DB 연동)</p> |
| 알고리즘         | 완료   | SR 외 7인 | [Link](https://github.com/SeokRae/java_sample/tree/master/programmers)          | 2020/10/13 \~ 2021/01/13 | <p>- 프로그래머스 코딩테스트 고득점 Kit <br> - 알고리즘 학습하는 방법을 배우는 스터디 <br> - 해시, 스택/큐, 힙, 정렬, 완전탐색, 탐욕법 까지 진행하고 마무리</p>                                                                                                                              |
| 코딩 인터뷰 완전 분석 | 완료   | SR 외 7인 | [Link](https://github.com/SeokRae/java-in-action/tree/master/java-in-interview) | 2021/01/19 \~ 2021/04/12 | <p>- 자료구조 학습 <br> - 알고리즘에서 사용할 수 있는, 자바에서 제공하는 자료구조를 구현하기 <br>  - leetCode를 참조</p>                                                                                                                                                    |
| 디자인 패턴       | 완료   | SR 외 7인 | [Link](https://seokrae.gitbook.io/sr/design)                                    | 2021/04/19 \~ 2021/06/21 | <p>- 디자인 패턴 <br> - 창조 패턴 <br> - 구조 패턴 <br> - 행동 패턴</p>                                                                                                                                                                                |
| 데이터베이스       | 진행중  | SR 외 4인 | [Link](https://seokrae.gitbook.io/sr/database/database/sql_levelup)             | 2021/07/05 \~            | <p>- SQL 레벨업 <br></p>                                                                                                                                                                                                                 |

* 화요일

| 주제        | Tags | 참여인원           | Github                                                 | 남은기간               | 요약                                |
| --------- | ---- | -------------- | ------------------------------------------------------ | ------------------ | --------------------------------- |
| 이펙티브 자바   | 완료   | Meet-Coder     | [Link](https://seokrae.gitbook.io/sr/java-1/effective) | 2021/05 \~ 2020/07 | - Effective Java 3/E 발표 및 정리 스터디  |
| RealWorld | 진행중  | RealWorld-Club | [Link](https://github.com/realworld-club)              | 2021/09/08 \~      | - Realword 프로젝트 SpringBoot 기반 다지기 |

* 토요일

| 주제         | Tags | 참여인원       | Github                                                       | 남은기간                     | 요약                                                                                                                                                                |
| ---------- | ---- | ---------- | ------------------------------------------------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 스프링 배치     | 완료   | SR 외 4인    | [Link](https://github.com/spring-org/springbatch_summary)    | 2020/08/20 \~ 2020/12/12 | <p>- Spring Batch 기본 개념 학습 <br> - 기본 프로세스 학습할 수 있는 구조 설계(File, DB) <br> - 메타 스키마 분석, 스케쥴링 방식 <br> - 기본 프로세스에서 최적화 방식 학습</p>                                       |
| 엘라스틱 서치    | 완료   | SR 외 4인    | -                                                            | 2020/12/10 \~ 2021/02/02 | <p>- ElasticSearch 기본 개념과 사용하는 방식을 공부하기 위한 스터디 <br> - Single Cluster 구축, 인덱스 구축 방식, client 기반 crud 코드 작성 <br> - 6.x, 7.x 버전 RestHighLevelClient 기반 API 코드 테스트</p> |
| 기술 스택 정리   | 완료   | SR 외 1인    | -                                                            | 2021/02/25 \~ 2021/03/31 | <p>- ORM(JPA) - RDB(MySQL) <br> - 오브젝트 <br> - Spring MVC1 \~ 2</p>                                                                                                |
| 블로그 포스팅 5기 | 완료   | Meet-Coder | [Github](https://github.com/Meet-Coder-Study/posting-review) | 2021/07/10 \~ 2021/09/25 | <p>- 블로그 포스팅 <br> - 주제: 데이터베이스 SQL</p>                                                                                                                            |

## Table Of Contents

### Book

* [도메인 주도 설계](/sr/book/domain_driven_design.md)
  * [1. 동작하는 도메인 모델 만들기](/sr/book/domain_driven_design/_1_-_-_-_.md)
* [오브젝트](/sr/book/object.md)
  * [데이터 중심 설계](/sr/book/object/_1.md)
  * [책임 중심 설계](/sr/book/object/_2.md)
  * [책임 할당을 위한 GRASP 패턴](/sr/book/object/_3.md)
  * [메시지와 인터페이스](/sr/book/object/_4.md)
  * [객체 분해](/sr/book/object/_5.md)
* [Effective Java](/sr/book/effective.md)
  * [Item 7 - 다 쓴 객체 참조를 해제하라](/sr/book/effective/item_7.md)
  * [Item 7 발표 내용](/sr/book/effective/item_7_ppt.md)
  * [Item 13 - clone 재정의는 주의해서 진행하라](/sr/book/effective/item_13.md)
  * [Item 13 발표 내용](/sr/book/effective/item_13_mystyle.md)
  * [Item 16 - public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라](/sr/book/effective/item_16.md)
  * [Item 16 발표 내용](/sr/book/effective/item_16_ppt.md)
  * [Item 26 - 로 타입은 사용하지 말라](/sr/book/effective/item_26.md)
  * [Item 28 - 배열보다는 리스트를 사용하라](/sr/book/effective/item_28.md)
  * [Item 28 발표 내용](/sr/book/effective/item_28_ppt.md)
  * [Item 29 - 이왕이면 제네릭 타입으로 만들라](/sr/book/effective/item_29.md)
  * [Item 30 - 이왕이면 제네릭 메서드로 만들라](/sr/book/effective/item_30.md)
  * [Item 31 - 한정적 와일드 카드를 사용해 API 유연성을 높이라](/sr/book/effective/item_31.md)
  * [Item 35 - ordinal 메서드 대신 인스턴스 필드를 사용하라](/sr/book/effective/item_35.md)
  * [Item 37 - ordinal 인덱싱 대신 EnumMap을 사용하라](/sr/book/effective/item_37.md)
  * [Item 37 발표 내용](/sr/book/effective/item_37_ppt.md)
  * [Item 43 - 람다보다는 메서드 참조를 사용하라](/sr/book/effective/item_43.md)
  * [Item 43 발표 정리](/sr/book/effective/item43_ppt.md)
  * [Item 56 - 공개된 API 요소에는 항상 문서화 주석을 작성하라](/sr/book/effective/item_56.md)
  * [Item 56 발표 정리](/sr/book/effective/item_56_ppt.md)
  * [Item 62 - 다른 타입이 적절하다면 문자열 사용을 피하라](/sr/book/effective/item_62.md)
  * [Item 62 발표 정리](/sr/book/effective/item_62_ppt.md)
  * [Item 73 - 추상화 수준에 맞는 예외를 던지라](/sr/book/effective/item_73.md)
  * [Item 83 - 지연 초기화는 신중히 사용하라](/sr/book/effective/item_83.md)
  * [Item 83 발표 내용](/sr/book/effective/item_83_ppt.md)
  * [Item 89 - 인스턴스 수를 통제해야 한다면 readResolve보다는 열거 타입을 사용하라](/sr/book/effective/item_89.md)
  * [Item 89 발표 내용](/sr/book/effective/item_89_ppt.md)
* [개발자를 위한 SQL 튜닝](/sr/book/tune.md)
  * [SQL 쿼리 실습을 위한 DB 서버 구축](/sr/book/tune/_1.md)
  * [**인덱스 튜닝**](/sr/book/tune/_1_1.md)
  * [인덱스 스캔 튜닝](/sr/book/tune/_2.md)
  * [인덱스 스캔 튜닝 실습](/sr/book/tune/_3.md)
  * [인덱스 패스트 풀 스캔](/sr/book/tune/_4.md)
  * [테이블 풀 스캔 튜닝](/sr/book/tune/_5.md)
  * [**조인 튜닝**](/sr/book/tune/_6.md)
  * [중첩 루프 조인 튜닝](/sr/book/tune/_7.md)
  * [중첩 루프 조인 튜닝 실습](/sr/book/tune/_8.md)
  * [**해시 조인 튜닝**](/sr/book/tune/_9.md)
  * [해시 조인 튜닝 실습](/sr/book/tune/_9_1.md)
  * [**세미 조인 튜닝**](/sr/book/tune/_10.md)
  * [세미 조인 튜닝 실습](/sr/book/tune/_10_1.md)
  * [아우터 조인](/sr/book/tune/_11.md)
  * [함수 튜닝](/sr/book/tune/_12.md)
  * [**부분 범위 처리 튜닝**](/sr/book/tune/_13.md)
  * [파티셔닝 튜닝](/sr/book/tune/_16.md)
  * [파티셔닝 프루닝](broken://pages/-MkS_x6YdwgGb2O0EDmy)
  * [파티션 인덱스 튜닝](broken://pages/-MkS_x6YdwgGb2O0EDmy)
  * [병렬 처리 튜닝](/sr/book/tune/_17.md)

### Concept

* [Network](https://github.com/SeokRae/TIL/tree/7753b0875a5f63ba37b976bc8eb011e24d314d3a/network.md)
* [Design Pattern](/sr/java-1/design.md)
  * [Intro](/sr/java-1/design/_intro.md)
  * [Types of Design Patterns](/sr/java-1/design/_types_of_design_patterns.md)
  * **Creational**
    * [Builder Pattern](/sr/java-1/design/creational/_builder.md)
    * [Singleton Pattern](/sr/java-1/design/creational/_singleton.md)
    * [Prototype Pattern](/sr/java-1/design/creational/_prototype.md)
    * [Factory Pattern](/sr/java-1/design/creational/_factory.md)
    * [Abstract Factory Pattern](/sr/java-1/design/creational/_abstract_factory.md)
  * **Structural**
    * [Adapter Pattern](/sr/java-1/design/structural/_adapter.md)
    * [Bridge Pattern](/sr/java-1/design/structural/_bridge.md)
    * [Composite Pattern](/sr/java-1/design/structural/_composite.md)
    * [**Decorator Pattern**](/sr/java-1/design/structural/_decorator.md)
    * [Facade Pattern](/sr/java-1/design/structural/_facade.md)
    * [Flyweight Pattern](/sr/java-1/design/structural/_flyweight.md)
    * [Proxy Pattern](/sr/java-1/design/structural/_proxy.md)
  * **Behavioural**
    * [Chain of Responsibility Pattern](/sr/java-1/design/behavioural/_chain_of_responsibility.md)
    * [Command Pattern](/sr/java-1/design/behavioural/_command.md)
    * [Interpreter Pattern](/sr/java-1/design/behavioural/_interpreter.md)
    * [Iterator Pattern](/sr/java-1/design/behavioural/_iterator.md)
    * [Mediator Pattern](/sr/java-1/design/behavioural/_memento.md)
    * [Memento Pattern](broken://pages/-MkS_x6yzxFgynWBwLMV)
    * [Observer Pattern](/sr/java-1/design/behavioural/_observer.md)
    * [State Pattern](/sr/java-1/design/behavioural/_state.md)
    * [Strategy Pattern](/sr/java-1/design/behavioural/_strategy.md)
    * [Template Method Pattern](/sr/java-1/design/behavioural/_template_method.md)
    * [**Visitor Pattern**](/sr/java-1/design/behavioural/_visitor.md)
* [Network](/sr/readme.md)
  * [Web Security](broken://pages/-Mffo0504tTXant6MBvt)
* [Web Software Architecture](/sr/readme.md)
  * [소프트웨어 아키텍처의 다양한 계층](broken://pages/-MhiixTPF5mpSoxhzyJ4)
  * [데이터 캐싱](broken://pages/-Mi0PL846rL4skoFX3BV)
  * [메시지 대기열](https://github.com/SeokRae/TIL/tree/7753b0875a5f63ba37b976bc8eb011e24d314d3a/architecture/10_social_alarm_service.md)
* [AWS](/sr/readme.md)
  * [AWS 자격증 시험 공부하기](broken://pages/-MgR1a5GL7qBqce-tP7O)
    * [Design Resilient Architectures](/sr/1_design_resilient_architectures.md)
    * [Design High Performing Architectures](/sr/2_design_high_performing_architectures.md)
    * [Design Secure Applications And Architectures](/sr/3_design_secure_applications_and_architectures.md)
    * [Design Cost-Optimized Architectures](/sr/4_design_cost_optimized_architectures.md)
  * [IAM](broken://pages/-MgR1a5HSNBf9AguENWr)
* [궁금증](/sr/readme.md)
  * [자바 8 버전의 인터페이스와 추상클래스](/sr/java-1/undefined/interface_vs_abstract.md)
  * [자바의 제네릭은 어떻게 이전 버전과 호환되는 걸까?](/sr/java-1/undefined/generics.md)
  * [스프링 MVC 기본 구조](/sr/java-1/undefined/dispatcher_servlet.md)
  * [마샬링과 직렬화](/sr/java-1/undefined/marshalling_n_serialization.md)
  * [인터뷰 질문 모음](/sr/java-1/undefined/java_interview_summary.md)
  * [Code Coverage](/sr/java-1/undefined/code_coverage.md)

### Database

* [Database](/sr/database/database.md)
  * [SQL 레벨업](/sr/database/database/sql_levelup.md)
  * [DB 스터디](/sr/database/database/2021-07-17-db-toc.md)
    * [DBMS](/sr/database/database/2021-07-17-db-toc/2021-07-17-db-dbms.md)
      * [MySQL](/sr/database/database/2021-07-17-db-toc/2021-07-17-db-dbms/2021-07-24-db-mysql-architecture.md)
    * [INDEX](/sr/database/database/2021-07-17-db-toc/2021-07-23-db-index.md)
    * [Join(Nested Loop, Hash)](/sr/database/database/2021-07-17-db-toc/2021-08-07-db-join.md)
    * [Join(Semi, Outer)](/sr/database/database/2021-07-17-db-toc/2021-08-07-db-join2.md)
    * [Partial Range Processing](/sr/database/database/2021-07-17-db-toc/2021-08-21-db-partial.md)
    * [Function](/sr/database/database/2021-07-17-db-toc/2021-09-04-db-function.md)
    * [Partitioning](/sr/database/database/2021-07-17-db-toc/2021-09-04-db-partitioning.md)
    * [Parallel Processing](/sr/database/database/2021-07-17-db-toc/2021-09-04-db-parallel.md)

### Practice

* [Java](/sr/java-1/java.md)
  * [Cracking the Coding Interview](/sr/java-1/java/cracking_the_coding_interview.md)
  * [TDD, Clean Code with Java 11기](/sr/java-1/java/tdd.md)
    * [자동차 레이싱](/sr/java-1/java/tdd/racing.md)
    * [로또](/sr/java-1/java/tdd/lotto.md)
    * [사다리 타기](/sr/java-1/java/tdd/ladder.md)
    * [볼링 게임 점수판](/sr/java-1/java/tdd/bowling.md)
* [Docker](/sr/readme.md)
  * [Oracle with Docker](broken://pages/-MhiiTOSk8_LUaFG1Q0d)
  * [MySQL with Docker](broken://pages/-MhiiTOTy42SdC-VWVMs)
* [Spring Jpa](/sr/spring/spring-jpa.md)
  * [1. 데이터 모델링 및 연관관계 설정](/sr/spring/spring-jpa/springboot-jpa-shop.md)
  * [2. 최적화 내용](/sr/spring/spring-jpa/springboot-jpa-shop-optimize.md)
  * [3. Spring-Data-Jpa](/sr/spring/spring-jpa/springboot-jpa-data.md)
  * [4. Query DSL](/sr/spring/spring-jpa/springboot-jpa-querydsl.md)
* [Spring Security](/sr/spring/spring-security.md)
  * [Intro](/sr/spring/spring-security/_1.md)
* [Spring Batch](/sr/spring/batch-study.md)
  * [배치용 디비 설치](/sr/spring/batch-study/_1.md)
  * [배치 데이터 분석하기](/sr/spring/batch-study/_2.md)
  * [배치 프로세스 구상하기 및 성능 차이 확인하기](/sr/spring/batch-study/_3.md)
* [Issue](/sr/readme.md)
  * [Git Push Error](/sr/architecture/issue/issue-git-push.md)
  * [SonarLint Warning - assertThatExceptionOfType()](/sr/architecture/issue/junit_assert_exception.md)
