CS 12

관계형 모델

여러 데이터 모델 중 하나로, 데이터를 관계(Relation)의 집합으로 나타낸다. 관계형 모델에서는 Relation이라고 하는 2차원 테이블 형태의 구조가 사용된다. 관계형 모델의 장점 1. 데이터와 사용자 간의 상호작용이 데이터 내부 구조에 영향을 받지 않는다. 2. 모델의 구조(Relation)가 단순하다. 3. SQL을 사용하여 사용자가 간단하게 데이터를 얻을 수 있다. 관계 모델 제약 조건(constraint) 제약조건은 모든 릴레이션 인스턴스들이 만족해야 한다. 1. 도메인 제약조건 (domain constraints) 각 애트리뷰트 A의 값은 반드시 A의 도메인 dom(A)에 속하는 원자값이어야 한다. 2. 키 제약조건(key constraints) 릴레이션은 튜플의 집합으로 정의되므로, 모..

CS 2023.04.12

데이터베이스

데이터란? 컴퓨터에 저장되어 사용될 수 있는 정보. 성적 데이터, 판매 데이터 등등 다양한 종류가 있다. 데이터베이스란? 실세계 일부를 표현하는 연관된 데이터들의 집합. 전화번호부 데이터베이스, 상품 데이터베이스 등등 연관된 데이터들을 모아둔 것. 데이터베이스 관리 시스템이란? 영어로 DataBase Management System, 줄여서 DBMS로 많이 표현한다. 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지. 대표적 DBMS 상품에는 Oracle, MySQL, SQLite 등이 있다. 데이터베이스 시스템이란? 데이터베이스 자체와 이를 관리하는 소프트웨어(DBMS + 응용 프로그램)를 모두 칭하는 용어. 데이터베이스의 특징 1. 데이터 추상화 : 데이터모델을 사용해서 저장 구조의 자세한 내용..

CS 2023.04.09

네트워크 - 기본 네트워크

프로토콜 통신할 때의 규약을 프로토콜이라고 하며, 물리적 측면과 논리적 측면으로 나뉜다. 물리적 측면 : 데이터 전송 매체, 신호 규약, 회선 규격. 이더넷이 널리 쓰인다. 논리적 측면 : 장치들끼리 통신하기 위한 프로토콜 규격. 자사 장치들끼리 통신하기 위한 폐쇄적인 프로토콜에는 SNA, SDLC 등이 있으며, 여러 장치들에 쓰이는 공개된 범용 프로토콜에는 TCP/IP가 있다. TCP/IP 프로토콜 스택 OSI 7 계층 1 계층(피지컬 계층) 물리적 연결과 관련된 정보를 정의한다. 들어온 전기 신호를 잘 전달하는 것이 목적이다. (출발지와 목적지 구분할 수 없음) 주요 장비 : 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭 2 계층(데이터 링크 계층) 전기 신호를 모아서 우리가 알아볼 수 있는 데이터..

CS 2023.03.16

쿠버네티스

