상위 55개 MVC 인터뷰 질문 및 답변(PDF)

꿈의 직업을 얻기 위한 신입 지원자와 경험 많은 지원자를 위한 MVC 인터뷰 질문은 다음과 같습니다.

 

신입생을 위한 MVC 인터뷰 질문 및 답변

1) 모델-뷰-컨트롤러란 무엇입니까?

MVC는 웹 애플리케이션을 개발하기 위한 소프트웨어 아키텍처 패턴입니다. Model, View, Controller라는 세 가지 객체로 처리됩니다.

👉 무료 PDF 다운로드: MVC 인터뷰 질문 및 답변


2) MVC 애플리케이션에서 Model-View-Controller는 무엇을 나타냅니까?

MVC 모델에서는

  • 모델– 애플리케이션 데이터 도메인을 나타냅니다. 즉, 애플리케이션의 비즈니스 로직은 모델 내에 포함되어 있으며 데이터 유지 관리를 담당합니다.
  • 관측– 최종 사용자가 통신하는 사용자 인터페이스를 나타냅니다. 즉, 모든 사용자 인터페이스 로직은 View 내에 포함되어 있습니다.
  • 제어 장치- 사용자의 행동에 응답하는 컨트롤러입니다. 사용자 작업에 따라 해당 컨트롤러는 모델 내에서 응답하고 사용자 인터페이스를 표시하는 렌더링할 뷰를 선택합니다. 사용자 입력 로직은 컨트롤러 내에 포함되어 있습니다.

3) MVC를 정의할 어셈블리 이름 지정

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 MVC 프레임워크 System.Web.Mvc 어셈블리에 정의되어 있습니다.


4) 컨트롤러 작업 메서드의 다양한 반환 유형은 무엇입니까?

컨트롤러 작업 메서드의 다양한 반환 유형은 다음과 같습니다.

  • 결과보기
  • Java스크립트 결과
  • 결과 리디렉션
  • JSON 결과
  • 콘텐츠 결과

5) 웹 양식 애플리케이션과 MVC 애플리케이션에 경로를 추가하는 것의 차이점은 무엇입니까?

웹폼 애플리케이션에 경로를 추가하려면 RouteCollection 클래스의 MapPageRoute() 메서드를 사용하고, MVC 애플리케이션에 경로를 추가하려면 MapRoute() 메서드를 사용합니다.


6) 경로에 제약 조건을 추가하는 두 가지 방법은 무엇입니까?

경로에 제약 조건을 추가하는 두 가지 방법은 다음과 같습니다.

  • 정규 표현식 사용
  • IRouteConstraint 인터페이스를 구현하는 개체 사용

7) MVC의 장점은 무엇인가요?

  • MVC는 프로젝트를 다른 세그먼트로 분리하므로 개발자가 작업하기가 쉬워집니다.
  • 프로젝트의 개발 및 유지 관리 비용이 적게 드는 프로젝트의 일부 부분을 쉽게 편집하거나 변경할 수 있습니다.
  • MVC는 프로젝트를 더욱 체계적으로 만듭니다.
  • 비즈니스 로직과 프리젠테이션 로직의 명확한 분리를 나타냅니다.
  • 각 MVC 객체에는 서로 다른 책임이 있습니다.
  • 개발이 병행해서 진행됨
  • 관리 및 유지보수 용이
  • 모든 클래스와 객체는 서로 독립적입니다.

8) 컨트롤러에서 "beforeFilter()", "beforeRender" 및 "afterFilter" 함수는 무엇을 합니까?

  • 필터 전(): 이 함수는 컨트롤러의 모든 작업 전에 실행됩니다. 활성 세션을 확인하거나 사용자 권한을 검사하기에 적합한 장소입니다.
  • 렌더링 전(): 이 함수는 컨트롤러 작업 논리 이후, 뷰가 렌더링되기 전에 호출됩니다. 이 함수는 자주 사용되지는 않지만 주어진 작업이 끝나기 전에 render()를 수동으로 호출하는 경우 필요할 수 있습니다.
  • 애프터필터(): 이 함수는 모든 컨트롤러 작업과 렌더링이 완료된 후에 호출됩니다. 실행할 마지막 컨트롤러 메서드입니다.

9) MVC에서 표현, 추상화, 제어 구성 요소의 역할은 무엇입니까?

MVC에서 프레젠테이션, 추상화 및 제어 구성요소의 역할은 다음과 같습니다.

  • 프레젠테이션: 애플리케이션 내의 특정 추상화를 시각적으로 표현한 것입니다.
  • 추출: 애플리케이션 내의 비즈니스 도메인 기능입니다.
  • 제어: 시스템 내의 다른 컨트롤과 통신하는 것 외에도 시스템 내의 추상화와 사용자에게 표시되는 내용 간의 일관성을 유지하는 구성 요소입니다.

10) MVC 모델의 단점은 무엇입니까?

