0730 TIL

potato·2021년 7월 30일
0

🪴 Git/GitHub

  • HEAD : Master란 브랜치에서 이 버전의 최신이라는 뜻.

  • 파일 옆에 'U' 키워드 : 새롭게 생성돼 추적하지 않은 파일

  • 커밋 = 버젼, 커밋 내역이 곧 버젼 내역이다.

  • Netlify
    내 깃헙 레퍼지토리 -> 웹사이트 로 만들어 준다.
    'continuous deployment' 누르면 깃헙 모든 변경사항이 자동으로 웹사이트에 반영되어 나온다. -> 배포시 'master' 브랜치 권장한다.
    (해당 변경사항들은 Netlify 홈페이지에 log처럼 뜬다.)





🪴 In to Programming

  • 프로그래밍 언어란?
    사람의 언어 <-- 프로그래밍 언어--> 기계어(2진수-10101)

  • High level : 프로그래밍 언어 (ex. C언어)
    low level : 기계어 (1010... - 2진수)


서버 - client (상대적 관계)

  • client: 제공 받는자
  • 서버 : 제공하는 자
    1. 제공자 역할하는 컴퓨터
    2. 컴퓨터를 제공자로 만드는 프로그램
  • publicing
    시각화를 위한 가벼운 코딩
  • 웹 표준화 (web standards)
    다양한 웹 사이트들에서 지키는 기준
  • 호환성 (compatiblity)

모바일 앱 (Native/Web)

  1. Native App
    해당앱의 모든 기능들을 각 OS마다 따로 따로 제작하는 것
    👍 각 OS의 환경에 최적화 되어 있음!! -> powerful
    👎 각각의 OS에서 만들어줘야 함 -> 개발 2번해야 함
    👎 update시, 각각의 스토어에 올려야 하기 때문에 검토시간의 차이가 발생 -> 바로 업데이트가 어려움, 변화 일괄적으로 적용 어려움,
    👎 update시, 사용자들도 스토어 가서 새로 다운받아야 함.

  2. Web App
    네이티브 앱에서는 틀만 만들어주고 그안의 내용은 웹앱에서 만들어준다...?
    네이티브 부분 - 껍데기(브라우저)
    실질적 컨텐츠 - 웹사이트
    => 앱 안에 웹사이트를 올리는 것.
    (앱 안의 요소가 HTML, CSS, JS와 같은 웹사이트의 요소!)
    => 특정사이트만 열 수 있는 모바일 브라우저
    👍 서버에 올라가 있는 웹만 변경하면 앱 업데이트 필요 없이 언제든 변화 바로 적용 가능 -> 어떤 OS 앱을 개발하든 큰 시간/노력 들지 않는다.
    👎 핸드폰을 100% 활용하는 SW가 아닌 브라우저에서만 도는 웹사이트이기 때문에 강력한 기능 등 성능이 많이 따라줘야 하는 작업들은 힘들다.


적응형 웹/ 반응형 웹

PC와 모바일에서 각각 웹사이트를 다르게 보이도록 제작하는 방법

  • 적응형 웹
    모바일 접속시, 주소창에 'm' 들어가 있는 것.
    모바일, PC 화면 크기에 따라 리디렉션(다른 주소로 바꿔주는 것)해 모바일에선 모바일용 웹이, PC에선 PC용 웹이 나오도록 하는 것.
    - 모바일, PC 환경에서의 변화가 클 경우, 적응형 웹이 유지/보수에 더 적합하다.

  • 반응형 웹
    페이지를 1개만 만들되, 스크린 크기에 따라 웹 모습을 유동적으로 변경되도록 만든 것.
    - 배치 등만 달라지는 가벼운 페이지의 경우, 반응형으로 유연하게 만드는 게 좋다.

쿠키 / 세션 / 캐시

  • 쿠키
    사이트를 만든 개발자가 특정 정보가 사용자의 브라우저에 저장되도록 프로그래밍한 것.
    => "사용자의 브라우저에 저장되는 것" = 사용자의 컴퓨터에 저장되는 것!
    • "브라우저 단위"로 저장
      (ex. whale에 접속한 사이트의 쿠키는 크롬에 저장되지 X)
    • 내가 직접 삭제/수정 가능 : 사용자의 브라우저에 저장되기 때문 (+ 해킹의 위협 O)
      => 중요하지 않은 정보들이 쿠키로 저장된다.
  • 세션
    서버에 저장된다!
    => 중요한/민감한 정보들 세션에 저장
    • 세션을 사용하는 사용자 증가 -> 서버에 과부하
      => 각 정보의 중요도에 따라 쿠키/세션에 저장할지 구분함
      (+) 쿠키/세션이 둘 다 사용되는 경우 : login
      - 사이트는 사용자가 로그인시, "세션키" 쿠키를 사용자의 브라우저에 저장
      - 사용자가 로그인 후, 사이트의 다른 페이지에 접속/사이트의 다른 기능 사용하기 위한 요청 보낼 때, 이 "세션키"를 요청에 실어 보내 '내가 이 세션의 주인이다!'를 알려줘 매번 로그인하는 번거로움 방지
  • 캐시
    이미지, 용량이 큰 파일, 코드 등을 사이트에 접속해 한 번 다운 받고 재접속시 다시 다운받을 필요 없도록 데이터가 저장되는 것을 말한다. (어디에 저장되는진 캐시의 종류에 따라 다르다.)
  • 쿠키 / 세션
    특정 정보를 기억해두는 것
  • 캐시
    시간과 통신데이터를 아끼기 위해 한 번 로드한 데이터를 다시 재사용하는 것

API

공공/특정 그룹에게 공개되서 정보를 읽거나 넣거나 변경할 수 있는 일종의 자판기

  • API 종류
    공공 API, 회사 등의 곳에서 자체적으로 만든 API
  • APP/WEB 과 서버의 작동 방식

    (+ 위 사진의 computer 부분이 web/app 에 해당한다.)
    API에 저장된 형식대로 앱/웹 <-- 정보 주고 받음 --> 서버

0개의 댓글