
p. 040
- 웹 개발자는 웹사이트를 만들고 관리하며, 역할에 따라 웹 퍼블리셔/UI 개발자, 프론트엔드 개발자, 백엔드 개발자 등이 있다.
- 모바일 개발자는 스마트폰이나 태블릿, 스마트 워치 등 모바일 기기에서 작동하는 애플리케이션을 개발한다.
- 게임 개발자는 게임의 전체적인 구조를 설계하고 개발한다.
- 응용 소프트웨어 개발자는 PC용 프로그램을 개발하는 사람들을 지칭한다.
- 임베디드 개발자는 하드웨어를 제어하는 소프트웨어를 개발한다.
- 정보 보안 전문가는 각종 보안 위협으로부터 시스템과 서비스를 방어한다.
- AI 개발자는 인간의 사고와 학습 같은 지적 능력을 컴퓨터를 통해 구현하는 기술이다.
p. 062
- 기계어는 컴퓨터가 사용하는 0과 1로 이루어진 언어이며, 기계어를 사람이 이해할 수 있도록 기호로 표현한 언어를 어셈블리어라고 한다. 기계어 바로 윗단계에 해당하는 저수준의 언어이다.
- 저수준 언어는 기계어에, 고수준 언어는 사람의 언어에 가까운 언어이다.
- 프로그래밍 언어란 컴퓨터와 소통하기 위해 만들어진 언어이다.
- 컴파일 언어는 코드 전체를 기계어로 바꿔 실행파일을 만들어 실행하고, 인터프리터 언어는 코드를 한 줄 한 줄 읽으면서 해석하고 바로 실행하는 언어이다.
- IDE는 개발에 관련된 다양한 기능들을 제공하는 개발용 프로그램이다.
p. 076
- 디버깅이란 프로그램에서 문제를 찾아 제거하는 것이다.
- 빌드란 프로그래밍한 소스 코드를 묶어 실행 가능한 파일을 만드는 것이다.
- 배포란 소프트웨어를 사용자들에게 전달하는 것이다. (윈도우용 프로그램을 프로그래밍한 뒤 exe파일로 내보내기)
- 유지 보수란 소프트웨어 제품 출시 이후 계속되는 문제 해결 및 각종 업데이트 작업이다.
- 리팩토링이란 기능을 수정하지 않으면서 코드의 품질을 높이는 것이다.
- 코드 리뷰란 서로의 코드를 확인하고 피드백을 주고받는 과정이다.
- 문서화란 소프트웨어와 그 소스 코드를 쉽게 파악할 수 있도록 문서를 작성해 두는 것이다.
- 개발자가 프로그램의 작동을 확인하는 빌드에는 빌드번호가, 테스트를 마치고 고객에게 최종 전달되는 빌드에는 버전 번호가 올라간다.
p.091
- 서버란 정보나 서비스를 제공하는 컴퓨터이다.
- 클라이언트란 서버가 제공하는 것을 받아 사용하는 컴퓨터이다.
- 데이터 센터는 수많은 서버를 한 곳에서 안정적으로 관리하는 시설이다.
- 서버 호스팅은 서버용 컴퓨터를 대여해 주는 서비스이다.
- 온프레미스는 민감한 정보를 다루는 회사들의 경우 호스팅을 외부 데 이터 센터에 두지 않고 사내 전산실에 서버를 갖추고 관리하는 것을 말한다.
- 클라우드 컴퓨팅 서비스는 서버를 가상화하여 각종 편의 기능과 함께 필요한 만큼 사용할 수 있는 서비스이다.
사용자 | 특징 | |
IaaS | 각종 서버 설정부터 서비스 운영까지 직접 수행하는 운영자 | 가상화된 서버 컴퓨터에서 필요한 모든 인프라를 사용자가 구축 |
PaaS | 인프라와 플랫폼을 사용하여 소프트웨어를 개발하는 개발자 | 이미 구축된 인프라 또는 플랫폼을 이용하여 애플리케이션 개발, 실행 및 관리 |
SaaS | 클라우드 서비스 소비자 | 모든 인프라, 플랫폼 및 애플리케이션은제공 업체가 관리하며 웹 브라우저로 제공 |
p.108
- HTML은 웹 페이지에 요소들을 '가져다 놓는' 마크업 언어이다.
- CSS는 HTML로 올려 놓은 요소들을 '꾸미는' 스타일 언어이다.
- JavaScript는 웹 페이지에 기능들을 부여해 '일을 시키는' 프로그래밍 언어이다.
- 웹 표준은 브라우저가 HTML, CSS, JavaScript를 읽는 표준화된 방식이다.
- 반응형은 화면 크기에 따라 홈페이지의 크기가 변화하는 웹사이트이다.
- 적응형은 정해진 화면 크기나 기기에 맞게 홈페이지를 따로 제작하는 웹사이트이다.
p.120
- 쿠키는 사용자의 브라우저에 저장되는 정보이다.
- 세션은 서버가 사용자를 기억하고 있는 상태이다.
- 토큰은 서버가 기억해 둘 필요 없이 사용자가 스스로를 증명할 수 있는 수단이다.
- 캐시는 데이터를 다시 가져오지 않도록 가까이 저장해 두는 기술이다.
- CDN은 각지에 캐시 서버를 두어 부하를 분산시키는 기술이다.
쿠키 | 세션 | |
저장 위치 | 사용자의 브라우저 | 서버(세션 쿠키 제외) |
관리 주체 | 사용자 | 서비스 제공사 |
저장 대상 | 가벼운 편의를 위한 정보 | 서버가 관리해야 할 정보(예: 로그인) |
유지 기간 | 브라우저를 종료해도 데이터 유지 | 브라우저 종료 시 데이터 삭제 |
요청 속도 | 빠름 | 느림(서버 처리 필요) |
보안 | 취약(로컬 기기에 저장) | 좋음(브라우저 메모리에 저장) |
p.132
- 네이티브 앱은 기기에 작동하는 운영체제에 특화된 방식으로 제작된 앱이다.
- 크로스 플랫폼은 하나의 소스 코드로 여러 개의 운영체제에서 작동할 수 있는 프로그램을 만드는 방식이다.
- 웹 앱은 모바일 기기의 브라우저에서 접속할 수 있는 모바일 웹사이트로, 모바일 앱과 비슷한 UI/UX를 제공한다.
- 하이브리드 앱은 네이티브 앱 안에 웹 뷰로 웹사이트를 실행해서 네이티브 앱과 웹앱의 장점을 취할 수 있는 앱이다.
- PWA는 아이콘 추가 등 진보된 브라우저 기능을 활용해서 네이티브 앱 같은 다양한 편의 기능을 제공하는 웹 앱이다.
p.154
- 프론트엔드는 웹사이트의 구성 요소 중 클라이언트 컴퓨터의 브라우저에서 작동하는 부분이다.
- 백엔드는 웹사이트나 모바일 앱과 같은 온라인 애플리케이션의 구성 요소 중 서버에서 작동하는 프로그램이다.
- 프레임워크는 프로그램의 기본 골격이 갖춰져 있어 개발자가 원하는 제품을 수원하게 만들 수 있도록 출시된 개발 키트이다.
- API는 여러 소프트웨어의 특정 기능들을 요청하고 호출하기 위한 약속이다.
- XML과 JSON은 데이터를 저장하고 전달할 목적으로 구성된 표기 형식이다.
- YAML은 Aint' Markup Language 의 약자로 마크업 언어가 아니다. 사람이 이해하기 쉬운 형태로 구성된 표기 형식이다. 하이픈(-)으로 배열을 표시하기 때문에 XML이나 JSON 파일보다 가독성이 좋다.
- AJAX는 정확히는 형식이 아니다. 자바스크립트를 이용해 서버와 브라우저가 데이터를 교환할 수 있는 통신 기능이다.
p.156. 다음 중 나머지 넷과 다른 것은?
스프링, 라라벨, REST API, 닷넷, 장고
스프링(Spring), 라라벨(Laravel), 닷넷(.NET), 장고(Django) → 모두 웹 프레임워크 또는 애플리케이션 프레임워크
- Spring: Java 기반 웹 프레임워크
- Laravel: PHP 기반 웹 프레임워크
- .NET: Microsoft의 웹 및 애플리케이션 프레임워크
- Django: Python 기반 웹 프레임워크
REST API
- 특정 기술이나 프레임워크가 아니라, 웹 서비스 설계를 위한 아키텍처 스타일이다.
- REST(Representational State Transfer) 방식으로 API를 설계하는 개념
- 위의 프레임워크들도 REST API를 제공하거나 활용할 수 있음
- 즉, REST API는 웹 프레임워크가 아니라 API 설계 원칙이라는 점에서 나머지 네 개와 다르다.
p.172
- IP는 데이터 통신 규약이며, IP 주소는 PC나 스마트폰 같은 기기의 네트워크 주소이다.
- 도메인은 사람이 기억하기 쉽도록 문자로 만들어 특정 IP에 연결한 인터넷 주소이다.
- DNS는 IP 주소와 이에 해당하는 도메인의 IP 정보를 갱신하며, 특정 도메인에 대한 요청이 들어오면 IP 주소를 찾아 알려주는 시스템이다.
- WWW는 전 세계의 사람들이 정보를 공유하고 소통할 수 있는 인터넷 공간을 뜻한다.
- HTTP는 클라이언트의 요청과 서버의 응답으로 이루어지는 통신 규약이다.
- HTTPS는 HTTP에 보안 기능을 추가해서 보다 안전하게 만든 통신 규약이다.
p. 188
- 데이터는 의미 없이 수집된 자료를 뜻하며, 정보는 데이터가 모여서 어떤 의도나 목적에 따라 분석되어 의미가 생긴 자료이다.
- 데이터베이스는 전상상에 저장된 구조화된 데이터 집합이다.
- DBMS는 데이터베이스를 구축하고 관리하는 프로그램이다.
- RDBMS는 관계형 데이터베이스라고 하며, 컬럼(열) 간에 관계를 가질 수 있는 표형태로 데이터를 저장하는 모델의 DBMS이다.
- SQL은 관계형 데이터베이스에 작업을 지시하기 위해 사용되는 언어이다.
- NoSQL은 관계형을 제외한 모델을 사용하는 DBMS를 가리키는 용어이다.
p.203
- 운영체제는 사람이 컴퓨터를 쉽게 사용할 수 있도록 해 주는 시스템 소프트웨어이다.
- GUI는 그래픽 요소를 사용해서 직관적이고 편리하게 구성한 인터페이스이다.
- CLI는 명령어 줄을 입력해서 사용할 수 있는 인터페이스이다.
- 커널은 운영체제의 핵심 기능을 담당하는 핵심 요소이다.
- 오픈소스는 누구나 소스 코드를 볼 수 있고 개발에 참여할 수 있는 소프트웨어이다.
p.224
- CPU는 컴퓨터를 통제하고 주어진 작업을 수행하는 장치이다.
- 메모리는 컴퓨터의 작업에 사용되는 데이터를 일시적 또는 영구적으로 저장하는 장치이다.
- 입출력장치(I/O)는 컴퓨터에 신호와 정보를 보내는 입력 장치와 컴퓨터의 연산을 결과로 내보내는 출력 장치를 말한다.
- 프로세스는 프로그램이 메모리에 올려져 CPU에 의해 실행되는 상태이다.
- 스레드는 하나의 프로세스 안에서 돌아가는 한 개 이상의 작업 단위이다.
p.236
- 비트는 0과 1 두 값을 가지는 것으로 컴퓨터가 다루는 데이터의 최소 단위이다.
- 바이트는 8개의 비트가 모인 것이다.
- 자료형은 프로그래밍 언어에서 여러 종류의 데이터를 저장하는 방식이다.
- 문자 인코딩은 살마이 사용하는 문자를 컴퓨터가 인지 가능한 숫자로 바꾸는 것이다.
- 유니코드는 전 세계에서 사용되는 대부분의 문자를 포함한 문자열 셋이다.
p.260
- 컴파일 언어는 실행되기 전 다른 형식으로 번역되는 언어이다.
- 인터프리터 언어는 작성된 코드 그대로 통역되어 실행되는 언언이다.
- 절차지향 프로그래밍은 소스 코들르 위에서부터 차례대로 읽고 실행하는 방식이다.
- 객체지향 프로그래밍은 프로그램을 객체 단위로 나누어 프로그래밍하는 방식이다.
- 함수형 프로그래밍은 함수형 기능들을 활용해서 변수의 사용을 최소화하는 프로그래밍 방식이다.
- 매니지드 언어는 언어 자체에서 메모리를 관리해 주는 언어이다.
- 언매니지드 언어는 개발자가 직접 메모리를 관리해야 하는 언어이다.
p.276
- 컴파일 오류는 소스 코드를 컴파일하는 과정에서 일어나는 오류이다.
- 런타임 오류는 프로그램 실행 도중 발생하는 오류입니다.
- 논리 오류는 컴파일과 실행 모두 성공하지만 실행 결과가 올바르지 않은 오류이다.
- 예외 처리는 오류 발생시에도 프로세스를 지속싴리 수 있는 수단이다.
- 메모리 누수는 사용하지 않는 데이터가 비워지지 않고 메인 메모리 공간에 쌓여 있는 현상이다.
- 가비지 컬렉션은 메인 메모리상 불필요한 데이터를 자동으로 치우는 기능이다.
컴파일 오류 | 컴파일 단계에서 발생하는 경우 | - 키워드 맞춤법이 틀린 경우 - 필요한 문장 부호가 빠진 경우 - 선언되지 않은 변수를 사용한 경우 |
런타임 오류 | 프로그램 실행 중 발생하는 경우 | - 0으로 나누는 경우 (ArithmeticException: / by zero) - 무한 루프에 빠지는 경우 - Null 오류 (NullPointerException, NPE) |
논리 오류 | 컴파일 및 실행은 되지만 사용자가 의도한 결과가 나오지 않는 경우 | |
구문 오류 | 프로그래밍 언어의 사용법에 맞지 않는 코드로 인해 발생하는 경우 |
p.292
- 패키지 매니저는 라이브러리의 설치, 업데이트, 삭제 등을 관리하는 소프트웨어 도구이다.
- 환경 변수는 프로그램이 작동할 환경에 지정된 변경 가능한 값이다.
- 프레임워크는 기반으로 삼아서 프레임워크 자체를 사용하는것이라면, 라이브러리는 라이브러리 자체를 가져다 사용하고 호출하는 용도로 사용한다.
- 런타임 환경은 프로그램이 작동할 수 있도록 해 주는 소프트웨어이다.
- SDK는 특정 언어나 환경의 소프트웨어를 개발할 수 있도록 제공되는 키트이다.
p.307
- VCS는 프로젝트의 변경 내역을 관리하는 시스템으로, 소프트웨어를 개발할 때 일정 시점과 단위로 프로젝트를 관리하는 역할을 한다. 또한 소스 코드 백업과 복구를 쉽게 도와주고 다른 업무자들과 협업을 용이하게 도와준다.
- 깃은 가장 널리 사용되는 VCS이다. 깃은 프로젝트 작업 상태를 저장하는 커밋, 각 작업을 본 프로젝트에 업로드 하는 푸시, 다른 작업자들이 수정한 코드를 가져오는 풀과 같은 기능으로 프로젝트를 관리하고 협업한다.
- 깃 호스팅 서비스는 깃으로 관리하는 프로젝트를 저장하는 공용 저장소를 제공하는 서비스이다.
'이것저것' 카테고리의 다른 글
오픽 (OPIC) 보기 전에 꼭 봐야 할 꿀팁 & 전략 (9) | 2025.03.08 |
---|---|
[얄코] 코딩 업계 IT 용어 총정리 2 (19) | 2025.02.13 |
[MBTI] 방문자수 냠냠: INFP (인프피) 탐구 생활 (92) | 2025.02.01 |
✨2025년 웹디자인기능사 개정 웹디자인개발기능사 변경점 정리✨ (14) | 2025.01.22 |
[이벤트] 신년맞이 프로모션, 인프런에서 무료 강의 듣고 성장하자! (32) | 2025.01.03 |