본문 바로가기
컴퓨터공학/Web

IT 용어정리 ; Web

by the artisan 2023. 12. 29.
반응형

1 운영체제
  - 소프트웨어가 다른 소프트웨어의 기능을 쓰기 위해 중간에 필요한 체계
  - PC에서 각 장치간최적의 동작 제어를 위해서 운영체제가 필요함.
  - 운영체제 중 리눅스를 많이 사용.
  - 운영체제별 개발을 위한 프로그램언어 - 아래를 기반으로 제작된 프로그램은 네이티브 애플리케이션이라 부름
    * iOS : 스위프트, Objective-C
    * 안드로이드 : JAVA, 코틀린

2 API
 1) API 의 정의
  - 클라이언트와 서버간 요청사항을 구분할 수 있도록하는 체계.
    * 클라이언트와 서버가 서로다른 프로그램에서 요청(Request)과 응답(Response)을 주고 받을 수 있게 만든 체계를 뜻함.
    * 응답에는 데이터가 담길 수 있기에 데이터를 넣을 수 있는 기능을 추가할때가 있음.
  - 클라이언트와 서버가 리눅스 환경위에서 개발됨.
  - 클라이언트와 서버는 API를 통해서 요청과 응답을 주고받음
    * API는 클라이언트와 서버간 원활한 정보교환을 위한 소통체계임.
    * API 는 특정한 주소와 매소드로 이루어짐.
    * API 는 서버개발자가 만들게 됨.

   # 메소드 : 개발자의 입장에서 함수의 역할을 하는 기능
    * 요청을 보내면 결과가 나오는 API의 모습이 함수같아서 메소드라는 용어를 사용
    * 함수에서는 x를 변수, 파라메터라고 표현
    * API 에서도 동일하게 클라이언트 컴퓨터의 요청을 요청변수 또는 파라미터라고 표현한다.

 2) API 의 기능
   - CRUD
     * Create
     * Read
     * Update
     * Delete
   - RESTful API : 표준처럼 사용되는 API 규칙
     * Create -> POST
     * Read -> GET
     * Update -> PUT/PATCH
     * Delete : DELETE

 3) SDK(Software Delvelopment Kit)
   - API를 제공해주는 소프트웨어
   - 구글지도는 구글에서 만든소프트웨어 다른회사에서도 구글에서 제공하는 지도 SDK를 설치하면 자신의 소프트웨어에 구글지도 기능을 넣을 수 있음.

 4) API 의 출력
   - 좋은결과 : 200번대 코드(201, 202...)
   - 잘 안 된 결과 : 
     * 클라이언트에서 발생된 문제(클라이언트 요청에 문제가 있는경우 : 400번대 코드 
       ex) 404 : 정의되지 않은 요청을 보낼때
      * 서버에서의 문제가 있는 경우 : 500번대 코드
   - 클라이언트와 서버는 요청과 응답을 주고받고 필요한 데이터들은 JSON 형식으로 주고받는다.
      * 메소드를 보낼때 요청변수
      * 좋은결과(200번), 나쁜결과(400 / 500번 코드)

