Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

TIL / 230125 / 39-45

#book_club
2년 전
622
1

TIL (Today I Learned) 날짜

2023.01.25

오늘 읽은 범위

ep 39-45

책에서 기억하고 싶은 내용을 써보세요.

  1. 인공지능, 머신러닝, 딥러닝

    1. 인공지능

      • 좁은(약한) 인공지능과 일반(강한) 인공지능으로 나뉜다

        • 일반 인공지능 : 인간의 행동을 대부분 할 수 있거나 더 뛰어난 인공지능 (현재는 없다)

        • 좁은 인공지능 : 몇 가지 일만 가능하지만 그것을 잘한다

    2. 머신러닝

      • 인공지능을 학습시키는 방법

      • 지도 학습과 비지도 학습으로 나뉜다

        • 지도 학습 : 인간이 기계에게 준 라벨(일종의 특징)을 토대로 학습 및 대답

        • 비지도 학습 : 라벨 없이 수많은 데이터를 주어 스스로 특징을 찾고 학습

    3. 딥러닝

      • 머신러닝의 하위 개념으로, 머신러닝을 달성하기 위한 방법

      • 구현 과정에서 여러 겹의 깊은(deep) 층을 만들기 때문에 딥러닝

      • 엄청나게 많은 층으로 구성된 머신러닝의 한 종류

  2. REST API

    • REST(representational state transfer) 방식으로 설계된 API

    • api 설계에 URL을 만들 때, 같은 URL로 다른 작업을 할 수 있게 한다

    • 이때 URL에서 동사를 제외하고, HTTP 메서드를 도입

      • HTTP 메서드 : 웹 기술. 같은 URL로 백엔드에서 다른 처리를 할 수 있도록 갈림길을 만들어 줌

      • ex) '특정 영화 조회 : /getMovie/...' , '특정 영화 삭제 : /deleteMovie/...'
        처럼 각각 URL 을 만들지 않고
        'GET /movies/...' , 'DELETE /movies/...'
        처럼 같은 /movies/... URL에 HTTP 메서드로 다른 작업을 지시할 수 있다

      • URL이 단순해짐, 기능 확장 편해짐

      • 쿼리를 도입해 일정 파라미터를 기준으로 데이터를 찾는 것도 가능하다

  3. 도커(docker)

    • 원하는 개발 환경을 다른 장소에도 준비할 수 있도록 해주는 도구

    • 개발 환경을 준비할 곳에 도커를 설치하고, 구현할 환경 목록을 도커에 업로드하면 자동으로 필요한 파일을 확인하고 내려받아 설치

    • 필요한 개발 환경이 여러 종류면 도커에서도 개방 환경 종류를 컨테이너로 나눠 관리 가능

  4. 암호화폐

    • 암호화폐의 특징들

      • 탈중앙화 : 현실의 화폐를 사용하는 거래소는 정부가 승인하는 방식으로 간접적 통제를 하지만, 암호화폐를 구매한 이후에는 정부가 관여할 수 있는 것이 거의 없다

      • 익명성과 책임 : 암호화폐는 사용한 사람을 은행 자체로 만든다. 그만큼 지갑과 키를 잘 관리해야한다. 또한 어떤 암호화폐 프로젝트가 망하거나 사기였다 해도 도움을 요청할 수 없다.

  5. 앱 제작 방식 : 하이브리드, 크로스 플랫폼, 네이티브

    1. 하이브리드

      • 사실 웹 뷰로 만든 앱, 사용자가 보는 것은 주소 창 없는 브라우저

      • HTML, CSS, 자바스크립트로 개발한 웹 앱을 iOS랑 안드로이드에서도 쓸 수 있게 만든것

      • 네이티브 앱 개발 지식이 크게 필요하지 않음, UI를 한땀 한땀 짜야하고, 스마트폰의 성능을 온전히 활용할 수 없다.

    2. 크로스 플랫폼

      • 특정한 언어로 코딩해서 나중에 iOS, 안드로이드가 이해할 수 있는 코드로 변환해서 만듬

      • 어떤 언어로 작성한 코드가 나중에 네이티브 코드로 변환된다

      • 개발자가 익숙한 코드로 한번만 작성해도 iOS, 안드로이드 두 환경에서 실행가능, 다양한 개발자가 한자리에 모여 커뮤티티가 발전, 네이티브 앱 성능을 아직 따라갈 수 없음

    3. 네이티브 앱

      • iOS는 iOS를 위한 언어로, 안드로이드는 안드로이드를 위한 언어로 코드를 작성해 개발함

      • 스마트폰의 성능을 최대로 사용할 수 있지만, iOS와 안드로이드를 위한 언어를 다 배워야 하고 유지 및 보수도 따로 해야 한다.

  6. NFT

    • NFT(non fungible token) 대체 불가능한 토큰

    • 토큰의 핵심 기능은 '돈을 받는 기능'과 '돈을 받고 토큰을 보내주는 기능'(둘을 합쳐 스마트 계약)

    • 토큰을 딱 1개만 발행할 수 있도록 스마트 계약을 만든것(그 토큰 안에 이미지나 노래 등을 넣음)

    • 디지털 속에 유일함, 소유권이라는 개념을 부여해 준다.

  7. 멀웨어, 바이러스, 웜

    1. 멀웨어

      • malicious(악의 있는) software : 핵심 시설이나 인프라의 감시나 파괴 등의 목적

      • 바이러스나 웜이 잘 알려진 멀웨어

    2. 바이러스

      • 숙주가 필요함. 소위 감염된 파일에서 파일이 숙주역할

      • 숙주가 불필요. 자기 자신을 복제하면서 전파됨

      • 중앙보안 링(운영체제 옆-백신 프로그램보다 위)에 암호화된 상태로 침투(미사일)한 다음, 스스로 암호를 해제하고 웜을 만든 본부와 연락, 페이로드를 배포해 컴퓨터를 파괴한다

    3. 제로 데이 취약점

      • 아직 아무도 발견하지 못한 프로그램의 취약점

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 워낙 유명해서 이름은 들어봤지만 잘 모르던 것들을 알 수 있었다. 특히 머신러닝과 딥러닝의 관계!

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 이번엔 딱히 없음

1 comment