귀퉁이 서재

[닐 메타] IT 좀 아는 사람 본문

책과 사유

[닐 메타] IT 좀 아는 사람

Baek Kyun Shin 2022. 6. 12. 01:10

구글, 페이스북, 마이크로소프트에서 프로덕트 매니저로 일하는 닐 메타, 아디티야 아가쉐, 파스 디트로자가 쓴 IT 상식책이다. 비전공자도 이해할 수 있게 IT 지식을 쉽게 설명해놨다. 질문에 답하는 방식으로 구성돼서 흥미를 끌며 이야기를 풀어간다. 번역도 잘해놔서 글도 술술 읽힌다. 따로 시간 내서 각 잡고 읽진 않았고, 양치할 때나 밥 먹을 때 틈틈이 읽었는데도 금방 읽었을 정도다.

가독성, 흥미, 스토리텔링 모두 괜찮은 책이다. 타임 킬링용으로 적합!


1장 소프트웨어 개발

1-1. 구글 검색은 어떻게 작동할까?

  • 사용자가 검색어를 입력할 때마다 구글이 수많은 웹페이지를 일일이 접속하진 않는다. 대신 데이터베이스에 각 웹페이지 정보를 저장해두고 알고리즘을 이용해 무엇을 보여줄지 정한다.
  • [크롤링] 구글은 '스파이더'라는 프로그램으로 웹페이지를 크롤링한다. 크롤링은 항상 진행되고 있다. 밤낮없이 새로운 웹페이지를 색인에 추가한다. 수정된 웹페이지도 색인에 반영한다. 이렇게 크롤링한 웹페이지 정보를 데이터베이스에 저장해둔다.
  • 그러면 사용자가 검색어를 입력할 때, 크롤링한 수많은 정보 가운데 어떤 웹페이지를 상위에 노출해야 할까? 검색어와 관련된 중요한 웹페이지를 상위에 노출해야 한다. 웹페이지 중요도는 어떻게 측정할까?
  • [페이지랭크] 구글은 페이지랭크(PageRank)라는 알고리즘을 사용한다. 어떤 웹페이지 중요도를 측정하려면 다른 중요한 웹페이지에서 그 웹페이지로 들어오는 링크를 집계하면 된다. 페이지랭크는 웹페이지 점수를 계산할 때, 해당 웹페이지를 링크한 다른 모든 웹페이지의 페이지랭크 점수를 집계한다.

출처 https://en.wikipedia.org/wiki/PageRank

  • 가령 어떤 블로그 글을 썼다고 하자. 처음에는 해당 블로그 페이지를 링크한 웹페이지가 없어서 페이지랭크 점수가 낮다. 점점 해당 웹페이지를 링크한 다른 웹페이지들이 많아지면 페이지랭크 점수가 올라간다. 페이지랭크에서 중요한 건 들어오는 링크의 양이 아니라 질이다. 인기 없는 블로그 수십 개가 우리 웹페이지를 링크해도 점수가 별로 안 올라간다. 반면 뉴욕 타임스 기사에 링크가 걸린다면 점수가 크게 오른다. 뉴욕 타임스 기사 자체도 페이지랭크 점수가 높을 것이기 때문이다.

1-2. 스포티파이는 어떻게 나에게 맞는 곡을 추천해줄까?

* 스포티파이는 스웨덴에서 만든 음악 스트리밍 서비스다. 한국에서는 음악 스트리밍 서비스를 멜론과 벅스가 꽉 잡고 있어서 스포티파이의 인지도가 거의 없다.

