2주간의 책 읽기 D+13

za4758·2023년 1월 25일
0

Today I Read

목록 보기
10/11

Day 13 (2023.01.25)

읽은 범위

EP39 ~ EP45(END)

책에서 기억하고 싶은 내용 및 요약

EP39 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고?

  • 인공지능은 좁은 인공지능, 일반 인공지능 이렇게 2가지로 나눌 수 있다. (p.227)
  • 현실에서는 딥러닝이나 머신러닝으로 만드는 인공지능은 대부분 좁은 인공지능이고, 좁은 인공지능은 한정된 영역에서만 동작한다는 특징이 있다. (p.228)
  • 머신러닝은 인공지능을 학습시키는 방법이고 그 방법들 중 가장 유명한 2가지 방식은 지도 학습(supervised learning), 비지도 학습(unsupervised learning)이다.

EP40 REST API라니, 휴식 API인가? 이게 대체 뭐죠?

  • REST API는 API의 설계 규칙이다.
  • HTTP 메서드라는 것을 활용하여 URL에서 동사 제외하여 URL을 단순하게 바꾼다.
  • 이로 인해 특정 URL 하나로 조회, 생성, 수정, 삭제를 모두 할 수 있게 되고, 기능을 확장하기가 좋아진다.
  • 이외에 자세한 조회가 필요할 때는 쿼리 파라미터를 사용한다.

EP41 도커가 뭐지? 왜 필요할까?

  • 도커는 개발환경이 맞지 않은 상황 또는 개발 환경이 변경되었을 때 유연하게 대처할 수 있게 해준다. (p.238)
  • 도커를 설치하고 개발 환경 목록이 적혀있는 도커 파일을 완성하여 서버에 전달하면 자동으로 그 파일을 확인하여 필요한 것을 내려받아 설치한다.
  • 도커가 준비한 프로그래밍 언어가 동작하는 환경을 '컨테이너'라고 한다.
  • 예를 들어 도커 컨테이너는 각각 서로 분리되어 있고 독립적이라서 파이썬 개발을 위한 컨테이너, 자바스크립트를 위한 컨테이너, 자바를 위한 컨테이너 등 컴퓨터 하나에 수많은 컨테이너가 있을 수 있다.
  • 이처럼 컨테이너를 미리 분리해서 관리하면 개발 환경이 갑작스럽게 변해도 쉽게 대처할 수 있다. 예를 들어 자바 애플리케이션의 사용량이 증가하면 컨테이너 복제 기능을 이용하여 자바 컨테이너의 개수를 늘려 해결할 수 있다.
  • 이외에 버추얼 머신, 스웜, 볼륨 같은 구체적인 기능들도 있다.

EP42 암호화폐의 진실

  • 암호화폐는 사용한 사람을 은행 자체로 만든다. 즉, 스스로가 지갑과 키를 신중하게 관리해야한다.
  • 암호화폐 세상에는 주소만 안다면 그 주소에 관한 모든 정보가 알 수 있다.
  • 마음에 드는 암호화폐 프로젝트가 있다면 마지막 업데이트 날짜가 언제인지, 커뮤니티에 얼마나 많은 사람이 참여했는지, 커뮤니티에서 가격 이야기만 떠들고 있는지를 살펴보고, 탈중화되어있는 코인인지를 확인해 봐라.

