HTML5 의 표준 권고안이 채택되면서 HTML5는 엄청난 속도로 웹 전반에 걸쳐 보급되고 있습니다. HTML5 와 기존의 HTML4 / XHTML 1.1 과의 가장 큰 차잇점은 웹을 바라보는 관점입니다. 웹브라우저를 저작 플랫폼이 아닌 실행 환경으로 바라보는 HTML5의 독특한 관점은 webcomponent 에 잘 드러나 있습니다. 이 발표에서는 webcomponent 의 개념 및 역사를 훑고, webcomponent 오픈소스 구현체들인 webcomponents.js 및 구글의 Polymer, 모질라의 x-tag 과 함께 페이스북의 React 와의 비교 및 브라우저 대응에 대한 내용을 다룹니다.
Web Components are like Lego bricks. Easy to assemble and every piece simply fits together. But there is even more to it. Being able to create your own HTML-Tags with encapsulated style & logic changes the way you think about structuring your web applications. Get a sneak peek on how to develop scalable & maintainable applications in the future.
A short introduction to web components. The talk covers the basic standard specified by W3c like HTML imports, templates, shadow DOM and custom elements.
Further a short overview of polyme, x-tags/Brick is given and shows how these bring together native browser implementation, polyfills and framework code to leverage web components technology today.
Given at CSS Dev Conf 2014 in New Orleans on October 14, 2014.
This full presentation written with Web Components can be viewed with Chrome 36+ online at http://andrewrota.github.io/web-components-and-modular-css-presentation/presentation/index.html#0.
The source of the presentation is available on GitHub: https://github.com/andrewrota/web-components-and-modular-css-presentation.
Levent-Gurses' Introduction to Web Components & PolymerErik Isaksen
This is in a developer-focused session on developing iOS apps with Web Components and Google Polymer.
Web Components usher in a new era of web development based on encapsulated and interoperable custom elements that extend HTML itself. Built atop these new standards, Polymer makes it easier and faster to create anything from a button to a complete application across desktop, mobile, and beyond.
The said coding with JavaScript is for toying also. There no way to do serious software engineering with JavaScript. The JS community proved that quote is wrong - this talk argues the same way.
Web Components are like Lego bricks. Easy to assemble and every piece simply fits together. But there is even more to it. Being able to create your own HTML-Tags with encapsulated style & logic changes the way you think about structuring your web applications. Get a sneak peek on how to develop scalable & maintainable applications in the future.
A short introduction to web components. The talk covers the basic standard specified by W3c like HTML imports, templates, shadow DOM and custom elements.
Further a short overview of polyme, x-tags/Brick is given and shows how these bring together native browser implementation, polyfills and framework code to leverage web components technology today.
Given at CSS Dev Conf 2014 in New Orleans on October 14, 2014.
This full presentation written with Web Components can be viewed with Chrome 36+ online at http://andrewrota.github.io/web-components-and-modular-css-presentation/presentation/index.html#0.
The source of the presentation is available on GitHub: https://github.com/andrewrota/web-components-and-modular-css-presentation.
Levent-Gurses' Introduction to Web Components & PolymerErik Isaksen
This is in a developer-focused session on developing iOS apps with Web Components and Google Polymer.
Web Components usher in a new era of web development based on encapsulated and interoperable custom elements that extend HTML itself. Built atop these new standards, Polymer makes it easier and faster to create anything from a button to a complete application across desktop, mobile, and beyond.
The said coding with JavaScript is for toying also. There no way to do serious software engineering with JavaScript. The JS community proved that quote is wrong - this talk argues the same way.
In this presentation we'll take a look at building a full stack web application using Polymer and Web Components. After a quick introduction to Polymer, we’ll see how we can handle things like authentication, pagination of large data sets, and adapting our UI to different viewports. We’ll also review what’s needed for moving our app to production and optimizing our User Experience with quick load times and transition animations.
Custom Elements with Polymer Web Components #econfpsu16John Riviello
If you haven’t explored Web Components yet, you’re missing out on a powerful tool that can greatly enhance reusability of common web elements throughout your websites and web applications. As Comcast has been updating our web properties to unify under a single UX, using Web Components with Polymer has helped make that process much more efficient. In nearly 2 years while creating hundreds of our own custom elements, we’ve learned a lot about the benefits & drawbacks to Polymer along the way. This case study will introduce Polymer & Web Components, demonstrate when Polymer is useful, when other options should be considered, and what it takes to deploy Polymer components to millions of customers.
The Slides for a talk I gave on Blazor a few weeks after it's initial public preview.
A recorded version of the talk is available on YouTube at: https://www.youtube.com/watch?v=nzGHw9ZzO1s
Slides from an HTML5 overview session I presented at work...
This presentation has an accompanying sample webapp project: http://code.google.com/p/html5-playground
Slides from Node.js and Twitter Bootstrap crash course given to Penn Graduate Computing Club. Covers creating basic node app, using the bootstrap grid, and deploying to an EC2 machine.
Polymer vs other libraries (Devfest Ukraine 2015)jskvara
Most modern front-end JavaScript libraries provide support for component based development. Components help separate large applications into standalone building blocks with specified communication API. Let's compare Polymer elements with components from React, Angular.
In this session we’ll talk about the evolving ASP.NET platform and what’s new with .NET 5, as well as what’s coming with .NET 6. Modern ASP.NET applications will take advantage of .NET full-stack using Microsoft’s Blazor framework. We’ll discuss how the new framework coupled with Telerik UI for Blazor cut development time and boost productivity.
For .NET developers, writing client side C# has always been a pipe dream. With the introduction of Blazor this all changes. Blazor is a .NET web framework that runs in any browser. Blazor uses the latest in web standards, WebAssembly. This means no plugins, transpilation, or JavaScript are needed.
In this session we’ll explore what Blazor means for web development and learn about how this experiment at Microsoft is shaping up. Blazor runs in the browser on a real .NET runtime (Mono) implemented in WebAssembly that executes normal .NET assemblies.
Progressive Downloads and Rendering - take #2Stoyan Stefanov
HighLoad++ presentation including:
- single stream data URIs and MHTML
- in CSS and <img> tags
- lazy evaluation, lazy JS and lazy HTML experiment
- browser chrome search preload
- Amazon's post-loaded content
- Google instant's chunks
Meet web components - a new draft spec proposed by Google and used to write reusable and encapsulated widgets that can be attached to DOM isolated.
by Anna Khabibullina, Co-Founder at DA-14
for Kharkiv JS&UI Meetup #1
Polymer의 기술기반인 Web Componets를 구성하는 표준 스펙들인 Custom Elements, HTML Imports, HTML Templates 그리고 Shadow DOM을 간략히 살펴본다.
Polymer의 아키텍처 및 기본적인 사용방법 그리고 material design이 적용된 paper elements 등을 살펴본다.
In this presentation we'll take a look at building a full stack web application using Polymer and Web Components. After a quick introduction to Polymer, we’ll see how we can handle things like authentication, pagination of large data sets, and adapting our UI to different viewports. We’ll also review what’s needed for moving our app to production and optimizing our User Experience with quick load times and transition animations.
Custom Elements with Polymer Web Components #econfpsu16John Riviello
If you haven’t explored Web Components yet, you’re missing out on a powerful tool that can greatly enhance reusability of common web elements throughout your websites and web applications. As Comcast has been updating our web properties to unify under a single UX, using Web Components with Polymer has helped make that process much more efficient. In nearly 2 years while creating hundreds of our own custom elements, we’ve learned a lot about the benefits & drawbacks to Polymer along the way. This case study will introduce Polymer & Web Components, demonstrate when Polymer is useful, when other options should be considered, and what it takes to deploy Polymer components to millions of customers.
The Slides for a talk I gave on Blazor a few weeks after it's initial public preview.
A recorded version of the talk is available on YouTube at: https://www.youtube.com/watch?v=nzGHw9ZzO1s
Slides from an HTML5 overview session I presented at work...
This presentation has an accompanying sample webapp project: http://code.google.com/p/html5-playground
Slides from Node.js and Twitter Bootstrap crash course given to Penn Graduate Computing Club. Covers creating basic node app, using the bootstrap grid, and deploying to an EC2 machine.
Polymer vs other libraries (Devfest Ukraine 2015)jskvara
Most modern front-end JavaScript libraries provide support for component based development. Components help separate large applications into standalone building blocks with specified communication API. Let's compare Polymer elements with components from React, Angular.
In this session we’ll talk about the evolving ASP.NET platform and what’s new with .NET 5, as well as what’s coming with .NET 6. Modern ASP.NET applications will take advantage of .NET full-stack using Microsoft’s Blazor framework. We’ll discuss how the new framework coupled with Telerik UI for Blazor cut development time and boost productivity.
For .NET developers, writing client side C# has always been a pipe dream. With the introduction of Blazor this all changes. Blazor is a .NET web framework that runs in any browser. Blazor uses the latest in web standards, WebAssembly. This means no plugins, transpilation, or JavaScript are needed.
In this session we’ll explore what Blazor means for web development and learn about how this experiment at Microsoft is shaping up. Blazor runs in the browser on a real .NET runtime (Mono) implemented in WebAssembly that executes normal .NET assemblies.
Progressive Downloads and Rendering - take #2Stoyan Stefanov
HighLoad++ presentation including:
- single stream data URIs and MHTML
- in CSS and <img> tags
- lazy evaluation, lazy JS and lazy HTML experiment
- browser chrome search preload
- Amazon's post-loaded content
- Google instant's chunks
Meet web components - a new draft spec proposed by Google and used to write reusable and encapsulated widgets that can be attached to DOM isolated.
by Anna Khabibullina, Co-Founder at DA-14
for Kharkiv JS&UI Meetup #1
Polymer의 기술기반인 Web Componets를 구성하는 표준 스펙들인 Custom Elements, HTML Imports, HTML Templates 그리고 Shadow DOM을 간략히 살펴본다.
Polymer의 아키텍처 및 기본적인 사용방법 그리고 material design이 적용된 paper elements 등을 살펴본다.
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
GDG Korea WebTech : 시작하세요, Polymer, Oct, 11, 2014.
Let's learn about specifications before diving into Polymer:
- Web Components
- Web Animations
This slide includes resources from HTML5Rocks, Polymer and PolyTechnic.
Chat bot making process using Python 3 & TensorFlowJeongkyu Shin
Recently, chat bot has become the center of public attention as a new mobile user interface since 2015. Chat bots are widely used to reduce human-to-human interaction, from consultation to online shopping and negotiation, and still expanding the application coverage. Also, chat bot is the basic of conversational interface and non-physical input interface with combination of voice recognition.
Traditional chat bots were developed based on the natural language processing (NLP) and bayesian statistics for user intention recognition and template-based response. However, since 2012, accelerated advance in deep-learning technology and NLPs using deep-learning opened the possibilities to create chat bots with machine learning. Machine learning (ML)-based chat bot development has advantages, for instance, ML-based bots can generate (somewhat non-sense but acceptable) responses to random asks that has no connection with the context once the model is constructed with appropriate learning level.
In this talk, I will introduce the garage chat bot creation process step-by-step. I share the idea and implementations of multi-modal machine learning model with context engine and conversion engine. Also, how to implement Korean natural language processing, continuous conversion and tone manipulation is also discussed.
Chat bot (챗 봇)은 2015년부터 모바일을 중심으로 새로운 사용자 UI로 주목받고 있다. 챗 봇은 상담시 인간-인간 인터랙션을 줄이는 용도부터 온라인 쇼핑 구매에 이르기까지 다양한 분야에 활용되고 있으며 그 범위를 넓혀 나가고 있다. 챗 봇은 대화형 인터페이스의 기초이면서 동시에 (음성 인식과 결합을 통한) 무입력 방식 인터페이스의 기반 기술이기도 하다.
기존의 챗 봇들은 자연어 분석과 베이지안 통계에 기반한 사용자 의도 패턴 인식과 그에 따른 템플릿 응답을 기본 원리로 하여 개발되었다. 그러나 2012년 이후 급속도로 발전한 딥러닝 및 그에 기초한 자연어 인식 기술은 기계 학습을 이용해 챗 봇을 만들 수 있는 가능성을 열었다. 기계학습을 통해 챗 봇을 개발할 경우, 충분한 학습도의 모델을 구축한 후에는 학습 데이터에 따라 컨텍스트에서 벗어난 임의의 문장 입력에 대해서도 적당한 답을 생성할 수 있다는 장점이 있다.
이 발표에서는 Python 3 및 TensorFlow를 이용하여 딥러닝 기반의 챗 봇을 만들 경우에 경험하게 되는 문제점들 및 해결 방법을 다룬다. 봇의 컨텍스트 엔진과 대화 엔진간의 다형성 모델을 구현하고 연결하는 아이디어와 함께 자연어 처리 및 연속 대화 구현, 어법 처리 등을 어떻게 모델링할 수 있는 지에 대한 아이디어 및 구현과 팁을 공유하고자 한다.
Developing webapp using Polymer : is it ready for production? or not?Jeongkyu Shin
Lightening talk material for 2015 Google I/O extended Seoul. This presentation covers those topics:
* HTML5, webcompoents and simple introduction to Polymer library
* Working with Polymer library: is polymer library really ready for the production?
* Current problems of polymer library
* Advantage of polymer library
* Summary
2013년 11월, HTML5 융합기술 포럼 창립 기념 세미나 발표자료
전자출판표준인 EPUB3는 HTML5, CSS3, Java Script를 근간으로 한 일종의 프로파일링 표준이다. 왜 EPUB3를 개발하게 되었는지에 대한 배경과 HTML5의 킬러 애플리케이션으로서 전자출판 분야에 대한 역할과 기대를 설명한 자료이다.
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015Jeongkyu Shin
현대 과학 연구에는 컴퓨터를 이용한 계산 및 분석 작업이 필수적입니다. 그러나 거대 스케일의 계산 및 분석 작업을 수행할 경우 컴퓨팅 리소스의 적절한 관리 및 확장 용이성을 확보하는 것은 많은 리소스를 필요로 합니다. 우리는 컴퓨터 계산 작업 및 분석 작업을 표준화하고 클라우드에서 처리하는 파이썬3 기반의 오픈소스 플랫폼을 설계 및 개발하고 있습니다. 또한 이 플랫폼 위에서 돌아가는 교육 / 연구 플랫폼을 함께 설계하고 있습니다.
새로운 서비스를 변화하는 환경에 맞추어 개발하는 일은 즐거운 경험인 동시에, "무엇을" "어떻게" "왜" 로 이어지는 지뢰밭을 거니는 일이기도 합니다. "무엇을" 만들지 고민하고 토론하며 결정하고, 설계하고, 토론하고, 목표가 바뀌는 과정이 일어납니다. "어떻게" 만드느냐의 지뢰들로는 python 2에서 python 3 로의 전환, 웹 프레임웍인 Django와 프론트엔드 프레임웍들과의 충돌, 아마존 elastic computing cloud와 docker를 사용한 디플로이 시나리오 등 삽질 중에 발생하는 일들이 있습니다. "왜"에 대한 질문들은 무겁지만 피해갈 수 없습니다. "왜 하필 파이썬인가?" "왜 하필 그런 서비스를 만드려 하는가" 등의 질문은, 무엇인가를 만들기로 결심한 사람들에게 주어지는 가장 중요한 질문이자 보상이기도 합니다.
저희는 지난 2개월동안 이 과정을 통해 우리가 배운 것들을 공유하고자 합니다. 구체적으로는 개발 중인 플랫폼 구조, 설계 과정의 경험 및 python 3 기반의 플랫폼 개발시 주의할 점들에 대해 이야기하고, 그와 함께 지뢰밭을 걷게 만든 '원동력' 에 대해 함께 이야기할 수 있는 자리가 되었으면 합니다.
HTML이 무엇인지, 지금까지 어떠한 흐름을 거치며 HTML5가 되었는지, HTML5의 설계원칙, 중요한 특징, Browser 지원현황, 웹표준(접근성, Semantic), content 모델에 따른 분류, API 사이트와 유용한 Tutorial 사이트들에 대해서 알아봅니다.
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012crokitta
APEX& jQuery Mobile
Binnenkort zal Oracle versie de lang aangekondigde upgrade naar release 4.2 van Oracle Application Express beschikbaar maken. Een van de meest besproken nieuwe features die voor dit nieuwe release zijn aangekondigd is de integratie van het jQuery Mobile framework. Met de integratie van dit framework zal het mogelijk worden om met APEX applicaties te ontwikkelen, die geschikt zijn voor mobiele toestellen.
Wat is en hoe werkt jQuery Mobile en wat betekend dit voor het ontwikkelen in APEX. Dat zijn de onderwerpen die de presentatie aan bod komen. En waarom wachten tot het release van 4.2. Het is namelijk nu al mogelijk om jQuery Mobile in APEX te integreren en gebruiken. Hoe, wordt in een demo getoond. Deze sessie is waarschijnlijk de enige waarin u gevraagd zal worden om uw mobile telefoon aan te laten staan.
jQuery Mobile has been integrated in APEX since version 4.2 and building a mobile web application with APEX seems magically easy ever since. Once you start a mobile project you will be confronted with a number of challenges related to the jQuery Mobile frameworks mechanisms. This session tends to explain the fundamentals that are important to know for APEX developers and how to deal with these in APEX development.
When creating a mobile web application with APEX, knowledge of how jQuery Mobile works and how it is different from what we are used to as APEX developers is essential, I learned this during projects. This session will explain the important jQuery Mobile framework mechanisms and how to deal with these in APEX: Page loading and submitting data; customizing the user interface elements; debugging, testing and inspecting on actual mobile devices.
Everything is Awesome - Cutting the Corners off the WebJames Rakich
The web is awesome despite it's detractors. But we can't forget our fundamentals when we're trying to forge ahead with new tech. This talk is about how to approach the building blocks of the web in a way that takes advantage of their strengths and avoids their weaknesses.
Introducción rápida a HTML5, repasando brevemente la historia de HTML, qué APIs se añaden a HTML5, y qué avances en HTML, CSS y JavaScript rodean a este estándar.
Uma breve descrição sobre o HTML 5 e suas principais características como: forms, a nova estrutura, aúdio e vídeo, etc.
An overview about HTML 5 and its main features such as: forms, new structure, audio and video, etc.
Boosting machine learning workflow with TensorFlow 2.0Jeongkyu Shin
TensorFlow 2.0 is the latest release aimed at user convenience, API simplicity, and scalability across multiple platforms. In addition, TensorFlow 2.0, along with a variety of new projects in the TensorFlow ecosystem, TFX, TF-Agent, and TF federated, can help you quickly and easily create a wide variety of machine learning models in more environments. This talk will introduce TensorFlow 2.0 and discusses how to develop and optimize machine learning workflows based on TensorFlow 2.0 and projects within the various TensorFlow ecosystems.
This slide was presented at GDG DevFest Songdo on November 30, 2019.
올해 Google I/O에서는 구글의 머신러닝 및 딥러닝 분야에 대한 다양한 접근이 소개되었습니다. 이 발표에서는 Google I/O 2019에서 다룬 머신러닝 세션들을 크게 머신러닝 플랫폼, 머신러닝 클라우드 및 머신러닝 기반의 응용 서비스 확장으로 구분하고, 각각에 대하여 요약해 봅니다. 또한 현재의 발표를 바탕으로 이후의 방향성이 어떻게 될 것인지에 대하여 몇가지 예측을 해 봅니다.
이 슬라이드는 2019년 6월 Google I/O Extended 판교 및 서울에서 발표한 슬라이드입니다.
This talk covers the machine learning activities published during Google I/O.
머신러닝 및 데이터 과학 연구자를 위한 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 )
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.
2018년 8월 19일 PyCon KR 2018에서 오픈소스 교육과 Python을 주제로 발표한 내용입니다.
# 개요
오픈소스 및 오픈소스 개발 방법론은 현대 프로그래밍 개발 및 생태계에서 가장 중요한 축을 담당하고 있다. 전세계 유수의 IT 기업들은 거의 모두 오픈소스를 사용하며, 자체 결과물을 오픈소스로 공개하고 있다. 또한 윈도우 및 맥오에스, 리눅스 및 안드로이드를 비롯한 운영체제들 또한 오픈소스로 개발되거나 또는 오픈소스 커뮤니티 방법론을 이용해 테스트되고 있다.
최근 오픈소스 소프트웨어 및 개발 방법론은 과거 컴퓨터 언어 및 개발 과정과 큰 차잇점이 있다. 가장 큰 차잇점은 네트워크에 의해 가속화된 생태계의 속도이다. 최근 오픈소스 소프트웨어 생태계의 경우 개발 방법론, 기술, 라이브러리 및 프로젝트들이 등장하고 성숙하는 과정에 걸리는 시간이 기존 컴퓨터 생태계에 비해 굉장히 짧다. 따라서 오픈소스 참여 기술보다는 오픈소스 생태계 및 변화의 흐름을 이해하는 것이 더 중요해지고 있다. 따라서 일반적인 대학 교과과정의 타임 프레임을 적용하여 과목을 설계하기에는 무리가 있다.
이 세션에서는 오픈소스 소프트웨어 대학 교육 과정을 설계하고 2년간 강의하며 겪은 다양한 경험을 Python 언어를 중심으로 다룬다. Python은 초기 접근이 용이하여 21세기 초부터 많은 대학이 기초 프로그래밍 언어로 선택하고 있어, 오픈소스 소프트웨어 방법론 교과 과정의 주 언어로 선택하였다. 교과 과정이 지향하는 바는 프로그래밍과 오픈소스 문화 두가지이다. 이를 반영한 교육 과정 설계 시 주의한 점들과, 2년간의 경험 끝에 잘못 생각한 것으로 판단하게 된 몇가지에 대해 간단히 소개한다.
오픈소스 소프트웨어 교육 과정에서는 초반부 오픈소스의 역사, 문화에 대해 학습한 방법과, Python 기반의 오픈소스 프로젝트 진행 과정에서 경험한 다양한 사례 및 장단점에 대해 소개한다. 개발 과정에서는 GitHub을 이용한 협업, 오픈소스 소프트웨어를 무에서 시작하거나 포크해서 시작하는 과정, 공동 작업에서의 PEP 준수의 중요성, 컨트리뷰터,커미터,메인테이너 결정 및 운영과, 팀 내 충돌, 그리고 Code of Conduct를 만들었던 과정을 차례로 설명한다. 또한 배포 패키지 개발을 위해 pypi를 사용하고, manpage로 매뉴얼을 준비하는 과정 및 python 패키지 제작시 겪는 몇몇 허들에 대해서도 소개한다.
마지막으로 과정에서 동기 부여에 대해 고민한 여러 생각 및 경험과 함께, 수업 과정에서 사용한 오리지널 프로젝트 원저자와의 GitHub을 통한 소통 및 오픈소스 경험의 확장 과정을 소개한다.
Backend.AI (https://backend.ai)는 클라우드 및 온-프레미스 환경에서 여러 사용자가 안전하고 효율적으로 컴퓨팅 자원을 공유할 수 있는 머신러닝에 특화된 인프라 관리 프레임워크입니다. 현재 널리 사용되고 있는 오픈소스 기술인 OpenStack, Kubernetes 등과 비교하여 어떤 특징과 차이점이 있는지 소개하고, 프레임워크의 구조와 기반 기술 및 응용 사례를 데모와 함께 소개합니다.
오픈소스 및 오픈소스 개발 방법론은 현대 프로그래밍 개발 및 생태계의 핵심이 되었습니다. 전세계 유수의 IT 기업들은 거의 모두 오픈소스를 사용하며, 자체 결과물을 오픈소스로 공개하고 있습니다. 지금과 같이 거대 기업들이 오픈소스를 본격적으로 도입하고 공개하기 시작한 역사는 아직 그리 오래되지 않았습니다. 이 세션에서는 특허 및 저작권, 오픈소스의 정의, 오픈소스 저작권에 대한 설명, 오픈소스 저작권의 종류와 함께 오픈소스를 둘러싼 여러 사건 및 변화에 대해 알아봅니다.
이 발표는 2018년 4월 14일 서울에서 열린 TensorFlow Dev Summit Extended Seoul '18 에서 TensorFlow Dev Summit 2018의 발표 내용 중 TensorFlow.Data 및 TensorFlow.Hub에 관한 발표들을 정리한 내용입니다.
This presentation summarizes the talks about TensorFlow.Data and TensorFlow.Hub among the sessions of TensorFlow Dev Summit 2018, and presented at TensorFlow Dev Summit Extended Seoul '18 held on April 14, 2018 in Seoul.
2018년 2월 24일 KCD2018에서 Google Polymer에 대하여 발표한 내용입니다. 이 발표에서는 웹, 하이브리드 앱 및 프로그레시브 웹 앱 개발을 위한 구글의 웹컴포넌트 라이브러리인 폴리머를 쉽고 재미있게 다룹니다. 웹컴포넌트, 폴리머에 대한 소개와 함께 폴리머 2.0의 특징을 소개합니다. 또한 modulizer, TypeScript, yarn, webpack의 도입을 추진하고 있는 폴리머 3.0 알파 버전의 주요변화를 알아봅니다.
이 발표에서는 TensorFlow의 지난 1년을 간단하게 돌아보고, TensorFlow의 차기 로드맵에 따라 개발 및 도입될 예정인 여러 기능들을 소개합니다. 또한 2017년 및 2018년의 머신러닝 프레임워크 개발 트렌드와 방향에 대한 이야기도 함께 합니다.
In this talk, I look back the TensorFlow development over the past year. Then discusses the overall development direction of machine learning frameworks, with an introduction to features that will be added to TensorFlow later on.
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Jeongkyu Shin
summary
Chatbot is the underlying technology of an interactive interface. One of the problems to be solved for popularization of chatbots is the unnaturalness of inhuman conversation. This presentation introduces the process of implementing emotion status reading based on Python 3 for human conversation implementation, and the experience of simulating the emotional state of the bot itself, with the demonstration. We also share the problems and solutions we encountered in implementing the emotional models.
개요
챗봇은 대화형 인터페이스의 기반 기술이다. 챗봇의 대중화를 위해 해결해야 할 문제중 하나는 비인간적 대화에서 오는 부자연스러움이다. 이 발표에서는 인간적인 대화 구현을 위하여 Python 3를 기반으로 감정 상태 읽기를 구현한 과정과, 봇 자체의 감정 상태를 시뮬레이션한 경험을 데모와 함께 소개한다. 또한 감정 모형을 구현하는 과정에서 만났던 문제들 및 해결 방법을 공유한다.
상세
챗봇은 대화형 인터페이스 및 음성 인식과의 결합을 통한 무입력 방식 인터페이스의 기반 기술이다. 챗봇은 고객상담 서비스 분야부터 온라인 구매, 디지털 어시스턴트 등의 다양한 분야에 널러 사용되며, 텍스트 기반의 메신저부터 음성 인식 기반의 스마트 스피커등의 인터페이스를 통해 빠르게 보급되고 있다. 이러한 챗봇의 대중화는 최근 머신러닝을 기반으로 한 자연어 처리 기술의 성능 향상과, 딥러닝 분야의 발전에 힘입어 가능해진 end-to-end 모델 구현에 기술적으로 큰 영향을 받았다.
챗봇이 응용되는 분야가 넓어지고 다양한 분야에서 챗봇 서비스 및 사업이 성장함에 따라 '불편한 골짜기 ' 라고 불리는 비인간적 대화에서 오는 피로 문제가 점차 대두되고 있다. 비인간적 대화가 가져오는 피로는 사용자 경험 및 이용 지속성에 영향을 크게 미친다. 따라서 이 문제는 대화형 디지털 어시스턴트의 대중화 과정에서 어렵지만 우선적으로 해결해야 할 과제들 중 하나가 되었다.
감정 모형은 비인간적 대화를 벗어나 자연스러운 대화를 구현하기 위한 몇 가지 방법 중 하나이다. 이 발표에서는 Python 3를 기반으로 감정 상태 읽기를 구현하고, 감정상태를 시뮬레이션하는 과정에 대한 경험과 접근 방법을 소개한다. Python의 NLTK 패키지를 이용하여 감정 사전 데이터를 생성한다. 그 다음 기존 대화 데이터를 Python 3 및 Pandas를 이용하여 초벌가공한다. 가공한 데이터를 이용하여 wordvec 공간을 정의한다. Wordvec 공간의 각 단어에 감정 데이터를 이용해 만든 태그를 붙여 적절한 위상 공간을 정의한다. 이후 실시간 대화에서 들어오는 단어들을 일정 단위로 입력하여, 현재 화자의 감정 상태 및 감정 변화를 추적한다. 이후 봇의 감정을 담당하는 기계학습 모형을 만들어 학습시키고, 봇의 현재 감정에 따라 답변 문장을 변경하거나 기타 인터페이스를 통해 어필하도록 구현한다. 최종적으로는 봇 인터페이스 및 재미있는 인터페이스 아이디어와 함께 묶어 대화를 시연한다.
이 과정에서 겪은 문제들 및 해결 방법을 함께 소개한다. 우선 NLTK 패키지를 기반으로 감정 사전을 만드는 과정과, 감정 사전 인덱스를 한국어에 맞게 커스텀하는 과정을 설명한다. 그리고 감정 상태를 정의한 공간에서 봇의 감정 변화가 실제 인간과 다르게 심하게 튀는 문제를 고려하는 방법을 설명한다. 다양한 문제들의 해결 방법과 함께, 실제 서비스를 위해 멀티 모드 모델 체인에 컨텍스트 엔진 및 대화 엔진과 감정 모형을 연결하는 과정을 재미있는 데모와 함께 공유하고자 한다.
구글의 머신러닝 비전: TPU부터 모바일까지 (Google I/O Extended Seoul 2017)
이 발표에서는 구글의 머신러닝 분야에 대한 접근 분야, 방법 및 목표를 구글 I/O 2017의 세션 발표들을 통해 알아봅니다.
From TPU to Mobile: Google's Machine Learning Vision
In this presentation, I will cover about the approaches, methods and goals of Google's machine learning area through the sessions of Google I/O 2017.
기술 관심 갖기: 스타트업 기술 101 (Interested in Tech?: Startup Technology 101)Jeongkyu Shin
기술적 배경이 없는 창업자가 기술이 필요한 창업을 하려고 할 때 중요한 내용은 무엇일까요? 스타트업에 필요한 기술들과, 창업시 고민할 방향을 안내합니다.
2017년 4월 27일 구글캠퍼스 서울의 Campus For Moms 에서 발표한 슬라이드입니다.
What is important when a founder who does not have a technical background wants to start a business that requires technology? It introduces the technologies necessary for start-up, and directions to worry when starting a business.
This slide is for invited talk of Campus For Moms on April 27, 2017 at Google Campus Seoul.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
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.
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.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
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.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
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
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.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
14. ▪ ?
▪ Mozilla
▪ Google
▪ Apple
▪ Facebook
▪
▪ WHATWG (web hypertext application technology
working group)
15. :
▪ W3C
▪ Next HTML specification
▪ WHATWG (web Hypertext application technology
working group)
▪ Web application 1.0 ( 2004. 7)
▪ 2007 ~ 2012
▪ HTML5
▪ HTML5 “ (definition)”
16. More recently, the goals of the W3C and the WHATWG on the HTML
front have diverged a bit as well. The WHATWG effort is focused on
developing the canonical description of HTML and related
technologies, meaning fixing bugs as we find them adding new
features as they become necessary and viable, and generally tracking
implementations. The W3C effort, meanwhile, is now focused on
creating a snapshot developed according to the venerable W3C
process. This led to the chairs of the W3C HTML working group and
myself deciding to split the work into two, with a different person
responsible for editing the W3C HTML5, canvas, and microdata
specifications than is editing the WHATWG specification.
Ian Hickson (WHATWG editor)
21. ▪ (WHATWG HTML5 )
▪ HTML Import
▪ HTML
▪ Shadow DOM
▪ HTML DOM
▪ Custom Elements
▪ DOM leaf object /class
▪ Templates
▪
22. HTML Import
▪ HTML CSS import
▪ ,
custom element .
<link rel="import" href="name-card.html">
23. Shadow DOM
▪ DOM Tree leaf DOM
Tree
▪ Root DOM ( DOM)
Shadow DOM
▪ ) Root DOM Shadow DOM id
this.createShadowRoot().appendChild(new_element);
24. Custom Element
▪ DOM HTML5 object type
▪ ) <div>, <a> <name-card> custom
element .
document.registerElement('name-card', {
prototype: prototype
});
var ncElement = document.createElement('name-card');