MVC 모델의 몇 가지 중요한 단점은 다음과 같습니다.

  • 모델 패턴은 약간 복잡합니다.
  • 데이터 접근의 비효율성이 보입니다.
  • 최신 사용자 인터페이스로는 MVC를 사용하기가 어렵습니다.
  • 병렬 개발을 위해서는 여러 명의 프로그래머가 필요합니다.
  • 다양한 기술 지식이 필요합니다.

11) MVC에서 "ActionFilters"의 역할은 무엇입니까?

MVC에서 "ActionFilters"는 MVC 작업이 실행되거나 실행되는 동안 논리를 실행하는 데 도움이 됩니다.


12) MVC 프로젝트 실행 단계는 무엇입니까?

MVC 프로젝트 실행 단계는 다음과 같습니다.

  • 첫 번째 신청 요청을 받습니다
  • 라우팅 수행
  • MVC 요청 핸들러 만들기
  • 컨트롤러 생성
  • 컨트롤러 실행
  • 작업 호출
  • 실행 결과

13) 라우팅과 XNUMX세그먼트란 무엇인가요?

라우팅은 URL 구조를 결정하고 URL을 컨트롤러와 매핑하는 데 도움이 됩니다.

라우팅에 중요한 세 가지 세그먼트는 다음과 같습니다.

  • 컨트롤러 이름
  • 작업 방법 이름
  • 매개 변수

14) MVC 패턴에서는 라우팅이 어떻게 이루어지나요?

애플리케이션에 등록된 경로로 구성된 RouteCollection이라는 경로 그룹이 있습니다. RegisterRoutes 메서드는 이 컬렉션의 경로를 기록합니다. 경로는 요청이 패턴과 일치하는 경우 사용할 URL 패턴과 핸들러를 정의합니다.

MapRoute 메소드의 첫 번째 매개변수는 경로의 이름입니다. 두 번째 매개변수는 URL이 일치하는 패턴이 됩니다. 세 번째 매개 변수가 결정되지 않은 경우 자리 표시자의 기본값이 될 수 있습니다.


15) 하이퍼링크를 사용하여 한 보기에서 다른 보기로 어떻게 이동할 수 있습니까?

아래 코드와 같이 “ActionLink” 메소드를 사용합니다. 아래 코드는 "Home" 컨트롤러로 이동하고 "GotoHome" 작업을 호출하는 데 도움이 되는 간단한 URL을 만듭니다.

축소/코드 복사

<%= Html.ActionLink("Home", "Gotohome") %>

경험자를 위한 MVC 인터뷰 질문 및 답변

16) MVC에서는 세션이 어떻게 유지되나요?

세션은 tempdata, viewdata 및 viewbag의 세 가지 방법으로 MVC에서 유지 관리될 수 있습니다.


17) 온도 데이터, 데이터 보기, 가방 보기의 차이점은 무엇인가요?

  • 임시 데이터: 한 컨트롤러에서 다른 컨트롤러로 전환할 때 데이터를 유지하는 데 도움이 됩니다.
  • 데이터 보기: 컨트롤러에서 뷰로 이동할 때 데이터를 유지하는 데 도움이 됩니다.
  • 가방 보기: 뷰 데이터를 둘러싼 동적 래퍼입니다.

18) MVC의 부분 뷰란 무엇입니까?

MVC의 부분 보기는 보기 콘텐츠의 일부를 렌더링합니다. 코드 중복을 줄이는 데 도움이 됩니다. 간단히 말해서 부분 보기를 사용하면 상위 보기 내에서 보기를 렌더링할 수 있습니다.


19) MVC에서 Ajax를 어떻게 구현할 수 있나요?

MVC에서 Ajax는 두 가지 방법으로 구현될 수 있습니다.

  • Ajax 라이브러리
  • jquery

20) "ActionResult"와 "ViewResult"의 차이점은 무엇입니까?

"ActionResult"는 추상 클래스이고 "ViewResult"는 "AbstractResult" 클래스에서 파생됩니다. "ActionResult"에는 "JsonResult", "FileStreamResult" 및 "ViewResult"와 같은 여러 파생 클래스가 있습니다.

다양한 유형의 뷰를 동적으로 파생하는 경우 "ActionResult"가 가장 좋습니다.


21) MVC에서 JSON 형식으로 결과를 어떻게 다시 보낼 수 있나요?

MVC에서 결과를 JSON 형식으로 다시 보내려면 "JSONRESULT" 클래스를 사용할 수 있습니다.


22) 보기와 부분 보기의 차이점은 무엇입니까?

보기와 부분 보기의 차이점은 다음과 같습니다.

