2023-01-25 TIL 에피소드 39~45
- 세줄 요약
인공지능, 머신러닝, 딥러닝의 차이, REST API의 개념, 개발환경을 쉽게 세팅해 주는 도커와 도커가 동작하는 환경인 컨테이너, 암호화폐와 코인의 진실, 하이브리드앱/크로스 플랫폼 앱/네이티브 앱이 무엇인지, 유일함을 증명하는 NFT가 무엇인지, 멀웨어/바이러스,/웜 개념과 사이버무기 스턱스넷에 대해 알아볼 수 있다.
- 책에서 기억하고 싶은 내용
인공지능은 좁은 인공지능과 일반 인공지능으로 나눌 수 있다(39. 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고?)
- 일반 인공지능은 사람처럼 행동하는 인공지능이다. 지금 기술로는 일반 인공지능을 만들 수 없다. 현실에는 없는 영화나 드라마에서 볼 수 있는 인공지능
- 좁은 인공지능은 한 가지만 잘하는 인공지능이다. 몇 가지 일만 할 줄 안다. 현재 인공지능 기술의 위치
- ex. 페이스북의 얼굴 인식 기능, 빅스비, 시리와 같은 음성 인식 기술
머신러닝은 인공지능을 학습시키는(만드는) 방법이다
- 지도 학습 : 라벨(label)에 부합하는지 아닌지 알려주면서 학습시킴(사물의 특징을 계속 알려주는 것)
- ex. 음악 추천 시스템
- 비지도 학습 : 라벨이 없는 데이터만 왕창 주고 스스로 어떤 것인지 알아차리도록 함
- 머신러닝을 배울 수 있는 가장 쉬운 방법은 파이썬을 이용하는 것
- 텐서플로(Tensor Flow)는 인공지능을 개발하는 도구로 가장 유명한 프레임워크
머신러닝의 하위 개념, 딥러닝
- 딥러닝은 엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류다
REST API는 REST 방식으로 설계한 API를 말한다(40. REST API라니, 휴식 API인가? 이게 대체 뭐죠?)
- REST API는 API의 한 종류이며, 설계 철학이다
- URL에 패턴이 없다면, 사람이 작업할 때 실수하기 쉬움
- URL에서 동사 제외하고 명사만 사용하기
- 동사를 제외하는 대신, HTTP 메서드를 활용한다
- 동사를 사용하지 않으면 URL이 단순하게 바뀐다는 장점이 있다. 특정 영화 정보의 조회, 생성, 수정, 삭제를 URL 1개로 모두 할 수 있고, 기능을 확장하기도 좋다
- HTTP 메서드로만 설계하기 어려운 것은 쿼리를 도입하기. 쿼리 파라미터 사용
HTTP 메서드란 웹 기술을 뜻하는데, 쉽게 말해 같은 URL로 백엔드에서 다른 처리를 할 수 있도록 일종의 갈림길을 만들어 주는 녀석이다
- 대표적으로 GET조회, POST생성, PUT수정, DELETE삭제가 있다
도커는 개발 환경이 맞지 않은 상황 또는 개발 환경이 변경되었을 때 유연하게 대처할 수 있도록 해준다(41. 도커가 뭐지? 왜 필요할까?)
- 도커는 원하는 개발 환경을 도커 파일에 저장하여 준비해 준다.
- 도커가 마련한 개발 환경은 컨테이너 형태로 존재하므로 개발에 필요한 도구를 따로 모아 준비할 수도 있고, 쉽게 복제할 수도 있다.
도커가 준비한 프로그래밍 언어가 동작하는 환경을 컨테이너라고 한다
암호화폐는 우리나라 정부에서 승인한 거래소에서만 살 수 있지만, 과세할 수는 없다(42. 암호화폐의 진실)
디파이(DeFi)란, decentralized finance의 줄임말로 탈중앙화된 금융이란 뜻이다
암호화폐 세상에는 나의 모든 정보가 공개된다
- 암호화폐 주변에는 늘 사기꾼이 넘쳐 난다.
- 사기 감별 노하우
- 모든 코인에 가치가 있는 건 아니다
- 암호화폐에 대해 수식어를 남발하는 사람은 거르자
- 코인, 커뮤니티 등 진짜 정보를 살펴라. 가격만 올려서 팔고 도망가는 펌프 앤드 덤프(pumps and dumps)인 곳일 수도 있으므로 코드의 마지막 업데이트 날짜와 커뮤니티의 크기와 내용을 봐야 한다.
- 탈중앙화된 코인인지 살펴라(탈중앙화되지 않은 코인은 만든 곳에서 언제든지 마음대로 할 수 있는 매우 위험한 코인을 말함)
- 이론상 안전한 코인을 골라라(스테이블 코인인 DAI는 보증 주체가 회사가 아니라 알고리즘이다)
하이브리드 앱이란, 웹 사이트를 보여 주는 웹 뷰로 만든 웹 앱을 말한다(43. 하이브리드...앱? 뭐라고요?)
- 웹 뷰란, 웹 브라우저에서 주소 창(네비게이션)을 제외한 윈도우 부분이다
- 하이브리드 앱은 HTML, CSS, 자바스크립트로 개발한 웹 앱을 iOS와 안드로이드에서 모두 쓸 수 있도록 하이브리드로 만들어 앱을 판매하는 곳으로 보내는 것이다
- 사용자는 그냥 앱이라고 생각하면서 사용하겠지만, 결국 그들이 보는 것은 주소창이 없는 브라우저이다
- 하이브리드 앱을 만들고 싶다면 아파치 코르도바(Apache Cordova)를 찾아보자
- 장점
- 네이티브 앱 개발 지식이 필요 없다. HTML, CSS, 자바스크립트만 알아도 모바일 앱을 개발할 수 있다!
- 단점
- UI를 한 땀 한 땀 짜야 해서 귀찮고, 스마트폰의 고급 하드웨어 기능을 온전히 활용하지 못한다.
크로스 플랫폼 앱은 특정한 언어로 코딩하면 나중에 iOS, 안드로이드가 이해할 수 있는 네이티브 코드로 변환된다
- 장점
- 개발자가 익숙한 코드로 한 번만 작성해도 OK! iOS와 안드로이드 각각 코딩할 필요 없이 한 번에 앱을 2개 만들 수 있어서 시간을 절약할 수 있다.
- 배경이 다양한 개발자가 한자리에 모인 덕분에 다양한 형태의 라이브러리, 튜토리얼이 생겨 커뮤니티가 발전한다.
- 단점
- 네이티브 앱의 성능은 아직 따라갈 수 없다.
- 크로스 플랫폼 앱은 네이티브 언어로 변환하는 과정이 있어서 성능에는 조금 문제가 있을 수 밖에 없다.
- 크로스 플랫폼 앱 개발 방식은 최고의 선택지!
- ex. 인스타그램의 일부는 리액트 네이티브로 개발했음
네이티브 앱은 iOS만을 위한, 또는 안드로이드만을 위한 언어로 코드를 작성하여 개발한 앱이다
- iOS는 스위프트라는 언어를 사용하고, 안드로이드는 자바나 코틀린이라는 언어를 사용해서 만든다
- 장점
- 스마트폰의 성능을 최대로 사용할 수 있다
- 단점
- 다른 앱에 비해 배우는 데 시간이 2배 걸린다
- iOS, 안드로이드를 위한 언어를 몽땅 배워야하며 유지보수도 따로 해야 함
NFT(Non Fungible Token)는 대체 불가능한 토큰이며 유일함, 소유권을 증명한다(44. NFT가 도대체 뭐길래?)
- 토큰이란, 이더리움과 같은 블록체인으로 발행한다
- 토큰에는 2가지 핵심기능, 즉 '돈을 받는 기능'과 '돈을 받고 토큰을 보내 주는 기능'이 반드시 있다(스마트 계약)
- 토큰을 잘 활용한 예는 코인이고, 코인은 여러 개 있을 수 있으니 화폐처럼 쓰이는 것
- NFT는 토큰을 딱 1개만 발행할 수 있도록 스마트 계약을 만든다
- NFT가 비싼 이유는 유일한 원본, 진짜라는 사실이 가치를 크게 높여 주며,유일한 원본임을 증명하는 기술이다
- ex. 트위터 역사의 시작을 알린 첫 번째 트윗, 트위터 창업자 잭 도시의 트윗, 비플의 작품 에브리데이즈, 액시 인피니티의 게임 캐릭터
멀웨어(malware)는 악성 소프트웨어로 컴퓨터를 감시하거나 파괴하는 사이버 무기이다(45. 멀웨어, 바이러스, 웜 개념 몽땅 정리)
- malicious(악의 있는)와 software(소프트웨어)의 합성어
- 멀웨어에는 바이러스와 웜이 있다
- 바이러스와 웜의 공통점은 복제되어 전파된다는 것이다
- 복제 방식이 다름
숙주가 필요한 바이러스
- 어떤 파일을 내려받아서 열 때 감염되었다면 그 파일 이 숙주이고, 바이러스는 그 파일 안에 들어있는 것
숙주가 필요 없는 웜
- 웜은 자기 자신을 복제하면서 전파된다
- 미사일을 통해 컴퓨터 안에 침투하고, 그 순간 페이로드를 배포하는 방식으로 컴퓨터를 파괴
- 암호화된 상태로 내 컴퓨터에 도착해서 스스로 암호를 해제하고 웜을 만들었던 본부에 연락함
- 보안 링 구조에서 가장 깊은 곳인 중앙 보안 링(컴퓨터의 모든 자원을 관리하는 운영체제)에 설치됨. 웜이 백신 프로그램보다 우위에 있다는 것을 의미함
- ex. 스턱스넷(Stuxnet)
역사상 가장 복잡하고 강력했던 사이버 무기 스턱스넷 Stuxnet
- 스턱스넷이라는 웜은 제로데이(아직 아무도 발견하지 못한 프로그램의 취약점)를 무려 4개나 가지고 있었다
- 스턱스넷은 컴퓨터를 10만여 대나 감염시켰지만 아무것도 하지 않았음. 이유는 특별한 발동 조건이 있어야만 공격을 시작하기 때문이다.
- 스턱스넷의 목표는 핵 원심 분리기
- 감염된 컴퓨터가 WinCC라는 프로그램을 실행하면 페이로드를 배포해서 공격하도록 설계됨. WinCC는 PLC(programmable logic controller) 즉 산업 현상에 있는 기계들을 감시하거나 제어하는 장치를 관리함
- 스턱스넷은 PLC 중에서도 핵 원심 분리기(농축 우라늄을 만드는 기계)를 찾는 것
- 오늘 읽은 소감은?
코인 안하길 잘했다. 난 안전한 곳을 택할거야.
바이러스와 웜이 어떻게 다른지, 스턱스넷은 어떻게 전파되는지 과정과 방식을 알아가는 게 너무 재밌다! 니꼴라스쌤이 잡학사전 2권을 또 써주시면 좋을 것 같다!
- 떠오르는 생각을 가볍게 적어보세요
없음
- 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요
없음
'독서 > IT' 카테고리의 다른 글
[IT 5분 잡학사전] 노개북 챌린지 12일차 TIL (0) | 2023.01.25 |
---|---|
[IT 5분 잡학사전] 노개북 챌린지 10일차 TIL (0) | 2023.01.22 |
[IT 5분 잡학사전] 노개북 챌린지 9일차 TIL (0) | 2023.01.21 |
[IT 5분 잡학사전] 노개북 챌린지 7일차 TIL (1) | 2023.01.20 |
[IT 5분 잡학사전] 노개북 챌린지 6일차 TIL (0) | 2023.01.19 |