분류 전체보기
-
웹 서버(Web server)란 무엇인가CS지식/네트워크 2021. 5. 30. 23:17
웹 서버는 클라이언트의 HTTP 요청을 처리하고 응답을 제공하는 역할을 한다. 웹 서버가 하는 일은 어떤게 있을까? 먼저, 클라이언트가 요청을 보내고 응답을 받기 위해 커넥션을 맺기를 원한다. 클라이언트로부터 커넥션 요청이 오면 커넥션을 받아들이거나 원치않은 커넥션이라면 커넥션을 받아들이지 않는다. 클라이언트와 커넥션을 맺게되면 클라이언트의 HTTP 요청 메세지를 읽어 들인다. 요청 메세지를 읽어 들이면 무슨 요청인지 해석하고 어떠한 행동을 해야하는지 파악한 후 행동을 취한다. 만약에 어떠한 리소스를 접근하는 요청이라면 해당 리소스에 접근하여 요청을 처리하고 HTTP 응답 메세지를 생성한다. 그 후에 HTTP 응답메세지를 클라이언트에 보내고 로그파일에 트랜잭션 완료에 대한 기록을 남긴다. 그러면 조금 더..
-
[스터디 3주차] JAVA 연산자프로그래밍 언어/JAVA 2021. 5. 30. 16:45
더보기 목표: 자바가 제공하는 다양한 연산자 학습 1. 산술 연산자 산술 연산자를 알아보기 전제 연산자가 무엇인지부터 알아보자. 연산자는 프로그램에서 데이터를 처리하여 결과를 산출하는 연산에 사용되는 표시나 기호를 의미한다. 그러면 산술 연산자는 무엇일까? 산술 연산자는 우리가 흔히 쓰는 사칙연산인 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)과 나머지를 구하는 %연산자를 포함하고 있는 연산자이다. 산술 연산자는 피연산자로 boolean 타입을 제외한 모든 기본 타입이 가능하다. 산술 연산자의 특징은 피연산자들의 타입이 동일하지 않을 경우 수행되는 규칙이 존재한다. 첫 번째로, 피연산자들이 모두 정수 타입이고 int타입보다 크기가 작은 타입인 경우에는 피연산자는 int 타입으로 변환 후 연산을 수행하..
-
데이터 모델이란 무엇인가CS지식/데이터베이스 2021. 5. 29. 23:24
데이터 모델은 데이터베이스의 구조를 단순화, 추상화하여 체계적으로 표현하는데 사용되는 도구이다. 데이터 모델은 데이터구조, 연산, 제약조건으로 구성된다. 데이터구조는 데이터베이스에 저장되는 데이터가 무엇인지와 데이터 간의 관계를 표현한 것이다. 연산은 데이터 구조에 따라 데이터의 실제 값을 처리하는 작업과 같은 데이터 조작 기법을 의미한다. 제약조건은 데이터베이스에 정확하고 유효한 데이터가 유지될 수 있도록 하기 위해 데이터를 조작하는데 한계를 규정한 것이다. 데이터 모델에는 개념적 데이터 모델과 논리적 데이터 모델이 존재한다. 먼저, 개념적 데이터 모델에 대해 알아보자. 개념적 데이터 모델은 개체(entity), 속성(attribute), 관계(relationship)을 이용하여 데이터를 개념적 구조로..
-
프로세스(Process)란 무엇인가CS지식/운영체제 2021. 5. 28. 22:48
프로세스가 무엇인지 찾아보면 흔히 실행 중인 프로그램이라고 말한다. 이렇게 개념을 기억하고 넘어가기에는 부족하고 프로세스가 정확히 무엇인지 알고싶었다. 프로세스라는 단어가 나오게 된 배경은 모든 CPU 활동들을 어떻게 부를지에 대한 의문이 생겼고 그 해답으로 프로세스라는 말을 사용한 것이다. 우리가 사용하는 PC에서는 브라우저, 카카오톡, 워드 프로세서 등 여러 프로그램을 한 번에 실행할 수 있다. 이러한 상황 외에 다중 태스킹을 지원하지 않는 임베디드 장치에서도 내부 프로그램을 지원하며 동작한다. 여기서 CPU가 하는 모든 활동들을 프로세스라고 부르는 것이다 프로세스는 자신이 어떠한 활동을 하는지 현재 상태를 나타내기 위해 프로그램 카운터와 프로세서 레지스터를 사용한다. 프로그램 카운터는 다음에 실행될..
-
Tomcat 접해보기웹 프로그래밍/BE(Back-End) 2021. 5. 28. 16:29
오늘은 WAS로 흔히 쓰이는 아파치의 Tomcat과 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램인 Servlet에 대해 배웠다. Tomcat은 WAS역할을 하는 소프트웨어인 것은 알겠는데 WAS는 무엇일까? WAS는 일종의 미들웨어로 웹 클라이언트(웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적을 가지고 동작한다. 처음 웹이 등장했을 때에는 정적인 콘텐츠만 보여주었다. 웹의 사용자 수가 증가하고 널리 퍼짐에 따라 사용자들의 요구사항은 증가하였고 동적인 기능까지 요구하게 되었다. 이러한 동적인 기능은 웹 서버에 프로그래밍 기술을 도입하는 CGI를 통해 해결했다. CGI는 단순한 프로그래밍에서는 문제가 없었으나 web이 점점 복잡해지면서 복잡한 기능을 요구하기 시작했다..
-
TCP 커넥션이란 무엇인가CS지식/네트워크 2021. 5. 27. 23:07
HTTP는 웹에서 클라이언트와 서버가 통신을 하기 위해 사용되는 프로토콜이다. HTTP를 사용한 통신에서 실제로 데이터가 클라이언트에서 서버로 가고 서버에서 클라이언트로 가는 것은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. 클라이언트는 서버로 TCP/IP 커넥션을 맺을 수 있고 TCP/IP의 특성에 의해 통신되는 메시지들은 손실이나 순서가 바뀌지 않고 안전하게 전달된다. TCP 커넥션은 어떻게 이루어질까? 웹 브라우저(클라이언트)에서 URL을 입력받으면 URL에서 IP주소와 포트번호를 추출한다. 목적지의 IP주소와 포트번호를 가지고 TCP커넥션을 생성하게 된다. 먼저 클라이언트는 TCP커넥션을 생성하기 위해 작은 TCP 패킷을 서버에게 보낸다. 이 패킷에는 SYN이라..
-
HTML과 CSS웹 프로그래밍/FE(Front-End) 2021. 5. 27. 18:57
먼저, 웹 페이지의 설계에 기본적으로 사요되는 HTML에 대해 배웠다. HTML은 HyperText Markup Language의 약어로 웹 페이지는 HTML 문서라고도 불리며, HTML 태그들로 구성된다. 각각의 HTML 태그는 웹 페이지의 디자인이나 기능을 결정하는데 사용됩니다. HTML은 여러 태그들로 이루어져 있다. 태그들은 각각의 의미를 가지고 있어 semantic하다고 표현하기도 한다. 태그를 통해 하이퍼링크를 걸어주거나 제목을 쓰거나 혹은 보여주고 싶은 이미지나 글들을 보여줄 수 있다. (HTML 태그의 종류는 https://www.w3schools.com/TAGS/default.ASP 에서 확인할 수 있다.) HTML 태그를 직접 써보면서 어떻게 웹 페이지에 나타나는지 확인해보자. VSco..
-
데이터베이스 관리 시스템(DBMS)란 무엇인가CS지식/데이터베이스 2021. 5. 26. 23:13
데이터베이스 관리 시스템(DBMS)는 사용자 또는 응용 프로그램과 데이터베이 사이에 위치하여 데이터베이스를 공유할 수 있도록 관리하는 소프트웨어이다. 사용자가 원하는 정보를 검색하는 기능을 제공하고 데이터베이스에 접근하기 위해서는 DBMS를 통해서만 가능하다. 데이터베이스 관리 시스템(DBMS)가 개발되기 전에는 어떻게 데이터를 관리했을까? DBMS가 나오기 전에는 디스크의 파일에 데이터를 저장하고 이러한 파일들을 파일 시스템이 관리했다. 하지만 파일 시스템은 데이터 종속성과 데이터 중복성 문제가 있어 대체자가 필요하게 되었고 그 대체자로 DBMS가 나오게 된 것이다. 그러면 데이터 종속성과 데이터 중복성은 무엇일까? 데이터 종속성은 데이터와 응용 프로그램 간의 상호 의존 관계를 뜻한다. 즉, 데이터에 ..