본문 바로가기
03_etc./책과 생각

노마드 코더니꼴라스, 배지현 :: IT 5분 잡학사전 (2)

by zestlumen 2023. 10. 27.
  • 라이브러리와 프레임워크
    • 빠른 개발을 도와줄 수 있는 미리 작성한 코드
    • 라이브러리: 도서관에서 책을 빌리듯 직접 제어 가능, 다른 라이브러리 대체 가능, ex) 제이쿼리(js보다 쉽게 요소 추가), 부트스트랩(메뉴,버튼,레이아웃 등), 시맨틱 UI, 테일윈드 CSS 등
    • 프레임워크: 프레임워크의 규칙을 따라야 하므로 직접적인 제어 불가, 규칙 변경 불가, 프레임워크 변경 시 폴더 이름, 파일 구성, 코드까지 모두 교체 필요, 완성도 높은 결과물 보장 ex) 장고(운영자 페이지는 admin.py파일, URL변경 시 url.py 파일에 코드 작성), 스프링 등
    • 리액트는 라이브러리지만 프레임워크 같이 컴포넌트에 사용 규칙이 있다.

 

  • API란? Application Programming Interface 어플리케이션 프로그래밍 인터페이스
    • 컴퓨터 이용시 키보드를 이용하는 것처럼 프로그램끼리 소통할 때 쓰는 일종의 규칙을 코드화한 것. ex) 유튜브 API, 날씨 API, 부동산 정보 API 등
    • 웹 API는 브라우저와 개발자를 위해 만든 것. ex) 크롬 브라우저에서 동작하는 프로그램 제작 시 마이크 접근 권한 기능 연결 , 카메라 접근 권한 기능 연결 등

 

  • 도메인 시스템
    • 숫자로 된 IP 주소의 어려운 접근성으로 인해 만들어짐
    • 레지스트리(registry): 주로 기업에서 운영, 도메인 시스템을 만들고 관리, IP 주소로 신속 연결, 보안 요소 구축 필요, 아이캔(ICANN)이라는 비영리 국제 인터넷 주소 관리 기구에서 신청해서 운영 가능(많은 신청 비용과 운영 가능한 인프라, 능력, 기술에 대한 제출 증명 필요),  ex) 닷컴(.com)을 관리하는 '베리사인' 회사, .co. .co.kr, .tv 등
    • 도매인 구매:  레지스트리 등록 과정의 어려움으로 고대디, 가비아, 후이즈, 카페24와 같은 리셀러에서 구매(계약 관리, 결제 처리, 도메인 비용 지급 등)

 

  • Ajax: 웹 사이트 업데이트 시 새로고침 없이도 업데이트 내용을 볼 수 있게 하는 기술

 

  • 브라우저 엔진 = 렌더링 엔진
    • 엔진의 성능이 웹 브라우저 성능을 결정, 최신 표준안과 최신 기술을 지원하면 최신 웹 브라우저가 됨.
    • HTML 표준안 등을 토대로 개발한 웹 브라우저의 핵심 프로그램  ex) 파이어폭의 gecko, 사파리의 webkit, 크롬의 blink,
    • JS에는 ECMAScript라는 표준안이 있고 웹 브라우저 실행 프로그램 엔진인 크롬 브라우저의 v8이 있다. (노드제이에스나 디노에도 사용됨)

 

  • 쿠키
    • 웹 사이트 방문시 브라우저를 통해 컴퓨터에 보관하는 기록물
    • 도메인 1개에만 한정, 도메인과 상관없는 쿠키도 있음(타사이트 블로그에서 페이스북의 좋아요가 있는 경우)
    • 컴퓨터에 자동으로 저장되고 대부분 서버에 자동으로 보내진다.
  • HTTP(HyperText Transfer Protocol)
    • 인터넷에서 사용저와 서버가 정보를 주고 받기 위한 프로토콜
    • stateless라는 특징이 있는데 서버가 사용자를 기억해야 할 때 쿠키가 필요함

 

  • 브라우저 익스텐션
    • 웹 브라우저에 추가로 장착할 수 있는 도구
    • 구글 브라우저 익스텐션 - 구글 크롬 브라우저에서 작동, 크롬 웹 스토어에서 검색과 설치 가능. ex) ColorZilla, CSSViewer, JSONViewer, React Developer Tools, WhatFont, Grid Ruler, BuiltWith Technology Profiler(웹사이트 만든 기술인 프레임워크,프로그래밍 언어, 백엔드 알려줌)

 

  • 프론트엔드: UI(사용자와의 상호작용), 화면과 같이 사용자와 가장 가까운 프로그램의 앞쪽을 책임진다. ex)반응형 디자인, 버튼, 입력창 등
  • 백엔드: 데이터베이스나 라우터( 네트워크를 다른 네트워크에 연결하는 네트워킹 디바이스)와 같은 프로그램의 뒤쪽을 책임진다. ex) 동영상 업로드, 댓글 저장 기능, 계정 생성 등
  • 서버:  접속 요청에 저장된 데이터를 보내주는 등의 응답을 하는,  항상 켜져서 인터넷에 연결되어 있는 컴퓨터.
  • 풀스택: 프론트에드,백엔드,데브옵스(소프트웨어 개발과 운영,소통 협업,통합을 강조하는 개발 환경과 문화) 포함

 

 

  • 서버리스
    • 수동으로 관리하지 않아도 되는 직접 관리하지 않는 서버를 의미 
    • 아마존의 EC2(아마존 엘라스틱 컴퓨터 클라우드)와 같은 서버를 대신 제공하고 관리해주는 서비스 등장 -> 그러나 하드웨어만 제공, 소프트 웨어 관리는 별도로 해야함 -> 서버리스의 등장
    • 서버를 위한 소프트웨어를 작은 함수 단위로 쪼개 서비스에 등록 후 필요할 때만 요청한 작업을 수행하고 비용을 냄
    • 단점: 콜드스타트(함수 요청에 대한 응답 시간이 걸림), 서버리스 서비스에 대한 지나친 의존도
    • 사이드 프로젝트, 프로토타입 출시와 같이 서버 관리와 설정에 시간 절약이 필요하다면 추천
    • 서버리스 프레임워크 사이트 - serverless.com, AWS람다, 구글 Cloud Functions, 아펙스, 테라폼 등
       

 

*** 위 글은 아래의 도서를 참고하여 요약한 글 입니다.

 

IT 5분 잡학사전 - 10점
니꼴라스.배지현 지음/이지스퍼블리싱