In the PHP community we have been professionalizing at an amazing rate, quickly bigger and bigger web-applications are written in PHP to a point where it is almost unheard of to write a huge project without using a Framework and ORM of some sort.
The same is starting to happen in the JS space, having a data-model in the front-end is becoming more and more common. This talk will focus on how Symfony2 (/ Doctrine) can be used as a powerful back-end store for your JavaScript front-end framework models. And if you already have a Symfony2 application how to transition gradually into using more JavaScript in the front-end.
The document discusses techniques for optimizing JavaScript and AJAX performance. It recommends planning for performance from the start, measuring performance during development, reducing unnecessary code, optimizing assets, and handling long-running processes by breaking work into chunks. Specific tips include minimizing HTTP requests, leveraging caching, optimizing regular expressions, and using innerHTML for document modifications instead of DOM methods.
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
The document discusses creating modular test-driven single page applications (SPAs) using Spring and AngularJS. It provides an overview of AngularJS concepts and how to integrate AngularJS with Spring, including building and deploying AngularJS apps, modularization, and testing. It also covers AngularJS basics like models, views, controllers, directives, and modules.
The document provides an introduction to developing complex front-end applications using HTML and JavaScript. It discusses how JavaScript modules can be organized in a way that is similar to frameworks like WPF and Silverlight using simple constructs like the module pattern. It also covers asynchronous module definition (AMD) and how modules can be loaded and dependencies managed using RequireJS. The document demonstrates unit testing jQuery code and using pubsub for loose coupling between modules. Finally, it discusses how CSS compilers like SASS can make CSS authoring more productive by allowing variables, nesting and mixins.
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptHazelcast
In this webinar
JavaScript is a powerful, flexible, and dynamically typed language. JVM is proven to be reliable and stable production platform. The power of the JVM is an ability to run programs written in different languages, including JavaScript. You can short the development cycle by leveraging a scripting abilities of JavaScript. This presentation is about JVM’s scripting capabilities that allow to mix Java and JavaScript in the same application.
In this session you’ll get introduced to the latest state of the polyglot frameworks that use JavaScript and Java side-by-side.
We’ll cover these topics:
-The JDK8’s Nashorn benefits for the server and the client side developers
-Using JavaScript and NodeJS applications and libraries on the Java platform
-Real-world projects overview that leveraging on Java-JavaScript interactions
-Live Q&A
Presenter:
Viktor Gamov, Senior Solutions Architect at Hazelcast
Viktor joined Hazelcast with over 5 years experience of architecting and building the enterprise applications using open source technologies. At his previous roles, he helped the financial companies and startups with various Java and HTML5 projects. He holds MS in Computer Science. He is a co-author of the O’Reilly book «Enterprise Web Development. From Desktop To Mobile». Viktor presented at various international conferences (http://lanyrd.com/gamussa) on Java and JavaScript related topics. He tweets at @gamussa.
This document discusses Express.js, a popular Node.js web application framework. It begins by explaining that Express makes developing websites, web apps, and APIs easier by providing route support and templating engine integration. It then demonstrates how to install Express and a templating engine like Jade. Several code examples are provided, including creating a simple REST API with routes, using Express to serve multiple pages with query parameters, and building a RESTful API for a resource like dogs. Resources for further learning about Express and Node.js are listed at the end.
This document outlines an agenda for a workshop on modern frontend development with React.js. It begins with setup instructions for installing Node.js and cloning a GitHub repository. The agenda then covers ES6 features like arrow functions, classes, and modules. It discusses tools like Babel, Webpack, and React. It introduces Flux architecture and Redux for unidirectional data flow and state management. Finally, it suggests next steps and provides references to sample code and the workshop presenter's contact information.
The document discusses the future of web development with single page applications (SPAs) and web components. It covers current SPA frameworks like AngularJS, EmberJS, and React. It also discusses new technologies like ES6, fetch API, and decorators. Finally, it outlines a workshop to build an app with Aurelia using Flickr data and Polymer components.
The document discusses techniques for optimizing JavaScript and AJAX performance. It recommends planning for performance from the start, measuring performance during development, reducing unnecessary code, optimizing assets, and handling long-running processes by breaking work into chunks. Specific tips include minimizing HTTP requests, leveraging caching, optimizing regular expressions, and using innerHTML for document modifications instead of DOM methods.
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
The document discusses creating modular test-driven single page applications (SPAs) using Spring and AngularJS. It provides an overview of AngularJS concepts and how to integrate AngularJS with Spring, including building and deploying AngularJS apps, modularization, and testing. It also covers AngularJS basics like models, views, controllers, directives, and modules.
The document provides an introduction to developing complex front-end applications using HTML and JavaScript. It discusses how JavaScript modules can be organized in a way that is similar to frameworks like WPF and Silverlight using simple constructs like the module pattern. It also covers asynchronous module definition (AMD) and how modules can be loaded and dependencies managed using RequireJS. The document demonstrates unit testing jQuery code and using pubsub for loose coupling between modules. Finally, it discusses how CSS compilers like SASS can make CSS authoring more productive by allowing variables, nesting and mixins.
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptHazelcast
In this webinar
JavaScript is a powerful, flexible, and dynamically typed language. JVM is proven to be reliable and stable production platform. The power of the JVM is an ability to run programs written in different languages, including JavaScript. You can short the development cycle by leveraging a scripting abilities of JavaScript. This presentation is about JVM’s scripting capabilities that allow to mix Java and JavaScript in the same application.
In this session you’ll get introduced to the latest state of the polyglot frameworks that use JavaScript and Java side-by-side.
We’ll cover these topics:
-The JDK8’s Nashorn benefits for the server and the client side developers
-Using JavaScript and NodeJS applications and libraries on the Java platform
-Real-world projects overview that leveraging on Java-JavaScript interactions
-Live Q&A
Presenter:
Viktor Gamov, Senior Solutions Architect at Hazelcast
Viktor joined Hazelcast with over 5 years experience of architecting and building the enterprise applications using open source technologies. At his previous roles, he helped the financial companies and startups with various Java and HTML5 projects. He holds MS in Computer Science. He is a co-author of the O’Reilly book «Enterprise Web Development. From Desktop To Mobile». Viktor presented at various international conferences (http://lanyrd.com/gamussa) on Java and JavaScript related topics. He tweets at @gamussa.
This document discusses Express.js, a popular Node.js web application framework. It begins by explaining that Express makes developing websites, web apps, and APIs easier by providing route support and templating engine integration. It then demonstrates how to install Express and a templating engine like Jade. Several code examples are provided, including creating a simple REST API with routes, using Express to serve multiple pages with query parameters, and building a RESTful API for a resource like dogs. Resources for further learning about Express and Node.js are listed at the end.
This document outlines an agenda for a workshop on modern frontend development with React.js. It begins with setup instructions for installing Node.js and cloning a GitHub repository. The agenda then covers ES6 features like arrow functions, classes, and modules. It discusses tools like Babel, Webpack, and React. It introduces Flux architecture and Redux for unidirectional data flow and state management. Finally, it suggests next steps and provides references to sample code and the workshop presenter's contact information.
The document discusses the future of web development with single page applications (SPAs) and web components. It covers current SPA frameworks like AngularJS, EmberJS, and React. It also discusses new technologies like ES6, fetch API, and decorators. Finally, it outlines a workshop to build an app with Aurelia using Flickr data and Polymer components.
This document discusses GWT architectures and lessons learned from GWT development. It covers topics like structuring the UI with widgets, talking to servers, and shifting to rich internet applications. It provides tips for development like using MVP patterns, handling events, avoiding maintainability issues. It also discusses using GWT-RPC and generics for type-safe communications and batching commands for efficiency. Overall it focuses on architectural best practices, common problems, and solutions for building maintainable and performant GWT applications.
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
This document provides an overview of designing complex applications using HTML5 and KnockoutJS. It discusses HTML5 and why it is useful, introduces JavaScript and frameworks like KnockoutJS and SammyJS that help manage complexity. It also summarizes several JavaScript libraries and patterns including the module pattern, revealing module pattern, and MV* patterns. Specific libraries and frameworks discussed include RequireJS, AmplifyJS, UnderscoreJS, and LINQ.js. The document concludes with a brief mention of server-side tools like ScriptSharp.
SharePoint Conference North America - Converting your JavaScript to SPFXMark Rackley
This document provides an overview of the SharePoint Framework (SPFx) and discusses converting existing customizations to use SPFx. It begins with an introduction to Mark Rackley and his areas of expertise. The main sections discuss what SPFx is, why it is needed, required skills, and demonstrates converting a sample customization to SPFx. Key points are that SPFx allows managing client-side web parts, supports modern development practices, and provides an enterprise-ready solution for customizations. Potential hurdles mentioned are learning new skills like TypeScript, Node.js and the SharePoint toolchain.
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav DukhinFwdays
Is it possible to write a program that significantly changes its behaviour during the runtime without changing its source code? Have you ever wondered about native TypeScript support in Node.js? Or whether it is possible to write JavaScript code that syntactically feels a lot different but is still valid? The answers to these and a lot of other questions will be discussed in detail in this talk. From the basics of metaprogramming theory to practical examples of its application in enterprise projects. We are going to talk about metalinguistic abstractions, domain-specific languages, and how they can help us solve software engineering problems. We will take a look at how popular frameworks and libraries like React.js, Express.js, Nest.js and Lodash use metaprogramming to develop systems that are used worldwide. Moreover, we will learn how to think in terms of metaprograms and broaden our outlook towards the great world of metasystems.
The document describes the Xopus JavaScript application framework. The framework aims to address problems with structuring JavaScript programs by introducing object-oriented paradigms like modules, classes, and dependencies. It allows writing JavaScript code in an extended subset with OO features, compiles it to flattened code, and supports unit testing and other program analysis tools. The framework provides a consistent way to structure programs into packages and make dependencies explicit without runtime overhead.
A broad introduction to Java.
What is Java and where is it used
Programming Languages in the web development
What is Java and where is it used
OOP PRINCIPLES
JAVA SE, JRE, JDK
IDE’s
Where Java used in the “Real World”
AMD (Asynchronous Module Definition) is JavaScript's missing module system for the browser. It's a cosmos of interoperability, efficient loading, dependency resolution, code optimization, etc.
At excentos we're using it as part of the Dojo Toolkit to organize our single-page product advisor web apps.
I will give a short introduction to the concept and some tools and I'm going to explain why everyone with a reasonably-sized code base should adopt it.
This document discusses how domain-specific languages (DSLs) can be used to make Java code more readable and maintainable. It describes different types of DSLs including external and internal DSLs built with Java and scripting languages. It also discusses JetBrains MPS, a language workbench that provides a new approach for building DSLs without relying on a specific output language. DSLs allow raising the level of abstraction and separating stable and changing parts of code. Fluent APIs and internal DSLs in Java provide readability benefits, while scripting languages allow further readability through features like closures and list literals.
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
This document discusses building a full-stack application called MemeMail using Golang and Google Cloud Platform within one week. It describes choosing Google Cloud over other cloud providers for its ease of use. It then discusses the frontend implementation using Vue.js with a simple state mutation approach. The backend is built with Golang on App Engine using Cloud services like Datastore and Cloud Build for CI/CD. It emphasizes keeping the architecture simple rather than over-engineering for an MVP within a tight deadline.
Backbone.js is a JavaScript framework that provides structure and conventions for developing single-page web applications. It helps avoid unnecessary DOM manipulations by separating the application state from the DOM using models. Views observe changes to models and re-render the DOM accordingly. Models can be synced to a back-end API to persist data. Backbone.js uses an MVVM pattern with models representing the application state, views for rendering, and the DOM acting as the view model.
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterHaehnchen
In 2013 the "Symfony Plugin" for PhpStorm was born. Today we see over 1 million downloads and several other plugins for projects like Laravel, Drupal, Shopware, ... that help to improve your productivity.
I will talk about Symfony related features and will give you some tips and tricks. Also, we take a look at the infrastructure behind these plugins and how I maintain all of them.
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...Codemotion
Front-end development has an amazing assortment of libraries and tools, yet it can seem very complex and doest seem much fun. So we'll live code a ClojureScript application (with a bit of help from Git) and show how development doesn't have to be complex or slow. Through live evaluation, we can build a reactive, functional application. Why not take a look at a well designed language that uses modern functional & reactive concepts for building Front-End apps. You are going to have to trans-pile anyway, so why not use a language, libraries and tooling that is bursting with fun to use.
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBDavid Wesst
The document is a presentation by David Wesst introducing Node.js. It begins with background on Wesst and sets the point of answering questions about Node.js. The presentation plan is to explain what Node.js is, how to set it up, key tools like NPM, and how to start coding with callbacks and modules. Key aspects of Node.js covered include it being server-side JavaScript, using asynchronous and non-blocking I/O, and how it differs from ASP.NET by being open source and not requiring IIS. Examples are provided of using NPM, coding with callbacks, and making modules.
This document discusses rethinking web app development with React.js and Flux. It outlines some of the challenges with traditional MVC frameworks in scaling to support features like real-time updates. It then introduces React.js as a component-based view library and Flux as an architecture that uses unidirectional data flow to address these challenges through composable and reusable components. Specific implementations discussed include Fluxible for building isomorphic apps and Webpack as a module bundler.
Esta charla comprende las lecciones aprendidas convirtiendo la app de Android de Teambox (una app repleta de deuda técnica y con un alto nivel de acoplamiento entre clases), en la versión actual de Redbooth, que intenta cumplir la arquitectura Hexagonal y los principios SOLID. Durante la exposición explicaremos como fuimos desenredando el código paso a paso; como aplicamos por partes los conceptos de la arquitectura hexagonal; como dejamos de lado componentes del framework de Android que dificultaban el mantenimiento de la app; y que errores cometimos, como los solucionamos y como se podrían haber evitado.
"Xapi-lang For declarative code generation" By James NelsonGWTcon
Xapi-lang is a Java parser enhanced with an XML-like syntax that can be used for code generation, templating, and creating domain-specific languages. It works by parsing code into an abstract syntax tree and then applying visitors to analyze and transform the AST to produce output. Examples shown include class templating, API generation from templates, and UI component generation. The document also discusses best practices for code generation and outlines plans for rebuilding the GWT toolchain to support GWT 3 and J2CL. It promotes a new company, Vertispan, for GWT support and consulting and introduces another project called We The Internet for building tools to improve political systems using distributed democracy.
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Ondřej Machulda
Annotated slides from Berlin PHP Usergroup Meetup, 4th April 2017.
---
Not only unit tests but also end-to-end tests in real browser are important part of test automation and test pyramid. So let's have a look how to easily write and run Selenium functional tests using PHPUnit and Steward.
Developing cross platform desktop application with RubyAnis Ahmad
A brief introduction and example of developing desktop application with Ruby programming language. JRuby and shoesrb is discussed as platform.
Prepared for and Presented on Ruby Conference Bangladesh 2003.
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
More Related Content
Similar to Working with symfony2 models in the front end
This document discusses GWT architectures and lessons learned from GWT development. It covers topics like structuring the UI with widgets, talking to servers, and shifting to rich internet applications. It provides tips for development like using MVP patterns, handling events, avoiding maintainability issues. It also discusses using GWT-RPC and generics for type-safe communications and batching commands for efficiency. Overall it focuses on architectural best practices, common problems, and solutions for building maintainable and performant GWT applications.
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
This document provides an overview of designing complex applications using HTML5 and KnockoutJS. It discusses HTML5 and why it is useful, introduces JavaScript and frameworks like KnockoutJS and SammyJS that help manage complexity. It also summarizes several JavaScript libraries and patterns including the module pattern, revealing module pattern, and MV* patterns. Specific libraries and frameworks discussed include RequireJS, AmplifyJS, UnderscoreJS, and LINQ.js. The document concludes with a brief mention of server-side tools like ScriptSharp.
SharePoint Conference North America - Converting your JavaScript to SPFXMark Rackley
This document provides an overview of the SharePoint Framework (SPFx) and discusses converting existing customizations to use SPFx. It begins with an introduction to Mark Rackley and his areas of expertise. The main sections discuss what SPFx is, why it is needed, required skills, and demonstrates converting a sample customization to SPFx. Key points are that SPFx allows managing client-side web parts, supports modern development practices, and provides an enterprise-ready solution for customizations. Potential hurdles mentioned are learning new skills like TypeScript, Node.js and the SharePoint toolchain.
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav DukhinFwdays
Is it possible to write a program that significantly changes its behaviour during the runtime without changing its source code? Have you ever wondered about native TypeScript support in Node.js? Or whether it is possible to write JavaScript code that syntactically feels a lot different but is still valid? The answers to these and a lot of other questions will be discussed in detail in this talk. From the basics of metaprogramming theory to practical examples of its application in enterprise projects. We are going to talk about metalinguistic abstractions, domain-specific languages, and how they can help us solve software engineering problems. We will take a look at how popular frameworks and libraries like React.js, Express.js, Nest.js and Lodash use metaprogramming to develop systems that are used worldwide. Moreover, we will learn how to think in terms of metaprograms and broaden our outlook towards the great world of metasystems.
The document describes the Xopus JavaScript application framework. The framework aims to address problems with structuring JavaScript programs by introducing object-oriented paradigms like modules, classes, and dependencies. It allows writing JavaScript code in an extended subset with OO features, compiles it to flattened code, and supports unit testing and other program analysis tools. The framework provides a consistent way to structure programs into packages and make dependencies explicit without runtime overhead.
A broad introduction to Java.
What is Java and where is it used
Programming Languages in the web development
What is Java and where is it used
OOP PRINCIPLES
JAVA SE, JRE, JDK
IDE’s
Where Java used in the “Real World”
AMD (Asynchronous Module Definition) is JavaScript's missing module system for the browser. It's a cosmos of interoperability, efficient loading, dependency resolution, code optimization, etc.
At excentos we're using it as part of the Dojo Toolkit to organize our single-page product advisor web apps.
I will give a short introduction to the concept and some tools and I'm going to explain why everyone with a reasonably-sized code base should adopt it.
This document discusses how domain-specific languages (DSLs) can be used to make Java code more readable and maintainable. It describes different types of DSLs including external and internal DSLs built with Java and scripting languages. It also discusses JetBrains MPS, a language workbench that provides a new approach for building DSLs without relying on a specific output language. DSLs allow raising the level of abstraction and separating stable and changing parts of code. Fluent APIs and internal DSLs in Java provide readability benefits, while scripting languages allow further readability through features like closures and list literals.
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
This document discusses building a full-stack application called MemeMail using Golang and Google Cloud Platform within one week. It describes choosing Google Cloud over other cloud providers for its ease of use. It then discusses the frontend implementation using Vue.js with a simple state mutation approach. The backend is built with Golang on App Engine using Cloud services like Datastore and Cloud Build for CI/CD. It emphasizes keeping the architecture simple rather than over-engineering for an MVP within a tight deadline.
Backbone.js is a JavaScript framework that provides structure and conventions for developing single-page web applications. It helps avoid unnecessary DOM manipulations by separating the application state from the DOM using models. Views observe changes to models and re-render the DOM accordingly. Models can be synced to a back-end API to persist data. Backbone.js uses an MVVM pattern with models representing the application state, views for rendering, and the DOM acting as the view model.
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years laterHaehnchen
In 2013 the "Symfony Plugin" for PhpStorm was born. Today we see over 1 million downloads and several other plugins for projects like Laravel, Drupal, Shopware, ... that help to improve your productivity.
I will talk about Symfony related features and will give you some tips and tricks. Also, we take a look at the infrastructure behind these plugins and how I maintain all of them.
ClojureScript - Making Front-End development Fun again - John Stevenson - Cod...Codemotion
Front-end development has an amazing assortment of libraries and tools, yet it can seem very complex and doest seem much fun. So we'll live code a ClojureScript application (with a bit of help from Git) and show how development doesn't have to be complex or slow. Through live evaluation, we can build a reactive, functional application. Why not take a look at a well designed language that uses modern functional & reactive concepts for building Front-End apps. You are going to have to trans-pile anyway, so why not use a language, libraries and tooling that is bursting with fun to use.
NodeJS for Novices - 28/Oct/13 - Winnipeg, MBDavid Wesst
The document is a presentation by David Wesst introducing Node.js. It begins with background on Wesst and sets the point of answering questions about Node.js. The presentation plan is to explain what Node.js is, how to set it up, key tools like NPM, and how to start coding with callbacks and modules. Key aspects of Node.js covered include it being server-side JavaScript, using asynchronous and non-blocking I/O, and how it differs from ASP.NET by being open source and not requiring IIS. Examples are provided of using NPM, coding with callbacks, and making modules.
This document discusses rethinking web app development with React.js and Flux. It outlines some of the challenges with traditional MVC frameworks in scaling to support features like real-time updates. It then introduces React.js as a component-based view library and Flux as an architecture that uses unidirectional data flow to address these challenges through composable and reusable components. Specific implementations discussed include Fluxible for building isomorphic apps and Webpack as a module bundler.
Esta charla comprende las lecciones aprendidas convirtiendo la app de Android de Teambox (una app repleta de deuda técnica y con un alto nivel de acoplamiento entre clases), en la versión actual de Redbooth, que intenta cumplir la arquitectura Hexagonal y los principios SOLID. Durante la exposición explicaremos como fuimos desenredando el código paso a paso; como aplicamos por partes los conceptos de la arquitectura hexagonal; como dejamos de lado componentes del framework de Android que dificultaban el mantenimiento de la app; y que errores cometimos, como los solucionamos y como se podrían haber evitado.
"Xapi-lang For declarative code generation" By James NelsonGWTcon
Xapi-lang is a Java parser enhanced with an XML-like syntax that can be used for code generation, templating, and creating domain-specific languages. It works by parsing code into an abstract syntax tree and then applying visitors to analyze and transform the AST to produce output. Examples shown include class templating, API generation from templates, and UI component generation. The document also discusses best practices for code generation and outlines plans for rebuilding the GWT toolchain to support GWT 3 and J2CL. It promotes a new company, Vertispan, for GWT support and consulting and introduces another project called We The Internet for building tools to improve political systems using distributed democracy.
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Ondřej Machulda
Annotated slides from Berlin PHP Usergroup Meetup, 4th April 2017.
---
Not only unit tests but also end-to-end tests in real browser are important part of test automation and test pyramid. So let's have a look how to easily write and run Selenium functional tests using PHPUnit and Steward.
Developing cross platform desktop application with RubyAnis Ahmad
A brief introduction and example of developing desktop application with Ruby programming language. JRuby and shoesrb is discussed as platform.
Prepared for and Presented on Ruby Conference Bangladesh 2003.
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
Similar to Working with symfony2 models in the front end (20)
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
3. WHEN TO USE MODELS IN
THE FRONT-END?
AVARAGE GOVERNMENT COMPUTER BROWSER:
4. WHEN TO USE MODELS IN
THE FRONT-END?
When developing for a modern browser (>
IE8, FF 3.5)
When building a single page application
(SPA) for desktop
When building a single page application for
mobile devices
5. WHEN TO USE MODELS IN
THE FRONT-END?
HYBRID SITUATION
Endusers
(website front-end)
Administrators
(website back-end)
HTML / CSS - Twig Symfony2 Entities Fancy Javascript / HTML5
6. WHEN TO USE MODELS IN
THE FRONT-END?
FROM PROGRESSIVE ENHANCEMENT TO BUILDING
ACTUAL APPLICATIONS IN JAVASCRIPT
SunSpider 2001 until Q1-2009 Google Trends 2007 until 2014
7. SO WHY USE MODELS IN THE
FRONT-END?
MODERN WEBDEVELOPMENT PARADIGM
90's early 2000's Today
8. SO WHY USE MODELS IN THE
FRONT-END?
Code structure
Maintainability
Working in a team of front-end developers
Clear seperation between front and back-end (developers)
The front-end and back-end share a common data model
Stateful
Ability to synchronise state from and to the back-end
Less data usage. (Important for mobile devices)
Less server resources required
Ability to keep data client-side (HTML5 data storage for example)
Bonus: Free API!
RESTFul API supporting both XML and JSON
Import / Export entities to XML and JSON
Easy to migrate to newer versions of the data model
16. SYMFONY2 ENTITY
SERIALIZATION
THERE IS A BUNDLE FOR THAT!
Exposing your routes to JavaScript
FOSJsRoutingBundle
Make your entities automatically serialize
JMSSerializerBundle
Create a RESTFul API, the lazy .. ahum .. easy way
FOSRestBundle
17. EXPOSING YOUR ROUTES TO
JAVASCRIPT
/APP/CONFIG/ROUTING.YML
#IfyoucouldgoaheadandaddthecovertotheTPSreportsthatwouldbeterrific
add_cover_to_tps_report:
pattern:/tps_report/add_cover/{reportId}
defaults:{_controller:OfficeSpaceTpsBundle:Reports:addCover}
#Theimportantpart
options:
expose:true
18. FOSRoutingBundle provides Routing.generate();
Generate a JSON object based on exposed routes
EXPOSING YOUR ROUTES TO
JAVASCRIPT
INCLUDING FOSJSROUTINGBUNDLE DEPENDENCIES IN
<HEADER />
<script
type="text/javascript"
src="{{asset('bundles/fosjsrouting/js/router.js')}}"
>
<script
type="text/javascript"
src="{{path('fos_js_routing_js',{"callback":"fos.Router.setData"})}}"
>
* Ignore the weird indenting
19. EXPOSING YOUR ROUTES TO
JAVASCRIPT
USAGE
varroute=Routing.generate(
'add_cover_to_tps_report',
{reportId:143}
);
alert(route);
20. Adding annotations to your existing entities
http://jmsyst.com/libs/serializer/master/reference/annotations
MAKE YOUR ENTITIES
SERIALIZABLE
JMSSERIALIZERBUNDLE ANNOTATIONS
useRednoseTodoBundleModelTaskasBaseTask;
//AnnotationclassprovidedbytheJMSSerializerBundle
useJMSSerializerAnnotationasSerializer;
classTaskextendsBaseTask{
/**
*...
*...
*@SerializerType("boolean")
*@SerializerGroups({"details","file"})
*/
protected$ready=false;
}
23. MAKE YOUR ENTITIES
SERIALIZABLE
DESERIALIZE AND PERSIST
useJMSSerializerDeserializationContext;
classProjectController{
functionupdateProjectActions(){
$em=$this->getDoctrine()->getManager();
$serializer=$this->get('jms_serializer');
$context=newDeserializationContext();
$context->setGroups(array('details'));
$project=$serializer->deserialize(
$this->getRequest()->getContent(), //TheJSONsendbyJavascript.
'RednoseTodoBundleEntityProject',//Baseentitynamespace.
'json',$context //Format=JSON,Context=details
);
$em->persist($project);
$em->flush();
}
}
24. MAKE YOUR ENTITIES
SERIALIZABLE
GOOD TO KNOW: EVENTLISTENERS
useJMSSerializerEventDispatcherEventSubscriberInterface;
useJMSSerializerEventDispatcherObjectEvent;
classEntityListenerimplementsEventSubscriberInterface
{
protected$user;
publicfunction__construct(ContainerInterface$container)
{
$this->user=$container->get('security.context')->getToken()->getUser();
}
staticpublicfunctiongetSubscribedEvents()
{
returnarray(
array(
'event'=>'serializer.post_deserialize',
'class'=>'RednoseTodoBundleEntityTask','method'=>'onPostDeserialize'
),
);
}
publicfunctiononPreSerialize(PreSerializeEvent$event)
{
$task=$event->getobject();
$task->setOwner($this->user);//Javascriptisnotawareofthesessionuser
}
}
25. Replacing the default ObjectConstructor
MAKE YOUR ENTITIES
SERIALIZABLE
GOOD TO KNOW: DOCTRINE OBJECTCONSTRUCTOR
If entities are not created using Doctrine they will not be referenced to the
existing entity in the database and therefore when persisted new entities will be
created.
But . . . . JMSSerializerBundle provides us a special ObjectConstructor to solve
this issue.
<containerxmlns="...">
<services>
<service
id="jms_serializer.object_constructor"
alias="jms_serializer.doctrine_object_constructor"public="false"
/>
</services>
</container>
26. The Symfony2 way: Convention over configuration is ,
there should at least be 19 ways to do the same thing.
Routing.yml
ProjectController.php
RESTFUL API THE EASY WAY
BASIC ROUTING ANNOTATIONS
stupid
todo_app:
resource:"@RednoseTodoBundle/Controller/"
type: annotation
prefix: /
useSensioBundleFrameworkExtraBundleConfigurationRoute;
/**
*@Route("/project/{projectId}",requirements={"id"="d+"},defaults={"id"=1})
*/
publicfunctiongetProjectAction($projectId)
{
returnnewResponse("Thesearenottheprojectsyou'relookingfor");
}
27. Configuration equals extendability:
RestBundle provides us with CRUD annotations
RESTFUL API THE EASY WAY
CRUD ROUTING ANNOTATIONS
convenient
useFOSRestBundleControllerAnnotationsGet;
useFOSRestBundleControllerAnnotationsPut;
/**
*Getallproject
*
*@Get("/projects",name="todo_app_projects_read",options={"expose"=true})
*
*@returnJsonResponse
*/
publicfunctionreadProjectsActions(){/*...*/}
/**
*Updateaproject
*
*@Put("/project",name="todo_app_project_update",options={"expose"=true})
*
*@returnResponse
*/
publicfunctionupdateProjectActions(){/*...*/}
Using @GET and @POST routes in your docblocks will create a self-documenting API !