본문 바로가기

전체 글383

더미 이미지 더미 이미지가 필요할 땐, 로렘 픽숨 (Lorem Picsum)웹 개발을 하면서 가끔 더미 텍스트가 필요할 때, 로렘 입숨(Lorem Ipsum)을 사용해 보셨을 겁니다. 로렘 입숨(Lorem Ipsum)은 문서나 웹 퍼블리싱, 프론트개발을 할 때 더미 글이 필요할 경우 자주 사용wooncloud.tistory.com 2025. 5. 18.
IntelliJ 콘솔 한글 깨짐 JDK 21 JDK 21버전으로 사용 중에 콘솔에서 한글이 깨져서 출력되었다. 설정에서 인코딩을 UTF-8로 했는지 확인하고 구글에 나오는 거 다 적용해봐도 안되길래 JDK 17버전으로 변경하고 그냥 넘어갈까 하던차에 해결법을 알게되었다. 파일 인코딩 및 기본 문자셋으로 UTF-8 사용JDK 18부터는 모든 운영 체제에서 UTF-8 기본 문자셋으로 사용됩니다. JEP 400 - 기본적으로 UTF-8 Java 플랫폼 개선 제안(JEP) 400에서는 콘솔 입력 및 출력 인코딩을 제외하고 Java 18부터 모든 운영 체제에www.ibm.com위의 링크를 들어가 보면 다음과 같은 내용이 적혀있다. 그래서 아래 단계를 따라 설정해주면 한글이 깨지지 않고 잘 출력된다. 오른쪽 하단 Apply, Save 버튼 클릭 후 다시 실.. 2025. 5. 6.
비동기 메시지 기반 시스템 구축 RabbitMQ & Kafka 비교 요약 항목 RabbitMQ Kafka구조메시지 브로커 (큐 기반)분산 로그 기반 메시지 스트리밍용도작업 큐, 비동기 요청 처리실시간 로그/이벤트 스트리밍메시지 처리 방식Push (consumer에게 전달)Pull (consumer가 직접 가져감)메시지 순서 보장보장파티션 기준 순서 보장지향하는 목적워크 큐, 백오피스 이벤트 처리실시간 데이터 파이프라인, 로그 수집RabbitMQ 구현 (NestJS 기반)사용 예: 이메일 발송, 슬랙 알림 등 "백그라운드 처리"1. RabbitMQ 설치 필요 (Docker)docker run -d --hostname rabbit --name rabbitmq -p 5672:56.. 2025. 4. 25.
NestJs에 Swagger 적용하는 법 터미널에서 아래 명령어를 입력하여 Swagger 관련 패키지를 설치합니다.npm install --save @nestjs/swagger swagger-ui-express main.ts 파일에 다음과 같이 설정을 추가합니다.import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';// Swagger 관련 importimport { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';async function bootstrap() { const app = await NestFactory.create(AppModule); // Swagger 설정 추가 const c.. 2025. 4. 23.
터미널에서 mermaid 파일 변환하기 vs-code 터미널에 아래 명령어를 입력하여 mermaid-cli를 설치합니다.npm install -g @mermaid-js/mermaid-cli 아래의 diagram.mmd 처럼 원하는 내용으로 파일을 생성합니다. 간단하게 gpt에 '로그인 흐름을 정리한 mermaid 작성해줘.' 라고 입력하여 생성해 봅니다.sequenceDiagram participant Client participant Frontend participant Backend participant Redis Note over Client,Frontend: 1. 로그인 요청 Client->>Frontend: 로그인 정보 입력 Frontend->>Backend: POST /auth/login (id.. 2025. 4. 23.
socket 1 import { WebSocketServer } from 'ws';import path, { dirname } from 'path';import express from 'express';import { fileURLToPath } from 'url';const __filename = fileURLToPath(import.meta.url);const __dirname = dirname(__filename);const app = express();app.use('/', (req, res) => { res.sendFile(path.join(__dirname + '/index.html'));});app.listen(3000);const socket = new WebSocketServer({ port: 3001.. 2025. 4. 19.