[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
네이버 오픈소스 세미나 - Performance does matter
2019.07.11
<세션 요약>
네이버 서비스에서 사내 서버리스 플랫폼까지 흘러가는 트랜잭션을 추적하고 분석하기 위해 개발한 Pinpoint의 Apache Openwhisk 플러그인과 그 개발 과정을 소개합니다.
Apache Openwhisk는 서버리스 플랫폼을 구축할 수 있는 오픈소스 프로젝트로 스칼라 언어와 Akka 라이브러리를 사용한 Actor 모델에 기반하고 있습니다. 스칼라 언어로 작성된 애플리케이션을 위한 Pinpoint 플러그인을 만들면서 겪었던 문제들과 해결했던 과정들을 위주로 설명드릴 예정입니다.
<연사 소개>
네이버에서 Serverless 플랫폼을 개발하고 있으며, 다양한 오픈소스 프로젝트에 관심이 많습니다.
Apache Openwhisk contributor로 활동하면서, Openwhisk 기반 서버리스 플랫폼의 트레이싱을 위한 Pinpoint 플러그인을 개발하고 컨트리뷰션을 진행하고 있습니다.
<p>
[데브멘토 동영상] 박현철 BlueFish System CTO 2부 최종</p>
<p>
실전 윈도우폰 망고 앱 디자인& 개발</p>
<p>
코드네임 ‘망고’업데이트, 윈도우폰 앱 개발A to Z</p>
<p>
이번 동영상은Windows Phone에서 멀티 태스킹 지원이 어떻게 변경됐고FAS 구조와 멀티태스킹 아키텍처에 대해 알기 쉽게 설명한다. 특히 윈도우폰 망고 앱을 개발했을 때 필요한Multitasking API에 대한 예제를 직접 데모로 보여준다.</p>
<p>
</p>
<p>
박현철CTO는 Windows Phone MVP와WinMoDev 부시삽으로 활동하고 있으며 루나네스의 이상한 연구소 블로그를 운영하고 있다. 현재 모바일 솔루션 개발업체BlueFish System CTO로 재직하고 있다.</p>
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
네이버 오픈소스 세미나 - Performance does matter
2019.07.11
<세션 요약>
네이버 서비스에서 사내 서버리스 플랫폼까지 흘러가는 트랜잭션을 추적하고 분석하기 위해 개발한 Pinpoint의 Apache Openwhisk 플러그인과 그 개발 과정을 소개합니다.
Apache Openwhisk는 서버리스 플랫폼을 구축할 수 있는 오픈소스 프로젝트로 스칼라 언어와 Akka 라이브러리를 사용한 Actor 모델에 기반하고 있습니다. 스칼라 언어로 작성된 애플리케이션을 위한 Pinpoint 플러그인을 만들면서 겪었던 문제들과 해결했던 과정들을 위주로 설명드릴 예정입니다.
<연사 소개>
네이버에서 Serverless 플랫폼을 개발하고 있으며, 다양한 오픈소스 프로젝트에 관심이 많습니다.
Apache Openwhisk contributor로 활동하면서, Openwhisk 기반 서버리스 플랫폼의 트레이싱을 위한 Pinpoint 플러그인을 개발하고 컨트리뷰션을 진행하고 있습니다.
<p>
[데브멘토 동영상] 박현철 BlueFish System CTO 2부 최종</p>
<p>
실전 윈도우폰 망고 앱 디자인& 개발</p>
<p>
코드네임 ‘망고’업데이트, 윈도우폰 앱 개발A to Z</p>
<p>
이번 동영상은Windows Phone에서 멀티 태스킹 지원이 어떻게 변경됐고FAS 구조와 멀티태스킹 아키텍처에 대해 알기 쉽게 설명한다. 특히 윈도우폰 망고 앱을 개발했을 때 필요한Multitasking API에 대한 예제를 직접 데모로 보여준다.</p>
<p>
</p>
<p>
박현철CTO는 Windows Phone MVP와WinMoDev 부시삽으로 활동하고 있으며 루나네스의 이상한 연구소 블로그를 운영하고 있다. 현재 모바일 솔루션 개발업체BlueFish System CTO로 재직하고 있다.</p>
갑을병정 산업구조에서 갑돌이의 잦은 요구사항 변경 통보를 받아보셨을 겁니다. 사람들에게 받은 스트레스를 풀려고 '그래! 난 개발자닌깐' 하고 자리에 앉아서 코드를 짜는데 반복적인 작업을 하다보면 ‘내가 이걸 왜 하고 있나’ 라는 생각까지 들기도 합니다.
안드로이드 작업을 하다보면 다음과 같은 반복적인 작업을 하는 것을 느꼈을 겁니다.
반복적인 보일러(Boiler)코드를 줄일 수 있는 오픈소스를 소개하고자 합니다.
Spring integration을 통해_살펴본_메시징_세계Wangeun Lee
[스프링캠프 2015] Spring Integration을 통해 살펴본 메시징 세계 발표자료 입니다.
예제 소스 저장소는 프리젠테이션 안에 링크 걸어놨습니다.
감사합니다.
-------------------------------------------------------------------
우리는 늘 누군가와 소통(Communication)을 합니다. 소통을 통하여 누군가에게 일을 시키기도 하고 내가 일을 받기도 합니다. 애플리케이션도 마찬가지로 이기종간의 애플리케이션끼리 데이터로 소통을 하며 할 일을 서로 분산 처리할 상황이 발생하기도 합니다.
이런 분산 처리 이전에는 소통이 전제되어야 합니다. 애플리케이션 간 소통에 대한 고민은 선구자들에 의해 Enterprise Integration Patterns로 탄생되었으며 Spring에서도 그 패턴화의 추상화 일원으로 Spring Integration을 탄생시켰습니다.
이 강연에서는 Spring Integration을 통해 애플리케이션 간에 어떻게 쉽고 편하게(?) 소통을 할 수 있게 되었는지 살펴보며 예제와 사례를 통해 Spring Integration 입문에 도움을 주고자 합니다.
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIHyunghun Cho
Do IoT Yourself 세미나의 세 번째 발표 자료 프리뷰입니다.
이번 세미나에서는 지난 세미나에서 개발한 아두이노 기반 온도 센서 정보를 RESTful Web API 형태의 Open API로 개발하는 과정을 다룹니다.
프리뷰 자료이기 때문에 이후 수정, 변경될 가능성이 있으니 양해 바랍니다.
갑을병정 산업구조에서 갑돌이의 잦은 요구사항 변경 통보를 받아보셨을 겁니다. 사람들에게 받은 스트레스를 풀려고 '그래! 난 개발자닌깐' 하고 자리에 앉아서 코드를 짜는데 반복적인 작업을 하다보면 ‘내가 이걸 왜 하고 있나’ 라는 생각까지 들기도 합니다.
안드로이드 작업을 하다보면 다음과 같은 반복적인 작업을 하는 것을 느꼈을 겁니다.
반복적인 보일러(Boiler)코드를 줄일 수 있는 오픈소스를 소개하고자 합니다.
Spring integration을 통해_살펴본_메시징_세계Wangeun Lee
[스프링캠프 2015] Spring Integration을 통해 살펴본 메시징 세계 발표자료 입니다.
예제 소스 저장소는 프리젠테이션 안에 링크 걸어놨습니다.
감사합니다.
-------------------------------------------------------------------
우리는 늘 누군가와 소통(Communication)을 합니다. 소통을 통하여 누군가에게 일을 시키기도 하고 내가 일을 받기도 합니다. 애플리케이션도 마찬가지로 이기종간의 애플리케이션끼리 데이터로 소통을 하며 할 일을 서로 분산 처리할 상황이 발생하기도 합니다.
이런 분산 처리 이전에는 소통이 전제되어야 합니다. 애플리케이션 간 소통에 대한 고민은 선구자들에 의해 Enterprise Integration Patterns로 탄생되었으며 Spring에서도 그 패턴화의 추상화 일원으로 Spring Integration을 탄생시켰습니다.
이 강연에서는 Spring Integration을 통해 애플리케이션 간에 어떻게 쉽고 편하게(?) 소통을 할 수 있게 되었는지 살펴보며 예제와 사례를 통해 Spring Integration 입문에 도움을 주고자 합니다.
Do IoT Yourself! - 사물 간의 연결을 위한 Open APIHyunghun Cho
Do IoT Yourself 세미나의 세 번째 발표 자료 프리뷰입니다.
이번 세미나에서는 지난 세미나에서 개발한 아두이노 기반 온도 센서 정보를 RESTful Web API 형태의 Open API로 개발하는 과정을 다룹니다.
프리뷰 자료이기 때문에 이후 수정, 변경될 가능성이 있으니 양해 바랍니다.
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경영욱 김
This document discusses Visual Studio Code and how it can be used as a lightweight code editor in the cloud. It provides an overview of VS Code's features like IntelliSense, debugging, source control integration, and support for multiple programming languages. It also explains how VS Code connects to language servers to provide richer editing capabilities. Examples of language servers mentioned are OmniSharp for C# and the TypeScript server. The document also briefly introduces Azure services that can be used to deploy and host apps developed in VS Code.
This document provides an overview of developing an IoT service by learning from case studies. It discusses technologies used in an solar energy monitoring web app including AMQP, WebSockets, Azure Web Apps, Arduino, Raspberry Pi, and IoT gateways. It also outlines Azure services that can be used for streaming analytics including Event Hubs, Stream Analytics, HDInsight, and Machine Learning. Key capabilities of Event Hubs are mentioned like scalability, integration with analytics services, and storage adapters.
The document discusses introducing Universal Windows Platform (UWP) app development. It covers key topics like XAML controls, networking, LINQ, adaptive UI, data binding, SQLite local database, and toasts. The presentation includes demos of using these features to build a UWP app that retrieves and displays book data from an API and stores it in a local SQLite database.
The document discusses adaptive UI design for Windows 10 applications. It introduces visual states that allow defining unique layouts for different device families and screen sizes. Developers can use adaptive triggers to automatically transition between visual states based on properties like window width. The document demonstrates visual states, adaptive triggers, and the RelativePanel control to simplify building adaptive UIs with Visual State Setters that rearrange elements between states. It recommends testing for one-handed interfaces on smaller devices and provides resources for learning more.
The document discusses Windows 10 and app development for various Windows 10 devices. It covers the Universal Windows Platform (UWP) which allows developers to write apps once and run them on any device running Windows 10, including phones, tablets, Xbox, desktops and more. It provides information on tools like Visual Studio 2015 for UWP app development. It also discusses bridging technologies that allow bringing code written for other platforms like iOS and Android to the UWP through projects like Islandwood and Astoria.
This document provides code samples for building a Windows 10 app that searches for book information using a Daum API, displays search results, allows adding books to a SQLite database, and viewing the stored books. It includes steps for setting up the UI with SplitView, adding search/filter functionality, making network requests, parsing the XML response, binding data to controls, and implementing features like adaptive layouts, notifications and hardware button handling for different devices.
This document provides an overview and agenda for a 4-hour workshop on Windows 10 app development. The agenda includes introductions to Universal Windows Platform (UWP), XAML controls, networking, LINQ, data binding, SQLite local database, toast notifications, and adaptive user interfaces. It also demonstrates some basic concepts like making HTTP requests, using LINQ queries, and handling different device orientations through visual states.
2015.02.05 IoT Convergence 2015에서 발표한 세션의 슬라이드 입니다. Microsoft IoT 와 서비스 개발에 관한 이야기를 정리했습니다.
Microsoft 디바이스와 서비스 그리고 소프트웨어 개발에 관한 내용이 작년보다 더 많이 정리된 내용을 포함했습니다.
2. 2014년 1월 새해 명품 특강!
센서 활용 앱 개발
Notice
<테크데이즈 미니 앱개발 세미나 웹페이지>
앱 개발자를 위한 시리즈 세미나
<테크데이즈 미니 토요세미나 웹페이지>
개발&기술 내용을 심도있게 전달하는 시리즈 세미나
http://aka.ms/techdaysminiappdev
• 지난 세션 자료 열람
• 2월, 3월 세미나 사전등록
http://aka.ms/techdaysminisat
• 지난 세션 자료 열람(Visual Studio 2013, C#)
• 1월 25일 <ASP.NET, 서비스 플랫폼으로 날다!> 사전등록
4. 2014년 1월 새해 명품 특강!
센서 활용 앱 개발
경품추첨
마이크로소프트 웨지 모바일 키보드
스컬프트 컴포트 마우스
Notice
• 행사 종료 후 설문지를 작성하여 등록 데스크에 제출해 주세요. 소정의 기념품을 드립니다.
5. 2014년 1월 새해 명품 특강!
센서 활용 앱 개발
센서와 위치정보를 이용한
LBS(Location Base Service) 만들
기
- 한국마이크로소프트 김영욱 에반젤리스트
6.
7. •Lenovo Miix 2 8 - 32GB
•2-cell lithium-polymer battery
•Microsoft Office Home and Student Edition
•Owner's manual
•Dell Venue 8 Pro
•Up to 10 Hours battery life time
•Intel Bay Trail –T
22. CivicAddress
Represents the civic address data associated with a geographic location.
Geocircle
Describes a geographic circle with a center point and a radius.
Geocoordinate
Contains the information for identifying a geographic location.
GeocoordinateSatelliteData
Provides additional information about a Geocoordinate. This information is only a
pplicable to position estimates obtained using satellite signals.
Geolocator
Provides access to the current geographic location.
Geopoint
Describes a geographic point.
Geoposition
Represents a location that may contain latitude and longitude data or civic addres
s data.
PositionChangedEventArgs
Provides data for the PositionChanged event.
StatusChangedEventArgs
Provides information for the StatusChanged event.
23. Events
PositionChanged
Raised when the location is updated.
StatusChanged
Raised when the ability of the Geolocator to provide updated location changes.
Method
GetGeopositionAsync()
Starts an asynchronous operation to retrieve the curre
nt location of the device.
GetGeopositionAsync(TimeSpan, TimeSpan)
Starts an asynchronous operation to retrieve the curre
nt location of the device.
24. Property
속성
사용 권한
DesiredAccuracy
읽기/쓰기
DesiredAccuracyInMeters
읽기/쓰기
LocationStatus
읽기 전용
MovementThreshold
읽기/쓰기
ReportInterval
읽기/쓰기
Description
The accuracy level at which the Geolocator provides locatio
n updates.
Gets or sets the desired accuracy in meters for data return
ed from the location service.
The status that indicates the ability of the Geolocator to pro
vide location updates.
Gets and sets the distance of movement, in meters, relative
to the coordinate from the last PositionChanged event, that
is required for the Geolocator to raise a PositionChanged e
vent.
The requested minimum time interval between location upd
ates, in milliseconds. If your application requires updates in
frequently, set this value so that the location provider can c
onserve power by calculating location only when needed.
25. namespace GeolocationApp
{
public sealed partial class MainPage : Page
{
private Geolocator geolocator = null;
public MainPage()
{
this.InitializeComponent();
geolocator = new Geolocator();
}
………………………………………………….
27. private string GetStatusString(PositionStatus status)
{
var strStatus = "";
switch (status)
{
case PositionStatus.Ready:
strStatus = "Location is available.";
break;
PositionStatus.Initializing
PositionStatus.NoData
PositionStatus.Disabled
PositionStatus.NotInitialized
PositionStatus.NotAvailable
: 초기화
: 데이터가 들어오지 않는 경우
: 사용할 수 없는 경우
: 초기화 되지 않은 경우
: 위치 정보가 존재하지 않는 경우
28. private string GetStatusString(PositionStatus status)
{
var strStatus = "";
switch (status)
{
case PositionStatus.Ready:
strStatus = "Location is available.";
break;
PositionStatus.Initializing
PositionStatus.NoData
PositionStatus.Disabled
PositionStatus.NotInitialized
PositionStatus.NotAvailable
: 초기화
: 데이터가 들어오지 않는 경우
: 사용할 수 없는 경우
: 초기화 되지 않은 경우
: 위치 정보가 존재하지 않는 경우
32. Events
ReadingChanged
Occurs each time the compass reports a new sensor reading.
Method
GetCurrentReading
Gets the current compass reading.
GetDefault
Returns the default compass.
Property
MinimumReportInterval
읽기 전용
Gets the minimum report interval supported by the compass.
ReportInterval
읽기/쓰기
Gets or sets the current report interval for the compass.
33.
34. Events
ReadingChanged
Occurs each time the accelerometer reports a new sensor reading.
Shaken
Occurs when the accelerometer detects that the PC has been shaken.
Method
GetCurrentReading
Gets the current accelerometer reading.
GetDefault
Returns the default accelerometer.
Property
MinimumReportInterval
읽기 전용
Gets the minimum report interval supported by the accelerometer.
ReportInterval
읽기/쓰기
Gets or sets the current report interval for the accelerometer.
35.
36. Events
ReadingChanged
Occurs each time the gyrometer reports the current sensor reading.
Method
GetCurrentReading
Gets the current gyrometer reading.
GetDefault
Returns the default gyrometer.
Property
MinimumReportInterval
읽기 전용
Gets the minimum report interval supported by the gyrometer.
ReportInterval
읽기/쓰기
Gets or sets the current report interval for the gyrometer.
37.
38. Events
ReadingChanged
Occurs each time the inclinometer reports the current sensor reading.
Method
GetCurrentReading
Gets the current inclinometer reading.
GetDefault
Returns the default inclinometer .
Property
MinimumReportInterval
읽기 전용
Gets the minimum report interval supported by the inclinometer
ReportInterval
읽기/쓰기
Gets or sets the current report interval for the inclinometer .
39.
40. Events
ReadingChanged
Occurs each time the ambient-light reports the current sensor reading.
Method
GetCurrentReading
Gets the current ambient-light reading.
GetDefault
Returns the default ambient-light.
Property
MinimumReportInterval
읽기 전용
Gets the minimum report interval supported by the ambient-light.
ReportInterval
읽기/쓰기
Gets or sets the current report interval for the ambient-light.
41.
42. ManipulationCompleted
UIElement 개체에서 조작이 완료되고 활동이 없게 될 때 발생합니다.
ManipulationDelta
입력 장치에서 조작 중에 위치를 변경하면 발생합니다.
ManipulationInertiaStarting
입력 장치에서 조작 중에 UIElement 개체와의 연결이 끊어져 활동이 없게
될 때 발생합니다.
ManipulationStarted
입력 장치가 UIElement 개체에서 조작을 시작할 때 발생합니다.
ManipulationStarting
조작 프로세서가 처음으로 만들어지면 발생합니다.
56. 함께 삽질 할 때,
우린 아무것도 두려울 것이 없었다 !
윈도우 & 윈도우폰 개발 모임 시즌3
1월 16일 ~ 3월 27일
개발주제
자유
참석 조건
개발의지만 있다면 누구나 , 최소 3회 참여
날짜
격주 목요일
다음 모임
1월 28일 (화) : 설 연휴 관계로 이날만 화요일
특전
개발
기간
장소 지원 (at 광화문오피스)
다과 및 뒷풀이
시즌 종료까지 앱 업로드를 마친 개발자에게
경품 증정
App of 시즌3 수상자에게 8인치 Tablet 증정
기대효과
개발 이슈 및 주요 내용 공유
고수의 원포인트 레슨
개발 중간내용을 공유하며 개발 동기부여
참여방법
페이스북 페이지 좋아요 클릭 & 모임 출석
https://www.facebook.com/groups/vvapps/
57. 2014년 1월 새해 명품 특강!
센서 활용 앱 개발
경품추첨
마이크로소프트 웨지 모바일 키보드
스컬프트 컴포트 마우스
Notice
• 행사 종료 후 설문지를 작성하여 등록 데스크에 제출해 주세요. 소정의 기념품을 드립니다.
Editor's Notes
The 9-axis system is standard equipment in Windows 8 tablets (designed and certified) .. Accelerometer == acceleration due to gravity.. Gyro == rotational speeds around x,y,z of the device.. Magnetometer == magenetic field strenghts.. Pass-through data is easy.. Hardware accelerometer data is given to you via an accelerometer API.. The interesting magic happens when we get to sensor fusion.. Compass is a tilt-compensated compass you can use to always know where north is.. Inclinomenter = yaw pitch and raw.. Representing device orientation in 3D space.. DeviceOrientation exposes rotation matrix data..
The 9-axis system is standard equipment in Windows 8 tablets (designed and certified) .. Accelerometer == acceleration due to gravity.. Gyro == rotational speeds around x,y,z of the device.. Magnetometer == magenetic field strenghts.. Pass-through data is easy.. Hardware accelerometer data is given to you via an accelerometer API.. The interesting magic happens when we get to sensor fusion.. Compass is a tilt-compensated compass you can use to always know where north is.. Inclinomenter = yaw pitch and raw.. Representing device orientation in 3D space.. DeviceOrientation exposes rotation matrix data..