/CS-Study

취업에 필요한 CS 기초 지식과 알고리즘부터 주니어 개발자로서 꼭 알아야 할 지식들을 공부하는 저장소

Primary LanguageJava

CS_Study

❓ About

취업에 필요한 CS 기초 지식과 알고리즘부터 주니어 개발자로서 꼭 알아야 할 지식들을 공부하는 저장소입니다.

✅ Rule

  • 주제 선정(Issue) > 정리 > 업로드(Commit & Pull Request)

    1. 선정된 주제는 Issue로 작성한다.

      • 매 주 발표시간 이후 주제 선정
      • Issue Convention : 대분류/중분류/키워드
    2. 주제에 대해 공부한 내용을 기한까지 업로드 한다.

      • 업로드는 대분류/중분류 디렉토리에 /키워드 폴더 안에 작성한다.
      • Commit Convention : [상태]대분류/중분류/키워드
        ex) [Add/Update/Delete]Computer Science/자료구조/링크드리스트
      • Pull Request
        • 제목 : 커밋과 동일
        • 내용 : 키워드와 간단한 요약, 참고 자료/레퍼런스
    3. 작성된 Pull Request에 대해 코드리뷰를 작성한다.

      📝 코드리뷰 하는 법
      1. 커밋 로그에 들어간다.

      2. 마우스로 리뷰하고 싶은 영역을 드래그 하고 + 버튼을 누른다.

      3. Start a review를 통해 여러 comment 를 남길 수 있다.

      4. comment를 남긴 후 상태를 선택한다.


        - Comment : Comment 만 남긴다.
        - Approve : 해당 PR을 승인한다.
        - Request changes : 요청한 Change가 반영되지 않으면 승인할 수 없다.

    4. 매 주 본인이 공부한 부분에 대해 15~20분 분량으로 돌아가면서 발표한다. (상황에 따라 온/오프라인)

  • 놓친 주제가 있다면 언제든 제안한다.

분류

  • 컴퓨터구조 (Architecture)
  • 자료구조 (Data Structure)
  • 데이터베이스 (DB)
    • RDBMS (SQL)
    • NOSQL
  • 네트워크 (Network)
  • 운영체제 (Operating System)
  • 소프트웨어 개발 방법론
    • TDD, DDD, BDD
  • 디자인패턴
  • HTTP
  • 쿠키, 세션
  • SSR, CSR
  • SPA, MPA
  • Bean
  • 스프링 컨테이너
  • 컴포넌트 스캔
  • Dependenciy Injection
  • C / C++
  • Java
  • JavaScript
  • Python
  • Git Hub Flow
  • Git Flow
  • Git Lab Flow
  • 시간복잡도, 공간복잡도
  • DFS와 BFS
  • 백트래킹
  • 분할 정복 (Divide and Conquer)
  • 탐욕 (Greedy)
  • 동적 계획법 (Dynamic Algorithm)
  • 정렬
  • 최소 신장 트리
  • 최단 경로
  • 문자열