출처 http://www.thescoop.co.kr/news/articleView.html?idxno=39111

  • 대부분 음악 스트리밍 서비스에서는 자신만의 플레이리스트를 만들 수 있다. 어떤 사용자의 플레이리스트에 힙합곡이 많다면 힙합을 좋아하는 사람일 것이다. 발라드 곡을 30초도 채 안 듣고 다음곡으로 넘긴다면 발라드 취향이 아닌 사람이다.
  • 스포티파이는 사용자의 플레이리스트를 활용해 두 가지 방식으로 추천곡을 고른다.
  • [협업 필터링] 첫 번째는 취향이 비슷한 다른 사람의 플레이리스트를 참고해 추천하는 방식이다. 사용자 A와 B가 있는데 모두 플레이리스트에 비슷한 힙합곡이 있다고 하자. 그러면 B의 플레이리스트에 있는 곡을 A에게 추천해줄 수 있다. 이런 방식을 협업 필터링이라고 한다. 아마존 상품 추천, 넷플릭스 작품 추천, 유튜브 영상 추천, 페이스북 친구 추천이 모두 협업 필터링의 결과다.
  • [취향 프로필] 두 번째 방식은 사용자의 취향을 분석하는 것이다. 좋아하는 장르(모던록, 힙합 등)와 세부 장르(모던컨트리록, 서던힙합 등)를 판단해서 추천곡을 정한다. 과거에 들은 음악 패턴을 분석하는 방법이다.

1-3. 우버, 포켓몬고 기술의 공통점은?

  • 우버, 포켓몬고는 구글지도 API를 사용한다는 기술적 공통점이 있다.

  • 구글은 다른 회사의 앱이 구글지도를 손쉽게 이용하도록 짤막한 코드를 제공한다. 그 외에도 지도에 아이콘을 표시하고, 목적지까지 가는 길을 계산하고, 과속 단속 구간을 찾는 코드까지 제공한다. 비용도 싸거나 무료다. 짧은 코드만 넣으면 구글이 오랫동안 갈고닦은 기술을 가져다 쓸 수 있다.
  • 이렇게 다른 앱의 기능이나 데이터를 가져다 쓸 수 있게 해주는 코드를 응용프로그램 프로그래밍 인터페이스(Application Programming Interface), 줄여서 API라고 부른다.
  • API는 쉽게 말해 앱들 사이의 통신 수단이다. API는 크게 세 가지 종류로 이루어져 있다. '기능 API', '데이터 API', '하드웨어 API'가 있다.
  • 기능 API는 경로 계산, 문자 전송, 문장 번역 같은 기능을 전문적인 앱에 맡길 수 있게 한다. 집에 문제가 생길 때 전문 수리공을 부르는 일과 같다. 가령, 우버는 브레인트리 API에 결제를 맡긴다. 우버가 결제 시스템을 직접 만든 게 아니라는 말이다.
  • 데이터 API는 다른 앱에서 스포츠 경기 점수, 최신 트윗, 오늘 날씨 같은 데이터를 넘겨받을 수 있게 한다.
  • 하드웨어 API는 기기의 고유한 기능을 이용할 수 있게 한다. 인스타그램은 휴대폰의 카메라 API를 통해 줌, 초점, 촬영 기능을 빌려 쓴다. 구글지도는 휴대폰의 위치 API로 사용자의 위치를 파악한다.
  • 사실상 세상의 대부분 앱은 API를 빼면 무용지물이라고 봐도 된다.

1-4. 많은 앱들이 왜 페이스북이나 카카오톡으로 연동 로그인하라고 할까?

  • 어떤 앱이든 페이스북 통합인증 API를 쓰면 사용자가 페이스북 프로필을 연동해서 계정을 만들 수 있다.
  • 이는 사용자, 페이스북 통합인증 API를 쓰는 앱, 페이스북에게 모두 좋은 일이다. 
  • 우선 사용자는 당연히 편리하다. 번거롭게 정보를 입력하며 회원가입할 필요가 없어지기 때문이다.
  • 페이스북 통합인증 API를 쓰는 앱에서도 페이스북 연동 로그인을 반긴다. 소개팅 앱을 예로 들어보자. 소개팅 앱은 페이스북 연동 로그인을 제공함으로써 기본 정보를 페이스북 프로필에서 가져오게 할 수 있다. 텅 빈 프로필을 만드는 걸 막아 소개팅 앱 입장에서 좋다. 프로필이 잘 채워지면 소개팅 매칭률이 올라간다. 
  • 그렇다면 페이스북은 왜 페이스북 계정 로그인 API를 제공할까? 페이스북은 사용자가 소개팅 앱을 이용한다는 사실을 알게 된다. 사용자가 다른 사이트에서 페이스북 연동 로그인을 할 때도 마찬가지다. 사용자 정보를 얻게 되는 것이다. 이런 데이터가 쌓이면 페이스북은 더 효과적으로 타깃광고를 할 수 있다.

