This document summarizes an approach to modern web development that separates applications into logical components with single responsibilities. It advocates for building APIs with frameworks like Grails to handle data exchange, separate admin interfaces, and static single page applications using front-end frameworks. Key points include using test-driven development, continuous integration, and pre-generating static content to improve performance and reduce server loads.
Cada día se desarrollan tecnologías que aprovechan mejor las capacidades de los navegadores, el soporte para HTML 5 y CSS 3 mejora cada día y se pueden encontrar librerías JavaScript que ofrecen soporte para lo mas moderno u ofrecen un fallback para funcionar en navegadores anticuados.
Los usuarios cada vez sufren mas el fenomeno de la inmediatez, si el sitio web tarde en contestar se desesperan y se cierran el tab, perdemos al usuario. Por eso es importante que un sitio sea muy rápido y que ofrezca la información que el usuario busca.
En esta charla hablare de como hemos empezado a adoptar Single Page Interface y de los retos que esto significa, como Bookmarking, SEO y otros. Así como de las librerías JavaScript (microframeworks) que evaluamos y que finalmente terminamos usando.
This presentation is an introduction on creating Web Applications that use a JavaScript Stack.From client-side, to server-side to Database, the stack implements JavaScript for all purposes.
Cada día se desarrollan tecnologías que aprovechan mejor las capacidades de los navegadores, el soporte para HTML 5 y CSS 3 mejora cada día y se pueden encontrar librerías JavaScript que ofrecen soporte para lo mas moderno u ofrecen un fallback para funcionar en navegadores anticuados.
Los usuarios cada vez sufren mas el fenomeno de la inmediatez, si el sitio web tarde en contestar se desesperan y se cierran el tab, perdemos al usuario. Por eso es importante que un sitio sea muy rápido y que ofrezca la información que el usuario busca.
En esta charla hablare de como hemos empezado a adoptar Single Page Interface y de los retos que esto significa, como Bookmarking, SEO y otros. Así como de las librerías JavaScript (microframeworks) que evaluamos y que finalmente terminamos usando.
This presentation is an introduction on creating Web Applications that use a JavaScript Stack.From client-side, to server-side to Database, the stack implements JavaScript for all purposes.
MEAN Stack technology is a full-stack JavaScript solution that helps you build fast and very light weight web application. The web application made under MEAN stack is fast because the Node js which is run time environment made by C++ which is very fast as compare to other languages.
MEAN is acronym of Mongodb, Express js, Angular js, Node js. The MEAN stack technology is very easy to learn because MEAN is completely based on JavaScript which means you don't have to learn different languages for implementing this.
So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
A Minimalist’s Attempt at Building a Distributed ApplicationDavid Hoerster
For a typical .NET developer, building a distributed application of web pages and services involves using IIS. But do you really need a full blown web server like IIS? Building a functional distributed application outside IIS is possible and quite easy. Inspired by lightweight frameworks like Java's Jetty and Python's Bottle, we'll look at creating lightweight sites and services in .NET using Nancy. We'll see how using lightweight frameworks allow you to focus on your business logic without letting heavyweight frameworks and processes get in the way.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.
Angular jS Introduction by Google
A to Z angular introduction about Angular Framework which is single page application.
Angular JS and angular is very important for single page applications.
Fluxible is a new framework by Yahoo that follows the Flux architecture by Facebook. The framework enables you to build powerful isomorphic JavaScript applications that are extremely maintainable, extensible, and scalable. The Flux architecture employs a “unidirectional dataflow” and has three major parts: “dispatcher”, “stores”, and “views”. Yahoo’s Fluxible library contains some very powerful tools for setting up your application. This session will run through some important pieces of Fluxible and some basics for setting up an application.
MEAN Stack technology is a full-stack JavaScript solution that helps you build fast and very light weight web application. The web application made under MEAN stack is fast because the Node js which is run time environment made by C++ which is very fast as compare to other languages.
MEAN is acronym of Mongodb, Express js, Angular js, Node js. The MEAN stack technology is very easy to learn because MEAN is completely based on JavaScript which means you don't have to learn different languages for implementing this.
So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
A Minimalist’s Attempt at Building a Distributed ApplicationDavid Hoerster
For a typical .NET developer, building a distributed application of web pages and services involves using IIS. But do you really need a full blown web server like IIS? Building a functional distributed application outside IIS is possible and quite easy. Inspired by lightweight frameworks like Java's Jetty and Python's Bottle, we'll look at creating lightweight sites and services in .NET using Nancy. We'll see how using lightweight frameworks allow you to focus on your business logic without letting heavyweight frameworks and processes get in the way.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
MEAN Stack is a full-stack JavaScript solution that helps you build fast, robust and maintainable production web applications using MongoDB, Express, AngularJS, and Node.js.
Angular jS Introduction by Google
A to Z angular introduction about Angular Framework which is single page application.
Angular JS and angular is very important for single page applications.
Fluxible is a new framework by Yahoo that follows the Flux architecture by Facebook. The framework enables you to build powerful isomorphic JavaScript applications that are extremely maintainable, extensible, and scalable. The Flux architecture employs a “unidirectional dataflow” and has three major parts: “dispatcher”, “stores”, and “views”. Yahoo’s Fluxible library contains some very powerful tools for setting up your application. This session will run through some important pieces of Fluxible and some basics for setting up an application.
Join Pantheon co-founder Josh Koenig to learn about decoupled WordPress: what it is, the benefits and pitfalls, and how to approach a decoupled project. Koenig will walk through a decoupled build using the WP-API, and registrants can ask questions after the session.
- Один JavaScript на сервере и на клиенте;
- SEO, производительность, поддержка и другие преимущества; - Зачем это все .Net программисту;
- Реализации: React.JS, Meteor, Rendr и другие;
- Демо.
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
Slide deck from React Native talk for Central Penn DotNet user group on 01/23/2018.
https://www.meetup.com/Central-Penn-Dot-Net-User-Group/events/245677212/
Single Page Applications: Your Browser is the OS!Jeremy Likness
Single Page Applications have gained tremendous popularity over the past few years and have prompted the creation of several frameworks to support their development. Unlike traditional web applications, most of the heavy lifting for SPA happens on the client side in your web browser. These applications rely on hundreds of lines of JavaScript coupled with asynchronous web service calls to provide a desktop-like experience that is accessible from virtually any device.
Join Principal Architect, Jeremy Likness, to learn more about SPA, including how to determine when you should choose this approach, how SPA compares and contrasts with traditional server-based approaches including ASP.NET WebForms and MVC, and what frameworks and tools (such as jQuery, AngularJS, and Aurelia) make building SPA easier. Discover how single page applications powered by HTML5 and JavaScript transform your browser into a web-based operating system.
aspectos de las aplicaciones y la configuración son necesarias a verificar para ejecutar cargas de trabajo en un entorno seguro.
Desde el ensamblaje de las imágenes de los contenedores a la seguridad de ETCD y acceso externo a elementos del cluster son importantes a considerar.
Kubernetes es una plataforma demasiado popular en este momento, todo mundo la usa o quiere usarla, pero es muy importante conocer las consideraciones y malos usos en los que algunos equipos caen al ejecutar aplicaciones Java.
Hableremos historia de los contenedores, por qué son necesarios, cómo docker llegó a cambiar el panoram, competencia de docker (rkt, etc.), la mejor ruta de aprendizaje y mejores prácticas.
Todo mundo habla de los beneficios de la arquitectura de microservicios, pero poco hay sobre los retos que esta arquitectuta introduce.
En esta presentación les compartimos un poco sobre algunos de los retos a los que nos hemos enfrentado en el campo.
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
Istio es una nueva plataforma Open Source para conectar, administrar y asegurar microservicios, creado por IBM, Google y Lyft. En esta sesión se proporcionan detalles técnicos generales del proyecto Istio y una parte práctica de varias características de Istio, tales como trafico de ingreso, cumplimiento de políticas, telemetría y seguridad. Además se abordarán practicas que nos permitirán crear contenedores mucho más seguros.
In this talk, I will talk about what Cloud Native is and why it's important in the design of applications.
I will also address the challenges involved in writing Cloud Native applications in the JVM. The topics in details that will be discussed are:
Microservices arquitecture
Containers
Orchestration
Observability
CI, CD and Continuous Deployment
Security
El monitoreo no es suficiente, necesitamos más visibilidad de lo que ocurre en nuestra infraestructura, veremos como en sistemas distribuidos podemos tener trazabilidad y monitoreo para mantener saludables nuestros componentes.
Esta sesión comparte desde un punto de vista técnico las experiencias y aprendizajes obtenidos al orquestar contenedores usando la tecnología Kubernetes en SUNAT, la dependencia de gobierno federal en Perú encargada de la administración tributaria.
Presentación sobre Reactive Programming en la JVM para el meetup JVM_MX.
Se mostraron conceptos sobre Reactive Programming y Functional Reactive Programming con la biblioteca RxJava de Netflix.
En esta sesión analizaremos el caso de un proyecto que se realizó para una institución financiera para manejar el almacenamiento y búsqueda de grandes cantidades de datos. La implementación utiliza un cluster de 24 nodos distribuidos para manejar y buscar miles de millones de documentos que representan cientos de terabytes. Entre las tecnologías que se utilizaron están StorageGrid y ElasticSearch.
En esta plática compartiremos algunos de los principales retos técnicos del proyecto, y cómo se resolvieron.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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.
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.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
3. Typical web
development approach
Server side framework
The framework handles all the incoming http request and
process them
Extract data from request and generates response to the user
The framework generates data representation mostly in
html
We can use the framework to generate only data (JSON,
XML)
4. Pros
Very simple to develop
All the app code in a single place
Unique development model
Well know patterns
Tons of libraries and framewoks out there
5. Cons
The server needs to handle several things
database connection
Failure and recovery
User session
render all the time the response to the users
frameworks limitations (user interface, scaling,
adopting new technologies, support lacking)
6. Modern features
Mobile support
Asynchronous processing (server side & client side)
Content negotiation (JSON, XML, html, SOAP?)
View technologies independence (JavaScript, Template engines)
NoSql support (MongoDB, Redis, Cassandra, etc)
Development
Full stack
Specific stack
Cloud deployment
8. Beware
‘Full stack frameworks’
Do you really need a ‘full stack’ framework?
Are you using all the features provided by the full
stack framework?
Sometimes we don’t need a full stack framework
ex. Simple app or service (REST)
10. Real life web system
• API:WebServices REST for information
exchange
• Admin.Web application for internal use
• WebSite.A totally static HTML application built
with Chaplin and several JavaScript
microframewoks
11. WebApps architecture
Built your complete solution using several logical
components
Each component has a single responsability
Built each component with the right tech stack
12. Apps
• API
• Typical Grails application, with no GSPs.
• Speaks only JSON
• Used by partners (remote services) and
HipStore
• Admin
• Typical Grails application
13. Development
enhancements
• Increased test cases in both Grails apps
• Spock
• Jasmine for JavaScript code
• Introduced Jenkins
• Jenkins Jobs to deploy automatically to QA &
Production environments
• Bash shell scripts
14.
15. HipStore
• Static HTML application built with Chaplin
• Chaplin is an architecture for JavaScript
applications using the Backbone.js library
16. HipStore
• Developed in CoffeeScript
• Uses PushState
• RequireJS (AMD Support)
• HandleBars (Template Engine)
• JQuery
• Underscore
• Twitter Bootstrap
• Build and packaged with Jake
17. HipStore
• Single Page Application
• Chaplin consumes JSON from the API to
render the store items.
• Uses PushState to update the URL in the
browser.Very useful for bookmarking and
social media sharing, even for SEO.
18. Our approach
• Write to disk all the possible links in
HipStore. Crazy?
• We use ZombieJS to navigate the website
and then write to disk the generated HTML
• Put those static files (HTML) in the
webserver document root
• The best cache ever
19. Why do this?
• When the user visit our website, the
webserver will respond with completely
static HTML, CSS, JavaScript files
• Very fast
• The user never hits the Tomcats, we reduce
the load in the app servers.
• The webserver always responds very fast
21. HTML harvesting
• The Node app receives the JSON message
• Navigates to HipStore with ZombieJS
• Executes the JavaScript (Chaplin app)
• Extracts the generated HTML with jQuery
• Saves to disk in the web server document
root
22. Things to consider
• When an item in the Store is modified, we need to
regenerate the appropriate HTML file only once.
• Then all the users will receive the same file
• The user only hits the Tomcat when really need it
(CheckOut, Registration)
• When the user click in some action in the app, the
interaction is handled by Chaplin controller if the
browser supports JavaScript
• Remember in our website the content is almost static?
23. Results
• The load in our Web Servers was reduce a
lot.
• The load in the database reduced a lot.
• The users can share the links.
• Store becomes very search engine friendly