IT 5분 잡학사전 e11~e15

Oulico·2023년 1월 17일
0
post-thumbnail

2023.01.17

오늘 읽은 범위: 에피소드 11 - 에피소드 15

라이브러리와 프레임워크의 차이

어느 직종이든 어느 학문이든 공통적이겠지만, 협업에 있어서 용어의 정립이 그 무엇보다 중요하다는 생각이 든다. 그런 의미에서 항상 헷갈렸던 개념 두가지가 있는데 바로 라이브러리와 프레임워크 되시겠다.

IT 5분 잡학사전에서는 이를 어떻게 설명하고 있을까? 그리고 내 언어로 표현하자면 어떻게 설명할 수 있을까? 한번 적어보기로 한다.

책에서는 다음과 같이 설명한다. 둘은 개발 속도를 빠르게 만들어주는 도구라는 점에서 비슷하지만, 내가 제어당하느냐, 내가 제어하는가에 있어서 차이가 있다고 설명한다.

이를 제이쿼리와 부트스트랩으로 다시한번 설명하는데, 제이쿼리와 부트스트랩은 갖다 써도 그만 안써도 그만, 어떻게 쓰든 활용하는 사람이 말그대로 라이브러리(도서관)에서 책을 가져다가 활용하듯 '내가 제어하는' 것을 의미한다고 한다.

또 반대로 자바스프링이나 장고와 같은 프레임워크는 이미 짜여진 틀안에서 약속을 지켜서 사용해야하기에 '내가 제어당하는' 것을 의미한다는 것이다.

개인적인 생각으로는 이 설명이 더 헷갈린다는 생각이 들기도 하는데, 사실 그냥 단어 그대로 생각하는 편이 더 쉽지 않나 싶다. 라이브러리이므로 쏙쏙 가져다 쓰고, 프레임워크니까 프레임에 딱딱 맞춰 쓴다.. 고 말이다.

리액트는? npm으로 모듈을 설치해서 쏙쏙 가져다가 쓰므로 라이브러리
next.js는? 이미 다 있고 그 안에서 약속 지켜서 사용하면 되니까 프레임워크. 이런 식으로 말이다.

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

제이쿼리를 배워야 되나? 라고 나도 생각한 적이 있었다. 예전에 한달가량 잠시 다닌 학원에서 제이쿼리를 잠깐 가르쳤기 때문인데, 시간도 아깝고, 너무 옛날 기술이어서 괜히 배우기 싫기도 했다.

결론부터 말하자면 난 학원에서 며칠 만져본 것 이외에는 배우지 않았고 쓰지도 않았다. 현재 회사에서도 안쓰므로 문제 전혀 없다. 그러나 필요하면? 그러면 그 때 배우면 된다. 한번 써보긴 했는데 그리 어렵지 않았다. 물론 지금은 까먹었다.

생각해보면 애초에 내가 왜 이런 고민을 했는지, 또 사람들이 이런 고민을 왜 하는지 모르겠다. 제이쿼리에 통달하고 또 그 다음 기술에 통달하고.. 이런 식으로 각개 격파하면서 공부해야할 것 같다는 강박때문일까?

결론만 말하자면 책에 따르면 필요하면 배우라고 한다.

API는 무엇일까?

API는 어플리케이션 프로그래밍 인터페이스라는 것인데 책의 설명으로는 'API는 키보드와 같다~' 고 말한다. 버튼을 누르면 기대하는 결과값이 나오는 것처럼 말이다. 어릴때 '함수는 자판기다~' 하고 배웠던 적 있듯이, 비슷한 예로 설명한 게 아닌가 싶다.

개인적으로 API를 설명하라면 이런식으로 설명하기보다는 한 때 컴퓨터의 스펙과 작동방식, 명령어가 제각각이어서 서로 소통하기 어려웠는데 각각 프로그램을 모듈화시켜 통신하게 되었고 이것이 api의 시초이다~ 하는 식으로 역사적인 이유를 들면서 설명할 것 같다.

왜냐하면 API가 가진 중요한 의미는 바로 컴퓨터와 컴퓨터, 프로그램과 프로그램을 서로 연결하는 데 있기 때문이다. 키보드는 사용자와 컴퓨터를 연결하는 인터페이스이므로 오해를 일으킬 수 있지 않을까 하는 생각이 들었다.

도메인은 어떻게 작동할까

도메인 시스템은 거대한 전화번호부 책과 같다. 그리고 그 전화번호부 책을 들여다보면 ip주소와 짝지어진 수많은 알파벳 주소들이 있다. 브라우저는 사용자가 입력한 알파벳 주소를 도메인 시스템에서 찾아서 ip주소를 알아내고 연결한다.

