목록IT (227)
잡동사니
안녕하세요. yeTi입니다. 오늘은 Kubernetes 환경에서 PostgreSQL의 HA를 구성해보겠습니다. 작업환경 OS : Linux 4.18.0 Kubernetes : 1.18 Helm : 2.16.7 High Availability PostgreSQL Documentation에 따르면 PostgreSQL은 자체적으로 Master-Slave형태의 replication을 제공합니다. 추가적으로 Standby의 형태를 Cold Standby, Hot Standby를 제공하고 있어 상황에 맞는 구성을 선택할 수 있습니다. 하지만 Master-Slave형태의 구성에는 클라이언트가 접속할 수 있는 End-Point를 단일화 하는 이슈가 있는데, 이를 Pgpool이라는 미들웨어를 사용하여 해결할 수 있습니다..
안녕하세요. yeTi입니다. 오늘은 쿠버네티스를 하다보면 접하게되는 rook-ceph 중 ceph에 대해서 알아보겠습니다. Ceph이란? Ceph은 PC단위를 Ceph Node로 storage를 clustering 해주는 서비스입니다. Intro to Ceph에 따르면 Ceph Storage Cluster를 구성하기 위해서는 Ceph Monitor, Ceph Manager, Ceph OSD(Object Storage Daemon)가 하나이상 있어야 하고 Ceph File System client를 사용하려면 Ceph Metadata Server가 있어야 합니다. 각각의 데몬들은 다음과 같은 역할을 합니다. Monitors: Ceph Monitor (ceph-mon)는 monitor map, manager..
안녕하세요. yeTi입니다. 오늘은 라즈베리파이에 AI를 구동하는 환경을 설정해보려고 합니다. 이를 위해서 Tensorflow를 활용해 모델을 생성하고 Tensorflow Lite를 활용해 모델의 변환 및 라즈베리파이에 AI를 구동했습니다. 작업환경 OS : Linux raspberrypi 4.19 Tensorflow : 2.1.0 Python : 2 Tensorflow Tensorflow를 설치하고 mnist 모델을 생성합니다. Tensorflow - Dockerhub CPU만 사용하는 Tensorflow를 일회성 컨테이너로 사용하고 싶으면 다음과 같이 구동합니다. $ docker run -it --rm tensorflow/tensorflow bash Tensorflow에 Jupyter notebook..
인프런의 스프링 부트 개념과 활용 - 백기선을 수강하면서 내용을 정리하고 간단한 후기를 남깁니다. 스프링 부트 시작하기 Spring Boot Reference Documentation의 Introducing Spring Boot에 따르면 스프링 부트는 스프링기반 독립적인 어플리케이션을 쉽게 만들 수 있도록 지원한다. 스프링이나 3th 파티 라이브러리들을 최소한의 노력으로 사용할 수 있다. 스프링 부트의 목적은 다음과 같다. 스프링 개발자가 빠르고 폭넒게 개발할 수 있도록 제공한다. 기본적으로 제공하는 설정을 빠르게 수정할 수 있다. Embedded 서버나 보안, 메트릭 등과 같은 비기능적 요소들을 폭넒게 제공한다. 더 이상 XML 설정이나 코드 generation을 하지 않는다. 스프링 부트 원리 의존성..
안녕하세요. yeTi입니다. 오늘은 Eclipse에서 JUnit을 구동할때 발생하는 Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.EngineDiscoveryListener를 해결한 상황을 공유하고자 합니다. 저는 다음과 같은 상황에서 정상적으로 JUnit을 사용하고 있었습니다. IDE : STS-4.5.1.RELEASE Java : openjdk-12.0.1 (JavaSE-11) SpringBoot : 2.2.4.RELEASE Gradle : 6.0.1 JUnit : 5.5.2 오류 그런데 STS에서 업데이트 안내가 떠서 업데이트를 하고나니(4.6.0.RELEASE) 다음과 같은 오류가 발생하면서 JUnit이 동작하지 않았..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 4번 문제를 풀어봤습니다. 정확도는 30분정도만에 해결했지만 효율성을 해결하는데 3시간 30분이 걸렸습니다.ㅜ 다른 풀이는1번 문제 풀이, 2번 문제 풀이, 3번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 25.0 효율성 : 75.0 합계: 100.0 / 100.0 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 친구들로부터 천재 프로그래머로 불리는 "프로도"는 음악을 하는 친..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 3번 문제를 풀어봤습니다. 어렵게 생각해서 헤매다 7시간이 걸렸습니다.ㅜ 다른 풀이는1번 문제 풀이, 2번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 고고학자인 "튜브"는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 2번 문제를 풀어봤습니다. 이번에는 생각할께 별로 없어서 30분정도 걸렸네요.ㅎㅎ 다른 풀이는1번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 ..
코딩 테스트, 2020 카카오 문제 1 안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 1번 문제를 풀어봤습니다. 개인적으로 어렵게 느껴졌는지 풀이하는데 2시간이나 걸렸네요.ㅜ 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는..
안녕하세요. yeTi입니다. 오늘은 Java에서 사용하는 키워드의 일부를 살펴보려고 합니다. Final 한번 정의된 값을 수정할 수 없도록 제한한다. Final Class : 상속 방지 Final Method : Override 방지 Final Variable : 값의 변경 금지 final keyword in java - GeeksForGeeks, final, finally and finalize in Java - GeeksForGeeks에 추가적인 내용이 있습니다. Static 객체의 정의없이 항상 메모리에 올려두고 모든 객체와 공유한다. Static Block : Static Variable을 초기화 Static Variable : 공유 변수 static keyword in java - GeeksFo..