관측 부분보기
레이아웃 페이지가 포함되어 있습니다. 레이아웃 페이지가 포함되어 있지 않습니다.
뷰가 렌더링되기 전에 viewstart 페이지가 렌더링됩니다. 부분 보기에서는 viewstart.cshtml을 확인하지 않습니다. viewStart.cshtml.page 내에 부분 보기에 대한 공통 코드를 넣을 수 없습니다.
보기에는 본문, HTML, 머리글, 제목, 메타 등과 같은 마크업 태그가 있을 수 있습니다. 부분 뷰는 뷰 내에서 렌더링되도록 특별히 설계되었으며, 그렇기 때문에 어떠한 마크업도 구성되지 않습니다.
뷰는 부분 뷰에 비해 가볍지 않습니다. RenderPartial 메소드에 일반 뷰를 전달할 수 있습니다.

23) MVC의 결과 유형은 무엇입니까?

MVC에는 "ActionResult" 클래스가 기본 클래스이고 11개가 하위 유형인 결과 유형이 XNUMX개 있습니다.

  • 결과 보기
  • 부분 보기결과
  • 빈결과
  • 리디렉션결과
  • 경로 결과로 리디렉션
  • JSON 결과
  • Java스크립트 결과
  • 내용결과
  • 파일콘텐츠결과
  • 파일스트림결과
  • 파일경로결과

24) NonActionAttribute의 중요성은 무엇입니까?

컨트롤러 클래스의 모든 공용 메서드는 작업 메서드로 처리됩니다. 이 기본 메서드를 방지하려면 NonActionAttribute를 사용하여 공용 메서드를 할당해야 합니다.


25) 기본 경로 {resource}.axd/{*pathinfo}의 용도는 무엇입니까?

기본 경로는 Webresource.axd 또는 ScriptResource.axd와 같은 웹 리소스 파일에 대한 요청이 컨트롤러로 전달되는 것을 방지합니다.


26) 여러 필터가 구현된 경우 필터가 실행되는 순서는 무엇입니까?

필터 순서는 다음과 같습니다.

  • 인증 필터
  • 작업 필터
  • 응답 필터
  • 예외 필터

27) 최종적으로 어떤 ASP.NET 필터가 실행됩니까?

마지막으로 "예외 필터"가 실행됩니다.


28) Razor View의 파일 확장자는 무엇입니까?

면도기 보기의 경우 파일 확장자는 다음과 같습니다.

  • .cshtml: C#이 프로그래밍 언어인 경우
  • .vbhtml: VB가 프로그래밍 언어인 경우

29) 경로에 제약 조건을 추가하는 두 가지 방법은 무엇입니까?

경로에 제약 조건을 추가하는 두 가지 방법은 다음과 같습니다.

  • 정규식 사용
  • IRouteConstraint 인터페이스를 구현하는 객체 사용

30) 라우팅이 구현되지 않거나 필요하지 않은 두 가지 사례는 무엇입니까?

라우팅이 필요하지 않은 두 가지 인스턴스는 다음과 같습니다.

  • URL 패턴과 일치하는 실제 파일이 발견된 경우
  • URL 패턴에 대한 라우팅이 비활성화된 경우

5년 경력의 MVC 면접 질문

31) MVC의 특징은 무엇입니까?

MVC의 기능은 다음과 같습니다.

  • 쉽고 마찰 없는 테스트 가능성. 테스트 가능성이 높고 확장 가능하며 플러그 가능한 프레임워크입니다.
  • HTML과 URL을 완벽하게 제어할 수 있습니다.
  • ASP.NET, JSP, Django 등이 제공하는 기존 기능을 활용합니다.
  • 로직의 명확한 분리: 모델, 뷰, 컨트롤러. 비즈니스 로직, Ul 로직, 입력 로직을 통해 애플리케이션 작업을 분리합니다.
  • SEO 친화적인 URL을 위한 URL 라우팅. 이해 가능하고 검색 가능한 URL을 위한 강력한 URL 매핑입니다.
  • 테스트 주도 개발(TDD) 지원.

32) MVC의 실제 사례는 무엇입니까?

다음은 MVC의 실제 예입니다.

  • 당신이 레스토랑에 갔다고 가정해보자. 당신은 부엌에 가서 집에서 확실히 할 수 있는 음식을 준비하지 않을 것입니다. 대신, 거기 가서 웨이터가 올 때까지 기다리세요.
  • 이제 웨이터가 와서 음식을 주문하면 됩니다. 웨이터는 당신이 누구인지, 당신이 무엇을 원하는지 알지 못합니다. 그는 단지 음식 주문의 세부 사항을 적어 놓았을 뿐입니다.
  • 그런 다음 웨이터가 주방으로 이동합니다. 주방에서는 웨이터가 음식을 준비하지 않습니다.
  • 요리사가 음식을 준비합니다. 웨이터에게 주문과 테이블 번호가 전달됩니다.
  • 요리사는 당신을 위해 음식을 준비합니다. 그는 재료를 사용하여 음식을 요리합니다. 당신이 야채 샌드위치를 ​​주문했다고 가정해 봅시다. 그러면 그는 빵, 토마토, 감자, 고추, 양파, 비트, 치즈 등을 필요로 하는데, 냉장고에서 공급합니다.
  • Cook은 마침내 음식을 웨이터에게 건네줍니다. 이제 이 음식을 주방 밖으로 옮기는 것이 웨이터의 몫입니다.
  • 이제 웨이터는 귀하가 주문한 음식과 그것이 어떻게 제공되는지 알고 있습니다.