그런데 이게 그 수가 몹시 많으므로 한번에 관리될 수는 없을 것이다. 그래서 마치 전화번호부의 전화번호부처럼, 중첩된 하위의 묶음들이 있는데 이를 레지스트리라고 부른다.

제일 유명한 레지스트리는 .com이다. .co 라든지 .tv라든지 하는 다른 레지스트리도 많이 있다. 닷컴 같은 경우는 베리사인이라는 회사가 관리하고 있고, 레지스트리를 관리하는 회사는 많이 있다.

그러나 레지스트리를 관리하는 회사에게서 도메인을 구입할 수 있는 것은 아니다. 이는 대부분 리셀러를 통해서 살 수 있는데 godaddy같은 사이트에서 살 수 있다. 왜 리셀러가 필요할까? 책에서는 도메인에 레지스트리에 등록하는 것이 복잡하기 때문이라고 설명한다.

개인적으로는 너무 빈약한 설명이 아닐까 싶지만 또 이거 말고 뭐라고 설명할까 싶기도 하다. 애초에 관리하는 회사와 판매하는 회사가 같을 거라고 믿는게 이상한 게 아닐까 (왜 이재용이 직접 폰을 팔지 않냐는 질문이랑 뭐가 다르냔 말이다.)

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

본인은 본인이 속한 세대를 누군가에게 설명하려 할 때 꼭 아이팟의 등장을 겪은 세대라고 소개할 것이다. 그만큼이나 혁명적이었던 아이팟은 현재 안드로이드, iOS는 물론이거니와 많은 기기들과 기술에 큰 영향을 끼쳤다.

그 중 하나가 바로 플래시다. 플래시는 어도비의 프로그램인데, 한 시대를 구가했었던 만큼 앞으로도 주구장창 써먹으면서 어도비에게 많은 이윤을 가져다 줄 수 있었던 기술이었다. 허나 허술한 보안성으로 많은 문제를 가지고 있었는데, 마치 대한민국의 액티브 엑스가 그랬던 것처럼 현대인들은 울며 겨자먹기로 사용할 수 밖에 없었다.

그러나 액티브엑스가 아이폰과 맥os 유저의 증가로 서서히 사라졌듯이 플래시도 스티브 잡스가 나안써를 시전하면서 시들어 말라 죽기 시작했다. 본인은 그 당시에도 전자기기 덕후였기 때문에 안드로이드나 심지어 리눅스로 돌아가는 pda에서도 플래시를 깔아서 쓸 수 있는데 아이팟에서 안된다는게 정말 믿기지가 않았던 게 기억이 난다.

스티브 잡스는 왜 아이폰에서 플래시를 사용하지 않겠다고 공언했을까?

첫째, 오픈소스가 아니므로, 웹표준이 아니므로
둘째, 보안이슈도 있고 개발도 어려우므로

그리고 이로 인해 html5, css3에 플래시를 대체할 기술들이 도입되고 발전하면서 플래시는 2020년 종말을 맞이하게 되었다.

이 에피소드에서 생각해볼만한 건 아마도 기술의 번영 혹은 종말이 어떤 이유에서부터 비롯될 수 있느냐 하는 것일테다. 스티브 잡스의 영향력이 컸기 때문에 모든 것이 바뀌었다고만은 할 수 없을 것이다. 당시 웹표준에 대한 믿음이 있었고, 행동이 있었고 그것이 시대와 맞아 떨어져서 웹이 발전한 것은 아닐까?

아무튼 간에 주식이랑 비슷한 것이다. 재료가 적당히 뒷받침되고 거기에 때를 잘만나가지고..

한시대를 구가했던 익스플로러나, 그 이전에 넷스케이프 아니면 그 이후의 모질라 파이어폭스까지, 한 때 잘나갔던 것들이 지고 또 자바스크립트처럼 관심 못받던 기술이 v8엔진을 만나서 폭풍 성장했듯이 갑자기 성장해버리곤 한다.

장난처럼 말했지만, 투자와 정말 비슷하다. 다시말해서 적어도 재무재표읽는 법을 알아야 뜨든 지든 이유를 만들어서 투자를 할 수 있는 것처럼 기술에 대한 이해가 뒷받침되어야 내가 앞으로 내 시간과 역량을 투자해도 좋은 기술일지 알 수 있을 것 같다는 생각이다. 깊게 공부해야겠다.

profile
개발 공부 블로그

0개의 댓글