전체적으로 만족감은 몹시 높은 스터디였지만 유지성에 있어서는 몹시 아쉬웠었던 스터디였다.스터디를 하는 이유는 스스로가 학습하기 힘들어 공부를 할수밖에 없는 환경을 조성하는 것인데 그런목적은 굉장히 부족했다. 따라서 스터디장 입장에서는 실패한 스터디 라고 생각한다.하지만 개인적으로는 좋았다. SQLD 합격과 정처기 합격 예상이라는 결과를 얻었는데 스터디를 통해 공부방식을 전략적으로 세워볼수있었고 시험 문제를 출제하기위해 더욱더 자세히 보기도하고 기출도 많이 접하여 빈출 위주로 학습할수있는 좋은 기회였던것 같다.## 1. 잘한것- 주별 시험을 통해 시험에 대한 긴장감을 놓지 않고 꾸준히 공부하고 성과를 확인한것- 시험공부를 전략적으로 한것- 오프라인으로 만나서 질문을 통해 모르는것이 무엇인지 파악한것- 개인..
Study
1) 잘한 것 2) 잘못한 것 3) 배운 것 4) 아직 남은 문제와 의문점 5) 개선점1. 잘한것단순히 알고리즘 문제를 푸는것이 아니라 빈출 유형위주로 풀었던것모두가 전부 발표하는 방식이 아니라 같은 방식이면 넘어가고 다른 풀이 방식이나 궁금증이 있으면 적극적으로 물어본것문제의 난이도를 너무 어렵게 하지 않았던것안풀린다고 바로 답을 보지 않았던것온라인으로 진행하여 불필요한 이동시간등을 아낄수 있었다.2. 잘못한것시험 기간으로인해 미루고 정확한 일정을 잡지 않았던것후반부에 개인 일정으로 마무리가 늦어졌던것코드를 설명할때 설명을 보조할수있는 자료를 준비하지 않고 발표한것3. 배운것DFS문제에 대한 자신감과 푸는 방식을 알게 되었다.투포인터 문제와 같이 시간 복잡도를 해결하기 위한 스스로의 공식을 세울수있게 ..
Swift는 안전한 코딩을 할 수 있게 해주는 언어로 안전성의 기본 바탕에 있는 중요한 요소 중 하나가 바로 Optional이라는 개념이다.옵셔널(Optional)이란 과연 무엇일까?옵셔널을 이해하기 전에 nil이라는 것을 먼저 알아두는 것이 좋다.nil은 무엇일까?nil은 '값이 없음'을 뜻한다. 다른 언어에서 쓰이는 ‘null’ 과 유사하다.예시로 문자열에 “과일”은 문자열의 값이 있는 것을 알 수 있다.그러면 “”는 무엇일까? nil일까? 아니다. “”도 값이 있는 문자열이다.즉, “” 또한 허용하지 않는, 값이 없는 문자열을 nil이라고 한다.그리고 nil은 옵셔널이외의 사용할 수 없다.var optionalString: String?var optionalString2: String? = nil/..
알고리즘 스터디에 관하여개인적으로 알고리즘을 따로 공부하지 않고 있었는데 ( 귀찮아서.. ㅜㅜ ) 알고리즘 스터디를 하면서 아주아주 실력이 많이 늘었다는 생각을 해봅니다. 스터디가 다 끝나고 생각해보니 알고리즘을 아예 모르고 있었구나 라는 생각을 해봤어요. 🕵️♂️팀원코딩 테스트를 준비하시는 분알고리즘을 토론하고 좋은 코드가 무엇인지 이야기 하실분Blue, Chan, Peony, Nox알고리즘 준비해야 하는 이유기술 평가: 코딩 테스트는 개발자의 기술과 능력을 평가하는 데 도움이 됩니다.문제 해결 능력: 실제 프로젝트나 업무에서 문제를 해결하는 데 필수적인 기술입니다.팀과의 호환성: 팀에 새로 합류하는 개발자의 성공적인 통합을 지원할 수 있습니다.면접 준비: 코딩 테스트는 실제 기술 면접에 대비하는..
처음 생성한 레포짓토리에 파일을 올리는 방법은 크게 두가지가 있다. 첫번째는 브라우저를 통해 업로드는 하는 것이고, 두번째는 터미널로 업로드 하는 것이다. 프로젝트의 크기가 너무 크면 브라우저를 통해 업로드 되지 않는 경우가 있기 때문에 오늘은 두번째 방법에 대해 알아 보려한다. 다만, 글쓴이는 맥이 없기 때문에 모든 설명은 윈도우를 기준으로 하겠습니다. 1. 레포짓토리 생성 먼저 작업할 폴더를 업로드할 레포짓토리를 생성한다. 생성 후 위 주소를 복사해 놓는다. 2. Git Bash 사용하기 업로드할 파일을 우클릭하면 "Open Git Bash here" 라는 탭이 보인다. 만약, git을 설치하지 않았다면 설치하고 오자. 3. Git 초기 설정 한번도 사용하지 않았다면 초기설정을 먼저 해주어야 한다. ..
개발자라면 반드시 사용하게 되는 것 중 하나가 바로 깃과 깃허브이다. 특히 원활한 협업을 위해서는 깃허브 사용법 숙지가 필수적이다. 이번 깃 스터디를 통해 프로젝트에 참여에 큰 무리가 없도록 공부를 진행했다. 깃 vs 깃허브 처음 깃에 대해 접하면 이 둘의 차이점을 인지하지 못한다. 개발을 공부하던 초창기에는 이 둘이 다르다는 것 조차 몰랐다. 깃은 '소프트웨어' 이다. - 로컬(컴퓨터,랩탑) 저장장치에 설치됨. - 깃 리포지토리 내부에 저장된 여러 버전의 파일들을 관리하고 수정하는 도구. - 커맨드 라인 (터미널 바탕)의 서비스임. 깃허브는 '서비스' 이다. - 웹을 바탕으로 한다. - 깃 리포지토리의 카피본을 업로드 할 수 있는 공간이다. - 그래픽 인터페이스를 제공함. Git 을 뭐라고 정의할 수 ..
https://learngitbranching.js.org/?locale=ko Commit 커밋 커밋은 Git 저장소의 디렉토리에 있는 모든 파일에 대한 스냅샷으로 기록합니다. Git은 가능한 한 커밋을 가볍게 유지하고자 하기에 커밋 할 때 전체 디렉토리를 복사하지 않습니다. 각 커밋은 저장소의 이전 버전과 다음 버전의 변경 내용(delta)만 저장합니다. 그래서 대부분의 커밋이 그 커밋 위의 부모 커밋을 가르킵니다. *스냅샷 : 특정 시간에 데이터 저장 장치의 상태를 별도의 파일이나 이미지로 저장하는 기술 C0, C1, C2...는 '커밋'을 의미합니다. Branch 브랜치 브랜치는 특정 커밋에 대한 참조(reference)기에 메모리나 디스크 공간에 부담이 되지 않습니다. 브랜치는 하나의 커밋이며, ..
GitBranch 전략 종류 깃 브랜치 전략에는 Git-Flow Github-Flow GitLab-Flow Trunk-Based Development FeatureBranchWorkflow 등등 있다. 개인적인 의견 - 깃플로우를 찬양하는 경우들이 많은데 소규모 프로젝트 토이 프로젝트 같은 경우나 깃 전략을 처음 써보는 입장에서는 깃플로우는 과분할 뿐더러 오히력 독약이 된다고 생각한다. 차라리 학습하는 입장이나 소규모 프로젝트의 경우는 더욱 직관적이고 하기 쉬운 깃허브 플로우가 오히려 더욱 유리한것 같다. Git-Flow -우리 동아리에서 주로 사용하는 전략이다. 처음엔 이 전략의 장단점을 잘 이해하지 못하고 사용하였다 알고 난이후 이 전략을 동아리에서 사용해야할 이유를 모르겠다. 왜냐하면 우리들이 쓰기..
안녕하세요 깃허브 스터디 1팀입니다. 두번째 이론 공부 회고록 입니다. Chapter - 1 만약 내 local 에서 chanTest 2 라는 branch 를 만들고 작업을 하다가 해당 chanTest2 branch 에서 push 를 했다고 가정해보자. 그러면 이렇게 밑에처럼 오류가 생긴다. 이유는 바로 원격 저장소에 해당 branch 이름이 없기 때문이다. 원격 저장소에 똑같은 해당 원격 branch 가 없기 때문에 어디에다가 push 를 해야 할 지 모르기 때문에 git 에서 알려주는 것이다. 따라서 git 에서 알려주는 git push —set-upstream origin chanTest2 를 해주면 원격 저장소에 chanTest2 라는 이름의 branch 가 생성이 되고 똑같이 push 해 주면 ..
안녕하세요 GDSC DJU AI 스터디팀 입니다. 저희는 강화학습에 대해 공부를 진행하고 있으며 두 번째 포스팅은 마르코프 결정 프로세스에 대한 기초적인 설명을 드리도록 하겠습니다! 2.1.1 마르코프 결정 프로세스(MDP: Markov Decision Process) - 순차적 의사결정 문제는 결국 MDP라는 개념을 통해 더 정확하게 표현이 가능하다. 아이가 잠이 드는 마르코프 프로세스 - 아이가 잠이 들 때 벌어지는 상황을 마르코프 프로세스로 나타낸 그림 - 아이가 취할 수 있는 상황은 총 5가지 누워있는 상태 S0 일어나서 노는 상태 S2 눈을 감은 상태 S2 서서히 잠이오는 상태 S3 잠든 상태 S4 - 아이가 하나의 상태로 진입하게 되면 해당 상태에서 1분씩 머물게 됨 - 1분이 지나면 다음 상..