[에이블런] TIL(24.05.09): 컴퓨터 구조

2024. 5. 18. 02:40·Developer/웹개발 교육 프로그램
반응형

오늘 배운 내용

컴퓨터 구조

block: 데이터를 그룹화 해놓은 것

페이지: 여러 개의 데이터를 한번에 묶어서 옮김. 이 단위를 페이지라 함. 페이지의 사이즈는 유동적.

버퍼: 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역. 데이터를 이동시키는 바가지 개념. 버퍼의 사이즈는 유동적. 개발자가 정할 수 있음. 보통 8k 단위.

⇒ 메모리를 적게 사용하기 때문에 메모리 입장에서는 버퍼를 사용하는 것이 유리하다.

여러 개의 버퍼를 지칭하는 용어로도 페이지를 사용한다.

데이터의 순서가 무조건 선입선출은 아니지만 어떻게든 데이터가 이동하기는 함 ⇒ 스트리밍

스트리밍 방식을 사용하지 않고 한번에 데이터를 받는 것 ⇒ 다운로드

 

TCP/IP

  • 이동하는 데이터의 순서 보장(넘버링을 통해). 실제 순서대로 데이터가 도착하지 않기 때문에 라벨링이 필요
  • 데이터가 도착했는지 아닌지 확인까지 한다.

UDP

  • 요청한 데이터를 전송해 주고, 대신 상대방이 데이터를 받았는지 아닌지 확인하지는 않는다.
  • 가볍기는 하지만 신뢰성은 보장되지 않는다.

웹 서버 파이프?? ⇒ 알아만 두기

스트리밍할 때…

인덱스를 이용한 데이터 서치: 빠르다 ⇒ call by reference

프로그램 언어의 구성 요소

  • sync: -
  • async: -

(OS가 io장치의 동작을 제어한다.)

  • block : 동작을 하지 못하게 막는다, a의 업무를 모두 마칠 때까지 b의 업무는 일시 정지
  • non-block i/o: 병렬적으로 처리를 할 수 있고 서로 의존성이 없기 때문에 기다릴 필요가 없음 (다른 스레드 또는 프로세스에게 일을 맡기고 나는 다른 일을 처리한다. 스레드 또는 프로세스가 일을 마치면 나에게 일의 결과물을 보내준다(callback)) ⇒ 작업물을 저장하기 위한 접시를 제공한다. (task queue, queue이기 때문에 먼저 끝난 작업은 먼저 삭제할 수 있다.)
  • 모든 이벤트의 이벤트가 발생하면 이벤트 큐에 쌓인다.(이벤트 루프, 이벤트 리스너), 이벤트 루프가 이벤트를 확인하고 처리해준다.
  • transaction: 업무를 수행하는 시점의 수행내역 (블로킹 일어남)
  • commit : 파일에 결과를 작성하는 것
  • rollback: 과정 취소

스택: LIFO

큐: FIFO

콜스택: 어떤 순서대로 코드를 실행할 지 컴파일한다. 먼저 실행될 연산을 스택의 가장 위쪽에 쌓음.

함수와 메소드

메소드: 함수에 있는 function

클래스와 객체

  • 원시 타입 값을 제외한 모든 값이 객체임
  • 객체는 all call by reference
  • 클래스는 object를 상속받는다.

실행 컨텍스트 = 실행환경

실행 컨텍스트: 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념

렉시컬 스코프: 렉시컬을 나누는 단위

jvm: 자바 컨텍스트 실행시킬 수 있는 런타임

런타임

WAS(Web Application Servier)

실제 코드 돌림. 게시판 데이터 읽어오기, 실제 연산을 하는 프로그램

IP: 스위치의 ip를 사용함. (ex.강의장의 wifi → ip는 모두 동일함)

클라우드

컨테이너 (도커) ⇒ 서버를 여러 개로 나누어서 각자 사용한다.

하드웨어가 허용하는 한에서 컨테이너를 무한히 만들어 낼 수 있다. ⇒ 컨테이너가 많아지면 n명에게 서버를 제공할 수 있다. ⇒ 클라우드

  • onDemand: 개인이 서버를 구매해서 사용
  • onPremise: 은행권, 대기업 → 자체적인 서버실. 클라우드 구성

라이브러리와 프레임워크

라이브러리: 단순 함수들의 집합

프레임워크: 라우팅 가능

  • 프론트: 컴포넌트 기능, 라우팅 기능 없음(react-router-dom 라이브러리로 라우팅 기능 대체)
  • 백엔드: db, log, filter(악성코드 등), … 등 여러개의 기능을 갖추고 있어야 프레임워크

Messaging Queue

바로 처리하지 못하는 작업은 큐에 쌓아놓는다.

ex: 콘서트 티켓팅

ex: 화면에서는 +1을 증가시키고, 나머지는 큐에 담아놓고 나중에 한번에 서버에 요청을 보내 이벤트 처리

*쿠버네티스: 도커들을 조율하는 tool

*kafka: 메세징큐 솔루션

반응형
저작자표시 비영리 변경금지 (새창열림)

'Developer > 웹개발 교육 프로그램' 카테고리의 다른 글

[에이블런] TIL(24.05.22): 자바스크립트 2  (0) 2024.05.22
[에이블런] TIL(24.05.20): 자바스크립트 1  (0) 2024.05.20
[에이블런] TIL(24.05.16): Git 2  (0) 2024.05.18
[에이블런] TIL(24.05.14): Git  (0) 2024.05.18
[에이블런] TIL(24.05.08): 웹개발 기초 (컴퓨터구조, 컴파일러, 자바스크립트 기초)  (0) 2024.05.08
[KT 에이블스쿨] 2일차: GIT 특강 내용 정리  (0) 2023.08.09
'Developer/웹개발 교육 프로그램' 카테고리의 다른 글
  • [에이블런] TIL(24.05.16): Git 2
  • [에이블런] TIL(24.05.14): Git
  • [에이블런] TIL(24.05.08): 웹개발 기초 (컴퓨터구조, 컴파일러, 자바스크립트 기초)
  • [KT 에이블스쿨] 2일차: GIT 특강 내용 정리
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    자바
    프로젝트
    자바스크립트
    프로그래머스
    타입스크립트
    포트폴리오
    알고리즘
    뉴렉처
    강의내용정리
    구현
    spring boot
    백준
    d3
    Til
    블로그 제작
    컴퓨터네트워크
    플러터
    mysql
    SWEA
    공식문서
    AWS
    ZeroCho
    Jiraynor Programming
    리액트
    Next.js
    React
    bfs
    웹사이트
    클론 프로젝트
    파이썬
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[에이블런] TIL(24.05.09): 컴퓨터 구조
상단으로

티스토리툴바