마이크로소프트 넷 프레임워크란? .NET Framework 기술의 기본 개념

안녕하세요. Alexey Gulynin이 연락했습니다. 지난 기사에서 우리는 C#에서 메소드에 인수를 전달하는 방법을 보았습니다. 이 기사에서 나는 다시 한 번 (간단한 말로) 무엇이 무엇인지 말하고 싶습니다. .넷 프레임 워크그리고 비주얼 스튜디오. 이 문서는 Visual Studio 설명 및 .Net Framework 문서의 연속입니다. .넷 프레임 워크 CLR(공용 언어 런타임 - 주요 구성 요소 .Net Framework), 관리 코드의 실행을 보장합니다. CLR은 이 코드를 관리합니다. 관리 코드란 무엇입니까? .NET Framework용으로 작성된 코드는 최종 기계 코드로 컴파일되지 않고 중간 언어(소위 중간 언어, IL)로 컴파일됩니다. 그런 다음 이 어셈블리가 사용자에게 전달되고(컴퓨터에 .Net Framework가 있어야 함) 메모리에 로드되고 IL 명령을 수행해야 하는 작업으로 변환합니다.

중간 언어 IL의 요점은 무엇입니까?

첫째, 특정 프로세서에 얽매이지 않고 플랫폼에 독립적입니다.

둘째, CLR이 존재하면 프로그램의 작동을 제어할 수 있습니다. 그녀가 용납할 수 없는 일(예: 기억 조작)을 하도록 허용하지 마십시오.

두 번째 중요한 구성 요소 CLR 이후 클래스 라이브러리... .NET Framework에는 모든 기본 기능을 제공하는 네임스페이스 클래스가 많이 포함되어 있습니다. 이것은 예를 들어 그래픽 하위 시스템과 함께 파일, 네트워크, 프로세스 작업과 같이 프로그램에 필요할 수 있는 기능입니다.

세 번째 구성 요소개발 프레임워크(즉, 개발 라이브러리)입니다. 여기에는 WPF(Windows Presentation Foundation), ASP.NET, Entity Framework, WCF(Windows Communication Foundation), Windows Store 등과 같은 라이브러리가 포함됩니다. 사실 이것들도 클래스입니다. 차이점은 이러한 클래스가 특정 문제를 해결하도록 설계되었다는 것입니다.

  • WPF - 그래픽 응용 프로그램 작업용
  • ASP.NET - 웹 애플리케이션 작업용
  • WCF - 네트워킹 및 분산(클라이언트-서버) 응용 프로그램 구축용
  • Entity Framework - 데이터베이스 작업용.

이 글을 쓰는 시점에서 최신 버전은 .Net Framework 4.6입니다.

Microsoft에서 권장하는 기본 개발 환경은 Visual Studio입니다. Microsoft는 일반적으로 .NET Framework의 새 버전이 나오면서 잠시 후 새 버전의 Visual Studio가 나옵니다. Visual Studio(기본)에 포함된 항목:

  1. 코드의 구문 강조 표시가 있는 텍스트 편집기
  2. IntelliSence 도움말 시스템(자동으로 호출되거나 Ctrl + Space(스페이스바)를 눌러 호출됨)
  3. 다른 언어의 컴파일러
  4. 신속한 애플리케이션 개발(RAD)
  5. 인터페이스, 다이어그램의 비주얼 디자이너
  6. 데이터베이스와 함께 서버 작업을 위한 구성 요소
  7. IIS 웹 서버 및 SQL 서버 Express 옵션
  8. 디버거, 프로파일러, 오류를 처리할 수 있는 구성 요소
  9. MSDN 도움말 시스템

이 글을 쓰는 시점에서 최신 버전은 Visual Studio 2015입니다.

Visual Studio에서 프로그램 개념이 작동하는 방식. 스튜디오는 "프로젝트"와 "솔루션"의 개념을 가지고 있습니다. 프로젝트는 컴파일 단위입니다. 파일 세트로 구성됩니다. 프로젝트는 일반적으로 어셈블리(exe 파일 또는 dll 파일)로 전체적으로 컴파일됩니다. 프로젝트를 솔루션으로 그룹화할 수 있습니다. 솔루션은 단순히 서로 관련이 있을 수도 있고 그렇지 않을 수도 있는 프로젝트의 모음입니다(일반적인 경우처럼).

.NET 애플리케이션 유형

C # 언어를 사용하여 콘솔 응용 프로그램, 즉 DOS 창에서 실행되는 텍스트 기반 응용 프로그램을 만들 수 있습니다. 대부분의 경우 이러한 응용 프로그램은 클래스 라이브러리를 테스트하는 데 사용됩니다. 그러나 훨씬 더 자주 C #을 사용하여 .NET과 관련된 많은 기술에 액세스할 수 있는 응용 프로그램을 만들어야 합니다. 이 기사에서는 C #으로 작성할 수 있는 다양한 유형의 애플리케이션에 대한 간략한 개요를 제공합니다.

ASP.NET 응용 프로그램 빌드

ASP.NET 1.0의 초기 출현은 웹 프로그래밍 모델을 근본적으로 변화시켰습니다. ASP.NET 4는 제품의 이전 릴리스이며 이전 개선 사항을 기반으로 합니다. ASP.NET 4는 생산성 향상을 위한 주요 혁신 단계를 소개합니다. ASP.NET 4의 주요 목표는 가능한 최소한의 코드로 강력하고 안전한 동적 응용 프로그램을 구축할 수 있도록 하는 것입니다.