이 경우,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

33) 3티어와 XNUMX티어의 차이점은 무엇인가요? Archi강의와 MVC Archi강의?

3티어의 차이점은 다음과 같습니다. Archi강의와 MVC Archi강의:

매개 변수 3-Tier Archi강의 MVC Archi강의
의사 소통 이러한 유형의 아키텍처 패턴은 데이터 계층과 직접 통신하지 않습니다. 모든 레이어는 삼각형 토폴로지를 사용하여 직접 통신합니다.
용법 3계층: 클라이언트, 데이터 계층 및 미들웨어가 물리적으로 분리된 플랫폼에서 실행되는 웹 애플리케이션에 널리 사용됩니다. 일반적으로 단일 그래픽 워크스테이션에서 실행되는 응용 프로그램에 사용됩니다.

34) JSP에서 MVC 아키텍처를 어떻게 사용할 수 있나요?

다음 예제는 JSP에서 MVC 아키텍처를 사용하는 방법을 보여줍니다.

  • 우리는 "이메일"과 "비밀번호"라는 두 개의 변수가 있는 양식의 예를 들고 있는데, 이것이 뷰 계층입니다.
  • 사용자가 이메일과 비밀번호를 입력하고 제출을 클릭하면, 이메일과 비밀번호가 전달되는 mvc_servlet에 작업이 전달됩니다.
  • 이 mvc_servlet은 컨트롤러 계층입니다. 여기 mvc_servlet에서 요청은 모델 계층 역할을 하는 Bean 객체로 전송됩니다.
  • 이메일과 비밀번호 값은 빈에 설정되어 추후 활용 목적으로 저장됩니다.
  • Bean에서 값을 가져와 뷰 레이어에 표시합니다.

Mvc_example.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MVC Guru Example</title>
</head>
<body>
<form action="Mvc_servlet" method="POST">
Email: <input type="text" name="email">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Mvc_servlet.java

package demotest;
  
import java.io.IOException;
  
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
/**
 * Servlet implementation class Mvc_servlet
 */
public class Mvc_servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
        
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Mvc_servlet() {
        super();
        // TODO Auto-generated constructor stub
    }
  
  
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String email=request.getParameter("email");  
        String password=request.getParameter("password");
         
        TestBean testobj = new TestBean();
        testobj.setEmail(email);
        testobj.setPassword(password);
        request.setAttribute("gurubean",testobj);
        RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp");  
        rd.forward(request, response); 
    }
  
}

TestBean.java

package demotest;
  
import java.io.Serializable;
  
public class TestBean implements Serializable{
    
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    private String email="null";
    private String password="null";
}

Mvc_success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="demotest.TestBean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success</title>
</head>
<body>
<%  
TestBean testguru=(TestBean)request.getAttribute("gurubean");  
out.print("Welcome, "+testguru.getEmail());  
%>
</body>
</html>

35) Spring에서 MVC는 어떻게 작동하나요?

Spring에서 MVC가 작동하는 방식은 다음과 같습니다.

  • DispatcherServlet이 요청을 받습니다.
  • 그 후 DispatcherServlet은 HandlerMapping과 통신합니다. 또한 해당 특정 요청과 관련된 컨트롤러를 취소합니다.
  • 컨트롤러는 서비스 메소드를 호출하여 이 요청을 처리하고 ModelAndView 객체는 DispatcherServlet에 의해 반환됩니다.
  • 호출할 실제 뷰를 찾기 위해 뷰 이름이 ViewResolver로 전송됩니다.
  • 그 후 DispatcherServlet이 View로 전달되어 결과를 렌더링합니다.
  • 뷰는 모델 데이터를 사용하여 결과를 렌더링하고 사용자에게 다시 보냅니다.

36) MVC 애플리케이션을 만들 때 기억해야 할 중요한 사항은 무엇입니까?

MVC 애플리케이션을 생성하는 동안 기억해야 할 몇 가지 중요한 사항은 다음과 같습니다.

  • ASP.net MVC는 ASP.Net 웹 양식 기반 응용 프로그램을 대체하지 않는다는 점을 기억해야 합니다.
  • MVC 앱 개발 접근 방식은 특정 개발 요구 사항에 맞게 ASP.net MVC에서 제공하는 응용 프로그램 요구 사항과 기능을 기반으로 결정되어야 합니다.
  • ASP.NET MVC를 사용한 애플리케이션 개발 프로세스는 웹 폼 기반 애플리케이션에 비해 더 복잡합니다.
  • 애플리케이션 작업이 분리되면 애플리케이션 유지 관리 가능성이 항상 높아집니다.

