이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.디자인 패턴은 프로그램을 설계할 때 발생했던 문제점들을 객체 간 상호 관계 등을 이용해 해결할 수 있는 하나의 “규약” 형태로 만들어 놓은 것.즉, 프로그램 설계시 발생한 문제를
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.네트워크는 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합체노드: 서버, 라우터, 스위치 등 네트워크 장치링크: 유, 무선의 연결처리량(throughput): 링크를
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.객체를 사용하는 코드에서 객체 생성부분을 떼어내 추상화한 패턴.상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정 → 하위 클래스에서 객체 생성에 대한 구체적인 내용
인터넷 프로토콜 스위트(Internet Protocol Suite)는 인터넷에서 컴퓨터들이 서로의 정보를 주고 받는데 쓰이는 프로토콜의 집합.이를 TCP/IP 4계층, OSI 7계층으로 설명하기도 함.특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계 →
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.정책패턴(Policy Pattern)이라고 부르기도 하며, \*\*객체의 행위를 바꾸고 싶은 경우\*\* ‘직접’ 수정하지 않고 \*\*전략이라고 부르는 ‘캡슐화한 알고리즘’을 컨
계층별로 범위를 나눌 수 있음. 상위 계층의 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가하다. → ex. L7 스위치는 애플리케이션 계층을 처리하는 기기로 그 밑의 모든 계층의 프로토콜을 처리할 수 있다. 하지만 AP는 물리계층 밖에 처리하지 못함. 스위치
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.옵저버 패턴은 주체가 어떤 객체의 상태 변화를 관찰 → 변화가 발생할 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 패턴주체: 객체의 상태 변화를 보고
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.통신은 흔히 IP 주소를 기반으로 통신한다고 알고 있지만 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC주소를 기반으로 통신한다.ARP를 통해 논리적 가상 주소인 IP를 물
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.프록시 패턴은 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 패턴객체의 속성, 변환 등을 보완보안, 데이터 검증, 캐싱, 로깅에
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.HTTP → 어플리케이션 계층기본적 한 연결당 하나의 요청 처리 → RTT 증가하는 단점서버로부터 파일을 가져올 때마다 TCP 3-way handshake를 계속 열어야한다.💡
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.이터레이터를 사용하여 컬렉션의 요소들의 접근하는 패턴순회할 수 있는 자료형의 구조와는 상관 없이 이터레이터라는 하나의 인터페이스로 순회 가능하다.ex. JS에서 set과 map을
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.HTTPS는 애플리케이션 계층과 전송계층 사이에 신뢰계층인 SSL/TLS 계층을 넣은 신뢰할 수 있는 HTTP 요청을 말한다.HTTP/2는 HTTPS 위에서 동작 함.SSL/TLS
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴. JS는 접근 제어자가 존재하지 않고 전역 범위에서 스크립트 실행된다. 그래서 노출 모듈 패턴을
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.CPU 스케줄링과 프로세스 관리: CPU 소유권의 프로세스 할당, 프로세스 생성과 삭제, 자원 할당 및 반환 관리메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마나 할당할지 관리
Model, View, Controller로 구성된 디자인 패턴어플리케이션의 구성요소를 세가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에 집중해 개발 가능하다.장점: 재사용성, 확장성이 용이하다.단점: 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해진다
레지스터 CPU 안에 있는 휘발성 메모리, 속도가 제일 빠르고 용량이 제일 작다캐시 L1, L2, L3 캐시를 지칭, 휘발성 메모리주기억장치: RAM, 휘발성 메모리보조기억장치: HDD, SSD(Solid State Drive) or SDD(Solid Disk Driv
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.MVC 패턴에서 Controller 부분이 Presenter로 대체된 패턴MVC 패턴과 달리 Presenter와 View가 1:1 관계로 더 강한 결합을 지니는 디자인 패턴이다.(
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.대표적 OS의 역할메모리 관리 기법 중 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화 해 사용자들에게 더 큰 메모리로 보이게 만드는 것.프로세스 전체가 올라가지 않고 실
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.프로세스: 컴퓨터에서 실행되고 있는 프로그램. CPU 스케줄링의 대상이 되는 작업(task)랑 같은 의미로 쓰인다.스레드: 프로세스 내 작업의 흐름프로그램이 주기억 장치에 올라가면
이 글은 면접을 위한 CS 전공지식노트의 책을 읽고 학습 후 스터디 공유를 위한 글입니다.MVC 패턴의 Controller가 뷰모델(View Model)로 바뀐 패턴 뷰를 더 추상화 한 계층으로 MVC 패턴과 다른 점은 커맨드와 데이터 바인딩을 가진다.뷰와 뷰모델 사
코어 자바스크립트를 읽고 스터디 세션에서 공유를 위해 정리한 글입니다.↑ 데이터 타입의 종류기본형과 참조형의 구분 기준일반적으로는 할당, 연산 시 기본형은 → 복사, 참조형은 참조엄밀히 말하자면 기본형과 참조형 모두 복사한다.기본형: 값이 담긴 메모리 공간의 주소를 복
코어 자바스크립트를 읽고 스터디 세션에서 공유를 위해 정리한 글입니다.📌 실행 컨텍스트(execution context)는 실행할 코드에 제공할 정보들을 모아놓은 객체다.JS는 어떤 실행 컨텍스트가 활성화 되는 시점에 변수를 끌어올리고(hoisting), 외부 환경
이번 챕터에서는 this에 대한 내용을 담고있습니다.다른 대부분의 객체지향 언어에서 this는 클래스로 생성한 인스턴스 객체를 의미하고 클래스에서만 사용 가능하다. 그러나 JS는 어디서든 사용할 수 있다.함수와 객체(메서드)의 구분이 느슨한 JS에서 this는 실질적으
코어 자바스크립트를 읽고 스터디 세션에서 공유를 위해 정리한 글입니다. 다른 코드(함수 또는 메서드)에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수이다.→ 제어권(함수의 실행 등…)과 관련이 깊다.콜백함수의 경우 제어권을 가진 다른 코드에 호출 시점에 대한 제어
함수형 프로그래밍 언어에서 등장하는 보편적 특징.그래서 ECMAScript의 명세에서도 클로저의 정의를 다루지 않음 → 클로저에 대한 정확한 정의가 없어 여러 방법으로 설명된다.자신을 내포하는 함수의 컨텍스트에 접근할 수 있는 함수 더글라스 크록포드, 《자바스크립트
코어 자바스크립트_프로타입 > 자바스크립트는 프로토타입 기반 언어이다. > 클래스 기반 언어: 상속을 사용 프로토타입 기반 언어: 어떤 객체(prototype)을 원형으로 삼고 이를 복제(참조) → 상속과 비슷한 효과 1. 프로토타입의 개념 이해 6-1-1. co
자바스크립트는 프로토타입 기반 언어라서 '상속' 개념이 존재하지 않는다. 그래서 클래스를 흉내내는 기법들이 탄생했고 ES6에는 클래스 문법이 추가되었다. 클래스 문법에서도 프로토타입을 활용하기에 ES5 체제 하에 클래스를 구현하는 방식을 학습하는 것이 의미가 있다.
명시적인 단방향 상태 변경: 리액트는 단방향 바인딩만 지원한다. 양방향 바인딩(Angular)은 뷰와 컴포넌트가 서로 영향을 줄 수 있다. 단방향 바인딩이 줄 수 없는 편리함을 주지만, 프로젝트 규모가 커진다면 상태의 변화 원인을 파악하기 어려워진다. \- 단방향 바
이 글은 Node.js의 공식문서를 참고하여 작성한 글입니다.(출처:https://nodejs.org/ko/docs/guides/blocking-vs-non-blocking)블로킹이란 Node.js 프로세스에서 추가적인 JS의 실행을 위해 JS가 아닌 작업이
함수형 컴포넌트는 리액트 0.14 버전에서 소개되어 16.8 버전에서 훅이 소개되기 전까지는 단순한 무상태 함수형 컴포넌트로만 쓸 수 있어 지금처럼 인기를 끌지는 못했다. 함수형 컴포넌트 훅이 등장한 이후 함수형 컴포넌트에서 상태나 생명주기 메서드를 흉내낼 수 있게 되
최근 회사에서 새로 합류하게 된 스쿼드에서 사용하고 있는 스택 중 TanStack Query를 학습하기 위한 기록입니다. react query는 react app의 서버 상태를 관리하기 위한 라이브러리이다. client state vs. server state c