EP43 하이브리드...앱? 뭐라고요?

  • 애플리케이션을 만드는 방법은 보통 하이브리드 방식, 크로스 플랫폼 방식, 네이티브 방식이 있다.
  • 하이브리드 앱은 주소창이 없는 브라우저(웹 뷰)를 만든 앱이다.
  • 이 앱의 장점은 네이티브 앱의 개발 지식이 크게 필요하지 않다는 것이고, 단점은 UI를 한 땀 한 땀 짜야 한다는 것이다. 또, 스마트폰의 선능을 온전히 활용하지 못한다. 이유는 자바스크립트로는 스마트폰을 제어하는데 한계가 있기 때문이다. 하이브리드 앱 도전에는 아파치 코르도바(Apache Cordova).
  • 크로스 플랫폼 앱은 어떤 언어로 코드를 작성하면 그 코드는 나중에 네이티브 코드로 변환된다는 특징이 있다. 예를 들면 리액트 네이티브 기술을 사용하면 이 코드는 결국 자바스크립트로 변환된다. 그 변환된 코드를 IOS, 안드로이드가 자바스크립트 엔진으로 실행한다.
  • 이 앱의 장점은 코드를 한 번만 작성해도 IOS, 안드로이드라는 두 환경에서 실행할 수 있는 장점을 가진다. 또, 배경이 다양한 개발자가 한자리에 모이면서 다양한 형태의 라이브러리, 튜토리얼이 생겨서 커뮤니티가 발전한다. 단점으로는 네이티브 언어로 변환하는 과정이 있기에 성능에서는 중간 과정을 하나도 거치지 않는 네이티브 앱을 따라갈 수 없다.
  • 네이티브 앱은 말 그대로 IOS만을 위한, 또는 안드로이드만을 위한 언어로 코드를 작성하여 개발한다. IOS는 스위프트라는 언어, 안드로이드는 자바나 코틀린이라는 언어를 사용한다.
  • 이 앱의 장단점은 지금까지의 다른 앱들의 장단점과 반대라고 보면 된다. 즉, 스마트폰의 성능을 최대로 사용할 수 있지만, 배우는 시간도 2배, 다른 버전으로 두 가지를 만들어야 하기에 개발 시간도 2배가 걸린다.

EP44 NFT가 도대체 뭐길래?

  • NFT는 토큰의 핵심 2가지 기능인 돈을 받는 기능과 돈을 받고 토큰을 보내 주는 기능을 합친 스마트 계약(smart contract)를 활용한 대체 불가능한 토큰을 말한다.

EP45 멀웨어, 바이러스, 웜 개념 몽땅 정리

  • 멀웨어는 malicious(악의 있는)와 software(소프트웨어)의 합성어이다. 이러한 사이버 무기는 다른 국가의 핵심 시설이나 인프라를 감시하거나 파괴하려고 국가나 특정 기관에서 만들어 사용한다.
  • 멀웨어 중 바이러스(virus)와 웜(worm)이 가장 많이 알려져있다. 이 둘의는 복제 방식의 차잇점이 있다.
  • 바이러스는 숙주가 필요하고, 웜은 자기 자신을 복제하면서 전파되기에 USB를 통해서도 전파할 수 있는 무시무시한 멀웨어다.
  • 웜은 미사일(missile)과 페이로드(payload)가 있어야한다. 웜은 미사일을 통해 컴퓨터 보안 구조의 가장 깊은 곳(중앙 보안 링), 컴퓨터의 모든 자원을 관리하는 운영체제 바로 옆에 설치된다. 여기까지 들어올 수 있는 이유는 '제로 데이 취약점' 때문이다. 제로 데이 취약점은 아직 아무도 발견하지 못한 프로그램의 취약점을 뜻한다.

소감

  • 웹 개발도 웹 개발이지만 데이터 분석과 인공지능 쪽에도 관심이 있기에 Tensorflow를 이용해서 인공지능 모델 하나 만들어보는 것도 너무 좋을 것 같다.

  • 하루를 마감할 때 책을 읽는 것을 마지막으로 2주를 보냈는데 과거부터 현재까지 이르는 IT 지식들을 정말 쉽게 예를 들어주면서 설명받는 느낌이였다. 이렇게 책 읽기를 마무리하면서 역시나! 하루하루 계획을 세워두고 책을 읽어볼 수 있었던 것은 너무 좋았다. 하지만 아쉬웠던 점은 책을 잠자기 전에 읽다보니 그날그날 궁금했던 내용들을 다음날에 찾아볼 수 있었던 것인데 다음 책을 읽을 때는 하루에 마무리가 아닌 책을 읽는 것이 하루에 시작이 되면 더 좋겠다는 생각이 들었다.

추가 복습할 내용

  • Tensorflow, REST API 설계 규칙, 도커
profile
TILog

0개의 댓글