37) 웹 양식과 MVC의 차이점은 무엇입니까?

Web Forms와 MVC의 차이점은 다음과 같습니다.

파라미터 웹 양식 MVC
모델 Asp.Net Web Forms는 이벤트 중심 개발 모델을 따릅니다. Asp.Net MVC는 MVC 패턴 기반 개발 모델을 사용합니다.
이후 사용 2002년부터 존재해왔어 2009년에 처음 출시된
보기 상태 지원 Asp.Net Web Forms는 클라이언트 측의 상태 관리를 위한 보기 상태를 지원합니다. .Net MVC는 보기 상태를 지원하지 않습니다.
URL 유형 Asp.Net Web Forms에는 파일 기반 URL이 있습니다. 이는 파일 이름이 URL에 존재하며 물리적으로 존재해야 함을 의미합니다. Asp.Net MVC에는 URL이 컨트롤러 및 작업으로 리디렉션됨을 의미하는 경로 기반 URL이 있습니다.
통사론 Asp.Net MVC는 Web Forms 구문을 따릅니다. Asp.Net MVC는 사용자 정의 가능한 구문을 따릅니다.
보기 유형 Web Forms 보기는 코드 숨김(ASPX-CS), 즉 논리와 긴밀하게 결합되어 있습니다. MVC 뷰와 로직은 항상 별도로 유지됩니다.
일관된 모양과 느낌 일관된 모양을 위한 마스터 페이지가 있습니다. Asp.Net MVC에는 일관된 모양을 위한 레이아웃이 있습니다.
코드 재사용성 Web Forms는 코드 재사용을 위한 사용자 컨트롤을 제공합니다. Asp.Net MVC는 코드 재사용성을 위한 부분 보기를 제공합니다.
HTML 제어 Less 렌더링된 HTML을 제어합니다. HTML에 대한 모든 권한
상태 관리 제어의 자동 상태 관리. 수동 상태 관리.
TDD 지원 약한 TDD 또는 사용자 정의 TDD가 필요합니다. TDD를 장려하고 포함합니다!

38) CodeIgniter에서 무언가를 어떻게 표시할 수 있나요?

다음은 CodeIgniter에 무언가를 표시하는 코드입니다.

<?=$title?>
As opposed to
<?php
echo $title;
?>
Control structures are usually written as follows
<?php foreach ($customers as $customer): ?>
<li>
<p><?=$customer->first_name?><p>
</li>
<?php endforeach; ?>

39) CodeIgniter의 모델, 뷰 및 컨트롤러를 시연하는 코드를 작성합니다.

다음은 CodeIgniter의 모델, 뷰 및 컨트롤러를 보여주는 코드입니다.

애플리케이션/컨트롤러에 있는 Welcome.php 컨트롤러 파일을 엽니다.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index()
    {
        $this->load->view('welcome_message');
    }
}

다음과 같이 색인을 업데이트합니다.

public function index()
    {
            $this->load->model('customers_model');

            $data['customer'] = $this->customers_model->get_customer(3);

            $this->load->view('welcome_message',$data);
    }

application/models에 있는 customer_model.php에 다음 코드를 작성하세요.

<?php
class Customers_model extends CI_Model {
    public function get_customer($id) {
        $data['id'] = 3;
        $data['first_name'] = 'John';
        $data['last_name'] = 'Doe';
        $data['address'] = 'Kingstone';

        return $data;
    }
}

다음 위치에 있는welcome_message.php를 엽니다.

application/views/welcome_message.php

다음 코드로 코드를 바꾸세요.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>CodeIgniter MVC Basics</title>
</head>
<body>
    <h3>Customer Details Card</h3>

    <p>Customer ID : <strong><?=$customer['id']?></strong></p>
    <p>First Name  : <strong><?=$customer['first_name']?></strong></p>
    <p>Last Name   : <strong><?=$customer['last_name']?></strong></p>
    <p>Address     : <strong><?=$customer['address']?></strong></p>
</body>
</html>

40) 웹 양식과 MVC를 모두 사용하여 웹 애플리케이션을 만들 수 있습니까?

네. 하이브리드 애플리케이션을 만들려면 웹 폼 애플리케이션에 아래 MVC 어셈블리 참조를 포함해야 합니다.

System.Web.Mvc
System.Web.Razor
System.ComponentModel.DataAnnotations

41) ASP.NET 웹 API 작업에 대한 별칭 이름을 어떻게 할당할 수 있습니까?

다음과 같이 “ActionName” 속성을 사용하여 ASP.NET MVC의 경우와 동일하게 Web API 작업에 별칭 이름을 지정할 수 있습니다.

[HttpPost]

[ActionName("SaveStudentInfo")]

public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}

42) MVC와 WebAPI의 주요 차이점은 무엇입니까?

MVC와 WebAPI의 주요 차이점은 다음과 같습니다.

