IT/CS 40

[DB] View

View 복잡한 Select 문장으로 만들어진 테이블을 가리키는 가상 테이블 ➡ 어려운 쿼리문으로 조회를 수행해야 할 때, 번거로움을 줄이기 위해 사용 사용 목적 - 보안성 - 편의성 - 속도 향상 - 활용성 - 임시적인 작업을 위한 활용 장점 - 특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여줌 - 복잡한 쿼리 단순화 / 재사용 단점 - 한 번 정의된 뷰 변경 불가 - 삽입, 삭제, 갱신 작업에 많은 제한사항을 가짐 - 자신만의 인덱스X 예시 CREATE VIEW TEST_VIEW AS SELECT * FROM ( SELECT * FROM A UNION SELECT * FROM B) - CREATE VIEW를 통해 VIEW의 이름을 정해준다. - AS 이후 복잡한 SELECT 연산을 지정해주면,..

IT/CS 2021.06.28

[알고리즘] Java Collection

Collection 요소로 알려진 객체 그룹, 데이터를 저장하는 기본적인 자료구조들을 한 곳에 모아 관리하고 편하게 사용하기 위해 제공하는 것 Iterator 자바 컬렉션에 저장된 요소를 읽어오는 방법을 표준화 한 인터페이스 Collection에서 iterator() 메서드를 정의하여 각 요소에 접근함 LinkedList ll = new LinkedList(); ll.add(1); ll.add(2); ll.add(3); ll.add(4); ll.add(5); Iterator it = ll.iterator(); while(it.hasNext()){ //하나 씩 접근 } 장점 - Colletion 종류에 상관 없이 일관성 있게 프로그래밍 가능 단점 - 하나 씩 접근 가능 - size() 반복문으로 접근하는 ..

IT/CS 2021.06.20

[Network] OSI 7계층

이전 글인 TCP/IP 프로토콜의 원조격인 OSI 7계층 내용 정리이다. 2021.06.01 - [IT/CS] - [Network] TCP/IP 프로토콜 OSI 7계층 https://kosaf04pyh.tistory.com/174 http://blog.naver.com/PostView.nhn?blogId=agerio100&logNo=221938007939&categoryNo=0&parentCategoryNo=0 데이터가 전달 되기위한 과정을 계층화 한 것, 프로토콜을 기능 별로 나눈 것 ▶ 각 계층은 하위 계층의 기능만 이용하고, 상위 계층에게 기능을 제공함 프로토콜 데이터를 다른 서버 등으로 전달하기 위한 표준화 된 약속 PDU(Process Data Unit) OSI 7계층에서 전달되는 전기 신호 흐..

IT/CS 2021.06.14

[OS] 운영체제 부팅 순서

Booting 컴퓨터를 처음 동작시킬 때 수행되는 일련의 과정 바이오스(BIOS, Basic Input Output System) 운영 체제 중 가장 기본적인 소프트웨어, 컴퓨터의 입출력을 처리하는 펌웨어 - 컴퓨터에 접속되어 있는 기기를 제어하는 프로그램 - 기동 순서 설정 - 메모리와 CPU 레지스터 초기화 - 디스크로부터 부트 로더를 불러옴 https://neos518.tistory.com/113 부팅 과정 1. 컴퓨터 전원 ON 2. ROM BIOS 동작 - 프로그램 전원이 꺼져도 기억하는 ROM 메모리에 기억 - POST(Power On Self Test): RAM, 키보드, 하드디스크 등 체크하는 테스트 실행 ▶ 컴퓨터가 동작하기 위해 필수적인 주변 장치들이 문제 없는 지 확인하는 단계 ▶ 매..

IT/CS 2021.06.10

[Container] 쿠버네티스(kubernetes)

Kubernetes 컨테이너 운영환경에서 컨테이너들을 적절하게 매니징하는 솔루션, 대표적인 컨테이너 오케스트레이션 툴 컨테이너 오케스트레이션(Container Orchestration) https://velog.io/@modolee/kubernetes-newbie-guide-01 - 여러 컨테이너 배포 프로세스를 최적화하는 자동화 도구 - 복잡한 컨테이너 환경을 효과적으로 관리 ▶ 서버 관리자의 역할을 대신하는 프로그램 특징 - 클러스터(Cluster) ◽ 중앙 제어(master-node): 클러스터 관리를 위한 마스터 노드를 두고 마스터 노드가 클러스터에 명령을 내림 ▶ 관리자는 마스터 노드만 관리하여 다른 클러스터를 관리해야 함 🕑 기존에는 서버 관리자가 각 서버 스펙, 리소스 상태, 애플리케이션 구..

IT/CS 2021.06.08

[OS] 프로세스와 스레드

OS 참고: https://velog.io/@raejoonee/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%99%80-%EC%8A%A4%EB%A0%88%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4 프로세스와 스레드 프로그램 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 프로세스 실행중인 프로그램 운영체제로부터 자원을 할당 받은 작업의 단위 한 프로세스를 실행하다 오류가 발생하여 프로세스가 강제 종료되어도 다른 프로세스에 영향X 프로세스끼리 자원 공유 불가능 각각 독립된 메모리 영역을 할당 사용 중인 파일, 데이터, 프로세서의 상태, 메모리 영역 주소 공간, 스레드 정보, 전역 데이터가 저장된 메모리 부분 등 수많은 자원을 포함..

IT/CS 2021.06.04

[Web] WEB과 WAS

Web Server vs WAS https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html 정적 콘텐츠(Static Pages) ex) image, html, css, javascript 등 파일과 같이 컴퓨터에 저장된 파일 - 항상 동일한 페이지 반환 - Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환 동적 콘텐츠(Dynamic Pages) - 인자의 내용에 맞게 동적인 contents 반환 - 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물(Servlet) 위에서 돌아가는 Java Program Web Server ◽ 하드웨어: 웹 서버 소프트웨어와 웹 사이트의 구성 요소파일을 저장하는 컴퓨터 e..

