Note

[2022년] 컴퓨터공학 대학생 공부 및 면접 대비 자료 추천

Coding Groot 2022. 11. 14. 02:56

컴퓨터공학 공부 자료들 2탄

새로 공부한 것도 있고 바뀐 생각도 있고 새로 알게 된 것도 있어서 "온라인 컴퓨터공학 공부" 글에 이어서 다시 한번 적어봅니당.

* 이전 글: 나의 온라인 컴퓨터공학 공부

예전 글이랑 많이 중복됩니다.

개인적으로 참고해볼 겸 다시 정리해보는 CS(Computer Science), 프로그래밍 공부, 면접, 취준 자료

1. OSSU

https://github.com/ossu/computer-science
  • Open Source Society University
  • Complete education in computer science using online materials
  • 유명한 온라인 강의로 대학교 커리큘럼을 만든 것

2. Free Code Camp

https://github.com/freeCodeCamp/freeCodeCamp#certifications     
https://www.youtube.com/freecodecamp
  • 굉장히 긴 강의로 CS관련 과목이나 어떤 개발 주제에 대해 올려주는 것

3. TeachYourselfCS (한국어 번역)

https://github.com/minnsane/TeachYourselfCS-KR     
원문: https://teachyourselfcs.com

무수히 많은 강의 자료들 중 어떤 것을 들어야 할지 추천해주는 글

  • 어떤 과목을 배워야 하며, 왜 배워야 하는가?
  • 각 과목 최고의 책 또는 영상 강의는 무엇인가?

저는 운영체제랑 네트워크 등을 공부할 때 참고했습니다.
여기서 추천하는 CS:APP 컴퓨터구조 책도 시스템을 이해하는데 있어서 많은 도움을 받았습니다.

4. 기타 유명한 한국어 사이트

생활코딩

https://opentutorials.org/
  • 아무 생각 없이 입문하기 좋은 난이도

인프런

https://www.inflearn.com/
  • 타 강의 사이트에 비해 저렴하지만 좋은 강의가 많은 고마운 사이트
  • 강의 종류도 여러 개
  • 세일도 자주 합니당.
  • 영어 자신 있으면 https://www.udemy.com 유데미도 추천합니당.
    • 여기도 할인 정말 많이 하니까 참고하세용.

YouTube

  • 요즘 유튜브도 좋은 강의 많이 올라오더라고영ㅎㅎ

5. 기타 유명한 해외 Mooc 사이트

여기서 돈 주고 학위 따지 마세요. 크게 의미 없습니다..
광고처럼 결제하라고 뜨는데 대부분 audit(청강) 누르면 무료로 수강할 수 있습니다.

6. 학교에서는 안 가르쳐 주지만 새내기 때 알았으면... 했던 것들

[MIT] Missing Semester

https://missing.csail.mit.edu/

실용적인 것들 많이 알려줍니다.
다시 추천합니당..

  • Mac을 사용 중이거나 Shell 환경에 익숙해지고 싶으면 앞부분 들어보시는 것을 추천합니다.
  • (Windows도 WSL로 실습 가능합니다)
  • CLI 환경에 조금 더 흥미가 생기셨다면 이것도 읽어보세영.

7. GitHub Student Pack

혹시 아직 모르는 분들 계시나요?

등록하세용

대학생이면 다 누릴 수 있어요.

 

GitHub: Let’s build from here

GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

당장 써볼 만한 혜택 몇 가지 정리

Jetbrain 유료 제품도 쓸 수 있어요.

  • IntelliJ IDEA
  • PyCharm
  • CLion
  • WebStorm

Azure, DigitalOcean같은 걸로 무료 Credit 받아서 클라우드 실습도 해볼 수 있어요.

GitHub Pro를 무료로 달 수 있어요.

  • 무료로 Static Hosting도 가능해요

GitHub Codespaces

  • 무료로 Pro 레벨 접근 권한을 부여해줍니당.
  • 군대 가서 사지방 코딩하실 분에게 추천합니다.
  • 자동으로 포트 포워딩도 해줘서 편해요ㅎㅎ

GitKraken Client Pro

  • 유료 Git용 클라이트 무료로 사용 가능
  • $59 값어치 무료로 줍니다