2장 운영체제

2-1. 구글은 왜 제조사에 안드로이드를 무료로 제공할까?

  • 구글은 안드로이드를 소비자와 제조사에 무료로 제공한다. 그래서 삼성과 LG는 구글에 한 푼도 내지 않고 안드로이드를 탑재한 휴대폰을 출시한다. 그런데도 구글은 안드로이드로 연간 310억 달러를 번다. 공짜 운영체제로 어떻게 큰돈을 버는 걸까? 

출처 https://www.shutterstock.com/ko/image-photo/june-2019-los-angelesusa-green-plastic-1414508372

  • 첫째, 구글은 제조사가 안드로이드를 무료로 쓰는 대신 유튜브와 구글지도 같은 자사 대표 앱을 반드시 탑재하게 한다.
  • 둘째, 구글은 광고 수입보다는 못해도, 앱 구매 수수료로 상당한 수입을 올린다. 구글은 제조사가 안드로이드 앱스토어인 구글플레이를 눈에 잘 띄는 곳에 배치하게 한다. 많은 사용자가 구글플레이에서 앱을 다운로드하면 구글은 수수료를 챙긴다.
  • 마지막으로, 안드로이드 사용자가 많아질수록 구글 광고 수입이 커진다.
  • 한편, 안드로이드는 무료일 뿐만 아니라 오픈소스(open source)다. 누구나 개조판을 만들어서 배포할 수 있다는 말이다. iOS는 오픈소스가 아니라서 바꾸고 싶어도 바꿀 수 없는 부분이 많다. 구글은 개조판을 금지하지 않는다. 개조판을 사용하는 사람도 구글 검색과 구글 앱을 이용할 확률이 높기 때문이다. 
  • 구글이 안드로이드를 제조사에 공짜로 제공하는 까닭은? 그 자체로는 돈벌이가 안 되지만 안드로이드 사용자가 늘고 앱 구매가 늘고 안드로이드를 이용한 구글 검색이 늘면 돈을 쓸어 담을 수 있기 때문이다.

2-2. 안드로이드폰에는 기본으로 깔리는 쓸데없는 앱이 왜 이렇게 많을까?

  • 안드로이드폰에는 처음부터 선탑재 앱이 많다.
  • 대부분 선탑재 앱은 사용자가 삭제하지도 못하고, 백그라운드에서 계속 돌아가 배터리를 빨리 닳게 한다. 휴대폰 속도도 느려지고 저장공간도 낭비된다.

출처 https://nextren.grid.id/read/01880624/mengenal-bloatware-di-hape-android-belum-banyak-yang-tahu-nih

  • 이런 선탑재 앱을 블로트웨어(bloatware)라고 부른다. 블로트웨어란 메모리를 많이 쓰지만, 실제 효용성은 떨어지는 소프트웨어다. 선탑재 앱을 향한 반감을 담은 용어다.
  • 블로트웨어가 많은 까닭은 블로트웨어가 꽤 남는 장사여서 그렇다.
  • 휴대폰 제조사와 통신사는 스마트폰 시장과 데이터 요금제 시장이 과포화 상태라는 현실을 인지했다. 웬만한 사람은 다 스마트폰이 있고 데이터 요금제에도 가입돼 있다. 그래서 폰과 데이터 요금을 파는 것만으로는 기업 수익을 높일 수 없다. 이때 생각해낸 새로운 수익 모델이 블로트웨어 장사였다.
  • 블로트웨어로 돈을 버는 방법은 크게 두 가지다. 첫째, 앱 개발자에게 돈을 받고 해당 앱을 선탑재한다. 통신사는 돈을 벌고, 개발자는 앱을 강제로 사람들에게 들이밀 수 있다. 둘째, 통신사와 제조사가 유명한 무료 앱의 짝퉁 자사 앱(대부분 유료)을 선탑재한다. 사용자가 값비싼 짝퉁 블로트웨어를 대신할 무료 앱의 존재를 모른 채 기본으로 깔린 앱을 사용하기를 원한다. 기본은 강력하니까!

