-
ASP.NET ] #7 프로젝트와 데이터베이스 연결하기(MS-SQL), CRUD 구현 / Entity Framework 설치C# 2023.01.10 21:59
이번 시간에는 CRUD를 위해 ASP.NET MVC 프로젝트와 데이터베이스를 연결해보도록 하겠습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. Entity Framework 설치 2. 데이터베이스 연결 1. Entity Framework 설치 Entity Framework 은 C#과 같은 객체 지향형 프로그래밍 언어에서 데이터베이스를 쉽게 사용하기 위한 도구로 객체와 관계형 DB의 테이블을 매핑하여 별도의 SQL 쿼리를 작성하지 않고도 쉽게 데이터를 액세스 할 수 있게 합니다. Entity Framework은 데이터베이스를 액세스 하는 기술이므로 ASP.NET에서만 사용하는 것은 아니지만 ASP.NET MVC에서 데이터를 액세스 하는 기본 프레임워크로 Entity Framework을 사용하기 때문에..
-
DB ] 이상현상(Anomaly)과 함수 종속성(Functional Dependency)DB 2023.01.09 20:14
이번 포스팅에서는 이상현상(Anomaly)과 함수 종속성(Functional Dependency)에 대해 알아보겠습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 이상현상(Anomaly) 2. 함수 종속성(Functional Dependency) 1. 이상현상(Anomaly) 이상현상은 테이블 내의 데이터가 불필요하게 중복되어있어서 테이블을 조작할 때 발생되는 데이터 불일치 현상입니다. 테이블을 잘못 설계하여 오류가 발생하게 되는데, 이상현상에는 크게 3가지 이상현상이 있습니다. 이러한 문제들은 정규화를 통해서 해결할 수 있습니다. ❗❗ 정규화에 관해서는 아래 포스팅을 참고해 주세요. ❗❗ DB ] 정규화(Normalization)와 반정규화(De-normalization) / 정규화 방법 (1NF..
-
알고리즘 ] 시간 복잡도(Time complexity)와 시간 복잡도 표기법 / 빅-오(Big-O)알고리즘 2023.01.09 18:44
이번 포스팅에서는 시간 복잡도와, 빅-오(Big-O) 표기법을 이용한 시간 복잡도 표현 방법에 대해 알아봅니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 시간 복잡도 (Time complexity) 2. 빅-오(Big-O) 표기법 1. 시간 복잡도 (Time complexity) 효율적인 알고리즘을 구현하기 위해서는 시간 복잡도를 고려해야 합니다. 이 말은 연산 횟수에 비해 시간이 얼마나 걸리는지를 고려한다는 뜻입니다. 시간 복잡도와 로직의 수행 시간은 비례하는데, 시간 복잡도 수치가 작을수록 효율적인 알고리즘이기 때문입니다. 연산 횟수에 비해 시간이 오래 걸리게 된다면, 실행되는 프로그램이 CPU를 차지하는 시간이 길어지고, CPU가 다른 일을 처리하지 못하기 때문에 전체적인 효율이 떨어질 수밖에..
-
알고리즘 ] 부분합, 누적합(Prefix Sum)알고리즘 2023.01.09 16:32
Prefix Sum은 나열된 수의 누적된 합을 말합니다. N개의 원소로 이루어진 배열이 주어졌을때 반복문을 이용해 부분 배열의 합을 구하려면 O(N)의 시간복잡도를 가집니다. 부분합을 이용하면 모든 부분합을 O(1)으로 구할 수 있습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 1차원 배열 2. 2차원 배열 1. 1차원 배열 우선 주어진 배열을 순차 탐색하면서 sum 배열을 만들어주면 됩니다. 인덱스 0 1 2 3 4 5 arr 3 6 1 2 4 sum 0 3 9 10 12 16 위의 arr 배열의 인덱스 i번부터 j번까지의 부분합을 구하고자 한다면, sum[j+1] - sum[i]가 될것입니다. int sum[6] = {0, 6, 3, 6, 1, 2, 4}; // arr의 누적합 저장 for (..
-
DB ] 정규화(Normalization)와 반정규화(De-normalization) / 정규화 방법 (1NF, 2NF, 3NF, BCNF)DB 2023.01.09 16:31
정규화는 이상현상(Anomaly) 이 있는 릴레이션을 분해하여 이상현상을 없애는 과정입니다. 이번 포스팅에서는 정규화의 특징과 진행 방법에 대해 알아보겠습니다. ❗❗ 이상현상과 함수종속성에 관해서는 아래 포스팅을 참고해 주세요. ❗❗ DB ] 이상현상(Anomaly)과 함수 종속성(Functional Dependency) 이번 포스팅에서는 이상현상(Anomaly)과 함수 종속성(Functional Dependency)에 대해 알아보겠습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 이상현상(Anomaly) 2. 함수 종속성(Functional Dependency) 1. 이 dang-di.tistory.com 본 포스팅은 다음 순으로 작성되었습니다. 1. 정규화(Normalization), 반정규화(..
-
ASP.NET ] #6 레이아웃(Layout)이란? / 레이아웃 추가하기C# 2023.01.08 15:47
레이아웃(Layout)은 여러 곳에서 반복되는 코드를 줄여주는 역할을 합니다. 반복되는 코드가 줄어들면 코드가 간결해지고 유지보수가 수월해집니다. 이번 시간에는 ASP.NET MVC에서의 레이아웃을 알아보겠습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 레이아웃(Layout) 이란 2. 레이아웃 추가하기 1. 레이아웃(Layout) 이란 레이아웃에 대해 설명하기 전에 컨트롤러(Controller)의 메소드에서 우클릭 후 뷰(View)를 추가해 줍니다 이때, 레이아웃 페이지 사용이 체크되어 있어야 합니다. 뷰 추가 직후에 디버깅을 돌려보겠습니다. 뷰 코드와는 다르게 헤더(header)와 푸터(footer)가 있습니다. 이 부분들은 레이아웃이 보여주고 있습니다. 레이아웃의 경로는 위와 같습니다. 이렇..
-
ASP.NET ] #5 뷰(View)에 데이터 전달 및 모델 사용 2 / ViewBag, ViewData, TempData 사용법C# 2023.01.07 18:51
이전 포스팅에서 컨트롤러(Controller)에서 뷰(View)로 모델(Model)을 전달해서 사용하는 방법을 알아보았는데요, 컨트롤러에서 View() 메소드에 인자로 모델을 넣는 방법이었습니다. 하지만 이렇게 전달한다면 하나의 데이터밖에 전달하지 못합니다. 이번 포스팅에서는 ViewBag, ViewData, TempData를 이용해 여러 개의 데이터를 전달하는 방법을 알아보겠습니다. 본 포스팅은 다음 순으로 작성되었습니다. 1. 모델(Model)에서 뷰(View)로 데이터 전달 (ViewBag, ViewData, TempData) - 모델, 데이터 생성 - 컨트롤러에서 뷰로 데이터 전달 - 전달 받은 모델 데이터 사용 2. ViewBag, ViewData, TempData 각각의 특징 1. 모델(Mod..
-
ASP.NET ] #4 모델(Model) 생성, 뷰(View)에 데이터 전달 및 모델 사용C# 2023.01.06 18:33
ASP.NET MVC의 모델(Model)은 데이터의 속성(Property)을 정의하는 역할을 합니다. 다시 말해 모델은 데이터의 속성을 모아놓은 클래스가 되는 것입니다. 또, 컨트롤러(Controller)의 요청을 받아 데이터를 처리하는 역할을 합니다. 이번 포스팅에서는 모델이 호출되었을 때 데이터를 처리한 후 뷰(View)에 데이터를 반환한 후 사용하는 방법에 대해 알아보겠습니다. ❗❗ 아직 DB와 연결하지 않았기 때문에 DB의 데이터를 다루는 포스팅은 추후에 작성하겠습니다. ❗❗ 본 포스팅은 다음 순으로 작성되었습니다. 1. 모델(Model)에서 뷰(View)로 데이터 전달 (View() 메소드) - 모델 생성 - 데이터 생성 - 데이터 처리 - 컨트롤러에서 뷰로 모델 데이터 전달 - 전달받은 모델 ..