말고도 메일 서비스, CI/CD 툴이나 APM 툴 등 무료로 사용 가능한 것 많습니다.
프로젝트하면서 많이 활용해보세요.

8. 내 취준용 - 이력서, 면접 질문, 면접 대비용 자료

면접 질문 정리

면접 자료 정리

제가 공부할 때 도움받은 자료들

디자인 패턴 공부

시스템 디자인

  • "가상 면접 사례로 배우는 대규모 시스템 설계 기초" 책
    • System Design Interview 1판 번역본입니다. 번역본은 없지만 2판도 나왔더라구영..

좋은 이력서 작성 팁

주니어 개발자 채용 정보

9. 알고리즘 문제 풀기 PS(Problem Solving) && CP(Competitive Programning)

일반적인 PS(Problem Solving)

Algorithms 책

근본 CLRS: http://www.yes24.com/Product/Goods/13776831

  • 저자 네 명의 이름의 머릿글자를 따서 CLRS로 줄여서 많이 부릅니다.
  • 양(1,348쪽)에 비해 저렴한 편이라고 생각. 두고두고 보기 좋은 책
  • MIT 공개 알고리즘 강의랑 천천히 공부하기 좋습니다.

Foundations of Algorithms - Richard Neapolitan

  • 설명이 깔끔하고 예제도 이해하기 좋았습니다.
  • 사실 꼼꼼하게 읽은 건 앞부분밖에 없었는데 설명이 좋았아요..ㅎㅎ
PS 입문 책

동빈북 http://www.yes24.com/Product/Goods/91433923

  • 알고리즘 강의를 들은 적이 없고 코테가 정말 처음일 때
  • 알골 좀 해보신 분께는 비추합니다.
PS 사이트

백준 https://www.acmicpc.net/

코드업 https://codeup.kr/index.php

리트코드 https://leetcode.com/

프로그래머스 https://programmers.co.kr/

  • 채용과 관련된 것이 많으며 코테보면서 한 번은 접해봤을 사이트
  • 유명한 문제(카카오), 챌린지, 코딩테스트 연습 등 괜찮은 콘텐츠가 계속 늘어나는 중
  • 5 레벨 다 정복하면 고수..
  • https://github.com/codeisneverodd/programmers-coding-test

대회, 취미 알골, CP(Competitive Programming)

CP 책
CP 사이트

코드포스 https://codeforces.com/

  • 대회 좋아하면 같이 코포 친구랑 버추얼도 해보면서 도전해보세요.
  • 백준이랑 연동하면 닉네임에 색칠 가능!

앳코더 https://atcoder.jp/

  • 문제가 깔끔해서 좋음.
  • 코드포스 문제처럼 엄청 길지 않고 ex. "영미가 를 하는데 ~를 하고자 한다. 이때 ~하는데 ...." 짧고 명료함.

구글 코딩 Contest https://codingcompetitions.withgoogle.com/kickstart

  • 잘 풀면 티셔츠 줌

자료

알고리즘 대회 안 까먹는 Tip

https://competitiveprogramming.info/calendar

여기서 캘린더 구독하면 언제 Contest 열리는지 모두 모아서 볼 수 있습니다.

진짜 잡다한 내용

개인적인 추천 내용입니다.
위에 넣기 애매해서 뺐습니다.

매우 주관적인 의견이니 참고만 해주세요.

1. 기타 괜찮은 자료 추천

1-1. 다양한 법칙들

프로젝트를 하다 보면 프로그래밍하며 DRY, KISS, SOLID부터 시작해서 나중에 프로젝트 관리까지 하다보면 파레토 등 다양한 법칙을 접하게 됩니다.

개발을 이야기할 때 흔히 논하는 법칙들을 정리한 저장소입니다. 개인적으로 TOPCIT 공부할 때도 도움이 많이 됐습니다.

https://github.com/dwmkerr/hacker-laws
  • 괜찮다고 생각하시면 한국어 번역도 참여해보세용.

1-2. 운영체제 가볍게 복습하기 좋은 책

https://pages.cs.wisc.edu/~remzi/OSTEP/

공룡책(1000쪽 이상..) 다시 복습하라고 하면 한숨밖에 안 나오는데 OSTEP으로 PDF를 한 개씩 돌파하면서 공부할 수 있었습니다. ㅎㅎ