ASP.NET 기능

첫 번째이자 아마도 가장 중요한 것은 페이지가 구조화된... 즉, 각 페이지는 실제로 다음에서 상속된 클래스입니다. .NET System.Web.UI.Page 클래스, Page 개체의 수명 주기 동안 호출된 메서드 집합을 재정의할 수 있습니다. (이러한 이벤트를 페이지별 이벤트 형제로 생각할 수 있습니다. OnApplication_Start그리고 세션 시작이는 클래식 ASP의 global.asax 파일에 있습니다.) 페이지의 기능은 특정 목적을 위해 이벤트 처리기로 분할될 수 있기 때문에 ASP.NET 페이지는 훨씬 더 이해하기 쉽습니다.

ASP.NET 페이지의 또 다른 좋은 점은 동일한 ASP.NET 페이지에서 사용하는 비즈니스 논리 및 데이터 액세스 구성 요소에 대해 코딩하는 것과 동일한 환경인 Visual Sludio 2010에서 페이지를 만들 수 있다는 것입니다. Visual Studio 2010 프로젝트 또는 솔루션에는 응용 프로그램과 관련된 모든 파일이 포함되어 있습니다. 게다가 클래식 ASP 페이지는 편집기에서 직접 디버깅할 수 있습니다. Visual InterDev가 있던 시절에는 디버깅을 가능하게 하기 위해 InterDev와 프로젝트의 웹 서버를 구체적으로 구성해야 하는 성가신 필요가 있었습니다.

명확성을 위해 ASP.NET 코드 숨김 도구를 사용하면 구조화된 접근 방식을 더욱 확장할 수 있습니다. ASP.NET을 사용하면 클래스에 있는 페이지의 서버 기능을 분리하고, 다른 페이지와 함께 해당 클래스를 DLL로 컴파일하고, 해당 DLL을 HTML 부분 아래의 디렉토리에 배치할 수 있습니다. 페이지 시작 부분에 있는 @Page 지시문은 이 파일을 클래스와 연결합니다. 브라우저가 페이지를 요청하면 웹 서버는 페이지의 클래스 파일에 있는 클래스에서 이벤트를 생성합니다.

마지막으로 언급해야 하는 ASP.NET 속성은 향상된 성능입니다. 클래식 ASP 페이지는 페이지에 액세스할 때마다 해석되는 반면 ASP.NET 페이지는 컴파일 후 웹 서버에 캐시됩니다. 이는 ASP.NET 페이지에 대한 모든 후속 요청이 첫 번째 요청보다 빠릅니다.

또한 ASP.NET을 사용하면 회사 네트워크에서 사용할 수 있는 브라우저에 양식을 표시하는 페이지를 쉽게 작성할 수 있습니다. 양식 지향 응용 프로그램에 대한 전통적인 관점은 풍부한 사용자 인터페이스를 제공하지만 많은 클라이언트 시스템에서 실행되기 때문에 유지 관리가 더 어렵다는 것입니다. 이러한 이유로 사람들은 풍부한 인터페이스가 필요하고 사용자에게 안정적인 지원을 제공할 수 있는 경우에만 양식 중심 애플리케이션에 의존합니다.

웹 양식

웹 페이지 디자인을 더욱 단순화하기 위해 Visual Studio 2010은 Web Forms 라이브러리를 제공합니다. 이 도구를 사용하면 Visual Basic 6 및 C ++ Builder에서 창을 만드는 것처럼 ASP.NET 페이지를 그래픽으로 만들 수 있습니다. 즉, 필요한 컨트롤을 도구 상자에서 폼의 표면으로 끌어온 다음 폼의 코드를 약간 조정하고 컨트롤에 대한 이벤트 핸들러를 작성해야 합니다. C #을 사용하여 웹 양식을 만들 때 기본 클래스에서 상속하는 C # 클래스를 만듭니다. 페이지, 그리고 이 클래스를 코드 숨김으로 렌더링하는 ASP.NET 페이지가 있습니다. 물론 웹 양식을 만들기 위해 C #을 사용할 필요는 없습니다. Visual Basic 2010 또는 다른 .NET 지향 언어를 사용하여 이를 수행할 수도 있습니다.

과거에는 웹 개발의 복잡성으로 인해 일부 개발 팀이 웹 개발을 마스터하지 못했습니다. 웹 애플리케이션 개발에 성공하려면 VBScript, ASP, DHTML, JavaScript 등과 같은 다양한 기술을 알아야 했습니다. Web Forms 개념을 웹 페이지에 적용하면 웹 응용 프로그램을 훨씬 쉽게 구축할 수 있습니다.

웹 서버 컨트롤

웹 양식에 사용되는 컨트롤은 ActiveX 컨트롤과 같은 의미에서 컨트롤이 아닙니다. 대신, 웹 브라우저가 페이지가 요청될 때 HTML 설명자와 클라이언트 측 스크립트로 동적으로 변환하는 ASP.NET 네임스페이스에 속하는 XML 설명자입니다. 놀랍게도 웹 서버는 동일한 서버 측 컨트롤을 다른 방식으로 렌더링하여 요청한 특정 웹 브라우저에 적합한 변환을 생성할 수 있습니다. 즉, 사용 가능한 모든 브라우저에서 페이지를 작동시키는 방법에 대해 걱정할 필요 없이 이제 웹 페이지를 위한 완벽한 사용자 인터페이스를 쉽게 만들 수 있습니다. Web Forms가 이를 처리합니다.

