즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

개발 70

🛡️ Zod vs 🔍 Joi vs ✅ Yup 차이점

Zod와 Joi는 모두 JavaScript와 TypeScript에서 📊 데이터 ✔️ 검증 및 📋 스키마 정의에 사용하는 라이브러리입니다. 이 두 라이브러리는 비슷한 기능을 제공하지만, 철학과 사용 방식, 지원하는 기능에서 차이가 있습니다. 아래에서 Zod와 🔍 Joi, 그리고 다른 라이브러리들의 차이점과 각각의 장단점을 비교해 보겠습니다.🛡️ Zod vs 🔍 Joi vs ✅ Yup 차이점철학 및 사용 방식🛡️ Zod: Zod는 TypeScript와의 강력한 통합을 목표로 하는 선언적 ✔️ 검증 라이브러리입니다. 데이터를 검증할 뿐만 아니라 스키마에서 💙 TypeScript 타입을 유추할 수 있어서, 개발자가 작성하는 코드가 더 안전해집니다.🔍 Joi: Joi는 오래전부터 널리 사용된 📊 ..

개발/Node.js 2024.10.15

Generic 타입(T)를 이용해 String과 JSON오브젝트 간 상호 변환하는 함수

Generic 타입(T)를 이용해 String과 JSON오브젝트를 상호 변환하는 함수입니다. 범용적으로 사용할 수 있어요. options는 JSON의 규칙을 설정할 수 있습니다. 상세 옵션은 여기에서 확인해주세요. using Newtonsoft.Json;private static string JsonObjToString(T obj){ try { if (obj == null) return ""; var options = new JsonSerializerSettings { MetadataPropertyHandling = MetadataPropertyHandling.Ignore, DateFormatString = "yyyy..

개발/C# 2024.05.27

.NET 코어 App을 코드로 관리자 권한으로 실행하는 방법

닷넷 프레임워크나 다른 블로그들을 찾아보면 클릭원스(Click Ones)를 설정했다가 해지하는 방법으로 "app.manifest"파일을 생성하는 방법으로 하는 것이 있었다. 그런데 닷넷 코어에는 클릭원스가 없다.  프로젝트 열기: Visual Studio 2022에서 원하는 프로젝트를 열자.프로젝트 속성 열기: 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하자.매니페스트 파일 설정: 프로젝트 속성 창의 왼쪽 메뉴에서 "응용 프로그램"을 선택하고, "리소스" 섹션으로 내려가서 "매니페스트" 옵션을 찾자. 여기서 "새 매니페스트 생성"을 선택하거나 기존 매니페스트 파일을 참조할 수 있다. 만약 "새 매니페스트 생성" 옵션이 보이지 않는다면, 기본적으로 매니페스트 파일이 프로젝트..

개발/C# 2024.04.29

이벤트 로그 작성하는 방법

윈도우의 이벤트 로그의 Application카테고리에 내가 만든 프로그램의 로그를 써보자.  public static void WriteEventLogEntry(System.Diagnostics.EventLogEntryType LogType, string message, string AppName = "Spider"){ // Create an instance of EventLog System.Diagnostics.EventLog eventLog = new System.Diagnostics.EventLog(); // Check if the event source exists. If not create it. if (!System.Diagnostics.EventLog.SourceExis..

개발/C# 2024.04.25

try~catch문에서 error타입에 따라 처리하는 함수

Typescript에서 Try~catch문 중 error를 처리하려고 할 때 타입이 뭔지 궁금했다. any나 uknown으로 처리를 해야 한단다. 이런 ~ 썩을... export function ParseError(error: unknown): string { if (error instanceof TypeError) { return 'Type error occurred:' + error.message; } else if (error instanceof Error) { return 'General error:' + error.message; } else { return 'An unexpected error occurred:' + error; } } 타입을 체크해서 알고 있는 타입이면 처리하는 방식으로 만든..

개발/Node.js 2024.04.23