👉 IT 상식을 위한, 그리고 독서 습관을 위한 두번째 책..
첫 번째 시간과 마찬가지로 읽기 쉬워 보이고, 목차를 비교해 보며 가장 유익해 보이는 책을 골랐다.
결국 선택한 책이 바로... 👇
"IT 5분 잡학사전"
⏰ 총 소요 시간: 약 5시간
읽으면서 처음 SW 교육을 받을 때 참고한 적이 있던 니콜라스라는 유튜버가 쓴 책이란 것을 알았다. 유익한 강의를 유튜브를 통해 학생들에게 공유해줄 뿐만 아니라 책까지 썼을 줄이야.. 대단한 사람이라는 생각이 들었다.
목차
는 텍스트로 하면 넘 길어서..
느낀점
두번째로 IT 상식에 관한 책을 읽어서 그런지 겹치는 내용이 적지 않았지만 나름대로 큰 도움이 되었다. 특히 챕터 사이사이에 니꼬가 알려주는 개발자 꿀팁들이 숨어있어서 나중에 적용해본다면 좋을 것 같다는 생각이 들었다.
하지만 상식에 관한 책의 목적은 역시 개발자보다는 개발자와 협업하는 사람들을 위함이기 때문에 이제 좀더 딥한 책을 알아볼 생각이다. 먼저 정보처리기사에 도전할 겸 CS에 관련한 책을 좀 알아봐야겠다.
책을 읽고 기억에 남은 내용들을 정리해 보았다.
시니어 개발자
- 개발 과정을 잘 이해하고 있어서 무엇이 필요한지, 어떻게 검색해야 하는지 알고 있기 때문에 개발에 능숙
C, C++, C#
- C: 가장 오래된 언어, 메모리 효율적 사용하면서 빠름
- C++: 객체지향이면서 절차지향, c와 속도는 비슷
- C#: 배우기 쉬움. 사용성 다양. 느림
파이썬
- 영어랑 비슷해서 배우기 쉽다
- 사용분야가 매우 다양하다
- 거대한 커뮤니티 보유
- 업무 자동화 가능
- 느린 이유: 인터프리트 언어이기 때문
- C는 컴파일 언어이기 때문에 빠름
Javascript
- 전세계에서 가장 많이 사용
- 웹, 3D, 게임, 하이브리드 앱, 데스크탑 SW, 머신러닝,,,
라이브러리와 프레임워크
- 제어권이 누구에게 있느냐
- 교체 난이도
리액트는 자바스크립트 라이브러리라고 공식 문서에 써있지만 사실 파일 구조의 컴포넌트에도 사용규칙이 있어서 프레임워크 적이 면도 있다
서버
항상 켜져있는 컴퓨터이면서 인터넷에 연결되어있고, 접속 요청에 응답해서 주소에 해당하는 데이터를 보여줍니다
풀스택
프론트 + 백 + 데브옵스(서버, 보안 등)
서버리스
- AWS
- 등록된 함수를 쓰고 싶을때만 깨워서 씀
- 콜드 스타트: 충분한 정보가 없는 상태
자료구조
- 시간 복잡도
- 무언가를 찾을때는 ‘선형 검색’은 느림
- 이진 탐색은 정렬된 배열에서 사용
정렬
클린코드
- 협업시에 다른 개발자가 읽기 좋게 하기 위한 것
- 설명이 필요없는 코드
클린 코드 잘하는 5가지
- 의미있는 변수, 함수의 이름을 적절히 사용
- 함수 이름은 동사형으로
- 매개 변수는 많을수록 안좋음. 3개 이하가 적당 -> 불가피한 상황엔 컨피겨레이션 오브젝트 형태로 하기(해시 테이블 비슷)
- 불리안을 매개별수로 쓰지 마라
- 축약어를 쓰지 마라
프로그램/시스템은 🌵선인장과 같다.
조금만 관리해줘도 오래오래 잘 살아가지만, 그렇다고 아예 방치하면 죽어버린다.
프로그램이나 시스템도 완성 되었다고 방치하기 보단 주기적으로 관리 및 개선해주는 것이 개발자의 책임감이다.
SQL
- SQL -> DBMS(MySQL) -> DataBase
- ORM(django orm): 번역기
NoSQL
- document DB
- key-value DB
- graph DB
프로그램 패러다임
프로그램하는 사고의 틀 혹은 관점
인공지능
- 학습 시키는 방법
- 머신러닝
- 지도학습: 인간이 직접
- 비지도학습: 관련 정보 주고 알아서
- 딥러닝
- 머신러닝 하위 개념
- 엄청나게 많은 층으로 구성된 머신러닝의 한 종류
도커
개발 환경이 맞지 않은 상황 또는 개발 환경이 변경되었을 때 유연하게 대처해줌
어떤 컴퓨터에서도 같은 개발 환경 제공