The document discusses asynchronous programming and different approaches to handling asynchronous operations. It covers asynchronous programming concepts like asynchronous functions, asynchronous callbacks, and asynchronous events. It then describes different asynchronous programming models including synchronous, asynchronous programming model (APM), event-based asynchronous pattern (EAP), task-based asynchronous pattern (TAP), and async/await. Code examples are provided to illustrate each approach.
오픈 소스 Actor Framework 인 Akka.NET 을 통해 온라인 게임 서버를 어떻게 구현할 수 있는지를 설명합니다. Actor Model 에 대한 기본 이해부터 Scale-out 가능한 게임 서버 구축까지 전반적인 내용에 대해 알 수 있습니다. 설명을 위해 클라이언트는 Unity3D 를 사용할 예정입니다.
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
NDC14에서 발표한 "[야생의 땅: 듀랑고] 서버 아키텍처" 세션의 슬라이드입니다.
슬라이드에 설명이 많지 않은데, 디스이즈게임에서 발표 내용을 잘 정리해주었습니다. 기사도 함께 보시면 좋을 것 같습니다.
http://www.thisisgame.com/webzine/news/nboard/4/?n=54955
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
오픈 소스 Actor Framework 인 Akka.NET 을 통해 온라인 게임 서버를 어떻게 구현할 수 있는지를 설명합니다. Actor Model 에 대한 기본 이해부터 Scale-out 가능한 게임 서버 구축까지 전반적인 내용에 대해 알 수 있습니다. 설명을 위해 클라이언트는 Unity3D 를 사용할 예정입니다.
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
NDC14에서 발표한 "[야생의 땅: 듀랑고] 서버 아키텍처" 세션의 슬라이드입니다.
슬라이드에 설명이 많지 않은데, 디스이즈게임에서 발표 내용을 잘 정리해주었습니다. 기사도 함께 보시면 좋을 것 같습니다.
http://www.thisisgame.com/webzine/news/nboard/4/?n=54955
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
※다운로드하시면 더 선명한 자료를 보실 수 있습니다.
서버를 개발하면서 대규모 테스트를 어떤 식으로 진행할 것인지 고민하고 설계했던 내용과 그 과정에서 겪었던 시행착오를 공유하고자 합니다.
목차
1. 부하 테스트, 이것만 모니터링하면 끝?
2. Web, TCP Game Server
3. TCP Stress Test
4. 이렇게 모니터링해 보자
5. 시행착오
6. Q&A
대상
서버-클라이언트 테스트에 관심 있는 분 누구나
■관련 동영상: https://youtu.be/WhkZP4ZATmA
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
Unit Testing Express and Koa Middleware in ES2015Morris Singer
Even for JavaScript software developers well-versed in Agile practices, using test-driven development in the development of Node.js-based webservers can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD to build middleware stacks, with a focus on Express and Koa.
※다운로드하시면 더 선명한 자료를 보실 수 있습니다.
서버를 개발하면서 대규모 테스트를 어떤 식으로 진행할 것인지 고민하고 설계했던 내용과 그 과정에서 겪었던 시행착오를 공유하고자 합니다.
목차
1. 부하 테스트, 이것만 모니터링하면 끝?
2. Web, TCP Game Server
3. TCP Stress Test
4. 이렇게 모니터링해 보자
5. 시행착오
6. Q&A
대상
서버-클라이언트 테스트에 관심 있는 분 누구나
■관련 동영상: https://youtu.be/WhkZP4ZATmA
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
서비스 런칭을 위해 라이온하트와 카카오게임즈가 어떻게 최적 성능의 인스턴스를 선택하고, Windows 운영 체제를 최적화하며, 왜 Amazon Aurora를 기본 데이터베이스로 채택하였는지를 설명합니다. 또한, 출시부터 운영까지의 과정에서 MMORPG가 어떻게 AWS 상에서 설계되고, 게임 서버 성능을 극대할 수 있었는지에 대해 전달해드립니다.
Unit Testing Express and Koa Middleware in ES2015Morris Singer
Even for JavaScript software developers well-versed in Agile practices, using test-driven development in the development of Node.js-based webservers can be challenging. In this presentation, I identify solutions to some of the most significant challenges to using TDD to build middleware stacks, with a focus on Express and Koa.
SOAP Web Services have a well established role in the enterprise, but aside from the many benefits of the WS-* standards, SOAP and XML also carry additional baggage for developers. Consequently, REST Web Services are gaining tremendous popularity within the developer community. This session will begin by comparing and contrasting the basic concepts of both SOAP and REST Web Services. Building on that foundation, Sam Brannen will show attendees how to implement SOAP-based applications using Spring-WS 2.0. He will then demonstrate how to build a similar REST-ful application using Spring MVC 3.0. The session will conclude with an in-depth look at both server-side and client-side development as well as efficient integration testing of Web Services using the Spring Framework.
An introduction to Express, the Sinatra-inspired MVC framework for Node.JS. You'll learn how Express manages and processes routes, how to use the Jade template engine, and how to design data models aimed to play nice with Express.
Node.JS is a popular server-side JavaScript framework for handling real-time and distributed data processing. In this session you'll learn what Node.JS is, how it works under the hood, and what scenarios it's useful for. You'll also learn how to deploy it to Windows Azure and manage it inside of IIS 7.
Node has captured the attention of early adopters by clearly differentiating itself as being asynchronous from the ground up while remaining accessible. Now that server side JavaScript is at the cutting edge of the asynchronous, real time web, it is in a much better position to establish itself as the go to language for also making synchronous, CRUD webapps and gain a stronger foothold on the server.
This talk covers the current state of server side JavaScript beyond Node. It introduces Common Node, a synchronous CommonJS compatibility layer using node-fibers which bridges the gap between the different platforms. We look into Common Node's internals, compare its performance to that of other implementations such as RingoJS and go through some ideal use cases.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Strategies for Successful Data Migration Tools.pptxvarshanayak241
Data migration is a complex but essential task for organizations aiming to modernize their IT infrastructure and leverage new technologies. By understanding common challenges and implementing these strategies, businesses can achieve a successful migration with minimal disruption. Data Migration Tool like Ask On Data play a pivotal role in this journey, offering features that streamline the process, ensure data integrity, and maintain security. With the right approach and tools, organizations can turn the challenge of data migration into an opportunity for growth and innovation.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
20. public class MyClass
{
public int Read(byte [] buffer, int offset, int count);
}
public class MyClass
{
public IAsyncResult BeginRead(
byte [] buffer, int offset, int count,
AsyncCallback callback, object state);
public int EndRead(IAsyncResult asyncResult);
}
public class MyClass
{
public void ReadAsync(byte [] buffer, int offset, int count);
public event ReadCompletedEventHandler ReadCompleted;
}
public class MyClass
{
public Task<int> ReadAsync(byte [] buffer, int offset, int count);
}
1. Sync
2. APM
3. EAP
4. TAP
21. private void Button_Click(object sender, RoutedEventArgs e)
{
string url = "http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx";
WebClient client = new WebClient();
client.DownloadStringCompleted += client_DownloadStringCompleted;
client.DownloadStringAsync(new Uri(url)); // 수행해야할 작업을 전달
// 다른 일을 할 수도 있다
}
// 작업이 완료되면 이벤트를 발생시켜 통보
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs arg)
{
Debug.WriteLine(arg.Result);
}
25. async Task<int> FuncAsync()
{
int r = await DoAsync();
return r;
}
• TAP과 함께
• APM/EAPTAP로 변환
• 비동기 함수의 이름은
XxxAsync()/XxxTaskAsync()
• await 와 async는 함께
• 반환형은
Task, Task<TResult>
33. public sealed class SyndicationClient : ISyndicationClient
{
public IAsyncOperationWithProgress<SyndicationFeed, RetrievalProgress>
RetrieveFeedAsync(Uri uri);
…
}
public sealed class SyndicationFeed : ISyndicationNode
{
public ISyndicationText Title { get; set; }
…
}
public interface ISyndicationText : ISyndicationNode
{
string Text { get; set; }
…
}
34. #include <ppltasks.h>
void App::SetFeedText() {
using namespace Windows::Web::Syndication;
using namespace concurrency;
String^ url = "http://windowsteamblog.com/windows_phone/b/wmdev/atom.aspx";
SyndicationClient^ client = ref new SyndicationClient();
task<SyndicationFeed^> retriveTask(client->RetrieveFeedAsync(ref new Uri(url)));
retriveTask.then([this] (SyndicationFeed^ feed)
{
String ^title = feed->Title->Text;
});
}
35. function SetFeedText()
{
var url = "http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx";
var client = Windows.Web.Syndication.SyndicationClient();
var feedOp = client.retrieveFeedAsync(new Windows.Foundation.Uri(url));
feedOp.then(function (feed)
{
var title = feed.title.text;
});
}
36. private async void SetFeedText()
{
string url = "http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx";
SyndicationClient client = new SyndicationClient();
SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri(url));
var title = feed.Title.Text;
}
NTFS Driver가 실제 작업을 수행함에도 사용자 Thread가 작업 완료까지 대기 하고 있음
UI 응답성. UI Component는 자체적인 Thread Model이 있음, WinForm, WPF, Silverlight, IE 는 모두 STA/Console App은 없음
CPU 코어 수 = 실행 중 스레드 수를 만드려면. 수동으로 사용자가 스레드 개수를 제어하거나, 잘 짜여진 Thread Pool등을 사용하는 것이 좋음.
Context Switching이란 결국 CPU의 상태를 저장하고/복원하는 과정 Windows는 30ms Quantium Time을 가짐
비동기 함수는 Win32, WPF, Siverlight, WP, W8까지 대체로 대부분 존재함. 특별히 Windows 8의 WinRT의 경우 50ms은 넘는 모든 작업들은 모두 비동기로만 제공하고 있음 대략 60%에 육박하는 수준의 I/O 기능들이 비동기로 수행
개념만 정리하면 3가지로 특징 지어질 수 있음
비동기는 작업 요청자와 작업 수행자가 다름
작업을 요청하는 다른 방식이 필요함
작업을 완료 통지를 받을 수 있는 방법이 필요함
APM .NET framework 1.1
EAP .NET framework 2.0
TAP .NET Framework 4.0
APM과 EAP는 모두 쉽게 TAP형태로 변경해서 사용가능
병렬화 기법상의 Task parallelism 언급
Sync/Tap이 signature 차원에서 가장 닮아있음
APM/EAP 모두 추가 method와 delegate type/event가 필요함
event 결합
Lamda expression
Anonymous method Haskell과 같은 언어에서 많이 사용됨/nested function
하지만 Anonymous method 자체는 1936년 Lambda calculaus에서 정립됨
Closure 를 만들기 위한 것임. Lamda+ environment
A closure is a lambda expression paired with an environment that binds each of its free variables to a value. In Java, lambda expressions will be implemented by means of closures, so the two terms have come to be used interchangeably in the community.
비동기 작업이 완료되면 디버그 출력 화면에 출력.
비동기 작업이 완료될 때 까지 스레드가 대기할 것임. Blocking이 발생 -> wait free/lock 로
function composition
선행 task가 끝났을 때 수행할 Task Continuation 생성.
Continuation chaining을 생성하여 효율을 도모할 수 있음
Async/await가 C# 5.0에 추가
Async는 modifer이지만 method signature에 포함되지 않음
Task를 기반으로 동작함
언어가 library Type가 쌍을 이루어 돌아간(e.g. foreach/Ienumerable)
Async는 Task /Task<Tresult> 만 혀용함 하지만 예외적으로 async void를 허용하긴 함. 그러나 최상위 event handler에서만 사용됨
Generics는 73년 ML 같은 언어에서 처음 출현
이후 Ada, Delphi, Eiffel, Java, C#, f#에서는 generics로
ML, Scala, Haskell에서는 parametric polymorphism으로 불림
C+은 template이라고 조금 다르긴 하지만 불림
[CLICK]
* In any UI application, Winforms/WPF/Silverlight/Phone/Win8, the UI thread runs a loop
* When a click arrives, it invokes the handler.
[CLICK]
* When async method hits first await, returns to its caller.
[CLICK]
* When it hits first await, ... you know the drill
[CLICK]
* Back to the message-loop. That's why it's responsive, and ready to handle more UI interactions.
* Doesn't freeze.
[CLICK]
* Later on, let's say the network download has finished.
* Task gets marked as completed, and if UI thread is free, can resume where it left off.
* That's going to be: finish the method
[CLICK]
* And so the task gets marked as completed, and again the UI thread can resume where it left off.
* Okay, that's the mechanism.
* Even if you don't follow, that's fine, we'll spell out the practical ramifications.
순수 TAP와 TAW With async/await의 코드를 비교.
Completed와 같은 event handler, Cancel, Progress 등이 있음.
EAP와 Pattern이 일치
C++/CX는 WinRT를 사용하기 위한 확장으로 객체 생성시 ref new/참조시 caret(^)를 사용함.
앞서 우리가 살펴보았던 UI 응답성의 문제/비효율적 CPU 사용의 문제 그리고/비효율적인 I/O의 문제등을 해결하기 위해서
비동기 함수 호출 메커니즘은 필수 불가결한 요소가 되었음.
Win32에서 WinForm, Siverlight, WinRT와 같은 Framework과 함께 C++의 PPL/C#의 TPL/Javascript CommonJS/A proposal등의 library를 제공하고 있으며, 더 나아가 async/await와 같은 강력한 언어 규격을 추가하였음.
비동기 프로그래밍은 이제 하면 좋은 것이 아니라 반드시 해야 하는 필수적인 요소로 부각되고 있음.
이는 Mobile/Desktop/Server Application이 이르기 까지 예외없이 적용되며, 분산환경의 서버에 도입될 경우 그 기대효과가 더 크다고 할 것임
부족한 내용이나마 도움이 되셨길 바라고, 참석해 주신 여러분께 다시 한번 감사의 말씀을 드립니다.
감사합니다.