파이썬
프로그래밍, CS기초지식+엔지니어링, 전문영역지식 세가지가 필요하다.
- 비전공자에게는 자료구조와 알고리즘이 1순위 핵심
- 운영체제, 데이터베이스, 네트워크, 컴퓨터 그래픽스, 컴퓨터 아키텍쳐, 소프트웨어공학 중 선택과 집중으로 더 공부할수록 좋음
- 파이썬을 파이썬답게 써야한다
- PEP8(Python Enhancement Propsals)스타일의 파이썬 코드를 작성할 수 있어야함
- 명명규약, 코드중복, 매직넘버, 죽은코드, 주석작성, 함수작성 등 신경써야할 부분이 많음
초급에서 중급으로
파이썬 하나만 할줄아는것으론 현실적으로 백엔드 취업이 어렵기 때문에 자바나 노드를 입사하려는 기업에 job desk를 분석하고 같이 준비해야 한다. 파이썬은 초급에서 중급으로 넘어가기가 힘들지만 이 힘든 벽을 자주만나고 계속해서 넘어가는것이 중요하다.
- 형상관리, 코드프로파일링, 알고리즘성능분석, 객체지향 설계, 심화용어와 개념, 파이썬만의 특성들을 알아야 함
- 파이썬 자체에대한 학습법이 필요
- CS나 공학과 연계하여 공부하거나 남의 우수한코드를 우선 외워서 파악하는것도 좋음, 완전히 새롭고좋은것을 창작하는것은 불가능(모방은 창작의 어머니?)
좋은코드를 작성하는법도 익혀야 한다.
- 명시적인 주석이나 파일이름 변수이름의 선정(주석의 독자가 꼭 다른사람이 아니라 내가 더 자주 읽어야된다는것을 고려해서 자세하고 깔끔하게 적자)
- 가독성이나 유지보수성 확장성이 뛰어난 구조를 가진 암시적인 힌트
- 패턴과 알고리즘 (어려운걸 배웠다고 다 남발한다고 좋은코드가 아님)
- 전박적인 아키텍쳐와 설계도 중요
하나의 프레임워크(장고,플라스크,fastapi)를 정했다면 우선 깊게 파봐야한다.
- 프레임워크를 변경하기전에 우선 하나의 프레임워크를 심도있게 공부하는것이 중요
- 다른 프레임워크를 공부할떄 기존에 알던것과 차이가 뭔지 구현과정에서 왜 이런차이가 생기는지를 중점으로 공부한다면 습득속도가 빨라짐
- 무작정 API 문서를 보고 따라서 쓰기보다는 직접 차이점을 찾고 단계대로 따라가는것이 더 좋음
추천 도서 로드맵
자신의 이력 방향과 학습의 로드맵의 조화가 필요하고 백엔드개발이 목적이라도 파이썬의 경계를 벗어난 영역도 파고들어야 한다.
특히 경력에 맞는 효율적인학습과 시간분배가 핵심이고 비슷한수준의 책이나 인강을 계속듣는건 한계가 뚜렷하다.
즉 한단계 도약을 위해서는 어려운내용을 찾아서 의도적으로 공부해야한다.
-
- 파이써닉한 파이썬을 익히는 간결한 안내서(인사이트)로 한단계 업
- 전문가를 위한 파이썬(한빛미디어)로 딥하게 공부
- 클린코드, 이제는 파이썬이다(책만)
- 공학적인 관점의 파이썬도 알고있을수록 좋음
- 전문가를 위한 파이썬 프로그래밍(제이펍)
- 프로그래머를 위한 파이썬 실전 프로젝트로 배우는 소프트웨어 개발의 원리와 정석(제이펍)
- 프로젝트 실행 관점에서 접근
- 알 스웨이가트의 파이썬 프로젝트(제이펍)
- 당신의 호기심을 풀어보는 신비한 파이썬 프로젝트(영진닷컴)
- 백견불여일타 이젠 프로젝트다! 파이썬 생활미락형 프로젝트(로드북)
- 프로잭트 실행 심화
- 실전 파이썬 핸즈온 프로잭트(책만)
- python 과 pygame으로 게임만들기(정보문화사)
- 파이썬 플레이그라운드 호기심 많은 프로그래머를 위한 14가지 창의적 프로젝트(에어콘출판)
- ML, DL
- 밑바닥부터 시작하는 딥러닝(한빛미디어)
- 핸즈온 머신러닝 사이킷런,케라스,텐서플로 2를 활용한 머신러닝 딥러닝 완벽실무(한빛미디어)
- 딥러닝을 이용한 정형데이터 분석(책만)
- 파이토치 딥러닝 마스터(책만)
- 실전 시계열 분석 통계와 머신러닝을 활용한 예측기법(한빛미디어)
- 머신러닝 탐구생활(정권우)
- 머신러닝=딥러닝 문제해결전략(골든레빗)
포트폴리오는 어떤 방향으로 만들어야할까 ?
- 나만의 스토리가있는 차별성이 있을수록 좋다
- 실전 파이썬 핸즈온프로젝트 도서 참고
- 수학적이고 과학적인 방법으로 해법을 정리하기
- 라이브러리와 프레임워크를 사용해 코드를 작성하고 점진적으로 코드를 개선하는 방향을 제공
- 우선 만들고싶은 기능을 정하고 단계별로 필요한 지식을 공부하면서 하이브리드로 접근하는것이 중요
- 공부부터 다 하고 만들기, 일단 구상을 끝내고 공부하기는 효율적이지 않음
- 큰 방향을 정하고 만들어보면서 학습하는것을 반복하는것이 best