생각 정리
조금은 어려운 내용이 많았지만, 적절한 비유를 통해 쉽게 이해할 수 있었다. 혼자 읽었다면 오래 걸렸을 수도 있었는데, 챌린지를 통해 많은 사람과 함께 끝까지 읽을 수 있어서 좋았다. 매번 읽은 내용을 정리하면서 다시 읽으면서 TIL를 적어서 더 오랫동안 기억에 남을 거 같고, 후에 정리본을 다시 읽어서 복습도 할 수 있을 것 같다. 중간중간 응원과 야단(?)도 있었지만 당근과 채찍 같아서 더 좋은 더 멋진 개발자가 되기 위해 힘을 얻었다

읽은 범위
Ep.39 : 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고?
Ep.40 : REST API라니, 휴식 API인가? 이게 대체 뭐죠?
Ep.41 : 도커가 뭐지? 왜 필요할까?
Ep.42 : 암호화폐의 진실
Ep.43 : 하이브리드...앱? 뭐라고요?
Ep.44 : NFT가 도대체 뭐라고요?
Ep.45 : 멀웨어, 바이러스, 웜 개념 몽땅 정리
에피소드 39 : 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고?
딥러닝 | 머신러닝 |
머신러닝을 달성하기 위한 방법, 머신 러닝의 한 종류 | 인공지능을 만드는 데 필요한 방법 |
일반 인공지능 | 좁은 인공지능 |
사람처럼 행동하는 인공지능 | 한가지만 잘하는 인공지능, 한정된 영역에서만 동작 |
인간의 행동을 할 수 있거나, 인간보다 능력이 뛰어남 | 딥러닝이나 머신러닝으로 만듬 |
대화, 게임, 판단도 가능 | 몇 가지 일만 가능, 단 탁월하게 잘함 |
현실에 없음 (현 기술로는 불가능) | 페이스북의 얼굴인식, 빅스비(Bixby), 시리(Siri) (현 인공지능 기술의 위치) |
머신러닝은 인공지능을 학습시키는 방법 | ||
구분 | 지도학습 (supervised learning) | 비지도학습 (unsupervised learning) |
정의 | 라벨(label)을 토대로 학습시킴 | 라벨이 없는 데이터를 줌 |
예시 | 핫도그의 특징을 알려줌 > 학습한 특징과 비교해서 대상을 파악함 | 핫도그 사진만 수만 장 줌 > 기계 스스로 어떤게 핫도그인지 학습함 |
에피소드 40 : REST API 라니, 휴식 API 인가? 이게 대체 뭐죠?
REST API는 API의 한 종류, REST: representational state transfer, 설계 철학
REST 방식으로 설계한 API
REST API 적용 단계 예시
- REST 없이 영화 API 설계하기 > 이렇게 설계된 API 는 실수가 생길 위험이 높다 (단어 혼동)
- 영화 정보 생성: /createMovie
- 모든 영화 정보 조회: /seeMovies
- 특정 영화 정보 조회(영화 인셉션): /getMovie/inception
- 특정 영화 정보 삭제: /deleteMovie/inception
- 특정 영화 정보 수정: /editMovie/inception
- URL에서 동사를 제외하기
- 모든 영화 정보 조회 /movies
- 특정 영화 정보 조회 /movies/inception
- HTTP 메서드 도입하기
- HTTP 메서란 웹 기술을 말한다. 같은 URL로 백엔드에서 다른 처리를 할 수 있도록 해주는 갈림길 같은 역할
- 대표적으로 GET, POST, PUT, DELETE
- 쿼리 도입하기
- 명사나 HTTP 메서드만으로 설계하기 어려운 경우
- GET /movies? min+rating=9.8
- GET /movies? release_date=2022
에피소드 41 : 도커가 뭐지? 왜 필요할까?
도커
- 어떤 컴퓨터에서도 같은 개발 환경을 준비할 수 있도록 해주는 도구
- 도커가 준비한 프로그래밍 언어가 동작하는 환경을 컨테이너 라고 한다
- 도커는 원하는 개발 환경을 도커 파일에 저장하여 준비해 준다
- 도커가 마련한 개발 환경은 컨테이너 형태로 존재하므로 개발에 필요한 도구를 따로 모아 준비할 수 있고, 쉽게 복제할 수 있다
- 도커는 개발 환경을 쉽게 준비할 수 있고, 추가 개발 환경은 컨테이너를 복제하면 바로 준비할 수 있다
에피소드 42 : 암호화폐의 진실
암호화폐를 정부가 규제할 수 있을까?
결론부터 말하면 불가능하다
네트워크이기 때문에 세상의 모든 인터넷을 꺼야 하기 때문이다
하지만 거래소를 통제하는 간접적인 방법으로 규제할 순 있다
이렇게 정부가 거래소를 관리한다는 건 암호화폐를 사는 사람을 관리하는 걸 의미한다
그러나 산 이후에는 정부가 할 수 있는 것은 거의 없기 때문에, 구매자 암호화폐를 어디에 보냈는지, 무엇을 샀는지 등 알 수 없다
암호화폐의 익명성과 책임의 균형
암호화폐는 사용한 사람을 은행 자체로 만들기 때문에, 지갑과 키를 관리해야 하는 숙제가 발생한다
암호화폐 세상에는 모든 정보가 공개된다
내 비트코인 주소만 알면 나에게 돈이 얼마가 있는지, 얼마를 받았는지, 얼마를 송금했는지 등 모든 정보를 알아낼 수 있다
또한 누구에게도 도움을 요청할 수 없다
주변엔 사기꾼이 넘쳐나고, 아무도 믿을 수 없다
스스로 암호화폐 관련 공부를 열심히 하는 것밖에 방법이 없다
암호화폐 사기를 당하지 않으려면
디파이(DeFi)란 탈중앙화 금융(Decentralized Finance)의 약자로서, 탈중앙화된 분산금융 또는 분산재정을 의미한다
주로 암호화폐를 담보로 걸고 일정 금액을 대출받거나, 혹은 다른 담보를 제공하고 암호화폐를 대출받는 방식으로 작동한다
- 모든 코인에 가치가 있는 건 아니다
사실 코인 만들기 자체만 놓고 보면 매우 쉬워. 누구나 코드를 복사해서 코인을 만들 수 있다
그래서 코인은 무조건 가치가 없다 - 암호화폐에 대해 수식어를 남발하는 사람은 거르자
어떤 암호화폐 사이트에 접속했더니 '탈중앙화된 오라클 프로토콜을 사용한, 머신 러닝에 최적화된 유동성 풀을 만든 코인'이라고 자신이 만든 암호화폐를 소개하는 글이 있었는데, 이렇게 복잡하고 어렵게 표현한 사이트는 피하는 게 좋다
실제로 이 사이트는 가치가 없는 코인을 파는 곳이었다 - 코인, 커뮤니티 등 진짜 정보를 살펴라
만약 마음에 드는 암호화폐 프로젝트를 발견했다면, 사이트를 소개하는 글은 무시하는 게 좋다
진짜 정보가 없기 때문이다.- 다음은 암호화폐의 진짜 정보를 알아보는 질문이야
- 코드의 마지막 업데이트 날짜는 언제인가?
- 커뮤니티에 얼마나 많은 사람이 참여했는가?
- 커뮤니티에서 가격 이야기만 떠들고 있는가?
- 만약 코드 업데이트 날짜도 오래되었고, 커뮤니티에 글은 많이 올라오는데 가격 이야기만 한다면 그 암호화폐 프로젝은 관심을 접는 것이 좋다
- 가격만 올려서 팔고 도망가는 곳일 수도 있다
- 탈중앙화된 코인인지 살펴라
왜냐하면 코인이라고 전부 다 암호화폐이고 탈중앙화된 것은 아니다
그럼 탈중앙화되지 않은 코인이 뭐냐고?
그 코인은 만든 곳에서 언제든지 마음대로 할 수 있기 때문에, 매우 위험한 코인이다 - 이론상 안전한 코인을 골라라
스테이블 코인 (stable coin) : '안정된' 코인, 다른 자산에 코인 가치가 연결되어 있어서 가격 변동이 거의 없음
DAI 역시 스테이블코인인데 보증 주체가 회사가 아니라 알고리즘이다
코인의 안정성을 알고리즘이 보증할 수 있지만, 알고리즘도 다 믿을 수는 없다
계속 공부하는 것이 중요하다
코인은 항상 조심하는 수밖에 없어. 사기꾼을 완전히 차단할 수 없는 것이 현실이거든
에피소드 43 : 하이브리드... 앱? 뭐라고요?
구분 | 하이브리드 앱 | 크로스 플랫폼 앱 | 네이티브앱 |
무엇 | 웹 사이트를 보여주는 웹 뷰 (브라우저의 윈도우 부분) |
특정한 언어로 코딩하면 iOS, 안드로이드가 이해 할 수 있는 코드로 변환 |
iOS(스위프트), 안드로이드(자바, 코틀린) 각각의 앱을 위한 언어로 개발 |
장점 | 네이티브 앱 개발 지식이 필요없음 HTML,CSS, 자바스크립트만 알아도 충분히 개발 가능 |
코드를 한 번만 작성해도 iOS, 안드로이드 두 환경에서 실행할 수 있음 배경이 다양한 개발자들이 한자리에 모임 다양한 형태의 라이브러리, 튜토리얼이 생겨서 커뮤니티 발전 |
스마트폰의 성능을 최대로 사용할 수 있음 코드와 스마트폰 사이에 중간 단계가 하나도 없이 잘 연결됨 |
단점 | UI를 한땀 한땀 짜야 해서 귀찮음 스마트폰의 성능을 온전히 활용 불가능 |
네이티브 앱의 성능은 아직 따라갈 수 없음 기술적인 한계, 네이티브 언어로 변환하는 과정이 있어서 성능에는 조금 문제가 생김 |
다른 앱에 비해 배우는 데 시간이 2배 걸림 각각의 앱을 위한 언어를 배워야함 2개의 앱을 만들어해서 시간이 배로 듬, 유지.보수도 따로 해야함 |
에피소드 44: NFT가 도대체 뭐길래?
NFT : non fungible token, 대체 불가능한 토큰 (땅, 한정판 신발, 전세 계약 같은)
토큰 : 이더리움 (Ethereum)과 같은 블록체인으로 발행, '돈을 받는 기능'과 '돈을 받고 토큰을 보내주는 기능'이 있다
이를 합쳐서 스마트 계약 (smart contract)이라 한다
NFT 그림은 왜 이렇게 비쌀까?
<모나리자>를 생각해 보자.
구글에서 누구나 그림을 볼 수 있지만 루브르 박물관에서 실물을 보는 것과는 다를 거야
왜냐하면 사람들은 레오나르도 다빈치를 화가로 여겨서 그 사람이 그린 진짜를 보고 싶어 하거든
유일한 원본, 진짜라는 사실이 가치를 크게 높여 주는 거야. 그리고 유일한 원본임을 증명하는 기술이 바로 NFT야
에피소드 45: 멀웨어, 바이러스, 웜 개념 몽땅 정리
멀웨어(malware = malicious:악의 있는+software:소프트웨어) : 악성소프트웨어
컴퓨터를 감시하거나 파괴함, 국가나 특정 기관에서 만듦, 다른 국가의 핵심 시설이나 인프라를 감시하거나 파괴
바이러스(virus)와 웜(worm)이 가장 많이 알려져 있다
구분 | 바이러스 | 웜 |
같은점 | 복제되어서 전파됨 | |
다른점 | 숙주가 필요 | 숙주가 필요 없음, 자기 자신을 복제하면서 전파 |
경로 | 파일 안에 있음, 파일을 내려 받아서 열 때 감염됨 | USB를 통해서도 전파 가능 |
'개발 이야기 > 개발 도서' 카테고리의 다른 글
제로초 자바스크립트 입문 #02 (1) | 2024.03.05 |
---|---|
제로초 자바스크립트 입문 #01 (0) | 2024.03.05 |
IT 5분 잡학사전 #8 (0) | 2023.02.22 |
IT 5분 잡학사전 #7 (0) | 2023.02.21 |
IT 5분 잡학사전 #6 (0) | 2023.02.20 |