개발자 연쨘

TIL 3. EP 11~EP15 본문

스터디/IT 5분 잡학사전 도서 챌린지

TIL 3. EP 11~EP15

연쨘 2023. 10. 11. 02:16

오늘 TIL 3줄 요약

  • 라이브러리와 프레임워크는 우리를 더 편리하게해주는 도구이다.
  • 도메인은 돈주고 사야하고 이것을 관리하는건 레지스트리다.
  • 플래시의 종료는 스티브잡스의 결정에 영향을 받았다.

TIL (Today I Learned) 날짜

2023. 10. 11

 

오늘 읽은 범위

에피소드11 라이브러리와 프레임워크, 비슷한 거 아냐?

에피소드12 제이쿼리느느 반드시 배워야 하는 기술일까?

에피소드13 그놈의 API, 대체 뭐길래?

에피소드14 도메인은 왜 돈을 주고 사야 할까?

에피소드15 플래시의 서비스 종료와 스티브 잡스

 

책에서 기억하고 싶은 내용을 써보세요.

 

라이브러리와 프레임워크

공통점  개발 속도를 더 빠르게 만들어 준다

누군가 미리 작성해 놓은 코드이고, 우리의 개발 속도를 더 빠르게 만들어주는 도구임

코드로서 우리를 도와주는 도구이지만, 프로그램은 아님.

 

차이점  내가 제어하는가, 제어당하는가?

이 둘의 차이점은 '누가 누구를 제어하는가?'를 떠올리면돼

어떤 도구에 대해서 모든 결정을 다 내린다 = 라이브러리

누군가 정한 규칙에 따라 도구를 사용하고있다 = 프레임워크

 

제이쿼리, 부트스트랩으로 이해하는 라이브러리

이것들은 내가 필요할 때 불러서 쓸 수 있음.

위에서 말했던대로 내가 제어를 할 수 있다는걸 의미.

내가 필요하다면 불러와서 쓸 수 있는것이라는거지.

공부하다가 지식이 필요해져서 도서관에서 책 빌리는 거랑 비슷함.

라이브러리 쓰다가 다른 라이브러리로 바꾸고싶으면 사용부분만 교체하면돼.

 

장고, 스프링으로 이해하는 프레임워크

내가 프레임워크를 부를 수 없음.

프레임워크가 우리를 부름, 우리를 제어함

프레임워크를 사용해서 코드를 작성할 때는 프레임워크 규칙에 따라야함.

각각의 규칙은 이 규칙을 내가 바꿀 수 없음.

장고로 프로젝트하다가 다른걸로 바꿀려하면 폴더 이름, 구성, 코드 모두 다 교체해야함.

그래서 프레임워크 쓸 때 신중히 결정해야함 하지만 결과물은 높다는 장점이 있음.

 

*제이쿼리 : 자바스크립트보다 더 쉬운 방법으로 웹 사이트에 인터랙티브한 요소를

넣을 수 있게 해줌

*부트스트랩 : 웹 사이트의 화면을 구성 할때 레이아웃을 편하게 구현하게 해줌

 

구분 라이브러리 프레임워크
제어권 나에게 있음 나에게 없음
교체 난이도 매우 쉬움 매우 어려움

 

 

제이쿼리는 반드시 배워야 하는 기술일까?

제이쿼리는 2006년에 생겨남.

자바스크립트가 지금처럼 좋은 언어가 아니였고, 브라우저 문제가 많았어서 생겨남.

실제로 제이쿼리는 브라우저의 호환성을 챙기면서도 코드도 깔끔하게 만들어줌.

 

제이쿼리만 공부하는 현상이 생겨버림...

자바스크립트는 건너뛰고 제이쿼리를 공부했고, 아예 개발자라는 포지션까지 생김

제이쿼리는 자바스크립트에서 나온건데 그 원리를 이해하지못하고 제이쿼리를하면

나중에 더 곤란해짐...!

 

왜 그런데도 사람들은 제이쿼리에 빠졌나?