MVC 프레임워크는 사용자 인터페이스가 있는 애플리케이션을 개발하는 데 사용됩니다. 이를 위해 뷰를 사용하여 사용자 인터페이스를 구축할 수 있습니다.

WebAPI는 HTTP 서비스 개발에 사용됩니다. 해당 데이터를 가져오기 위해 다른 앱을 WebAPI 메서드라고 부를 수도 있습니다.


43) Web API가 JSON 데이터만 반환하도록 어떻게 보장할 수 있나요?

Web API가 반환 객체를 JSON 형식으로 직렬화하고 JSON 데이터만 반환하도록 하려면 MVC Web API 프로젝트의 WebApiConfig.cs 클래스에 다음 코드를 추가해야 합니다.

//JsonFormatter

//MediaTypeHeaderValue

Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));

1
2
3

//JsonFormatter

//MediaTypeHeaderValue

Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))

44) MVVM과 MVC의 차이점은 무엇입니까?

MVVM과 MVC의 중요한 차이점은 다음과 같습니다.

MVC MVVM
컨트롤러는 애플리케이션의 진입점입니다. 뷰는 애플리케이션의 진입점입니다.
컨트롤러와 뷰 사이의 일대다 관계. 뷰와 뷰 모델 간의 일대다 관계.
보기에 컨트롤러에 대한 참조가 없습니다. View에는 View-Model에 대한 참조가 있습니다.
MVC는 구형 모델입니다. MVVM은 비교적 새로운 모델입니다.
이 모델을 읽고, 변경하고, 단위 테스트하고, 재사용하기가 어렵습니다. 데이터 바인딩이 복잡하면 디버깅 프로세스가 더 복잡해집니다.
MVC 모델 구성 요소는 사용자와 별도로 테스트할 수 있습니다. 별도의 단위 테스트가 용이하며 코드는 이벤트 중심입니다.

45) AngularJS의 MVC란 무엇입니까?

Angular.js는 MVC 아키텍처를 따르며, MVC 프레임워크의 다이어그램은 아래와 같습니다.

  • 컨트롤러는 비즈니스 로직이 포함된 레이어를 나타냅니다. 사용자 이벤트는 컨트롤러 내부에 저장된 기능을 트리거합니다. 사용자 이벤트는 컨트롤러의 일부입니다.
  • 뷰는 최종 사용자에게 제공되는 프리젠테이션 계층을 나타내는 데 사용됩니다.
  • 모델은 데이터를 표현하는 데 사용됩니다. 모델의 데이터는 기본 선언만 있는 것처럼 간단할 수 있습니다. 예를 들어, 학생 애플리케이션을 유지 관리하는 경우 데이터 모델은 학생 ID와 이름만 있을 수 있습니다. 또는 구조화된 데이터 모델을 사용하여 복잡할 수도 있습니다. 자동차 소유 애플리케이션을 유지 관리하는 경우 엔진 용량, 좌석 수 등의 측면에서 차량 자체를 정의하는 구조를 가질 수 있습니다.

46) AngularJS에서 MVC의 역할은 무엇입니까?

다음은 AngularJS Controller의 동작에 대한 간단한 정의입니다.

  • 컨트롤러의 주요 임무는 뷰에 전달되는 데이터를 제어하는 ​​것입니다. 범위와 보기에는 양방향 통신이 있습니다.
  • 뷰의 속성은 범위에서 "함수"를 호출할 수 있습니다. 게다가 뷰의 이벤트는 범위의 "메서드"를 호출할 수 있습니다. 아래 코드 조각은 함수의 간단한 예를 제공합니다.
    • 컨트롤러를 정의할 때 정의하는 함수($scope)와 $scope.firstName과 $scope.lastName을 연결하여 반환하는 데 사용되는 내부 함수입니다.
    • AngularJS에서는 함수를 변수로 정의하는 것을 메서드(Method)라고 합니다.

  • 이러한 방식으로 데이터는 컨트롤러에서 범위로 전달되고, 그런 다음 데이터는 범위에서 뷰로 앞뒤로 전달됩니다.
  • 범위는 모델을 뷰에 노출하는 데 사용됩니다. 모델은 범위에 정의된 메서드를 통해 수정될 수 있으며, 이는 뷰의 이벤트를 통해 트리거될 수 있습니다. 범위에서 모델로의 양방향 모델 바인딩을 정의할 수 있습니다.
  • 컨트롤러는 이상적으로는 DOM을 조작하는 데 사용되어서는 안 됩니다. 이는 나중에 볼 지시문으로 수행해야 합니다.
  • 가장 좋은 방법은 기능을 기반으로 컨트롤러를 구성하는 것입니다. 예를 들어, 입력을 위한 양식이 있고 이를 위한 컨트롤러가 필요한 경우 "양식 컨트롤러"라는 컨트롤러를 만듭니다.

47) AngularJS에서 기본 컨트롤러를 구축하는 방법

