[혼공얄코]4주차-강지윤
03-6 / IP는 뭐고 HTTPS는 뭐죠?
IP 주소 : 인터넷에 연결된 pc나 스마트폰도 각 기기를 식별할 수 있는 특수한 번호
연결된 네트워크 끝 단의 주소, 카페 인터넷에 연결하면 IP주소도 바뀜
공인 IP 주소 : 지구상 어느것과 중복되지 않는 고유 IP 주소(웹사이트 같은 서버 찾기 위한 용도 사용)
사설 IP 주소 : 공인 IP 주소가 부족해지면서 기기에 서로 다른 주소를 할당 할 수 없기 때문에 생긴 개념
고정 IP 주소 : IP 주소가 영구적으로 할당되어 변경되지 않는 주소
일정주기마다 IP 회수 -> 필요한 곳에 다시 나눠주는 전략
유동 IP 주소 : 기기에 고정적으로 IP를 부여하지 않고 남아 있는 IP주소를 기기에 할당(기업이나 기관에서 서버를 운영할때 사용)
도메인과 DNS : IP대신 naver.com, daum.net 등등 이름처럼 사용할 수 있는 것을 도메인
내부적으로는 도메인에 해당하는 IP 주소로 변환해서 경로를 안내해 주는 역할 -> DNS(연결된 IP 주소들 저장)
WWW, HTTP : 예시) https://www.naver.com
네이버
네이버 메인에서 다양한 정보와 유용한 컨텐츠를 만나 보세요
www.naver.com
https는 통신 규약, www가 붙은 자리는 호스트명, .com co.kr .edu가 도메인
WWW : 월드 와이드 웹, 메뉴 방식으로 서비스하던 기존 방식과 달리 하이퍼텍스트를 지원(엄청난 편리성)
HTTP : 네트워크로 이어진 두 컴퓨터가 어떤 종류의 소통을 할지 지정, 클라이언트의 요청과 서버의 응답으로 구성된 방식
웹사이트에서 사용하는 통신의 종류가 바로 HTTP
HTTPS : http를 사용해 접속하면 해당 웹사이트가 신뢰할 만한 곳인지 확인이 어려움 또 아무런 보안 장치 없이 데이터가 그대로 보내짐
-> 이런 취약점을 보완하기 위해 만들어진 것이 바로 HTTPS !
클라이언트와 서버는 서로 비밀리에 약속된 방식을 통해 주고받는 내용을 암호화하고 해독
요청 메소드와 응답 코드 :
GET : 브라우저에서 웹사이트에 접속할 때 보내는 요청, API에서도 서버로부터 데이터를 가져오기 위해 사용
POST : 서버에 새로 저장될 자료를 보냄
PUT : 특정 데이터 전체를 새로 저장
PATCH : 특정 데이터를 일부만 수정
DELETE : sns 게시물 등 특정 데이터 삭제
OPTIONS : url이 어떤 메소드를 허용하는지 물어보기 위해 사용
03-7 / 디지털 시대, 데이터와 데이터베이스의 이해
데이터와 데이터베이스 : 데이터는 정보보다 더 작은 개념,
데이터 : 어떤 의미나 목적 없이 단순히 수집된 순수한 자료 -> 데이터가 모여서 의도나 목적에 따라 분석되는 의미 부여가 정보
많은 양의 데이터를 한데 모아 놓은 곳을 데이터베이스(특정 프로그램에 종속되지 않은 독립된 소프트웨어로 구축)
DBMS : 메모장이나 워드 프로세서에 데이터를 입력해서 텍스트로 저장하는 것
소프트웨어에서는 훨씬 더 복잡하고 다양한 형태의 데이터가 저장,일반 응용프로그램보다 강력한 기능 -> 데이터베이스 관리
관계형 데이터베이스 : 관계형 데이터베이스 관리 시스템을 뜻함, 엑셀과 유사 방식, 테이블표에서 데이터를 저장하는 방식으로 관리
오라클 데이터베이스 : 대형기업사이에서 가장 널리 사용되는 관계형 데이터베이스
MySQL : 주로 스타트업이나 소기업에서 또는 개인 용도
마이크로소프트SQL서버 : 마이크로소프트에서 만든 제품, C#과 높은 호환성
PostgreSQL : 무료로 사용, 개발자에게 편리한 기능을 갖추고 있어 점점 많은 인기
MariaDB : PostgreSQL과 함께 대안으로 사용되는 오픈 소스 무료 데이터베이스
SQLite : 서버가 아닌 클라이언트에서 작동하는 용도로 만듬
SQL : 관계형 데이터베이스는 텍스트로 작성된 멸령어로써 데이터를 처리하기 위한 구조화 질의 언어 제공
NoSQL : SQL을 사용하지 않는다 의미, 일반적인 데이터베이스 사용에 있어서는 관계형 데이터베이스가 가장 효과적인 방식
문서 데이터베이스 : 데이터를 문서의 형태로 저장
키-값 데이터베이스 : 키와 값의 쌍만을 저장하는 단순한 형태의 데이터베이스
그래프 데이터베이스 : 가족 구성원과의 관계도처럼 각 구성원을 뜻함, 용도로 유용하게 사용
03-8 / 개발자들은 왜 리눅스를 좋아하나요?
: 리눅스는 윈도우나 맥os와 같은 운영체제, 백엔드 서버를 비롯해 그들이 개발하는 많은 프로그램이 리눅스 위에서 작동
운영체제 : 운영체제 설치하지 않은 컴퓨터도 관리인 없는 호텔과 같음, 컴퓨터를 사용할 수 있는 것은 운영체제가 컴퓨터의 관리인으로 작동
CPU, 메모리, 그래픽 카드 등의 기기들을 가동하고 제어해서 사용자가 컴퓨터로 각종 작업
GUI vs CLI
코알못도 사용할 수 있는 화면: GUI : 그래픽 요소들을 사용해서 사용자와 상호 작용하는 것, 애플에서 GUI를 활용하면서 컴퓨터의 대중화에 크게 기여
명령어를 입력하는 방식: CLI : ‘검은 것은 배경이요 흰 것은 글씨로다’, 일반인에게는 보기만 해도 머리 아픈 화면임
개발자들은 CLI 방법을 많이 사용함 까닭은?
: 1. CLI 환경이 컴퓨터 자원을 덜소모
2. CLI환경이 간편하고 정확
3. 네트워크 환경에서는 GUI보다 CLI가 더 적합
리눅스 : 개발자들은 서버, 초소형 컴퓨터, 각종 loT 기기를 다루기 위해 리눅스를 많이 사용, 오픈 소스는 말 그대로 소프트웨어의 소스 코드가 공개
래드햇을 제외한 거의 모든 버전을 무료 사용, 다양한 개량 버전을 리눅스 배포판, 리눅스는 다양한 버전으로 자유롭게 개발
우분투 : 현재 가장 많은 사용되는 리눅스 버전
레드햇 엔터프라이즈 리눅스 : 레드햇에서 개발한 유로 운영체제
센트OS와 로키 리눅스 : 기술 지원 없이 무료로 배포한 버전
리눅스 민트 : 우분투 리눅스에서 파생한 배포판, 리눅스 입문하는 일반 사용자에게 주로 추천하는 운영체제
라즈베리 파이 : 우분투와 마찬가지로 데비안 계열의 오픈 소스 운영체제, 안정성과 성능을 가벼운 용량으로 사용
만자로 리눅스 : 데비안 계열에 우분투가 있다면 아치 계열에는 만자로 리눅스가 있음
커널 : 배포판 모두가 공통적으로 리눅스 커널을 사용, 단어 뜻 그대로 운영체제의 핵심, 하드웨어와 응용 프로그램 사이에서 작동하며 컴퓨터에서 일어나는 모든 일을 통제
오픈 소스 : 오픈 소스 소프트웨어는 누구든지 프로그램의 소스 코드를 살펴볼 수 있음, 오류를 찾아 수정하거나 새로운 기능을 제안하는 방식으로 개발 참여
유지보수 등 빈약한 경우 있음, 리눅스가 그렇듯 개발자들의 인기를 얻게 되면 이런 부분 보완 가능
개발자에게 유용, 소프트웨어는 세계의 뛰어난 개발자들의 적극적인 기여 받으며 상용 제품보다 더 빠르게 발전
확인학습





추가 학습 : 데이터와 데이터베이스 강의 듣고 핵심 내용 정리하기