- 좋은 기능의 플로그인이 많음
(드롭다운 플로그인, 슬라이드 효과, 모달박스 등 제이쿼리 플로그인)

- 당시 인기가 가장 많았던 레이아웃, 부트스트랩의 많은 기능을 제이쿼리로 만들어서
의존도가 높아짐

즉, 자바스크립트의 깔끔하지 않은 코드, 웹 브라우저의 호환성때문에 제이쿼리에 빠지게 된것.

 

● 지금은 자바스크립트가 그렇지 않음! 그러면 앞으로 제이쿼리 배워 말아?

자바스크립트가 ES2015, ES2016, ES2017을 거치면서 아름다워지고 호환성도 좋아지고 쓰기도 편해짐.

심지어 부트스트랩은 버전5부터 제이쿼리를 모두 제거함.

 

"제이쿼리는 정말로 필요할 때에만 배워라"

쓰고있는 회사도 많기 때문.

그리고 자바스크립트를 잘 알고 있다면 제이쿼리도 금방 공부할 수 있을것

 

 

 

API가 뭐야?

API는 application programming interface의 줄임말

 

● 키보드와 비슷한 API

컴퓨터에 무언가를 입력할 때 사용하는 도구인 키보드는 컴퓨터와 나랑

대화할 때 다리 역할을 해줌.

이렇든 나와 컴퓨터가 소통할때 키보드를 쓰는 것처럼 프로그램끼리

소통할 때 쓰는 일종의 규칙을 코드화할 걸 API라고함.

 

○ API는 프로그램끼리 소통하도록 도와준다.

예시를 들자면 사진 업로드 버튼을 만들었는데 그걸 누르면

사진 데이터를 데이터 베이스에 저장을 한다라는 동작이 이뤄줘야할거야.

그런데 현재 화면은 보여지는 역할만 하고, 데이터베이스는 데이터를 저장하는역할만함.

즉 버튼이 눌리면 이둘을 연결 역할이 필요하지.

둘을 연결해주는 그게 API임!-> 프로그램끼리 소통을 도와준다의 의미. (다리역할)

 

○ 웹 API

브라우저와 개발자를 위해 만든것.

예를 들면 크롬 브라우저에서 동작하는 어떤 프로그램을 개발하고 싶을 때

내가 만든 코드와 크롬 브라우저를 연결해야할때.

그럴 때 웹API를 사용하는것. (내가 만든 코드와 브라우저를 연결할때 사용)

웹 API의 마이크 접근 권한 기능을 사용하면 크롬 브라우저와 마이크를 연결하는

코드를 내가 직접 만들지 않아도 크롬 브러우저에서 마이크 기능을 간단하게 사용 가능 

 

○ API 작동 방식의 특징? 사용하는 사람은 알 수 없다.

내가 키보드를 사용 할 때 키보드의 작동 방식을 알지 못하듯.

사용자는 API의 작동 방식을 알 수 없음.

만약 내가 사용자의 위치를 기반으로 카페나 식당을 추천하는 애플리케이션을

만든다고 할 때 굳이 웹API의 사용자 위치를 제공하는 기능의 원리까지

알아야 할 필요는 없다는 것! 그저 API를 사용해서 사용자 위치만 가져오면 돼.

API는 한번 직접 개발해 보는 것도 좋은 경험이 될것,

 

 

도메인은 왜 돈을 주고 사야해?

 

숫자 외우기가 너무 불편해서 만든 도메인 시스템

인터넷에 연결된 웹 사이트는 모두 IP 주소로 찾을 수 있음.

(예시 : 123.456.123.456)

하지만 예시에서 보다시피 주소를 외우기 어려움

그 불편함을 해소하기위해 도메인 시스템이 생긴것.

도메인 시스템이란 마치 전화번후보 같은것.

그 전화번호부에는 이름(도메인)과 IP주소(번호)가 짝지어 저장되어 있다고 생각하면 편함.

 