아래 코드 조각은 "이벤트 등록"이라는 제목이 있고 다음과 같은 중요한 라이브러리에 대한 참조가 있는 간단한 HTML 페이지입니다. Bootstrap, jquery 및 Angular.

  1. 부트스트랩 라이브러리와 함께 사용될 부트스트랩 CSS 스타일시트에 대한 참조를 추가하고 있습니다.
  2. 우리는 AngularJS 라이브러리에 대한 참조를 추가하고 있습니다. 이제 앞으로 angle.js를 사용하여 수행하는 모든 작업은 이 라이브러리에서 참조됩니다.
  3. 특정 컨트롤에 대한 웹페이지의 반응성을 높이기 위해 부트스트랩 라이브러리에 대한 참조를 추가하고 있습니다.
  4. DOM 조작에 사용될 jquery 라이브러리에 대한 참조를 추가했습니다. Angular의 일부 기능이 이 라이브러리에 의존하기 때문에 이는 Angular에 필요합니다.

기본적으로 위의 코드 조각은 모든 예제에 표시되므로 후속 섹션에서 특정 angleJS 코드만 표시할 수 있습니다.

두 번째로, 강좌에서 시작할 파일과 파일 구조를 살펴보겠습니다.

  1. 먼저, 기존 웹 애플리케이션에서와 마찬가지로 파일을 2개의 폴더로 분리합니다. "CSS" 폴더가 있습니다. 여기에는 모든 계단식 스타일 시트 파일이 포함되며, "lib" 폴더도 있습니다. Java스크립트 파일.
  2. bootstrap.css 파일은 CSS 폴더에 있으며, 웹 사이트에 좋은 모양과 느낌을 추가하는 데 사용됩니다.
  3. angle.js는 angleJS 사이트에서 다운로드하여 lib 폴더에 보관된 기본 파일입니다.
  4. app.js 파일에는 컨트롤러에 대한 코드가 포함됩니다.
  5. bootstrap.js 파일은 웹 애플리케이션에 부트스트랩 기능을 추가하기 위해 bootstrap.cs 파일을 보완하는 데 사용됩니다.
  6. jquery 파일은 우리 사이트에 DOM 조작 기능을 추가하는 데 사용됩니다.

Angle.js 사용 예:

여기서 우리가 하려는 것은 브라우저에서 페이지를 볼 때 텍스트 형식과 텍스트 상자에 "AngularJS"라는 단어를 표시하는 것입니다.

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<div ng-app="DemoApp" ng-controller="DemoController">

    Tutorial Name : <input type="text" ng-model="tutorialName"><br>

    This tutorial is {{tutorialName}}
</div>
<script>
    var app = angular.module('DemoApp',[]);

    app.controller('DemoController', function($scope){
    $scope.tutorialName = "Angular JS";
    });
</script>

</body>
</html>

48) AngularJS의 외부 파일에서 ng-controller를 사용하는 방법은 무엇입니까?

AngularJS의 외부 파일에서 ng-controller를 사용하려면 다음 단계를 수행하세요.

단계 1) app.js 파일에서 컨트롤러에 대한 다음 코드를 추가합니다.

angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
    $scope.message = "Hello World"
});

단계 2) 이제 Sample.html 파일에서 ng-controller 지시문을 포함할 div 클래스를 추가한 다음 멤버 변수 "message"에 대한 참조를 추가합니다.

<!DOCTYPE html>
<html ng-app="app">
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<div class="container">
    <div ng-controller="HelloWorldCtrl">{{message}}</div>
</div>

<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<script src="app.js"></script>

</body>
</html>

49) AngularJS 컨트롤러에서 메소드를 정의하는 코드를 작성하시겠습니까?

다음은 AngularJS 컨트롤러에서 메서드를 정의하는 코드입니다.

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body ng-app="DemoApp">
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<div ng-app="DemoApp" ng-controller="DemoController">
    Tutorial Name :<input type="text" ng-model="tutorialName"><br>
    <br>
    This tutorial is {{tutorialName}}    
</div>

<script>
var app = angular.module('DemoApp', []);
app.controller('DemoController', function($scope) {
    $scope.tutorialName = "Angular JS";
    $scope.tName = function() {
        return $scope.tName;
    };
});
</script>    
</body>
</html>

50) AngularJS에서 여러 줄 입력 제어를 표시하는 ng-model을 사용하여 코드를 작성합니다.

다음은 AngularJS에서 여러 줄 입력 제어를 표시하기 위해 ng-model을 사용하는 코드입니다.

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body >
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>

<div ng-app="DemoApp" ng-controller="DemoCtrl">
    <form>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
    <textarea rows="4" cols="50" ng-model="pDescription"></textarea><br><br> 
    </form>
</div>

<script>
    var app = angular.module('DemoApp',[]);
    app.controller('DemoCtrl', function($scope){
        $scope.pDescription="This topic looks at how Angular JS works \nModels in Angular JS"});
</script>

</body>
</html>