| 블로트웨어 청정구역, 아이폰 |

  • 안드로이드와 다르게 아이폰에는 블로트웨어가 없다. 왜 없을까?
  • 애플이 어떻게 돈을 버는지 생각해보면 된다. 애플의 주 수입원은 하드웨어 판매다. 애플 수입 가운데 60% 이상이 아이폰 판매에서 나온다. 게다가 부드럽고 깔끔한 사용감이 애플의 강점이다. 따라서 블로트웨어는 애플의 수익 전략과 맞지 않는다. 애플은 통신사에게도 블로트웨어를 설치하는 걸 불허한다.
  • 그래서 통신사 입장에서는 애플보다 안드로이드가 더 매력적이다. 하지만 아이폰을 원하는 소비자가 워낙 많아서 아이폰을 지원하지 않을 수 없는 노릇이다. 울며 겨자먹기다. 

2-3. 맥도 바이러스에 걸릴까?

  • 오랫동안 사람들이 맥은 바이러스에 걸리지 않는다고 믿었다. 정말 그럴까?
  • 맥은 '윈도우용' 바이러스에 감염되지 않는다. 구글 크롬이든 악랄한 바이러스든 윈도우용으로 만든 앱은 맥에서 돌아가지 않기 때문이다. 
  • 맥용 바이러스는 당연히 맥을 감염시킬 수 있다. 그런데도 많은 사람들은 왜 맥이 바이러스에 안전하다고 믿을까?

출처 https://www.imymac.com/mac-cleaner/free-mac-virus-cleaner.html

|맥의 강점|

  • 맥이 안전하다고 말하는 사람들의 근거는 크게 두 가지다. 1) 맥을 쓰는 사람이 별로 없어서 해커들도 관심이 없다는 점, 2) 맥의 보안이 강해서 바이러스가 침투하지 못한다는 점이다.
  • 첫째, 맥을 쓰는 사람이 적은 건 맞다. 전 세계 컴퓨터 25대 중 1대가 맥이고 나머지는 거의 윈도우다. 하지만 간과하는 부분이 있다. 맥은 부유한 국가에서 많이 쓴다는 점이다. 해커 입장에서 맥을 해킹하면 윈도우를 해킹할 때보다 더 많은 돈을 벌 수도 있다.
  • 둘째, 맥은 기본적으로 보안이 좋다. 맥이 윈도우 PC보다는 해킹하기 어렵다.
  • 분명한 것은 맥도 바이러스에 걸릴 수 있다는 사실이다.

3장 앱경제

3-1. 앱 다운로드는 왜 대부분 무료일까?

  • 앱은 대부분 무료다. 앱 개발자들은 앱을 팔지도 않으면서 무슨 수로 돈을 버는 걸까?
  • [부분유료화] 추가 기능을 사용할 경우 돈을 내는 '부분유료화'가 있다. 게임 아이템을 사거나 프리미엄 기능을 이용하는 경우다.
  • [유료 구독] 다른 방법으로는 유료 구독 서비스가 있다. 부분유료화의 특별한 경우다. 윌라 오디오북, 밀리의 서재, 멜론 서비스 등이 정기 유료 구독 서비스의 한 예이다.

3-2. 페이스북이 사용자에게 단 한 푼도 받지 않고 떼돈을 버는 비결은 뭘까?

