목록전체 글 (53)
웹풀스택 공부 중
"동적 계획법" - 알고리즘 설계 기법 및 최적화 이론의 한 기술- 답을 재활용한다 - 하나의 큰 문제를 작은 문제로 나누어 해결한다 - 즉, 큰 문제를 풀기 위해 그 문제를 작은 문제로 나누고, 작은 문제를 푼 해법을 활용해서 큰 문제를 푼다 왜 Dynamic Programming인가? - Dynamic이란 단어가 멋있어서! (진짜임) 왜 DP가 중요한가?- 적절한 문제에 DP를 사용하면 매우 빠르게 답을 얻을 수 있다- 하지만 '적절한' 문제를 어떻게 판단하는가가 문제이다 DP의 사용 조건1. Opitmal Substructure (최적 부분 구조) - Combining the optimal results of subproblems should lead to the optimal res..
You are the manager of a basketball team. For the upcoming tournament, you want to choose the team with the highest overall score. The score of the team is the sum of scores of all the players in the team. However, the basketball team is not allowed to have conflicts. A conflict exists if a younger player has a strictly higher score than an older player. A conflict does not occur between players..
Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water. Example 1: Input: grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ..
Load Balancer"대량 트래픽에 의한 서버 부담을 분산하는 방법"단 한개의 웹 서버를 통해 WAS를 제공하는 경우 두가지 문제가 생김가용성 문제: 대량의 트래픽이 한개의 웹 서버로 집중되는 경우한개의 웹 서버가 트래픽을 감당하지 못해 터져버린다수직적 확장 | 수평적 확장이 필요하다새 버전의 웹 어플리케이션 배포 시새로운 웹 서버에 배포하는 경우 IP가 변경된다IP가 바뀌면 서버를 잃어버리게 된다기존의 웹 서버에 배포하더라도 기존 버전을 정지하고 새 버전을 구동하는 동안 유저가 사용할 수 없음How?LB를 웹 서버의 앞단에 두고, IP를 부여한 뒤 웹 Client가 해당 LB를 호출하게 한다트래픽 처리에 대한 짐을 분산 시켜줌LB는 앞단의 모든 Web Client의 요청을 받아 뒷단의 모든 웹 서버..
우리가 만든 Web Application을 구동시키려면 서버가 필요한데, 그 서버를 어떻게 구축 / 구성해야할까?서버는 어떻게 구성하나?물리 서버 vs 클라우드 서버물리 서버 (On-premise): 요구사항 (필요에 따라)에 맞춰 직접 중소형 데이터 센터를 구축 및 유지보수구축과 유지보수 비용이 많이 높다Cloud Server: 이미 구축된 초거대 데이터센터에서 사용할 부분만 OnDemand로 임대한다실체가 없음 (추상화)필요에 따라 즉각적으로 서버를 구성한다다 쓰면 폐기가 가능하다매몰 비용이 없음!ex.) 아파트: 이미 구축된 거주단지에 임대로 살기서버를 선택하는 방법물리적 서버를 사용할지, 클라우드 서버를 사용할지 선택1-1. 클라우드 서버를 선택했다면 Serverless로 사용할지, Server를..
OS 및 프로그램의 동작원리응용 프로그램 == 프로그램 == Application하드웨어 = Program이 동작되는 머신내부자원: CPU + Memory외부 자원 (입출력: Input Output): 네트워크 IO, 저장장치 IO, Mouse, Keyboard, ...속도가 제일 느림용량이 제일 큼소프트웨어 = OS (시스템 소프트웨어) + ApplicationOS: OS 운영체제 - 아래 Applicationd에게 하드웨어를 제공함ApplicationShell: 유저가 Kernel을 직접 다루기는 어려워 응용 소프트웨어로 간편한 제어 및 사용을 제공함그 외의 모든 Application: 유저가 다운받고, 설치해서 사용하는 모든것두가지 APIOS: 하드웨어를 사용하는 방법Shell = OS를 사용하기 ..