51) 입력 요소의 사용을 보여주는 코드를 작성하세요.

다음은 AngulaJS 입력 요소를 사용하는 코드 예제입니다.

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
    <script src="https://code.angularjs.org/1.6.9/angular.js"></script>
</head>
<body >
<h3> Guru99 Global Event</h3>

<div ng-app="DemoApp" ng-controller="DemoCtrl">
    <form>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
         
        Name : <input type="text" ng-model="pname"><br>
        &nbsp;&nbsp;&nbsp;
        Topic : <br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Controller">Controller<br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Models">Models
    </form>
    </div>

<script>
    var app = angular.module('DemoApp',[]);
    app.controller('DemoCtrl', function($scope){
        $scope.pname="Guru99";
         
        $scope.Topic =
        {
            Controller:true,
            Models:false
        };     });
</script>

</body>
</html>

52) PHP에서 어떻게 모델을 만들 수 있나요?

다음은 PHP에서 모델을 생성하는 코드입니다.

<?php 
class Opinion_poll_model extends CI_Model 
{ 
    public function __construct() 
    { 
        $this->load->database(); 
    } 

    public function total_votes() 
    { 
        $query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');
        return $query->row()->choices_count; 
    } 

    public function get_results() 
    { 
        $libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow"); 
        $table_rows = ''; 

        for ($i = 1; $i < 5; $i++) 
        {
             $sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;"; 
             $result = $model->

             select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>"; 
        } 
        public function add_vote($choice) 
        { 
            $ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data); 
        } 
   } 
?>

53) PHP MVC 프레임워크를 사용하는 이유는 무엇입니까?

PHP MVC 프레임워크를 사용해야 하는 이유는 다음과 같은 이유로 복잡한 기술을 사용한 작업이 간소화되기 때문입니다.

  • 모든 복잡한 구현 세부 사항 숨기기
  • 애플리케이션을 구축하는 데 사용할 수 있는 표준 방법을 제공합니다.
  • 개발자 생산성 향상은 데이터베이스 연결, 사용자 입력 삭제 등과 같은 활동의 기본 구현이 이미 부분적으로 구현되었기 때문입니다.
  • 전문적인 코딩 표준 준수

54) 널리 사용되는 PHP MVC 프레임워크는 무엇입니까?

다음은 널리 사용되는 PHP MVC 프레임워크입니다.

코드이그나이터: 가장 널리 사용되는 PHP MVC 프레임워크 중 하나입니다. 가볍고 학습 곡선이 짧습니다. 여기에는 웹사이트와 애플리케이션을 신속하게 구축하는 데 도움이 되는 풍부한 라이브러리 세트가 있습니다. OOP 프로그래밍에 대한 지식이 부족한 사용자도 사용할 수 있습니다.

코하나: 안전하고 가벼운 프레임워크인 계층적 모델 뷰 컨트롤러 HMVC입니다. 애플리케이션을 빠르게 개발하기 위한 풍부한 구성 요소 세트가 있습니다.

케이크PHP: Ruby on rails를 모델로 했습니다. 소프트웨어 디자인 패턴, 구성보다 컨벤션, ActiveRecord 등의 개념으로 유명합니다.

젠드: 이는 강력한 프레임워크입니다.

  • 안전하고 안정적이며 빠르고 확장 가능합니다.
  • Web 2.0 및 웹 서비스 생성을 지원합니다.

다음과 같은 공급업체의 API를 제공합니다. Amazon, 구글, Flickr, Yahoo 등 비즈니스 애플리케이션 개발에 이상적입니다.


55) PHP에서 어떻게 뷰를 만들 수 있나요?

다음은 PHP에서 뷰를 생성하는 코드입니다:

opinion_poll_form.php 
<html>
<head>
    <title>
        JavaScript Libraries - Opinion Poll
    </title>
</head>

<body>
    <h3>JavaScript Libraries - Opinion Poll</h3>
    <p><b>What is your favorite JavaScript Library? </b></p>
    <form method="POST" action="index.php">
        <p>
            <input type="radio" name="vote" value="1" /> JQuery
            <br />
            <input type="radio" name="vote" value="2" /> MooTools
            <br />
            <input type="radio" name="vote" value="3" /> YUI Library
            <br />
            <input type="radio" name="vote" value="4" /> Glow </p>
        <p>
            <input type="submit" name="submitbutton" value="OK" />
        </p>
    </form>
</body>
</html>

이제 결과 페이지를 만들어 보겠습니다. results.php

<html>
    <head>
        <title>JavaScript Libraries - Opinion Poll Results</title>
    </head>
    <body>

        <h3>JavaScript Libraries - Opinion Poll Results</h3>

        <p><b>What is your favorite JavaScript Library?</b></p>

        <p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p>

        <p><table><tr><td>

            <?php print($rows); ?>

        </tr></td></table></p>

        <p><a href="#">Return to voting page</a></p>
</body>
</html>

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.