플로렌스라는 개발자

ASP.Net Core로 웹사이트 만들어본 후기

프로그래밍/C# 2019.11.21 댓글 2 Plorence

목차

    저는 주력으로 웹 개발을 하는 사람도 아니고 디자인도 엉망입니다.

    웹에 대해 아주 얕은 지식만 있습니다.

    만들고 싶은 것도 있고 개인 소개용 웹사이트나 프로젝트에서 API 서버를 개발해야 될 일이 있었습니다.

    여러 가지 찾다가 Django, Node.js, ASP.net(core) 세 가지였습니다.

     

    ASP.Net Core를 선택한 이유

    매우 간단한 이유인데, 파이썬이나 자바스크립트보단 C#을 더 잘 알고 있었습니다.

    파이썬은 거의 모르는 수준이고 자바스크립트는 어려운 문법까진 모르지만 간단한 것과 코드 수정 정도는 가능했습니다.

    그에 반해 C#은 제가 만들고 싶은 것을 만들만한 수준은 되었습니다.

    거기서도 ASP.Net을 택하느냐 ASP.Net Core를 택하느냐에 갈렸지만 크로스 플랫폼을 지원하는 ASP.Net Core를 택했습니다.

    (심지어 도커까지 가능)

     

    ASP.Net Core의 장점

     

    HTML에서 C#코드를 사용 가능(Razor)

    @{ 
    //C#코드
        int signCount = 0;
        foreach (var pair in Model.signCountInGame)
        {
            signCount += pair.Value;
        }
        double progressValue = (double)signCount / (double)Model.targetCount * 100.0;
    }
    <div class="container">
        <section>
            <div class="row">
                <div class="col-12 text-center">
                    <span class="d-inline-block display-4 mb-3">
                        목표치: @Html.Raw(Model.targetCount)명
                    </span>
                    <div class="container">
                        <div class="row">
                            <div class="col-6 offset-3">
                                <div class=" text-center">
                                    <div class="d-block w-100">
                                        <div class="progress">
                                            <div class="progress-bar" role="progressbar" aria-valuenow="@Html.Raw((int)@progressValue)" aria-valuemin="0" aria-valuemax="100" style="width: @progressValue%; background-color: rgb(52, 125, 241);">@progressValue%</div>
                                        </div>
                                    </div>
                                </div>
                            </div>

    실제 개발에 쓰인 일부분만 떼왔습니다.

    '@'를 사용해 C#코드를 사용할 수 있습니다.

    컨트롤러에서 뷰로 보내기 전에 다 처리해서 보내던가 뷰로 뷰모델을 보내서 직접 처리하는 방법도 있습니다.

    (위 코드는 변수를 하나 더 만들어서 사용하기보다는 원래 있던 변수로 재사용하는 게 더 낫다고 생각했습니다.)

     

    SQL를 작성할 줄 몰라도 된다(Entity Framework Core)

    인강 보다가 이 부분에서 박수를 쳤는데 LINQ만 알고 있어도 자유롭게 사용 가능합니다.

    _context.SignatureModel.Add(model);
    _context.SaveChanges();

    어떤 모델을 Insert 할 때 2줄이면 됩니다.

     

     

    코드 자동 생성(스캐폴딩)

    몇 번 클릭하면 자기가 알아서 코드, 파일을 생성해줍니다.

     

    비주얼 스튜디오

    무겁지만 값어치는 그 이상입니다.

    아예 SQL 서버 뷰어가 있고 DB를 만들거나 테이블을 만들거나 삽입 또는 수정 또한 가능합니다.

    ASP.net Core 하면서 특별한 기능은 못 봐서 이 정도로만 설명하겠습니다.

     

    Nuget 사용 가능

    이건 안 되는 줄 알았는데 되더군요.

    몇 번 클릭하면 라이브러리 설치하기가 쉬우니 정말 좋습니다.

    (당연히 라이브러리가 지원하는 플랫폼은 따져야 합니다.)

     

     

    마지막으로 제가 ASP.Net Core를 사용해서 만든 웹사이트입니다.

    수익을 낼 목적이나 많은 관심보다는 연습용으로 만든 취지가 더 강합니다.

    조언이나 웹사이트의 문제점을 지적해준 내 친구들에게 고맙다고 말씀드리고 싶습니다.

    댓글

    2

    혹시 인강은 어디서 어떤 강의를 들었는지 알 수 있을까요??

    2020.06.16 09:46
    닷린이

    https://www.inflearn.com/course/asp-net-core
    https://www.youtube.com/watch?v=aO6zRXo48Oc&list=PLbPz1r_wDPhHfd9TFy89ulvwI_MLEZJ8C(유튜버 '개발토끼'님)
    이거랑 공식 문서(MSDN)만 봤습니다.

    2020.06.16 17:51 신고