Phantom-Assignment

마크다운 사용법

  • "#" ~ "######" : 제목으로 쓸 말 앞에 써주면 글씨가 굵고 크게 나온다.(#이 적을수록 크다.)
  • ">" : 인용문을 적을 때 사용된다.

인용문

  • 순서있는 목록 : 숫자와 점을 이용한다.(숫자를 어떤 순서로 적어도 내림차순이 된다.)
    1. Github
    2. 깃허브
    3. END
  • 순서없는 목록 : - 또는 * 또는 +를 이용한다.(어떤걸 사용해도 똑같음)
    • Github
    • 깃허브
    • END
  • 수평선 : ---같이 수평선을 만든다.(* * *, ***, *****, - - -)





Git 명령어

  • 작업의 흐름
  1. 작업 디렉토리(Working directory) : 실제 파일들로 이루어짐.

  2. 인덱스(Index) : 준비 영역의 역할을 함.

  3. HEAD : 최종 확정본(commit)을 나타냄.

  4. 새로운 저장소 만들기

  • git init : 새로운 git 저장소 만들기.
  1. 저장소
  • git clone /로컬/저장소/경로 : 로컬 저장소 복제(내 깃 레포지토리 주소)
  • git clone 사용자명@호스트:/원격/저장소/경로 : 원격 서버 저장소 복제.
  1. 추가와 확정
  • git add <파일 이름> : 변경된 파일을 (인덱스에) 추가함.
  • git commit -m "이번 확정본에 대한 설명" : 변경 내용을 확정.(변경된 파일이 HEAD에 반영됨.)
  1. 변경 내용 발행(push)하기
  • git push origin master : 변경 내용을 원격 서버로 올림.
  • git remote add origin <원격 서버 주소> : 기존에 있던 원격 저장소를 복제하지 않았을 때, 원격 서버의 주소를 git에게 알려줌.
  1. git 상태 확인
  • git status

API

UI(User Interface)

  • UI : 컴퓨터와 사람간의 의사소통을 가능하게 해주는 하드웨어적 또는 소프트웨어적 인터페이스.
    • 예 : 웹 브라우저의 뒤로가기 버튼, 키보드의 tab키, Github 사이트 Pull requests 버튼 등.

API(Application Programming Interface)

  • API : 개발자가 프로그램을 만들 때 운영 체제, 프로그래밍 언어의 기능을 제어하기 위한 인터페이스.
    • 예 : 자바스크립트 alert 명령어
      • alert 명령어는 브라우저 화면에 경고창을 띄운다.
      • 경고창은 화면의 정가운데에 위치하고 경고창 안에는 느낌표 표시가 들어있다.
      • alert이라는 명령어에 경고창을 화면의 정가운데에 위치시키고 안에 느낌표를 넣으라는 명령어는 명시되어 있지 않다.
      • 하지만 alert을 통해 자동적으로 경고창이 뜬다.
      • alert은 웹 브라우저의 기능을 제어하여 미리 만들어져있던 API이다.
    • 대부분의 절차적 언어에서 API는 특정한 작업을 수행할 함수들의 집합을 규정한다.
      • C언어의 헤더파일 안에는 API인 것도 있고 아닌 것도 있다.
    • 존재이유 : 개발자들이 개발을 할 때 미리 만들어진 API들을 이용하여 프로그램을 더욱 편하게 만들 수 있게 하기 위해서, 운영 체제나 브라우저 등이 제공하는 기능들을 이용하기 위해서. 또한 사용자들은 API를 직접 사용하지 않지만 같은 API를 이용하여 만든 인터페이스를 이용한다면 사용자가 프로그램에 적응하기 쉬워지기 때문이다.

자바스크립트

  • 만들어진 이유 : 정적인 HTML을 동적으로 표현하기 위해.
  • 특징
    • 개발자가 별도의 작업을 수행하지 않는 인터프리터 언어이다.
    • 인터프리터와 컴파일러의 장점을 결합하여 비교적 처리 속도가 느린 인터프리터의 단점을 해결했다.
    • 자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다.
  • 자바스크립트 개발 환경 : 웹 브라우저, Node.js
    • 웹 브라우저
      • 주목적 : HTML, CSS, 자바스크립트를 실해아여 웹 페이지를 화면에 렌더링하는 것
      • HTML 요소를 선택하거나 조작하는 기능들의 집합인 DOM API를 기본적으로 제공함.
      • 파일을 생성하고 수정할 수 있는 File 시스템을 지원하지 않는다.
      • 클라이언트 사이드 Web API를 지원한다.
    • Node.js
      • Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
      • 주목적 : 서버 개발 환경을 제공하는 것
      • 서버 개발 환경을 제공하는 것이 주목적인 Node.js는 클라이언트 사이드 Web API인 DOM API를 제공하지 않는다.
      • 파일을 생성하고 수정할 수 있는 File 시스템을 기본 제공한다.
      • ECMAScript와 Node.js 고유의 API를 지원한다.