전체 글

Cloud Wave

Fundamentals of Architecture Design

AWS Well-Architected Framework 시스템 설계, 구축, 운영 과정에 활용하기 위한 AWS가 제시하는 모범 사례로서 아키텍처 설계, 구축 과정에서 결정이 필요할 때 활용하는 6가지 요소 운영효율성 - 배포 시간을 줄이는 방법 안정성 - 어떻게 빠르게 복구할건지 성능 효율성 - 변화에 민첩하게 적응 비용 최적화 - 리소스가 서비스를 구성하는데 비용을 줄이는 방안 지속가능성 - 설계할 때 클라우드를 이용하여 탄소배출 감소 한 명의 사용자를 지원하는 시스템에서 수백만의 사용자를 위한 시스템까지 확장하는 과정 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1장 1. 단일 서버 환경에 구성된 소규모 고객 시스템 WEB, WAS, DB 모두 단일 서버에 구성 도메인 관리를 위한 DNS 서비스..

코딩테스트/프로그래머스

[프로그래머스] 이중우선순위큐 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int[] solution(String[] operations) { List pq = new LinkedList(); for(int i=0;i

Cloud Wave

AWS Cloud(Region & Availability Zone)

Region AWS Service가 제공되는 물리적인 위치 전 세계 31개의 리전이 서로 분리되어 리전 단위로 운영 리전 별 서비스 구분을 위한 고유 코드 존재 리전 코드 구조: (지역) + (지리적 위치) + (순번) 리전 코드 예시: ap-northeast-2 리전 코드 API 예시: https://dynamodb.ap-northeast-2.amazon.com 리전 별 제공되는 서비스 다름 AWS Region은 Multi-Availability를 통해 High Availability, High Scalability, High Fault Tolerance을 제공 Availability Zones AWS Region에 배치된 데이터센터의 그룹 1개의 리전에는 최소 2개 이상의 AZ로 구성(요즘은 최소 3..

Cloud Wave

클라우드 컴퓨팅이란?

클라우드 컴퓨팅이란? 컴퓨팅 리소스를 데이터센터에 대량으로 구성하고 인터넷을 통해 사용자가 원하는 만큼 On-Demand 형태로 IT 서비스를 제공하는 방식 특징 - 리소스 공유 여러 사용자가 공유 - 신속한 확장성 스케일업, 스케일다운 -> 비즈니스의 성장이나 변화에 빠르게 대응할 수 있다. - 주문형 셀프 서비스 관리화면을 통해 서비스 이용 -> 어디서나 업무 진행 가능 - 측정 가능한 서비스 이용한 만큼 비용 부과. 미사용 시스템 자원에 대한 비용 부담이 줄어든다 유형 클라우드는 구축 형태에 따라 Public, Private, Hybrid, Multi Cloud로 구분 퍼블릭 클라우드(Public Cloud) 퍼블릭 클라우드는 인터넷을 통해 일반 대중과 기업에게 공개된 클라우드 서비스 클라우드 서비..

코딩테스트/프로그래머스

[프로그래머스] 정수 삼각형 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { public int solution(int[][] triangle) { int dp [][] = new int [triangle.length][triangle.length]; dp[0][0] = triangle[0][0]; dp[1][0] = triangle[1][0] + dp[0][0]; dp[1][1] = triangle[1][1] + dp[0][0];..

코딩테스트/프로그래머스

[프로그래머스] 피로도 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { boolean visited []; int [][] array; int result; public int solution(int k, int[][] dungeons) { visited = new boolean [dungeons.length]; array = dungeons; explore(0, k); int answer = result; return ans..

코딩테스트/프로그래머스

[프로그래머스] [1차] 뉴스 클러스터링 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 대문자와 소문자의 차이는 무시한다. 따라서 toUpperCase()를 이용하여 영문자들은 대문자로 바꿔준다. 2. 입력으로 들어온 문자열은 두 글자씩 원소로 만든다. 이는 substring 함수를 이용하여 문자열을 2글자씩 추출한다. 3. 영문자로만 된 글자쌍만 유효하므로 matches함수를 이용하여 영문자로만 된 글자쌍이면 list에 넣는다. 매개변수로 들어오는 str1과 str..

코딩테스트/프로그래머스

[프로그래머스] 프로세스 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public int solution(int[] priorities, int location) { Queue que = new LinkedList(); for(int i=0;i

코딩테스트/프로그래머스

[프로그래머스] 기능개발 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public List solution(int[] progresses, int[] speeds) { Stack stack = new Stack(); List list = new ArrayList(); int n = progresses.length; int res = 0; for(int i=0;i

코딩테스트/프로그래머스

[프로그래머스] 할인 행사 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 -map을 이용할 경우 want를 넣은 map과 discount를 넣은 map에 대해서 같은 key의 value 값에 대해서 비교 실제 개수가 더 크면 answer를 update import java.util.*; class Solution { public int solution(String[] want, int[] number, String[] discount) { int answe..