파이썬

프로그래밍, CS기초지식+엔지니어링, 전문영역지식 세가지가 필요하다.

  • 비전공자에게는 자료구조와 알고리즘이 1순위 핵심
  • 운영체제, 데이터베이스, 네트워크, 컴퓨터 그래픽스, 컴퓨터 아키텍쳐, 소프트웨어공학 중 선택과 집중으로 더 공부할수록 좋음
  • 파이썬을 파이썬답게 써야한다
  • PEP8(Python Enhancement Propsals)스타일의 파이썬 코드를 작성할 수 있어야함
  • 명명규약, 코드중복, 매직넘버, 죽은코드, 주석작성, 함수작성 등 신경써야할 부분이 많음

 

초급에서 중급으로

파이썬 하나만 할줄아는것으론 현실적으로 백엔드 취업이 어렵기 때문에 자바나 노드를 입사하려는 기업에 job desk를 분석하고 같이 준비해야 한다. 파이썬은 초급에서 중급으로 넘어가기가 힘들지만 이 힘든 벽을 자주만나고 계속해서 넘어가는것이 중요하다.

  • 형상관리, 코드프로파일링, 알고리즘성능분석, 객체지향 설계, 심화용어와 개념, 파이썬만의 특성들을 알아야 함
  • 파이썬 자체에대한 학습법이 필요
  • CS나 공학과 연계하여 공부하거나 남의 우수한코드를 우선 외워서 파악하는것도 좋음, 완전히 새롭고좋은것을 창작하는것은 불가능(모방은 창작의 어머니?)

좋은코드를 작성하는법도 익혀야 한다. 

  • 명시적인 주석이나 파일이름 변수이름의 선정(주석의 독자가 꼭 다른사람이 아니라 내가 더 자주 읽어야된다는것을 고려해서 자세하고 깔끔하게 적자)
  • 가독성이나 유지보수성 확장성이 뛰어난 구조를 가진 암시적인 힌트
  • 패턴과 알고리즘 (어려운걸 배웠다고 다 남발한다고 좋은코드가 아님)
  • 전박적인 아키텍쳐와 설계도 중요

 

하나의 프레임워크(장고,플라스크,fastapi)를 정했다면 우선 깊게 파봐야한다.

  • 프레임워크를 변경하기전에 우선 하나의 프레임워크를 심도있게 공부하는것이 중요
  • 다른 프레임워크를 공부할떄 기존에 알던것과 차이가 뭔지 구현과정에서 왜 이런차이가 생기는지를 중점으로 공부한다면 습득속도가 빨라짐
  • 무작정 API 문서를 보고 따라서 쓰기보다는 직접 차이점을 찾고 단계대로 따라가는것이 더 좋음

 

추천 도서 로드맵

자신의 이력 방향과 학습의 로드맵의 조화가 필요하고 백엔드개발이 목적이라도 파이썬의 경계를 벗어난 영역도 파고들어야 한다.

특히 경력에 맞는 효율적인학습과 시간분배가 핵심이고 비슷한수준의 책이나 인강을 계속듣는건 한계가 뚜렷하다.

한단계 도약을 위해서는 어려운내용을 찾아서 의도적으로 공부해야한다.

    • 파이써닉한 파이썬을 익히는 간결한 안내서(인사이트)로 한단계 업
    • 전문가를 위한 파이썬(한빛미디어)로 딥하게 공부
    • 클린코드, 이제는 파이썬이다(책만)

 

  • 공학적인 관점의 파이썬도 알고있을수록 좋음
    • 전문가를 위한 파이썬 프로그래밍(제이펍)
    • 프로그래머를 위한 파이썬 실전 프로젝트로 배우는 소프트웨어 개발의 원리와 정석(제이펍)

 

  • 프로젝트 실행 관점에서 접근
    • 알 스웨이가트의 파이썬 프로젝트(제이펍)
    • 당신의 호기심을 풀어보는 신비한 파이썬 프로젝트(영진닷컴)
    • 백견불여일타 이젠 프로젝트다! 파이썬 생활미락형 프로젝트(로드북)

 

  • 프로잭트 실행 심화
    • 실전 파이썬 핸즈온 프로잭트(책만)
    • python 과 pygame으로 게임만들기(정보문화사)
    • 파이썬 플레이그라운드 호기심 많은 프로그래머를 위한 14가지 창의적 프로젝트(에어콘출판)

 

  • ML, DL
    • 밑바닥부터 시작하는 딥러닝(한빛미디어)
    • 핸즈온 머신러닝 사이킷런,케라스,텐서플로 2를 활용한 머신러닝 딥러닝 완벽실무(한빛미디어)
    • 딥러닝을 이용한 정형데이터 분석(책만)
    • 파이토치 딥러닝 마스터(책만)
    • 실전 시계열 분석 통계와 머신러닝을 활용한 예측기법(한빛미디어)
    • 머신러닝 탐구생활(정권우)
    • 머신러닝=딥러닝 문제해결전략(골든레빗)

 

포트폴리오는 어떤 방향으로 만들어야할까 ?

  • 나만의 스토리가있는 차별성이 있을수록 좋다
  • 실전 파이썬 핸즈온프로젝트 도서 참고
  • 수학적이고 과학적인 방법으로 해법을 정리하기
  • 라이브러리와 프레임워크를 사용해 코드를 작성하고 점진적으로 코드를 개선하는 방향을 제공
  • 우선 만들고싶은 기능을 정하고 단계별로 필요한 지식을 공부하면서 하이브리드로 접근하는것이 중요
  • 공부부터 다 하고 만들기, 일단 구상을 끝내고 공부하기는 효율적이지 않음
  • 큰 방향을 정하고 만들어보면서 학습하는것을 반복하는것이 best

+ Recent posts