본문 바로가기

분류 전체보기

(20)
[알고리즘] DP - Dynamic Programming(다이나믹 프로그래밍) 알고리즘을 공부하다 보면 DP라는 말을 간혹 접하게 되는 경우가 있다. 이 DP는 Dynamic Programming(다이나믹 프로그래밍)의 줄임말이다. 다이나믹 프로그래밍, 혹은 동적 프로그래밍이라 불리는 이것은 무엇일까? 1. 다이나믹 프로그래밍이란? 동적 계획법이라고도 불리는 다이나믹 프로그래밍은 큰 문제를 작은 문제로 나누어 푸는 알고리즘을 뜻한다. 동적으로 작동하는 프로그래밍이라는 직관적인 의미를 가지고 있지는 않다. Dynamic Programming이라고 이름을 붙인 사람도 이 말이 멋있게 느껴져 이 이름을 붙였다고 말한 바 있다. 2. 다이나믹 프로그래밍의 성립 조건 모든 문제를 다이나믹 프로그래밍으로 해결할 수 있는 것은 아니다. 이 알고리즘으로 문제를 해결하기 위해서는 두 가지 조건을 ..
쿠키(Cookie)와 세션(Session)은 무엇이고 어떤 차이점이 있을까? 쿠키와 세션은 왜 사용하는 것일까? 쿠키와 세션을 사용하는 이유는 HTTP의 특징이자 약점을 보완하기 위해서이다. 그렇다면 이 HTTP의 특징은 무엇이고, 그로 인한 약점은 무엇일까? 쿠키(Cookie)와 세션(Session)은 각각 어떤 것이며 둘은 어떤 차이점을 가지고 있을까? HTTP 프로토콜 HTTP(Hypertext Transfer Protocol)는 인터넷 상에서 데이터를 주고받기 위해 서버 · 클라이언트 모델을 따르는 통신 규약이다. 이 HTTP 프로토콜의 특징은 비연결성(Connectionless)과 비상태성(Stateless)이다. 비연결성(Connectionless) : HTTP는 클라이언트가 서버에 요청을 보내면, 서버는 클라이언트에게 요청에 맞는 응답을 해 준 뒤 접속을 끊는다. 이..
애자일(Agile) Agile : 민첩한, 기민한 소프트웨어 개발 기법 중의 하나로, 계획 중심의 프로세스(ex) 폭포수 모형)와 반대되는 입장을 취하고 있다. 2000년대 초에 대두되었다. 1990년대에는 주로 많은 인원의 개발자가 오랜 기간 동안 소프트웨어를 개발하곤 했다. 그러한 개발 방식은 대형 소프트웨어 개발 프로젝트엔 적합할지 몰라도, 소규모 프로젝트에는 오히려 개발을 더디게 만드는 걸림돌로 작용했다. 개발에서의 창의성이나 혁신은 단순히 계획에서 나오는 것이 아니라고 생각하는 경량방법론주의자들로부터 시작되었다. “규칙은 적게, 가볍게 대응할 수 있도록”, “해 보고 고쳐나가자”를 내세우고 있다. 애자일 방식의 특징 애자일 모형이라고도 한다. 특정한 개발방법론을 명명하는 것이 아니며, 고객과의 소통에 초점을 맞추는..
SQL vs NoSQL - 관계형 데이터베이스, 비관계형 데이터베이스 데이터베이스를 사용하다 보면 자연스럽게 관계형 데이터베이스와 비관계형 데이터베이스라는 단어를 접하게 된다. 이 두 가지 데이터베이스는 과연 어떤 차이점을 가지고 있기에 분리하여 사용되고 있으며, 또 어떤 상황에서 각기 사용되고 있을까? SQL(관계형 데이터베이스)와 NoSQL(비관계형 데이터베이스)를 비교하며 두 가지의 차이점 및 사용하기에 적절한 상황에 대하여 알아보자. 1. SQL(관계형 데이터베이스) SQL은 Structured Query Language의 약자이다. '구조화된 쿼리 언어'를 뜻한다. 의미에서 알 수 있듯, SQL은 데이터베이스 자체를 나타내는 것이 아닌 어떠한 유형의 데이터베이스와 상호 작용하는 데에 사용하는 쿼리 언어이다. 우리가 흔히 접하는 관계형 데이터베이스라는 의미로 사용되..
[인프런] 신입 프로그래머를 위한 실전 JSP 강좌 3강, 4강 3강 JSP 맛보기 - jsp 문서 작성하기 - jsp 아키텍쳐 jsp의 특징 - 동적 웹 어플리케이션 컴포넌트 - jsp확장자 - 클라이언트의 요청에 동적으로 작동하고, 응답은 html을 이용한다. -- html은 정적으로 작동함. jsp로 확장자로 문서를 만들어 클라이언트 브라우저에 실행되고, html코드가 남아 응답한다. - jsp는 서블릿으로 변환되어 실행한다. - mvc패턴에서 view로 이용된다. 홈페이지에서 request가 들어간다 ↓ controller(servlet) - 홈페이지에서 들어온 요청을 받아 모델로 보낸다 - 모델에서 받은 정보를 다시 view로 보내 응답하도록 한다 model - 데이터베이스에서 데이터를 가져와 작업을 수행한다 - 로직 수행도 모델에서 사용된다 - 완성된 결과..
[포스텍 MOOC] 데이터 사이언스를 위한 통계학 입문(2주차) 데이터 사이언스를 위한 통계학 입문(2주차) ✓ 2주차 빅데이터 탐색의 첫걸음 ✓ 2주차 1강 《데이터의 평균 - 중심 위치》 ✓ 평균 : 하나의 값으로 표현한 요약된 정보(추정치) 평균 공식 : 데이터값의 총합을 데이터의 갯수로 나눈 것 모든 데이터를 일일이 나열할 필요 없이 평균을 통해 하나의 값으로 요약된 정보를 쉽게 접할 수 있다. “평균은 혼자 존재하는 개념이 아니다!” * 평균과 표본 선정 : 표본 선정을 어떻게 하느냐에 따라 평균값에 영향을 미치게 된다. 표본 샘플이 알아보고자 하는 데이터를 포괄할 수 있어야 알아보고자 하는 값을 보다 정확하게 알 수 있다. ✓ 평균을 다룰 때 주의해야 할 점 평균값이 정확하기 위해서는 적합한 표본을 선정하여야 한다. 반복적으로 실험할 때 유사한 값이 나오고..
[포스텍 MOOC] 데이터 사이언스를 위한 통계학 입문(1주차) 데이터 사이언스를 위한 통계학 입문(1주차) ✓ 1주차 : 데이터 과학과 통계 ✓ 1-1) 데이터 과학이란 무엇인가 ✓ 데이터 과학과 데이터 분석(data Analtics) - 데이터 큐레이션, 데이터 추출 및 변환, 데이터 시각화를 포함하고 있는 용어. 다차원 그래프를 포함한다. 딥러닝 알고리즘, 머신러닝 등을 포괄할 수 있는 용어이다. 데이터시각화 : 데이터 분석 결과를 쉽게 이해할 수 있도록 그래프, 도표, 이미지 등을 통해 한눈에 이해할 수 있도록 하는 것 데이터분석을 통해 새로운 사실을 발견하고, 인사이트를 창출한다. 이것이 데이터 과학이다. - 데이터는 단순한 학문이 아니라 현실과 접목되어야 하므로 데이터 도메인에 대한 지식과 분석능력을 갖추어야 한다. ✓ 데이터과학의 예시 - finnGen ..
5G - 5세대 이동 통신 ✓ 5G는 무엇을 말하는가 5G는 ‘5th generation mobile communications’의 약자로, 5세대 무선 네트워크 이동 통신 기술을 말한다. 2GHz 이하의 주파수를 사용하는 4G와 달리, 5G는 28GHz의 초고대역 주파수를 사용한다. 과거 2000년대 상용화한 3G 통신 방식인 ‘IMT-2000’을 계승해서 2020년 상용화를 목표로 삼는 모바일 국제 표준이다. 5G는 최대 다운로드 속도가 20Gbps, 최저 다운로드 속도는 100Mbps인 이동통신 기술이다. 또한 1㎢ 반경 안의 100만개 기기에 사물인터넷(IoT) 서비스를 제공할 수 있고, 시속 500㎞ 고속열차에서도 자유로운 통신이 가능해야 한다. ✓ 5G의 향상된 속도 5G의 전송 속도의 향상 수준을 보면, 다운로드 속도..