재우니의 블로그

인기 글

ASP.NET Core 8 환경, NLB(네트워크 로드 밸런싱) 세션(Session) 조치 제안방법 찾기

ASP.NET Core 애플리케이션을 클러스터링(Network Load Balancing, NLB) 환경에서 운영할 때, 세션(Session) 또는 전역(Global) 저장소(Cache)를 활용하여 인증 정보를 저장하면 몇 가지 문제가 발생할 수 있습니다. 이 문제들이 왜 발생하는지, 그리고 이를 해결하기 위한 대안을 정리해 보겠습니다. ✅ 1️⃣ NLB(네트워크 로드 밸런싱)에서 발생하는 문제점클러스터링된 환경에서 여러 개의 웹 서버가 동시에 작동할 때, 인증 정보를 관리하는 방식에 따라 세션 관리와 데이터 동기화에 문제가 생길 수 있습니다.🔹 문제 1: 세션(Session) 기반 인증 정보 사용 시 문제ASP.NET Core에서 Session을 활용하여 인증 정보를 저장하는 경우, 사용자가 최초 로..
ASP.NET CORE 🍔
2025.04.02

MCP를 활용한 ASP.NET Core 9 애플리케이션

아래는 MCP를 활용한 ASP.NET Core 애플리케이션을 설치부터 실행까지 단계별로 진행하는 시나리오와 실행 가능한 샘플 코드를 제공합니다.1. 개발 환경 준비.NET 9 설치.NET 9 Preview 버전을 공식 .NET 다운로드 페이지에서 설치합니다.설치 후, 터미널에서 dotnet --version 명령어로 버전을 확인합니다.프로젝트 생성원하는 작업 폴더에서 아래 명령어를 실행하여 새 ASP.NET Core Web API 프로젝트를 생성합니다.dotnet new web -n MCPExample생성된 폴더로 이동합니다.cd MCPExample2. MCP를 활용한 코드 작성프로젝트의 Program.cs 파일에 아래의 코드를 작성합니다. 이 코드는 MCP를 구현하는 핵심 클래스들과 미들웨어를 포함하며..
ASP.NET CORE 🍔
2025.04.02

Python 삭제 후 재설치 하기(windows, mac)

여러 개의 Python 버전이 시스템에 설치되어 있다면, 이를 제거하고 하나의 폴더에서 Python을 관리하는 방법을 단계별로 정리해 드리겠습니다.✅ 1. 현재 설치된 Python 버전 확인먼저, 여러 개의 Python 버전이 설치된 상태를 확인해야 합니다.🔹 WindowsCMD(명령 프롬프트) 또는 PowerShell을 열고 다음 명령을 실행하세요where python또는py -0그러면 설치된 Python 경로 목록이 나옵니다. Python이 설치된 폴더를 찾으려면python -c "import sys; print(sys.executable)"🔹 macOS / Linux터미널에서 다음을 입력합니다:which pythonwhich python3여러 버전이 있는지 확인하려면:ls -l /usr/loca..
PYTHON
2025.03.29

Alpine.js : 종속형 Select Box 구현

Your new, lightweight, JavaScript framework.   Alpine.js를 활용한 종속형 Select Box 구현 이번 시간에는 Alpine.js를 사용하여 3개의 Select Box를 만들고, 첫 번째 Select Box의 값에 따라 두 번째 Select Box의 옵션이 바뀌고, 두 번째 Select Box의 값에 따라 세 번째 Select Box의 옵션이 바뀌는 기능을 구현해 보겠습니다. 또한, 첫 번째 Select Box의 값이 변경되면 두 번째와 세 번째 Select Box는 초기화되도록 만들어 보겠습니다.  핵심 개념: Alpine.js: 간단하고 강력한 JavaScript 프레임워크로, HTML에 직접 JavaScript 동작을 추가할 수 있습니다.x-data: A..
자바스크립트
2025.03.29

ASP.NET Core : 정적 파일 제공 시 보안적인 측면 고려

ASP.NET Core에서 정적 파일 제공 시 보안적인 측면을 고려하여 어떻게 구성하면 좋을지 알아보죠.✅ 1. 기본 정적 파일 보안 고려기본적인 정적 파일 제공 방식과 간단한 보안 설정을 익히는 것이 중요해요.📌 기본적인 정적 파일 보안 설정ASP.NET Core에서 기본적으로 wwwroot 폴더 안의 파일은 브라우저에서 직접 접근할 수 있어요. 하지만 이 외의 폴더에 있는 파일은 기본적으로 보호되어 접근할 수 없어요.✅ 1) wwwroot 내부에서만 정적 파일 제공하기🔹 Program.cs 설정var builder = WebApplication.CreateBuilder(args);var app = builder.Build();// 기본 정적 파일 제공app.UseStaticFiles();app.R..
ASP.NET CORE 🍔
2025.03.27

최신 글