XML 웹 서비스

오늘날 HTML 페이지는 World Wide Web에서 트래픽의 대부분을 구성합니다. 그러나 XML을 사용하면 컴퓨터가 인터넷을 통해 통신하는 데 사용할 수 있는 장치 독립적 형식을 갖게 됩니다. 미래에 컴퓨터는 EDI(전자 데이터 교환)와 같은 독점 형식으로 전용 회선을 통해 서로 메시지를 보내는 대신 XML을 사용하여 정보를 교환할 수 있게 될 것입니다. XML Web Services는 원격 컴퓨터가 사용자에게 최종 프레젠테이션을 제공하기 전에 구문 분석하고 다시 형식화할 수 있는 동적 정보를 서로에게 제공하는 서비스 중심 웹 환경을 위해 설계되었습니다. XML Web Services는 컴퓨터가 XML 형식의 정보를 인터넷의 다른 컴퓨터에 제공할 수 있는 쉬운 방법입니다.

기술적인 측면에서 .NET XML Web Service는 클라이언트가 요청할 때 HTML 대신 XML을 반환하는 ASP.NET 페이지입니다. 이러한 페이지는 WebService에서 상속된 클래스를 포함하는 코드 숨김 DLL에 의존합니다. Visual Studio 2010 IDE는 웹 서비스를 쉽게 만들 수 있는 메커니즘을 제공합니다.

기업이나 조직은 두 가지 주요 이유로 XML Web Services를 선택할 수 있습니다. 첫 번째 이유는 HTTP 기반이기 때문입니다. 웹 서비스는 기존 HTTP 기반 네트워크를 중개자로 사용하여 정보를 전송할 수 있습니다. 또 다른 이유는 XML Web Services가 XML을 사용하기 때문에 전송된 데이터의 형식이 자체 문서화되고 개방적이며 플랫폼에 독립적이기 때문입니다.

Windows Forms 만들기

C # 및 .NET은 웹 개발을 위해 특별히 설계되었지만 여전히 소위 "팻" 클라이언트 응용 프로그램을 지원합니다. 대부분의 처리가 수행되는 최종 사용자의 컴퓨터에 설치해야 하는 응용 프로그램입니다. 이것은 Windows Forms 라이브러리에서 제공합니다.

그러나 .NET 프레임워크를 배우기 시작한다면 추천하지 않았다 Windows Forms를 배우고 최신 WPF 기술로 바로 이동하십시오.

WPF(윈도우 프레젠테이션 파운데이션)

최신 혁신 기술 중 하나는 WPF(Windows Presentation Foundation)입니다. WPF는 응용 프로그램을 빌드할 때 XAML을 사용합니다. XAML은 Extensible Application Markup Language - Extensible Application Markup Language의 약자입니다. 2006년에 처음 도입된 Microsoft 환경 내에서 응용 프로그램을 빌드하는 이 새로운 방법은 .NET Framework 3.0, 3.5 및 4의 일부입니다. 즉, WPF 응용 프로그램을 실행하려면 클라이언트 컴퓨터가 설치되어 있는지 확인해야 합니다. .NET Framework 3.0, 3.5 또는 4. WPF 응용 프로그램은 Windows 7, Windows Vista, Windows XP, Windows Server 2003 및 Windows Server 2008에서 사용할 수 있습니다(이러한 운영 체제에서만 .NET Framework 3.0, 3.5 또는 4).

XAML은 WPF 응용 프로그램의 모든 시각적 측면과 동작을 나타내는 양식을 만드는 데 사용되는 XML 선언입니다. 프로그래밍 방식으로 WPF 응용 프로그램을 사용할 수 있기 때문에 이 기술은 오늘날 전체 업계가 지향하는 선언적 프로그래밍을 향한 단계를 나타냅니다. 선언적 프로그래밍은 C#, VB 또는 Java와 같은 컴파일된 언어로 코드를 작성하여 개체를 생성하는 대신 모든 것이 XML과 같은 프로그래밍을 사용하여 선언됨을 의미합니다.

Windows 서비스

Windows 서비스(원래 NT 서비스라고 함)는 Windows NT/2000/XP/2003/Vista/7(Windows 9x 제외)에서 백그라운드에서 실행되도록 설계된 프로그램입니다. 이러한 서비스는 사용자 주도로 프로그램을 명시적으로 시작할 필요 없이 이벤트에 응답할 준비가 된 프로그램의 지속적인 운영을 구성해야 할 때 유용합니다. 좋은 예는 클라이언트의 웹 요청을 수신하는 웹 서버의 World Wide Web 서비스입니다.

C#으로 서비스를 개발하는 것은 매우 쉽습니다. 네임스페이스에서 시스템.서비스.프로세스시스템 서비스와 관련된 대부분의 상용구 작업을 해결할 수 있는 기본 .NET 프레임워크 클래스가 있습니다. 또한 Visual Studio .NET을 사용하면 C# 소스 코드를 사용하여 Windows 서비스를 빌드하는 C# Windows 서비스 프로젝트를 만들 수 있습니다.

WCF(Windows 통신 재단)

Microsoft 기술이 데이터와 서비스를 한 지점에서 다른 지점으로 이동하는 방법을 탐색하면 원하는 대로 사용할 수 있는 다양한 솔루션이 있음을 알게 될 것입니다. 예를 들어 ASP.NET 웹 서비스, .NET 원격 기술, 엔터프라이즈 서비스 또는 MSMQ를 사용할 수 있습니다. 어떤 기술을 선택해야 할까요? 이러한 각 기술은 특정 상황에서 선호되기 때문에 이 질문에 대한 답은 달성하려는 목표에 따라 결정됩니다.