출처 https://netbeesconsulting.com/facebook-marketing/

  • 부분유료화만 돈벌이가 되는 게 아니다. 페이스북, 구글지도, 구글문서, 구글닥스, 인스타그램을 생각해보자. 이 서비스를 이용하면서 돈을 내본 적이 없을 것이다. 부분유료화가 아니라는 소리인데, 그러면 어떤 수로 돈을 벌까?
  • 답은 '타깃광고'다.
  • 구글과 페이스북은 '타깃광고'의 귀재다. 구글과 페이스북은 광고에서 대부분 돈을 번다. 페이스북은 광고가 회사 전체 매출의 99%를 차지한다.

3-3. 에어비앤비는 무엇으로 돈을 벌까?

  • 아마존, 우버, 에어비앤비 앱은 무료로 다운로드할 수 있거니와 광고도 거의 없다. 그러면 무엇으로 돈을 벌까?
  • 구매자와 판매자를 이어주는 '중개' 앱 혹은 '플랫폼' 앱은 사용자가 뭔가를 구매할 때마다 수수료를 챙긴다.

3-4. 그렇다면 부분유료화, 광고, 수수료말고 다른 방법으로 돈을 버는 앱도 있을까?

  • 앱이 돈을 버는 방법은 다양하다. 시간이 지날수록 교묘한 방법이 많이 생기고 있다.
  • 사용자 계좌에 안 쓰고 남은 돈으로 이자 수입을 올리는 앱도 있다. 
  • 일부 IT 회사는 아예 수익을 내지 않고 어떻게든 몸집을 불리는 곳도 있다. '선성장 후수익화' 전략이다. 충분히 시장이 커지면 그 이후에 수익화를 하려는 방법이다.
  • 사용자들이 굳이 돈을 내고 앱을 다운받을 의향이 없으므로 개발자들은 점점 더 교묘한 수익 창출법을 모색해야 한다. 그리고 놀랍게도 어떻게든 기발한 방법을 찾아내고 있다. 

8장 하드웨어와 로봇

8-1. 컴퓨터와 휴대폰의 CPU, 램 같은 사양은 무엇을 의미할까?

|중앙처리장치|

  • 중앙처리장치(Central Processing Unit, CPU)는 컴퓨터의 '두뇌'에 해당한다.
  • CPU는 개별적으로 연산을 수행하는 '코어(core)'들로 이루어진다. 코어가 많은수록 속도가 빠르고 동시에 더 많은 작업을 처리할 수 있다.
  • CPU 칩의 종류는 대표적으로 ARM과 인텔이 있다. 기존에는 인텔칩이 더 강력한 반면 ARM 칩은 저렴하고 전력 소모가 적었다. 그래서 컴퓨터에는 인텔칩이, 휴대폰에는 ARM칩이 들어갔다. 하지만 ARM 칩의 성능이 꾸준히 좋아져 이제는 그 경계가 허물어졌다. 애플은 2020년부터 맥북의 CPU를 인텔에서 ARM으로 바꾸기 시작했다.

|저장장치: 장기 기억|

  • 데이터를 저장하는 용도로 오랫동안 사용된 장치는 하드 드라이브(Hard Drive, HDD)다. 

하드 드라이브 내부 구조, 출처 ko.wikipedia.org

  • 하드 드라이브는 장성 물질로 코팅된 원형 철판과 길쭉한 암(arm)으로 이루어져 있다. 철판이 회전하면 암이 움직이며 코팅층에 정보를 기록하거나 이미 기록된 정보를 읽는다.
  • 그러다 최근에 SSD(Solid-State Drive)가 등장했다.

SSD 내부 구조, 출처 StorageReview.com

  • SSD는 움직이는 부품 없이 '셀'이라고 하는 작은 칸이 무수히 배열된 구조다. 각 셀에 0이나 1이 저장된다.
  • SSD는 셀의 집합체에 불과하므로 내부에서 움직이는 부품이 없다. 이런 기술을 '플래스 메모리'라고 부르며, SSD 외에도 USB 드라이브, SD 카드도 플래시 메모리다.

