[C#/dotnet] 권한 부여 (Authorize)
·
C#
참조  - https://learn.microsoft.com/ko-kr/aspnet/core/security/authorization/simple?view=aspnetcore-8.0  [Authorize] 어트리뷰트  - 대상에 대한 액세스를 인증된 사용자만 가능하도록 제한하는 어트리뷰트  - 인증되지 않은 사용자가 접근하는 경우 → 401 Unauthorized 반환  - 인증되었지만, 권한이 없는 사용자가 접근하는 경우 → 403 Forbidden 반환 # 컨트롤러에 대한 액세스를 인증된 사용자로 제한하기// AccountController 내부의 Login(), Logout() 둘 다 인증된 사용자만 액세스 가능[Authorize]public class AccountController : Contr..
[C#/Dapper] INSERT · UPDATE · DELETE 쿼리 / 프로시저 실행
·
C#
INSERT · UPDATE · DELETE 쿼리  - Execute 메서드     : SQL 쿼리를 실행하고, 영향을 받은 행의 수를 반환함using (var conn = new SqlConnection(connectionString)){ var parameters = new { Name = "NewUser", Age = 25 }; int affectedRows = connection.Execute("INSERT INTO Users (Name, Age) VALUES (@Name, @Age)", parameters);} 소량의 데이터를 INSERT하기using (var conn = new SqlConnection(connectionString)){ var sql = "INSERT INTO..
[C#/Dapper] SELECT 쿼리 / 프로시저 실행
·
C#
Dapper  - .NET에서 사용할 수 있는 객체 관계 매핑(ORM) 라이브러리  - SQL 쿼리 및 프로시저 등을 실행할 수 있음  - 결과를 객체에 매핑할 수 있음  - SQL Injection 방지 기능 포함  스칼라 값 쿼리  - 쿼리 결과에서 첫 번째 행의 첫 번째 열의 값을 반환함  - 단일 값을 반환하는 쿼리에서 주로 사용함 (COUNT, SUM, MIN, ...)using (var conn = new SqlConnection(connectionString)){ var sql = @" SELECT COUNT(*) FROM VISITOR WHERE VISITOR_TYPE = @visitorType "; // 쿼리 결과의 값을 int 타입으로 반환함 var..
[C#] 값 형식 (Value types) & 참조 형식 (Reference types)
·
C#
✔️ Java와 비교하기  - 값 형식 ▶ 기본 자료형 (https://young0105.tistory.com/7)  - 참조 형식 ▶ 참조 자료형 (https://young0105.tistory.com/12)➡️ 사실상 동일한 개념  값 형식 (Value Type)  - 스택 메모리 영역에 저장됨  - 변수에 실제 데이터 값이 저장됨     → 변수를 다른 변수에 할당할 때, 값 자체가 복사됨  - 기본적으로 null 값을 가질 수 없음     → ?를 붙여서 nullable 형태로 만들 수 있음  ex) int?, float?  - Java와 달리, 부호 없는 자료형이 존재함 (0, 양수만 가능)     : unshort, uint, ulong 구조체 형식 (struct 키워드)  - 데이터와 관련 ..
[C#/dotnet] 라우팅 (Routing)
·
C#
참조https://learn.microsoft.com/en-us/previous-versions/aspnet/cc668201(v=vs.100)  ASP.NET Routing  - URL이 특정 파일에 매핑될 필요 없이, 더 직관적이고 사용자 친화적인 URL을 사용할 수 있도록 함     → URL이 물리적인 파일 경로에 의존하지 않음  - 실제 URL이 변경되는 게 아니라, 라우팅 시스템이 기존 URL에서 필요한 값을 추출하여 처리함 동작 방식 비교1) 라우팅을 사용하지 않는 경우  - URL이 웹 사이트의 물리적 파일에 매핑됨     ex) https://server/application/Products.aspx?id=4        → 실제 서버에 있는 Products.aspx 파일에 매핑됨2) 라우..