이를 염두에 두고 Microsoft는 이러한 모든 기술을 실제로 통합했으며 .NET Framework 3.0과 .NET Framework 3.5 및 4에 포함된 데이터를 이동하는 단일 방법은 WCF(Windows Communication Foundation)입니다. WCF 라이브러리는 초기에 서비스를 빌드한 다음 단순히 구성 파일을 수정하여 다른 방식으로(다른 프로토콜에서도) 해당 서비스를 제공할 수 있는 기능을 제공합니다. WCF분산 시스템을 연결하기 위한 매우 강력한 새 도구입니다.

Windows 워크플로 파운데이션(WF)

Windows WF(Workflow Foundation)는 .NET Framework 3.0에서 처음 도입되었지만 이제 많은 사람들이 훨씬 더 유용하게 사용할 수 있는 대대적인 점검을 거쳤습니다. Visual Studio 2010에서는 WF 환경이 크게 향상되어 고유한 워크플로를 훨씬 쉽게 만들 수 있습니다. 또한 새로운 흐름 제어, Flowchart 클래스 및 DoWhile, ForEach 및 ParallelForEach와 같은 여러 새로운 작업을 찾을 수 있습니다.

환경 개념

환경 개념의 정의는 이론적 개념에 따라 다릅니다. 모든 정의는 다음과 같은 기본 아이디어로 요약될 수 있습니다.

* 환경은 우리를 둘러싸고 있는 것, 우리가 아닌 모든 것, 우리에게 영향을 미치는 조건입니다. 이 유형의 정의는 환경의 형성 역할에 대한 생물학적 이해에 더 가깝습니다.

* 환경은 우리와 환경 사이의 어떤 관계입니다.

* 환경은 슈퍼 시스템의 요소입니다. Wilden은 이 접근 방식을 다음과 같이 공식화했습니다. "환경은 슈퍼 시스템과 관련된 개방형 시스템입니다. 이들 사이에는 물질, 에너지 및 정보의 교환이 있습니다."

D. Watson은 환경에 주어진 다섯 가지 정의 클래스를 식별했습니다.

1. 프로세스로서의 환경

2. 인간 활동의 분야로서의 환경;

3. 의미론의 분야로서의 환경;

4. 자원으로서의 환경

5. 사회 계층화 방법으로서의 환경.

환경에 대한 많은 연구는 결정론의 문제에 대해 논의합니다. 사실, 우리는 사람과 환경 사이의 상호 작용에 대해 7가지 옵션을 고려할 수 있으며 분명히 모두 다른 상황에서 발생한다고 간주해야 합니다.

1. 환경 결정론 - 단방향 인과 결정. 선형, 경직, 종속성 및 확률의 두 가지 옵션이 있습니다. 후자는 고려 중인 변수 중 하나가 특정 확률로 다른 변수를 생성하거나 공통 요소를 기반으로 한다는 것을 의미합니다. 이러한 종류의 연결에서 주요 결론은 원인에 없는 결과에는 아무것도 없다는 것입니다.

2. 사람이 환경을 형성합니다.

3. 두 가지 결정 방법이 동시에 존재합니다.

4. 상호 인과 관계 결정 - 환경과 사람 사이에 상호 작용이 있습니다. 가능한 형태: 균형 결정(항상성), 불안정한 평형;

5. 상호작용은 투쟁의 성격을 갖는다.

6. 환경과 사람은 단일 시스템을 나타냅니다.

7. 무작위 결정, 이전 이벤트는 다음 이벤트에 어떤 식으로든 영향을 미치지 않지만 전체 결과는 확률의 법칙에 따라 예측할 수 있습니다. (14, p.8)

"공간 환경"이라는 용어는 자연적(숲, 바다, 산, 대초원, 식물, 동물 등) 또는 인위적 특성(도시 환경, 공원 경관, 건축)일 수 있는 공간 및 객관적 속성 및 환경 관계의 집합을 나타내야 합니다. 환경, 가상(컴퓨터 화면에 나타나는 공간) 등

다음 유형의 공간 환경을 구별하는 것이 좋습니다.

* 자연(자연 경관, 식물, 동물);

* 인위적(도시, 건축, 학교, 주택). 어떤 의미에서 우리는 그것에 대해 주제 환경이라고 말할 수 있습니다. 이 경우 공간은 주제와 주제 간 관계의 전체에 의해 결정되기 때문입니다. 따라서 이러한 유형의 공간 환경에 대해 말할 때 공간-객체 환경에 대해 이야기하는 것이 더 적절합니다. 우리가 인위적인 공간적으로 객관적인 환경에 대해 이야기하고 있다면 지각의 심리학과 활동의 심리학의 관점에서 볼 때 공간성은 그 자체로 존재하지 않는다는 점에 주목하는 것이 중요합니다. 추상

* 생물의 각 종에 고유한 삶의 기회를 제공하는 생태 서식지.

* 정보 가상, 디스플레이 화면에 표시됨(컴퓨터 및 비디오 게임, 인터넷 환경, 시뮬레이터). 그 특성은 그러한 공간에서 작업하는 작업자가 그 공간에서 관찰, 인식 및 행동할 수 있을 뿐만 아니라 더 중요하게는 공간 매개변수, 특성 및 관계를 직접 변경할 수 있다는 사실에 있습니다.

구별할 수 있는 또 다른 분류가 있습니다.

