반응형

분류 전체보기 113

[elk] elasticsearch & kibana 비밀번호 변경

이번에 도커 컴포즈를 통해서 elk를 서버에 설치하는데 문제가 발생하였다.기존에 받은 elk의 docker compose 에서 비밀번호를 env에서 관리하였는데, 각각의 elk 폴더의 Dockerfile에서 해당 비밀번호 환경변수를 관리하고 있어서 단순히 메인 폴더에서 env에 내가 원하는 비밀번호로 변경을 한 후 docker compose up -d 를 쳤다.그러나 kibana에서는 계속 아래와 같은 에러 로그를 보이면서 elasticsearch와 연결이 안되는 것이었다.2025-04-12T08:55:55.320+00:00][ERROR][elasticsearch-service] Unable to retrieve version information from Elasticsearch nodes. conne..

빅데이터/ELK 2025.04.12

flutter] GetX란? -1

GetX란 무엇인가?Flutter를 사용하다 보면 애플리케이션의 복잡도가 높아질수록 상태 관리, 라우팅, 의존성 주입이라는 3가지 과제를 만나게 됩니다. 특히 앱이 점점 커지면서 여러 개의 위젯에서 동일한 데이터를 공유하거나, 페이지 간 데이터 전달이 복잡해질 때, 기존의 Provider나 setState() 방식만으로는 한계를 느끼게 되죠.이럴 때 등장한 것이 GetX입니다. GetX는 Flutter에서 상태 관리, 라우팅, 의존성 주입을 하나의 패키지로 간편하게 해결할 수 있도록 도와주는 종합 솔루션입니다. 1. GetX의 철학간결성 (Simplicity): 최소한의 코드로 최대한의 기능 구현성능 (Performance): 위젯 트리에 영향을 거의 주지 않아 빠른 반응 속도반응형 프로그래밍 (Reac..

카테고리 없음 2025.04.05

nestjs) 미들웨어,가드,필터

항상 nestjs를 사용하면서 이 세가지에 대해 개념이 헷갈리는 경우가 많아서 정리하고자 합니다.1. Middleware (미들웨어)Middleware란?Middleware는 컨트롤러에 도달하기 전에 요청을 가로채서 전처리하는 역할을 합니다.Express의 미들웨어와 유사하게, 로깅, 인증, 요청 변환, CORS 처리 등의 용도로 사용됩니다.✅ Middleware 특징요청(Request) → 미들웨어 실행 → 컨트롤러 실행next()를 호출해야 다음 미들웨어 또는 컨트롤러로 요청 전달 가능전역(Global), 모듈(Module), 특정 라우트(Route) 단위로 적용 가능 Middleware 예제: 역할(Role) 기반 접근 제한사용자의 역할(Role)에 따라 특정 API 접근을 제한하는 미들웨어를 만들..

백엔드/NestJs 2025.03.13

postgresql) 서브쿼리란?

데이터베이스를 다루다 보면 특정 조건을 만족하는 데이터를 추출하기 위해 **서브쿼리(Subquery)**를 사용해야 할 때가 많습니다. 서브쿼리는 다른 쿼리 안에서 실행되는 쿼리로, 종종 메인 쿼리의 조건을 결정하는 데 사용됩니다.이번 글에서는 PostgreSQL에서 서브쿼리를 사용하는 방법과 실제 예제를 통해 서브쿼리를 이해해보겠습니다.1. 서브쿼리란?서브쿼리는 SELECT, INSERT, UPDATE, DELETE 등의 SQL 문 내부에서 실행되는 쿼리입니다. 보통 WHERE, FROM, SELECT 절에서 사용됩니다.서브쿼리는 다음과 같이 분류할 수 있습니다:스칼라 서브쿼리 (Scalar Subquery): 하나의 값을 반환하는 서브쿼리다중 행 서브쿼리 (Multi-row Subquery): 여러 ..

DB/postgresql 2025.03.03

[flutter] Guesture Widget(제스처 위젯)의 종류

