수년 전까지 대규모 어플리케이션은 수십 대의 서버, GB의 데이터, 수초의 응답시간 등 당연하게 여겨졌던 몇 시간의 유지보수 등의 특징이 있음. (이전에는 몇초정도 걸리는 응답시간이 당연했지만, 요새는 수초의 응답이 걸리는 페이지는 그냥 닫아버린다…) 하지만 오늘날은 다음과 같은 변화를 이유로 리액티브 프로그래밍 패러다임의 중요성이 점차 커지고 있다. 빅데이터 : 보통 빅데이터는 페타바이트(Petabyte, PB, 10 bytes) 단위로 구성되며 매일 증가한다. 다양한 환경 : 모바일 디바이스에서 수천 개의 멀티 코어 프로세서로 실행되는 클라우드 기반 클러스터에 이르기 까지 다양한 환경에 애플리케이션이 배포된다. 사용 패턴 : 사용자는 1년 내내 항상 서비스를 이용할 수 있으며 밀리초 단위의 응답 시간..
# 문제 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발 속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 ..
# stack 이란? 스택은 후입선출(LIFO - Last in First Out)의 특성을 가지는 자료구조이다. 후입선출이란 말그대로 맨 마지막에 들어온 값이 제일 먼저 나간다는 말이다. 아직 스택이 이해가 되지 않는다면 다음 예를 생각해보자. 엘레베이터가 20층에서 1층으로 내려오는데 20층에서 사람이 한 명, 10층에서 다른 사람이 한 명 탑승했다. 이 엘레베이터가 1층에 도착하게 되면 앞에있던 10층 주민이 먼저 내리고, 그 뒤에 있던 20층 주민이 나중에 내리게 되는데 바로 이런 상황이 후입선출이다. Stack 은 사전적 의미로도 '쌓다' 라는 뜻이 있는데, 이러한 자료구조를 생각하면 정말 잘 만든 이름같다! # stack 선언 import java.util.Stack; //import Stac..