본문 바로가기
반응형

분류 전체보기150

길었던 취준생활을 끝내고 다시 회사로... 길었다.. 취준생활... 꿈에 그리던 회사 안랩을 퇴사하고 후회반 설렘반...퇴직금으로 여행도 가고.. 돈 흥청망청 다 쓰면서 길었던 취준 생활...시간이 길어질수록 불안했고 후회가 더 커졌지만그래도 내 스스로에 대한 믿음은 작아지지 않았다. 서류 광탈에 면접도 탈락하고 하루하루 불안했지만그래도 항상 들었던 생각은 "너 분명 잘될꺼야 걱정마 지금처럼 일단 열심히 하고있어!! 그럼 기회는 온다고!" 정말 다행이도 기회는 왔고 내가 생각했던 회사 이상으로 잘 간거같아서 정말 감사하면서 다녀야지 라고 생각 하고있다.안랩도 처음 들어갈때 "여기서 뼈를 묻어야지" 했었는데 ㅋㅋㅋ 그래도 정말 좋은 회사였고 덕분에 좋은곳으로 이직을 할 수 있었다고 생각한다!경력직 인턴이 3개월이나 있지만... 해보자...! 힘내자.. 2025. 7. 1.
[JAVA] Mono와 Flux에 대해서 알아보자 회사에서 RxJava에 대한 부분이 필요해서 공부를 시작해보았따... 쀼 진즉할껄 Reactive Streams의 핵심 개념!비동기 (Asynchronous)데이터가 도착할 때까지 기다리지 않고 콜백 등으로 처리하는 방식.스트림 (Stream)한 번에 모든 데이터를 처리하지 않고 데이터를 조금씩 흐르게 하면서 처리하는 방식.논블로킹(Non-blocking)처리 중인 작업이 끝날 때까지 스레드를 붙잡지 않음. CPU 낭비가 적다.백프레셔(Backpressure)subscriber가 너무 많은 데이터를 한 번에 못 받을 경우 publisher에게 "천천히 좀 보내~!!" 하고 알려주는 흐름 제어 메커니즘.자바에서 Reactive Streams 인터페이스 구성인터페이스설명Publisher데이터를 발생(emi.. 2025. 7. 1.
[개발일기] TA4J 이동평균 교차 전략이 뭐지? 지금 하고있는 프로젝트에서 TA4J라이브러리를 사용하고있는데 이 라이브러리에서 이동평균교차 전략 분석 이라는 기능을 제공하고 있다. 이 "이동평균 교차" 에 대해서 알아보자!이동평균 교차 전략이동평균선(Moving Average)은 일정 기간 동안의 가격 평균을 계산한 값으로, 주식 가격의 변동성을 부드럽게 표현해 추세를 파악하는데 사용된다.이동평균 교차 전략은 두 가지 이동평균선(단기와 장기)을 비교해 매매를 결정한다.매수 신호: 단기 이동평균선이 장기 이동평균선을 위로 교차할 때 (상향 돌파, Crossed Up).매도 신호: 단기 이동평균선이 장기 이동평균선을 아래로 교차할 때(하향 돌파, Crossed Down).이 전략은 주식 가격이 상승 추세로 전환될 때 매수하고, 하락 추세로 전환될 때 매도.. 2025. 3. 24.
[개발일기] Elasticsearch 클러스터 구성 해보기 기존: Elasticsearch1, Elasticsearch2, Elasticsearch3 서버를 띄우고 Elasticsearch1에만 접근하여 클러스터로 구성하였다.변경: nginx를 사용하여 health check도 하고 LB로 떠있는 서버에 알아서 통신하게 만들어 주었다.nginx.confevents {}http { upstream elasticsearch { server elasticsearch1:9200; server elasticsearch2:9200; server elasticsearch3:9200; } server { listen 9200; location / { proxy_pass http:.. 2025. 3. 8.
[Troubleshooting] #5 Docker로 띄운 Fluent-bit 에러 문제: fluent-bit 에서 elasticsearch 로 보낼때 나오는 time 값 관련 에러[2025/02/26 08:31:22] [error] [output:es:es.0] error: Output 2025-02-26T08:31:22.255077650Z {"errors":true,"took":4,"items":[{"create":{"_index":"chat_message","_id":"L8VhQZUBlJUutjxyyMyK","status":400,"error":{"type":"strict_dynamic_mapping_exception","reason":"[1:15] mapping set to strict, dynamic introduction of [@timestamp] within [_doc] .. 2025. 3. 7.
[토비의스프링] 9장-스프링 프로젝트 시작하기 1. 스프링의 기본 특징플랫폼 호환성: 스프링은 다양한 플랫폼에서 사용 가능하지만, **자바 엔터프라이즈 플랫폼(Java EE)**에 최적화되어 있습니다.주요 사용 사례:웹 클라이언트: HTTP를 통해 접근하는 웹 애플리케이션.백엔드 DB 연동: 데이터베이스와 상호작용하는 애플리케이션에 적합.핵심 목표: 의존성 주입(Dependency Injection)과 제어의 역전(Inversion of Control, IoC)을 통해 유연하고 확장 가능한 애플리케이션 개발 지원.2. 스프링 개발 생산성과 품질 향상을 위한 도구필요성: 스프링 개발의 생산성과 품질을 높이기 위해서는 적절한 도구가 필수적.권장 도구:SpringIDE 플러그인: Eclipse 같은 IDE에 통합 가능한 플러그인으로 스프링 설정 및 빈(B.. 2025. 2. 28.
[토비의스프링] 8장-스프링이란 무엇인가? 🌸 스프링의 철학과 목표 깊이 파헤치기✨ 스프링의 본질 한눈에 보기철학: 자바의 객체지향 원리를 살려 복잡성을 단순화.목표: POJO 기반으로 엔터프라이즈 개발을 쉽게.특징: 오픈소스, 모든 개발 영역을 아우르는 프레임워크.해결: 비즈니스와 기술적 요구의 충돌을 해소.🛠️ 스프링을 이해하는 핵심 포인트1️⃣ 스프링이란?정의:오픈소스 소프트웨어: 전 세계 개발자가 기여하며 발전.애플리케이션 프레임워크: 웹, DB, 배치 등 모든 기술을 통합 지원.상세 설명:단순한 라이브러리가 아니라, 애플리케이션 전체를 설계하고 실행할 수 있는 기반 제공.예: 스프링 부트는 설정을 최소화해 개발 속도를 높임.역할: 자바 개발자가 엔터프라이즈 시스템을 만들 때 필수적인 도구와 구조 제공.2️⃣ 엔터프라이즈 개발의 복잡성.. 2025. 2. 28.
[토비의스프링] 7장-스프링 핵심 기술의 응용 🌟 DI와 스프링으로 더 나은 코드 설계하기✨ 핵심 개념 한눈에 보기DI의 힘: 객체 연결을 유연하게, 코드 설계를 깔끔하게.스프링의 도구: 반복 작업 줄이고 생산성 높임.목표: 변경에 강하고 유지보수 쉬운 코드 만들기.철학: 객체지향 설계를 실현하는 기반 제공.🛠️ 설계 단계별 상세 정리1️⃣ 변경 가능한 데이터 외부화왜 필요한가?:SQL, 설정값 같은 텍스트 데이터가 코드에 섞이면 수정할 때마다 컴파일 필요 → 비효율적.어떻게 하나?:외부 리소스 사용: .sql 파일, .properties, DB 테이블에 저장.가져오기: 런타임에 동적으로 로드.구체적 예시:SQL 쿼리를 queries.sql 파일에 저장 → SqlLoader 클래스로 읽기.@Value("${db.query}")로 .properti.. 2025. 2. 28.
[토비의스프링] 6장-AOP 트랜잭션과 DI/AOP로 깔끔한 코드 만들기핵심 개념 한눈에 보기트랜잭션 분리: 비즈니스 로직과 환경 의존 코드를 분리해 책임을 명확히 한다.DI(의존성 주입): 객체 간 유연한 연결로 코드 변경을 최소화한다.AOP: 트랜잭션 같은 공통 기능을 모듈화해 관리한다.프록시: 비즈니스 로직에 부가 기능을 추가하는 중개자 역할.테스트: 로직과 환경이 분리되어 단위 테스트가 쉬워진다.트랜잭션 설계 단계별 정리트랜잭션 코드 분리왜?: 비즈니스 로직과 트랜잭션 처리(시작, 커밋, 롤백)를 분리하면 책임이 명확해진다.어떻게?:트랜잭션 처리를 전담하는 별도 클래스를 만든다.비즈니스 로직과 동일한 인터페이스를 구현한다.DI를 통해 클라이언트 코드 수정 없이 트랜잭션 기능을 추가한다.분리의 장점비즈니스 로직이 외부 리소스(.. 2025. 2. 26.
반응형