[Core] 스킨형 Razor 페이징 헬퍼
·
C#.NET/ASP.NET
어느 프로젝트에서 페이징템플릿을 csv에 담아다가 그 템플릿을 읽어와 다양한 디자인의 페이징을적용하는 케이스를 본 적이 있어, 비슷하게 구현 하였다. NETFramework 에 비해서 Core에서는 WebHostEnvironment 를 사용하여 wwwroot 의 내용을 읽어올 수 있는 편의성이 있기에 CSV대신 HTML을 읽어올 수 있는 방법을 사용할 수 있었다. 페이징 스킨을 변경했을 때. 사용방법1. 페이징헬퍼 라이브러리 - 이 라이브러리는 자신의 namespace와 맞는 곳에 구현하자using Microsoft.AspNetCore.Html;using Microsoft.AspNetCore.Mvc.Rendering;using System.Text;using System.Text.RegularExpr..
더미 이미지 생성 (엑박 방지)
·
C#.NET/ASP.NET
대중적으로 잘 알려진 https://placehold.co/ 라는 사이트가 있다.HTML 영역에서 더미 이미지를 만들어 준다.위 사이트를 그대로 사용하는 것 역시 방법이지만.1. 내 서버가 페쇄망에 있다거나?2. 웹 트래픽 발생을 줄여야 한다거나.. 등 이슈가 있을 수 있다.그래서 이를 ASP.NET MVC (NETFramework).에서 직접 구현해 보았다.1. 컨트롤러 생성 - PlaceholderController 에 메서드는 Generate() 로 하였다 - 그렇다면 호출주소는 의 형태가 되어야 한다using System;using System.Drawing;using System.Drawing.Imaging;using System.IO;using System.Web.Mvc;namespace D..
VisualStudio 2022 에서 레거시 NETFramework ASP.NET 웹 템플릿 사용
·
C#.NET/설정
NET 버전이 10 출시를 앞두고 있는 가운데...조상님들의 유물인 레거시 ASP.NET 프레임워크를 생성하려고 하는데어느날 부터 VisualStudio 2022 에서 템플릿이 보이지 않았다.1. 새 프로젝트를 c# / 윈도우 / 웹을 맞췄는데도 레거시 asp.net 프로젝트가 보이지 않는다.기존 소스코드는 잘 로딩되고 작동되는데 새로 만들려니까 없더라..이때는 하단에 원하는 항목을 찾지 못하셨나요? 클 클릭한다.2. 그러면 비주얼스튜디오 인스톨러로 이동하는데 우측에 선택사항의 하위메뉴 - .NET Framework 프로젝트 및 항목 템플릿 과 .NET Framework 4.6.2~4.7.1 개발도구를 설치해 준다.3. 그러면 조상님들의 유물인 ASP.NET (.NET Framework) 템플릿을 사용할..
jQuery + Ajax 무한 스크롤 (페이징)
·
Web/JS & jQuery
쇼핑몰등에서 마우스 그래그를 하다보면 상품이 계속 생겨나는 것을 볼 수 있다.이를 무한스크롤이라 하는데 일종의 페이징이다.- 아래 소스코드를 JSFIDDLE 에서 돌려보자 HTML 영역에 모두 집어넣고 RUN 시키면 동작한다. 심지어 가짜JSON API까지 사용하여 상품이 있는 것 처럼 테스트 가능하다 상품 목록 (0/0) Loading... 우선 위 코드는 이해하는것 보다 복사해서 쓰려고 만들어 둔 것이다.1., HTML 내 이 부분을 자신의 영역에 복사한다 Loading... 2. 그, 다음 스크립트 코드를 모두 복사한다...
ModelState 를 사용한 서버측 유효성 검사
·
C#.NET/ASP.NET
이 코드는 NETFramework 4.6 에서 돌아가도록 작성 하였습니다.그렇다는건 조금만 손보면 Core에서도 돌아간다는 이야기죠사용자를 등록하는 페이지가 있다.대부분은 일반적으로 이 항목에 대해 자바스크립트로 유효성 검사를 진행 할 것이다.하지만 이 데이터가 오염되지 말아야 중요 데이터라면?당연히 C# 서버단에서도 자바스크립트에서 유효성검사를 진행 한 만큼 진행해야 한다.[HttpPost]public ActionResult Create(UserViewModel model){ // 유효성 검사를 위한 if문이 계속해서 나열됩니다. if (string.IsNullOrEmpty(model.UserId)) { // "아이디는 필수값입니다." 라는 오류 처리 } if (..
글자 Byte 계산 (SMS발송 등...)
·
Web/JS & jQuery
jQuery로 작성된 바이트 체크 샘플SMS 발송 관련 페이지에서 주로 사용된다.소스코드의 자바스크립트 영역에서 2가지 방식을 지정해서 사용하면 된다.1. const MAX_BYTES = 100; - 허용가능한 최대 byte 수 2. const useUtf8Calculation = true; - UTF8 형태로 byte를 계산할지 여부 (영문2, 한글3, 이모지4) 3. const textInput = $('#text-input'); - 입력 영역 지정 (textarea 를 지정한다. 이 부분은 키입력 이벤트와 이모지 등에서 사용된다) 실시간 바이트 체크 ..
로컬 AI 구동 LMStudio + (GPT-OSS-20b)
·
기타/프로그램
최근 OpenAI 에서 GPTOSS 를 무료로 공개해 버렸다.그래서 가장 쉽게 GPTOSS 를 로컬에서 구동할 수 있는 프로그램은단연 LMStudio 라고 생각한다.올라마 같은 프로그램은 내가 사용해본바 UI가 심히 별로였으며이거 저거 같이 설치해야 사용이 편했다. 1. LLM은 사실상 그래픽카드(GPU)로 구동되고 VRAM 이 높아야 높은 모델을 돌릴 수 있다.2. 내 PC는 RTX 3080TI 고 VRAM은 12GB다.즉 그래픽카드가 안달려 있으면 구동이 매우 힘들거나 느리다.1. 아래 공식 사이트에서 LM STDUIO를 설치하다 (업데이트가 자주 발생한다.)https://lmstudio.ai/ LM Studio - Download and run LLMs on your computerRun gpt-..
개인정보 * 표 마스킹 헬퍼
·
C#.NET/C#
어떤 프로젝트의 개인정보 보호가 매우 높아서모든 메뉴 개인정보가 표시되는 부분에 개인정보 부분을 마스킹 처리해 달라는 요청을 받은적이 있었다.그래서 작성된 코드이다. 1. 메인코드기본 asp.net mvc 의 netframework 4.6 정도 c# 7.3에서 동작 가능하지만 아마도 c#6 에서동작 가능할 것으로 보인다. 이 부분이; 문제가 되면 문자열 보간 부분만 string.Format() 로 바꿔주면 될 것으로 보인다.using System;using System.Linq;using System.Text.RegularExpressions;namespace DogAcademy.Lib{ /// /// 문자열 마스킹 유틸리티 /// public class MaskingUtilit..