CS지식
-
다이제스트 인증이란 무엇인가CS지식/네트워크 2021. 6. 20. 20:21
다이제스트 인증은 HTTP에서 제공하는 인증 방법 중 하나이다. 지난번에 알아 본 기본 인증은 편리하고 유연하지만 안전하지 않다. 그 이유는 사용자 이름과 비밀번호를 평문으로 보내는데 이 정보를 위조하지 못하게 보호하는 장치가 없기 때문이다. 비밀번호를 base-64 인코딩을 한다고는 하지만 쉽게 디코딩이 가능하여 보호기능이 약하다. (기본 인증: https://straw961030.tistory.com/111) HTTP 인증이란 무엇인가 인증이란 무엇일까? 웹을 통해서는 정말 다양한 서비스를 받을 수 있다. 우리가 관심을 가지고 있는 분야에 대한 정보나 뉴스, 검색어를 통한 서칭 등 누구나 공용으로 이용할 수 있는 서비스들 straw961030.tistory.com 다이제스트 인증은 기본 인증과 호환되..
-
데이터 웨어하우스란 무엇인가CS지식/데이터베이스 2021. 6. 19. 23:03
데이터 웨어하우스(Data Warehouse)란 사용자의 비즈니스 분석 활동과 의사 결정 지원을 위한 대규모의 데이터 저장소이다. 데이터 웨어하우스는 여러 곳에 분산되어 운영되는 시스템들로부터 필요한 데이터를 추출한 후 표준화된 형식으로 변환하여 하나의 중앙 집중화된 저장소에 모아놓고 다양한 목적을 가진 여러 사람들이 쉽게 데이터를 쓸 수 있도록 만든 창고라고 생각하면 된다. 이러한 데이터 웨어하우스의 특징은 데이터의 주제 지향성, 통합성, 시계열성, 비휘발성이 있다. 주체 지향성(subject orientation)은 의사결정에 필요한 특징 주제에 따라 데이터를 분류, 저장, 관리한다는 것이다. 우리가 지금까지 알아본 데이터베이스는 어떠한 개체(entity)에 대한 모든 데이터는 의사결정에 필요하지 않..
-
가상 메모리란 무엇인가CS지식/운영체제 2021. 6. 18. 22:10
우리가 사용하는 컴퓨터에 물리 메모리가 존재하는데 모든 컴퓨터의 물리 메모리의 크키는 다를 수 있다. 그러면 2GB의 물리 메모리 공간을 요구하는 프로그램은 1GB 크기의 물리 메모리를 가진 컴퓨터에서는 동작하지 않을까? 만약 운영체제가 물리 메모리의 크기에만 의존한다면 1GB 크기의 물리 메모리를 가진 컴퓨터에서 프로그램이 동작하지 않을 것이다. 이러한 부분을 해결할 수 있는 기술이 가상 메모리이다. 가상 메모리는 크기가 다른 물리 메모리에서 일관되게 프로세스를 실행할 수 있는 기술이다. 즉, 컴퓨터의 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술로 프로세스는 운영체제가 어는 공간에 위치해있는지, 물리 메모리의 크기는 어떠한지 신경 쓰지 않고 메모리를 사용할 수 있다. 어..
-
HTTP 인증이란 무엇인가CS지식/네트워크 2021. 6. 17. 22:43
인증이란 무엇일까? 웹을 통해서는 정말 다양한 서비스를 받을 수 있다. 우리가 관심을 가지고 있는 분야에 대한 정보나 뉴스, 검색어를 통한 서칭 등 누구나 공용으로 이용할 수 있는 서비스들이 있다. 하지만, 이러한 공용으로 데이터를 사용하여 받는 서비스 이외에 웹에서는 허가된 사용자만 데이터에 접근하여 개인적인 서비스를 받기도 한다. 예를 들어 메일을 주고 받거나 요즘에 자주 사용하는 간편결제시스템을 이용하는 등 이러한 서비스는 개인적인 데이터에 접근하여 받는 서비스이다. 이러한 개인적인 서비스를 받거나 데이터에 접근하기 위해서 서버는 사용자가 누구인지 식별할 수 있어야한다. 하지만 서버가 단순히 접근한 사용자를 식별만해서 private한 데이터를 접근하게 하는 것이 아닌 사용자가 누구인지 증명을 해야하..
-
트랜잭션이란 무엇인가?CS지식/데이터베이스 2021. 6. 16. 22:11
오늘은 트랜잭션에 대해 공부해보았다. 트랜잭션... 처음 단어의 정의를 접했을 때에는 이해가 되지 않았다. 그래서 데이터베이스에서의 트랜잭션의 뜻 말고 원래 트랜잭션이 영어단어로써 어떠한 뜻을 가지고 쓰이는지 찾아보았다. 구글에 트랜잭션, transaction을 검색한 결과, 대부분의 상위 검색결과는 데이터베이스의 트랜잭션에 대한 내용 뿐이였고 구글번역 자체도 그냥 한국어로 트랜잭션이라고만 나왔다. 스크롤링을 하다보니 트랜잭션을 설명하는 영영사전 사이트가 있어 들어가봤다. https://dictionary.cambridge.org/ko/%EC%82%AC%EC%A0%84/%EC%98%81%EC%96%B4/transaction transaction 1. an occasion when someone buys ..
-
컴파일러와 인터프리터는 무엇인가CS지식/운영체제 2021. 6. 15. 22:16
컴파일러와 인터프리터는 대표적인 언어 번역 프로그램이다. 그러면 무슨 언어를 어떻게 번역한다는 것일까? 우리는 코딩을 할 때 흔히 알고 있는 C언어, JAVA, Python 등 프로그래밍 언어를 사용한다. 이러한 프로그래밍 언어는 사람들이 보았을 때에는 이해하기 쉽지만 0과 1밖에 모르는 컴퓨터에게는 너무나도 어렵다. 그래서 우리가 쓴 프로그래밍 언어를 컴퓨터가 이해할 수 있는 기계어로 번역하는 작업이 필요하고 이러한 작업을 하는 것이 컴파일러와 인터프리터이다. 컴파일러는 소스코드를 컴퓨터가 실행할 수 있는 기계어로 번역하여 목적 프로그램으로 만든 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성하여 실행된다. 인터프리터는 목적 프로그램은 생성되지 않고 코드를 한 줄씩 읽어 들여 기계어..
-
쿠키(Cookie)란 무엇인가?CS지식/네트워크 2021. 6. 14. 21:33
쿠키(Cookie)는 사용자를 식별하고 세션을 유지하는 방식 중에서 가장 많이 사용하는 방식이다. 쿠키는 캐시와 충돌할 수 있어 대부분의 캐시나 브라우저는 쿠키에 있는 내용물을 캐싱하지 않는다. 쿠키는 크게 세션 쿠키와 지속 쿠키로 나뉘어 진다. 세션 쿠키는 사용자가 사이트를 탐색할 때 설정과 선호 사항들을 저장하는 임시 쿠키로 브라우저를 닫으면 삭제된다. 지속 쿠키는 사용자가 주기적으로 방문하는 사이트에 대한 설정 정보나 로그인 이름을 유지하기 위해 사용하는 쿠키이다. 지속 쿠키는 디스크에 저장되어 브라우저를 닫거나 컴퓨터를 재시작해도 남아있다. 쿠키가 사용자에 대한 정보를 저장하여 여러 사용자들을 식별하는데 쓰이는 것은 알겠다. 그러면 이러한 쿠키는 어떻게 구현될까? 처음에 사용자가 웹 사이트에 접속..
-
[MySQL] 날짜, 시간 표기 방식 지정하기CS지식/데이터베이스 2021. 6. 13. 22:57
오늘은 프로젝트를 진행하면서 mysql에서 데이터를 가져올 때 속성(attribute)의 도메인이 Datetime인 데이터의 표기 방식을 변경하는 방법을 배우게 되서 정리해보려고 한다. 먼저, 도메인이 Datetime인 속성(attribute)를 그냥 조회해보자. todo 테이블의 information을 보면 regdate라는 속성의 도메인이 datetime인 것을 확인할 수 있다. SELECT문을 이용해 regdate를 조회해보면 이렇게 기본 표기방식인 YYYY-MM-DD hh:mm:ss으로 나오게 된다. 만약에 우리가 흔히 날짜를 보는 표기 방식인 YYYY-MM-DD으로 데이터를 받고 싶으면 어떻게 하면 될까? 답은 date_format( )을 이용하는 것이다. 직접 SQL문을 써서 결과를 보자. s..