본문 바로가기

Developer/기술면접

개발 상식

객체 지향 프로그래밍 (OOP)


객체 지향 프로그래밍 ( Object-oriented programming )은 기능과 논리가 아닌 데이터 또는 객체를 중심으로 소프트웨어 설계를 구성하는 컴퓨터 프로그래밍 모델입니다 . 개체는 고유 한 속성과 동작이있는 데이터 필드로 정의 할 수 있습니다.

OOP는 객체를 조작하는 데 필요한 로직보다는 개발자가 조작하려는 객체에 중점을 둡니다. 프로그래밍에 대한 이러한 접근 방식 은 크고 복잡하며 활발하게 업데이트 또는 유지 되는 프로그램에 적합합니다 .


RESTful API (REST API)


RESTful API는 HTTP 요청을 사용하여 데이터를 GET, PUT, POST 및 DELETE 하는 응용 프로그램 인터페이스 ( API )입니다.

웹 사이트 용 API 는 두 소프트웨어 프로그램이 서로 통신 할 수 있도록하는 코드 입니다. API는 개발자가 운영 체제 또는 기타 애플리케이션에서 서비스를 요청하는 프로그램을 작성하는 적절한 방법을 설명합니다.

RESTful 웹 서비스 또는 REST API라고도하는 RESTful API 는 웹 서비스 개발 에 자주 사용되는 통신에 대한 아키텍처 스타일 및 접근 방식 인 표현 상태 전송 ( REST )을 기반으로 합니다. 


Test Driven Development (TDD)


테스트 주도 개발 (TDD) 은 매우 짧은 개발주기의 반복에 의존하는 소프트웨어 개발 프로세스입니다. 먼저 개발자는 원하는 개선 또는 새로운 기능을 정의하는 (초기에 실패한) 자동화 된 테스트 케이스를 작성한 다음 최소량을 생성합니다. 테스트를 통과하고 마지막으로 새 코드를 수용 가능한 표준으로 리팩토링합니다.


함수형 프로그래밍


함수형 프로그래밍 ( functional programming ) (종종 FP로 축약 됨)은 순수 함수 를 구성 하고 공유 상태, 변경 가능한 데이터 및 부작용을 피하여 소프트웨어를 구축하는 프로세스입니다 . 함수형 프로그래밍은 명령 적이기 보다는 선언적 이며 애플리케이션 상태는 순수한 함수를 통해 흐릅니다. 응용 프로그램 상태가 일반적으로 객체의 메서드와 공유되고 같은 위치에있는 객체 지향 프로그래밍과 대조됩니다.

 

MVC 패턴이란 무엇인가?


MVC는 Model, View 및 Controller를 나타냅니다. MVC는 응용 프로그램을 모델,보기 및 컨트롤러의 세 가지 구성 요소로 분리합니다.

Model : 모델은 데이터의 형태를 나타냅니다. C #의 클래스는 모델을 설명하는 데 사용됩니다. 모델 개체는 데이터베이스에서 검색된 데이터를 저장합니다. ( 모델은 데이터를 나타냅니다 )

View : MVCView는 사용자 인터페이스입니다. 사용자에게 디스플레이 모델 데이터를보고 수정할 수도 있습니다. ASP.NET MVC의보기는 HTML, CSS 및 모델 및 컨트롤러와 쉽게 통신 할 수있는 일부 특수 구문 (Razor 구문)입니다.      ( 보기는 사용자 인터페이스입니다 )

Controller : Controller가 사용자 요청을 처리합니다. 일반적으로 사용자는 뷰를 사용하고 컨트롤러에서 처리 할 HTTP 요청을 발생시킵니다. 컨트롤러는 요청을 처리하고 적절한보기를 응답으로 반환합니다. ( 컨트롤러는 요청 처리기입니다 )

 

 

MVT 패턴이란 무엇인가?

MVT는 Model-View-Template의 약자로 세 부분으로 다시 정의 된 유사한 디자인 패턴입니다.

모델,뷰는 위의 설명과 동일합니다.

템플릿 은 Django Template Library (DTL) (또는 Jinja2, 어느 쪽이든 적합하다고 생각하는)와 혼합 된 표준 HTML 파일로, 뷰에서 제공하는 데이터를 HTML 파일로 렌더링하는 데 도움이됩니다. 예를 들어 HTML로 렌더링하려는 과일 목록이있는 경우 for 루프를 사용하여 각 <li> 구성 요소를 렌더링합니다. DTL을 사용하면이 작업을 쉽게 수행 할 수 있습니다.

MVT는 MVC와 같은 전통적인 디자인 아키텍처가 아니며 실제로 Django는 대부분의 세부 정보를 숨 깁니다! MVT는 Django 자체의 추상화 계층 아래에 ​​숨겨져있는 MVC이므로 관련 작업을 수행하고 각 작업에 대해 긴 컨트롤러를 정의하는 데 시간을 낭비하지 않습니다.

사용자가 서버에 HTTP 요청을하면 MVC는 컨트롤러를 호출하여 모델을 통해 뷰를 변경하거나 모델에 뷰를 반환하도록 요청합니다.

MVT에서 HTTP 요청은 필요한 데이터와 함께 관련 템플릿을 가져 오기 위해 뷰를 직접 호출합니다. 데이터는 템플릿 (DTL 사용)에 채워지고 사용자에게 반환됩니다.

또한 MVT에서는 MVC와 달리 데이터베이스에서 데이터를 가져와 URL에 매핑하는 특정 코드를 작성할 필요가 없습니다. 이러한 모든 활동은 프레임 워크 자체에서 처리되며, 어떤 모델을 표시 할 것인지 알려 주기만하면 나머지는 Django가 처리합니다.

MVT는 개발자가 사소한 내용을 작성하지 않고 중요한 부분에 집중할 수 있도록 MVC에 대한 추상화입니다.

'Developer > 기술면접' 카테고리의 다른 글

Front-end_면접질문 정리(2)  (0) 2021.06.04
Front-end_면접질문 정리(1)  (0) 2021.06.04
Front-End_면접준비  (0) 2021.06.04
JavaScript_기술면접  (0) 2021.06.04
CS_개발상식  (0) 2021.06.04