목록분류 전체보기 (63)
쏭의 개발 블로그

[1] API Application Programming Interface : 애플리케이션을 프로그래밍하는데 쓰이는 인터페이스 애플리케이션이 인터페이싱하는(요청과 응답을 주고받는) 체계 데이터를 원활하게 주고받기 위한 방법이자, 주고받을 수 있는 데이터의 형식을 정하는 규격 프로그램이 명령목록을 정리하고 명령을 받으면 응용프로그램과 상호작용하여 명령에 대한 값을 전달 프로그램이 서로 상호작용하는 것을 도와주는 매개체 API의 역할 서버와 데이터베이스에 대한 출입구 역할하며, 허용된 사람들에게만 접근성을 부여 애플리케이션과 기기가 원활하게 통신할 수 있도록 함 모든 접속을 표준화하여 기계/운영체제 등과 상관없이 누구나 동일한 액세스를 얻을 수 있음 API 상세내용 API 결과(데이터) 제공 형식 : JSO..
[1] 하드웨어 컴퓨터 시스템이 작동하는 데 필요한 물리적 장치 입력, 연산, 제어, 기억, 출력 등 5가지 기능을 구현 중앙처리장치(CPU), 주기억장치, 보조기억장치, 입력장치, 출력장치 1. 하드웨어의 구성요소 (1) 중앙처리장치(CPU) 컴퓨터의 ‘머리’ 역할 프로그램 실행, 입력 $\cdot$ 출력 $\cdot$ 저장 장치 제어를 담당 산술논리연산장치(ALU) 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어 제어장치 명령어의 해석과 실행을 담당 레지스터 속도가 빠른 데이터 기억장 (2) 주기억장치(RAM, ROM) 실행중인 프로그램과 같은 프로그램에 필요한 데이터를 일시적으로 저장 RAM (Read Only Memory) 컴퓨터의 처리 속도 느림 전원이 끊기면..

1. 다이나믹 프로그래밍이란? 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 함 두가지 방법 top-down (하향식) bottom-up (상향식) 동적계획법이라고도 부름 동적? (자료구조) 프로그램이 실행되는 도중에 실행에 필요한 메모리를 할당 (다이나믹 프로그래밍) 별다른 의미 없이 사용된 단어 2. 다이나믹 프로그래밍의 조건 (1) 최적 부분 구조 (Optimal Substructure) 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제 해결 가능 (2) 중복되는 부분 문제 (Overlapping Sub-problem) 동일한 작은 문제를 반복적으로 해결해야함 3. 다..
1. 이진탐색 알고리즘이란? 순차탐색 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 확인하는 방법 이진탐색 정렬되어있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법 시작점, 끝점, 중간점을 이용하여 탐색범위를 정함 예시 정렬된 10개의 데이터 중에서 값이 4인 원소를 찾기 0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 10 12 14 16 18 [1단계] 시작점 : 0 , 끝점 : 9 , 중간점 : 4 (소수점 이하 제거) 0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 10 12 14 16 18 중간점에 위치한 값인 8과 찾고자하는 값 4를 비교 찾고자하는 값 4 < 중간점 값 8 ⇒ 중간점 이상의 값들을 볼 필요가 없음 [2단계] 시작점 : 0 ..

[1] 정렬 알고리즘 데이터를 특정한 기준에 따라 순서대로 나열하는 것 일반적으로 오름차순으로 가정 1. 선택정렬 처리되니 않은 데이터 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸는 것을 반복 과정 7 - 5 - 9 - 0 - 3 - 1 - 6 - 2 - 4 - 8 [1단계] 처리되지 않은 데이터 중 가장 작은 ‘0’을 선택해 가장 앞의 값 ‘7’과 바꿈 0 - 5 - 9 - 7 - 3 - 1 - 6 - 2 - 4 - 8 [2단계] 처리되지 않은 데이터중 가장 작은 ‘1’을 선택에 가장 앞의 값 ‘5’와 바꿈 0 - 1 - 9 - 7 - 3 - 5 - 6 - 2 - 4 - 8 [3단계] 처리 되지 않은 데이터 중 가장 작은 ‘2’를 선택해 갑장 앞의값 9와 바꿈 0 - 1 - 2 - 7..

1. 트리거란? 특정 테이블에 대한 이벤트에 반응해 INSERT, DELETE, UPDATE 같은 DML문이 수행되었을 때 데이터베이스에서 자동으로 동작하도록 작성된 프로그램 별도로 호출해야하는 저장프로시저와 달리 특정한 조건이 되면 자동으로 호출 저장프로시저 중 하나 종류 행 트리거 : 데이터 변화가 생길 때마다 실행 문장 트리거 : 트리거에 의해 단 한 번 실행 2. 트리거의 구성 3. 트리거 문법 트리거 정의 CREATE TRIGGER 트리거명 BEFORE|AFTER CRUD ON 테이블명 (FOR EACH ROW) BEGIN OLD.컬럼명(변경 전) 또는 NEW.컬럼명(변경 후)을 이용한 처리 END 트리거 삭제 DROP TRIGGER 프로시저명; https://i-hope9.github.io/2..

1. 저장프로시저란? 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합 DB에 대한 작업을 정리한 절차를 RDBMS에 저장한 쿼리의 집합 특징 영구저장모듈 SQL 서버에서 제공되는 프로그래밍 기능. 쿼리문의 집합 어떠한 동작을 일괄처리하기 위한 용도로 사용 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출 테이블 처럼 각 데이터베이스 내부에 저장 2. 저장프로시저 문 오라클 기준 생성 CREATE OR REPLACE PROCEDURE 프로시저명(변수명1,변수명2,...) IS 변수 BEGIN SQL; END 프로시저명; 호출 EXEC 프로시저명; 삭제 DROP PROCEDURE 프로시저명; 3. 저장 프로시저의 장단점 1) 장점 (1) SQL 서버의 성능 향상 저장 프로시저의 2..

1. SQL Injection이란? 공격자가 악의적인 의도를 갖는 SQL구문을 삽입하여 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 기법 웹 애플리케이션이 백엔드에서 구동 중인 데이터베이스에 질의를 하는 과정에서 사용되는 SQL 쿼리를 조작하여 데이터베이스를 대상으로 공격자가 의도한 악의적인 행위를 할 수 있는 injection 기반의 웹 취약 1) 대표적인 공격 방법 (1) Error based SQL injection - 논리적 에러를 이용한 SQL injection 싱글 쿼드(’), 세미콜론(;)과 같이 SQL 문법 오류를 유발하는 특수문자를 사용하고 오류메세지를 통해 데이터베이스 정보를 유출하거나 의도치 않은 결과를 실행시킬 수 있는 공격 설명 더보기 입력값에 대한 검증이 없음을 확인, ..