개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
인공지능 vs 머신러닝 vs 딥러닝
머신러닝은 인공지능을 학습시키는 방법 중 하나로, 데이터의 답지(라벨, label)를 제공하는 지도학습(supervised learning)과, 답지 없이 스스로 학습하는 비지도학습(unsupervised learning)으로 나누어진다.
딥러닝은 머신러닝의 하위개념으로, 여러 겹의 층(layer)으로 이루어진 알고리즘으로 인공지능을 학습시킨다.
REST API(Representational State Trasfer)
AIP를 설계하는 규칙.
동사+명사 형식으로 URL을 설계하지 않고, 명사만으로 URL을 설계한다.(/createMovie -> /movies)
HTTP 메서드(GET-조회 , POST-생성, PUT-수정, DELETE-삭제)를 통해 같은 URL이더라도 다른 방식으로 백엔드에 API를 요청할 수 있다.(GET /movies/inception/actors)
특정 조건을 설정하여 API를 요청할 경우 쿼리 파라미터를 사용한다.(GET /movies?min+rating=9.8)
도커(docker)
서로 다른 컴퓨터에 같은 개발 환경을 준비하도록 하는 도구
도커가 준비한 프로그래밍 언어가 동작하는 환경을 '컨테이너'라고 한다. 예를 들면 파이썬 개발을 위한 컨테이너, 자바스크립트를 위한 컨테이너를 별도로 준비할 수 있으며, 사용량에 따라 각각의 컨테이너를 조정할 수 있다. => 서버가 추가로 필요한 경우 새로 서버를 구매하여 환경설정을 다시할 필요 없이, 컨테이너를 복제하여 쉽게 개발 환경을 준비할 수 있다.
모바일 애플리케이션 개발 방식
하이브리드 방식 : HTML, CSS, JS로 개발한 웹 앱을 모바일에서 사용하는 것
장점: 네이티브 앱의 개발 지식 없이도 개발 가능 / 단점: 스마트폰 기능 활용 어려움
하이브리드 앱 만드는 플랫폼 : 아파치 코드로바(Apche Cordova)
크로스 플랫폼 방식 : 리액트 네이티브, 플러터 등 특정언어 및 프레임워크로 개발한 뒤 모바일 OS가 이해할 수 있는 언어로 컴파일하는 방법
장점: 코드를 한번만 작성해도 여러 OS에 맞는 앱을 만들 수 있다. 다양한 개발자가 모이다보니 커뮤니티가 활성화되어 있다.
단점: 네이티브 앱보다는 성능이 낮다.
네이티브 방식 : iOS는 스위프트, 안드로이드는 자바나 코틀린이라는 고유의 언어를 사용하여 모바일 앱을 만드는 방식
장점: 스마트폰의 성능을 최대로 사용 가능 / 단점: 모바일 OS가 다르면 언어도 다르다.
TIL (Today I Learned) 날짜
9. 6.
오늘 읽은 범위
EPI 39~45
책에서 기억하고 싶은 내용을 써보세요.
주니어 개발자가 빠르게 성장하는 방법
나무가 아니라 숲을 보고, 전체적인 공부 방향을 세우기
무료로라도 실무 경험을 쌓으면서 프로젝트를 실제로 해보기
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
Rest API에 대해 궁금해하고 있었는데, 마침 해당 내용을 설명해주셔서 이해가 잘 되었습니다.
실제 프로젝트로 부딪혀 보는 것과, 전체적인 그림을 보면서 공부를 해 나가는 것, 이 두가지를 유의하면서 성장해 나가야겠습니다.
오늘 읽은 다른사람의 TIL
https://nomadcoders.co/community/thread/8361 : 추가적인 공부가 대단하다!
https://nomadcoders.co/community/thread/8371 : 코드 예시까지 정성이 담긴 TIL