all 125

# Level1 - 크레인 인형 뽑기

[문제] 인형이 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 집어 올린 인형은 바구니에 쌓이게 되고 인형은 순서대로 쌓이게 됩니다. 이 때, 바구니에 똑같은 인형이 연속해서 담기면 똑같은 인형 두개는 터트려져 사라집니다. 그럼 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요. [내 풀이] 인형이 담기는 순서가 항상 보장되고, 인형이 터지는 조건은 크레인이 잡은 인형과 바구니에 가장 마지막에 담긴 인형이 같을 때라는 조건이 핵심이므로 큐가 아닌 스택을 사용하였다. 사실 실무에서 stack을 써본적은 없는데 peek()과 pop()의 차이도 확실히 알게 되었다. publ..

JAVA/Argorithm Test 2020.10.27

# Docker Swarm 클러스터 모니터링

Docker Swarm 클러스터를 모니터링 할 수 있는 방안은 여러가지가 있지만 Grafana를 이용한 방안을 알아보겠다. Docker Swarm 클러스터 구성 방법은 이전 포스팅 글에서 확인할 수 있다. # Docker Swarm 클러스터 구성 # Docker Swarm 클러스터 구성 Docker Swarm 이란 컨테이너를 관리하는 Orchestration Tool 중의 하나이다. Orchestration Tool 이란? 컨테이너의 단순 배포 뿐만이 아니라 확장, 네트워킹 등을 자동화하여 수백 또는 수천 개의 컨테이너를 �� skysoo1111.tistory.com Step 1. Docker 데몬 메트릭 노출 및 Docker 재기동 $ sudo vi /etc/docker/daemon.json { "me..

Cloud/Docker 2020.10.13

# Docker Swarm 클러스터 구성

Docker Swarm 이란 컨테이너를 관리하는 Orchestration Tool 중의 하나이다. Orchestration Tool 이란? 컨테이너의 단순 배포 뿐만이 아니라 확장, 네트워킹 등을 자동화하여 수백 또는 수천 개의 컨테이너를 보다 효율적으로 관리할 수 있는 기능을 지원하는 도구이다. Orchestration Tool 장점 단점 Docker Swarm •Docker 의 모든 기능이 내장되어 있다. •Docker 외 별도의 툴 설치가 필요하지 않다. •타 Orchestration Tool에 비해 다루기 쉽다. •타 Orchestration Tool에 비해 기능이 단순하다. •초대형 노드 클러스터링에는 무리가 있다. Kubernates •현재 가장 많이 쓰이고 있는 툴이다. •내장된 기능이 많아..

Cloud/Docker 2020.10.13

# PostgreSQL - MySQL 차이점

PostgreSQL과 MySQL 간의 기능별 특징 차이를 아래 표로 정리했다. 결론 어떤 DB가 더 좋은지 얘기하는건 무의미한 논쟁이지만 개인적으로 PostgreSQL을 더 선호한다. 이유로는 MySQL에 비해 더 많은 기능을 지원하고 대용량 시스템에 더욱 적합하다기 때문이다. 그렇지만 만약 대용량 시스템이 아니며, 단순한 쿼리를 이용한 읽기 중심의 작업이 많은 경우 MySQL이 성능상 더 효율적일 수 있기 때문에 각자의 시스템에 따른 적합한 DB를 선택해야 할 것이다. 참고 DB 용어 * OLTP (Online Transaction Processing) - 온라인 트랜잭션 처리 DB에서의 빈번한 입력, 수정, 삭제 과정에서의 효율성, 즉 효과적인 DB 갱신이 목표 RDB 에서 정규화란 데이터가 함수적 ..

Database 2020.10.12

# Vagrant를 이용하여 가상 머신 환경 구성하기 2 - 실습

# Vagrant를 이용하여 가상 머신 환경 구성하기 1 - 기본 # Vagrant를 이용하여 가상 머신 환경 구성하기 1 - 기본 Vagrant 란? 단일 워크플로우에서 가상 머신들을 구축하고 관리하기 위한 도구이다. Vagrant 특징 VirtualBox, VMware, AWS 등의 공급자 위에 프로비저닝 되어 서비스를 제공한다. 쉘 스크립트와 같은 업계 skysoo1111.tistory.com 개인적으로 Vagrant 의 가장 큰 장점은 단순한 워크플로우와 자동화로 인한 환경 구축에 들어가는 개발 비용의 단축인데, 예시로 아래와 같은 상황을 생각해보자. Ex) VirtualBox에서 서버 3대를 기동한다고 가정해보자. 일반적으로 다음과 같은 수순으로 진행될 것이다. 1. ISO 파일 준비 2. 가상..

OpenSource/Vagrant 2020.10.07

