유튜브에서 여러 영상들을 보며 백엔드 개발자가 갖춰야할 역량을 탐색한다.
https://www.youtube.com/watch?v=zHT5wwIdLVA
위 영상에서는 백엔드 개발자가 되기 위한 과정을 단계별로 소개하고 있다.
1. 오딘프로젝트.
웹에 대한 전반적인 기초를 배울 수 있는 사이트이다. 하지만 전부 영어이고 웹번역기로 제대로 번역할 수 없다. html, css 같은 각 분야의 기초를 학습하란 것이 아니라 웹개발 전체의 전반적인 부분을 파악하라는 의미로 이것을 추천했기에 아마 이 강의로 어느정도 대체할 수 있다고 생각한다.
2. Harvard CS50
데이터 구조, 알고리즘을 포함한 컴퓨터 과학의 기초에 대한 공부다. 영상에 나온 강의는 아마 이것인 것 같다.
https://www.boostcourse.org/cs112/joinLectures/41307
영상에선 외국 사이트를 소개했지만 이미 한국에 번역되어 들어온 것 같다. 이 강의는 이 영상을 보기 전에 한번 시청한 적이 있는데 기초적인 C언어를 중심으로 메모리, 자료구조 등을 배운다. 전공자다 보니 이 부분은 이미 알고있는 지식들이라 그냥 넘겨도 될 것 같다.
3. 하나의 언어에 집중하자.
백엔드 개발에 쓰이는 Java, python, JavaScript 중 하나에 집중해서 공부하자. 그리고 각 언어를 사용하는 프레임워크에 익숙해져야 한다.
Java - Spring
python - django
JavaScript - Node.js Express
이런식으로 자신이 배우는 언어와 프레임워크를 짝지어 공부하자,
4. 프로젝트에 참여하자 serverless
인턴쉽, 부차적인 프로젝트, 온라인 개발자 커뮤니티에 참여해 실제 경험을 쌓는 것이 중요하다. 이것이 나에게 실용적인 기술을 알려주고 더 경쟁력 있는 구직자로 만들어 준다. 특히 좋은 RestAPI란 무엇인지에 대해 판단할 수 있어야 한다.
영상에서 추천하는 좋은 API는 UPbit, BINANCE, 한국투자증권이다.
UPbit는 문서화가 잘 되어있고 특히 암호화 부분을 집중적으로 공부하기를 추천한다.
한국투자증권은 오픈API로 증권 데이터들을 사용할 수 있다.
BINANCE의 API 역시 학습 시 많은 도움이 되니 참고하길 바란다.
해당 API에 대한 연습은 AWS serverless 로 해라. 유튜브에 AWS serverless를 검색하면 1시간 안에 RestAPI를 만들 수 있게 된다.
5. PostgreSQL을 사용하자
백엔드에게 데이터베이스는 필수다. DB를 사용할 때는 ERD 문서 작성도 반드시 함께 작성 해라. 요즘 PostgreSQL이 대세인 것 같아 이것을 추천했다고 한다.
배포는 AWS Lightsail을 이용해 배포하길 권장한다. ec2보다 부가적인 설정은 안하고 오직 배포에 집중할 수 있으니 좋다고 한다.
6. MongoDB를 사용하자
nosql 방식의 MongoDB를 사용해라. 내가 원하는 언어와 프레임워크를 사용해서 MongoDB를 연결해라. MongoDB에 대한 자료는 유튜브에 아주 많으니 참고하길 바란다. 배포는 AWS Lightsail을 이용하자.
7. docker로 ec2에 올려보자
docker를 통해 ec2에 배포하는 방법을 배워봐라. aws는 친절하니 해낼 수 있다. 혹시 어려우면 유튜브에 aws docker nodejs 로 검색하면 자료를 찾을 수 있다.
8. aws codedeploy로 ec2 CI/CD
Github Actions, aws codedeploy, aws s3, aws ec2의 서버를 CI/CD로 배포할 수 있도록 만들어 봐라. aws가 이를 해낼 수 있도록 도와줄 것이다.
9. 시퀀스 다이어그램 작성하기
백엔드 개발자들은 시퀀스 다이어그램이 아주 중요하다. 로직을 만들 때 머리속으로만 만들면 빈틈이 존재하기 때문이다.
시퀀스 다이어그램을 만들고 선배들에게 보여주면서 빈틈을 채워 나가라. 선배들이 보면서 바로 조언해줄 수 있고 말로 설명하면 수많은 시간이 들어가고 남의 시간은 내 시간이 아니니 시간을 줄여줄 수 있는 시각적 자료를 들고 가라.
'프로그래밍 > IT 이것저것' 카테고리의 다른 글
구글 colab 세션 끊김 문제 (chatGPT) (0) | 2023.07.30 |
---|---|
XML, JSON, YAML이 뭔가요? (0) | 2023.07.30 |
데이터 직군 현실 조사 (0) | 2023.07.02 |
RSS(Really Simple Syndication)와 Open API(Open Application Programming Interface)란? (0) | 2023.03.12 |
센싱(Sensing)이란? (0) | 2023.03.12 |