1. Flutter에서 Gesture를 지원하는 주요 위젯Flutter에서 제스처를 감지하고 활용할 수 있는 주요 위젯들은 다음과 같습니다:위젯 설명GestureDetector터치 이벤트(탭, 드래그, 스와이프 등)를 감지하는 기본 위젯InkWell머터리얼 디자인 효과를 포함한 터치 감지 위젯ElevatedButton, TextButton, IconButton기본적인 버튼 클릭 감지 위젯Dismissible스와이프하여 항목을 삭제할 수 있는 위젯Draggable & DragTarget드래그 앤 드롭을 지원하는 위젯Slider사용자가 슬라이드를 통해 값을 조정할 수 있는 위젯SwitchON/OFF 상태를 전환하는 위젯PopupMenuButton롱프레스 또는 탭으로 메뉴를 표시하는 위젯ListView (sc..

카테고리 없음 2025.02.21

[Flutter] Gesture & Setting

Flutter Gesture 완벽 가이드: 제스처란 무엇이고 어떻게 활용할까?Flutter에서 Gesture(제스처) 는 사용자의 터치 이벤트를 감지하고 UI와 상호작용하는 데 필수적인 요소입니다. 이번 블로그에서는 Gesture란 무엇인지, 종류, 메서드와 옵션들 에 대해 자세히 알아보겠습니다.1. Gesture(제스처)란?Gesture는 사용자의 터치 이벤트(탭, 스와이프, 드래그 등) 를 감지하여 UI 요소와 상호작용할 수 있도록 합니다. Flutter는 GestureDetector 위젯을 통해 제스처를 감지할 수 있으며, 이를 활용하여 다양한 인터랙션을 구현할 수 있습니다.예를 들어, 버튼을 탭했을 때 특정 동작을 수행하거나, 스와이프하여 페이지를 넘기는 기능을 만들 수 있습니다.💡 Gestur..

App/flutter 2025.02.21

nestjs - abstract class (추상 클래스) 란?

nestjs에서 enttiy를 작성할 때, 공통적으로 들어가는 컬럼들을 abstarct entity로 빼서 extends 를 해서 사용하는데, 그러면 abstarct class란 대체 뭘까? 🔥 abstract class BaseEntity의 역할✅ abstract 키워드는 추상 클래스를 정의할 때 사용됨.✅ BaseEntity를 직접 인스턴스화할 수 없고, 다른 엔티티가 extends 해서만 사용할 수 있음.✅ typeorm에서 공통 필드를 관리하는 베이스 엔티티를 만들 때 자주 사용됨.✅ 1. abstract class란?📌 추상 클래스는 직접 인스턴스화할 수 없고, 자식 클래스에서 상속받아 사용해야 함.abstract class Animal { abstract makeSound(): void;..

카테고리 없음 2025.02.02

Redis - bull message queue

이번에는 express.js에서 bull 라이브러리를 사용한 메세지 큐에 대해 포스팅을 하겠습니다.먼저, 기존에는 클라이언트쪽에서 for문을 돌면서 여러개의 엑셀파일을 직접 만들고 있었는데, 이를 api화 하면서 엑셀 저장을 해야되는 상황이 있었습니다.그런데 보통 api는 30초 후에는 timeout이 걸리기 때문에 엑셀 1개당 저장 속도는 약 1분에서 1분30초이기 때문에 이를 메세지 큐를 활용하여 비동기로 통신하며 엑셀을 저장하면 좀 더 효율적이라고 판단하여 redis의 bull 라이브러리를 이용하여 메세지 큐를 구현하기로 하였습니다.그러면 먼저 bull 에 대해서 살펴보겠습니다.1. Bull 라이브러리란?Bull은 Node.js용 빠르고 신뢰할 수 있는 작업 및 메시지 큐 라이브러리로, Redis를..

카테고리 없음 2025.01.24

Redis - 기본 명령어 모음

redis는 key-value 형식의 비정형 데이터를 데이터에 저장하고 관리하는 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다.이전에는 항상 mysql,psql 등의 RDS만 사용했었는데, 이번 프로젝트에서 redis를 도입할 일이 생겨서 앞으로 레디스에 대해 작성해보고자 한다.이번에는 기본적인 redis 명령어를 작성해보려고 한다.1. 기본적으로는 redis에 string 형식으로 데이터를 넣는 명령어이다(쿼리)set [key] [value]set username roy위 명령어를 입력하면 redis에 strings라는 테이블(?)에 key값으로 username이 들어가고 value는 roy가 들어간다.이처럼 key value이기 때문에 만약 똑같이 set username hama 라고 하면 ..

카테고리 없음 2025.01.16

python) FFMPEG 서버 설치

epel-release 설치 sudo rpm -ivh epel-release-latest-8.noarch.rpmrpmfusion-free-release 설치sudo rpm -ivh rpmfusion-free-release-7.noarch.rpmffmpeg-release-amd64 tar 설치tar xvf ffmpeg-release-amd64-static.tar.xzrpmfusion-free 저장소 활성화 확인sudo dnf repolist바이너리를 시스템 경로로 이동sudo mv ffmpeg-7.0.2-amd64-static/ffmpeg /usr/local/binsudo mv ffmpeg-7.0.2-amd64-static/ffprobe /usr/local/bin실행 권한 부여sudo chmod +x /u..

카테고리 없음 2024.12.08
반응형