개발자 99% 커뮤니티에서 수다 떨어요!
일반 인공지능(general AI) === 강한 인공지능(strong AI)
: 사람처럼 행동하는 인공지능, 현재 기술로 구현 불가능
좁은 인공지능(narrow AI) === 약한 인공지능(weak AI)
: 한 가지만 잘하는 인공지능, ex) 빅스비, 시리, 페이스북의 얼굴 인식 기능
머신러닝
: 인공지능을 학습시키는 방법
지도 학습 (supervised learning)
인간이 기계에게 준 라벨을 토대로 학습
비지도 학습 (unsupervised learning)
라벨이 없는 데이터를 주고 프로세싱을 바탕으로 스스로 특징을 찾아 학습
딥러닝
: 머신러닝을 달성하기 위한 방법, 머신러닝의 하위개념,
엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류
실제로 구현하는 과정에서 여러겹으로 층을 만들기 때문 -> deep
Tensor Flow
: 인공지능을 개발하는 도구로 가장 유명한 프레임워크
REST API(Representational state transfer)
: REST방식으로 설계한 API
REST 없이 영화 API 설계하기
URL에서 동사 제외하기
-> URL이 단순하게 바뀜
-> 기능을 확장하기도 좋아짐
HTTP메서드 도입하기
HTTP메서드
: URL로 백엔드에서 다른 처리를 할 수 있도록 일종의 갈림길을 만들어주는 웹 기술
사용하면 같은 URL로 다른 작업을 할 수 있다
ex) GET, POST, PUT, DELETE
퀴리 도입하기
-> 쿼리파라미터 사용
도커(DOCKER)
: 개발환경 준비로 고생하는 사람들을 획기적으로 도와주는 도구
원하는 개발 환경을 도커 파일에 저장하여 준비해준다
도커가 마련한 개발 환경은 컨테이너 형태로 존재
-> 개발에 필요한 도구를 따로 모아 준비O, 쉽게 복제O
컨테이너
: 도커가 준비한 프로그래밍 언어가 동작하는 환경
모든 코인에 가치가 있는건 아니다
암호화폐에 대해 수식어를 남발하는 사람은 거르자
코인, 커뮤니티 등 진짜 정보를 살펴라
탈중앙화된 코인인지 살펴라
이론상 안전한 코인을 골라라
애플리케이션을 만드는 세 가지 방식
하이브리드 방식
크로스 플랫폼 방식
네이티브 방식
방식 대신 앱이라는 단어만 붙여서 그 방식으로 만들어진 애플리케이션을 표현한다
하이브리드앱
: HTML, CSS, JS로 개발한 웹 앱을 ios에서도 안드로이드에서도 쓸 수 있도록 하이브리드(hybrid)로 만든 앱, 웹사이트를 보여주는 웹뷰(브라우저의 윈도우 부분)
장점 - 네이티브 앱 개발 지식이 필요없음
단점 - UI를 한 땀 한 땀 짜야해서 귀찮음, 스마트폰의 성능을 온전히 활용X
크로스 플랫폼 앱
: 특정한 언어로 코딩하고 나중에 ios, 안드로이드가 이해할 수 있는 코드로 변환해서 만든 앱
장점 - 개발자가 익숙한 코드로 한 번만 작성해도 OK
단점 - 네이티브 앱의 성능은 아직 따라갈 수 없음
-> 기술적인 한계
네이티브 앱
: ios나 안드로이드 각각을 위한 언어로 코드를 작성하여 개발한 앱
ios - 스위프트
안드로이드 - 자바, 코틀린
장점 - 스마트폰의 성능을 최대로 사용할 수 있음
단점 - 다른 앱에 비해 배우는데 시간이 2배 걸림
NFT(None Fungible Token) - 대체 불가능한 토큰
: 유일한 원본임을 증명하는 기술
토큰을 딱 1개만 발행할 수 있도록 스마트 계약을 만들고 그 안에 이미지 등을 넣은 것
유일한 원본, 진짜라는 사실이 가치를 크게 높여줌
스마트 계약 : 토큰에 있는 2가지 핵심 기능
돈을 받는 기능
돈을 받고 토큰을 보내주는 기능
토큰을 잘 활용한 ex) 코인
코인은 여러개 있을 수 있다 -> 화폐처럼 쓰임
멀웨어(malware = malicious(악의 있는) + software)
: 악성 소프트웨어, 컴퓨터를 감시하거나 파괴하는 사이버 무기
멀웨어의 종류
바이러스
숙주가 필요, 복제되어 전파
웜
숙주가 불필요, 자신을 복제하면서 전파
미사일(missile)과 페이로드(payload)가 필요
웜은 미사일을 통해 컴퓨터 안에 침투하고 페이로드를 배포하는 방식으로 컴퓨터를 파괴
웜은 컴퓨터의 모든 자원을 관리하는 운영체제 바로 옆자리에 설치됨
-> 웜이 백신프로그램보다 우위
제로데이(zero day)
: 아직 아무도 발견하지 못한 프로그램의 취약점
휘귀하고 비싸다
역사상 가장 복잡하고 강력했던 사이버 무기 웜 스턱스넷(Stuxnet)
스턱스넷은 제로데이를 4개나 가지고 있었다
스턱스넷은 컴퓨터 드라이버를 설치하기도 했다
스턱스넷은 무려 10만여대나 감염시켰는데 공격을 시작하지 않았다
-> 공격을 시작할때 특별한 발동 조건이 있었기 때문
->특별한 발동 조건
: 감염된 컴퓨터가 WinCC라는 프로그램을 실행하면 페이로드를 배포해서 공격
WinCC : 지맨스라는 회사에서 만든 프로그램,
PLC(산업 현장에 있는 기계들을 감시하거나 제어하는 장치)를 관리
스턱스넷은 PLC 중에서도 핵원심 분리기를 찾아냈고 공격을 시도했다
일의 시작과 끝을 의식적으로 표현하기
일하는 공간 명확하게 구분하기
일하는 방에서는 쉬지 않는다
쉬고 싶다면 반드시 그 공간을 빠져나온다
함께 사는 사람에게 알리기
나무가 아니라 숲보기 : 기술에만 집중하지 않기
할 수만 있다면 무료로 일해보기 : 실무 경험 쌓기
라스트 TIL이라는 생각때문인지 범위때문인지ㅋㅋㅋ
평소보다 조금 더 길게 요약 정리가 되었지만 힘들지 않았다.
외우고 싶었던 내용들이 유독 많았는데 끝까지 알찬 느낌이라 너무 만족스럽다
나는 글에 색을 추가하거나 두께를 굵게 하는 작업을 제일 마지막에 하는데,
한 번 더 읽혀 정리가 되어 많은 도움이 된다.
간단히 알려줘도 장단점과 예시, 규칙까지 알아야할 것들은 다 알려줘서 이번에도 너무 좋았고,
마지막 에피소드로 멀웨어의 개념과 스턱스넷을 고른건 아주 좋은 선택이었던 것 같다.
너무 인상깊고 재미있는 내용이었다! 무서운 이야기를 들은 기분이다.
넘길 페이지가 더 없는게 아쉽기도 했지만 재밌는 내용을 읽고 책을 덮자 끝이 아닌 시작인 느낌이 들었다. 아직 챌린지는 하루가 더 남았지만 벌써 뿌듯하다 ㅎㅎ IT 잡학사전 완독!