ASP를 공부할 때 무엇을 주목해야 하는가.순핵심?

11641 단어 aspnetcoreaspnet

"I'm at a bit of a loss for what I should be focusing on"


ASP를 학습합니다.NET는 상당히 간단했다.새 WebForms 프로젝트를 만들었습니다. 이렇게 해서 실행을 시작합니다.

현재 (ASP.NET 커널을 꾸준히 사용) 당신은 많은 선택과 선택을 할 수 있습니다.
  • MVC, Razor 페이지 또는 API?
  • API라면 어느 수욕센터입니까?각도, 반응, Vue 또는 기타
  • 타자 스크립트 또는 자바스크립트
  • Visual Studio 또는 Visual Studio 코드?
  • 어쩐지 네가 어디서부터 시작할지 결정하지 못하더라니, 그러나 너는 반드시 어디서부터 시작해야 하니, 어떻게 해야 하지?
    좋아, 너는 다른 사람을 찾아서 너를 도와 결정을 내릴 수 있어.
    단 한 가지 문제...

    ... 사람들이 당신의 결정에 몰입하지 않을 때, 그들은 자신의 경험과 선호에 따라 의견을 제시하는 경향이 있고, 당신이 진정으로 필요로 하는 것은 더욱 구체적인 것이다.
    너는 스스로 결정을 해야 한다.
    이것은 좋은 소식이다.이 망설이는 순간은 이 과정에서 가장 나쁜 부분이다.
    이것은 미래의 임무에 대한 불확실성이 가장 무거운 순간이다.
    나의 한 늙은 사장은 일찍이 이것을 '백지' 라고 불렀다.
    일단 당신이 이 문을 밟으면 다른 모든 것이 이루어질 것이다. 당신은 무엇을 배우느냐가 아니라 자신의 특징에 전념할 수 있을 것이다.
    그 밖에 당신은 당신 편에 설 동력이 있을 것입니다. 이것은 더 좋은 곳입니다!

    다음은'선택, 이렇게 많은 선택'에서'아, 이 기능을 구축하는 것이 재미있다'(가능한 한 적은 절차로)

  • 작은 어플리케이션을 생각해낸다
  • 스택 시작 선택
  • 첫 번째 기능 구축
  • 씻고 반복
  • 우선, 소형 응용 프로그램에 대한 아이디어를 제시합니다.


    이런 것들을 배우는 가장 좋은 방법은 뭔가를 만드는 것이다. 그것이 화염 속에서 타오르는 것을 보고 맞춤법이 틀린 곳을 찾아내는 것이다!

    사진 출처: Citoy'ArtTempus fugitviaphotopin(license)*
    소형 응용 프로그램은 이렇게 하기에 매우 적합하다. 왜냐하면 당신은 누구와도 그것을 공유할 필요가 없기 때문이다. (당신이 원하지 않는 한) 당신은 당신이 좋아하는 모든 것을 자유롭게 구축할 수 있기 때문이다.
    만약 네가 계속 영감을 찾고 있다면, 여기에 약간의 생각이 있다.

    취미


    만약 당신이 흥미를 느끼는 것 (운동, 취미, 마블 우주 등) 이 있다면, 그것을 둘러싸고 뭔가를 건설하는 것은 가치가 있을 것이다.
    너는 이 주제에 흥미를 느낄 뿐만 아니라, 거의 틀림없이 기능에 관한 많은 생각을 생각해 낼 수 있을 것이다.

    영감을 찾다


    만약 네가 아직 공백 상태라면 구글에서 프로그래밍 분야의 항목을 빠르게 검색하면 많은 생각을 발견할 수 있을 것이다.
    codementor.io has a list of 40 ideas .
    웹 응용 프로그램에 있어서, 그것들은 모두 의미가 있는 것은 아니지만, 많은 것들이 의미가 있다.나는 #34의 생각을 매우 좋아한다.점심을 고르는 사람.
    나도 좋아한다this list by Dave Ceddia(React를 전문으로 하지만 다른 프레임워크에도 적용된다).

    그런 다음 스택을 선택하여 시작


    언뜻 보기에는'주사위를 공중에 던져서 어디에 떨어지는지 보자'는 변체인 것 같지만, 생각해 보세요...
    네 앞에 길이 많은 것 같지만, 지금은 두 갈래밖에 없다.
    서버측 어플리케이션 또는 API+ 클라이언트
    다른 모든 것은 이 선택과 무관하다.

    서버측 어플리케이션


    서버측 응용 프로그램(ASP.NET MVC 또는 Razor 페이지)입니다.

    브라우저에서 요청
    ASP.NET는 이 요청MVC Controller or Razor Page을 처리하고 업무 논리(데이터베이스와 상호작용할 수 있음)를 실행한 다음 보기/페이지(서버에서 html로 컴파일됨)로 돌아갑니다.

    API+ 클라이언트


    지금 그것을 이 예와 비교한다.
    여기서'백엔드'는 API로 공개되며 Angular/React 등으로 작성된 단독 프런트엔드 클라이언트가 있습니다.

    이번에는 사용자 인터페이스가 클라이언트로 위쪽으로 이동되었습니다. (브라우저에서 실행)
    서버(ASP.NET 부분)에는 컨트롤러가 있지만 컴파일된 html(Razor 보기/페이지를 통해)이 아닌 데이터(보통 JSON)를 되돌려줍니다.

    그들은 똑같아!


    파란색 점선 밑에 있는 점이 바로
    이것은 MVC, Razor Pages를 사용하든 API를 사용하든 데이터베이스와 상호작용하고 데이터의 논리를 집행하는 부분은 변하지 않는다는 것을 의미하기 때문에 사용자에게 매우 좋습니다.
    사실, ASP에서.NET 코어, MVC/Razor 페이지 및 웹 API는 동일한 베이스 프레임을 효과적으로 통합하고 공유합니다.
    따라서 어떤 선택을 하든지 ASP를 배울 것이다.NET 핵심 작업 (주입, 시작 설정, ORM과 유사한 실체 프레임워크를 통해 데이터 접근 포함).

    어느 것부터 시작할까요?


    이제 서버측 또는 API+ 클라이언트를 먼저 시도해야 합니다.
    이런 기준들은 네가 결정하는 것을 도울 수 있다.

    1. 취업 기회


    건축 ASP에 취직하고 싶으면NET 앱은 당신이 찾을 수 있는 일에 대해 약간의 조사를 하는 것이 좋을 수도 있다.
    한 가지 방법은 온라인 채용 사이트(실제로는 몬스터 등)를 클릭해서 무슨 일이 일어날지 보는 것이다.순수 일자리는 당신이 있는 지역에 열거되어 있다.
    이것은 적어도 너로 하여금 풍향을 알게 할 것이다.

    2. 과거 경험


    아마도 당신은 이미 html과javascript의 경험을 가지고 있을 것입니다.
    이 경우, 당신은 당신이 알고 있는 것을 고수하고, 자바스크립트/html 클라이언트가 있는 API를 충분히 이용하기를 원할 수도 있습니다.
    물론, 이전에 서버 쪽 프레임워크를 사용한 적이 있을 수도 있고, 거기서부터 시작하기를 원할 수도 있습니다.
    서버측을 선택하든 클라이언트 프로그램을 선택하든 html처럼 보이는 의심스러운 코드를 대량으로 작성할 것입니다. Razor 페이지/보기에서든 React 구성 요소에서든 JSX로 사용할 수 있습니다.
    이와 유사하게 Typescript와Javascript는 문법과 기능에 점점 가까워지고 배운 많은 것들이 서로 다른 언어에서 전달된다.

    3. 가장 쉬운 선택


    만약 당신이 그 중 하나를 선택할 믿을 만한 이유가 없다면, ASP에서 시작하면, '이벤트 위젯' 이 줄어들 수도 있습니다.NET MVC/Razor 페이지.
    마지막으로 만약 당신이 여전히 결정을 할 수 없다면'정답'을 선택하는 것보다 시작이 더 중요하기 때문에 주사위를 던져 계속 전진하세요!

    어느 자바스크립트 프레임워크입니까?


    API+ 클라이언트 스택을 선택하면 이러한 문제를 피할 수 없습니다.
    가장 큰 위험은 결국 한 번에 너무 많은 것을 배우려 한다는 것이다. (웹 API, ASP.NET, 데이터 접근, <insert-javascript-framework-here>.
    그렇다면, 당신은 어떻게 자신의 적재량을 초과하는 것을 피할 수 있습니까?

    1. 기존 클라이언트 테스트 API 사용


    API를 구축할 때 Insomnia 같은 도구를 사용해서 전방을 구축하는 것이 아니라 테스트할 수 있습니다.

    이 방식을 통해 자바스크립트 프레임워크의 잡초에 들어가지 않고 API에 대한 요청을 쉽게 시작할 수 있습니다.

    2. 프로젝트 템플릿을 사용하여 "쉬운 모드"를 시작합니다.


    JS 프레임워크, ASP를 동시에 처리하기로 결정한 경우NET 템플릿 항목은 좋은 선택입니다.
    Visual Studio(파일 > 새 프로젝트를 통해) 또는 클라이언트에서...
    dotnet new angular또는dotnet new react이것은 최소한의 프로젝트를 시작하고 실행하는 것을 참고로 할 것입니다.

    이제 당신의 기능을 구축해 보세요.


    나는 말하기는 쉬워도 실행하기는 어렵다는 것을 안다. 그렇지?
    이것이 바로 그것이 진정으로 가치가 있는 곳을 건설하기 위한 선택simplest possible feature, and the simplest possible approach이다.
    이것은 모든 학습의 장소이다. 시도와 오류를 통해 당신이 모르는 것을 찾아내고, 어떻게 답을 찾아내는지.
    이 과정의 이 부분에는 진정한 대체품이 없다. 이것이 바로 왜 간단한 기능부터 시작하는가가 관건이다.
    만약 당신이 완전한 트위터 클론을 만들려고 시도한다면, 다음 도전에 진입하는 작은 승리를 얻기 어려울 것이다.
    트위터에 작은 부분을 만들어 보는 것이 좋다.
    아마도, 제목과 텍스트만 표시하고, 거기서부터 구축할 수 있는 간단한 페이지일 것이다.

    씻고 반복


    현재 당신의 허리띠 밑에 작은 기능이 하나 있는데, 당신은 다음 기능이나 두 가지 기능을 처리할 수 있습니다.
    전문적인 팁: 업무 논리를 다시 사용할 수 있는 방식으로 MVC/API 프로젝트를 구축하면 자신의 생활을 더욱 수월하게 할 수 있습니다.
    이전 몇 가지 기능을 위한 논리/데이터 접근 코드는'기타 창고'를 배우는 기초가 될 수 있습니다.
    재구성 컨트롤러의 논리 사용 방법 알아보기
    예를 들어 서버측을 먼저 시도하는 것을 선택하면 API를 통해 같은 업무 논리를 공개하고 간단한 프런트엔드 클라이언트를 구축하여 비교 결과를 볼 수 있습니다.
    이 작업을 수행합니다.프런트엔드 애플리케이션을 통해 데이터를 반환합니다(예: 표시할 수 있음).
    public class OrderController : Controller {
    
        // rest of code omitted
    
        public IActionResult ById(string id){
            var order = _orders.Find(id);
            if(order == null){
                return NotFound();
            }
            return Ok(order);
        }
    }
    
    동시에 MVC 보기(동일한 주문 데이터가 있음)로 돌아갑니다.
    public class OrderController : Controller {
    
        // rest of code omitted
    
        public IActionResult ById(string id){
            var order =_orders.Find(id);
            return View(order);
        }
    }
    
    중요한 것은 이 컨트롤러들의 조작이 가능한 한 적고 데이터가 노출되거나 보기만 보여주는 데만 집중해야 한다는 것이다.
    만약 중요한 업무 논리를 다른 클래스/서비스/처리 프로그램 (예: 이 예 _orders) 에 전송한다면, 이 논리에 대한 호출 방식을 바꾸는 것은 보잘것없게 될 것입니다.
    다시 말하면, 가능한 한 이런 일을 피해라!
    public class OrderController : Controller {
    
        // rest of code omitted
    
        public IActionResult ById(string id){
            var order = _dataContext.Orders.FirstOrDefault(x=>x.Id == id);
            if(order == null) {
                order = new Order();
            }            
            return View(order);
        }
    }
    
    여기서 우리는 업무 논리가 컨트롤러 조작 자체에 있기 때문에 현재는 같은 데이터를 다른 방식으로 공개하기가 더욱 어렵다.

    가다


    ASP를 배우고 싶어요.NET, 이 세상은 네가 ASP를 배워야 해.그물!그래서 스트레스를 줄여라.
    뭐 잘못 배운 거 걱정하지 마.
    너는 실천에서 배울 수 있다. (네가 많이 할수록, 너는 세계의 어떤 언어/구조/구조도 배울 준비가 되어 있다.)

    너는 ASP의 계획을 공부한다.그물

  • 재미있고'구축 가능한'측면 항목 선택
  • 두 주요 아키텍처("스택") 중 하나를 선택
  • 작은 특징 식별(간단하고 운동 부품이 적음)
  • 구축 방법 파악this super quick tip
  • 컨트롤러 조작(및/또는 면도기 페이지 코드)을 최소화
  • 3~5단계 반복
  • 다른 것을 시도하고 싶을 때
  • 해봐, 어떻게 되고 있는지 알려줘. -)
    시작하기 전에 simplest possible implementation 재구성 컨트롤러의 논리를 어떻게 사용하는지 보십시오

    좋은 웹페이지 즐겨찾기