본문 바로가기

분류 전체보기378

라오어의 무한매수법: 간단한 매매 공식과 실전 활용법 주식 투자자들 사이에서 큰 관심을 받고 있는 '라오어의 무한매수법'에 대해 기록 하려고 합니다. 이 방법은 매일 꾸준히 주식을 매수하고 목표 수익률에 도달하면 매도하는 간단하면서도 효과적인 전략으로, 장기적인 투자 습관을 기르기에 적합합니다라오어의 무한매수법이란?라오어의 무한매수법은 일정한 규칙을 바탕으로 매일 꾸준히 매수와 매도를 반복하는 투자법입니다. 특히 장중 가격과 LOC(Limit On Close) 매매 방식을 활용해 효율적인 매수 타이밍을 잡고, 목표 수익률에 도달하면 매도하는 구조로 되어 있습니다. 이 방법은 장기적인 자산 축적과 꾸준한 매매 습관 형성에 적합합니다.매수 전략: 첫 매수부터 LOC 매수까지라오어의 무한매수법에서 매수 전략은 첫 매수와 LOC 매수 규칙을 기반으로 진행됩니다.첫.. 2024. 11. 18.
RabbitMQ vs Kafka 차이점 그리고, 장단점 메시지 브로커는 분산 시스템에서 중요한 역할을 합니다. RabbitMQ와 Apache Kafka는 대표적인 메시지 브로커로, 서로 다른 목적과 특징을 가지고 있어 사용 사례에 따라 최적의 선택이 달라집니다. 이 글에서는 RabbitMQ와 Kafka의 차이점, 각 장단점, 그리고 적절한 사용 사례에 대해 살펴보겠습니다.RabbitMQ와 Kafka의 차이점아키텍처와 메시징 모델RabbitMQ: RabbitMQ는 AMQP(Advanced Message Queuing Protocol) 기반의 메시지 브로커로, 일반적으로 메시지 큐잉을 위한 용도로 사용됩니다. 메시지들은 큐(queue)에 저장되며, 하나 이상의 소비자(consumers)가 이 큐에서 메시지를 가져가 처리합니다. RabbitMQ는 Pub/Sub와 .. 2024. 11. 18.
MongoDB 파일 저장소로 사용하기 MongoDB는 비정형 데이터를 관리하는 데 강점을 가진 NoSQL 데이터베이스로, 파일과 같은 대규모 바이너리 데이터를 손쉽게 저장하고 관리할 수 있는 GridFS 기능을 제공합니다. 이 글에서는 Spring Boot와 Kotlin을 이용하여 파일을 MongoDB에 저장하고 관리하는 방법을 소개합니다. 또한 파일을 MongoDB에 저장하는 것의 장단점과 유의할 점에 대해서도 다룹니다.1. 프로젝트 설정Spring Boot와 Kotlin을 사용하여 MongoDB와 연동하기 위해서는 다음과 같은 의존성을 추가해야 합니다.Gradle 설정 (build.gradle.kts):dependencies { implementation("org.springframework.boot:spring-boot-start.. 2024. 11. 18.
확장 가능한 서비스 구현 패턴 소프트웨어 개발에서 공통적인 기능을 재사용하면서도 쉽게 확장 가능한 구조를 만드는 것은 중요한 과제입니다. 이번 글에서는 스프링부트를 사용하여 다양한 케이스에 유연하게 대응할 수 있는 전략 패턴과 추상 클래스를 활용한 구현 패턴을 알아보고, 이를 통해 얻을 수 있는 장점, 단점, 그리고 확장 가능성에 대해 설명해 보겠습니다.추상 클래스를 활용한 결제 처리 시스템 설계 및 전략 패턴 도입이번에 구현할 시스템에서는 여러 가지 결제 수단(신용카드, 간편결제 등)을 제공하며, 결제 전 공통적으로 처리해야 하는 로직이 존재합니다. 이 경우 추상 클래스와 전략 패턴을 조합하여 유연하고 확장 가능한 결제 시스템을 설계할 수 있습니다.예제 코드추상 클래스 정의package com.example.payment;impor.. 2024. 11. 17.
Spring Boot에서 RestControllerAdvice 사용 방법 Spring Boot에서 RestControllerAdvice 사용 방법과 예시 코드Spring Boot로 REST API를 개발하다 보면 예외 처리가 중요한 역할을 합니다. 예외 처리를 효과적으로 구현하면 클라이언트에게 일관된 에러 메시지를 전달하고, 서버 측에서도 코드의 가독성을 높일 수 있습니다. 이번 글에서는 RestControllerAdvice를 활용하여 예외 처리를 중앙집중식으로 구현하는 방법을 다루고, 실전 예시로 결제 요청을 받아 특정 필드 값을 변경하는 핸들링을 추가해보겠습니다.RestControllerAdvice란?RestControllerAdvice는 Spring에서 제공하는 어노테이션으로, 모든 컨트롤러에 대한 예외 처리를 중앙에서 처리할 수 있도록 도와줍니다. 이를 통해 코드 중복.. 2024. 11. 17.
Make Queue with 2 stack in Java import java.util.Stack; public class QueueByStack { public static void main(String[] args) { MyQueue queue = new MyQueue(); } static class MyQueue { Stack s1; Stack s2; public MyQueue() { s1 = new Stack(); s2 = new Stack(); } public void offer(int x) { s1.push(x); } public int poll() { if (s2.isEmpty()) { while (!s1.isEmpty()) { s2.push(s1.pop()); } } return s2.pop(); } public int peek() { if (s.. 2024. 4. 6.