용어 정리 1. 쿠버네티스 : 컨테이너 런타임을 오케스트레이션 하는 도구 2. 오케스트레이션 : 여러 서버에 걸친 컨테이너 및 사용하는 환경설정을 관리하는 행위 3. 컨테이너 런타임 : 컨테이너를 다루는 도구. 이 도구들 중 가장 유명한 것이 도커 4. 컨테이너 : 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술 애플리케이션 배포 환경의 변화 1. 전통적 배포(Traditional Deployment) 개념 : 물리적인 컴퓨터 한 대 + 하나의 OS. 가장 오래되고 단순한 방식으로, 단일 목적 시스템이라면 문제가 없다. 문제 : 한 대의 컴퓨터에서 모든 것을 처리하려 하면 프로그램끼리 간섭이 발생하거나, 특정 프로그램 성능 저하/중단이 유발될 수 있다. 2. 가상화 배포(Virtualiz..

CS 2023.03.13

DevOps

정의 Development + Operations 개발 업무와 관리 업무의 두 역할 사이에서 커뮤니케이션, 협업, 통합을 강조하는 개념. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있다. 개발팀과 운영팀이 병합되어 전체 애플리케이션 수명 주기에 걸쳐 작업하고 광범위한 기술을 개발한다. DevOps 팀 전체가 보안을 중점으로 두는 경우에는 DevSecOps라고 불린다. 등장 배경 기존에는 폭포수 모델 방법론을 사용. 폭포수(Waterfall) 모델 방법론은 순차적인 소프트웨어 개발 프로세스로, 한 단계 한 단계를 완전히 확정시키면서 진행해나가야 한다. 하지만 이렇게 각 단계를 완벽히 마무리하고 다음 단계로 넘어가는 방식에는 현실적으로 어려움이 ..

CS 2023.03.07

클라우드 기반 기술

1. 가상화 기술 운영체제, 서버, 스토리지, 네트워크 및 기타 물리적 시스템을 논리적으로 가상화된 버전으로 생성하는 것. 가상화를 사용하면 자원 할당이 유연해서 신속한 프로비저닝과 탄력성, 유연성을 뒷받침한다. 또한 하드웨어 리소스와 상호 작용할 때의 유연성이 높아진다. 웹의 애플리케이션을 사용하듯이 하드웨어 인프라를 관리/유지하며 사용할 수 있다. IaaS 모델에서는 컴퓨팅 자원(서버, OS, 스토리지, 네트워크) 가상화가 핵심이 된다. 2. 웹 서비스 기술 - SOAP 기반 웹 서비스 SOAP는 Simple Object Access Protocol의 약자. 분산되어 있는 콘텐츠를 추상적인 서비스 형태로 개방하여 표준화된 형태로 공유하는 기술. 웹 서비스 내의 모든 데이터는 XML이라는 마크업 언어로..

CS 2023.02.23

클라우드 관련 용어 정리

1. AWS(Amazon Web Services) - 아마존 웹 서비스. 현재 클라우드 컴퓨팅 분야 세계 1위 2. IaaS(Infrastructure as a Service) - 서비스로 제공되는 인프라스트럭쳐. 사용자가 인프라 만들 수 있게 함. 3. PaaS(Platform as a Service) - 서비스로 제공되는 플랫폼. 사용자가 플랫폼 만들 수 있게 함. 4. APaaS(Application Platform as a Service) - 서비스로 제공되는 애플리케이션 플랫폼. 사용자가 애플리케이션을 실행하거나 개발할 수 있게 함. 5. SaaS(Software as a Service) - 서비스로 제공되는 소프트웨어. 사용자가 소프트웨어 만들 수 있게 함. 6. SDN(Software Def..

CS 2023.02.17

클라우드의 분류

1. 제공 방식에 따른 분류 1) 퍼블릭 클라우드 일반 사람들이 사용할 수 있도록 만든 B2C형 클라우드 인프라/플랫폼. 인프라/플랫폼의 소유권은 서비스 제공자에게 있다. 2) 프라이빗 클라우드 특정 조직 내에서만 운영되고 접근 가능한 B2B형 클라우드 인프라/플랫폼. 사내망에서 구현되며 on-site거나 off-site로 구축된다. 3) 하이브리드 클라우드 다양한 업체의 퍼블릭 또는 프라이빗 클라우드가 조합된 클라우드 인프라/플랫폼. 표준 인터페이스와 프로토콜을 통해 이식성 뛰어난 애플리케이션을 배치한다. 4) 커뮤니티 클라우드 여러 조직으로 형성된 연합 혹은 커뮤니티의 공유된 접근을 지원하는 클라우드 인프라/플랫폼. 2. 서비스 모델에 따른 분류 1) IaaS 인프라 수준의 클라우드 서비스. 고객이 ..

CS 2023.02.10

클라우드의 정의

◎ 정의 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시 바로 제공(on-demand availability)하는 것을 말한다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터 베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근할 수 있는, 주문형 접근(on-demand availability of computer system resources)을 가능케 하는 모델이다. (출처 : 위키피디아) 즉, 일상생활에서 전기나 수도와 같은 공공 서비스를 쓰듯이 컴퓨팅 자원을 필요할 때, 원하는 만큼 사용자에게 제공하는 서비스이다. ◎ 장단점 장점 단점 데이터를 신뢰성 높은 서버에 보관함으로써 ..

CS 2023.02.07

javascript 기초

# javascript 기초 강의 전공 교수님이 강의해주시는 자바스크립트 강의를 들었다. DB 이용한 웹페이지 만들때 html과 css는 좀 접해봤지만 javascript는 처음이라 재밌었다. js에서는 문자열을 나타낼 때 " ", ' ', ` ` 의 3가지 방법으로 표현할 수 있다. 이때 backtick(` `)은 console.log( ) 안에서 입력한 그대로 출력된다. 만약 줄을 바꾸고 싶다면 backtick은 그냥 코드 안에서 엔터를 넣어주면 되지만, 그 외의 따옴표들은 \n을 추가해줘야 줄이 바뀐다. 그냥 엔터를 쳐버리면 에러가 난다. 또 typeof 명령어를 사용하면 자료형의 이름을 알 수 있다. 이때 정수든 소수든 상관없이 모두 number로 출력된다. js에서 문자열 + 숫자를 한다면(co..

CS 2022.07.07