목록Git & CS (29)
쌓고 쌓다
MVC 패턴 기존에 서블릿으로만 웹 애플리케이션을 만들자니 자바 코드로 HTML을 생성하기 쉽지 않았고 JSP로 HTML에 자바 코드를 넣자하니 코드의 절반이 비즈니스 로직이고 절반이 View를 위한 코드였다. 그래서. 비즈니스 코드는 서블릿에서 집중하고 View를 위한 코드는 JSP에서 집중하는 MVC 패턴이 등장했다. Model View Controller 컨트롤러 사용자의 HTTP 요청을 받아서 파라미터를 검증하고 비즈니스 로직을 수행한다. 올바르지 않다면 400 오류등을 내줄 수 있다. 비즈니스 로직 결과로 받은 결과를 모델에 담는다. 모델 뷰에 출력할 데이터를 보관한다. 뷰가 필요한 데이터를 모델에 담아 뷰에 전달한다. 뷰 모델에 담긴 데이터를 통해 HTML을 생성한다. 4: 뷰 로직으로 제어권..
SSR (서버 사이드 렌더링) 웹 브라우저의 요청이 들어온다. DB를 조회해 html 동적으로 생성후 전달하는 방식. 즉, 서버가 html을 다 만들어서 웹 브라우저에 응답하는 것이다. 주로 정적인 화면에 사용 => 서버에서 최종적인 HTML을 만들어 웹 브라우저에 전달한다. EX) JSP, 타임리프 CSR (클라이언트 사이드 렌더링) 서버에서 HTML을 응답한다. 그런데 빈 HTML이다. 대신 자바스크립트 링크를 달아놓는다. 웹 브라우저가 자바스크립트를 서버에 요청한다. 자바스크립트 코드 안에 HTML 렌더링 코드가 들어있다. 웹 브라우저가 HTTP API를 요청하여 받은 JSON으로 HTML을 동적으로 만들어 본다. => 클라이언트 사이드에서 HTML을 만들어낸다. EX) React, Vue.js H..
ERD (Entity-Relationship Diagram) ER모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것이다. 개체-관계 모델(E-R model)? 개념적 데이터 모델로써 개체와 개체 간의 관계를 이용하여 현실 세계를 표현함. 핵심 요소: 개체, 속성, 관계 1. 개체(Entity) 사람이니 사물, 개념, 사건 등 다른 개체와 구별되는 모든 것을 뜻한다. ER 다이어그램에서 사각형으로 표현하고 안에 이름을 작성한다. 2. 속성(Attribute) 개체나 관계가 가지고 있는 고유한 특성이다. ER 다이어그램에서 타원으로 표현하고 안에 속성 이름을 작성한다. 속성 같은 경우 추가적으로 속성의 분류하여 더욱 구체적으로 ER다이어그램에서 표시가 가능하다. 단일 값 속성과 다중값..
마우스로 그린 그림이라 ~^^ NOT 게이트 입력이 0(off)이면 1(on)을 출력하고 입력이 1(on)이면 0(off)를 출력한다. 인버터(Inverter)라고도 한다. 입력 A 출력 F 0 1 1 0 버퍼 게이트 입력된 신호를 입력된 상태 그대로 출력하는 게이트 입력이 0이면 출력도 0, 입력이 1이면 출력도 1이다. 왜 사용하나? 팬 아웃을 늘리기, 신호를 딜레이 시키기, 손실 보호 입력 A 출력 F 0 0 1 1 + 3상태 버퍼에 대한 설명 AND 게이트 2개 이상의 입력에 대해 1개의 출력을 얻는다. 논리곱이라고 한다. 입력이 모두 1(on)인 경우에만 출력은 1(on)이 되고, 입력 중에 0(off)가 하나라도 있으면 0(off)이 된다. 입력 출력 A B F 0 0 0 0 1 0 1 0 0..
데이터 베이스의 정의 : 여러 사용자(특정 조직)가 공유하여 사용할 수 있게 통합해서 저장한 운영 데이터의 집합 공유 데이터: 분산된 파일의 통합 관리를 통해 여러 사용자가 동일한 데이터를 공유 통합 데이터: 분산된 데이터를 통합하여 데이터의 중복을 최소화한 데이터 저장 데이터: 컴퓨터가 접근 가능한 매체에 저장된 디지털 데이터 운영 데이터: 조직의 업무 수행을 위해 항상 유지해야 하는 데이터 의사 결정 데이터: 조직에서 장기간 축적한 데이터를 분석하여 새로운 의사결정에 쓰이는 데이터 데이터 베이스의 특징 실시간 접근: 사용자의 질의에 실시간으로 응답 및 접근이 가능하다. 지속적인 변화: 추가, 삭제, 수정과 같은 작업을 통해 변화를 지속적으로 반영한다. 동시 공유: 다수의 사용자가 동일한 데이터를 동시..
해밍 코드 - 생성 방법 패리티 코드를 응용하여 한 비트의 에러를 찾고 정정할 수 있다. 원본 데이터에 추가적인 비트가 붙으므로 많은 양의 데이터 전달이 필요함. 2개 이상의 비트 에러가 발생하면 정정이 불가능하다. 아래의 식을 만족한다 p=4일때 d는 5이상 11이하이다. 즉, 원본 데이터의 비트 수가 5개 이상 11이하 일때 패리티 비트를 4개 갖는 것이다. p=3일때 d는 2이상 4이하이다. 즉, 원본 데이터의 비트 수가 2개 이상 4개 이하일 때 패리티 비트를 3개 갖는다. 패리티 비트의 위치는 1, 2, 4, 8, 16, 32, ...의 위치에 들어가며 기호 P1, P2, P4, ....로 나타낸다. 원본 데이트는 나머지 위치에 순서대로 들어가며 D3, D5, D6... 로 나타낸다. 원래의 데..
패리티 비트 정보의 전달 과정에서 오류를 검사하기 위한 에러 검출 코드로 간단하게 사용되는 것이 패리티 비트이다. 메모리에 저장하거나 전송하는 데이터에 패리티를 붙여서 전송한다. 패리티에는 짝수 패리티와 홀수 패리티가 있다. 짝수 패리티: 1의 개수를 짝수 개로 맞춰 붙여져 있다. 홀수 패리티: 1의 개수를 홀수 개로 맞춰 붙여져 있다. 짝수 패리티의 경우 데이터가 전달된 후 1의 개수가 짝수 개면 올바르게 전달된 것이다. 데이터 짝수 패리티 홀수 패리티 A 0 1000001 1 1000001 B 0 1000010 1 1000010 이와 같이 패리티 비트는 에러가 있는지 없는지만 판별이 가능하게 추가된 비트이다. 여러 비트의 에러는 검출이 안되는 경우가 있고 그 발생한 위치를 몰라 재 전송을 해야 함. ..
그레이 코드(Gray Code) 가중치가 없어 연산에는 부적합 아날로그-디지털 변환기나 입출력 장치 코드로 주로 쓰임 연속되는 코드들 간에 한 비트만 변환하면 새로운 코드가 된다. -> 오차가 작아짐 오차가 작다? 그레이 코드 0111을 기준으로 직전 코드 0110과 다음 코드 0101과 한 비트씩만 다른 것이 보임 10진 코드 2진 코드 그레이 코드 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 8 1000 1100 9 1001 1101 10 1010 1111 하지만 2진 코드에서는 비트가 여러개가 바뀌기에 약간의 오차도 큰 수의 차이가 발생한다. 2진 코드-> 그레이 코드 변환 최상위비트(MSB)는 그대로 내려오고 그다..