변수(Variable) 는 상황에 따라 변할 수 있는 값(할당을 통해), Label(이름)이 붙은 값을 의미하며, 선언은 변수의 유효범위 내에서 동일한 변수명에 대해 최초 1회만 가능하다.Programming = Data Processing // 프로그래밍은 데이터 처
조건문은 특정 조건을 판별하는 기준을 만드는 것을 의미한다. 이때 컴퓨터는 주어진 조건에 따라 각기 다른 명령을 수행하게 된다.따라서 조건문은 비교 연산자(!===, ===, <, <=, >, >=) 가 필요하다. // 이중 등호는 예외사항이 너무 많다!비교
반복문의 정의 > 같거나 비슷한 코드를 여러번 실행시켜야 할 경우에 쓰이는 제어구문 > 반복문을 작성할 때는 조건을 정확하게 작성하는 것이 중요하다. for문 > for문은 소괄호 내부에 초기화, 조건식, 증감문 순으로 조건을 삽입하며 블록 내부에 실행될 코드를
웹 개발은 인터넷 혹은 인트라넷(폐쇠적인 근거리 통신망 ex. 사내 인트라넷 등등..) 에서 사용되는 웹사이트를 개발하는 과정을 의미한다.이때, 웹 개발은 가장 단순한 형태인 정적 웹페이지에서 복잡한 웹 기반의 어플리케이션, SNS 커뮤니티 사이트에 이르기까지 그 범위
CSS의 정의 > CSS(Cascading Style Sheets)는 마크업 언어(HTML)으로 정의된 요소들이 실제로 표시되는 방법을 기술하는 스타일 언어를 의미한다. 즉, CSS는 웹페이지 스타일 및 레이아웃을 정의하는 스타일 시트 언어로 보다 나은 사용자경험
레이아웃이란? >웹사이트 내 각각의 요소를 목적에 맞게 배치하는 것을 '레이아웃' 이라고 한다. 와이어프레임 > 웹 또는 어플리케이션을 개발할 때 레이아웃의 뼈대를 그리는 단계를 의미한다. 이는 단순한 선이나, 도형으로 웹, 앱의 인터페이스를 시작으로 묘사한 것
배열은 변수명과 순서(index)로 참조되는 정렬된 값 의 집합을 의미한다.이때, 각각의 값은 요소(element) 라고 부른다.자바스크립트에서 배열의 특징은 다음과 같다.배열 요소의 타입은 각각 상이 할 수 있다.배열 요소의 인덱스는 연속적이지 않을 수 있고 , 특정
객체는 키(key)와 값(value)으로 구성된 프로퍼티(property)들의 정렬되지 않은 집합을 의미한다. 이때 프로퍼티의 값에는 함수가 올 수 있으며, 이를 매소드라고 부른다.즉, 객체는 중괄호 내부에 1:1의 쌍으로 이루어진 키와 값으로 구성되며, 인덱스가 존재
원시자료형의 정의 JavaScript에서 원시자료형의 데이터는 다음과 같다. String Number Bigint Boolean undefined Symbol Null 모든 원시자료형은 단수의 정보를 가지고 있다. 이는 당시의 메모리 용량이 매우 한정적이었기에
JavaScript Koans 의 Koans는 불교에서 유래된 '결론을 내리기 전 깊게 고민한다.' 라는 의미로 CodeStates에서 제공하는 JS에 대한 중요 내용을 고민해보는 시간이다.JavaScript Koans는 총 8개의 챕터 51개의 문제로 구성되어 있으며
객체 지향 프로그래밍은 하나의 모델이 되는 청사진(Class) 을 토대로 객체(Instance) 를 만들어내는 프로그래밍 패턴(개발 방법론)을 의미한다.이를 자동차 생산 공장을 예시로 들었을 때, 청사진은 자동차의 기본적인 설계도 를 의미한다.이는 자동차가 기능하기 위
프로토타입(Prototype) 이란? > JavaScript는 Prototype 기반 언어이다. 즉, JavaScript는 상속을 구현하기 위해 Prototype이라는 방식을 사용하며 여기서 Prototype은 원형 객체를 의미한다. 상속 관점에서, JavaScr
SPA는 이용자의 페이지 이동 시 매번 페이지 전체를 불러오는 것이 아닌, 중복되는 부분을 제외한 변경되는 부분을 동적으로 불러오는 방식을 의미한다.전통적인 웹사이트는 이용자의 페이지 이동 시 매번 페이지를 새로 불러오는 방식이었다.오늘날, 웹사이트가 보다 복잡해지고
아키텍쳐(Architecture)는 영어로 '건축학'이라는 의미를 가지고 있으며, 이는 프로그래밍이 건축학에 큰 영향을 받았기 때문이다. 프로그래밍에서 아키텍쳐는 일반적으로 '구조를 설계한다'라는 의미로 사용된다.즉, 웹 어플리케이션 아키텍쳐는 해당 웹 어플리케이션이
REST(Representational State Transfer) API란? > REST API는 웹에서 사용되는 리소스(Resource)를 HTTP URI로 표현하고 HTTP 프로토콜을 통해 요청-응답을 정의하는 방식(혹은 아키텍쳐)를 의미합니다. REST의
재귀(recursion) 함수는 자기 자신을 호출하는 함수를 의미한다.재귀 함수를 사용하는 시기는 다음과 같다.주어진 문제를 비슷한 구조의 작은 문제로 나눌 수 있는 경우반복문이 과하게 중첩되거나 중첩 횟수(number of loops)를 예측하기 어려운 경우즉, 모든
UI(사용자 인터페이스)는 사람들이 컴퓨터 혹은 전자기기와 상호작용하는 시스템을 의미한다.보통 UI를 연상하면, 화면 상의 그래픽 요소를 상상하곤 한다. 하지만, UI는 전자기기와 사람이 상호작용하기 위한 시스템을 의미하며 이는 GUI 외의 CLI나 키보드, 마우스 등
CDD는 웹사이트, 웹 APP를 개발할 때 Component라는 최소 단위(부품)를 토대로 개발하는 방법론을 의미한다. 이때, 모듈 단위로 개발된 컴포넌트는 사용자 인터페이스(UI) 구축을 위해 상향식(bottom-up) 으로 결합된다.예시로, 개발자 A는 현재 생수
상태 관리 라이브러리인 Redux의 개념 정리
자료구조란 데이터를 잘 활용하기 위해 체계적으로 관리하는 방법을 정의한 것을 의미한다.자료구조에 앞서 데이터(data)는 문자, 숫자를 넘어서 음성, 영상에 이르기까지 형태를 지닌 의미 단위로 컴퓨터에서는 프로그램을 운용할 수 있는 형태의 자료 를 의미한다.이때, 우리
웹 브라우저 혹은 웹 탐색기라고 불리는 브라우저(Browesr)는 웹 서버를 통해 클라이언트와 양방향으로 통신하며 HTML 문서 및 그림, 영상 등의 다양한 컨텐츠를 보여주는 GUI 기반의 소프트웨어 프로그램을 의미한다.이때, 웹(Web)은 World Wide Web의
React는 DOM의 사본인 Virtual-DOM 을 가지고 있다. 이는 Real-DOM이 동적 UI에 최적화된 Interface가 아니라는 약점을 극복하기 위함이다.예를 들어서, 모던웹은 사용자에게 동적인 UI를 제공하고 개발자는 이를 구현하기 위해 DOM을 통해 X
웹 APP의 최적화 (Optimaization)
일반적으로 API를 통해 데이터를 요청하는 경우, 브라우저는 현재 주소와 요청 주소가 동일해야 데이터에 접근할 수 있는 SOP 정책 을 사용하고 있다.이때, CORS 정책에 의해 요청을 받는 APP이 CORS를 허용 하고 요청하는 주소에서 추가 HTTP 헤더를 통해 C
CodeState의 SEB 과정에서 언급하기를, 개발자 채용 과정에서 알고리즘과 코딩테스트는 일종의 시험이라고 표현한다.채용을 원하는 기업에서 지원자에게 문제를 제출하고 지원자는 '코딩'이라는 도구를 통해 시험을 치르는 과정.특히, 이런 코딩테스트에서 주요 쟁점은 기초
다양한 문제를 해결하기 위해 알고리즘을 생각하고 코드로 구현하는 과정에서 시간 복잡도를 고려한다는 것은 어떤 의미일까?시간복잡도를 단순하게 풀이해보자면 다음과 같다.Input의 변화에 따라 연산을 실행했을 때, 연산 횟수에 비해 시간이 얼만큼 걸리는가?여기서 연산 횟수