1차 환경(사람이 상당한 시간을 보내는 환경, 개인적으로 환경에 익숙하고 생활 공간과 같은 많은 필수 기능을 수행하는 환경)

2차 환경(휴게소와 같이 사람들과의 회의가 단기적이고 익명이며 결과가 없는 환경).

환경에는 네 가지 하위 시스템이 있습니다.

1) 자연 환경 - 사회의 일반적인 배경 - 대기의 상태, 물, 지표면의 구성, 경관의 구조, 동식물, 기후, 인구 밀도;

2) "제2의 자연" 환경 - 토지, 도로, 녹지, 가축, 재배 식물 등 사람에 의해 변형된 자연 환경의 수정;

3) "제 3의 자연" - 자연 세계에 유사점이 없는 인간이 만든 인공 세계, 즉 "인간화 된 자연": 아스팔트, 도시의 콘크리트, 삶과 작업을 위한 공간, 운송, 기술 개체, 문화 및 건축 환경;

4) 사회적 환경 - 예를 들어 문화적 정착과 같이 궁극적으로 특정 삶의 질을 제공하는 세 가지 이전 환경의 일종의 통합 (1, p. 350)

도시의 생활환경은 인간의 삶이 일어나는 사회문화적으로 결정된 시공간이다. 그것은 대상(영역적, 조직적, 정보적, 사회적 집단 등)과 주관적(개인적 의미와 의미, 태도, 동기와 의도 등) 요소로 구성된 일정한 구조를 가지고 있다. 공존, 상호작용, 소통의 연속체.

삶에 대한 만족이나 불만족, 사람의 자아실현의 성공과 실패, 삶의 편안함은 시민이 직접 위치한 환경을 포함한 많은 상황에 달려 있습니다. 이 영토에 사는 사람들, 그리고 영토의 삶을 조직하고 관리하는 사람들. 삶의 전략의 전체(의식적이며 완전하지 않음)는 객관화되고 객관화됩니다. 환경이 발생하며, 자체 구조(삶의 배열), 다양한 수준의 특정 상황 집합, 일련의 문제 및 의사 소통 품질이 있습니다. . (십팔)

서식지는 영토와 공간의 두 가지 차원이 있습니다.

영역은 생활 환경의 일련의 대상 측면, 정신 물리적, 개별 존재로서의 인간 삶의 장소입니다.

공간은 삶의 장소, 인간으로서의 인간 존재, 사회적, 문화적 (세계관, 가치 등)의 개성, 의사 소통, 정신적 (개인 역사적), 형이상학적 (이상적) 생활 환경의 주관적인 측면의 집합입니다. -환상적인) 치수. 개인은 삶의 전략의 주체로서 삶의 공간의 다른 차원에서 살고 있습니다. 각자는 고유한 삶을 가지고 있습니다. 그러나 인생의 궤적은 교차합니다. 사회 문화적 공간의 한 장소는 더 많이 "채워"질 수 있습니다. 삶의 공간은 질적 특성을 가지고 있으며, 그 전체성은 일련의 특정 상황과 문제를 통해 장소의 풍미를 생성합니다. 한편으로는 특정 영역, 다른 한편으로는 특정 사람들입니다. 도시 환경의 특정 단편의 특수성은 영토의 특정 상황과 주어진 영토에 사는 사람들의 특정 상황의 총체 모두에 기인합니다. (24)

자신의 운명의 창조자로서 사람이 사는 사회 문화적 공간은 굴절, 영토와 자신에 대한 인식을 결정하고 행동에 영향을 미치고 외부 상황 (물리적 매개 변수 포함)에 대한 반응에 영향을 미칩니다. . 영역의 이미지와 공간의 이미지는 삶의 장소의 이미지로 합쳐집니다. 거주 지역의 개인적인 문제와 문제는 교차하고 상호 연관됩니다. 주어진 장소에 사는 사람들의 집합체의 사회 문화적 공간에 대한 설명 및 분석 - 중요한 측면, 매개 변수, 특정 영토 및 특정 사람들의 특정 상황 문제가 그려진 지역의 사회 학적지도.

다르게 구성되고 인공적인 환경은 필연적으로 정신, 행동, 의사 결정, 지각, 운동 및 공간에 대한 이해에 영향을 미칩니다. 같은 환경에서 다른 사람들의 행동에는 많은 유사점이 있습니다. 환경의 구조는 사람들의 정신과 행동에 보수적으로 영향을 미칩니다. 행동은 오랫동안 계속되며 때로는 개별 캐릭터의 개성이 눈에 띄게 나타나지 않을 수도 있습니다. 하나의 동일한 환경은 구조의 본질에 따라 규범, 행동 방식, 유사한 반응을 규정합니다. 사회의 문화유산과 사회적 요인의 영향은 인간이 만들어낸 인공적 환경의 물리적 좌표에 맞춰져 개인의 정신적 발달과 상관없이 사람들의 행동을 결정한다. (6, c173)

M. Chernoushek은 전체 환경에 대한 다음과 같은 인식 상황을 특징짓는 7가지 유형의 정보를 정의합니다.

1. 환경은 시간과 공간에 있어서 명확하고 확고하게 고정된 틀이 없다.

2. 환경은 모든 감각에 영향을 미치며, 우리는 모든 기관의 데이터 조합에서 환경에 대한 정보를 얻습니다.

3. 환경은 주요 정보뿐만 아니라 주변 정보도 제공합니다.

