Giter Club home page Giter Club logo

algorithm-datastructure's Introduction

😎알고리즘과 자료구조를 부수고싶은 DC&M


일정 : 2022.09.05 ~ 2022.12.23

[알고리즘 스터디] Git Branch Protection Rule 적용 안내
Branch Protection 이란? Branch를 보호하기 위한, 깃에서 제공하는 보호 장치입니다. 여러 사람들이 동시에 같은 코드 베이스에서 작업을 하다 보면 여러 가지 문제가 생길 수 있습니다. 허락받지 않은 사람이 무질서하게 코드를 작성하고 머지 하는 경우도 발생하고, 설령 허락을 받은 멤버가 코드를 작성하고 머지 하더라도 그 코드가 테스팅을 거치지 않은 문제가 많은? 코드 일 수도 있습니다. 실례로 제가 프로젝트를 진행하였을 때도, 자기 짠 코드는 틀릴 일이 없다고 자신만만하게 말씀하시던 분 코드를 머지 한 이후에 크게 문제가 발생한 경우도 있었습니다. 추후에 테스팅에 대한 중요성을 설명드리겠지만, 머지 한 이후 문제가 발생한 경우 여러분들이 작업하는 프로젝트 혹은 서비스가 크게 망가질 수도 있습니다. 그렇기에 깃허브에서는 Pull Request(Pr)라는 작업으로 코드를 머지 할 때, 리뷰를 받을 수 있는 장치를 제공하고 있습니다.

동아리에서 진행하는 알고리즘 스터디 방식은 이러한 리뷰 시스템을 이용한 것입니다.

현재 Branch Protection에서는 2명에게 Approve를 받지 못하면 Merge가 되지 못하도록 막아 놓았습니다.

⚡목차

📱링크

목차로 이동

🍀멤버

19기

X
장정윤 X 김주은 김준성

20기

오인성 정윤주 추영광 서윤혜 박준이 신유빈

21기

이서원 권영현

목차로 이동

⏰스케쥴

TODO : 논의 필요

목차로 이동

📖자료구조 및 알고리즘 목차

feat. 참고 자료 : C언어로 쉽게 풀어쓴 자료구조, 이것이 코딩테스트다, 파이썬 알고리즘 인터뷰

  1. 시간복잡도, 공간복잡도
  2. 문자열, 수학, 구현
  3. 재귀
  4. 단순 연결리스트 ,원형 연결리스트 ,양방향 연결리스트
  5. 스택, 큐, 덱
  6. 트리
  7. 우선순위 큐, 힙
  8. 그래프(DFS,BFS)
  9. 해시테이블
  10. 정렬
  11. 다이나믹(동적 계획법)
  12. 그리디
  13. 이진탐색
  14. 최단 경로

목차로 이동

💪규칙 및 주의사항

  1. 오른쪽 상단에 현 Repository를 Fork하여 자신의 깃 저장소로 가져간다.
  2. 자신의 깃 Repogitory에 가져온 것을 확인한 후 git 주소를 복사하여, git Bash 혹은 Cmd를 이용하여 자신이 원하는 파일에 git clone!!
  3. 백준알고리즘사이트 혹은 그와 비슷한 알고리즘 사이트에서 일주일에 1~3 문제를 푼다.
  4. Commit Message는 최대한 구체적으로 ex) 백준알고리즘 1715번 카드 정렬하기, 프로그래머스 Lv5 방의갯수
    자신이 공부한 자료는 ex) 자료구조 연결리스트
  5. 문제에 대한 자유로운 질문과 회고는 스터디 시간에 공유한다.
  6. 언어는 Python, Java, C, C++, Kotlin, JavaScript, Swift 자유롭게 사용가능 단, Ruby같은 건 관리자들이 못 봄. TODO: 논의필요
  7. 열심히 풀고 Commit -> Push -> PR -> Comment작성 -> ReviewRequest -> 3명이상에게 Approve 받기 -> Merge 자세한 설명은 아래 참고
  8. Review 및 Comment에는 경어체, 평어체 아무거나 사용해도 되나, 욕설과 비속어는 금지
    왜? Repository가 Private가 아니라 Public임 일반 사람들도 볼 수 있음.
  9. 다른이의 폴더를 참고하여 볼 수 있으나 허락없이 수정하지 말 것
  10. Branch Protection을 사용하여, Reviewer 3명 이상에게 Approve를 받지 못하면 Merge가 안됨

목차로 이동

❓사용법

1 1. HSU-DCnM-Study/Algorithm-DataStructure에 들어와서 오른쪽 상단에 Fork 클릭

2 2. Repository 이름을 확인 후에 Create 클릭

3 3. 내 프로필로 돌아와서 맨위에 내 Repository 확인

4 4. Fork 해 온 Repository 확인 후에 클릭해서 들어가기

5 5. 왼쪽 상단에 내 아이디/Algorithm-DataStructure이 되어있다면 잘 된 것, 이후에 Git Clone을 위해 주소 복붙!

6 6. HTTPS에 있는 주소 복붙!!

7 7. Git Bash를 이용하여 내가 원하는 파일 경로로 이동하여 명렁어" Git clone 주소 " 입력하기
※주의사항 : 이동 경로중에 파일명이 한글로 되어있다면, 나중에 문제가 될 수 있음 ex) C:\공부~~~ (x) // C:\Education~~~(o)

8 8. 이제 GitDesktop에 내 아이디로 접속하여, 내가 받은 Repogitory 셋팅하기 경로명, 파일 이름 확인하기

9
9. 학번-이름으로 된 자기 파일로 경로를 잡는 것이 아님!!

10 10. add로 추가하였다면 저렇게 자연스럽게 GitDesktop에 Repository가 추가 된 것을 볼 수 있음
-- 여기까지가 기본 셋팅 --

11 11. (visualStudio 기준 예시) 열심히 작업을 하고 항상 Ctrl + S로 저장하기, 저장안하면 GitDeskTop에서 변경사항이 안 뜸

12 12. 열심히 문제를 풀고 GitDesktop으로 돌아와서 변경사항 다시 확인하고 Commit Message 작성하기(최대한 구체적으로) 이후 Commit하고 Push하기

13 13. Push이후 변경 사항 확인하기

14 14. Pull Resquests 클릭 -> New Pull Request 클릭하기

15 15. Create Pull Request 클릭

16 16. Comment는 문제에 대한 것 혹은 무엇을 공부했는지에 대해서 자세하게 작성하기 이후 Create Pull Request 클릭

17 17. 오른쪽 상단에 Review Request 클릭 이후 동아리 누구에게나 요청하기(최소2명이상)

18 18. Review 요청을 받은이들은 열심히 물어보고, 질문하기 궁금증이 해결되었거나 피드백이 반영되었다면 Approve 체크 후, LGTM(Looks Good To Me 약자) 남기기

예시
KakaoTalk_20220812_122844584
KakaoTalk_20220812_122845312

목차로 이동

algorithm-datastructure's People

Contributors

isnonyou avatar jeinie avatar jueun0725 avatar juniii99 avatar krevlin avatar newjunsung avatar ois0886 avatar s-dpr avatar ubin-shin avatar yjmint avatar yoonhyesuh avatar

algorithm-datastructure's Issues

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.