● 도메인 시스템을 제대로 관리하려면? 레지스트리를 알아야함.

도메인의 갯수는 수백만 개가 넘음. 이러한 도메인 시스템을 관리하는 방법이 있음

쉽게 말해서 전화번호부를 관리하는 전화번호부가 있다고 생각하는게 편함.

레지스트리는 기업에서 운영함(닷컴 같은곳)

 

● 도메인은 어디서 살까?

레지스트리를 관리하는 기업은 도메인을 만드는 역할을 할 뿐 도메인을 직접 판매하진 않음

고대디, 가비아, 후이즈, 카페24같은 리셀러에서 도메인을 사야함.

리셀러가 필요한 이유는 도메인을 레지스트리에 등록하는 과정이 매우 복잡하기 때문.

 

● 나도 레지스트리를 운영할 수 있나?

ICANN에 신청하면 돼! 여기는 도메인을 관리하는 비영리 기구임.

이곳이 아까말한 최상위 전화번호부 역할. 

하지만 신청 비용이 엄청 비쌈(2억 넘음...)

그리고 도메인이 인터넷 환경에 필요한지, 내가 도메인을 운영할 수 있는 기술이 있는지,

고객 관리 능력을 갖추고 있는지 ICANN에 자료로 제출해서 증명해야함.

레지스트리를 운영하는순간 인터넷을 사용하는 사람들의 신간과 돈에 영향을 미치기 때문임.

+ 레지스트리가 되면 특정도메인을 특정사람에게 팔 수 있는데 이게 수익성이 큼

 

도메인, 레지스트리 관련 내용 정리
● 도메인을 만드는 건 레지스트리다.
● 레지스트리는 IP 주소와 도메인을 적은 전화번호부이다.
● 레지스트리 운영사가 되려면 엄청난 돈과 인프라가 필요하다.
● 도메인을 구매하면 레지스트리 운영사가 아니라 리셀러에게 돈을 지불하는것.
● 리셀러는 계약 관리, 결제 처리, 도메인 비용 지급 등의 일을 한다.

 

 플래시의 서비스 종료와 스티브 잡스

2020년 12월 31일, 어도비 플래시가 서비스 종료함.

 

● 어도비 플래시?

플래시는 게임, 영상을 제공하는 웹 사이트에서 사용하는 프로그램.플래시는 처음에는 퓨처웨이브 소프트웨어라는 회사에서 만든 퓨처스플래시 애니메이터라는 프로그램이었음. (만화와 애니메이션을 그리는 사람을 위한 제품이었음)매크로미디어가 퓨처웨이브 소프트웨어를 인수하고 이프로그램을 플래시로 바꿈

플래시가 애니메이션을 브라우저에 띄울 수 있게 해주는 프로그램으로 발전시킴.

그래서 플래시 플레이어 플러그인이 생긴것.

 

● 웹 사이트를 아름답게 만들어 준 플래시

초기에 웹사이트는 정말 못생겼었음. 그당시 트랜지션 효과, 폰트 바꾸는건 불가능했음

매크로미디어는 액션 스크립트라는 프로그래밍 언어까지 만들어서 애니메이션을 프로그래밍할 수 있게 해줌

(그래서 특정 애니메이션이 나타는 등 동적인 애니메이션을 보여줄 수 있었음. )

그 당시에 못생겼던 웹사이트에 이런기능이 들어가니 얼마나 멋졌을까...! 

 

● 유튜브가 사용한 플래시

당시에 스타트업으로 시작한 유튜브가 비디오 영상을 재생하는 도구로 플래시를 사용.

지금은 웹사이트에서 영상은 기본이지만 그 당시에는 불가능했음.

플래시가 등장하기 전에는 인터넷에서 영상을 볼 수 없었음.

유튜브를 시작으로 다른 회사들도 영상 재생 플레이어로 플래시를 선택!

이렇게 다들 플래시를 사용하니까 플래시는 웹 사이트의 필수 요소로 만들게 된것.

