Community

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

← Go back
[TIL] IT 5분 잡학사전 EP.39 ~ EP.45
#book_club
6개월 전
566

오늘 TIL 3줄 요약

  • 인공지능, 머신러닝, 딥러닝 구분

  • 모바일 애플리케이션을 만드는 방법 3가지 하이브리드 방식(앱), 크로스 플랫폼 방식(앱), 네이티브 방식(앱)가 있다.

  • 도커는 어떤 컴퓨터에서도 같은 개발 환경을 준비할 수 있도록 해주는 도구이다.

TIL (Today I Learned) 날짜

2023.12.20

오늘 읽은 범위

EP.39 ~ EP.45

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

  • AI : 인공지능

    • 좁은 인공지능과 일반 인공지능으로 나뉨

    • 일반 인공지능 : 인간의 행동을 대부분 할 수 있거나 인간보다 능력이 더 뛰어 났을 때를 말함

    • 좁은 인공지능 : 몇 가지 일만 할 줄 알지만 그것을 탁월하게 잘함

      • 딥러닝이나 머신러닝으로 만드는 인공지능은 대부분 좁은 인공지능

      • 머신러닝과 딥러닝은 인공지능이 학습하는 방식 또는 인공지능을 학습시키는 방식을 말함

        • 지도 학습 : 사물의 특징을 머신러닝에서는 라벨(label)이라고 하는데, 기계 자율로 판단하지 않고 인간이 기계에게 준 라벨을 토대로 학습해서 대답하는 것

        • 비지도 학습 : 라벨이 없는 데이터를 주고 기계에 정답을 미리 알려주지 않고 사진 수만 장과 프로세싱을 바탕으로 스스로 그 특징을 찾아서 학습

  • 딥러닝 : 엄청나게 많은 층으로 구성되어 있는 머신러닝의 한 종류

    • 딥러닝이라고 하는 이유는 실제로 구현하는 과정에서 여러 겹으로 층을 만들기 때문

  • 머신러닝 :인공지능을 만드는 데 필요한 방법


  • REST API : REST 방식으로 설계한 API

    1. REST의 본질은 어떤 설계 규칙

    2. 단어를 혼용해서 API를 설계하면 x

    3. 동사를 사용하면x

      • 동사를 사용하지 않으면 URL이 단순하게 바뀌고 기능을 확장하기 좋아진다는 장점이 있음

    4. HTTP 메서드 도입

      • URL로 백엔드에서 다른 처리를 할 수 있도록 일동의 갈림길을 만들어 주는 녀석

      • 대표적으로 GET(조회), POST(생성), PUT(수정), DELETE(삭제)가 있음

    5. 쿼리 도입하기

      • 명사나 HTTP 메서드만으로는 설계가 어려울 때 쿼리 파라미터 사용


  • 도커(docker) : 어떤 컴퓨터에서도 같은 개발 환경을 준비할 수 있도록 해주는 도구

    • 원하는 개발 환경을 도커 파일에 저장하여 준비해 준다.

    • 컴퓨터에서 여러 프로그램을 개발할 때 필요한 여러 종류의 개발 환경들을 컨테이너로 나누어서 관리해줌

      • 도커가 준비한 프로그래밍 언어가 동작하는 환경을 컨테이너라고 함

      • 도커 컨테이너는 각각 서로 분리되어 있고 독립적이라서 컴퓨터 하나에 수많은 컨테이너가 있을 수 있음


  • 암호화폐

    • 정부가 규제할 수 없지만, 거래소를 통제하는 간접적인 방법으로는 규제 가능

    • 암호화폐는 사용한 사람을 은행 자체로 만듦

      • 재산을 안전하게 보관하는 역할을 우리 스스로 해야 함

    • 모든 정보가 공개되기 때문에 개인 정보 보호 문제가 있음


  • 모바일 애플리케이션

    • 하이브리드 방식(앱), 크로스 플랫폼 방식(앱), 네이티브 방식(앱)이 있음

    • 하이브리드 앱 : HTML, CSS, JavaScript로 개발한 웹 앱을 모바일에서도 쓸 수 있도록 하이브리드로 만들어 앱을 판매하는 곳으로 보내는 것

      • 주소창(네비게이션)이 없는 브라우저

      • 장점 : 네이티브 앱의 개발 지식이 크게 필요하지x

      • 단점 : UI를 한 땀 한 땀 짜야 하고, 스마트폰의 고급 하드웨어 기능을 활용하기 어려움

    • 크로스 플랫폼 앱 : 특정한 언어로 코딩하면 나중에 네이티브 코드로 변환됨

      • 장점 : 코드를 한 번만 작성해도 iOS, 안드로이드 두 환경에서 실행 가능

      • 단점 : 네이티브 언어로 변환하는 과정이 있어서 성능에는 조금 문제가 있을 수밖에 없음

    • 네이티브 앱 : iOS만을 위한, 안드로이드만을 위한 언어로 코드를 작성하며 개발

      • 장점 : 코드와 스마트폰 사이에 중간 단계가 하나도 없이 연결되어 있어서 스마트폰의 성능을 최대로 사용할 수 있음

      • 단점 : iOS, 안드로이드를 위한 언어를 모두 배워야 하고, 같은 앱을 만들어도 2개의 앱을 만드는 시간이 필요하며 유지, 보수도 따로 해야 함


  • NFT : 대체 불가능한 토큰, 유일한 원본임을 증명하는 기술

  • 토큰 : 이더리움과 같은 블록체인으로 발행

    • '돈을 받는 기능''돈을 보내 주는 기능'이 반드시 있어야 함

    • 위 두 기능을 합쳐서 스마트 계약이라고 함

    • 토큰을 잘 활용한 예는 코인이 있다.


  • 멀웨어(malware) : 악성 소프트웨어, 컴퓨터를 감시하거나 파괴함

    • 바이러스(virus)와 웜(worm)이 가장 많이 알려져 있음

    • 바이러스 : 숙주가 필요함, 어떤 파일을 내려 받아서 열 때 감염되었다면 그 파일이 숙주

    • : 숙주 필요x, 자기 자신을 복제하면서 전파됨

      • 미사일(missile)과 페이로드(payload)가 필요

      • 미사일을 통해 컴퓨터 안에 침투하고, 그 순간 페이로드를 배포하는 방식으로 컴퓨터를 파괴

      • 미사일은 컴퓨터 아주 깊은 곳까지 들어갈 수 있어서 페이로드보다 더 위험함

  • 제로 데이(zero day) : 아직 아무도 발견하지 못한 프로그램의 취약점

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

  • 모바일 애플리케이션을 만드는 방법 3가지에 대한 장단점을 알게 되었다.

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

  • 멀웨어, 바이러스, 웜 각각의 개념은 이해가 되지만 뒤쪽에 나오는 스턱스넷부분부터는 이해가 잘 되지 않는 것 같다.

최애틸