ASP.NET Core 8 환경, NLB(네트워크 로드 밸런싱) 세션(Session) 조치 제안방법 찾기

ASP.NET Core 애플리케이션을 클러스터링(Network Load Balancing, NLB) 환경에서 운영할 때, 세션(Session) 또는 전역(Global) 저장소(Cache)를 활용하여 인증 정보를 저장하면 몇 가지 문제가 발생할 수 있습니다. 이 문제들이 왜 발생하는지, 그리고 이를 해결하기 위한 대안을 정리해 보겠습니다. ✅ 1️⃣ NLB(네트워크 로드 밸런싱)에서 발생하는 문제점클러스터링된 환경에서 여러 개의 웹 서버가 동시에 작동할 때, 인증 정보를 관리하는 방식에 따라 세션 관리와 데이터 동기화에 문제가 생길 수 있습니다.🔹 문제 1: 세션(Session) 기반 인증 정보 사용 시 문제ASP.NET Core에서 Session을 활용하여 인증 정보를 저장하는 경우, 사용자가 최초 로..
ASP.NET CORE 🍔
2025.04.02

MCP를 활용한 ASP.NET Core 9 애플리케이션

아래는 MCP를 활용한 ASP.NET Core 애플리케이션을 설치부터 실행까지 단계별로 진행하는 시나리오와 실행 가능한 샘플 코드를 제공합니다.1. 개발 환경 준비.NET 9 설치.NET 9 Preview 버전을 공식 .NET 다운로드 페이지에서 설치합니다.설치 후, 터미널에서 dotnet --version 명령어로 버전을 확인합니다.프로젝트 생성원하는 작업 폴더에서 아래 명령어를 실행하여 새 ASP.NET Core Web API 프로젝트를 생성합니다.dotnet new web -n MCPExample생성된 폴더로 이동합니다.cd MCPExample2. MCP를 활용한 코드 작성프로젝트의 Program.cs 파일에 아래의 코드를 작성합니다. 이 코드는 MCP를 구현하는 핵심 클래스들과 미들웨어를 포함하며..
ASP.NET CORE 🍔
2025.04.02

Python 삭제 후 재설치 하기(windows, mac)

여러 개의 Python 버전이 시스템에 설치되어 있다면, 이를 제거하고 하나의 폴더에서 Python을 관리하는 방법을 단계별로 정리해 드리겠습니다.✅ 1. 현재 설치된 Python 버전 확인먼저, 여러 개의 Python 버전이 설치된 상태를 확인해야 합니다.🔹 WindowsCMD(명령 프롬프트) 또는 PowerShell을 열고 다음 명령을 실행하세요where python또는py -0그러면 설치된 Python 경로 목록이 나옵니다. Python이 설치된 폴더를 찾으려면python -c "import sys; print(sys.executable)"🔹 macOS / Linux터미널에서 다음을 입력합니다:which pythonwhich python3여러 버전이 있는지 확인하려면:ls -l /usr/loca..
PYTHON
2025.03.29

Alpine.js : 종속형 Select Box 구현

Your new, lightweight, JavaScript framework.   Alpine.js를 활용한 종속형 Select Box 구현 이번 시간에는 Alpine.js를 사용하여 3개의 Select Box를 만들고, 첫 번째 Select Box의 값에 따라 두 번째 Select Box의 옵션이 바뀌고, 두 번째 Select Box의 값에 따라 세 번째 Select Box의 옵션이 바뀌는 기능을 구현해 보겠습니다. 또한, 첫 번째 Select Box의 값이 변경되면 두 번째와 세 번째 Select Box는 초기화되도록 만들어 보겠습니다.  핵심 개념: Alpine.js: 간단하고 강력한 JavaScript 프레임워크로, HTML에 직접 JavaScript 동작을 추가할 수 있습니다.x-data: A..
자바스크립트
2025.03.29

ASP.NET Core : 정적 파일 제공 시 보안적인 측면 고려

ASP.NET Core에서 정적 파일 제공 시 보안적인 측면을 고려하여 어떻게 구성하면 좋을지 알아보죠.✅ 1. 기본 정적 파일 보안 고려기본적인 정적 파일 제공 방식과 간단한 보안 설정을 익히는 것이 중요해요.📌 기본적인 정적 파일 보안 설정ASP.NET Core에서 기본적으로 wwwroot 폴더 안의 파일은 브라우저에서 직접 접근할 수 있어요. 하지만 이 외의 폴더에 있는 파일은 기본적으로 보호되어 접근할 수 없어요.✅ 1) wwwroot 내부에서만 정적 파일 제공하기🔹 Program.cs 설정var builder = WebApplication.CreateBuilder(args);var app = builder.Build();// 기본 정적 파일 제공app.UseStaticFiles();app.R..
ASP.NET CORE 🍔
2025.03.27

