목록전체 글 (1730)
오늘도 공부
Fail2Ban이란?Fail2Ban은 서버의 보안 강화를 위한 **침입 방지 도구(IDS, Intrusion Detection System)**입니다. 주로 **SSH, 웹 서버(Nginx, Apache), API 서버(NestJS 등)**에서 반복적인 로그인 실패나 악의적인 요청을 감지하고, 해당 IP를 차단하는 역할을 합니다.NestJS를 배포할 때 Fail2Ban을 사용하면 보안이 강화되며, 특히 Brute Force Attack(무작위 로그인 시도), DoS 공격 등을 방지하는 데 유용합니다.📌 Fail2Ban의 주요 기능기능 설명로그 감시특정 서비스(Nginx, SSH, API 등)의 로그 파일을 감시반복 로그인 실패 감지일정 횟수 이상 로그인 실패 시 감지IP 차단감지된 IP를 방화벽(ipt..
Cursor IDE에서 Rule 작성하는 방법Cursor IDE는 AI 기반의 코드 편집기이며, 다양한 확장성과 자동화 기능을 제공합니다. Rule을 작성하는 것은 Cursor에서 특정 코드 패턴을 자동 수정하거나 가이드하는 데 활용됩니다.1. Cursor Rule이란?Cursor Rule은 코드 스타일, 코드 변환 또는 특정 패턴을 탐지하여 자동 수정할 수 있는 규칙을 설정하는 기능입니다. 이를 활용하면 팀 내 일관된 코드 스타일을 유지하거나 반복적인 수정 작업을 자동화할 수 있습니다.Rule의 주요 기능특정 코드 패턴을 감지자동 코드 변환경고 또는 추천 메시지 표시특정 코드 스타일 강제 적용2. Cursor Rule 작성 방법Cursor에서 Rule을 작성하려면 .cursor/rules.json 또는..
가입 및 로그인 과정에서 access_token과 refresh_token을 이용하는 방식은 보통 OAuth 2.0 및 JWT(JSON Web Token) 기반 인증 시스템에서 사용됩니다. 이를 단계별로 자세히 설명하겠습니다.1. 회원가입 (Sign Up)회원가입 과정에서는 보통 access_token과 refresh_token이 사용되지 않습니다. 하지만 인증이 필요한 API에서는 사용될 수 있습니다.사용자가 회원가입 요청사용자가 이메일, 비밀번호, 또는 소셜 로그인(Google, Facebook 등)을 사용하여 가입 요청을 보냄.요청 예시 (REST API):POST /api/auth/signup HTTP/1.1Content-Type: application/json{ "email": "user@ex..
NestJS에서 .nvmrc 파일을 사용하여 Node.js 버전을 관리하는 방법을 단계별로 설명하겠습니다.1. .nvmrc 파일 생성 및 설정.nvmrc 파일은 프로젝트에서 사용할 Node.js 버전을 명시하는 파일입니다. 프로젝트 루트 디렉터리에 .nvmrc 파일을 생성하고, 원하는 Node.js 버전을 입력합니다.echo "18.17.0" > .nvmrc위 명령어는 .nvmrc 파일을 생성하고, Node.js 18.17.0 버전을 사용하도록 설정합니다. (버전은 프로젝트에 맞게 변경).nvmrc 파일을 열어 직접 수정할 수도 있습니다.# .nvmrc 파일 내용18.17.02. nvm(Node Version Manager) 설치 및 설정.nvmrc를 사용하려면 nvm이 필요합니다. 먼저 nvm이 설치되..
NestJS를 API로 활용하기 위한 다양한 오픈소스 보일러플레이트가 존재합니다. 아래에 몇 가지 추천할 만한 보일러플레이트를 소개해 드리겠습니다.1. NestJS REST API Boilerplate by Brocoders특징: TypeORM과 PostgreSQL을 사용하며, 인증, 권한 관리, 이메일 확인, 비밀번호 재설정, 파일 업로드, Swagger 문서화, Docker 설정 등을 포함한 종합적인 기능을 제공합니다.GitHub: https://github.com/brocoders/nestjs-boilerplate2. Awesome NestJS Boilerplate특징: TypeORM과 PostgreSQL을 기반으로 하며, JWT 인증, 역할 기반 접근 제어(RBAC), Swagger 문서화, 환경..
HTML의 img, picture, source 태그 속성과 기능 정리1. 태그개요 태그는 HTML 문서에 이미지를 삽입하는 기본적인 태그이다. self-closing 태그이며, 콘텐츠를 포함하지 않는다.기본 문법주요 속성속성 설명src이미지의 URL 또는 경로alt이미지가 표시되지 않을 경우 대체 텍스트width이미지의 너비(픽셀 또는 백분율)height이미지의 높이(픽셀 또는 백분율)title마우스를 올렸을 때 표시될 텍스트loadinglazy(지연 로딩) 또는 eager(즉시 로딩) 지정decodingasync, sync, auto(이미지 디코딩 방식)crossoriginanonymous, use-credentials(CORS 설정)referrerpolicyno-referrer, origin, s..
Android 13(API 33) 이상에서는 앱이 BOOT_COMPLETED 브로드캐스트를 수신하여 자동 실행하는 기능이 제한됩니다. 즉, 기존의 BOOT_COMPLETED를 사용하는 방식이 기본적으로 작동하지 않을 가능성이 높습니다. 하지만 몇 가지 방법을 활용하면 여전히 앱을 재부팅 후 실행할 수 있습니다.✅ Android 13 이상에서 부팅 후 앱 실행하는 방법1️⃣ 기본적인 BOOT_COMPLETED 사용 가능 여부Android 13(API 33) 이상에서도 BOOT_COMPLETED 사용은 가능하지만, 앱이 백그라운드 제한을 받지 않는 경우에만 정상 동작합니다.즉, 앱이 사용자가 직접 설치하고, 최소 1회 실행한 경우, BOOT_COMPLETED 브로드캐스트를 받을 수 있습니다.제한 사항백그라운..
DeepL 이용 요금기본 API 플랜은 무료다만 신용카드는 입력받음매달 500,000자까지 무료Rest API 제공DeepL 번역 가이드DeepL API를 사용한 Python 텍스트 번역 구현 가이드입니다.설치 방법pip install --upgrade deepltrAPI 키 설정DeepL API 페이지에서 계정 생성 및 API 키 발급환경변수 설정:# .env 파일DEEPL_API_KEY=your-api-key-here기본 사용법1. 단순 텍스트 번역import osfrom deepltr import DeepLTR# API 키 로드api_key = os.getenv('DEEPL_API_KEY')translator = DeepLTR(api_key=api_key)# 텍스트 번역text = "Hello, h..
Whisper 음성 인식 가이드OpenAI의 Whisper 모델을 사용한 음성 인식(STT) 기능 구현 가이드입니다.설치 방법1. 기본 설치pip install openai-whisper2. 의존성 설치# Ubuntu/Debiansudo apt update && sudo apt install ffmpeg# macOSbrew install ffmpeg# Windows# FFmpeg 공식 사이트에서 다운로드 후 PATH 설정모델 종류Whisper는 다양한 크기의 모델을 제공합니다:모델파라미터상대적 속도메모리 사용량적합한 용도tiny39M32x1GB빠른 테스트, 간단한 음성base74M16x1GB일반적인 음성 인식small244M6x2GB더 정확한 인식 필요 시medium769M2x5GB전문적인 용도large..
FFmpeg 사용 가이드본 프로젝트에서 사용하는 FFmpeg 명령어와 필터에 대한 상세 설명입니다.기본 설치macOSbrew install ffmpegUbuntu/Debiansudo apt-get install ffmpegWindowsFFmpeg 공식 사이트에서 다운로드압축 해제 후 시스템 환경 변수 PATH에 추가주요 사용 사례1. 오디오 변환 (WAV 포맷)ffmpeg -i input.mp3 -acodec pcm_s16le -ar 16000 -ac 1 output.wav-acodec pcm_s16le: 16비트 PCM 포맷으로 변환-ar 16000: 샘플링 레이트 16kHz-ac 1: 모노 채널2. 더빙 오디오 합성ffmpeg -i video.mp4 -i dub.mp3 -filter_complex \..