설명도 쉽고 내용도 충실하고 가볍게 읽기 좋습니다. 무료 오픈소스이고 한국어 번역본도 있습니다.

1-3. 프로젝트할 때 무료로 쓸만한 자료들

SaaS, PaaS, IaaS 다 정리되어 있습니닷..
캡스톤 때 쓸만하지 않을까영?

https://github.com/ripienaar/free-for-dev

2. 도커, 쿠버네티스

더보기

가끔 모집 공고를 보면서 친구랑 항상 얘기하는 것입니다.

신입에게 도커까지는 인정하겠는데 쿠버네티스나 카프카 같은 것을 요구하는게 맞나...
어느 정도 요구하는 걸깡..

저는 취준보다는 내부 트래픽을 어떻게 관리하고 파드를 다루지 궁금해서 개인적인 흥미로 공부하는 것 같아요.
이력서에는 무서워서 못 적을 것 같아요 ㅎㅎ...

쿠버네티스 공부한다고 AWS EKS 같은 걸 며칠 동안 켜 두면 몇십만 원은 그냥 날아갑니다..

쿠버네티스를 공부하신다면 공식 튜토리얼이 정말 잘 되어 있기 때문에 책은 따로 구매하시지 않으셔도 됩니다. 단지 자동 번역을 돌린 것 같은데 한국어로 보면 좀 어색할 수 있습니다.

https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/

기초 실습

쿠버네티스가 구축이 좀 까다롭습니다. 처음 하면 구축하는 데에만 하루 넘게 걸립니다.
간단한 실습은 minikube와 kubectl을 깔아서 싱글 노드 환경으로 할 수 있습니다.
https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/

minikube는 편한 실습을 위해 만든 싱글 노드 클러스터기 때문에 공부할 때 편리하게 사용할 수 있습니다.
확장팩(Addons) 기능도 있어서 대시보드나 메트릭 서버같이 주로 같이 쓰는 것도 편하게 활성화시켜서 함께 실습하기 좋았습니다.
삽질하다가 꼬이면 minikube delete 명령어로 바로 초기화할 수도 있습니다.
다만 가볍도 싱글 노드이기 때문에 실제 환경이랑은 차이가 있습니다.

  • 말고도 Docker Desktop을 쓰고 계신다면 설정창에 들어가서 쿠버네티스를 활성화해서 실습할 수도 있습니다.

멀티 노드 실습

이러다가 멀티 노드 환경으로 진짜 쿠버네티스를 맛보고 싶으시면 넘어가는 겁니닷..

https://labs.play-with-k8s.com/
  • 이런 실습 사이트로 간단하게 맛볼 수 있긴 하지만 매우 불안정합니다.
  • 미국 밤 시간에 하면 그나마 접속은 된다고 합니다.

실제 환경 실습 방법으로는 두 가지가 있습니다.

1. 직접 인스턴스 여러 개로 쿠베네티스 구축 후 실습

직접 구축하는게 까다로웠습니다.

포트 개방, 방화벽 설정, kubeadm 설정, iptable 뚫어주기, bridge 허용, 스왑 메모리 끄기, CNI 설정, kubeadm join시키기, ...

생각보다 쉽지 않았습니다. 쿠버네티스 공식 문서에 안내되어 있으니 도전해보고 싶은 분은 해보세영!
나름 꿀잼이었습니다.

2. 돈 많이 주고 관리형 쿠버네티스로 실습

초보자의 경우 직접 구축하기가 쉽지 않기 때문에 실습을 바로 하기 편하게 관리형 쿠버네티스를 쓰는 겁니다.
직접 구축하는 것과 차이는 조금 있을 수 있습니다(ex. AWS EKS는 마스터 노드 접근을 막습니다.)
실제 기업에서도 EKS같은 관리형 쿠버네티스를 많이 쓴다고 합니다.

GitHub Student Pack 같은 걸로 받은 credit으로 비싼 관리형 쿠버를 껐다키며 실습하는 것을 추천합니다.
쓸 때만 쓰고 안 쓸 때는 꺼두면서 최대한 돈을 아끼는 겁니다.. ㅠ


 

도움이 되었으면 좋겠습니다. ㅎㅎ

반응형