3 웹
 1) html
   - 프로그래밍 언어가 아님
   - 일정한 형식으로 작성된 문서이나 온라인에서 사용되는 공통의 문서형식
   - 컴퓨터에 일을 시킬수 있는 언어가 아닌 브라우저가 볼수있는 문서를 적는 언어

    <h> : Header(대제목)
    <p> : Paragraph(문단)
    <ol> : Ordered List(순서가 있는 목록)
    <ul> : Unordered List(순서가 없는 목록)
    <a> : 링크
    태그 : 정보를 표현하기 위한 코드, html를 구성하는 코드

 2) CSS(cascading style sheets)
   - html 은 텍스트(정보)전달에 목적이 있으므로 디자인을 입힐 수 있는 별도의 코드가 CSS임.
     * html은 정보만 표현하고, css는 디자인만 표현하는것으로 정리가능
   - 디자인을 수정하려면 css에 대해서만 조정하면됨.
   - html과 css를 합쳐서 퍼블리싱 작업이라고 표현함. 이러한 작업을 하는 사람을 퍼블리셔라고함.(마크업)이라는 표현도 씀

 3) js(javascript)
   - 웹에서 프로그래밍 기능을 요구가 생기면서 웹내에서의 프로그래밍인 js(javascript)가 생김.
     * javascript와 java는 아무런 연관이 없음.
     * javascript의 기능을 쉽고 빠르게 구현하기 위해 라이브러리(React.js등)을 사용하기도 함.

 4) 관계형데이터베이스
  - 엑셀의 sheet 개념을 테이블(table)이라고 표현함
  - 엑셀파일 자체를 스키마(schema) 혹은 데이터베이스(database)라고 표현함.
  - 관계형 데이터베이스를 전문적으로 관리하는 시스템을 관계형 데이터 베이스 관리 시스템(RDBMS)라고 함.
    * 데이터베이스 관리스스템에 데이터를 CRUD하기 위한 언어를 SQL이라고 한다.
    * MS SQL, Oracle DB, MySQL 등이 이에 해당함.
  - User입장에서의 웹
    * 도메인 HTML/CSS/js 원본이 있는 서버에 요청 → HTML을 다운한뒤 HTML에 연결된 CSS, js, 이미지, 폰트, 동영상등등의 파일이 user의 브라우저로 다운로드됨. → 다운로드된 HTML, CSS, js의 사본은 필요할 경우 서버로 API를 요청함. 이후 서버에서 응답(yes / no / 자료전달)

​4 프레임워크
 1) 프레임워크의 정의
   - 애플리케이션을 개발하기 위한 코드들의 집합으로 애플리케이션을 쉽고 빠르게 개발할 수 있도록 각 운영체제에서 제공하는 또는 기타 개인또는 단체가 배포한 소스 집합
     * 애플-AppKit, UIKit(Cocoa 프레임워크)
   - 라이브러리와 코드의 집합
   - 한 프로젝트에는 단일 프레임워크만 사용할 수 있음
   - java-spring, phython-django
     * 주요 웹 프론트 엔드 프레임워크 및 라이브러리 : Angular.js(구글), React.js(페이스북), Vue.js

 2) 깃(Git)
   - 개발자들이 프로그래밍을 할 때 개발 각 단계별로 구분하여 원래대로 돌아갈 수 있도록 만든 장치.(백업장치)
   - 개발단계별로 목차(즐겨찾기)를 설정하는 행위를 커밋(commit)이라함. 커밋에는 항상 메모를 두어서 개발내용, 변경내용을 요약하는데, 이것을 커밋로그(commit log)라고 함.
   - 체크아웃(chech-out) : 목차(즐겨찾기)로 움직이며 변경된 내용을 확인하는 코드의 버전관리 기능.
   - 브랜치(branch) : 새로운 방향으로의 개발을 추가해야할 때 개발자는 기존개발에 덮어써서 작업하지 않고 새롭게 브랜치(가지치기)하여 작업하는것을 뜻 함. 
   - 머지(merge) : 브랜치 된 작업들 간 필요한 것을 다시 살려서 이어붙이는 작업. 기존 개발된 별도의 브랜치에서 필요한 코드를 뒤이어 붙여 기능을 구현하는 것.
   - 깃을통해서 브랜치를 관리하고, 머지를 쉽게 할 수 있음
   - 하나의 프로젝트를 여러명이서 동시에 가능함.
     * Github, Bitbucket 등은 원격저장소로서 개발자들이 자신의 로컬에서 작업한 내용을 원격저장소로 동기화시켜 다른 개발자가 개발내용을 파악하거나 뒤이어 작업할 수 있도록 하는 시스템.

5 기타
  - 디자이너-개발자
    * 다지이너와 개발자간 의견충돌가능, 다만 원활한 협업을 위해 프로그램 이용가능(스케치, 재플린등)
  - 프레임워크에서 제공하는 가이드 문서를 숙지하고 개발해야함
    * 애플 : HIG, 구글 : Material Design

반응형