------------------------------------- 오늘의 학습 키워드 --------------------------------------
input : Python에서 사용자로부터 데이터를 입력받을 때 사용되는 함수
-------------------------- 공부한 내용 본인의 언어로 정리하기 --------------------------
1번문제
hello world를 5번 출력
for 문을 사용하여 5번의 범위를 설정하고
출력한다.
2번문제
for 문으로 1~45까지의 범위를 지정하고 i의 변수로 설정해주고
if문으로 i를 2로 나눴을 경우 0이면 i값을 출력하도록 한다.
7번 문제
사용자가 구구단을 계산할 숫자를 입력하면 그 숫자가 multi라는 정수형 변수에 저장되게 한다
for문으로 1~9의 범위를 지정한다
i x multi로를 answer로 지정하고
출력시 구구단 형식으로 나타나게 한다.
---------------------------------------- 특강 정리 CS ----------------------------------------
네크워크
-------------------------------- 클라이언트 --------------------------------
네트워크를 통해 서버에 요청을 하고 서비스를 제공받는 주체는 모두 클라이언트입니다. 여기서 ‘요청’이란 서버한테 정보를 요청할 수도 있고, 길 찾기 기능을 요청할 수도 있고, 음식 배달을 요청할 수도 있고 이런 어떤 서비스를 요청하는 것을 의미합니다.
-------------------------------- 서버 --------------------------------
네트워크를 통해 클라이언트의 요청을 받고 서비스를 제공하는 주체는 모두 서버입니다. 개념적으로는 그렇지만 일반적으로 ‘서버’라고 한다면 중요 시스템이 상주하고 클라이언트의 요청을 처리하는 장치를 의미합니다.
클라우드 서버
실제로 조작하는 사용자가 원격으로 사용할 수 있는 서버예요. 대표적으로 Google Cloud, AWS, Microsoft Azure 등이 있어요.
-------------------------------- 웹 서버 --------------------------------
웹 서버는 웹 브라우저에서 요청한 웹 페이지를 제공하는 서버 대표적으로 Apache(아파치), NGINX(엔진엑스), GWS(구글 웹 서버)라는 애들이 있어요.
-------------------------------- 데이터베이스 서버 --------------------------------
오로지 데이터베이스를 위한 서버예요. MySQL, PostgreSQL, Oracle DB 등이 있어요.
-------------------------------- 어플리케이션 서버 --------------------------------
웹 서버랑 데이터베이스서버 사이에 있는 미들웨어같은 존재예요. 인터넷에서는 HTTP(HyperText Transfer Protoco)를 통해 사용자에게 서비스해주는 일도 한답니다. 실질적으로 일반 사용자들에게 제공되는 서비스를 수행하는 서버라고 생각하시면돼요.
-------------------------------- 프록시 서버 --------------------------------
클라이언트의 요청을 본 서버 외의 서버가 대신 처리해주는 서버예요. 보안이나 다량의 접속으로 인한 과부하를 막고 처리 속로를 향상시키기 위해 사용해요.
-------------------------------- Database (DB, 데이터베이스) --------------------------------
정보를 체계적으로 구조화하여 관리하는 시스템을 의미합니다.
데이터가 저장되는 형태
표(Table, 테이블)는 하나의 개체를 나타내요. ‘엔티티’라고도 해요. 수강생 테이블이 하나의 개체인거예요. 여러분이 python으로 MTV에서 M에 해당하는 모델을 구현할 때 바로 이 테이블을 구현하는것입니다. 하나의 테이블이 하나의 class가 될거예요.
ㅁ DBMS (데이터베이스 관리 시스템)
데이터 베이스를 관리하기 위한 시스템을 의미해요.
ㅁ RDBMS (관계형 데이터베이스 관리 시스템)
데이터 베이스 관리 시스템인데 테이블 간에 관계를 두어 구조적으로 관리하기 위한 시스템이예요
ㅁ RDBMS 종류
MySQL
PostgreSQL
SQLite
Oracle Database
MariaDB
위에 나열한 RDBMS 말고도 굉장히 다양한 RDBMS 들이 있습니다.
-------------------------------- SQL(Structured Query Language) --------------------------------
SQL 이란 DBMS를 조작하기 위한 프로그래밍 언어에요.
ㅁSQL 종류
DDL(정의어): 개체(테이블)을 생성하거나 속성을 정의할 때
DML(조작어): 테이블에 데이터를 삽입, 조회, 수정, 삭제 할 때 (이것을 CRUD 라고합니다.)
DCL(제어어): DB에 대한 접근 권한을 주거나 뺐을 때
TCL(트랜젝션 제어어): 트랜잭션을 조작할 때
트랜잭션이란 DB의 상태를 변화시키기 위한 작업 (이놈은 아직 쓸일 없으니 ‘아하 이런것이 있구나’ 하고 일단 go go)
-------------------------------- 스키마 --------------------------------
간단하게 정의하면 DB 의 구조를 의미합니다.
ㅁ 스키마 종류
개념 스키마: DB의 전체적인 구조를 의미해요. 우리가 일반적으로 스키마! 하면 개념 스키마를 의미합니다.
내부 스키마: 물리적인 DB 구조에 대한 스키마예요.
외부 스키마: 실제 사용자들인 DBA(데이터베이스관리자)라거나 프로그래머라거나 여하튼 DB를 사용하는 사용자들에게 인터페이스가 되어주는 밖에 나와있는 스키마예요.
위 예시처럼 지금 DB가 어떻게 되어 있는지 설명해주고 있죠? 말 그대로 DB의 구조를 ‘스키마’라고 해요.
-------------------------------- 보안 --------------------------------
- 사이버 보안중에서도 네트워크 보안 분야는 가장 중요한 보안중에 하나로 꼽힙니다.
- 보안 기술 및 프로그램
- **Firewall(**방화벽): 네트워크 트래픽을 필터링하여 불법 접근을 차단
- VPN(가상 사설망): 암호화된 가상의 네트워크망을 통해 원격으로 접속하기 위한 기술
- 키(key)를 통한 접근 제어 방식
- 대칭키: 암호화 / 복호화에 같은 키가 사용됨.
- 비대칭키: 암호화 / 복화화에 사용되는 키가 다름.
- 공개키: 누구나 접근 가능한 키
- 비밀키(개인키): 사용자 외에 접근 불가능한 키
- hash(해시): 본래 정보를 임의의 값으로 바꿔버리는 기술, 단방향 암호화 방법으로 해시를 적용한 주체 외에는 풀 수가 없다.
- 해킹 기술 및 프로그램
- DDoS(Distributed Denial of Service, 디도스, 분산 서비스 거부) 공격: 특정 서버나 네트워크가 처리할 수 없을 정도의 트래픽(서비스 요청)을 발생시켜서 과부하를 일으키는 사이버 공격
- malware(멀웨어): 악성소프트웨어로 가짜백신, 랜섬웨어, 에드웨어, 트로이목마바이러스 이런 놈들 싹다 멀웨어의 한 종류입니다.
- sniffing(스니핑): 네트워크 상에서 다른 사람의 정보를 훔쳐보는 것
-------------------------------- 내일 학습할 것은 무엇인지 ---------------------------------
1. 프로그래머스 문제풀기
2. 개인과제 하기
3. 스쿼드 집중하기!!!!
'Daily note' 카테고리의 다른 글
Today I Learned(TIL)-28 (0) | 2024.07.31 |
---|---|
Today I Learned(TIL)-27 (0) | 2024.07.30 |
Today I Learned(TIL)-25 (0) | 2024.07.28 |
Today I Learned(TIL)-24 (0) | 2024.07.27 |
Today I Learned(TIL)-23 (0) | 2024.07.26 |