CS 지식

· CS 지식
SQL ( Structured Query Language ) 쉽게 말하면 데이터베이스가 이해할 수 있는 언어관계형 데이터베이스 시스템을 제어하는 컴퓨터 언어 일반적인 프로그래밍 언어와 달리 대화식 언어이기 때문에, 명령문이 짧고 간결하다. DDL(Data Definition Language) : 데이터 정의어 - DB 오브젝트를 생성, 삭제, 변경하는 역할. DB 설계 단계에서 주로 사용된다. CREATE, DROP, ALTERDML(Data Manipulation Language) : 데이터 조작어- DB를 조회, 삽입, 삭제, 변경하는 역할을 하며, 관리 목적의 쿼리문입니다. SELECT, INSERT, UPDATEDCL (Data Control Language) : 데이터 제어어- 사용자의 권한을 ..
· CS 지식
Transaction 이란? 데이터베이스의 상태를 변화하기 위해서 수행하는 작업의 논리적 단위 또는 한꺼번에 모두 수행되어야 하는 일련의 연산들을 의미한다. DB로 SQL 쿼리를 보냄으로써 DB의 상태를 변화시킨다. 작업 단위란 사용자가 특정 기능의 수행을 위해 SQL 작업을 묶은 단위를 의미한다. SELECT INSERT DELETE UPDATE 가 있다. 트랜잭션은 ACID라는 4가지의 특성을 만족해야한다. Automicity 원자성 트랜잭션 내부에서 실행된 작업들은 모두 성공해서 commit 되거나, 문제가 발생한다면 rollback을 통해 모두 취소 돼야한다. 작업 중 일부분만 성공할수 없다는 소리. DB를 수정할 때 지금까지의 성공적인 상태가 롤백 이미지로 롤백 세그먼트라는 임시 영역에 저장된다..
· CS 지식
데이터를 실시간으로 처리하는 게 아니라 한꺼번에 모아서 처리하는 작업을 의미한다. 하루동안 쌓인 데이터를 배치 작업을 통해 특정 시간에 한꺼번에 처리하는 경우. 은행 정산작업과 같은 업무에서 이런 일괄처리를 수행하게 되고 사용자에게 빠른 응답이 필요하지 않은 서비스에 적용할 수 있다. 특정 시간 이후에는 자원을 소비하지 않는 것이 특징임. 배치에 반해 사용자와 DB가 지속적으로 상호작용하는 경우에는 OLTP 방식으로 서비스를 개발해야한다. DB에 CRUD 작업을 하는 행위가 곧 트랜잭션을 수행하는 작업인데 금융업무나 고객망 관리(CRM)과 같은 프로그램으 ㅣ작업은 주로 OLTP 방식으로 제공을 해 줘야 한다. Batch Processing 일괄 처리하는 과정으로서 실시간 요청에 의한 처리 방식이 아닌 일..
· CS 지식
SQL SQL은 구조화된 쿼리 언어 (Structured Query Language) 이다. 따라서 데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는 데 사용하는 쿼리 언어. SQL 을 사용하면 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다. 이러한 관계형 데이터베이스에는 두 가지 특징이 있다. 데이터는 엄격한 데이터 스키마(정해진 규칙)를 따라 데이터베이스 테이블에 저장된다. 데이터는 테이블에 레코드 형식으로 저장되며, 각 테이블에는 명확하게 정의된 구조(테이블에 들어갈 수 있는 데이터와 그렇지 않을 수 있는 데이터를 정의하는 필드의 집합)이 있다. 구조는 필드의 이름과 데이터 유형으로 정의된다. 데이터는 관계를 통해서..
· CS 지식
Middleware Middle과 Software 의 합성어로 미들웨어는 표준화된 인터페이스를 제공하며 복잡한 분산 시스템에서 이기종간에 통신 및 데이터 관리 등 가능하게 통합 관리 해주는 역할이다. 운영체제와 해당 운영체제에서 실행되는 응용 프로그램 사이에 존재하는 소프트웨어 개발자들이 애플리케이션을 보다 효율적으로 구축할 수 있도록 지원 미들웨어는 통신 방식에 따라 분류된다. RPC(Remote Procedure Call : 원격 프로시저 호출) 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 리모트의 함수나 프로시저를 실행할 수 있게 해주는 프로세스 간 통신. 즉, 위치에 상관없이 RPC를 통해 개발자는 원하는 함수를 사용할 수 있다. MOM(Message Oriented Middleware..
· CS 지식
API(Application Programming Interface) API는 응용 프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 즉, 프로그램과 프로그램을 연결시켜주어 해당 프로그램 끼리 잘 통신할 수 있도록 해주는 매개체 *인터페이스 : 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. 터치 스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신 할 수 있으며, 마우스같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다. 쉽게 이야기 하면 API는 규칙들의 집합이고 프로그램의 기능들을 미리 정리해서 클라이언트가 접근할 프로그램을 잘 모르더라도 API를 이용해 손쉽게 통신할 수 있도..
· CS 지식
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 쉽게 말해 브라우저에서는 보안적인 이유로 cross-origin HTTP 요청들을 제한한다. 그래서 cross-origin 요청을 하려면 해당 서버의 동의가 필요하다. 만약 서버가 동의한다면 브라우저에서는 요청을 허락하고, 동의하지 않는다면 브라우저에서 거절하게된다. 이러한 허락을 구하고 거절하는 메커니즘을 HTTP-header를 이용해..
· CS 지식
간단하게 정적 분석은 프로그램을 실행하지 않은 상태에서 소스 코드나 컴파일된 코드를 이용해 프로그램을 분석하는 방법이며, 동적 분석은 프로그램을 실제 환경이나 가상 환경에서 실행해 보면서 분석하는 방법이다.정적 분석은 소스 코드의 모든 부분을 확인할 수 있지만, 실행 환경에서의 상태를 정확히 알 수 없기 때문에 실행할 때에만 알 수 있는 데이터가 필요한 경우 정확히 분석할 수 없다.반대로 동적 분석은 실제로 실행해 보면서 분석하기 때문에 실행 환경에서의 상태를 잘 알 수 있지만, 프로그램을 실행할 수 있는 환경을 구축하기 어려울 때가 많고 소스 코드의 모든 부분을 테스트해 보기 힘들다는 문제가 있다.이렇게 각 분석 방식은 장단점이 존재하기 때문에 정적 분석은 주로 개발 단계에서 소스 코드의 구조적인 문제..
· CS 지식
레디스를 처음 접했을 때 비관계형, 인메모리 캐시 DB 정도의 키워드로 알고 있었다.정확히 알지는 못해서 알아보도록 한다. 정의Redis는 기본 데이터베이스, 캐시, 메시지 브로커 및 대기열로 가장 일반적으로 사용되는 오픈 소스 인메모리 키-값 데이터 저장소입니다. Redis는 밀리초 미만의 응답 시간을 제공하여 게임, 핀테크, 광고 기술, 소셜 미디어, 의료 및 IoT와 같은 산업에서 빠르고 강력한 실시간 애플리케이션을 가능하게 합니다. 이말인 즉슨, 관계형 DB가 아니며 응답 시간이 빨라 실시간을 요하는 애플리케이션에 용이하다고 보인다. 레디스 에서의 Cache라는 뜻은 왜 나온 것이고 왜 쓰는 걸까?일반 DB에서는 매번 디스크에 정보를 저장하기 때문에 서버가 다운 되어도 정보가 사라지지 않는다. 그..
Nowon9159
'CS 지식' 카테고리의 글 목록 (5 Page)