분류 전체보기
-
관계 대수란 무엇인가?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 스케줄러는 프로세스가 생성되고 종료될 때까지 모든 상태 변화를 관리하는..
-
JSP와 SCOPE 접해보기웹 프로그래밍/BE(Back-End) 2021. 6. 3. 17:35
오늘은 JSP와 SCOPE에 대해 배웠다. 먼저 JSP가 무엇인지부터 알아보고 간단한 예제 코드를 보면서 설명해보겠다. JSP는 JavaServer Pages의 약어로 Java 언어를 기반으로 하는 스크립트 언어로 HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구이다. 우리는 HTML을 통해 웹 페이지를 구현하려고 하면 기능이 정해진 태그 안에 텍스트를 넣거나 링크를 걸거나 파일의 위치를 지정한 등 정적인 기능만 구현이 가능하다. HTML 안에서 다른 언어의 코드를 넣어 동작시키는 것은 HTML이 제공하는 기능만으로는 불가능하다. 하지만 JSP를 사용하게 되면 HTML과 동적으로 생성된 contents를 혼합하여 사용할 수 있다. 즉, 사용자가 요청하는 것에 맞게 동..
-
프락시(Proxy)란 무엇인가?CS지식/네트워크 2021. 6. 2. 22:50
프락시는 클라이언트와 서버 사이에 위치하여 HTTP메시지를 정리하는 중개자 역할을 한다. 프락시가 없다면 클라이언트는 서버와 직접 통신하게 되는 것이고 프락시가 있다면 프락시가 클라이언트의 입장에서 서버와 통신해주는 역할을 한다. 이러한 프락시는 웹 서버처럼 보이기도 하고 웹 클라이언트처럼 보이기도 한다. 그 이유는 클라이언트의 요청을 받아 프락시는 서버에게 응답을 받아 돌려주므로 웹 서버처럼 동작하는 것과 같고 프락시가 클라이언트의 요청을 서버에게 보내기도 하므로 웹 클라이언트처럼 동작하는 것과 같기도 하기 때문이다. 프락시는 하나의 클라이언트만을 위한 개인 프락시와 여러 클라이언트가 사용가능한 공용 프락시가 있다. 그러면 클라이언트와 서버가 직접 통신하면 되지 왜 프락시를 사용하는 것일까? 그 이유는..
-
JS(JavaScript)와 Web UI 개발웹 프로그래밍/FE(Front-End) 2021. 6. 2. 16:21
오늘은 웹 페이지를 구현하는 데 있어 복잡한 사용자의 요구사항을 충족시켜 줄 수 있는 javascript언어의 기초에 대해 배우고 Web UI 개발에 필요한 개념들에 배웠다. 오늘 배운 JS에 대한 것 중 정리하고 싶은 내용은 함수이다. 다른 언어도 함수를 선언하여 특정 기능을 구현하는 것이 존재한다. JS도 마찬가지로 함수를 선언하는 방법이 존재하는데 기본적인 함수선언문은 아래와 같다. function 함수이름(파라미터1, 파라미터2, ..) { 기능 코드 } JS에서 함수를 배울 때 처음으로 배운 개념은 호이스팅(hoisting)이다. 코드를 통해 설명해보면 function test(){ console.log(printName()); var printName = function() { return '..
-
키(key)란 무엇인가?CS지식/데이터베이스 2021. 6. 1. 23:01
오늘은 릴레이션의 키(key)와 무결성 제약조건에 대해 정리해보려고 한다. 먼저, 릴에이션에 사용되는 키(key)가 무엇인지 알아보자. 보통 키라는 단어를 쓸 때를 생각해보면 자물쇠를 여는 키나 자동차 키를 생각할 수 있다. 이러한 실생활의 예를 떠올리면 A 자물쇠만 풀 수 있는 A키가 있고 B 자물쇠만 풀 수 있는 B키가 있다. 그리고 A키로 B자물쇠를 열 수 없을테고 B키로 A 자물쇠를 없는게 키의 특징이다. 이처럼 키(key)라는 것은 무언가를 식별하는 고유한 식별자(identifier)기능을 한다. 릴레이션에서 사용되는 키는 대표적으로 수퍼키, 후보키, 기본키, 대체키, 외래키가 있다. 그러면 각각의 키에 대해 자세히 알아보자. 수퍼키(super key)는 하나의 릴레이션을 구성하는 속성들 중에서..
-
PJT 1. 나를 소개하는 홈페이지 만들기 (2일차, 완성)기타/프로젝트 2021. 6. 1. 18:33
어제에 이어 나를 소개하는 홈페이지 만들기 프로젝트를 완성했다. 오늘은 자기소개 페이지와 내사진 페이지를 만들었다. 요구사항은 글자의 크기나 글꼴은 같은 수준의 태그에서는 같아야하고 위치나 간격 등 세부적인 것을 요구했다. 자기소개 페이지에서 이 요구사항을 해결하기 위해 나는 text-align은 left로 준 후에 margin값은 조절하면서 간격을 맞추려고 했다. 이 방법말고는 position을 상위 수준에 기준에서 변경가능한 absloute로 주면 될 것같다. 그 다음으로 내사진 페이지를 구현하는데 어려움을 느꼈다. section 안에 2개의 영역이 나뉘어지고 하나의 영역에 이미지와 글이 써져있었다. 이미지와 글을 div안에 넣었더니 위아래로 배열이 나와 옆으로 쌓기위해 도전했다. 처음에는 posit..