(그당시 플래시가 없으면 게임, 영상 다 못했음.) 

 

● 스티브 잡스와 플래시

플래시가 더욱 더 승승장구하고 있었는데 스티브 잡스가 "플래시 그만" 이라고 외침.

그 당시 스티브 잡스는 아이팟 터치와 아이폰을 발표함.

iOS를 사용하는 기기는 플래시를 쓰지말자고 편지로 설득.

 

아래는 편지 내용

스티브 잡스의 편지1. 플래시는 오픈소스가 아니다

플래시는 회사소유라 공개가 안되었음.

매크로미디어에서 어도비가 플래시를 인수했음

그로인해 플래시는 어도비가 관리하므로 어도비가 주요 의사결정을 내릴 때마다

모든 사용자가 영향을 받음.

예를들면 어도비에서 돈내라하면 그냥 내고 써야하는것.

이러한 점에서 스티브 잡스가 고민을 한것임.

 

그 당시에 스티브 잡스는 HTML5, CSS3가 제시하는 자유로운 웹 표준을 믿음.

웹은 누구나 참여할 수 있고 실행할 수 있는 생태계라고 믿었던거지.

그런데 이러한 생태계를 단 한 회사가 이것을 통제하는게 말이 안되었던거지.

 

*오픈소스 : 모든 사람이 프로그램의 코드를 수정, 사용할 수 있도록 공개

 

스티브 잡스의 편지2. 플래시는 믿음직하지 않다

스티브 잡스는 맥OS에서 프로그램 오류와 개발을 어렵게 만드는 원인이 플래시라고 생각함.

그 이유는 플래시는 데스크톱을 위한 프로그램이므로 플래시와 상호작용하려면 마우스를 활용해야 했기 때문.

터치를 이용하는 iOS로서는 여기서 문제를 느낀것.

또한, 플래시는 보안 이슈도 많음 -> 실제로 해킹, 바이러스 감염사례 많음.

 

● 플래시의 종료와 웹 기발의 발전

위의 내용으로 인해 스티브 잡스가 플래시를 iOS에서 배제하겠다고 결정.

그 결과 플래시를 대체할 만한 기술이 HTML5, CSS3에 도입!

플래시가 떠났지만 현재 더 멋진 웹 표전이 생김 그런점에서 볼땐

플래시의 종류가 좋은일 같음.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

API에대해서 단어는 알고 있었지만 무슨 역할을 하는지 몰랐었는데

연결해주는 다리라는 표현에 의해 쉽게 이해할 수 있었다.

 

그리고 도메인에 대해 알고는 있었지만 레지스트리에서 관리하는건 처음 알았고,

레지스트리를 나도 하고자하면 할 수 있다는걸 알고 신기했다.

 

또한 제일 흥미롭게 읽은건 플래시 부분!

예전에 웹서핑을 할 때 계속 플래시를 깔라고 강요하는 경고창이 떴었는데

그 당시 내가 개발쪽 분야도 아니였고, 이부분에 흥미도 없었기에 

"도대체 이게뭔데 ? 뭐때문에 깔라는거야" 하면서 경고창 안뜨게 하기위해 깔고 넘겼다.

그러다가 어느순간 어도비플래시에 대한 경고창이 안뜨기 시작했고 이게 종료된지도 몰랐었는데

이부분에 대해서 이런 스토리가 있을줄 몰랐다.

어릴적 웹서핑하면서 혼자하던질문들이 풀린거같아서 시원하다.

 

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

오늘 내용에선 없습니다.

 

 

 
728x90

'스터디 > IT 5분 잡학사전 도서 챌린지' 카테고리의 다른 글

TIL4. EP16 ~ EP21  (0) 2023.10.12
TIL2. EP6 ~ EP10  (1) 2023.10.09
TIL 1 5분 잡학사전 EP.1 ~ EP.5  (1) 2023.10.08
IT 5분 잡학사전 챌린지  (0) 2023.10.06