An overview of how to work with data across its entire lifecycle: Retrieval, Parsing, Normalization and Display. Along the way, we'll cover various YUI 3 utilities and widgets which make working with data super-easy, such as Datasource, Dataschema, Datatype, Recordset, Datatable, Autocomplete & Charts. Working code will be provided.
We’ll get deep in the well-known techniques for website’s performance (from Steve Souders and others) and how real mobile devices reacts to each one. Are mobile browsers compatible with CSS Sprites or with Lazy Load Script? What about inline images and canvas? What are the big differences between desktop and mobile web performance?
We keep thinking we can write better CSS if we just try harder, that the next site will be clean and stay that way. This presentation shows that in fact, messy CSS is the direct result of our worst best-practices. We need to reexamine those assumptions with an eye to practicality and scalability as well as accessibility, standards, and fabulous design.
Introduction to AWS VPC, Guidelines, and Best PracticesGary Silverman
I crafted this presentation for the AWS Chicago Meetup. This deck covers the rationale, building blocks, guidelines, and several best practices for Amazon Web Services Virtual Private Cloud. I classify it as a somewhere between a 101 and 201 level presentation.
If you like the presentation, I would appreciate you clicking the Like button.
Bigger and more sophisticated distributed denial of service (DDoS) attacks are targeting the Internet’s Domain Name System (DNS) causing significant downtime to websites and application. Amazon Route 53, the AWS DNS service, integrates tightly with AWS Shield, the AWS service that provides managed DDoS protection, to safeguard your web applications and protect against large scale attacks. Techniques Amazon Route 53 employs to thwart DDoS attacks including Anycast Striping, Shuffle Sharding and a global network of 56 points of presence. Mitigation strategies AWS Shield provides including inline mitigations, visibility and cost protection.
Learning Objectives:
• Learn how Amazon Route 53 scales against DDoS attacks
• Learn about the advanced features like Anycast Striping and traffic shaping mitigates DDoS risks
• Learn how always-on inline mitigation techniques protects against advanced attacks
• Learn how AWS Shield integrates with Amazon Route53 to monitor traffic signatures and undertakes deterministic packet filtering to minimize application downtime
• Learn why customers should use Amazon Route 53 and AWS Shield to protect against DNS DDoS attacks
這不是一門關於設計史的課,雖然我們關心「設計物」的演變與社會發展之間的關係。這也不是一門討論運輸社會學的課,雖然我們試圖理解「移動」在當代都市生活中的重要性。這更不是一門傳授社會設計心法的課,畢竟你可以在松菸華山校園各處遇到不同「社會議題」的社計工作坊。但,是的,這是一門關於「自行車」的課。我們試圖從自行車,這個兩輪風馳的童年記憶切入,思考物件設計、都市政策、都市空間、社區發展之間的關係,這門課雖然沒有辦法讓你重新設計一輛自行車,但我們將鼓勵你思考「如何改造一輛UBike?一個KIOSK場站?一個單車通勤日?一場鐵馬革命?」
課程設計分成三個階段。
第一階段,基礎。我們會先討論「設計」與「社會」之間的辯證關係,然後以自行車作為主要的觀察物件,分析移動的社會意義、技術物的政治性,以及社會設計的兩難。在第一階段結束前,我們會以上課所學到的幾個基本概念來觀察台北市的自行車環境有著什麼樣的問題?並且要同學試著提出可能的解決方案。
第二階段,設計。我們會從物件設計、都市政策、都市空間三個不同角度切入UBike公共自行車是如何被設計出來的?以更進一步地思考前一階段的提案要如何修改以更貼近使用者需求。最後,我們會從都市權(right to the city)的角度重新思考社會設計在當代都市議題中可能的積極性。
第三階段,原型。在最後這個階段,我們會提供經費協助,幫助同學將先前提案製作成原型(prototype)。這個步驟的重要性是一方面讓同學理解物件從設計到實作轉換過程中的困難,另一方面也是期待同學能有具體可見的實物作為發表介紹的學習成果。
We’ll get deep in the well-known techniques for website’s performance (from Steve Souders and others) and how real mobile devices reacts to each one. Are mobile browsers compatible with CSS Sprites or with Lazy Load Script? What about inline images and canvas? What are the big differences between desktop and mobile web performance?
We keep thinking we can write better CSS if we just try harder, that the next site will be clean and stay that way. This presentation shows that in fact, messy CSS is the direct result of our worst best-practices. We need to reexamine those assumptions with an eye to practicality and scalability as well as accessibility, standards, and fabulous design.
Introduction to AWS VPC, Guidelines, and Best PracticesGary Silverman
I crafted this presentation for the AWS Chicago Meetup. This deck covers the rationale, building blocks, guidelines, and several best practices for Amazon Web Services Virtual Private Cloud. I classify it as a somewhere between a 101 and 201 level presentation.
If you like the presentation, I would appreciate you clicking the Like button.
Bigger and more sophisticated distributed denial of service (DDoS) attacks are targeting the Internet’s Domain Name System (DNS) causing significant downtime to websites and application. Amazon Route 53, the AWS DNS service, integrates tightly with AWS Shield, the AWS service that provides managed DDoS protection, to safeguard your web applications and protect against large scale attacks. Techniques Amazon Route 53 employs to thwart DDoS attacks including Anycast Striping, Shuffle Sharding and a global network of 56 points of presence. Mitigation strategies AWS Shield provides including inline mitigations, visibility and cost protection.
Learning Objectives:
• Learn how Amazon Route 53 scales against DDoS attacks
• Learn about the advanced features like Anycast Striping and traffic shaping mitigates DDoS risks
• Learn how always-on inline mitigation techniques protects against advanced attacks
• Learn how AWS Shield integrates with Amazon Route53 to monitor traffic signatures and undertakes deterministic packet filtering to minimize application downtime
• Learn why customers should use Amazon Route 53 and AWS Shield to protect against DNS DDoS attacks
這不是一門關於設計史的課,雖然我們關心「設計物」的演變與社會發展之間的關係。這也不是一門討論運輸社會學的課,雖然我們試圖理解「移動」在當代都市生活中的重要性。這更不是一門傳授社會設計心法的課,畢竟你可以在松菸華山校園各處遇到不同「社會議題」的社計工作坊。但,是的,這是一門關於「自行車」的課。我們試圖從自行車,這個兩輪風馳的童年記憶切入,思考物件設計、都市政策、都市空間、社區發展之間的關係,這門課雖然沒有辦法讓你重新設計一輛自行車,但我們將鼓勵你思考「如何改造一輛UBike?一個KIOSK場站?一個單車通勤日?一場鐵馬革命?」
課程設計分成三個階段。
第一階段,基礎。我們會先討論「設計」與「社會」之間的辯證關係,然後以自行車作為主要的觀察物件,分析移動的社會意義、技術物的政治性,以及社會設計的兩難。在第一階段結束前,我們會以上課所學到的幾個基本概念來觀察台北市的自行車環境有著什麼樣的問題?並且要同學試著提出可能的解決方案。
第二階段,設計。我們會從物件設計、都市政策、都市空間三個不同角度切入UBike公共自行車是如何被設計出來的?以更進一步地思考前一階段的提案要如何修改以更貼近使用者需求。最後,我們會從都市權(right to the city)的角度重新思考社會設計在當代都市議題中可能的積極性。
第三階段,原型。在最後這個階段,我們會提供經費協助,幫助同學將先前提案製作成原型(prototype)。這個步驟的重要性是一方面讓同學理解物件從設計到實作轉換過程中的困難,另一方面也是期待同學能有具體可見的實物作為發表介紹的學習成果。
As new technologies are emerging, It is giving rise to immersive and seamless interactions between devices and systems. This in turn giving rise to different use cases which has brought about many disruptions and innovations in last couple of years. Internet of things (IOT) has given a new outlook in which systems are getting developed, integrated and delivered.
www.facebook.com/iotians
In this session, we will help you use existing and recently launched services to automate configuration governance so that security is embedded in the development process. We outline four easy steps (Control, Monitor, Fix, and Audit) and demonstrate how different services can be used to meet your governance needs.
Congratulations to the successful consultants who earned themselves a free trip to Byron Bay as part of The Andersen Partnership's Incentive Program.
Here are a few snaps from their time away #TAPontour
Amazon API Gateway and AWS Lambda provide a new way of building applications by removing servers from the picture. But what does the removal of servers mean to tasks like deployment, monitoring, and debugging? How should you set up blue-green deployments or set alarms? Come learn all this and more, including how to use AWS services and tools like AWS CodePipeline, AWS CloudFormation, and Amazon CloudWatch to manage your serverless applications at high quality.
Infrastructure Continuous Delivery Using AWS CloudFormationAmazon Web Services
Review ways to manage the lifecycle of your Dev, test, and production infrastructure using CloudFormation. Learn how to architect your infrastructure through loosely coupled stacks using cross-stack references, tightly coupled nested stacks and other best practices. Learn how to use CloudFormation to provision and manage a continuous deployment pipeline for your infrastructure-as-code. Automate deployment of new development environments as your infrastructure evolves, promote your new architecture for testing, and deploy changes to production.
Configuration Management with AWS OpsWorks for Chef AutomateAmazon Web Services
AWS OpsWorks for Chef Automate provides a fully managed Chef server and suite of automation tools that give you workflow automation for continuous deployment, automated testing for compliance and security, and a user interface that gives you visibility into your nodes and their status. The Chef server gives you full stack automation by handling operational tasks such as software and operating system configurations, package installations, database setups, and more. The Chef server centrally stores your configuration tasks and provides them to each node in your compute environment at any scale, from a few nodes to thousands of nodes. OpsWorks for Chef Automate is completely compatible with tooling and cookbooks from the Chef community and automatically registers new nodes with your Chef server.
Deploy, scale and manage your application with AWS Elastic BeanstalAmazon Web Services
AWS Elastic Beanstalk provides an easy way to quickly deploy, manage, and scale applications in the AWS cloud. Through interactive demos, this session will discuss the best practices for deploying and scaling your application, provisioning additional AWS resources and performance tuning.
Learn how to use AWS X-Ray to analyze both applications in development and in production, from simple three-tier applications to complex microservices applications consisting of thousands of services.
As new technologies are emerging, It is giving rise to immersive and seamless interactions between devices and systems. This in turn giving rise to different use cases which has brought about many disruptions and innovations in last couple of years. Internet of things (IOT) has given a new outlook in which systems are getting developed, integrated and delivered.
www.facebook.com/iotians
In this session, we will help you use existing and recently launched services to automate configuration governance so that security is embedded in the development process. We outline four easy steps (Control, Monitor, Fix, and Audit) and demonstrate how different services can be used to meet your governance needs.
Congratulations to the successful consultants who earned themselves a free trip to Byron Bay as part of The Andersen Partnership's Incentive Program.
Here are a few snaps from their time away #TAPontour
Amazon API Gateway and AWS Lambda provide a new way of building applications by removing servers from the picture. But what does the removal of servers mean to tasks like deployment, monitoring, and debugging? How should you set up blue-green deployments or set alarms? Come learn all this and more, including how to use AWS services and tools like AWS CodePipeline, AWS CloudFormation, and Amazon CloudWatch to manage your serverless applications at high quality.
Infrastructure Continuous Delivery Using AWS CloudFormationAmazon Web Services
Review ways to manage the lifecycle of your Dev, test, and production infrastructure using CloudFormation. Learn how to architect your infrastructure through loosely coupled stacks using cross-stack references, tightly coupled nested stacks and other best practices. Learn how to use CloudFormation to provision and manage a continuous deployment pipeline for your infrastructure-as-code. Automate deployment of new development environments as your infrastructure evolves, promote your new architecture for testing, and deploy changes to production.
Configuration Management with AWS OpsWorks for Chef AutomateAmazon Web Services
AWS OpsWorks for Chef Automate provides a fully managed Chef server and suite of automation tools that give you workflow automation for continuous deployment, automated testing for compliance and security, and a user interface that gives you visibility into your nodes and their status. The Chef server gives you full stack automation by handling operational tasks such as software and operating system configurations, package installations, database setups, and more. The Chef server centrally stores your configuration tasks and provides them to each node in your compute environment at any scale, from a few nodes to thousands of nodes. OpsWorks for Chef Automate is completely compatible with tooling and cookbooks from the Chef community and automatically registers new nodes with your Chef server.
Deploy, scale and manage your application with AWS Elastic BeanstalAmazon Web Services
AWS Elastic Beanstalk provides an easy way to quickly deploy, manage, and scale applications in the AWS cloud. Through interactive demos, this session will discuss the best practices for deploying and scaling your application, provisioning additional AWS resources and performance tuning.
Learn how to use AWS X-Ray to analyze both applications in development and in production, from simple three-tier applications to complex microservices applications consisting of thousands of services.
I wanted to start off by just talking a bit about data. Its what drives the internet and it seems there’s more and more of it available.
YUI 3 has a rich set of utilities that make it easy for developers to handle this data. The end result is in the user having a great experience, without you having to break too much of a sweat.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
There are usually 4 steps to take when working with data. YUI3 provides utilities that assist you at each of these steps.
this shows how all the utilities work together in YUI3.
datasource gets data from a remote source.
dataschema plugs into datasource to parse the data and uses datatype to normalize it.
the normalized/parsed data is then consumed by a user facing widget
We will be talking about these utilities and how they come together with respect to the data lifecycle. We’ll be combining these utilities and showing some examples of data-driven apps using very few lines of code.
Working with these utilities and ultimately managing your data is a piece of cake in YUI3
Retrieval: the process of getting data to your page.
This data could exist anywhere
The utility that can help you with this is called DataSource.
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
Subclasses of Y.DataSource. Get, IO, Local are 1kb each. Schemas are around 0.8kb each. Polling is 0.5kb, cache is 1kb. Function is 0.5kb
A simple DataSource being instantiated and fetching a request
loads the datasource roll-up on your page
Instantiate a new instance of a dataSource and give it a source to get data from
Pass in various requests to get data back from the given source. Create or pass in a callback object that has “success”, “failure” functions defined on it.
Pass in various requests to get data back from the given source. Create or pass in a callback object that has “success”, “failure” functions defined on it.
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
The events that can be hooked into for DataSource
On or After
Parsing: Taking all that data and only getting the pieces that are important to you
The left side is an example of the data we are getting back.
Top right shows our schema definition.
Bottom right shows our final object bag.
The left side is an example of the data we are getting back.
Top right shows our schema definition.
Bottom right shows our final object bag.
The left side is an example of the data we are getting back.
Top right shows our schema definition.
Bottom right shows our final object bag.
The left side is an example of the data we are getting back.
Top right shows our schema definition.
Bottom right shows our final object bag.
“key” corresponds with the key on the object bag we are working with.
resultListLocator tells the schema where to find the array that it will iterate through.
For JSON/XML:
metaFields
Object
Key/locator pairs that point to arbitrary data values.
resultListLocator
String
Locator to an internal array of tabular data.
resultFields
Array
Keys to assign to the values contained in the array.
Very similar to the standalone module.
Plug in the proper schema
Define the schema as you would normally
Define the schema as you would normally
Define the schema as you would normally
The resultListLocator is from e.response.results
Define the schema as you would normally
YQL allows you to control incoming data so its probably not the greatest use case.
YQL allows you to control incoming data so its probably not the greatest use case.
YQL allows you to control incoming data so its probably not the greatest use case.
YQL allows you to control incoming data so its probably not the greatest use case.
YQL allows you to control incoming data so its probably not the greatest use case.
YQL allows you to control incoming data so its probably not the greatest use case.
Light blue: Numbers
Yellow: Dates
Orange: Strings
If you want to sort data, or perform any sort of arithmetic / comparison operations, having the data in its proper format will save you from tons of headaches.
DataType.Date.parse() will accept any arguments that can be accepted by the Date() object in JS. It will return a Date() object.
DataType.Number.parse() will return a Number() object
DataType.XML.parse() will accept a string representation of XML and return an XML document object. Note that browsers differ in their handling of invalid syntax but will in general return an XML document even under error conditions.
php.net/strftime
php.net/strftime
php.net/strftime
php.net/strftime
php.net/strftime
php.net/strftime
php.net/strftime
The module has support for a large number of languages built in. If you need a language that's not supported, you can register the necessary localized data yourself using facilities of theInternationalization utility. The resource bundle you provide needs to have properties corresponding to the locale-sensitive strftime format specifiers:
The module has support for a large number of languages built in. If you need a language that's not supported, you can register the necessary localized data yourself using facilities of theInternationalization utility. The resource bundle you provide needs to have properties corresponding to the locale-sensitive strftime format specifiers:
The module has support for a large number of languages built in. If you need a language that's not supported, you can register the necessary localized data yourself using facilities of theInternationalization utility. The resource bundle you provide needs to have properties corresponding to the locale-sensitive strftime format specifiers:
You can pass in strings “date”, “number”, “xml”, or the parser function (such as Y.DataType.Number.parse) or a custom function (such as parseDate)
Key things to mention here are the source and the parser
Creating a scrolling datatable. Map the columns to the
Creating a scrolling datatable. Map the columns to the
Taking the same data and plugging it into charts (Charts does not support DataSource yet)
Taking the same data and plugging it into charts (Charts does not support DataSource yet)
The data lifecycle, and why its important to have utilities at each step
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
Caching and polling of datasources.
Handling values in their native types.
Work with javascript objects with known properties
There are other utilities that you should look into when dealing with data.
- Y.io
- Y.YQL
- Y.jsonp
There are other utilities that you should look into when dealing with data.
- Y.io
- Y.YQL
- Y.jsonp