[도서] IT 5분 잡학사전
- 저자
- 배지현, 니꼴라스
- 출판
- 이지스퍼블리싱
- 출판일
- 2022.09.30
친구 추천으로 얼마 전에 도서관에서 읽은 이 책에서 기억하고 싶은 내용들을 정리해봤다.
책 내용이 담겨있어서 이 글만 개별적으로 검색비허용 하고 싶은데.. 티스토리는 그게 안 되네..?😅
스택오버플로우에서 조사한 2023년 가장 많이 사용하는 프로그래밍 언어 순위
→ 1위 JavaScript, 2위 HTML/CSS, 3위 Python, 4위 SQL, 5위 TypeScript
스택오버플로우에서 조사한 2023년 가장 많이 사용하는 기술
→ 1위 Node.js, 2위 React, 3위 jQuery
프로그래밍 언어의 종류
※ 참고: https://modulabs.co.kr/blog/interpreter-and-compiler/
- 인터프리터 언어 : 코드를 한 줄씩 읽고 해석해서 실행함. 동시통역. (ex. JavaScript, Python)
- 컴파일 언어 : 코드를 기계어로 번역하는 컴파일러가 코드 전체를 분석해서 최적화하고 실행. 순차통역. (ex. C언어, Java)
새 프로그래밍 언어를 쉽고 빠르게 공부하는 방법
- 공식문서 살펴보기
해당 언어의 공식문서에는 올바른 사용 예시와 관련 커뮤니티 등 자료가 전부 있으므로 참고하는게 좋다. - 문법 확인하기
문법을 보고, 작성해보고, 이해하는 과정 - 다른 언어와 비슷한 특징 집중해서 보기
기존에 아는 언어가 있다면 내가 아는 언어와 새로운 언어의 비슷한 부분을 살펴보고 공통점과 차이점을 파악.
(현재 Python 공부하면서 JS랑 비교하고 있으니 맞게 하고 있는거구나!) - 새 언어로 코딩 시도하기
기본적인 코드 작성부터 함수 선언 등 다양한 패턴을 새 언어로 작성해보는 과정. 연습을 해보면서 더 빨리 익힐 수 있다. - 튜토리얼 시작하기
공식 문서에 있는 튜토리얼을 수동적으로 따라하지 않고, 오픈소스 프로젝트를 가져와서 해당 튜토리얼을 참고하여 해체하고 다시 만들기. (멀쩡한 시계 분해했다가 다시 조립하는 느낌인데?) - 나만의 프로젝트 만들기
이미 만들어봤던 주제의 프로젝트를 새로운 언어로 만들어보기
- 이진검색 : 단계마다 배열의 중앙에서 검색을 시작해서 찾으려는 값이 없는 방향은 제외.
데이터의 정렬이 끝난 배열에서만 사용 가능하다. - 스택, 큐 : 추상자료구조 Abstract Data Type (ADT)에 해당한다. 실생활에서 사용되는 예시는 아래와 같다.
- 스택 : 뒤로가기 버튼, 되돌리기 단축키
- 큐 : 쇼핑몰 주문처리 시스템
- MongoDB : noSQL의 일종인 도큐먼트 데이터베이스를 관리할 수 있는 툴.
보통의 데이터베이스는 표 형태인데, MongoDB는 이걸 JSON 형태로 저장함. - 도커 Docker : 어떤 컴퓨터나 운영체제에서도 같은 개발환경을 준비할 수 있도록 도와주는 툴.
도커가 만든 개발환경은 컨테이너 형태로 존재하고, 컨테이너는 서로 분리되어 있고 독립적이다.
컨테이너를 추가해야할 경우에는 복제도 가능하다. - 머신러닝 : 데이터라벨링. 인공지능 학습시키는 방법
- 딥러닝 : 머신러닝의 하위개념. 구현 과정에서 여러 겹으로 층을 만들기 때문에 이런 이름이 붙었다.
- 데브옵스 DevOps : 개발(development)과 운영(operations)의 합성어.
개발자와 기술전문가 사이에서 소통, 협업, 통합을 강조하는 개발 환경이나 문화.
앱개발 관련 용어
1. 하이브리드 앱 : 웹사이트를 보여주는 웹뷰. 주소창 없는 브라우저.
- 장점 : 네이티브 앱 개발 지식이 필요없음. 일반 사이트 만들듯이 HTML, CSS, JS 가지고 만들면 되니까
- 단점 : UI를 직접 설계하고 만들어야해서 귀찮음. 스마트폰 성능을 온전히 활용할 수 없다
2. 크로스플랫폼 앱 : 애플과 안드로이드 모두에서 사용 가능한 앱. (ex. dart라는 언어로 코딩하는 flutter)
- 장점 : 개발자가 익숙한 코드로 한번만 작성하면 앱이 2개가 나온다.
- 단점 : 기술적 한계로 네이티브 앱의 성능을 따라갈 수 없다.
3. 네이티브 앱 : 애플이나 안드로이드만을 위한 언어로 만들어진 앱. (애플은 스위프트, 안드로이드는 자바/코틀린)
- 장점 : 폰의 성능을 최대로 사용할 수 있다.
- 단점 : 새로운 언어를 2개나 배워야해서 시간이 더 걸리고, 유지/보수도 따로 해야함.
크롬 브라우저 익스텐션 추천
- Colorzilla : 웹페이지 색상 스포이드로 뽑아내기
- Momentum : 브라우저창 최초 오픈시 할일 알림 기능
- CSS Viewer : 페이지의 CSS 요소 확인 가능
- JSON Viewer : 제이슨 파일을 깔끔한 형식으로 보여줌
- React Developer Tools : 리액트 state, props 등 정보 확인 가능. 디버깅에 유용함.
- Whatfont : 웹사이트에서 폰트 종류 바로 확인 가능
- Grid Ruler : 요소의 간격이나 크기 등 바로 측정 가능
- BuiltWith Technology Profiler : 웹사이트가 어떤 기술로 만들어졌는지 확인 가능