1. 깃 (bash) 명령어
    1. git init: 새로운 Git 저장소 초기화
    2. git clone [repository_url]: 원격 저장소를 로컬에 복제
    3. git add [file]: 변경된 파일 스테이징
    4. git commit -m "[message]": 스테이징된 파일들을 커밋
    5. git status: 현재 상태 확인
    6. git log: 커밋 로그 확인
    7. git branch [branch_name]: 새로운 브랜치 생성
    8. git checkout [branch_name]: 다른 브랜치로 이동
    9. git merge [branch_name]: 브랜치 병합
    10. git pull: 원격 저장소에서 변경 사항을 가져와 로컬에 병합
    11. git push: 로컬의 변경 사항을 원격 저장소에 업로드

  2. 호이스팅이란
  3. 자바스크립트에서 호이스팅은 변수 및 함수 선언이 스코프의 최상단으로 끌어올려지는 현상을 말합니다.

    • 변수 호이스팅:
      var x;	
      console.log(x); // undefined 값이 핟당 되기 전이라 
      x = 5;			
      console.log(x) // 5출력, 변수 선언을 끌어 올리지만 값까지 함께 끌어올리지는 않는다. 
      				
    • 함수 호이스팅:
      sayHello(); // "Hello, world!"
      function sayHello() {
      	console.log("Hello, world!");
      }
      				

  4. API란
  5. API(Application Programming Interface)는 프로그램 간 상호작용을 돕는 매개체로
    서로의 음성을 전달하는 전화기 같은 역할을한다.
    본인(프로그램)이 전화기(API)에 목소리를 전달(요청)하면 전화기가 알아듣고 상대방에게 전달(요청)하고
    상대방은 그걸 알아듣고 다시 응답(데이터)을 전화기(API)에게 전하면 전화기가(API) 본인(프로그램에게)에게 응답(데이터)을 전해준다.

    1. 본인(프로그램) -> 목소리(요청) ->전화기(API) -> 목소리(요청) -> 상대방
      상대방 -> 응답(데이터) -> 전화기(API) -> 응답(데이터) -> 본인

    2. 특징
      1. 서버와 DB 출입구 역할
      2. API는 애플리케이션과 기기가 원활하게 통신할 수 있게한다.
      3. API는 모든 접속을 표준화 한다.

    3. 유형
      1. private API
      2. -> 내부에서만 사용 외부 사용 x
      3. public API
      4. ->모두가 사용할 수 있음
      5. partner API
      6. -> 데이터 공유에 동의를 기업에 받은 특정인들만 사용할 수 있습니다.

  6. REST란(Representational State Transfer)
  7. 자원(Resource)을 이름으로 구분하여 해당 자원의 상태를 주고받는 아키텍처 스타일을 나타냅니다

    1. Rest란
      1. HTTP URI를 통해 자원(Resource)을 명시
      2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것
      3. Create : 생성(POST), Read: 데이터 조회(GET), Update: 데이터 수정(PUT, PATCH), Delete: 데이터 삭제(DELETE)

    2. REST 구성 요소
      1. 자원(Resource) : HTTP URI
      2. 자원에 대한 행위(Verb) : HTTP Method
      3. 자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load

    3. REST 특징
      1. Server - Client (서버 -클라이언트 구조)
      2. Stateless(무상태)
      3. Cacheable(캐시 처리 가능)
      4. Layered System(계층화)
      5. Uniform Interface(인터페이스 일관성)

  8. REST API란(Representational State Transfer Application Programming Interface)
  9. REST의 원리를 따르는 API를 의미합니다.
    REST는 자원을 표현하고 해당 자원에 대한 행위를 HTTP Method를 통해 수행하는 아키텍처 스타일을 말합니다
    REST API를 올바르게 설계하기 위해서는 몇 가지 규칙을 준수해야 합니다

    1. REST API 설계 예시
      1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
        • Bad Example: http://khj93.com/Running/
        • Good Example: http://khj93.com/run/
      2. 마지막에 슬래시 (/)를 포함하지 않는다.
        • Bad Example: http://khj93.com/test/
        • Good Example: http://khj93.com/test
      3. 언더바 대신 하이폰을 사용한다.
        • Bad Example: http://khj93.com/test_blog
        • Good Example: http://khj93.com/test-blog
      4. 파일 확장자는 URI에 포함하지 않는다.
        • Bad Example: http://khj93.com/photo.jpg
        • Good Example: http://khj93.com/photo
      5. 행위를 포함하지 않는다.
        • Bad Example: http://khj93.com/delete-post/1
        • Good Example: http://khj93.com/post/1
  10. RESTFUL이란
  11. RESTful은 REST 원리를 따르는 시스템을 의미합니다.
    REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTFUL하다 말할 수 있으며
    모든 CRUD 기능을 POST 처리하는 API 혹은 URI 규칙을 올바르게 지키 못한 시스템은
    REST API를 사용하였지만 RESTFUL 하지 못한 시스템이라 할 수 있습니다.

    1. CRUD 기능을 올바르게 지원:

      RESTFUL 시스템은 모든 CRUD(Create, Read, Update, Delete) 기능을 각각의 HTTP 메서드에 맞게 지원해야 합니다. 예를 들어, GET은 조회, POST는 생성, PUT 또는 PATCH는 수정, DELETE는 삭제를 담당합니다.

    2. URI 규칙을 올바르게 따름:

      RESTFUL 시스템은 URI를 명확하고 직관적으로 사용해야 합니다. 동사보다는 명사를 사용하고, 대문자 대신 소문자를 선호하며, 언더바 대신 하이픈을 사용하는 등의 URI 설계 규칙을 지켜야 합니다.

    3. 상태 전이 및 표현의 일관성:

      RESTFUL 시스템은 자원 간의 상태 전이를 명확하게 정의하고, 표현의 일관성을 유지해야 합니다. 자원의 상태는 HTTP 메서드를 통해 변화하며, 데이터 표현은 일관된 형식을 취해야 합니다.

    4. 무상태성 유지:

      RESTFUL 시스템은 무상태성을 유지해야 합니다. 각 요청은 서버에 대한 이전 요청의 상태에 의존하지 않아야 합니다.

    5. HATEOAS (Hypermedia As The Engine Of Application State) 적용:

      RESTFUL 시스템은 HATEOAS 원칙을 따라야 합니다. 이는 서버로부터의 응답에 클라이언트가 필요한 정보와 다음에 취할 수 있는 액션을 담은 링크가 포함되어 있어야 한다는 원칙입니다.

  12. 동기 비동기 차이
    1. 동기는 업무를 웹에서 수행하다 서버에 바통(요청)을 넘긴다. 기다렸다가 서버에서 바통(응답)을 다시 넘겨주면 다시 웹에서 업무를 수행합니다.

    2. 비동기는 바통이 두 개다! 서버에 요청을 줘도 웹에서 업무를 이어서 수행할 수 있습니다.

    3. 끊김(지연) 없이 작업을 하고 싶을 때 비동기 방식을 선택합니다.

    4. 동기는 주로 간단하고 순차적인 작업을 처리할 때 선택합니다. 하나의 작업이 완료될 때까지 다음 작업을 기다리는 특성이 있습니다.

  13. null과 undefined의 차이점
    1. null: 명시적으로 값이 없음을 나타내는 원시 데이터 타입입니다. 변수에 null을 할당하면 해당 변수는 값이 없음을 나타냅니다.

    2. undefined: 객체의 프로퍼티에 접근했는데 값이 없을 때, 변수를 선언하고 값을 할당하지 않았을 때, undefined가 반환됩니다.

  14. 뷰/메소드/컴퓨티트 차이
    1. 뷰(View): 데이터의 템플릿이며 사용자에게 표시되는 부분을 담당합니다. 뷰는 화면의 구조, 레이아웃 등을 정의하고 화면에 어떻게 나타낼지를 결정합니다.

    2. 메소드(Method): 객체 내에서 특정 작업이나 동작을 수행하는 함수를 의미합니다. 메소드는 객체에 속하며 해당 객체의 특정 동작을 담당합니다.

    3. 컴퓨티드(Computed): 특정 데이터의 계산을 담당하는 속성으로, 데이터의 변화에 따라 동적으로 값을 갱신합니다. 컴퓨티드 속성은 종종 특정 조건에 기반하여 다른 데이터를 계산하거나 필터링하는 데 사용됩니다.

  15. Ajax란
    1. Ajax(Asynchronous JavaScript and XML): 비동기적으로 서버와 브라우저가 데이터를 교환하는 기술입니다.

    2. 지연이 없는, 자연스럽게 움직이는 웹을 서비스하고자 한다면 Ajax를 사용해야 합니다.

    3. 웹 페이지가 다시 로딩되지 않아도 원하는 부분을 갱신할 수 있어 사용자 경험을 향상시킵니다.

    4. Ajax를 통해 JSON 또는 XML 형태로 필요한 데이터만 비동기적으로 받아와 갱신할 수 있습니다.

    5. Ajax를 사용하면 전체 페이지를 새로 고치지 않고도 필요한 데이터만 업데이트하여 서버와 브라우저 간의 통신을 효율적으로 처리할 수 있습니다.

profile
한 걸음

0개의 댓글