분류 전체보기 799

[Reactive Programming] 리액티브 스트림즈(Reactive Streams)

리액티브 스트림즈(Reactive Streams)란? 리액티브 스트림즈란 데이터 스트림을 Non-Blocking이면서 비동기적으로 처리하기 위한 리액티브 라이브러리의 표준 사양이다. 그 구현체로는 RxJava, Reactor, Akka Streams, Java 9 Flow API 등이 있다.  리액티브 스트림즈 구성요소 리액티브 스트림즈를 통해 구현해야 되는 API 컴포넌트는 아래와 같이 Publisher, Subscriber, Subscription, Processor 가 있다. 컴포넌트설명Publisher데이터를 생성하고 통지(발행, 게시, 방출)하는 역할을 한다.Subscriber구독한 Publisher로부터 통지(발행, 게시 방출)된 데이터를 전달받아서 처리하는 역할을 한다.Subscription..

[Reactive Programming] 리액티브 시스템과 리액티브 프로그래밍

리액티브 시스템(Reactive System) 리액티브란 사전적 의미로 어떤 이벤트나 상황이 발생했을 때, 적절하게 행동하는 것을 의미한다.  따라서 리액티브 시스템이란 반응을 잘 하는 시스템이라고 정의할 수 있고, 이는 클라이언트의 요청에 즉각적으로 응답함으로써 지연 시간을 최소화하는 시스템이라고 할 수 있다.  리액티브 선언문(The Reactive Manifesto) 리액티브 선언문이란 리액티브 시스템 구축을 위한 일종의 설계 원칙이자 리액티브 시스템의 특징이다. 이는 아래 그림 하나로 명확하게 설명할 수 있다. 방법(Means)주요 통신 수단으로 무엇을 사용할 것인지 표현한 것으로, 위 그림처럼 비동기 메시지 기반(Message Driven)의 통신을 사용할 것임을 뜻한다. 이는 구성요소들 간의 ..

[Lv.1 / 프로그래머스 / SQL] 가장 큰 물고기 10마리 구하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 조회 결과의 최대 개수를 제한하기 위해 LIMIT을 사용할 수 있다. SELECT ID, LENGTHFROM FISH_INFOORDER BY LENGTH DESC, ID ASCLIMIT 10

[Lv.2 / 프로그래머스 / SQL] 노선별 평균 역 사이 거리 조회하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 노선별로 총 거리와 평균 거리를 반환해야 한다. 주의해야 할 점은 총 누계 거리를 기준으로 내림차순 정렬을 해야 하는데, TOTAL_DISTANCE를 그대로 정렬 기준으로 삼는다면 문자열이기 때문에 정확한 크기 비교가 되지 않는다. 따라서 문자열 형태가 아니라 숫자 형태로 비교를 해야 한다. SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST), 1), 'km') AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST), ..

[Lv.2 / 프로그래머스 / SQL] 특정 물고기를 잡은 총 수 구하기

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 BASS와 SNAPPER 를 잡은 총 수를 출력해야 한다. 각 물고기의 FISH_TYPE은 고정된 값이 아니므로 Join을 통해 해결해야 한다. SELECT COUNT(ID) AS FISH_COUNTFROM FISH_INFO AS FIINNER JOIN FISH_NAME_INFO AS FNION FI.FISH_TYPE = FNI.FISH_TYPEWHERE FNI.FISH_NAME = 'BASS' OR FNI.FISH_NAME = 'SNAPPER'

[Docker] 도커(Docker)란?

도커(Docker)란? 도커란?도커는 애플리케이션을 컨테이너라는 표준화된 유닛으로 패키징, 배포, 실행할 수 있게 해주는 오픈 소스 플랫폼이다. 컨테이너를 사용하여 개발자 및 고객에게 일관된 환경을 제공하며, 애플리케이션의 배포와 관리를 단순하게 한다. 도커는 동일한 컨테이너라면 항상 동일한 환경을 제공하기 때문에 사용자에게 일관된 경험을 제공할 수 있다. 따라서 애플리케이션을 실행하는 데 필요한 특정 버전의 라이브러리나 기타 도구를 직접 설치하지 않아도 된다. 컨테이너란?컨테이너는 애플리케이션을 실행하기 위한 코드와, 종속적인 도구가 모두 포함되어 있는 표준화된 소프트웨어 유닛을 의미한다. 만약 NodeJS 애플리케이션을 도커로 빌드하여 컨테이너화 한다면, 이 컨테이너엔 애플리케이션을 실행하기 위한 코..

Dev/CICD 2024.06.14

[Lv.3 / 프로그래머스 / 파이썬] 산 모양 타일링 (2024 KAKAO WINTER INTERNSHIP)

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ↓ 문제 열기더보기   풀이 제한사항 100,000 및 타일 문제이므로 DP를 활용해야 함을 쉽게 유추할 수 있다.어떤 점화식을 도입할 수 있을지 살펴보도록 하자.  tops 의 원소가 하나 추가될 때, 회색 부분은 기존(dp[n-1])의 모든 경우의 수가 고려된 부분이므로 흰 부분에 대해서 타일링을 채우는 방법을 고민해야 한다. 흰 부분은 다음과 같은 방법으로 채울 수 있다.  따라서 tops에 따라 총 3가지 경우의 수로 구분할 수 있다(현재 고려할 top 이 0이라면, 세 번째 경우는 제외하면 된다).  하..

[Lv.2 / 프로그래머스 / 파이썬] 다음 큰 숫자

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 숫자를 하나씩 올려갈 때, 이진수로 변환 시 1의 개수가 일치하는 것을 찾으면 된다. def solution(n): ans = n num1 = bin(n).count("1") while True: ans += 1 if num1 == bin(ans).count("1"): break return ans

[Lv.2 / 프로그래머스 / 파이썬] 이모티콘 할인행사 (2023 KAKAO BLIND RECRUITMENT)

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 각 이모티콘의 할인율을 적절하게 정하여 최대의 이모티콘 플러스 가입자를 유치하고, 그 때 최대의 이익을 출력해야 한다.  알고리즘이 필요하다기 보다는 단순무식한 구현 문제였다. 완전탐색으로 문제를 해결하려고 할 때, 제한 사항이 시간복잡도를 만족하는지 확인해보자.  이모티콘의 총 길이는 7이고 할인율은 10, 20, 30, 40 총 4개이다. 그리고 최대 유저는 100명이다. 이 때 생각할 수 있는 완전탐색 알고리즘은 다음과 같다. 존재할 수 있는 모든 할인율의 조합을 이모티콘의 길이만큼 구한다.할인율의..

[Lv.2 / 프로그래머스 / 파이썬] 올바른 괄호

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   풀이 대표적인 스택 문제이다. 알고리즘은 다음과 같다. 괄호를 순회하며 다음의 규칙을 수행한다.현재 순회하는 괄호가 ( 라면 스택에 넣는다현재 순회하는 괄호가 ) 라면 다음의 규칙을 수행한다.스택에 ( 괄호가 없다면 올바르게 짝지을 수 없으므로 False를 반환한다.스택에서 ( 괄호를 꺼내 짝지어준다(없앤다)순회가 끝났다면 다음의 규칙을 수행한다.스택에 남아있는 괄호가 없다면 모든 괄호가 올바르게 짝지어진 것이므로 True를 반환한다.스택에 괄호가 남아있다면 짝을 지어주지 못한 괄호가 있는 것이므로 False..

반응형