4. 환경에는 항상 우리가 등록하고 이해할 수 있는 것보다 더 많은 정보가 포함되어 있습니다.

5. 환경은 실제 활동과 밀접하게 연결되어 인식됩니다. 지각은 행동과 관련이 있으며 그 반대의 경우도 마찬가지입니다.

6. 모든 환경은 물리적, 화학적 특성과 함께 심리적, 상징적 의미를 갖는다.

7. 환경은 전체적으로 작용합니다.

환경과의 접촉에서 사람들은 끊임없이 온갖 감정을 가지고 있습니다. 그들은 다음 요인에 의해 형성됩니다.

1. 스트레스 수준(소음, 공해, 과밀, 충동의 과포화).

2. 환경의 사회적 특성(사회적 성격의 상호 작용을 개발하거나 억제하는 물리적 환경의 역할).

3. 오리엔테이션 및 이동성(도시 사람들이 환경에 대한 "이미지" 및 "아이디어"에 따라 도시를 사용하는 방법).

4. 환경의 충만함(욕구의 충족에 기여하고 만족감을 주는 충동의 미학적 수준).

5. 문화 및 레크리에이션(도시가 지적, 문화, 스포츠 및 교육 영역에서 작업을 수행하는 방법).

6. 의사 결정 가능성(시민들이 환경 개발 수준에 대한 개별 결정을 인식하는 방식과 그러한 결정을 내리는 데 적극적으로 참여하는 정도). (25)

수요일과 감정

환경 심리학의 관점에서 볼 때, 사람은 신체의 일반화 된 반응의 존재로 인해 특정 정서적 배경으로 인해 환경과의 지속적인 상호 작용 분야에 있습니다. 심리학에서는 선, 색 반점, 물체, 사람 또는 환경과 같은 인식 대상이 무엇이든 관계없이 모든 인식에는 감각 톤이 수반되는 것으로 알려져 있습니다. 음색 자체는 생물학적으로 결정되거나 대상에 대한 우리의 과거 경험과 관련될 수 있습니다. 1920년대에 Lundholm은 감각적인 선의 톤을 탐구했습니다. 슬픔은 큰 하강 정현파로, 화려함은 작은 위쪽 선으로, 친절은 큰 수평 방향 곡선으로 표시됩니다. A. A. 바라바노프는 건물의 선, 형태, 형상을 특정한 상징적 의미를 지닌 감성적이고 미학적인 기호로 간주하여 사원의 3차원 구성이 주는 정서적 영향을 분석했다.

Charles Osgood는 다양한 미적 대상에 대한 감정적 반응을 조사했습니다. 공동 저자와 함께 그는 모든 대상의 감정적 영향을 측정하고 비교할 수 있는 방법론을 만들었습니다. 이 기술을 의미 미분(SD)이라고 합니다. 실험적 자극으로 C. Osgood는 사진을 사용하여 피험자들에게 한 쌍의 반의어를 제시하여 사진을 평가하도록 했습니다. 일반적으로 50명의 피험자가 50개의 그림을 평가했습니다. 수학적 처리 후에 의미가 가까운 척도는 버리고 약 20쌍의 극형 형용사가 남습니다. 요인 분석은 결과 척도에 적용되었습니다. 그 결과 C. Osgood는 "평가", "강도", "활동성"으로 해석한 세 가지 요소가 확인되었습니다.

평가 요소:

유쾌하다 - 불쾌하다

잘생긴 - 못생긴

깨끗함 - 더러움

종류 - 잔인

역률:

횡포 - 소프트

강함 - 약함

대규모 - 미니어처

내구성 - 깨지기 쉬운

활동 계수:

신나는 - 휴식

빠름 - 느림

단조로운 - 가혹한

활기찬 - 부진

나중에 어떤 자극(그림, 개념, 소리, 색상, 건물)을 평가하더라도 이 세 가지 주요 요소가 남아 있음이 밝혀졌습니다. 결과 척도는 이미 연구 대상의 감정적 영향을 측정하는 도구로 사용될 수 있습니다. 일반적으로 각 척도는 7개의 구분을 포함하며, 피험자는 각 척도에서 대상을 평가합니다. 각 척도에서 얻은 점수를 기반으로 대상의 감정적 영향에 대한 프로필을 구성할 수 있습니다. (27, 15페이지)

주석: 마이크로소프트 .NET 이니셔티브. 구성 요소 호환성, 안정성 및 재사용성 문제. .넷 프레임 워크. 공용 언어 런타임 CLR. 의사 기계어 CIL(어셈블러 구동). JIT 컴파일러. 프로그래밍 언어들. 어셈블리. 메타데이터. 쓰레기 수집가. .NET 프레임워크 클래스 라이브러리

현대 정보 시스템의 개발 문제

통합 문제

  • 다른 API(또는 API 버전) 또는 다른 데이터 표시 형식을 사용하여 다른 언어로 작성된 모듈
  • 단일 소프트웨어 패키지 내에서 다양한 플랫폼용으로 개발된 프로그램
  • 다양한 프로그래밍 모델을 사용하는 시스템.

레거시 코드와의 통합 문제는 특히 일반적입니다. 통합 문제를 해결할 때 비호환성 문제가 발생합니다.

이식성 문제

점점 더 많은 프로그램이 여러 플랫폼을 지원해야 합니다(예: Windows 및 Mac OS에서 프로그램으로 작업할 수 있는 기능).

버전 문제