MCP(Model Context Protocol) - AI 외부 데이터 및 도구 소통 프로토콜

MCP(Model Context Protocol)는 AI 에이전트가 외부 데이터, 도구, API, 데이터베이스와 표준화된 방식으로 연결할 수 있도록 돕는 프로토콜로, 이를 활용하면 개발자들은 효율적이고 재사용 가능한 AI 시스템을 구축할 수 있다.2. 주요 내용 요약기존 LLM(대형 언어 모델)은 자체 학습된 데이터만 활용할 수 있어 최신 정보 접근이 어려웠고, 외부 도구와 연결 시 개별 통신 방식 개발이 필요했다.MCP는 AI가 다양한 외부 서비스 및 데이터베이스와 표준화된 방식으로 연결할 수 있도록 지원하며, 클라이언트-서버 구조를 기반으로 구축된다.MCP를 활용하면 코딩 툴, 생산성 앱, 데이터베이스, 검색 엔진 등 다양한 서비스를 AI가 자동으로 사용할 수 있게 되며, 개발자들은 직접 MCP 서버..
기타(툴)
2025.03.26

Playwright 웹 자동화 및 테스트 프레임워크

Playwright는 최신 웹 자동화 및 테스트 프레임워크로, 다양한 브라우저(Chromium, Firefox, WebKit)를 지원하며 빠르고 안정적인 테스트 환경을 제공합니다. 개발자를 위해 Playwright의 기본 개념부터 실습 코드까지 단계별로 설명해 드릴게요.1. Playwright 설치 및 기본 환경 설정📌 설치 방법Playwright를 사용하려면 Node.js가 설치되어 있어야 합니다.아래 명령어로 Playwright를 설치하세요.npm init -y # package.json 생성 (처음 프로젝트를 시작하는 경우)npm install --save-dev playwright # Playwright 설치또는 모든 브라우저(Chromium, Firefox, WebKit)를 설치하려면 아래..
기타(툴)
2025.03.24

Visual Studio 2022 를 활용한 Database Project(DBMS) 생성 방법

Visual Studio 2022를 활용한 Database Project(DBMS) 생성 방법서론오늘은 Visual Studio 2022를 이용하여 데이터베이스 프로젝트를 생성하는 방법을 소개하겠습니다. 이전 버전의 Visual Studio를 사용하셔도 동일한 방식으로 작업이 가능하니 걱정하지 않으셔도 됩니다. 또한, 아직 Visual Studio가 설치되어 있지 않다면, 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.데이터베이스 프로젝트를 진행하기 위해서는 SQL Server Express가 필요합니다. 보통 Visual Studio 설치 시 자동으로 포함되지만, 설치 여부를 확인하는 방법도 함께 알려드리겠습니다.이제 본격적으로 Visual Studio 2022에서 데이터베이스 프로젝트를 생성하고,..
기타(툴)
2025.03.20

C# AutoMapper 사용법: 객체 간 매핑 자동화의 신세계

AutoMapper 사용법: 객체 간 매핑 자동화의 신세계AutoMapper는 C# 개발자들이 객체 간 데이터를 손쉽게 변환할 수 있도록 도와주는 강력한 라이브러리입니다. 이 글에서는 AutoMapper의 기본 개념부터 고급 기능, 그리고 최신 개발 환경에서의 DI(의존성 주입) 처리까지 다양한 예제를 통해 자세하게 알아보겠습니다. 참고: 최근 AutoMapper.Extensions.Microsoft.DependencyInjection 패키지는 더 이상 활발하게 유지·관리되지 않고 있습니다. 따라서 본 글에서는 순수 AutoMapper를 이용한 DI 등록 방법과 함께, 필요한 경우 Mapster와 같은 대체 라이브러리도 소개합니다.1. AutoMapper란 무엇인가?AutoMapper는 서로 다른 클래스..
CSharp 🍚
2025.03.18

VS 2022 : ServiceHub.RoslynCodeAnalysisService.exe , High RAM and CPU issue with Roslyn Code Analysis

아래는 블로그 글에 활용할 수 있는 "ServiceHub.RoslynCodeAnalysisService.exe"에 대한 조사 내용입니다. 이 내용은 Visual Studio 개발 환경에서 이 프로세스가 담당하는 역할과, 사용 중 발생할 수 있는 성능 이슈(높은 CPU/메모리 사용량 등), 그리고 문제 해결을 위한 권장 사항들을 포함하고 있습니다.1. ServiceHub.RoslynCodeAnalysisService.exe란?개요:Visual Studio에서 백그라운드로 실행되는 프로세스 중 하나로, Roslyn 컴파일러 플랫폼을 활용하여 코드 분석, 구문 강조, IntelliSense, 리팩토링 지원 등 다양한 기능을 제공합니다.이 프로세스는 코드 품질 향상과 개발 중 실시간 피드백 제공에 중요한 역할을..
기타(툴)
2025.03.14