Community

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

← Go back

[IT 5분 잡학사전] TIL 230906(Day13)

#book_club
1년 전
552

오늘 TIL 3줄 요약

  • 재택근무는 자신을 통제할 수 있어야 함 → 일의 시작과 끝, 일하는 공간을 명확히 하기

  • 네이티브앱은 스마트폰의 성능을 최대로 활용할 수 있음(각각의 OS를 위한 언어로 작성해서 개발하기 때문), 하이브리드 앱과 크로스 플랫폼 앱은 한 번의 코드 작업으로 두 환경에서 실행 가능함. 작업하는 코드가 웹 기술이면서 그대로 활용을 하는 하이브리드 앱과 달리 크로스 플랫폼 앱은 작업 코드가 네이티브 코드로 변환됨. 성능의 문제가 있을 수 있음. 하지만 잘 활용한다면 최적의 방법임.

  • 웹 개발을 위해 어떤 과정으로 공부할 지 큰 그림을 그려라!

TIL (Today I Learned) 날짜

  • 2023. 09. 06

오늘 읽은 범위

  • EP39 인공지능, 머신러닝, 딥러닝, 아직도 구분하기 힘들다고?

  • EP40 REST API라니, 휴식 API인가? 이게 대체 뭐죠?

  • EP41 도커가 뭐지? 왜 필요할까?

  • EP42 암호화폐의 진실

  • EP43 하이브리드…앱? 뭐라고요?

  • EP44 NFT가 도대체 뭐길래?

  • EP45 멀웨어, 바이러스, 웜 개념 몽땅 정리

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

  • 인공지능(AI, Artificial Intelligence)

    • 일반 인공지능 : 사람처럼 행동하는 인공지능 → 현실에 없음

    • 좁은 인공지능 : 정해진 일을 탁월하게 하는 인공지능 → 빅스비(Bixby), 시리(Siri), 알파고 등

  • 머신러닝(ML, Machine Learning) : 인공지능을 학습시키는 방법

    • 지도 학습(Supervised Learning)

      • 인간이 기계에게 준 라벨을 토대로 학습

    • 비지도 학습(Unsupervised Learning)

      • 라벨이 없는 데이터로 학습

      • 정답을 미리 알려주지 않고 기계는 수많은 데이터와 프로세싱 파워를 바탕으로 스스로 정답을 찾아서 학습

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

      • 코드를 묶은 것을 층이라고 하는데, 층이 굉장히 깊어서(deep) 딥러닝이라고 함

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

    • 배울수 있는 방법

      • 파이썬 공부 → Tensor Flow(인공지능 개발하는 도구) 공부

  • REST(REpresentational State Transfer) API

    • REST 방식으로 설계한 API

    • URL에서 동사 제외하기 → URL이 단순해지고 기능 확장이 쉬움

    • HTML 메소드 활용하기 → 하나의 API 주소로 4가지 일을 할 수 있음

      • GET : 조회

      • POST : 생성

      • PUT : 수정

      • DELETE : 삭제

    • 조건이 필요할 때에는 쿼리 파라미터 이용하기

  • 도커(Docker)

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

    • 개발 환경이 맞지 않은 상황 또는 개발 환경이 변경되었을 때 유연하게 대처 가능

    • 서로 다른 개발 환경에서 도커 적용하기

      1. PC(윈도우)에도 서버(리눅스)에도 도커 설치하기

      2. 도커파일(Dockerfile) 생성 : 구현 환경 목록 작성

      3. PC와 서버에 도커파일 전달 → 도커는 자동으로 파일을 확인해 필요한 것을 내려받아서 설치함

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

      • 여러 개발 환경을 컨테이너로 나누어서 관리할 수 있음

      • 도커 컨테이너는 각각 서로 분리되어 있고 독립적임

      • 어플리케이션 사용량이 증가/감소하면 컨테이너 개수를 조정하여 쉽게 관리 가능

    • 도커와 컨테이너가 없다면 사용량이 늘어날 때마다 서버를 구매하고, 환경을 설정하는 작업을 반복해야 할 것임

  • 암호화폐

    • 암호화폐는 정부가 없앨 수 없음 → 없애려면 세상의 모든 인터넷을 꺼야 하는데 사실상 불가능함

    • 거래소를 통제하는 간접적인 방법으로 규제할 수는 있음

    • DeFi(Decentralized Finance) : 탈중화된 금융

    • 암호화폐는 재산을 안전하게 하는 역할을 스스로 해야 함 → 스스로 은행역할을 해야 함

    • 진짜 암호화폐

      • 누구나 코드를 복사해서 코인을 만들 수 있기 때문에 코인은 무조건 가치가 없음

      • 코인의 마지막 업데이트 날짜, 커뮤니티 참여율, 커뮤니티 글의 퀄리티(가격만 얘기하고 있지는 않은지) 등을 따져봐야 함

      • 탈중화되어 있는 코인이 진짜

      • 이론상 안정된 코인인지 확인

  • 하이브리드, 크로스 플랫폼, 네이티브 앱 → 모바일 어플리케이션을 만드는 방식

    • 하이브리드앱 : 웹 앱

      • 장 : 네이티브 앱의 개발 지식이 필요 없음

      • 단 : 스마트폰의 성능을 온전히 활용하지 못함

    • 크로스 플랫폼 앱 : 특정 언어가 iOS, 안드로이드 네이티브 코드로 변환된 앱

      • 장 : 한 번의 코드 작성으로 두 환경에서 실행 가능, 배경이 다양한 개발자가 모여 다양한 라이브러리, 튜토리얼이 생겨 커뮤니티가 발전함

      • 단 : 네이티브 앱의 성능을 따라갈 수 없음, 네이티브 언어로 변환하는 과정에 있어서 성능의 문제가 있을 수 밖에 없음

      • 적절하게 쓰기만 한다면 크로스 플랫폼 앱 개발 방식은 최고의 선택!

    • 네이티브앱 : 각 OS를 위한 언어로 코드를 작성해 개발된 앱

      • 장 : 스마트폰의 성능을 최대로 사용할 수 있음

      • 단 : iOS, 안드로이드를 위한 각각의 언어를 배워야 함, 같은 기능의 앱을 2개 만드는 시간이 필요함, 유지보수도 따로 해야 함

  • NFT(Non Fungible Token) : 대체 불가능한 토큰

    • 토큰의 2가지 핵심 기능 → 스마트 계약(Smart Contract)

      • 돈을 받는 기능

      • 돈을 받고 토큰을 보내주는 기능

    • 토큰을 잘 활용한 예가 코인임

    • 토큰을 딱 1개만 발행할 수 있도록 스마트 게약을 만들고 그 안에 이미지, 영상, 노래, 전세 계약 등을 넣으면 NFT가 탄생하게 됨

    • 유일한 원본, 진짜라는 사실이 가치를 크게 높여줌

    • 유일한 원본임을 증명하는 기술 → 인터넷 상에서 재산권을 증명하는 기술

  • 멀웨어(Malware), 바이러스(Virus), 웜(Warm)

    • 멀웨어는 Malicious(악의 있는) Software의 합성어로 악성 소프트웨어

    • 바이러스(Virus)와 웜(Warm)은 멀웨어의 종류

    • 바이러스

      • 숙주가 필요함

      • 파일을 내려 받음으로써 전파됨

      • 숙주가 필요하지 않음

      • 자신을 복제하면서 전파됨

      • 미사일과 페이로드가 필요함. 미사일을 통해 컴퓨터 안에 침투하고 페이로드를 배포하는 방식으로 컴퓨터를 파괴시킴

    • 웜이 컴퓨터를 파괴시키는 과정

      • 감염된 컴퓨터에 있다가 USB 같은 저장 장치와 연결되면 이것을 타고 다른 컴퓨터에 침투함

      • 스스로 암호를 해제차고 웜을 만들었던 본부에게 컴퓨터 정보를 보냄

      • 컴퓨터의 루트에 설치되기 때문에 백신 프로그램보다 우위에 존재함

    • 제로 데이(zero day) 취약점 : 어떤 프로그램의 취약점이 발견되는 날까지 고칠 수 있는 시간이 없는 것을 의미

    • 스턱스넷(Stuxnet) : 역사상 가장 복잡하고 강력했던 사이버 무기, 웜

      • 제로 데이 취약점을 4개 가지고 있었음

      • Realtek 컴퓨터 드라이버를 설치함 → 컴퓨터 드라이버는 에어갭(Air gap, 인터넷에 연결하지 않는 컴퓨터)에 저장하기 때문에 리얼텍 회사에 접근해서 해당 자료를 추출했다는 얘기임

      • 컴퓨터 10만여대를 감염시킴

      • 이 웜은 핵 원심 분리기에서 지멘스(Siemens) WinCC(PLC프로그램) 프로그램을 실행할 때 공격을 시작하도록 설계되어 있었음

        → 분쟁 지역의 핵 시설을 마비시키기 위함

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

  • 나도 REST API를 휴식 API인가? 라고 생각했던 적이 있었다 ㅋㅋㅋ

  • 나만의 NFT 만들 수 있을까?

  • 웜 바이러스라고 말하고 있었는데, 웜과 바이러스는 각각 다른 것이었음!

더 알아보기

최대 TIL

  • pcn02115님 TIL : 깔끔한 정리 좋네요.

  • blueseo님 TIL : 예시코드를 작성해 이해가 쉬워요. (고양이 아이콘이 귀여워서 클릭하게 되네요)

  • inalee님 TIL : 마치 일기장을 보는 듯한 생생한 글이 인상적입니다. 제 링크 오류 알려주셔서 감사해요.