|HDD vs. SSD|

  • 그러면 둘 중 무엇이 더 좋은 저장장치일까? HDD는 원판과 암이 움직이기 때문에 더 빨리 망가지고, 소음도 발생하며 무겁고 전력 소모도 심하다. 반면 SSD는 튼튼하고 조용하며 가볍고 효율적이다. HDD는 원판을 움직여 정보를 찾지만 SSD는 전기 신호로 동작하므로 SSD가 훨씬 빠르다.
  • 과거 SSD의 유일한 단점은 비싸다는 것이었다. 그래서 컴퓨터에는 HDD가 들어갔지만, 지금은 SSD 가격이 HDD과 대동소이해서 SSD가 보편화됐다. 

|램: 단기기억|

  • 랜덤 엑세스 메모리(Random-Access Momery, RAM)는 단기기억장치다. 
  • 우리가 앱을 실행하고, 브라우저 탭을 열고, 워드 문서를 열면 컴퓨터는 모든 행위를 기억하려고 램을 소비한다. 그런데 램은 휘발성이다. 앱을 다시 켜면 앱에 배정됐던 램이 깨끗이 지워진다. 그래서 문서를 저장하지 않고 닫으면 내용이 날아간다. 
  • 그러면 왜 램과 저장장치가 모두 필요할까?
  • 램은 단기기억장치라서 데이터를 빠르게 가져올 수 있기 때문이다. 모든 데이터를 장기기억장치에 저장하면 데이터를 읽어오는 속도가 느리다.
  • 램은 여러 연산을 동시에 빠르게 수행하게 하지만 무한대로 가능하진 않다. 램이 부족하면 어떻게 될까? (브라우저 탭을 2천 개쯤 열면 그렇게 된다.)
  • 컴퓨터가 HDD나 SSD의 공간을 빌려서(이를 swap space라고 부른다) 추가 램처럼 사용한다. 당연히 램보다 읽고 쓰는 속도가 느리다. 우리가 앱, 게임, 탭을 잔뜩 열어 놓으면 컴퓨터가 느려지는 게 그 때문이다.

8-2. 애플페이의 작동 원리는 뭘까?

  • 애플페이의 핵심은 근거리무선통신(Near-Field Communication, NFC) 기술이다. NFC 칩이 들어 있는 기기(휴대폰, 카드, 결제 단말기 등)끼리 접촉하면 전파를 타고 정보가 오고 간다.
  • 휴대폰과 결제 단말기에 모두 NFC 칩이 있다면 전파를 통해 두 기기 안에 있는 칩이 정보를 주고받는다. 이렇게 해서 단말기가 사용자의 신용카드에 대금을 청구하면 결제가 된다.
  • 다른 예도 있다. 교통카드에는 전원이 필요 없는 패시브 NFC칩이 있다. 이를 전원이 필요한 액티브 NFC 칩이 내장된 단말기에 대면 교통카드에서 요금이 빠져나가고 게이트가 열린다.

출처 apple

|강화된 보안성|

  • 그렇다면 애플페이는 안전할까? 
  • 안전하다. 애플페이는 휴대폰에서 상점으로 신용카드 번호가 전달되는 방식이 아니다. 사용자가 애플페이를 쓸 때마다 카드사는 무작위로 만든 16자리 토큰을 암호화해 휴대폰으로 보낸다. 사용자가 휴대폰을 단말기에 대면 휴대폰에서 단말기로 암호화된 토큰이 전송된다. 그러면 단말기는 이 토큰을 다시 카드사로 보낸다. 카드사에서 사용자의 토큰으로 확인되면 비로소 대금을 청구한다.
  • 이렇게 하면 해커가 사용자 토큰을 얻더라도 카드번호를 역추적할 수 없다.
Comments