Windows 개발자는 DLL 지옥으로 알려진 버전 호환성 문제를 알고 있습니다. 이 "지옥"은 새 응용 프로그램에 대해 설치된 구성 요소가 이전 응용 프로그램의 구성 요소를 대체할 때 발생합니다. 결과적으로 이전 응용 프로그램이 제대로 작동하지 않거나 작동을 멈춥니다.

자원 관리

프로그래밍 문제 중 하나는 리소스, 파일, 메모리, 화면 공간, 네트워크 연결, 데이터베이스 리소스 등의 관리 및 올바른 릴리스입니다. 이러한 리소스의 부적절한 관리는 잘못된 프로그램 실행으로 이어질 수 있습니다.

유형 안전

유형 안전성 문제를 언급할 때 데이터 유형의 잘못된 처리를 의미합니다. 유형 경계 외부의 메모리 영역에 액세스하려는 시도, 유형에 존재하지 않는 메소드 호출 시도, 유형 A를 다음으로 사용하는 메소드 호출 시도 매개 변수를 만들고 B 유형의 매개 변수 개체로 전달합니다.

충돌 처리

Win32 API를 사용하여 Windows 응용 프로그램을 개발할 때 일부 함수는 예외를 반환하고 다른 함수는 상태 코드를 반환하며 다른 함수는 HRESULT를 반환합니다. 따라서 오류를 처리하는 일관된 메커니즘이 없으며 일부 예외를 무시할 수 있으므로 코드가 안전하지 않습니다.

Microsoft .NET 플랫폼은 이러한 문제 및 기타 정보 시스템 개발 문제를 해결하는 데 도움이 됩니다.

.NET에서 정보 시스템 개발 문제 해결

이질성 문제를 해결하는 한 가지 방법은 응용 프로그램을 여러 플랫폼의 서버로 쉽게 이식할 수 있도록 하는 표준 API를 개발하고 유지 관리하는 것입니다. 그러나 응용 프로그램은 데이터베이스, 통신 및 기타 서비스를 사용할 수 있으며 이들의 인터페이스는 언어 또는 프로그래밍 환경의 구성 요소가 아닙니다. 이질성 문제를 해결하기 위해 제조업체에서 사용하는 또 다른 기술은 표준 프로토콜을 지원하는 것입니다. 동일한 프로토콜을 지원하는 시스템은 서로 다른 기계 아키텍처와 운영 체제에 의존하더라도 서로 통신할 수 있습니다.

기술. NET은 HTTP 및 XML과 같이 널리 사용되는 표준을 사용하여 프로그램이 통신할 수 있도록 하고 인터넷을 통해 수많은 소프트웨어 서비스에 대한 액세스를 제공하는 소프트웨어 개발 및 배포 방법입니다. 기술에는 다음이 포함됩니다. NET Framework - 개발을 단순화하고 가속화하는 응용 프로그램 개발 및 실행을 위한 플랫폼으로 본격적인 개체 지향을 지원합니다. 프로그램 작성웹용으로 많은 유형의 일반적인 프로그래밍 오류를 수정하고 모든 언어에 대한 공통 API를 제공합니다.

Microsoft .NET을 만드는 이유

NET Framework는 응용 프로그램 개발 프레임워크입니다. 주요 구성 요소는 공용 언어 런타임과 클래스 라이브러리입니다. .NET 프레임워크 클래스 라이브러리.

공용 언어 런타임

CLR(공용 언어 런타임)은 운영 체제 서비스를 추상화하고 관리되는 응용 프로그램을 실행하는 공용 언어 런타임으로, 모든 작업은 CLR의 승인을 받아야 합니다.

.NET 프레임워크의 모든 코드는 CLR에 의해 CIL 중간 코드로 변환됩니다. 따라서 개발자는 다양한 프로그래밍 언어로 .NET용으로 작성된 코드를 쉽게 통합할 수 있습니다. 하나의 .NET 호환 언어로 수행할 수 있는 모든 작업(드문 예외 제외)은 다른 언어에서도 수행할 수 있습니다. 이러한 언어의 코드는 CIL 언어라는 하나의 언어로 된 코드로 컴파일됩니다.

CLR은 운영 체제의 맨 위에 위치하며 관리되는 응용 프로그램을 위한 가상 환경을 제공합니다. .NET 프레임워크용 코드는 CLR에 의해 실행되거나 CLR 외부에서 실행할 수 있는 권한이 부여됩니다.

CLR용 코드는 CIL(Common Intermediate Language) 의사 기계 언어 명령입니다. 이러한 명령어는 런타임 시 요청 시 적절한 프로세서 유형의 기계어 코드로 컴파일됩니다. 일반적으로 메서드는 첫 번째 호출 중에 한 번 컴파일됩니다. 그런 다음 결과는 재시도 지연을 피하기 위해 메모리에 캐시됩니다. JIT 컴파일러는 코드가 실행되는 프로세서에 맞게 코드를 최적화합니다.

CIL 명령어를 프로세서 명령어로 변환함으로써 JIT 컴파일러는 코드의 유형 안전성을 검증합니다.

명령어에 접근 권한이 없는 메모리 영역에 접근하는 명령어를 실행하는 것은 거의 불가능하다. 관리되는 응용 프로그램에서는 포인터가 잘못 초기화되는 문제가 제거되며 형식 안전 위반이므로 형식을 그렇지 않은 형식으로 변환하는 것이 허용되지 않습니다. CLR은 소멸된 스택 프레임이 있는 메서드 호출을 허용하지 않습니다.