IT/CS 2021.06.02

[Network] TCP/IP 프로토콜

프로토콜 서로 다른 시스템 및 기기 간 데이터 교환을 원할히 하기 위한 표준화된 통신 규약 TCP/IP 프로토콜 https://medium.com/harrythegreat/osi%EA%B3%84%EC%B8%B5-tcp-ip-%EB%AA%A8%EB%8D%B8-%EC%89%BD%EA%B2%8C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-f308b1115359 인터넷에서 사용하는 표준 프로토콜 각 계층에 맞는 메시지가 존재 메시지 네트워크 장비 사이에서 오고가는 데이터 블록 메시지 구조 - 헤더: 제어정보를 가짐, 서로 다른 장비의 프로토콜 요소간 통신/제어 링크 역할 - 데이터(Payload): 전송되는 실제 데이터, 캡슐화 - 푸터: 제어 정보 포함, 헤더와 비슷한 역할, 데이터를 ..

IT/CS 2021.06.01

[Container] 가상 머신과 컨테이너(feat. Docker)

가상화 물리적인 하드웨어(HW) 장치를 논리적인 객체로 추상화 하는 것 - 프로세서(CPU), 메모리(Memory), 스토리지(Storage), 네트워크(Network) 등의 컴퓨팅 자원을 쪼개거나 합쳐서 사용 - 자원을 효율적으로 사용 및 분산처리 가능 가상 머신(VM) 가상화를 통하여 구현되는 복제된 컴퓨팅 환경, 물리적 컴퓨터와 동일한 기능을 제공하는 소프트웨어 컴퓨터 - 가상 머신이 제공하는 환경과 자원에 제한을 받음 - 하나의 물리 자원(컴퓨터) 위에 하나의 환경(OS)만 있는 것을 효율화 ▶ 가상화층 생성 ▶ OS 새로 설치 시스템 가상 머신(하드웨어 가상 머신) - 완전한 운영체제(OS) 제공 - 물리 컴퓨터 다중화(multiplex), 모든 하드웨어 자원 가상화 게스트 운영 체제 같은 물리..

IT/CS 2021.06.01

[프레임워크] Vue.js

https://cntechsystems.tistory.com/100 Vue.js란? 웹페이지 화면을 개발하기 위한 프런트엔드 프레임워크 - 리액트와 앵귤러의 장점 결합 ▶ 앵귤러의 양방향 데이터 바인딩 + 리액트의 단방향 데이터 흐름의 장점 결합 양방형 데이터 바인딩 데이터의 변화를 템플릿에 결합하여 화면을 업데이트 한 후, 화면 입력에 따라 데이터를 업데이트 하는 개념 단반향 데이터 흐름 모델 컴포넌트에서 UI컴포넌트로 데이터가 흘러 이해와 관리가 쉬움 Vue.js 특징 - 간편한 문법, 쉬운 사용법 - 기존 HTML 템플릿을 그대로 활용 ▶ 컴포넌트에서 다루는 CSS 기존 문법 그대로 사용 - 확장성 ▶ 다양한 라이브러리 및 프레임워크 사용 - Virtual DOM DOM이란? - Document O..

IT/CS 2021.05.31