본문 바로가기

전체 글163

ep 08-3.SQL vs. NoSQL SQL - 관계형 데이터베이스와 상호작용할 때 사용함 👉 SQL을 사용해 데이터를 다룸 - 관계형 DB에선 스카마가 뚜렷하게 보임 👉 테이블간의 관계를 직관적으로 파악 가능 - 관계형 DB를 뜻하기도 함 👉 한 유형을 말하기 때문 NoSQL - 관계형 데이터베이스를 뺀 나머지 유형을 총칭함 - SQL만을 사용하지 않는 데이터베이스 - 관계형 테이블과 다른 방식으로 데이터를 저장함 - 주로 데이터가 고정되어 있지 않음 - 문서, 키 값, 와이드 컬럼, 그래프 등이 있음 - 반대 개념이라 해서 스카마가 반드시 없는 것은 아님 - 유연한 스카마를 제공하며, 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장 가능 - 데이터를 읽어올 때 스카마에 따라 데이터를 읽어옴 👉 SQL은 입력할 때 스카마에 맞게 입력해.. 2023. 1. 9.
ep 08-2. SQL Injection SQL Injection - 악의적인 사용자가 보안상의 취약점을 이용해, 임의의 SQL문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 - 공격이 비교적 쉬운편, 성공시 큰 피해를 입힐 수 있는 공격 공격 종류 및 방법 Error based SQL Injection - 논리적 에러를 이용한 SQL Injection - SQL 공격기법 중 가장 많이 쓰임, 대중적 SELECT * FROM Users WHERE id = 'INPUT1' AND password = 'INPUT2' // 해커 개입 SELECT * FROM Users WHERE id = ''OR 1=1 --' AND password = 'INPUT2' => SELECT * FROM Users Union based .. 2023. 1. 8.
ep 08-1.교착상태 교착상태 - 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미 쉽게 말해, 둘 이상의 프로세스가 서로 남이 가진 자원을 요구하면서 양쪽 모두 작업 수행을 할 수 없이 대기상태로 놓이는 상태를 말한다. 교착상태 발생 조건 상호배제 -한번에 한개의 프로세스만이 공유 자원을 사용할 수 있어야 함 점유와 대기 - 최소 하나의 자원을 점유하면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기중인 프로세스가 있어야 함 비선점 - 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함 환형 대기 - 공유자원과 공유자원을 사용하기 위해 대기하는 프로세스들이.. 2023. 1. 8.
ep 08-1. 제너릭 제너릭(Generic) 프로그래밍 - 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환 될 수 있도록 프로그래밍 하는 방식 - 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식 - 컬렉션 프레임워크에서 많이 사용되고 있음 제너릭 클래스 정의 하기 - 여러 참조 자료형으로 대체 될 수 있는 부분을 하나의 문자로 표현 - 이 문자를 자료형 매개변수라 함 public class GenericPrinter { //제너릭 클래스. T는 type의 약자, 자료형 매개변수임 private T material; public void setMaterial(T material){ this.material = material; } public T getMa.. 2023. 1. 1.