본문 바로가기

전체 글10

데이터 중심 애플리케이션 설계 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.
CentOS 7에서 TensorFlow 2.0 GPU 설치 이 글에서는 NVIDIA 그래픽 카드가 장착된 CentOS 7에서 TensorFlow GPU를 설치하는 방법을 정리합니다. TensorFlow 공식 홈페이지를 보면 TensorFlow GPU를 사용하기 위해 NVIDIA GPU Driver, CUDA Toolkit, cuDNN SDK가 필요하다고 안내하고 있습니다. NVIDIA GPU Driver는 RPM 패키지를 이용해 설치하고, CUDA Toolkit과 cuDNN SDK은 NVIDIA Container Toolkit을 활용해 설치합니다. 모든 설정이 끝나면 아래 그림과 같은 아키텍처가 됩니다. NVIDIA Driver 설치 NVIDIA 공식 홈페이지에 나와 있는 설치 방법을 참고하여 진행합니다. # gcc등 의존성 Library 설치 yum updat.. 2020. 7. 24.
CentOS 7 Tesseract-OCR 5.0.0 설치 CentOS 7 에서 최신버전 Tesseract-OCR 설치방법을 정리합니다. 공식홈페이지에서 yum으로 설치하는 방법을 안내하고 있습니다. 하지만 설치되는 버전이 4.x라서 소스코드를 직접 다운받아 compile해서 설치하는 방법을 정리합니다. CentOS Linux release 7.7.1908 (Core) 환경에서 테스트 했습니다. 필수 Libray 설치 yum install -y autoconf automake libtool pkgconfig.x86_64 yum install -y libpng12-devel.x86_64 libjpeg-devel libtiff-devel.x86_64 zlib-devel.x86_64 yum install -y wget git GCC 최신버전 설치 centos7에 yu.. 2020. 3. 31.