etc/생활코딩-웹프로그래밍

04 UI와 API, 프로그래밍을 어떻게 접근할 것인가?

seul chan 2016. 12. 31. 05:16

30.UI vs API(https://opentutorials.org/course/1688/9379) -12/31

*UI: User Interface

-아래의 prompt 창을 실행한 인터페이스

-우리가 만든것이기도 하고, 아니기도 하다. 


*API: Aplication Programming Interface

-prompt("비밀번호를 입력해주세요") ; 라는 이 코드, 전달하는 이 메세지

-> 일종의 인터페이스: 웹브라우저에게 무언가를 요청하는 애플리케이션, 


*구체적으로 설명하자면?

-유저 인터페이스 (prompt 창), UI

<- prompt("message"); 명령어, API

<- 웹브라우저 (버튼들, 텍스트 필드, 대화상자 등...을 웹브라우져가 부품들을 조립해서 만드는 것) 

<- 운영체제(각각의 부품들) <- C와같은 언어들 <- 어셈블리어(언어를 만드는 언어) 

<- 기계어(0과1-소프트웨어 가장 깊은 기술), Low Level Technology

<- 전자공학 (CPU, RAM과 같은 하드웨어, 전기가 켜지고 꺼지고 하는 것들을 0-1 기계어로 대응시키는것이 소프트웨어)

<- 전기공학: 전기를 생산, 전송해서 이를 통해 운동에너지로 변경

<- 물리학

: 각각의 층들이 API를 통해서 교류


*API 전성시대: 기존에는 운영체제상에서 사용, 

-웹브라우저의 등장: 운영체제 위에서 동작하는 하나의 애르리케이션이자 스스로 API를 가지고 있음 -> 이 위에서 수많은 웹애플리케이션이 등장

-이 많은 웹애플리케이션이 또한 운영체제처럼 API를 제공: 페이스북 앱, 구글 플러스 앱, 트위터 앱 (게임, 지도 등...)

-PC뿐 아니라 스마트폰의 등장: 새로운 플랫폼에서 제공하는 API, 이를 통해 만들어진 애플리케이션이 증가

-수많은 디바이스: 보일러, 자동차, 현관문, 심지어 전구 등도 우리가 제어할 수 있는 API 제공

-> 1. 이런 변화에 API의 폭발적인 증가

-> 2. 훨씬 사용하기 좋고 인간 친화적인 프로그래밍 언어의 등장


31.프로그래밍 접근방법(https://opentutorials.org/course/1688/9380) 12/31

*적정 용도의 언어를 적정 수준으로: 

-상황에 맞는 언어, 

-투트랙: 장기전략(장기적으로 언어의 전문가) + 단기전략(어떤 문제를 해결, 서툰 제작)

*API를 탐험: 프로그래밍을 통해서 제어할 수 있는 대상,

-어떤 API가 있는지 호기심을 가지고 탐험, 견문을 넓힌다. 

*-> 프로그래밍 언어로 API를 조합해서 애플리케이션을 만들자: 프로젝트

+좋아할 관객: 나 자신, 주변, -> 이사람들의 질을 높혀주는 것, 일을 재밌게, 지속하게 하는 핵심적인 원동력

*한계를 경험: "더 잘 만들고 싶을 때" -> 더 잘 할 수 있는 방법에 대한 연구(대학의 전공과정)


*Computational Thinking(나중에 한번 찾아볼것) 


*공부하는 순서가 중요: 처음부터 학문적 성취를 접하면 이해도 안가고, 공감이 안된다. 

-이런 학문적 성취; 다양한 문제점을 해결하기 위해 생겨난 방법들: 이를 느끼기 위해서는 '절망감'을 느낄 필요가 있다 

-"처음부터 꼭대기로 도약할 수는 없다"