Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션미래웹기술연구소 (MIRAE WEB)from : http://w3labs.kr/?p=5389
시중에 나와있는 웹소켓 솔루션은 정말 많은 종류가 있습니다.
하지만, 웹소켓을 지원하지 않는 IE6+ , Android2.1+ 버전까지 지원하는 웹소켓 솔루션은
Kaazing 과 Socket.IO 뿐이 없는 실정입니다.
Kaazing 과 Socket.IO 에서는 시뮬레이션모드 라는 것으로 웹소켓 미지원 브라우저에서도 동작 하는데요.
이 시뮬레이션 모드에서 기술의 차이가 발생 합니다.
Socket.IO 는 Long-Polling(Comet) 방식으로 시뮬레이션을 하고 있습니다.
결국 웹소켓이 나오기 이전 기술, 그러니까 결국 Legacy 기술을 이용하는 것으로 웹소켓과는 거리가 멀지요.
웹소켓의 장점인 Full-Duplex 방식이 아닌 Half-Duplex 방식으로 응답(Latency)가 느리고 가비지 트래픽이 발생하게 되지요.
Kaazing 의 경우는 유료 솔루션 답게 시뮬레이션을 자체 기술로 해결 했는데요.
Ajax 통신 2개를 열어 놓고, 하나는 Send를, 하나는 Receive를 담당하게 합니다.
웹소켓과 동일한 Full-Duplex 방식으로 빠른 응답속도와 적은 트래픽을 유발하게 되지요.
또한, 이러한 시뮬레이션 모드가 어떠한 구성환경에서도 완벽하게 동작 하는데요.
* Single Sign-On (SSO) 연동
* VPN 2중화 환경
* DDMZ 환경
* Proxy Server 에서 패킷을 감청 할 수 있는 환경(보안 유지)
* Active-Active Load Balancing
* Binary Data의 WebSocket 지원원
* 병렬적 서버 확장
* 국내 기술지원
이러한 엔터프라이즈 환경의 Needs 를 모두 충족시켜 주고 있습니다.
Kaazing을 도입한 회사들을 보면 솔루션의 완성도를 보실 수 있습니다.
금융권
* JP모건
* HSBC 은행
* 골드만삭스 외 4개사
Software & Service
* 오라클
* 인텔
* 시스코
* 에릭슨
* 구글
* 퀄컴
* 맥아피 외 8개사
Media & Entertainment
* Skybet
* AOL
* The Daily
* CNN Money 외 5개사
기타
* Southwest Airlines 외 4개사
더 자세한 내용은 아래 슬라이드를 참조 하시기 바라며,
문의 사항은 연락 주시기 바랍니다. (contact@w3labs.kr)
* URL : http://w3labs.kr/?p=5389
감사합니다.
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 미래웹기술연구소 (MIRAE WEB)Sencha ExtJS를 활용한 Big Data Platform 개발 사례
ExtJS를 활용한 고도로 복잡한 웹애플리케이션 UI 개발사례
클라우다인 - 박효근 선임
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이MEAN 스택, 서버와 클라이언트를 넘나드는 풀스택 엔지니어의 선택
MEAN은 서버와 클라이언트 양쪽을 모두 다루는 풀스택 엔지니어를 위한 기술이며, 한번 익혀두면 여러 상황에서 돌파구를 발견할 가능성을 높여준다. 그만큼 개발자의 경쟁력을 높일 수 있음을 의미한다. 스택의 모든 구성 요소가 자바스크립트를 사용하므로 진입 장벽이 낮고 팀 내 협업, 노하우 공유, 의사소통에 큰 도움을 준다.
이 책은 오랜 개발과 번역 경험을 두루 갖춘 베테랑 역자가 원서의 예제를 완결된 형태로 재구성해서 독자의 시간을 절약해주고 아쉬운 설명을 보강해 완성도를 높였다. 책의 흐름에 발맞춰 예제를 조금씩 확장해 나가다 보면 어느 순간 자신만의 멋진 풀스택 앱을 만들 수 있을 것이다.
- 지은이 : 애덤 브레츠, 콜린 J. 이릭
- 옮긴이 : 박재호
- ISBN : 978-89-6848-218-2 93000
- 발행일 : 2015년 9월 1일
- 페이지수 : 348
- 정가 : 28,000원
- 구매(예스24) : http://goo.gl/KNlRGg
Basic of web ref.웹을지탱하는기술_01SangHun LeeBasic of web ref.웹을지탱하는기술_01
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁
20150207 Node.js on Azure - MeltingPot seminar in Busan영욱 김Node.js의 기본적인 문법과 사용법 그리고 Microsoft Azure와 함께 사용하는 방법을 설명하고 있습니다.
본 자료는 Microsoft MeltingPot 프로그램의 일환으로 2015년 2월 7일 IoTFun에서 요청한 세션의 내용을 담고 있습니다.
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!SangHoon Han[TechDays 2014] 에서 발표한 "이제 온라인이다! 브라우저 안으로 들어온 Visual Studio!" 세션의 발표 자료입니다.
Visual Studio Online의 "Monaco"와 "Application Insights"에 대하여 알아봅니다.
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션미래웹기술연구소 (MIRAE WEB)from : http://w3labs.kr/?p=5389
시중에 나와있는 웹소켓 솔루션은 정말 많은 종류가 있습니다.
하지만, 웹소켓을 지원하지 않는 IE6+ , Android2.1+ 버전까지 지원하는 웹소켓 솔루션은
Kaazing 과 Socket.IO 뿐이 없는 실정입니다.
Kaazing 과 Socket.IO 에서는 시뮬레이션모드 라는 것으로 웹소켓 미지원 브라우저에서도 동작 하는데요.
이 시뮬레이션 모드에서 기술의 차이가 발생 합니다.
Socket.IO 는 Long-Polling(Comet) 방식으로 시뮬레이션을 하고 있습니다.
결국 웹소켓이 나오기 이전 기술, 그러니까 결국 Legacy 기술을 이용하는 것으로 웹소켓과는 거리가 멀지요.
웹소켓의 장점인 Full-Duplex 방식이 아닌 Half-Duplex 방식으로 응답(Latency)가 느리고 가비지 트래픽이 발생하게 되지요.
Kaazing 의 경우는 유료 솔루션 답게 시뮬레이션을 자체 기술로 해결 했는데요.
Ajax 통신 2개를 열어 놓고, 하나는 Send를, 하나는 Receive를 담당하게 합니다.
웹소켓과 동일한 Full-Duplex 방식으로 빠른 응답속도와 적은 트래픽을 유발하게 되지요.
또한, 이러한 시뮬레이션 모드가 어떠한 구성환경에서도 완벽하게 동작 하는데요.
* Single Sign-On (SSO) 연동
* VPN 2중화 환경
* DDMZ 환경
* Proxy Server 에서 패킷을 감청 할 수 있는 환경(보안 유지)
* Active-Active Load Balancing
* Binary Data의 WebSocket 지원원
* 병렬적 서버 확장
* 국내 기술지원
이러한 엔터프라이즈 환경의 Needs 를 모두 충족시켜 주고 있습니다.
Kaazing을 도입한 회사들을 보면 솔루션의 완성도를 보실 수 있습니다.
금융권
* JP모건
* HSBC 은행
* 골드만삭스 외 4개사
Software & Service
* 오라클
* 인텔
* 시스코
* 에릭슨
* 구글
* 퀄컴
* 맥아피 외 8개사
Media & Entertainment
* Skybet
* AOL
* The Daily
* CNN Money 외 5개사
기타
* Southwest Airlines 외 4개사
더 자세한 내용은 아래 슬라이드를 참조 하시기 바라며,
문의 사항은 연락 주시기 바랍니다. (contact@w3labs.kr)
* URL : http://w3labs.kr/?p=5389
감사합니다.
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 미래웹기술연구소 (MIRAE WEB)Sencha ExtJS를 활용한 Big Data Platform 개발 사례
ExtJS를 활용한 고도로 복잡한 웹애플리케이션 UI 개발사례
클라우다인 - 박효근 선임
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기복연 이MEAN 스택, 서버와 클라이언트를 넘나드는 풀스택 엔지니어의 선택
MEAN은 서버와 클라이언트 양쪽을 모두 다루는 풀스택 엔지니어를 위한 기술이며, 한번 익혀두면 여러 상황에서 돌파구를 발견할 가능성을 높여준다. 그만큼 개발자의 경쟁력을 높일 수 있음을 의미한다. 스택의 모든 구성 요소가 자바스크립트를 사용하므로 진입 장벽이 낮고 팀 내 협업, 노하우 공유, 의사소통에 큰 도움을 준다.
이 책은 오랜 개발과 번역 경험을 두루 갖춘 베테랑 역자가 원서의 예제를 완결된 형태로 재구성해서 독자의 시간을 절약해주고 아쉬운 설명을 보강해 완성도를 높였다. 책의 흐름에 발맞춰 예제를 조금씩 확장해 나가다 보면 어느 순간 자신만의 멋진 풀스택 앱을 만들 수 있을 것이다.
- 지은이 : 애덤 브레츠, 콜린 J. 이릭
- 옮긴이 : 박재호
- ISBN : 978-89-6848-218-2 93000
- 발행일 : 2015년 9월 1일
- 페이지수 : 348
- 정가 : 28,000원
- 구매(예스24) : http://goo.gl/KNlRGg
Basic of web ref.웹을지탱하는기술_01SangHun LeeBasic of web ref.웹을지탱하는기술_01
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁
20150207 Node.js on Azure - MeltingPot seminar in Busan영욱 김Node.js의 기본적인 문법과 사용법 그리고 Microsoft Azure와 함께 사용하는 방법을 설명하고 있습니다.
본 자료는 Microsoft MeltingPot 프로그램의 일환으로 2015년 2월 7일 IoTFun에서 요청한 세션의 내용을 담고 있습니다.
이제 온라인이다! 브라우저 안으로 들어온 Visual studio!SangHoon Han[TechDays 2014] 에서 발표한 "이제 온라인이다! 브라우저 안으로 들어온 Visual Studio!" 세션의 발표 자료입니다.
Visual Studio Online의 "Monaco"와 "Application Insights"에 대하여 알아봅니다.
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon LeeImplementing Web Based Online MultiPlyaer Tetris with OpenSource
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER Engineering
웹 개발 방식은 빠르게 변하고 있습니다. 웹이 등장했을 때부터 현재까지 웹 개발 방식이 어떻게 바뀌어 왔는지 빠르게 훑어보고, 지금부터 웹 개발을 시작한다면 어떤 내용을 공부하면 좋을지 알아봅니다.
JMI Techtalk : Backend.AILablup Inc.Just Model It 이벤트에서 사용할 Backend.AI 에 관한 소개입니다. Backend.AI의 개괄, 주요 기능 및 사용예들을 다룹니다. 또한 Backend.AI 를 이용한 End-to-end ML model 개발 시나리오도 소개합니다.
An Introduction to Backend.AI to use in Just Model It event. It covers the overview of Backend.AI, its main features and examples. It also introduces the scenario of developing end-to-end ML model using Backend.AI.
Machine Learning Model Serving with Backend.AIJeongkyu Shin머신러닝 모델을 서비스 단에서 서빙하는 것은 손이 많이 갑니다.
서비스 과정을 편리하게 하기 위하여 TensorFlow serving 등 서빙 과정을 돕는 다양한 도구들이 공개되고 개발되고 있습니다만, 여전히 서빙 과정은 귀찮고 불편합니다. 이 세션에서는 Backend.AI 와 TensorFlow serving을 이용하여 간단하게 TensorFlow 모델을 서빙하는 법에 대해 다루어 봅니다.
Backend.AI 서빙 모드를 소개하고, 여러 TF serving 모델 등을 Backend.AI 로 서비스하는 과정을 통해 실제로 사용하는 법을 알아봅니다.
Serving the machine learning model at the service level is a lot of work. A variety of tools are being developed and released to facilitate the process of serving. TensorFlow serving is the greatest one for serving now, but the docker image baking-based serving process is not easy, not flexible and controllable enough. In this session, I will discuss how to simplify the serving process of TensorFlow models by using Backend.AI and TensorFlow serving.
I will introduce the Backend.AI serving mode (on the trunk but will be official since 1.6). After that, I will demonstrate how to use the Backend.AI serving mode that conveniently provides various TensorFlow models with TensorFlow serving on the fly.
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent "TOAST Meetup 2015"
지난 11월 26일 NHN엔터테인먼트 플레이뮤지엄에서 진행되었던
TOAST Meetup 2015 컨퍼런스 발표 자료를 공유드립니다.
Session 4
"구름으로 구름 개발하기를 통해 알아보는 구름 해부하기" / 코다임 / 류성태
Private PaaS with Docker, spring cloud and mesos uEngine SolutionsA tutorial for Implementing a private PaaS with docker, spring cloud (netflix OSS) and mesosphere's DC/OS. Including docker swarm.
웹:앱 기술 동향ssuser0e53c8외부 강연용 PPT입니다.
비전공 학원 교육생 대상으로 발표에 이용하였던 PPT이고,
세부적인 내용을 배제하였을때 약 3시간 정도 발표 시간이 나왔습니다.
원본은 Keynote이기 때문에 일부 틀어진 부분이 있을 수 있습니다.
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
업무를 빼고 가치를 더하는 클라우드 기술명신 김All companies are becoming software companies as digital transformation increases reliance on software and technology. The path to cloud migration involves refactoring, rearchitecting, or rebuilding applications to prioritize them for rehosting or modernizing on platforms like Azure. Traditional solution selling focuses on understanding recognized customer needs through open questions, while insight-based selling believes salespeople should lead with disruptive ideas to make customers aware of unknown needs.
[2020 Ignite Seoul]Azure에서 사용할 수 있는 컨테이너/오케스트레이션 기술 살펴보기명신 김This document discusses various Azure services for containers including Azure Container Registry (ACR), Azure Container Instances (ACI), Azure Kubernetes Service (AKS), and Azure App Service. ACR allows users to manage a private container registry as a first-class Azure resource. ACI provides a way to run containers without having to manage infrastructure. AKS simplifies Kubernetes deployment and management by focusing on containers instead of infrastructure. Azure App Service allows users to deploy and scale containerized web applications.
Serverless design and adoption명신 김A manufacturing company uses IoT to monitor its machines. Functions detects anomalous data and triggers a message to Service department when repair is required. Connected IoT devices producing data are sent to IoT Hub. Data with special conditions are routed to a function which processes the message and invokes Zendesk and Logic Apps to request device repair.
Durable functions명신 김This document provides examples and documentation on Azure Durable Functions patterns and concepts. It includes examples of orchestrator and activity functions, orchestration triggers, and common patterns like function chaining, fan-out/fan-in, and asynchronous HTTP responses. It also covers durable function concepts such as the control queue, work item queue, and history table.
Azure functions v2 announcement명신 김This document summarizes the new features of Azure Functions 2.0 including updated runtimes on .NET Core 2.1, decoupled language providers and bindings, support for running code from packages, and tooling updates for the CLI, Visual Studio, and VS Code. It also notes the general availability of Durable Functions and consumption mode SLA. A comparison chart shows the key differences between Functions 1.0 and 2.0 such as .NET framework version, assembly isolation, and language/binding configuration.
Azure functions명신 김This document provides information about Azure Functions, a serverless compute service that allows you to run code on-demand in response to events without provisioning or managing infrastructure. Azure Functions supports building and running application functionalities using triggers and bindings to integrate with other Azure services and supports local debugging. It is an open-source project hosted on GitHub.
Logic apps명신 김Azure Logic Apps provides a visual designer to model and automate workflows in the cloud using a variety of connectors. It allows connecting on-premises, hybrid, and cloud applications and running complex integration scenarios. Logic Apps includes over 200 out of box connectors and supports both API and application integration using the on-premises data gateway.
Serverless명신 김Principal Technical Evangelist at Microsoft who has experience with cloud computing and distributed systems. He translates unpopular books and is a former MVP. He discusses the evolution of cloud computing models from on-premises to Infrastructure as a Service (IaaS) to Platform as a Service (PaaS) to serverless computing platforms. Serverless computing allows developers to build and run applications without having to manage servers and infrastructure, with scaling and availability handled automatically.
Azure event grid명신 김This document discusses several Azure serverless services for building event-driven applications at massive scale including Event Hubs for high-volume data streams, Service Bus for critical workflows, Event Grid for business logic triggered by events, and IoT Hub. It highlights key capabilities like near real-time processing, high reliability, and massive throughput of these services.
Microservices architecture명신 김Developing a single large application as a suite of small microservices can provide benefits like improved scalability, agility, and the ability to update parts of the application independently. Some common characteristics of the microservices approach include designing systems around business capabilities, decentralized data management, and direct client-to-microservice communication through an API gateway. There are also concerns to consider like increased complexity and the need for robust monitoring.
Connect(); 2016 한시간 총정리명신 김This document discusses Microsoft's focus on mobile-first and cloud-first technologies. It describes Microsoft's principal technical evangelist and his background. It then covers Microsoft events like Connect, tools like Visual Studio, Visual Studio Code, and Visual Studio Team Services. It discusses building mobile apps and services like Visual Studio Mobile Center. It also outlines Microsoft's Azure cloud computing platform and services it provides like AI, data, and serverless computing.
VS2015 C++ new features명신 김This document summarizes Bjarne Stroustrup's keynote at Cppcon 2016 and new features in Visual Studio 2015. It discusses improvements to build times with features like whole program optimization and linker optimizations. It also covers compiler optimizations like vectorization of control flow and loop-if unswitching. New C++17 language features and the standalone Visual C++ build tools are also mentioned. Finally, it demonstrates debugging and profiling improvements in Visual Studio 2015.
Welcome to the microsoft madness명신 김The document discusses .NET and its capabilities for building applications across platforms. It can be used as a system component on Windows, run on virtual machines, and be deployed with applications. Code can be edited in Visual Studio and compiled to native for each platform, allowing shared codebases while accessing native APIs and delivering high performance. This allows building applications with a single C# codebase that can target iOS, Windows, and Android with native UIs and shared logic.
2. built on Chrome's JavaScript runtime
easily fast, scalable
event-driven, non-blocking I/O model lightweight
and efficient perfect for data-intensive real-time
distributed devices.
http://nodejs.org/
Node.js®는 빠르고 확장 가능한 네크워크 응용 프로그램을 쉽게 빌드 하기 위해 크롬 자바스크립트 런타임을 기반
으로 구축된 플랫폼이다. 노드는 다양한 장치에서 데이터 중심의 실시간 응용 프로그램을 수행하려는 경우 이벤트
기반, 넌 글로킹 I/O 모델을 사용하기 때문에 가볍고, 효과적이며, 완벽하다.
3. built on Chrome's JavaScript runtime
easily fast scalable
event-driven non-blocking I/O model lightweight
efficient perfect data-intensive real-time
distributed devices.
Node.js®는 빠르고 확장 가능한 네크워크 응용 프로그램을 쉽게 빌드 하기 위해 크롬 자바스크립트 런타임을 기반
으로 구축된 플랫폼이다. 노드는 다양한 장치에서 데이터 중심의 실시간 응용 프로그램을 수행하려는 경우 이벤트
기반, 넌 글로킹 I/O 모델을 사용하기 때문에 가볍고, 효과적이며, 완벽하다.
4. Node.js®는 브라우져 바깥에서 자바스크립트 응용 프로그램을 수행할 수 있도록 해주는 런타임 환경과 라이브러리
이다.
Node.js®는 크롬 자바스크립트 런타임을 기반으로 구축된 플랫폼이다. 노드는 다양한 장치에서 이벤트 기반, 넌 글
로킹 I/O 모델을 사용한다.
7. • JavaScript Runtime 엔진 중 하나(e.g. SpiderMonkey, Chakra, Rhino, …)
• Google의 JavaScript 엔진
• Google Chrome에서 사용되고 있으며, C++로 개발
• 컴파일(JIT)된 코드는 필요에 따라 최적화를 위한 재컴파일이 이루어짐
• Generational Garbage collector
• ECMAScript, 5th edition 구현
• Danish Magic
Lars Bak
http://code.google.com/p/v8/
9. 2006년 이후 꾸준히 Outside Browser에서 사용되긴 하였으나…
• Performance : 2008-2010, 업계의 꾸준한 노력(Chakra, V8, Nitro, …)
• 의존성 문제를 해결하는 공통의 저장소 : Jam, npm, Bower, …
• Tooling : Visual Studio, Sublime, WebStorm, …
• Modulation(모듈 정의/사용) : CommonJS / AMD(Asynchronous Module Definition)
구분 CommonJS AMD
Browser curl.js, SproutCore, PINF curl.js, RequreJS, PINF,
bdLoad, Yabble
Server Side Node.js, Narwhal,
Persevere
RequireJS, PINF
10. • 마우스, 센서, 메시지, 혹은 다른 프로그램이나 스레드의 이벤트에 의해
서 프로그램의 흐름이 결정되는 구조
• GUI 기반 응용 프로그램이나 이벤트 처리 중심의 응용 프로그램 개발
시에 널리 사용되는 패러다임
• 일반적으로, 메일 루프가 이벤트를 수신하고,
개별 이벤트 처리기를 호출 해 주는 방식
Event Queue
Event Loop
Thread Pool
Thread
Thread
Thread
Async I/O
11. Blocking I/O
Req. I/O
Resp. I/O
I/OOperation
Waiting
Req. I/O
Noti. I/O completion
I/OOperation
Non Blocking I/O
a b a b
event
12. V8
Node API Event Queue
Event Loop
Thread Pool
Thread
Thread
Thread
Async I/O
libuvnpm
13. • 서버 측 응용 프로그램 개발에도 JavaScript 기술을 그대로 사용
• 단일의 개발 환경과 언어
• 2009년 라이언 달(Ryan Dahl)이 개발하여 오픈 소스화
• 여전히 베타, v0.10.33
• Joyent가 스폰서
• MEAN(MongoDB, Express.js, Angular.js, Node.js)
: Free and open-source solution stack
for building dynamic web sites
Ryan Dahl
15. • 데뷰 5년만에, GitHub에서 3번째로 가장 많은 프로젝트가 진행중
• 한 달에 2,000,000 다운로드
• V0.10x는 20,000,000 다운로드
• Over 107,538 modules on npm.
• Over 475 meetups worldwide talking about Node.
https://www.npmjs.org/