본문 바로가기

Show All10

데이터 중심 애플리케이션 설계 1장 데이터 중심 애플리케이션 설계를 읽고 정리한 내용입니다. 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션이란? 신뢰성 결함이 발생해도 시스템이 올바르게 동작하게 만든다는 의미 잘못될 수 있는 일을 결함이라고 하고 그 원인에는 하드웨어 결함, 소프트웨어 오류, 인적 오류가 존재함 결함을 예측하고 대처할 수 있는 시스템을 내결함성 또는 탄력성을 지녔다고 말함 신뢰성은 원자력 발전소나 항공 교통 관제 소프트웨어 뿐만 아니라 더 일상적인 시스템에서도 필요함 매출의 손실을 발생시키고 사용자들로부터 신뢰를 잃을 수 있기 때문임 확장성 부하가 증가해도 좋은 성능을 유지하기 위한 전략을 의미 부하는 부하 매개변수라 부르는 몇 개의 숫자로 나타낼 수 있음 가장 적합한 부하 매개변수 선택은 시스템 설계에 따라.. 2022. 1. 9.
[LeetCode] 49. Group Anagrams(그룹 애너그램) - 문제풀이 https://leetcode.com/problems/group-anagrams/ 문제 분석 같은 문자로 이루어져 있는 단어들을 찾아서 그룹화 하는 문제다. 애너그램은 단어나 구문을 재배열한 글자나 구문을 뜻함 원래 사용되는 단어는 1번만 존재 결과의 순서는 중요하지 않음 해답 모든 소스코드는 github에서 다운 받을 수 있습니다. public class Question49 { public List groupAnagrams(String[] strs) { if (strs.length == 0) { return new ArrayList(); } Map groupAnagrams = new HashMap(); for (String str : strs) { char[] chars = str.toCharArray.. 2021. 6. 29.
[LeetCode] 819. Most Common Word(가장 흔한 단어) - 문제풀이 https://leetcode.com/problems/most-common-word/ 문제 분석 가장 많이 사용된 단어를 찾는 문제다. 기준은 아래와 같다. 모든 문자는 소문자로 취급함으로 결과도 소문자로 출력할 것 금지어로 설정되지 않은 단어 중에 가장 많이 사용된 단어를 찾을 것 모든 구두점은 무시됨 해답 모든 소스코드는 github에서 다운 받을 수 있습니다. public class Question819 { private final static String DELIMITER = " "; public String mostCommonWord(String paragraph, String[] banned) { List words = new ArrayList( Arrays.asList( paragraph.t.. 2021. 6. 29.
[LeetCode] 937. Reorder Data in Log Files(로그 파일 재정렬) - 문제풀이 https://leetcode.com/problems/reverse-string/submissions/ 문제 분석 로그를 재정렬하는 문제다. 기준은 아래와 같다. 로그의 가장 앞 부분은 식별자 문자로 구성된 로그가 숫자로 구성된 로그보다 앞에 위치 식별자는 순서에 영향을 미치지 않지만, 문자가 동일할 경우 식별자 순으로 정렬 숫자 로그는 입력 순서대로 정렬 해답 모든 소스코드는 github에서 다운 받을 수 있습니다. public class Question937 { public String[] reorderLogFiles(String[] logs) { List digits = new ArrayList(); List letters = new ArrayList(); for (String str : logs).. 2021. 6. 28.