# Vagrant를 이용하여 가상 머신 환경 구성하기 1 - 기본

Vagrant 란? 단일 워크플로우에서 가상 머신들을 구축하고 관리하기 위한 도구이다. Vagrant 특징 VirtualBox, VMware, AWS 등의 공급자 위에 프로비저닝 되어 서비스를 제공한다. 쉘 스크립트와 같은 업계 표준 프로비저닝 도구로 가상 머신에 소프트웨어를 자동으로 설치하고 구성한다. Vagrant는 사용하기 쉬운 워크플로우와 자동화에 초점을 맞춰 개발 환경 구축에 드는 비용을 크게 줄여준다. Vagrant 실습 Step 1. Virtual box 설치 Virtual box 다운로드 Downloads – Oracle VM VirtualBox Download VirtualBox Here you will find links to VirtualBox binaries and its sourc..

OpenSource/Vagrant 2020.10.06

Outlook 2016 Gmail 계정 등록하기

gmail 아웃룩에 계정 등록하기 아래 포스팅 글이 정말 잘 정리되어 있다. [참조] pdi-mz-support.zendesk.com/hc/ko/articles/360029103612--Gmail-%EC%95%84%EC%9B%83%EB%A3%A9-Outlook-2013-2016-%EC%97%90-%EC%A7%80%EB%A9%94%EC%9D%BC-Gmail-%EC%97%B0%EB%8F%99%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95-IMAP- [Gmail] 아웃룩(Outlook 2013, 2016)에 지메일(Gmail) 연동하는 방법 (IMAP) 아웃룩 연동을 위한 Gmail 의 IMAP 설정 보안 수준이 낮은 앱 사용 설정 방법 아웃룩에서 Gmail 계정추가하기 2단계 보안인증 사..

Environment 2020.09.29

# Vscode sync 설정 git 관리

필자는 개인적으로 Vscode를 Editor, File Viewer 등의 용도로 많이 사용을 하는 편이다. 자주 사용하는 만큼 플러그인이나 단축키 등의 설정을 많이 해뒀는데 이게 문제가 될 때가 있다. 바로 새로운 PC에 환경을 셋팅할 때이다. 똑같은 환경으로 만들기 위해 많은 플러그인과 단축키들을 다시 설치하고 설정하고 싶지 않았기 때문에 Vscode의 설정 값을 github에서 관리하기로 했다. Vscode의 설정값을 주기적으로 github에 Upload 해놓음으로써 백업본을 두게 된 셈이다. 이 과정을 통해서 이제부터는 새로운 PC에 Vscode를 설치해도 설정 값은 github에서 동기화해서 사용하면 된다. # Step 1. GitHub Gist ID 생성 ## Step 1-1. Gist ID 생..

Environment 2020.09.29

# Java - ScheduledExecutorService 와 Springboot 의 @Scheduled 예제

특정 주기마다 어떤 동작을 수행(스케줄링)하는 프로그램을 작성할 때, 구현 방법은 다양할 것이다. 그 중에서 오늘은 ScheduledExecutorService 와 Springboot의 @Scheduled 를 이용한 스케줄링 방법에 대해 알아보려고 한다. 1. ScheduledExecutorService 먼저 ScheduledExecutorService는 Java 1.5부터 지원되는 스케줄링이 가능한 Executor 서비스로 인터페이스이며, 구현체로 ScheduledThreadPoolExecutor() 가 있다. ScheduledExecutorService는 3가지의 지연 스케줄링 방식을 지원한다. /** * 지정된 dealy 시간만큼 지연 후에 1번의 command를 실행한다. * * @param co..

JAVA/SpringBoot 2020.05.08

# 간단하게 알아보는 사회주의와 공산주의 차이는?

사회주의와 공산주의는 보는 시각에 따라 여러가지로 정의할 수 있겠지만 이 포스팅에서는 사회주의는 사상적 이념, 공산주의는 경제적 이념으로 정의하기로 한다. 1. 사회주의는? 사회주의는 경제, 정치적으로 평등하게 조화를 이루는 사회를 지향하는 사상을 의미한다. 2. 공산주의는? 공산주의는 생산 수단의 공공화(개인의 사적소유 불가)를 통해 부의 평등한 분배를 주장하는 경제적 이념을 의미한다. 각 이념별 대립되는 내용들을 정리하자면 아래와 같다. 가난한 노동자를 착취하여 부자들의 배를 불려주는 자본주의 사회에서 부의 불평등은 갈수록 심해질 수 밖에 없고 부르주아와 프롤레타리아(노동자계급)들의 계급간 투쟁이 격화되고 종국에는 프롤레타리아가 승리하여 자본주의는 필연적으로 망할수밖에 없는 구조이다. - 칼 마르크스 -