사전적 의미는 뼈대나 기반구조를 뜻하며 소프트웨어에서의 프레임워크는 ‘소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 틀’을 의미한다. 즉, 프레임워크는 특정 프로그램을 개발하기 위한 여러 요소들과
리액트 기반으로 만들어진 프로젝트들에서 우리는 종종 의미 없는 <div>를 정의한 코드들을 볼 수가 있다. 어떤 의미일까? 실제로 사용되지 않는 <div> 태그를 쓰는 이유는 리액트에서 정의한 render() 함수는 반환 값의 루트 요소가 하나만 정의되어야
서버와 클라이언트는 서로 정보를 주고받는 관계로 서버는 특정 서비스를 제공하는 ‘서비스 제공자’의 역할이고 클라이언트는 서비스를 요청하는 ‘서비스 소비자’의 역할이다.통상적으로 우리가 사용하는 노트북과 스마트폰을 클라이언트라고 하지만 좀 더 정확히 말하자면 인터넷 사용
프론트엔드 (Front-end)와 백엔드(Back-end) 모든 웹 사이트와 웹 애플리케이션은 크게 프론트엔드 구성요소와 백엔드 구성요소로 나누어 볼 수 있다. 프론트엔드는 사용자 인터페이스(User Interface, UI), 즉 사용자가 볼 수 있는 화면을 말하며
플러그인 플러그인이란 어떤 특정한 하나의 문제를 해결하기 위한 컴포넌트로, 쉽게 말하면 추가 프로그램의 개념인데, 기존 애플리케이션 기능들에서 추가로 독립된 기능을 수행할 수 있는 부가(추가) 소프트웨어를 의미한다. 라이브러리는 비슷한 성격을 가진 이러한 플러그인들의
미들웨어란? 미들웨어는 운영 체제와 해당 운영 체제에서 실행되는 애플리케이션 사이에 존재하는 소프트웨어로, 기본적으로 숨겨진 변환 계층으로 기능하는 미들웨어는 분산 애플리케이션의 통신 및 데이터 관리를 가능하게 한다. 쉽게 말하면, 미들웨어는 서로 다른 애플리케이션이
마크업 언어란 양식이 있는 문서의 한 종류로,태그(tag)를 사용하여 문서 내의 요소를 정의하고 구분함으로써 문서의 정보를 정확하게 전달하기 위한 목적으로 만들어진 언어이다. 마크업 언어는 프로그래밍 구문이 아닌 일반적인 단어를 사용하여 사람이 읽을 수 있는 방식으로
검색 엔진 최적화 SEO(Search Engine Optimization)란, SEO는 구글과 같은 검색엔진에 친화적인 사이트를 구축하여 광고가 아닌 자연 검색 결과를 통해 트래픽의 양과 질을 극대화하는 작업을 의미한다. 쉽게 이야기하면, 검색엔진이 자료를 수집하고
에러란? 에러(또는 오류)란, 프로그램 처리 시 예상치 못한 결과 또는 원하는 적절한 결과를 얻지 못하여 발생하는 것으로, 하드웨어와 소프트웨어로 크게 2가지로 나눌 수 있다. 에러는 프로그램 작성 시 매우 흔하게 발생하며, 단순 타이핑 에러부터 프로그램 미흡으로 인
버그(Bug)란? 버그란, 기기의 고장이 아닌 프로그램상의 결함에 의해 오류나 오작동이 일어나는 현상을 말한다. 일반적으로는 소프트웨어의 결함을 지칭하는 경우가 많지만, 본래는 하드웨어도 포함한다. 버그가 일어나는 원인은 다양하지만, 프로그램의 설계 자체가 잘못되었거
예외 처리란? 예외 처리란, 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비하여 코드를 작성하는 것이며, 예외의 발생으로 인한 프로그램의 갑작스러운 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것을 의미한다. 여기서 예외란 실
트래픽이란? 트래픽이란 서버와 스위치 등 네트워크 장치에서 일정 시간 내에 흐르는 데이터의 양을 말하며, 주로 파일을 내려받거나 클라이언트의 요청으로 홈페이지의 내용을 볼 때 발생한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아 전송하는 데이터의 양이 많다는
데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로,여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록, 구조적으로 통합되어 시스템에 저장된다. 데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어되며, 연결된
관계형 데이터베이스란 데이터가 하나 이상의 열과 행의 테이블에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로, 데이터를 구성하는 정보 모음이다. 관계형 데이터베이스에는 테이블을 조인하여 정보 간 관계 또는
쿼리란 데이터베이스에 정보를 요청하는 것으로, 웹 서버에 특정한 정보를 보여달라는 웹 클라이언트의 요청에 의한 처리이다. 쿼리는 대부분 데이터베이스로부터 특정한 주제어나 어귀를 찾기 위해 사용되며, 주제어가 검색엔진의 검색필드 내에 입력된 다음, 그 내용이 웹 서버로
운영체제란 사용자가 컴퓨터를 편하게 사용할 수 있게 모든 하드웨어 자원을 관리해주는 프로그램으로, 중앙 처리 장치(CPU), 주기억 장치, 보조 기억 장치, 각종 입출력 장치 등이 정상적으로 작동하도록 감시하고 제어하며, 응용 프로그램이 사용하는 CPU 시간, 기억 공
유닉스와 리눅스 유닉스란? 유닉스는 1969년 AT&T Bell Labs 연구원들에 의해 개발된 컴퓨터 운영 체제의 하나로, 다중 사용자 및 다중 작업 환경을 지원하며 컴퓨터 시스템의 자원을 관리하는 역할을 한다. 유닉스는 많은 변형판과 파생 운영 체제를 낳았으며,
오픈소스란? 오픈소스란 원래 오픈소스 소프트웨어(Open Source Software, OSS)를 뜻하는 용어인데, 오픈소스 소프트웨어는 공개적으로 액세스할 수 있게 설계되어 누구나 자유롭게 확인, 수정, 배포할 수 있는 코드를 말한다. 오픈 소스라는 용어는 소프트
SDK란? SDK는 Software Development Kit의 약자로 소프트웨어 개발 도구 모음을 뜻하며, 개발자를 위한 플랫폼별 구축 도구 세트라고도 할 수 있다. 특정 플랫폼, 운영 체제 또는 프로그래밍 언어에서 실행되는 코드를 만들려면 디버거, 컴파일러 및
IDE란? IDE는 Integrated Development Environment의 약자로 ‘통합 개발 환경’이라고도 하며, 프로그래머가 소프트웨어 코드를 효율적으로 개발하도록 돕는 소프트웨어 애플리케이션을 말한다. IDE는 개발자가 코드를 편리하게 작성하는 데 필요
API 란? API는 Application Programming Interface의 약자로, 소프트웨어 응용 프로그램에서 다른 소프트웨어 구성 요소 또는 서비스와 상호 작용하기 위한 인터페이스를 제공하는 프로그래밍 기술이다. 여기서 인터페이스는 두 소프트웨어 응용
프로토콜이란 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활하게 하기 위해 표준화된 통신규약이다. 프로토콜은 두 가지로 이루어져 있으며 물리적 측면과 논리적 측면으로 나뉜다.물리적 측면 : 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회선 규격 등
도메인이란? 도메인은 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷 주소이다. 컴퓨터 네트워크상에 모든 기계와 장치들이 서로를 인식하고 통신하기 위해서 사용되는 IP 주소(예) 115.68.24.88, 192.
DNS란? DNS란 Domain Name System의 약자로, 도메인이름을 IP 주소로 변환하거나, 그 반대의 역할을 수행하는 시스템이다. 일종의 인터넷에서 사용되는 전화번호부 같은 역할이라고 할 수 있다. 일반적으로 우리는 웹사이트에 접속할 때 외우기 어려운 I
AJAX란? AJAX는 Asynchronous JavaScript and XML의 약자로, 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법이며, JavaScript를 사용
동기와 비동기? 데이터 처리 모델은 데이터를 받는 방식으로 동기, 비동기의 2가지 처리 모델이 존재한다. 🎲   동기(synchronous) 직렬적으로 작업을 수행하는 방식 요청을 보낸 후 응답을 받아야만 다음 동작으로 진행 ⇒ 따라서, 하나의 작
🎲 HTTP란? HTTP란 Hyper Text Transfer Protocol의 약자로 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약 1989년 팀 버너스 리에 의해 처음 설계, W
스레드를 이해하기 위해선 먼저 프로세스에 대해 알아야 하므로 프로세스에 대해 잠깐 알아보고 넘어가자. 프로세스란? 프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있는데, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할