분류 전체보기
-
게이트웨이(Gateway)란 무엇인가?CS지식/네트워크 2021. 6. 8. 16:11
웹은 점점 사용자 수가 많아지고 처음에는 간단한 문서를 전달하는 용도였으나 사용자의 요구사항이 많아지면서 복잡한 기능을 구현해야했다. 이에 따라 더 복잡한 리소스(동적 페이지나 데이터베이스를 통한 콘텐츠 등)가 요구되기 시작했고 모든 리소스를 한 개의 애플리케이션으로만 처리하기 어려워졌다. 이를 해결하기 위해 게이트웨이를 만든 것이다. 게이트웨이는 누군가(클라이언트, 서버)에게 요청을 처리해달라는 부탁을 들어줘야하고 요청에 대한 응답을 할 수 있다. 이러한 게이트웨이는 동적인 콘텐츠를 생성하거나 데이터베이스에 질의를 보낼 수 있다. 또한, HTTP 트래픽을 다른 프로토콜로 변환하여 클라이언트가 다른 프로토콜을 알 필요 없이 서버에 접속할 수 있게 하는 역할을 한다. 아래의 예시 그림을 보자. 클라이언트는..
-
ER 모델이란 무엇인가?CS지식/데이터베이스 2021. 6. 7. 23:12
ER(Entity-Relationship model)은 개념적 데이터 모델의 대표적인 모델로 개체와 개체 간의 관계를 이용하여 현실세계를 개념적 구조로 표현하는 방법이다. 여기서 말하는 개체(entity)는 어떠한 각자만의 의미를 가진 동물이나 사물 또는 형태가 없는 개념과 사건을 뜻한다. 이러한 개체에는 개체를 나타내는 특성이 있을텐데 그 특성을 속성(attribute)라 한다. ER모델이 무엇인지 아래의 그림을 보며 이해해보자. 사람이라는 개체와 음식이라는 개체가 존재한다. 두 개체는 사람이 음식을 먹는다라는 관계를 가지고 있다. 이렇게 개체와 개체 간의 관계로 표현하는 것이 ER모델이다. ER모델을 사람들이 보기 쉽고 이해하기 쉽게 나타낸 것이 ERD(ER Diagram)이다. ERD는 직사각형, ..
-
프로세스 간 통신(IPC)란 무엇인가CS지식/운영체제 2021. 6. 6. 23:18
프로세는 시스템 내에서 자신이 가진 code, stack, data를 쓰면서 독립적으로 실행되기도 하지만 프로세스끼리 서로 데이터를 주고받으며 협업하기도 한다. 여기서 프로세스끼리 데이터를 주고받기 위해 프로세스 간 통신(이하 IPC)이 이루어지고 IPC에는 같은 컴퓨터 내에 있는 프로세스끼리 통신 뿐만 아니라 네트워크로 연결된 다른 컴퓨터에 있는 프로세스와도의 통신도 의미한다. 이러한 프로세스 간 통신에는 여러 종류가 존재한다. 1) 전역 변수를 이용한 통신 전역변수를 이용한 통신은 공동으로 관리하는 메모리를 사용하여 데이터를 주고받는 것으로 송신측은 전역변수에 데이터를 쓰고, 수신측은 전역변수의 값을 읽어 통신이 이루어진다. 주로 직접적으로 관련이 있는 프로세스 간에 사용되는 통신방식이다. 예를 들어..
-
[스터디 4주차] JAVA 제어문프로그래밍 언어/JAVA 2021. 6. 6. 14:24
더보기 목표: 자바가 제공하는 제어문 학습 1. 선택문 선택문을 알아보기 전에 제어문이 무엇을 말하는지 알아보자. 제어문이라는 단어의 의미를 생각해보면 java에서 무언가를 제어할 수 있는 문장인 것 같은데 무엇을 제어하는 것일까? 제어문은 java 프로그램의 흐름을 제어하는 것이다. 우리가 java코드를 구현했으면 보았을 부분인데 public static main(String[] args) { }가 있고 우리가 구현하고 싶은 내용을 { }안에 쓰게된다. 그러면 java프로그램을 시작하면 main() 메소드의 중괄호 안에 있는 코드가 위에서 아래로 순서대로 실행하는 흐름을 가지게 된다. 이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 제어문이다. 제어문의 종류 중 하나인 선택문에..
-
캐시(Cache)란 무엇인가?CS지식/네트워크 2021. 6. 5. 21:50
캐시를 한 마디로 표현하면 웹에서 자주 쓰이는 리소스의 사본은 자동으로 보관하는 HTTP 장치이다. 캐시는 어떠한 이유로 나타나게 된 것일까? 먼저 캐시가 없는 보통의 환경을 생각해보자. 클라이언트가 여럿 존재하고 리소스를 가지고 있는 서버가 존재할 것이다. 여러 클라이언트가 자주 쓰는 페이지가 존재한다면 페이지에 접속할 때마다 항상 서버에 요청을 보내고 서버는 같은 리소스를 클라이언트들에게 매 번 보내야 된다. 똑같은 바이트들이 네트워크를 통해 전송이 이루어지면 네트워크 대역폭이 소모되고 웹 서버에 부하를 주게 된다. 이러한 점을 개선하기 위해 나온 것이 캐시이다. 클라이언트와 가까운 곳에 캐시를 두어 자주 요청되는 리소스의 사본을 저장하고 추후에 같은 요청에 대해서는 캐시에서 응답을 줄 수 있기 때문..
-
관계 대수란 무엇인가?CS지식/데이터베이스 2021. 6. 4. 23:20
관계 대수는 릴레이션을 처리하는 연산의 집합으로 일반 집합 연산자와 순수 관계 연산자가 있다. 우리가 수학시간에 집합A와 집합B의 교집합, 합집합, 차집합 등을 배웠듯이 데이터베이스에서도 릴레이션을 피연산자로 하여 연산을 하는 연산자가 있다는 것이다. 관계 대수 연산자의 종류를 아래의 정리된 표로 알아보자. 그러면 지금부터 하나씩 자세히 알아보도록 하자. 1) 합집합 연산자 합집합 연산자는 두 개의 릴레이션을 합하여 하나의 릴레이션을 반환하는 연산자이다. 두 개의 릴레이션을 합하여 나온 것 중 중복된 튜플이 있다면 한 번만 나타나게 된다. 예시를 보면 다음과 같다. 2) 교집합 연산자 교집합 연산자는 두 릴레이션에 모두 존재하는 튜플들을 반환하는 연산자이다. 예시를 보면 다음과 같다. 3) 차집합 연산자..
-
EL(Expression Language)과 JSTL(JSP Standard Tag Library)웹 프로그래밍/BE(Back-End) 2021. 6. 4. 19:58
오늘은 EL과 JSTL에 대해 배웠다. 처음 웹 백엔드 개발자가 되겠다는 생각을 가지고 여러 개발자의 얘기나 블로그 글을 보면서 자바와 스프링프레임워크가 많이 쓰인다 하여 자바 기초 문법을 배우고 스프링을 접해봐야겠다는 생각이였다. 하지만 기초적으로 알고 가야할 것이 매우 많은 것 같다... 웹 서버, WAS부터 시작해서 servlet, serlvet을 개선한 JSP 오늘은 또 다른 주제인 EL과 JSTL이다. 먼저, EL에 대해 알아보자. EL을 단순히 우리말로 번역하면 표현 언어라는 것으로 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다. JSP를 그냥 쓰면 되는데 굳이 EL이라는 것을 만든 이유는 무엇일까? JSP를 사용해보면 JSP에는 HTML과 JAVA 코..
-
CPU 스케줄러란 무엇인가CS지식/운영체제 2021. 6. 3. 22:19
프로세스를 배우면서 프로세스는 생성, 준비, 실행, 대기와 같은 여러 상태를 가지며 작업이 이루어진다고 했다. (프로세스 개념: https://straw961030.tistory.com/71?category=925290 ) 프로세스(Process)란 무엇인가 프로세스가 무엇인지 찾아보면 흔히 실행 중인 프로그램이라고 말한다. 이렇게 개념을 기억하고 넘어가기에는 부족하고 프로세스가 정확히 무엇인지 알고싶었다. 프로세스라는 단어가 나오게 straw961030.tistory.com 메모리에는 여러 프로세스가 존재할 수 있고 여러 프로세스의 상태를 관리해주는 역할을 하는 것이 필요하다. 이러한 역할을 해주는 것이 CPU 스케줄러이다. CPU 스케줄러는 프로세스가 생성되고 종료될 때까지 모든 상태 변화를 관리하는..