.NET

    [ASP.NET Core Web API] DI (Dependency Injection) 구현 (Autofac)

    시작하기 전 NuGet Package에서 Autofac과 Autofac.Extensions.DependencyInjection 패키지를 검색해 내려받고 설치합니다. 패키지 설치가 완료되면 우선 DI를 적용할 대상 인터페이스를 작성합니다. public interface IRepository { dbContext Data(); } 위 인터페이스는 dbContext를 반환하는 Data() 메서드를 선언하고 있으며 해당 인터페이스를 상속받아 인터페이스에서 정의한 메서드를 구현합니다. public class Repository : IRepository { public dbContext Data() { return new dbContext(); } } 작성된 클래스는 데이터베이스의 Entity 객체를 반환하는 클래..

    [ASP.NET Core Web API] JWT 인증

    [ASP.NET Core Web API] JWT 인증

    JWT(JSON Web Token)는 전통적인 폼 로그인 방식이 아닌 Token이라는 일련의 암호화된 문자열을 통해서 클라이언트와 서버 간의 인증을 처리하는 방식입니다. ASP.NET Core를 통해 Web API 구현할 때도 JWT를 통한 인증방식을 구현할 수 있습니다. 우선 Web API 프로젝트를 생성하고 startup.cs의 ConfigureServices 메서드에 아래와 같은 코드를 추가해 JWT 인증 스키마를 등록합니다. services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options => { options.RequireHttpsMetadata = false; options.SaveToken = tru..

    [.NET Core] DB로 부터 Model 생성하기 (MySQL/MariaDB)

    [.NET Core] DB로 부터 Model 생성하기 (MySQL/MariaDB)

    Entity Framework을 통해 Model(Entity -> 이하 Model이라고 칭함)을 만들면 모델에 따라 DataBase에 Table을 생성할 수 있습니다. 그런데 키나 값의 제약조건 등 다양한 테이블의 속성을 정확하게 Model로 구현하기가 까다로울뿐더러 Table의 개수가 수십 개가 되면 그와 매핑되는 모델을 만들어 주기도 어려웠습니다. Core이전에는 'ADO.NET Entity Data Model'을 사용했지만 Core는 아직 같은 기능으로 사용할 수 있는 건 없는 듯합니다. 따라서 차라리 직접 Database에 Query나 전용 Tool을 사용해 Table을 생성한 다음 만들어진 Table을 대상으로 Model을 가져오는 편이 나을지도 모르며. 이 글에서는 이러한 방법을 안내하고자 합..

    [C#] 시작하기

    [C#] 시작하기

    1. 준비하기 먼저 시작하기 전에 사용자의 컴퓨터에 Visual Studio의 최신버전이 설치되어 있다는 가정하게 시작합니다. 그러니 Microsoft 홈페이지에서 Visual Studio를 내려받아 설치해 주시기 바랍니다. 버전은 특별한 경우가 아니라면 Community 버전(기본적으로 무료이긴 하지만 조건이 있습니다. 라이센스를 잘 확인해 보시기 바랍니다.)을 설치하도록 합니다. 아울러 Visual Studio Code도 설치해 주세요. 사실 Visual Studio가 .NET을 개발하는데 가장 좋은 도구이기는 하지만 Visual Studio Code또한 널리 사용되는 편집기로서 종종 유용하게 사용되는 경우가 많습니다. 2. C# 프로그램 만들어 보기 Visual Studio Code를 설치했으면 적..

    [ASP.NET Core] 리눅스(CentOS 7) 설치및 구동

    1. CentOS 준비 - Hyper-V에 설치 - ssh 및 기본적인 네트워크 설정을 마침 (테스트에 사용된 CentOS의 IP는 192.168.0.10으로 맞춰둠) 2. CentOS에 FTP설정 FTP와 ASP.NET Core와는 아무런 관련이 없습니다. 다만 ASP.NET Core프로젝트 파일을 위에서 만들어둔 CentOS 쪽으로 넘겨주기 위해서 FTP를 미리 설정해 둡니다. 아래 설정은 root가 FTP에 접근이 가능하며 최상위 루트 디렉터리를 포함한 모든 디렉터리에 접근할 수 있도록 하는 것입니다. FTP를 설치합니다. - yum -y install vsftpd FTP를 설정합니다. anonymous_enable=NOchroot_local_user=YESchroot_list_enable=YESc..

    [C#] MySQL(MariaDB) EntityFramework 사용하기

    [C#] MySQL(MariaDB) EntityFramework 사용하기

    Core 이외에 보통. NET으로 작업을 하면 대부분 MSSQL을 많이 사용합니다. MSSQL사용 시는 별다른 제약사항 없이 편하게 EntityFramework를 이용할 수 있었는데 MySQL로 EntityFramework를 사용하려면 그게 쉽지가 않았습니다. 참 좋아졌네요. 작년까지만 해도 이래서 안되는둥 저래서 안되는 둥... 이래야 하고 저래야 하고... 말고 많고 탈도 많았는데 이번에 최신 버전으로 다시 해보니 매끄럽게 진행이 돼서 해당 내용을 같이 살펴보고자 합니다. 우선 아래 페이지로 들어가 Development Releases에서 설치파일을 내려받아 설치합니다. 설치하는 과정은 별다른 내용 없이 그냥 일반적인 방법으로 설치하면 됩니다. https://dev.mysql.com/downloads..

    Request.Url 정리

    하도 헷갈려서 여기에다가 정리해 둡니다. Request.Url.AbsolutePath /[directory]/[directory]/[page] Request.Url.AbsoluteUri [Scheme]://[domain]/[directory]/[directory]/[page]?[Parameter] Request.Url.Host localhost Request.Url.Authority localhost:80 Request.Url.LocalPath /[directory]/[directory]/[page] Request.Url.PathAndQuery /[directory]/[directory]/[page]?[Parameter] Request.Url.Port 80 Request.Url.Query ?[Parame..

    [ASP.NET] 성능 카운터

    [ASP.NET] 성능 카운터

    보통 서버환경에서 서버나 프로그램에 관한 모니터링에 관리 도구에 있는 성능카운터를 활용합니다. 서버에 ASP.NET등으로 웹 프로그램을 운용한다면 다음과 같이 ASP.NET에 적용되는 성능카운터등을 확인할 수 있습니다. Application Restarts 서버가 동작하는 동안 프로그램이 재시작된 횟수 Application Running 현재 동작중인 프로그램 수 Audit Failure Events Raised 프로그램 감사 실패 횟수 Audit Success Events Raised 프로그램 감사 성공 횟수 Error Events Raised 프로그램이 발생시킨 오류 이벤트 횟수 Infrastructure Error Events Raised HTTP 오류 이벤트 횟수 Request Error Even..