CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using MapReduce views. This talk will answer your fundamental questions about CouchDB and will cover the basics of building CouchApps using jQuery and various jQuery plugins.
This talk is geared towards users of jQuery plugins who are looking to pick the best plugins and plugin authors who would like a holistic review of existing jQuery plugins and what things to consider when making your own plugins. Marketing tactics and approaches to spreading the word about your plugin will also be discussed.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
This talk is geared towards users of jQuery plugins who are looking to pick the best plugins and plugin authors who would like a holistic review of existing jQuery plugins and what things to consider when making your own plugins. Marketing tactics and approaches to spreading the word about your plugin will also be discussed.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Ionic is a great tool for building hybrid mobile apps and AngularJS is a great JavaScript framework that plays very nicely with Ionic. In this talk we'll go over the basics of getting started with AngularJS+Ionic. We'll look at some real code from each of the 2 libraries and see what all is involved in building a hybrid mobile application. We will finish our journey with a real-life Ionic app presentation powered by RESTFul services.
Target Audience: People that want to see where to start with AngularJS and how it fits into Ionic. This talk assumes no prior knowledge with either library. If you've built a PhoneGap mobile app but felt lost when adding MVC-style structure or Bootstrap-esque UI components, this is the talk for you.
Assumed Knowledge: Attendees should be comfortable with "modern JavaScript". A basic understanding of classes and objects and variable scopes will be helpful. Some basic prior exposure to PhoneGap/Cordova and a UI-framework such as Bootstrap will also be helpful.
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
Introduction and Comparison of polpular JS Frameworks Knockout, Ember, Angular and Backbone. The presentation descrobes How and when to select each framework.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Advanced front end debugging with ms edge and ms toolsChris Love
All browsers have developer tools that help developers troubleshoot their applications. But each browser's tools are different and all have strengths and weaknesses. Microsoft Edge is no different.This session will highlight some deeper insights you can gain through the Edge developer tools and some advanced tools available from Microsoft. We will dive into advanced CSS and JavaScript debugging capabilities. We will also review how to chase memory leaks and diagnose common performance rendering issues. Finally we will do a quick review of Vorlon.js, a remote debugging library that enables you to troubleshoot issues on devices you do not have developer tool access.
Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details.
"What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5.
You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.
Every URL visited from the Facebook iPhone app is done through a webview. Same with Twitter. Even if you don't have a mobile app, your website gets a lot of traffic from webviews. And yet, testing on webviews is challenging. There are significant performances differences between UIWebView vs WkWebView, and similarly for Android webview vs the new Chromium webview. And what about home screen apps?! In this talk, Steve Souders discusses the differences across webviews and how that affects performance of mobile web apps.
Latest Javascript MVC & Front End Frameworks 2017AmarInfotech
Here we defined top 5 javascript frameworks and its comparison which help you to better understand what is JS frameworks and why angularJS is best among them.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
As browsers explode with new capabilities and migrate onto devices users can be left wondering, “what’s taking so long?” Learn how HTML, CSS, JavaScript, and the web itself conspire against a fast-running application and simple tips to create a snappy interface that delight users instead of frustrating them.
What's This React Native Thing I Keep Hearing About?Evan Stone
In our daily lives as iOS developers, we can usually happily keep coding away in Swift and ignore what’s going on in other software development communities, like that of JavaScript. However, there may be some advantages to at least becoming familiar with what’s going on in the world of React Native, and in this session you will get an overview of what React Native is, and why it could be a useful addition to your toolbox an iOS developer.
These slides are based on a talk given by Evan K. Stone at the Forward Swift conference in San Francisco on March 2, 2017.
Web frameworks are in a time of transition, as technologies like rich Ajax applications and HTML5 emerge. In this presentation, open source frameworks expert Matt Raible reveals which frameworks are fading fast and which will remain relevant for the near and far-off future.
Get Hip with JHipster - Denver JUG 2015Matt Raible
My presentation as delivered at the Denver Java User Group on April 8, 2015.
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
In this talk we'll see how to build CouchApps using CouchDB, Javascript, and HTML5. We'll look at related tools such as the couchapp command ine tool, the Evently jQuery plugin, the CouchDB API jQuery plugin, the CouchApp Loader, Pathbinder, and the Mustache templating framework.
"BlackBerry Webworks : Apps for The Smartphone and Tablet " Alan Wong, Developer Relations, Asia Pacific, The BlackBerry ® Developer Day in Bangkok ,22 November 2011, Software Park Thailand.
Ionic is a great tool for building hybrid mobile apps and AngularJS is a great JavaScript framework that plays very nicely with Ionic. In this talk we'll go over the basics of getting started with AngularJS+Ionic. We'll look at some real code from each of the 2 libraries and see what all is involved in building a hybrid mobile application. We will finish our journey with a real-life Ionic app presentation powered by RESTFul services.
Target Audience: People that want to see where to start with AngularJS and how it fits into Ionic. This talk assumes no prior knowledge with either library. If you've built a PhoneGap mobile app but felt lost when adding MVC-style structure or Bootstrap-esque UI components, this is the talk for you.
Assumed Knowledge: Attendees should be comfortable with "modern JavaScript". A basic understanding of classes and objects and variable scopes will be helpful. Some basic prior exposure to PhoneGap/Cordova and a UI-framework such as Bootstrap will also be helpful.
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
Introduction and Comparison of polpular JS Frameworks Knockout, Ember, Angular and Backbone. The presentation descrobes How and when to select each framework.
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Advanced front end debugging with ms edge and ms toolsChris Love
All browsers have developer tools that help developers troubleshoot their applications. But each browser's tools are different and all have strengths and weaknesses. Microsoft Edge is no different.This session will highlight some deeper insights you can gain through the Edge developer tools and some advanced tools available from Microsoft. We will dive into advanced CSS and JavaScript debugging capabilities. We will also review how to chase memory leaks and diagnose common performance rendering issues. Finally we will do a quick review of Vorlon.js, a remote debugging library that enables you to troubleshoot issues on devices you do not have developer tool access.
Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details.
"What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5.
You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.
Every URL visited from the Facebook iPhone app is done through a webview. Same with Twitter. Even if you don't have a mobile app, your website gets a lot of traffic from webviews. And yet, testing on webviews is challenging. There are significant performances differences between UIWebView vs WkWebView, and similarly for Android webview vs the new Chromium webview. And what about home screen apps?! In this talk, Steve Souders discusses the differences across webviews and how that affects performance of mobile web apps.
Latest Javascript MVC & Front End Frameworks 2017AmarInfotech
Here we defined top 5 javascript frameworks and its comparison which help you to better understand what is JS frameworks and why angularJS is best among them.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
As browsers explode with new capabilities and migrate onto devices users can be left wondering, “what’s taking so long?” Learn how HTML, CSS, JavaScript, and the web itself conspire against a fast-running application and simple tips to create a snappy interface that delight users instead of frustrating them.
What's This React Native Thing I Keep Hearing About?Evan Stone
In our daily lives as iOS developers, we can usually happily keep coding away in Swift and ignore what’s going on in other software development communities, like that of JavaScript. However, there may be some advantages to at least becoming familiar with what’s going on in the world of React Native, and in this session you will get an overview of what React Native is, and why it could be a useful addition to your toolbox an iOS developer.
These slides are based on a talk given by Evan K. Stone at the Forward Swift conference in San Francisco on March 2, 2017.
Web frameworks are in a time of transition, as technologies like rich Ajax applications and HTML5 emerge. In this presentation, open source frameworks expert Matt Raible reveals which frameworks are fading fast and which will remain relevant for the near and far-off future.
Get Hip with JHipster - Denver JUG 2015Matt Raible
My presentation as delivered at the Denver Java User Group on April 8, 2015.
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
In this talk we'll see how to build CouchApps using CouchDB, Javascript, and HTML5. We'll look at related tools such as the couchapp command ine tool, the Evently jQuery plugin, the CouchDB API jQuery plugin, the CouchApp Loader, Pathbinder, and the Mustache templating framework.
"BlackBerry Webworks : Apps for The Smartphone and Tablet " Alan Wong, Developer Relations, Asia Pacific, The BlackBerry ® Developer Day in Bangkok ,22 November 2011, Software Park Thailand.
I felt necessity of creating this brief slideshow, so as to help PHP Developer interns and communicating the intricacies of development with my clients easier. I thought the more deeply clients understood what really went into translating their ideas to web applications under the hood, the better it could translate to
exchange of design issues,
appreciation of development process intricacies, resulting delivery time & cost issues.
So I quickly put together information that I found on internet & have tried to make an attempt. Hope this helps other developers too... Your comments & critique are welcome in terms of improving & simplifying this slide show.
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaWASdev Community
Customers have a huge investment in WebSphere ND infrastructure including installation, development, deployment, management, support, and 3rd party products. At the same time there are significant new workloads. Mobile is driving very high transaction rates using new device types. New applications often require extremely fast response times. The Cloud economy based on Restful services is rapidly expanding the very nature of applications. Meanwhile, teams need to improve efficiency and drive higher density on their platforms.
In this session we will show you how to evolve your WebSphere ND environment to manage new workloads while preserving your existing investment. See how to add Liberty servers into ND. Explore how Intelligent Management and the ODR extend ND to support Restful services. Examine the benefits of a caching tier to improve response time and availability. See how to add Worklight into your ND environment to provide mobile device and application support. Explore continuous delivery and devOps options for WebSphere ND.
WebWorks Development for BlackBerry PlayBook and SmartphonesKyle McInnes
One way to create apps for the PlayBook is using HTML standards that are packaged into a file that can be executed on the PlayBook. This uses an SDK called WebWorks provided by RIM. Here is an overview of that platform.
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Taras Filatov
The first Mobile Backend Apps and APIs meetup has taken place in London on 16th of May 2012.
Taras Filatov, founder and CEO of QuickBlox has kicked off the event in an open discussion format giving a quick overview of existing market and asking questions about important aspects of mobile backends. Developers present in the audience have shared their opinions and this has launched a very interesting discussion from which both developers and API providers could take something.
Dan Murphy from Pearson and Terence Eden from InMobi have continued the discussion giving further introspective into evolution of apps and APIs and providing details about their APIs.
The official meetup page:
http://www.meetup.com/Mobile-Backend-Apps-and-APIs/events/49006492/
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
This presentation is part of my 2-hour Development Workshop that I conducted at a Motorola Channel Power event. The workshop covered various development options on the ET1 and covered Native Android Development, HTML5 basics and a step by step breakdown of a RhoElements application that integrated device capabilities like barcode scanning.
Domain-driven design is a collaborative process involving both domain experts and software practitioners that attempts to address issues of complexity in software. This process is described in the book Domain-Driven Design (Addison-Wesley 2004) written by Eric Evans. Domain-driven design starts with the assertion that (for almost all software) complexity is in the domain, not in the technology. Accordingly, we must let technology play a supporting role. Domain-driven design attempts to focus on and distill the core domain for a given project.
Philosopher and scientist Alfred Korzybski said, "The map is not the territory." As such, a person practicing domain-driven design does not attempt to model reality. Instead, domain experts and software practitioners use a mental model as a tool for solving problems within a given domain. The domain experts and software practitioners collaborate to explore and develop this model. No software of any reasonable scope has just one model. We will look at the concept of a bounded context within which each model can be isolated and explored. Within a bounded context, collaborators must speak a ubiquitous language in order to reason about and discuss the model.
We will also talk about domain-driven design's building block patterns including entities, value objects, aggregates, repositories, services, and domain events. We will look at domain-driven design practices including supple design, strategic design, and distillation of the core. We will see how test-driven development can be used as a means of exploring the model. Examples in PHP will be provided of the building block patterns as well as other techniques including closure of operations, intention revealing interfaces, side-effect free functions, and assertions.
Domain-driven design is a collaborative process involving both domain experts and software practitioners that attempts to address issues of complexity in software. This process is described in the book Domain-Driven Design written by Eric Evans. Domain-driven design starts with the assertion that complexity is in the domain, not in the technology. Accordingly, we must let technology play a supporting role.
A person practicing domain-driven design does not attempt to model reality. Instead, domain experts and software practitioners use a mental model as a tool for solving problems within a given domain. The domain experts and software practitioners collaborate to explore and develop this model. We will look at the concept of a bounded context within which models can be isolated and explored. We will talk about domain-driven design's building block patterns including entities, value objects, aggregates, repositories, services, and domain events. We will see how test-driven development can be used as a means of exploring the model.
Entity Relationships in a Document Database at CouchConf BostonBradley Holt
Unlike relational databases, document databases like CouchDB and Couchbase do not directly support entity relationships. This talk will explore patterns of modeling one-to-many and many-to-many entity relationships in a document database. These patterns include using an embedded JSON array, relating documents using identifiers, using a list of keys, and using relationship documents.
Domain-driven design is a collaborative process involving both domain experts and software practitioners. This high-level overview takes a look at the driving principles behind domain-driven design. It also explores domain-driven design's building block patterns, supple design, strategic design, and distillation of the core.
CouchDB is a document-oriented database that uses JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. Each of these properties alone, especially MapReduce views, may seem foreign to developers more familiar with relational databases. This tutorial will teach web developers the concepts they need to get started using CouchDB in their projects. Several CouchDB libraries are available for PHP and we will take a look at the more popular ones.
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. This talk will answer your basic questions about CouchDB, but will focus on building CouchApps and related tools.
CouchDB is a document-oriented database that uses JSON documents, has a RESTful HTTP API, and is queried using map/reduce views. Each of these properties alone, especially MapReduce views, may seem foreign to developers more familiar with relational databases. This tutorial will teach web developers the concepts they need to get started using CouchDB in their projects. CouchDB’s RESTful HTTP API makes it suitable for interfacing with any programming language. CouchDB libraries are available for many programming languages and we will take a look at some of the more popular ones.
This is a presentation made at the Burlington, Vermont PHP Users Group about configuring load balancing using the Apache HTTP Server. Load balancing is a technique that can distribute work across multiple server nodes—here we will discuss load balancing HTTP (i.e. web) traffic. There are many software and hardware load balancing options available including HAProxy, Varnish, Pound, Perlbal, Squid, nginx, and Linux-HA (High-Availability Linux) on Linux Standard Base (LSB). However, many web developers are already familiar with Apache as a web server and it is relatively easy to also configure Apache as a load balancer.
Related concepts such as shared nothing architecture are discussed. We also take a look at some basic load balancing scenarios and features including sticky sessions and proxying requests based on HTTP method. Distributed load testing with Tsung is briefly discussed as well.
This is a presentation on CouchDB that I gave at the New York PHP User Group. I talked about the basics of CouchDB, its JSON documents, its RESTful API, writing and querying MapReduce views, using CouchDB from within PHP, and scaling.
This is a "PHP 201" presentation that was given at the December 2010 Burlington, Vermont PHP Users group meeting. Going beyond the basics, this presentation covered working with arrays, functions, and objects.
PHP 5.3 was released in 2009 and is the newest version of PHP. Bradley Holt will talk about the new features available including namespaces, closures (lamdba/anonymous functions), and late static binding. Learn how these new features might be useful to you and why the next major version of the big PHP frameworks will require PHP 5.3.
This presentation will discuss how the Representational State Transfer (REST) architectural style can be applied to the design of your web services.
You will learn how to use HTTP methods and status codes properly and we will discuss how to use Hypermedia As The Engine Of Application State (HATEOAS). The principles of REST and HATEOAS will be demonstrated through the Atom Publishing Protocol (AtomPub) using the Google Data APIs and other AtomPub implementations as examples.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
6. Problem:
Multiple Platforms
How to create apps for multiple platforms?
Native app for
each supported
platform
Web app
optimized for
targeted platforms
7. Problem:
Multiple Platforms
How to create apps for multiple platforms?
Native app for Web app
each supported packaged up as a
platform
Web app “native” app for
optimized for each platform
targeted platforms
8. Problem:
Multiple Platforms
How to create apps for multiple platforms?
Native app for Web app
each supported packaged up as a
platform
Web app “native” app for
optimized for each platform
targeted platforms
11. Problem:
Offline Apps
How to create offline apps?
HTML5:
Offline Web[1]
Applications
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
12. Problem:
Offline Apps
How to create offline apps?
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
13. Problem:
Offline Apps
How to create offline apps?
HTML5:
IndexedDB
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
14. Problem:
Offline Apps
How to create offline apps?
HTML5:
IndexedDB
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
HTML5
:
Web SQ
Databa L
se
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
15. Problem:
Offline Apps
How to create offline apps?
HTML5:
IndexedDB
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
HTML5
:
Web SQ
Databa L
se
Embedded
Database:
SQLite
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
16. Problem:
Offline Apps
How to create offline apps?
HTML5:
IndexedDB
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
HTML5
:
Web SQ
Databa L
se
Embedded Embedded
Database: Database:
SQLite CouchDB/
Couchbase
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
17. Problem:
Offline Apps
How to create offline apps?
HTML5:
IndexedDB
HTML5:
Offline Web[1] HTML5:
Applications Local
Storage[2]
HTML5
:
Web SQ
Databa L
se
Embedded Embedded
Database: Database:
SQLite CouchDB/
Couchbase
1. http://diveintohtml5.org/offline.html
2. http://diveintohtml5.org/storage.html
23. Problem:
Synchronization
How to synchronize data between devices, servers and users?
Build your own
sync feature iCloud
Domain-speci c CouchDB/
synchronization
(e.g. SyncML)
Couchbase Mobile
synchronization
24. Problem:
Synchronization
How to synchronize data between devices, servers and users?
Build your own
sync feature iCloud
Domain-speci c CouchDB/
synchronization
(e.g. SyncML)
Couchbase Mobile
synchronization
28. CouchApp
• web app built using JavaScript, CSS and HTML5
• can be packaged up as a “native” app
29. CouchApp
• web app built using JavaScript, CSS and HTML5
• can be packaged up as a “native” app
• stores data in its own CouchDB/Couchbase database
30. CouchApp
• web app built using JavaScript, CSS and HTML5
• can be packaged up as a “native” app
• stores data in its own CouchDB/Couchbase database
• can synchronize with other CouchApps
+ =
32. jQuery Mobile: Touch-
Optimized Web Framework
“A uni ed user interface
system across all popular
mobile device platforms,
built on the rock-solid jQuery
and jQuery UI foundation. Its
lightweight code is built with
progressive enhancement,
and has a exible, easily
themeable design.”
From:
http://jquerymobile.com/
33. PhoneGap
“PhoneGap is an HTML5 app
platform that allows you to
author native applications
with web technologies and get
access to APIs and app stores.
PhoneGap leverages web
technologies developers
already know best... HTML and
JavaScript.”
From:
http://www.phonegap.com/
34. Building iPhone Apps with
HTML, CSS, and JavaScript
“It's a fact: if you know HTML, CSS,
and JavaScript, you already have
the tools you need to develop
your own iPhone apps. With this
book, you'll learn how to use these
open source web technologies to
design and build apps for the
iPhone and iPod Touch on the
platform of your choice-without
using Objective-C or Cocoa.”
From:
http://shop.oreilly.com/
product/9780596805791.do
35. Building Android Apps with
HTML, CSS, and JavaScript
“If you know HTML, CSS, and
JavaScript, you already have
the tools you need to develop
Android applications. This
hands-on book shows you how
to use these open source web
standards to design and build
apps that can be adapted for
any Android device – without
having to use Java.”
From:
http://shop.oreilly.com/
product/0636920010067.do
39. About CouchDB
• a database that stores JSON "documents"
• accessed through HTTP
40. About CouchDB
• a database that stores JSON "documents"
• accessed through HTTP
• queried using views produced by Map/Reduce functions
41. About CouchDB
• a database that stores JSON "documents"
• accessed through HTTP
• queried using views produced by Map/Reduce functions
• can also serve static les
42. About CouchDB
• a database that stores JSON "documents"
• accessed through HTTP
• queried using views produced by Map/Reduce functions
• can also serve static les
• can act as a "side-effect free" web application server
49. Grocery Sync
Demo app that keeps
your shopping list in
sync between devices.
Links:
• CouchApp code
• iOS code
• Android code
• Presentation about
Couchbase Mobile
53. HTML Skeleton
<!DOCTYPE html>
<html>
<head>
<title>jQuery and CouchDB</title>
<script src="/_utils/script/jquery.js?1.4.2"></script>
<script src="/_utils/script/jquery.couch.js?0.11.0"></script>
</head>
<body>
</body>
</html>
54. The same-origin policy[1] dictates that
your HTML and AJAX data (JSON) must
be retrieved from the same origin.
1. http://www.w3.org/Security/wiki/Same_Origin_Policy
64. Save a New Document
$.couch.db("mydb").saveDoc({}, {
success: function(data) {
console.log(data);
}
});
65. Save a New Document
$.couch.db("mydb").saveDoc({}, {
success: function(data) {
console.log(data);
}
});
POST http://localhost:5984/mydb 201 Created
66. Save a New Document
$.couch.db("mydb").saveDoc({}, {
success: function(data) {
console.log(data);
}
});
POST http://localhost:5984/mydb 201 Created
{
"ok":true,
"id":"e15d848571c8a0352e94738ba6018790",
"rev":"1-967a00dff5e02add41819138abb3284d"
}
70. Open a Document
$.couch.db("mydb").openDoc("e15d8485…", {
success: function(data) {
console.log(data);
}
});
GET http://localhost:5984/mydb/e15d8485… 200 OK
{
_id="e15d848571c8a0352e94738ba6018790",
_rev="1-967a00dff5e02add41819138abb3284d"
}
139. Alternative CouchApp Tools
node.couchapp.js
• Command-line tool written for Node.js
• https://github.com/mikeal/node.couchapp.js
Kanso Framework
• Also built using Node.js
• http://kansojs.org
soca
• Command-line tool written in Ruby
• https://github.com/quirkey/soca
Reupholster
• A simple way to get started developing CouchApps
• http://reupholster.iriscouch.com/reupholster/_design/app/index.html
140. Hosting
Iris Couch
• Free (for now)
• Couchbase server
• GeoCouch geospatial indexing
• http://www.iriscouch.com
Cloudant
• Various pricing levels
• Full-text searching
• Ad-hoc queries
• Elastic scaling, clustering and sharding using BigCouch
• https://cloudant.com
141. Documentation and Books
CouchApp Wiki Writing and Querying MapReduce
http://couchapp.org/ Views in CouchDB
by Bradley Holt (O’Reilly)
CouchDB Wiki 978-1-449-30312-9
http://wiki.apache.org/couchdb/
Scaling CouchDB
CouchDB: The De nitive Guide by Bradley Holt (O’Reilly)
by J. Chris Anderson, Jan 063-6-920-01840-7
Lehnardt and Noah Slater
(O’Reilly) Beginning CouchDB
978-0-596-15589-6 by Joe Lennon (Apress)
978-1-430-27237-3
&#x201C;Add to home screen&#x201D; option\n
&#x201C;Add to home screen&#x201D; option\n
&#x201C;Add to home screen&#x201D; option\n
&#x201C;Add to home screen&#x201D; option\n
&#x201C;Add to home screen&#x201D; option\n
\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
&#x201C;Offline Web Applications&#x201D; refers to &#x201C;appcache&#x201D; or &#x201C;application cache&#x201D; which is implemented via a cache manifest file.\n&#x201C;Local Storage&#x201D; refers to the &#x201C;Web Storage API&#x201D; which stores key/value pairs.\n
\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
Building your own sync feature is difficult.\niCloud is for iOS 5 only.\nCouchbase Mobile works on both iOS and Android devices.\n
\n
Technically, a CouchApp can synchronize with anything else using CouchDB/Couchbase.\n
Technically, a CouchApp can synchronize with anything else using CouchDB/Couchbase.\n
Technically, a CouchApp can synchronize with anything else using CouchDB/Couchbase.\n
Technically, a CouchApp can synchronize with anything else using CouchDB/Couchbase.\n
Technically, a CouchApp can synchronize with anything else using CouchDB/Couchbase.\n
Not the focus of this talk.\n
\n
\n
\n
\n
\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Static files could include HTML files, images, videos, etc.\nDiscuss &#x201C;side-effect free&#x201D; in the context of CouchDB show and list functions.\n
Geospatial indexing is implemented via GeoCouch.\nCouchbase is also the name of the company behind the product of the same name.\nCouchbase contributes back to CouchDB.\n
Geospatial indexing is implemented via GeoCouch.\nCouchbase is also the name of the company behind the product of the same name.\nCouchbase contributes back to CouchDB.\n
Geospatial indexing is implemented via GeoCouch.\nCouchbase is also the name of the company behind the product of the same name.\nCouchbase contributes back to CouchDB.\n
Geospatial indexing is implemented via GeoCouch.\nCouchbase is also the name of the company behind the product of the same name.\nCouchbase contributes back to CouchDB.\n
CouchDB implements multi-master replication.\nCouchApps are an example of &#x201C;ground computing&#x201D; where data moves from the &#x201C;cloud&#x201D; to the end user&#x2019;s device.\n
\n
I believe the iOS and Android versions are actually native.\n
CouchDB is a great fit for decentralized social apps.\n
This app takes advantage of the geospatial indexing available in GeoCouch.\n
\n
This will need to be served by CouchDB.\njQuery and the CouchDB jQuery plugin ship with CouchDB.\n
\n
Console logging can easily be replaced with DOM manipulation code.\n
Console logging can easily be replaced with DOM manipulation code.\n
Console logging can easily be replaced with DOM manipulation code.\n
\n
\n
\n
This is saving an empty document.\n
This is saving an empty document.\n
This is saving an empty document.\n
\n
\n
\n
\n
\n
\n
A new revision is created when a document is deleted.\n
A new revision is created when a document is deleted.\n
A new revision is created when a document is deleted.\n
This uses long polling, keeping a connection open between client and server.\n
This uses long polling, keeping a connection open between client and server.\n
This uses long polling, keeping a connection open between client and server.\n
\n
\n
\n
\n
\n
This CouchApp tool is written in Python.\nOther CouchApp tooling options are available.\n
This CouchApp tool is written in Python.\nOther CouchApp tooling options are available.\n
\n
\n
\n
\n
\n
\n
\n
Includes account, profile and items widgets out-of-the-box.\n
\n
A database can have multiple CouchApps and/or design documents.\nDesign documents are named &#x201C;_design/<name>&#x201D;.\n
\n
\n
\n
Widgets are wired up to specified DOM elements.\n
File system tree is packaged up as a set of Evently widgets.\nEvently widgets can be deeply nested.\n
File system tree is packaged up as a set of Evently widgets.\nEvently widgets can be deeply nested.\n
\n
\n
Variables can be &#x201C;unescaped&#x201D; by using three braces instead of two.\n&#x201C;Missed&#x201D; (e.g. undefined or null) variables will output nothing.\n
\n
\n
\n
\n
\n
Mustache templates seem to require one, and only one, root element.\n
Mustache templates seem to require one, and only one, root element.\n
\n
\n
\n
\n
Creating a &#x201C;View Profile&#x201D; hyperlink which can be clicked, triggering a &#x201C;viewProfile&#x201D; widget which contains a link &#x201C;back&#x201D; to the first widget.\n
\n
\n
\n
\n
\n
\n
\n
\n
Not necessarily compatible with the Python version.\n