개요 Application - Program - Service

  • All Same. 복잡하거나 반복되는 일을 컴퓨터가 할 수 있도록 만든 것

 

1) 컴퓨터

  • 하드웨어: 실제 장비
    • 하드웨어는 기계어만 인식
  • 소프트웨어: 실제 장비를 코드로 사용할 수 있도록 추상화한 것
  • 운영체제: 하드웨어와 소프트웨어 사이의 인터페이스(통역)
    •  대부분 어셈블러(어셈블리어를 기계어로 번역)와 C언어로 만든다.
    • 그러나 C언어는 플랫폼에서 독립적이지 못하다. 맥용 윈도우용 두개씩 만들어야 함. 
    • 플랫폼에서 독립적인 고급언어가 나와서 Python, Java. 
    • Python은 C로 다시 바꿔줘야 해서 느리다. (우리가 쓰는 건 C-Python) 
컴퓨터와 운영체제를 같이 쓰는게 아니라, 내가 운영체제를 선택하고 싶어져서 Unix 대신 만든게 Linux.
리눅스는 초반에 서버라서 텍스트 기반이었다. 그런데 컴퓨터를 일반인한테 팔려면 쓰기가 쉬워야 하니까,
Linux위에 그림을 입힌게 Mac OS 10. 이때까지는 운영체제를 번들로 줬지만, 따로 운영체제를 만들고 싶어서 빌게이츠가 코드를 받아가서 만든게 MS C언어. 이로 인해 윈도우즈 탄생. 
클라우드 플랫폼은 GO언어 사용!

 

 

2) Web Browser에서 동작하는 언어

 

HTML은 구조

  • 앞에서부터 순서대로 읽어서 트리를 만들고 공간을 확보한 후 콘텐츠를 나중에 주입하는 구조
  • 외부 자원을 가져올 때는 캐싱을 이용
    • 캐싱: 빨리 쓰기 위하여 경로를 기반으로 저장해두는 것
    • 인터넷이 끊겨도 불러올 수 있도록 경로를 저장해야 한다.

CSS는 디자인

  • HTML 구조를 전부 읽고 난 후 출력할 때 적용

JavaScript, TypeScript는 동작

  • 태그와 함께 위에서부터 순서대로 읽으면서 동작(저장)

Type Script

def 이름 (매개변수이름: int) -> None
	내용

 

 

3) Framework, Library, Solution

  • SDK(Software Evelopment Kit): 프로그램을 만들 수 있도록 도와주는 도구
    • API(Application Programming Interface), 데이터의 의미를 포함한 같은 말
  • Library: 프로그램을 만드는 데 도와주는 별도의 코드 모임 
    • 파이썬에서는 주로 패키지라고 부름
  • Framework: 라이브러리와 같은데 프로그램 제작도 함 
  • Solution: 특정 목적이 있음

 

4) JavaScript Framework

  • node.js: 자바스크립트가 브라우저 이외의 환경에서 동작하도록 해주는 플랫폼
  • jquery  크로스 브라우징(서로 다른브라우저에서 동일한 콘텐츠를 제공하는 기술)을 가능하게 하지만 최근엔 사용 금기
  • bootstrap  : 반응형 웹(하나의 코드로 브라우저의 크기에 상관없이 동일한 컨텐츠를 사용할 수 있도록 하는 기술)을 쉽게 만들어주는 라이브러리
  • D3.js : 그래프를 만들어주는 라이브러리
  • express.js, nest.js : 서버를 만들기 위한 프레임워크
    • 클라이언트에서 서버를 만들 수 있어서 보안이 되는데 핵이 가능
  • SAP(Single Page Application): 하나의 페이지를 가지고 모든 콘텐츠 제공 
    • 구글 angular.js 진행 종료
    • 중국에서 많이 쓰는 vue.js
    • 국내에서 많이 쓰는 react.js
    • 최근에 핫해진 next.js
  • ajax, fetch API: 외부에서 비동기적으로 데이터를 가져오는 기술
    • axios 라이브러리 
  • progressive web: 웹과 앱의 경계가 무너지면서 웹이나 앱의 디자인을 유사하게 만드는 기술
    • 구글의 머터리얼  디자인

'Python' 카테고리의 다른 글

Day9. 웹 서버 만들기  (1) 2024.01.24
Day8. 가상환경 만들기  (1) 2024.01.19
Day6. 객체지향 프로그래밍  (0) 2024.01.16
Day5. 함수  (1) 2024.01.08
Day4. 딕셔너리와 반복문  (1) 2024.01.05