1. 올해 11월 드디어 프론트엔드 개발자라는 직업으로 회사에 취직했다. 프리랜서로 일을 오래 하다보니까 회사라는 조직의 구성원으로 뭔가 잘 해낼 수 있을까에 대한 걱정이 있었지만, 입사한 지 이제 3주차에 이르면서 느…

  2. * 네트워크 프로토콜과 통신을 7개의 계층으로 표현하여 기능별로 나누고 계층으로 구분한 것 * 물리적인 단계에서 논리적인 단계를 흐름별로 파악할 수 있게 해줌 * 때문에 중간에 문제가 생기면 7단계 중에서 어느 곳에서 문제가 생겼는지 빠르게 파악하고 해당 부분만 수리하거나 교체하여 복구할 수 있음

  3. * 운영체제가 저장매체에 파일을 읽고 쓰기 위한 자료구조 / 알고리즘 # 파일 시스템이 필요한 이유 * 데이터를 저장매체에서 관리하는데에 0과 1로 이루어진 비트를 단위로 관리하기에 오버헤드가 너무 큼 * 때문에 데이터를 블록단위로 묶어서 관리하기로 함 (보통 4KB) * 블록마다 고유 번호를 부여해서 관리 * 그러나 사용자가 블록의 고유번호를 관리하는 것은 불가능 * 사용자가 접근하기 쉬운 추상적인 객체로 묶어서 관리 → 파일 * 각 파일 안에서는 데이터가 블록단위로 관리됨

  4. * 리눅스에서 하나의 프로세스에 할당하는 메모리는 4GB정도 * 하지만 통상 시스템 물리 메모리는 8GB~32GB 정도 * 프로세스당 할당된 메모리는 4GB이지만 프로세스가 실제로 동작할 때 참조하는 메모리는 제한적 * CPU가 실제로 프로세스에서 참조하는 공간만 물리 메모리에 할당할 수 있음

  5. * Light Weight Process 라고 부르기도 함 → 프로세스 처럼 동작하지만 더 가볍고 작음 * 프로세스는 기본적으로 직접적으로 데이터 접근이 불가능 → IPC 기법을 활용해 간접적으로 데이터 통신을 사용 * 스레드는 하나의 프로세스 안에서 생성되며 다수의 스레드 생성 가능

  6. # 스케쥴러 # 배치 처리 시스템 * 시스템이 여러개의 프로그램을 순차적으로 처리하는 방식 * Queue 자료구조와 비슷한 방식으로 동작 * 하나의 프로그램이 실행되는 동안 다른 작업을 하지 못함 → 한 번에 하나의 프로그램 처리만 가능 # 멀티 태스킹

  7. # 운영체제 * 사용자는 응용프로그램을 이용해 원하는 작업을 실행 * 이 때 응용프로그램이 작업을 수행하기 위해서 시스템 자원을 요청. * 운영체제는 응용프로그램이 요청한 시스템 자원을 효율적으로 분배하여 제공/회수한다. # Interface

  8. 자바스크립트를 공부하면서 개인적으로 자바스크립트에서 가장 중요한 개념을 꼽자면 실행 컨텍스트를 꼽는다. 자바스크립트의 핵심 개념들을 나열 해 보라고 한다면 보통 프로토타입, this 바인딩, 호이스팅, 렉시컬 스코프, 클로저, 이벤트 루프등을 떠올릴 수 있고 그 중에서도 앞의 개념들을 관통하는 가장 핵심…

  9. 자바스크립트에서는 비교연산이 두가지 있다. ===== 로 전자는 동등비교연사자, 후자는 일치비교연산자라고 부르기도 한다. (일단 나는 그렇게 부른다.) 대부분의 자바스크립트 개발자들은 두 비교연산자의 차이점은 비교연산시에 동적으로 타이핑을 하느냐로 알고 있을 것이고…

  10. 자바스크립트 공부중 어려웠던 내용을 복습해 보려고 한다. 그 중 하나가 Iterable / Iterator / Generator 였다. 패스트캠퍼스 Nodejs 올인원 패키지에서는 제대로 설명해 주지 않아서 조금 …

© 2021