개요이번 글에서는 Valkey(Redis 포크 프로젝트)에서 커스텀 커맨드를 추가하는 작업을 해볼 예정이다.Redis는 들어봤어도 Valkey는 들어보지 못한 분들에게 간략하게 설명하자면, Valkey는 널리 사용되는 인메모리 데이터 저장소인 Redis에서 포크된 오픈소스 프로젝트이다.둘의 가장 중요한 차이점은 라이센스이다. 기존 오픈소스였던 Redis가 점차 상업적 방향으로 나아가면서 커뮤니티 중심의 개발을 추구하는 사람들이 중심이 되어 상업화 전 Redis를 fork하여 Valkey가 탄생하였다.이번 글에서는 Valkey를 기반으로 커스텀 커맨드(custom command)를 직접 추가해보는 작업을 해볼 예정이다.실습은 Ubuntu Desktop 24.04.2 LTS 환경에서 진행하며, Valkey의..
전체 글 보기
Git 내부 동작 이해하기Git에 대해 어디까지 알고 있는가?개발자로서 Git을 사용하면서 그저 형상관리의 도구로서만 접근하였지, 실제 내부적으로 어떻게 변경사항을 추적하고 브랜치를 따고 Merge 하는지에 대한 지식은 갖고 있지 않았다.몇 년 전이라면, ‘그냥 그런갑다~’하고 넘어갔었겠지만, 최근에 실시간 서비스의 배포 프로세스에 대한 깊은 고민과 게임의 패치 방식에 대한 리서치를 진행하면서 당시에 Git은 어떻게 원하는 브랜치로 빠르게 체크아웃하고 형상관리를 할 수 있는지에 대한 의문이 들기도 했었다.의문은 의문으로 영원히 남게 되었을 수도 있었겠지만, 다행히도 이번에 오픈소스 컨트리뷰션 아카데미를 진행하면서 Git의 내부 동작에 대해 공부해볼 수 있는 기회가 생겼다.공부를 하면서 Git은 개발자의 ..
개요현재 사이드 프로젝트로 만들고 있는 중인 API가 Azure에서 SQL Server 서버를 생성하여 웹서버와 연동하고 있습니다. 물론 5월까지 매달 돈이 빠져나갔고, 언젠가(?)부터 무료로 DB를 생성할 수 있게 지원되는 것 같아서 바로 바꿨습니다. 바꾸기 이전까지는 거의 99% SQL Server의 유지 비용이고, 처음 프로젝트를 만들 시에는 Azure에서 무료 DB 인스턴스를 제공하지 않았었습니다. 초기 1개월 동안 제한된 크레딧을 제공하는 게 다였죠. 나중에 찾아보니 MS문서에 2024.03.06에 작성된 Try Azure SQL Database for free (preview) 이라는 제목의 문서가 있었습니다. 요약하자면 AWS의 Free Tier 서비스처럼 Azure도 무료로 사용 가능한 서..
개요MS Learn에서 'Blazor를 사용한 웹 개발 소개' 파트 부분을 이해하기 쉽도록 핵심 요점만 일부 적절한 의역을 통해 정리하였습니다. Blazor란?HTML, CSS, C#을 기반으로 하는 .NET 플랫폼의 최신 Front-End Web Framework이다. Blazor를 사용하는 것의 장점재사용이 용이하여 웹 UI를 빠르게 빌드할 수 있다C#으로 UI 이벤트 로직을 쉽게 구현할 수 있다.C#만으로 Front, Back 둘 다 개발할 수 있고 서로 통신할 수 있다.효율적인 차이 기반 랜더링(diff-based rendering)을 통해 DOM을 조작할 수 있다.서버 사이드 랜더링(이하 SSR), 클라이언트 사이드 랜더링(이하 CSR)을 지원한다.향상된 탐색(built-in support f..
개요가끔 사용 중인 DB에서 테이블 생성 SQL 스크립트를 추출해야 하는 경우가 있습니다.해당 글은 SSMS에서 테이블 CREATE SQL 스크립트를 생성하는 방법을 알아보겠습니다. SSMS 버전더보기SQL Server Management Studio 19.2.56.2SMO(SQL Server 관리 개체) 16.200.48050.0+9bd30730a8cbcdac9d9788ba6605f3dda96e6b89Microsoft T-SQL 파서 17.0.23.0+0d40faadb307b5d5fe930d64f47d2285ed3d0831Microsoft Analysis Services 클라이언트 도구 16.0.20054.0Microsoft Data Access Components(MDAC) 10.0.22621.359..
개요ASP.NET Core Identity를 사용할 때, 기본 설정 후 EF Core로 마이그레이션 및 업데이트 시, 필요한 테이블을 자동생성합니다. 해당 글은 자동 생성되는 테이블에 대한 ERD 소개입니다. ERD 공유ASP.NET Core 8.0 버전을 기준으로, 기본 설정만 진행한 후 생성되는 테이블을 기준으로 ERD를 작성하였습니다.해당 ERD는 아래 링크에서 확인하실 수 있습니다.ASP.NET Core Identity 생성 테이블 (erdcloud.com) 각 테이블에 대한 정보는 추후 해당 글에 내용 추가 하겠습니다. . .24.06.06
SOLID 원칙이란?Single Responsibility Principle (단일 책임 원칙)Open/Closed Principle (개방/폐쇄 원칙)Liskov Substitution Principle (리스코프 치환 원칙)Interface Segregation Principle (인터페이스 분리 원칙)Dependency Inversion Principle (의존관계 역전 원칙)SOLID란 ‘로버트 마틴’이 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙.이 다섯 가지 기본 원칙을 ‘마이클 페더스’가 앞 글자만 따서 소개한 것이 SOLID. SOLID 원칙의 중요성소프트웨어 개발은 훌륭한 솔루션을 만드는 것 뿐만이 아닌 지속가능한 유지보수 또한 중요하기 때문이다.유지보수는 소프트웨어 개..
.NET 이란?.NET은 다양한 유형의 애플리케이션을 빌드하기 위한 무료 크로스 플랫폼 오픈 소스 개발자 플랫폼입니다. 이는 여러 언어로 작성된 프로그램을 실행할 수 있으며, 그 중 가장 인기 있는 언어는 C#입니다. 이는 많은 대규모 앱 프로덕션에서 사용되는 고성능 런타임에 의존합니다..NET은 Microsoft에서 지원하는 무료 오픈 소스 애플리케이션 플랫폼이다..NET은 2002년, 마소에서 발표한 닷넷 프레임워크(.NET Framework)가 시초이며, 여러 버전을 거처 현재 명칭은 오픈 소스 버전인 .NET으로 불린다..NET 기반 응용 프로그램은 .NET 런타임 환경을 필요로 한다. .NET과 C#과의 관계?C#은 .NET용 프로그래밍 언어입니다. 강력한 타이핑 및 유형 안전성을 갖추고 있으..
Visual Studio 2022에서 .NET 내부 코드 확인하기개요부끄럽지만 저는 약 몇 달 전까지 굳이 .NET 내부 코드를 찾아보지 않았습니다. 이유는 다음과 같았는데..1. 내부 코드를 찾아볼 일은 있었지만, VS 2022에서 어떻게 설정하는지 몰랐다.2. 설정하는 시간 비용에 비해 굳이 찾아볼 필요까지는 없었다. (회사일도 바빠죽겠는데) 한 마디로 '설정이 분명 있겠다고 예상했지만 찾기 귀찮아서' 굳이 찾아보진 않았습니다.설정하지 않는다고 크게 불편한 일도 없었습니다.제가 보는 대부분의 코드에 추상화가 불편하지 않을 정도로 되어 있었고, 모르는 부분이 나오면 검색으로 해결되는 경우가 대부분이었기 때문입니다. 그러나 지금은 과거에 내부 코드를 안 봤던 저를 후회합니다. 내부 코드를 확인하도록 설정..
ASP.NET Core 8.0 Identity 친해지기 지난 글( ASP.NET Core 8.0 Identity 찍먹하기)에 이어서 이번에 조금 더 알아보는 시간을 갖도록 하겠습니다.이번 글에서는 어떻게 Razor UI와 API 엔드포인트를 생성하는지, 그 내부 코드를 어떻게 확인할 수 있는지 알아보겠습니다. Identity API 엔드포인트 생성 분석어떻게 API 엔드포인트가 생성되는지 확인해보겠습니다.SPA용 Web API 백 엔드를 보호하는 데 사용 Identity | Microsoft Learn위 내용을 참고하여 ASP.NET Core 8.0 API 환경에서 Identity를 사용할 때, Program.cs 내에 아래와 같은 코드를 추가하게 됩니다.var builder = WebApplicati..