관리 코드에 의해 할당된 리소스는 가비지 수집기가 회수합니다. 즉, 프로그래머는 메모리만 할당하지만 해제하지는 않습니다. 이 작업은 CLR에 의해 수행됩니다. 가비지 수집기는 프로그램에 의해 생성된 모든 개체 참조를 추적하고 그들이 차지하는 메모리가 다른 곳에서 필요할 때 이러한 개체를 파괴합니다. 이렇게 하면 관리 코드 응용 프로그램의 메모리 누수 문제가 해결됩니다.

코드 검증은 단일 프로세스 내에서 여러 응용 프로그램을 실행할 수 있는 CLR 기능의 기본이기도 합니다. 프로세스는 가상 구획(응용 영역)으로 나뉩니다. 이것은 프로세스에 할당된 메모리를 사용하는 효율성을 높입니다. 애플리케이션 도메인은 관리되는 애플리케이션이 경계를 위반할 수 없기 때문에 프로세스만큼 안전합니다.

.NET Framework 클래스 라이브러리(FCL)

In.NET 클래스 라이브러리 어셈블리가 포함되어 있습니다. NET Framework 클래스 라이브러리(FCL)에는 각각 몇 가지 기능을 제공하는 수천 가지 형식의 정의가 포함되어 있습니다. "관련" 유형 집합은 별도의 네임스페이스에 수집됩니다. 예를 들어 System 네임스페이스에는 다른 모든 형식이 궁극적으로 파생되는 기본 클래스 Object가 포함됩니다.

따라서 모든 엔터티. NET은 자체 필드와 메서드가 있는 개체입니다.

또한 시스템에는 정수, 문자, 문자열, 예외 처리, 콘솔 I/O, 한 유형을 다른 유형으로 안전하게 변환하기 위한 유형 그룹, 데이터 형식 지정, 난수 생성및 수학적 연산을 수행합니다. 모든 애플리케이션은 System 네임스페이스의 유형을 사용합니다.

고유한 파생 유형을 만들어 기존 FCL 유형을 수정할 수 있습니다. 고유한 네임스페이스를 만들 수 있습니다. 이 모든 것은 플랫폼에서 제안한 원칙과 분명히 일치합니다. 그물

다음은 좀 더 일반적인 네임스페이스와 여기에 포함된 유형에 대한 간략한 설명입니다.

기본 FCL 네임스페이스
네임스페이스 콘텐츠
체계 기본 데이터 유형 및 도우미 클래스
시스템.컬렉션 해시 테이블, 가변 크기 배열 및 기타 컨테이너
시스템.데이터 데이터 액세스를 위한 ADO .NET 클래스
시스템.도면 그래픽 표시용 클래스(GDI +)
시스템.IO 파일 및 스트림 I/O 클래스
시스템넷 HTTP와 같은 네트워크 프로토콜 작업을 위한 클래스
시스템.반사 메타데이터 읽기 및 쓰기용 클래스
시스템.런타임.원격 분산 애플리케이션을 위한 클래스
시스템.서비스 프로세스 Wndows 서비스를 만들기 위한 클래스
시스템.스레딩 스트림 생성 및 관리를 위한 클래스
시스템.웹 HTTP 지원을 위한 클래스
시스템.웹.서비스 웹 서비스 개발을 위한 수업
시스템.웹.서비스. 프로토콜 웹 서비스 클라이언트 개발을 위한 클래스
시스템.웹.UI ASP .NET에서 사용하는 주요 클래스
시스템.웹.UI. 웹 컨트롤 ASP .NET 서버 컨트롤
System.Wndows.Forms GUI 애플리케이션을 위한 클래스
시스템.Xml XML 데이터를 읽고 입력하기 위한 클래스

모든 관리 앱 사용

씨 #
  • 공용 언어 런타임) 및 클래스 라이브러리 ...
  • .NET Framework 및 CTS 사양
    지원을 위한 C# 언어 및 도구는 현재 Microsoft에서 개발한 .NET Framework와 연결되어 있습니다. 명명된 플랫폼(참조)에는 다음이 포함됩니다. CLR - 공용 언어 런타임 프레임워크 클래스 라이브러리).그것은 주목해야합니다 ...
    (프로그래밍. 기본과정 C#)
  • .NET Framework 및 Visual Studio 설치
    Windows 7 및 8에서는 .NET 플랫폼을 이미 사용할 수 있으며 아무것도 설치할 필요가 없습니다. .NET 플랫폼에서 애플리케이션을 개발하려면 Visual Development System을 설치해야 합니다. 씨 # 2012(또는 2013) Express Edition은 Visual Studio 개발 환경의 무료 버전입니다.
    (객체 지향 프로그래밍)
  • C # 유형 및 .NET 프레임워크 플랫폼 유형
    지원을 위한 C# 언어 및 도구는 현재 Microsoft에서 개발한 .NET Framework와 연결되어 있습니다. 명명된 플랫폼(참조)에는 다음이 포함됩니다. CLR - 공용 언어 런타임) 및 클래스 라이브러리 ...
    (프로그래밍. 기본과정 C#)
  • .NET Framework 및 CTS 사양
    지원을 위한 C# 언어 및 도구는 현재 Microsoft에서 개발한 .NET Framework와 연결되어 있습니다. 명명된 플랫폼(참조)에는 다음이 포함됩니다. CLR - 공용 언어 런타임) 및 클래스 라이브러리(FCL - 프레임워크 클래스 라이브러리).그것은 주목해야합니다 ...
    (프로그래밍. 기본과정 C#)


  • 관련 기사: