Symfony2: What's all the buzz about?
Follow along as we download, install and get a hands-on experience using Symfony2. This presentation shows you how to get started with Symfony and introduces you to the large group of new PHP libraries coming from the Symfony2 community. You'll see examples of how to create pages, use template inheritance, and create a simple JSON API.
Symony2 A Next Generation PHP FrameworkRyan Weaver
A mixture of architecture and hands-on examples, this presentation takes you through the killer features of Symfony2, how it's so decoupled, and how you can get started developing in it.
As an added bonus, a number of new standalone PHP libraries and tools are mentioned at the end.
Twig: Friendly Curly Braces Invade Your Templates!Ryan Weaver
Video: http://youtu.be/Jikkiqt-nBo
Twig! Yep, it's that fancy magic that's supposed to make theming in Drupal 8 as much fun as eating beef brisket at Rudy's Country Store in Austin (apologies to my veggie friends!). And in fact, Twig was *born* for this: a language that was created with one job in mind: making writing templates awesome and powerful. Oh, and to make you love using it.
In this talk, we'll learn about Twig from the ground-up: syntax, filters, inheritance and other tricks you can learn now to be ready for Drupal 8. We'll also look at how Twig looks inside Drupal, and how it compares to what you're used to in Drupal 7.
By the end, you'll know everything to start getting your Drupal 8 theme on and be shouting its praises from the hills! Ok, maybe not that last part (but I do love how excited Drupalers get), but you'll definitely have a new friend in your world: Twig.
Symfony2 è sicuramente uno dei framework migliori in circolazione, ma non sono tutte rose e fiori, soprattutto per chi inizia a sviluppare ed è alle prime armi. In questa presentazione vorrei condividere la mie esperienza di apprendimento ed utilizzo del framework, cercando di mettere in evidenza i miei momenti wtf e alcune linee guida per sviluppare applicazioni manutenibili
With PHP5.3.3 recently released I really feel it is time that php developers are taking namespaces seriously. If you don’t I guarantee you will be out of a job within five years. Namespaces are a fundamental part of the future of PHP. The talk explains the usage on importing third party libraries, using it in your own code and aliasing. The full works.
Symony2 A Next Generation PHP FrameworkRyan Weaver
A mixture of architecture and hands-on examples, this presentation takes you through the killer features of Symfony2, how it's so decoupled, and how you can get started developing in it.
As an added bonus, a number of new standalone PHP libraries and tools are mentioned at the end.
Twig: Friendly Curly Braces Invade Your Templates!Ryan Weaver
Video: http://youtu.be/Jikkiqt-nBo
Twig! Yep, it's that fancy magic that's supposed to make theming in Drupal 8 as much fun as eating beef brisket at Rudy's Country Store in Austin (apologies to my veggie friends!). And in fact, Twig was *born* for this: a language that was created with one job in mind: making writing templates awesome and powerful. Oh, and to make you love using it.
In this talk, we'll learn about Twig from the ground-up: syntax, filters, inheritance and other tricks you can learn now to be ready for Drupal 8. We'll also look at how Twig looks inside Drupal, and how it compares to what you're used to in Drupal 7.
By the end, you'll know everything to start getting your Drupal 8 theme on and be shouting its praises from the hills! Ok, maybe not that last part (but I do love how excited Drupalers get), but you'll definitely have a new friend in your world: Twig.
Symfony2 è sicuramente uno dei framework migliori in circolazione, ma non sono tutte rose e fiori, soprattutto per chi inizia a sviluppare ed è alle prime armi. In questa presentazione vorrei condividere la mie esperienza di apprendimento ed utilizzo del framework, cercando di mettere in evidenza i miei momenti wtf e alcune linee guida per sviluppare applicazioni manutenibili
With PHP5.3.3 recently released I really feel it is time that php developers are taking namespaces seriously. If you don’t I guarantee you will be out of a job within five years. Namespaces are a fundamental part of the future of PHP. The talk explains the usage on importing third party libraries, using it in your own code and aliasing. The full works.
A book for learning puppet by real example and by building code. Second chapters takes you through all basics of Puppet and enough ruby to work with Puppet.
The PHP 7 release is just around the corner, bringing some much-desired changes and improvements to the language. However, many developers simply aren't aware of what's coming. We'll remedy this by checking out the new "spaceship operator," demonstrating how static type hints produce clean code, and using anonymous classes to quickly implement interfaces on the fly. Attendees will also learn about breaking changes and "gotchas" to watch out for when making the upgrade and will receive pointers on getting started with PHP 7 today.
Presented at Codemotion 2016. Discusses the beginner-level dynamics of the performance-improved PHP 7. Gain expanded knowledge of the spaceship and null coalescing operators, anonymous classes, the new error exception, and the security features of PHP 7.
Webpack Encore Symfony Live 2017 San FranciscoRyan Weaver
Ready to write an amazing front-end for your app? There are *so* many great tools, like React, Vue.js, module loaders, Sass, LESS, PostCSS and more. But, they all have one thing in common: you need to configure a *build* system before you write a single line of code! Thankfully, there's Webpack: the leading tool for processing & bundling your JavaScript and CSS. There's just one problem: configuring Webpack is tough and requires a lot of Webpack-specific knowledge. Say hello to Webpack Encore: a library built by Symfony to quickly bootstrap a sophisticated asset setup, complete with minification, SASS processing, automatic versioning, Babel support and *everything* you need to start writing great JavaScript quickly. In this talk, we'll also learn about using JavaScript modules, how to bootstrap a framework (like React) and other important modern practices. Give your assets a huge boost with Webpack Encore!
These slides accompanied a presentation by Steve Breker of Artefactual Systems, delivered as part of AtoM Camp Cambridge, a three-day boot camp held at St John's College, Cambridge University, May 9-11, 2017 For more information, see:
https://wiki.accesstomemory.org/Community/Camps/SJC2017
These slides are intended for developers who are interested in modifying the default look and feel of AtoM - known as the Dominion theme - and developing a custom theme plugin. They include some theme examples, how to register a plugin in Symfony, and some ideas of the elements you can modify via theming, with examples.
Everyone must migrate to PHP 7! Take advantage of exceptional performance improvements, cut your hardware use in half and enjoy the best of PHP. This workshop is for everyone that is still eyeing PHP 7 while still using PHP 5, and wants to review their 1 million LOC project before jumping to PHP 7. When migrating, we need to check old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to their actual location in the code, relying on static analysis to quickly process a large code base. Based on our accumulated experience and tools, we'll review the issues, diagnose criticality, select the best fixes and prioritize the tasks. All tools are Open Source, and ready to be integrated into your project lifecycle.
If you are new to WordPress, but already know how to program, the typical "Hello, World" examples aren't helpful. You need to know how to make the right API calls, and where to find documentation about the actions and filters that WordPress makes available to you.
This presentation is a brief introduction skimming the surface of the API hook system in WordPress. It does not go into deep detail, but gives brief "real world" examples of how to use filters and actions, along with pointers on where to find the main documentation that will help you get started on your own plugins.
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017Ryan Weaver
What is Symfony *really*? It's a collection of *35* independent libraries, and
Drupal uses less than *half* of them! That means that there's a *ton* of other
good stuff that you can bring into your project to solve common problems... as
long as you know how, and what those components do!
In this talk, we'll have some fun: taking a tour of the Symfony components, how
to install them (into Drupal, or anywhere) and how to use some of my *favorite*,
lesser-known components. By the end, you'll have a better appreciation of what
Symfony *really* is, and some new tools to use immediately.
Presentation on major features of PHP 5.3 for the July 2009 Baltimore/Washington DC PHP Meetup. It touches on major features and changes that were made in the PHP 5.3 series
Behaviour Driven Development con Behat & Drupalsparkfabrik
Il Behaviour Driven Development è una pratica di sviluppo software nella quale i comportamenti della propria applicazione vengono descritti con un linguaggio chiaro e comprensibile a tutti. Grazie a Behat, questi scenari si trasformano in test veri e propri che possono essere eseguiti sulle nostre applicazioni Drupal.
Getting big without getting fat, in perlDean Hamstead
Thoughts on keeping your perl code lean as your code base gets bigger. Ideas on API structure for plugins and modules which can help. Some recommended option settings and module suggestions for handling configuration. A passing reference to logging.
A variety of pop culture, tech and start up culture references to keep things interesting.
All feedback welcome
Presented 18/08/2015 at Sydney PM
A book for learning puppet by real example and by building code. Second chapters takes you through all basics of Puppet and enough ruby to work with Puppet.
The PHP 7 release is just around the corner, bringing some much-desired changes and improvements to the language. However, many developers simply aren't aware of what's coming. We'll remedy this by checking out the new "spaceship operator," demonstrating how static type hints produce clean code, and using anonymous classes to quickly implement interfaces on the fly. Attendees will also learn about breaking changes and "gotchas" to watch out for when making the upgrade and will receive pointers on getting started with PHP 7 today.
Presented at Codemotion 2016. Discusses the beginner-level dynamics of the performance-improved PHP 7. Gain expanded knowledge of the spaceship and null coalescing operators, anonymous classes, the new error exception, and the security features of PHP 7.
Webpack Encore Symfony Live 2017 San FranciscoRyan Weaver
Ready to write an amazing front-end for your app? There are *so* many great tools, like React, Vue.js, module loaders, Sass, LESS, PostCSS and more. But, they all have one thing in common: you need to configure a *build* system before you write a single line of code! Thankfully, there's Webpack: the leading tool for processing & bundling your JavaScript and CSS. There's just one problem: configuring Webpack is tough and requires a lot of Webpack-specific knowledge. Say hello to Webpack Encore: a library built by Symfony to quickly bootstrap a sophisticated asset setup, complete with minification, SASS processing, automatic versioning, Babel support and *everything* you need to start writing great JavaScript quickly. In this talk, we'll also learn about using JavaScript modules, how to bootstrap a framework (like React) and other important modern practices. Give your assets a huge boost with Webpack Encore!
These slides accompanied a presentation by Steve Breker of Artefactual Systems, delivered as part of AtoM Camp Cambridge, a three-day boot camp held at St John's College, Cambridge University, May 9-11, 2017 For more information, see:
https://wiki.accesstomemory.org/Community/Camps/SJC2017
These slides are intended for developers who are interested in modifying the default look and feel of AtoM - known as the Dominion theme - and developing a custom theme plugin. They include some theme examples, how to register a plugin in Symfony, and some ideas of the elements you can modify via theming, with examples.
Everyone must migrate to PHP 7! Take advantage of exceptional performance improvements, cut your hardware use in half and enjoy the best of PHP. This workshop is for everyone that is still eyeing PHP 7 while still using PHP 5, and wants to review their 1 million LOC project before jumping to PHP 7. When migrating, we need to check old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to their actual location in the code, relying on static analysis to quickly process a large code base. Based on our accumulated experience and tools, we'll review the issues, diagnose criticality, select the best fixes and prioritize the tasks. All tools are Open Source, and ready to be integrated into your project lifecycle.
If you are new to WordPress, but already know how to program, the typical "Hello, World" examples aren't helpful. You need to know how to make the right API calls, and where to find documentation about the actions and filters that WordPress makes available to you.
This presentation is a brief introduction skimming the surface of the API hook system in WordPress. It does not go into deep detail, but gives brief "real world" examples of how to use filters and actions, along with pointers on where to find the main documentation that will help you get started on your own plugins.
The Coolest Symfony Components you’ve never heard of - DrupalCon 2017Ryan Weaver
What is Symfony *really*? It's a collection of *35* independent libraries, and
Drupal uses less than *half* of them! That means that there's a *ton* of other
good stuff that you can bring into your project to solve common problems... as
long as you know how, and what those components do!
In this talk, we'll have some fun: taking a tour of the Symfony components, how
to install them (into Drupal, or anywhere) and how to use some of my *favorite*,
lesser-known components. By the end, you'll have a better appreciation of what
Symfony *really* is, and some new tools to use immediately.
Presentation on major features of PHP 5.3 for the July 2009 Baltimore/Washington DC PHP Meetup. It touches on major features and changes that were made in the PHP 5.3 series
Behaviour Driven Development con Behat & Drupalsparkfabrik
Il Behaviour Driven Development è una pratica di sviluppo software nella quale i comportamenti della propria applicazione vengono descritti con un linguaggio chiaro e comprensibile a tutti. Grazie a Behat, questi scenari si trasformano in test veri e propri che possono essere eseguiti sulle nostre applicazioni Drupal.
Getting big without getting fat, in perlDean Hamstead
Thoughts on keeping your perl code lean as your code base gets bigger. Ideas on API structure for plugins and modules which can help. Some recommended option settings and module suggestions for handling configuration. A passing reference to logging.
A variety of pop culture, tech and start up culture references to keep things interesting.
All feedback welcome
Presented 18/08/2015 at Sydney PM
Symfony 4 is a very different framework from the previous versions. Symfony 4 provides a new developer experience on a very stable foundation. Learn more about how you can quickly develop new applications and how you can grow your projects from a micro-style app to a full monolith or a set of micro-services.
Symfony 4 is here and it is better than ever. With Flex, it can be a micro framework and an amazing beast with any feature you want. What changed from version 3, what new best practices are and why Symfony is moving the PHP world forward once again, you can find in this talk.
Symfony4 is here and it is better than ever. With Flex it can be a micro framework and an amazing beast with any feature you want. What changed from version 3, what are new best practices, what are new components and why Symfony is moving PHP world forward once again you can find in this talk.
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.
This is a presentation I prepared for a local meetup. The audience is a mix of web designers and developers who have a wide range of development experience.
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
A presentation I gave on September 26 at the Melbourne Symfony developers group on using Environment Variables (envvars) in Symfony and managing secrets in your PHP applications.
For more information on these subjects, check out the supporting piece I wrote: https://samjarrett.com.au/swipe-right
Creating your own framework on top of Symfony2 ComponentsDeepak Chandani
Symfony is a set of reusable standalone PHP components that can be used to solve many web dev problems. We will pick some of the important components (bricks) & will create our own framework on top of those bricks.
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.
Ecto and Phoenix: Doing Web With ElixirYurii Bodarev
Phoenix is an Elixir MVC web framework providing all tools that You can expect to be productive: generators, templates and channels as WebSockets abstraction. Ecto is a domain specific language for composing queries and interacting with databases. This talk will introduce You to building a fast and reliable web applications with Elixir using Phoenix and Ecto as a solid foundation.
Similar to Hands-on with the Symfony2 Framework (20)
Finally, Professional Frontend Dev with ReactJS, WebPack & Symfony (Symfony C...Ryan Weaver
If you're like me, you know that being a great backend developer isn't enough. To make *truly* great applications, we need to spend significant time in an area that's moving at a lightning pace: frontend development.
This talk is for you: the backend developer that wants to hook their API's up to rich, interactive JavaScript frontends. To do that, first, we need to demystify a lot of new terms, like ES6/ES2015, ECMAScript, JSX, Babel and the idea that modern JavaScript (surprise) *requires* a build step.
With this in mind, I'll give you a brief introduction into Webpack & the modular development it finally allows.
But the real star is ReactJS. In the frontend world, you never know what new tech will *win*, but React is a star. I'll give you enough of an intro to get you rolling on your project.
The new frontend dev world is huge! Consider the starting line down an exciting new journey.
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
Symfony: Your Next Microframework (SymfonyCon 2015)Ryan Weaver
Microservices are a huge trend, and microframeworks are perfect for them: put together just a few files, write some code, and your done!
But Symfony is a big framework, right? Wrong! Symfony can be as small as a single file!
In this talk, we'll learn how to use Symfony as a micro-framework for your next project. Your app will stay small and clear, but without needing to give up the features or third-party bundles that you love. And if the project grows, it can evolve naturally into a full Symfony project.
So yes, Symfony can also be a microframework. Tell the world!
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up. But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity. Introducing Guard: a simple, but expandable authentication system built on top of the security component and introduced in Symfony 2.8. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today. Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
Grand Rapids PHP Meetup: Behavioral Driven Development with BehatRyan Weaver
Testing our applications is something we all do. Ahem, rather, it's something we all *wish* we did. In this chat, I'll introduce you to Behat (behat.org) (version 3!!!!): a behavior-driven-development (BDD) library that allows you to write functional tests against your application just by writing human-readable sentences/scenarios. To sweeten the deal these tests can be run in a real browser (via Selenium2) with just the flip of a switch. If you asked me to develop without Behat, I'd just retire. It's that sweet. By the end, you'll have everything you need to start functionally-testing with Behat in your new, or very old and ugly project.
Master the New Core of Drupal 8 Now: with Symfony and SilexRyan Weaver
I'm not a Drupal developer, but I do already know *a lot* about Drupal 8, like how the event system works, what a service is, how it relates to a dependency injection container and how the deepest and darkest of Drupal’s request-response workflow looks.
How? Because I use Symfony. And if you want to get a jumpstart on Drupal 8, you should to. In this talk, we'll double the number of tools you have to solve problems (Drupal + Symfony) and start to unlock all the new important concepts. We'll start with Silex (a microframework based on Symfony), graduate to Symfony, and focus on the pieces that are most interesting to a Drupal 8 developer.
Silex: Microframework y camino fácil de aprender SymfonyRyan Weaver
Ya quieres aprender Symfony? Bueno! Si eres en usuario de Drupal o si quieres aumentar sus habilidades, aprender Symfony puede ayudarte. Sin embargo, aprender Symfony puede ser difícil - y muchas ideas nuevas (pero buenas) como PHP namespaces, Composer, y código "object-oriented". Te presento a Silex: el Microframework que se construye por las mismos pedazos (HttpFoundation, HttpKernel, Composer, etc) como el Symfony Framework y Drupal 8. En esta charla, vamos a crear un mini-app con Silex para mostrarte como fácil puede ser y cuales partes son los mismos como Symfony y Drupal. Al fin, vas a estar listo entender Drupal 8 o crear su primer proyecto con Symfony.
Y porque esta charla sería mi primera en español, puedas disfrutar esta aventura conmigo :).
Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love itRyan Weaver
It's true: Drupal 8 includes big and exciting changes to its core and how Drupal code is written. These include using outside PHP libraries (Guzzle, Symfony, etc) as well as embracing PHP 5.4 and object-oriented code.
Scary, right? Definitely not! These changes give Drupal 8 so many "wins" and new possibilities that you're going to absolutely love it.
In this keynote, we'll explore the changes together and start to realize all of the wonderful things that each will bring. These include a (much) larger community, many more libraries you can use, higher quality tools, easier future upgrades, and some fantastic new features.
And because Drupal uses Symfony, you'll easily be able to use Symfony (or its little brother Silex) for any non-CMS projects. Being a great Drupal 8 developer means being a great PHP developer.
Of course, Drupal 8 has its criticisms: it will be too hard for new developers to learn, or it will not be useable for smaller sites. We'll take on these concerns directly and see why they are valid, but exaggerated.
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.
The Wonderful World of Symfony ComponentsRyan Weaver
Wow, Symfony Components!
In this talk, we'll look at the history of PHP, and the struggles as a community to create shared libraries between our large community. Find out the significance of PSR-0 and Composer in *your* life and how you can leverage libraries from all of PHP in your projects.
We'll also look at the most fundamental Symfony2 components - HttpFoundation, HttpKernel, EventDispatcher, & Routing - including those that have been adopted by Drupal 8. We'll also check out a bunch of the other interesting Symfony2 components that can be used as tools in any PHP project.
The goal of this talk is to show you just how easy finding and using high quality libraries has become in PHP. By the end, you'll be excited and ready to high-five all of your PHP friends.
A PHP Christmas Miracle - 3 Frameworks, 1 appRyan Weaver
In this presentation, we walk take a flat PHP4-style application and gently migrate it into our own "framework", that uses components from Symfony2, Lithium, Zend Framework and a library called Pimple. By the end, you'll see how any ugly application can take advantage of the many wonderful tools available to PHP developers.
Being Dangerous with Twig (Symfony Live Paris)Ryan Weaver
Twig - the PHP templating engine - is easy to use, friendly and extensible. This presentation will introduce you to Twig and show you how to extend it to your bidding.
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.
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.
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.
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
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
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.
2. Who is this dude?
• Co-author of the Symfony2 Docs
• Core Symfony2 contributor
• Founder of KnpLabs US
• Geek, running, Nashville
http://www.twitter.com/weaverryan
http://www.github.com/weaverryan
3. iostudio
• Advertising & Integrated Marketing Solutions
• A great, growing Nashville tech company
• Hiring good developers (of all backgrounds)
to be part of a dynamic, fun team
http://iostudio.com/careers
4. KnpLabs
Quality. Innovation. Excitement.
• Your symfony/Symfony2 development experts
• Consulting & application auditing
• Symfony2 Training
• Behind lots of open source initiatives
5. Symfony2 Training
• Right here in Nashville: May 19th & 20th
• real coding, real project
• Doctrine2, forms, security, caching, etc
• Cool libraries like Assetic, Imagine, Behat
• Lot’s more
• Or join us in New York City: June 6th & 7th
http://bit.ly/symfony-training
7. What is Symfony2?
Symfony is a PHP
Framework, a Philosophy, and
a Community - all working
together in harmony.
symfony.com/what-is-symfony
8. Symfony2
• A group of standalone PHP components
• Bundled into a full-service framework
Solves your difficult, redundant problems
... and then stays the hell out of the way
11. Symfony2 is fast
By way of comparison, Symfony 2.0
is about 3 times faster than Version
1.4 or than Zend Framework 1.10,
while taking up 2 times less memory.
http://symfony.com/six-good-technical-reasons
12. Symfony2 is full-featured
“Symfony2 is an extremely
full featured, modular, and
crazy fast framework.”
Steve Francia
Vice President of Engineering at OpenSky
spf13.com/post/symfony2
13. Infinitely Flexible Architecture
“Symfony2 is probably one of the
most flexible PHP frameworks ever
created. You can literally change
everything.”
~ Blog.NewITFarmer.com
http://bit.ly/symfony-new-it-farmer
14. A huge community of
developers
• 167 core contributors
• 87 documentation contributors
... and counting ...
15. A huge eco-system of open
source libraries
• 223 open source Symfony2 bundles
• 74 open source Symfony2 projects
... and counting ...
17. Proven Reputation
• One of the most popular PHP frameworks in
the world
• First released in October 2005
• Nearly 100 releases
• Powers a lot of big sites
nationalguard.com, dailymotion.com, exercise.com, shopopensky.com, etc
19. The “Standard Distribution”
• Symfony offers “distributions” (think Ubuntu)
• The “Standard Distribution” comes with
everything you’ll need + some bonuses
• Fully-functional application
• Intelligent default configuration
• Some demo pages we can play with
21. Step 2: Unzip it!
$ cd /path/to/webroot
$ tar zxvf /path/to/Symfony_Standard_Vendors_2.0.0PR11.tgz
22. Step 3: Run it!
http://localhost/Symfony/web/config.php
23. Tend to your Garden
•Fix any major problems (e.g. missing libraries,
permissions issues) that Symfony reports
• Then click “Configure your Symfony
Application online”
24. Step 3: Configure it!
Optional: but a
nice interface to
get you started
quickly
27. The 3 Steps to a Page
/hello/ryan
Step1: Symfony matches the URL to a route
Step2: Symfony executes the controller (a
PHP function) of the route
Step3: The controller (your code) returns a
Symfony Response object
<h1>Hello ryan!</h1>
28. Hello {insert-name}!
• Our goal: to create a hello world-like app
• ... and then to make it do all sorts of
interesting things ...
remove half the code, JSON version, security,
caching...
29. Step1: Symfony matches the
URL to a route
You define the routes (URLs) of your app
_welcome:
/ pattern: /
defaults: { _controller: AcmeDemoBundle:Welcome:index }
hello_demo:
/hello/ryan pattern: /hello/{name}
defaults: { _controller: AcmeDemoBundle:Meetup:hello }
30. Homework
Add the following route to
app/config/routing.yml
hello_demo:
pattern: /hello/{name}
defaults: { _controller: AcmeDemoBundle:Meetup:hello }
** Routes can also be defined in XML, PHP and as annotations
31. Step2: Symfony executes the
controller of the route
hello_demo:
pattern: /hello/{name}
defaults: { _controller: AcmeDemoBundle:Meetup:hello }
Controller Class::method()
AcmeDemoBundleControllerMeetupController::helloAction()
Symfony will execute this PHP method
32. Homework
Create the controller class:
<?php
// src/Acme/DemoBundle/Controller/MeetupController.php
namespace AcmeDemoBundleController;
use SymfonyBundleFrameworkBundleControllerController;
use SymfonyComponentHttpFoundationResponse;
class MeetupController extends Controller
{
public function helloAction($name)
{
return new Response('Hello '.$name);
}
}
33. Step 3: The Controller returns
a Symfony Response object
use SymfonyComponentHttpFoundationResponse;
public function helloAction($name)
{
return new Response('Hello '.$name);
}
This is the only requirement of a controller
34. Routing Placeholders
The route matches URLs like /hello/*
hello_demo:
pattern: /hello/{name}
defaults: { _controller: AcmeDemoBundle:Meetup:hello }
use SymfonyComponentHttpFoundationResponse;
public function helloAction($name)
{
return new Response('Hello '.$name);
}
And gives you access to the {name} value
36. Rendering a Template
• A template is a tool that you may choose to use
• A template is used to generate “presentation”
code (e.g. HTML)
• Keep your pretty (<div>) code away from your
nerdy ($foo->sendEmail($body)) code
37. Homework
Render a template in the controller
public function helloAction($name)
{
$response = $this->render(
'AcmeDemoBundle:Meetup:hello.html.twig',
array('name' => $name)
);
return $response;
}
38. Homework
Create the template file
{# src/Acme/DemoBundle/Resources/views/Meetup/hello.html.twig #}
Hello {{ name }}
This is Twig
Twig is a fast, secure and powerful templating engine
We *LOVE* Twig... but
Symfony2 fully supports Twig and regular
PHP templates
40. Dress that Template
• All pages share common elements (header,
footer, sidebar, etc)
• We think about the problem differently: a
template can be decorated by another
41. template inheritance allows you to build a
base "layout" template that contains all the
common elements of your site and defines
"blocks" that child templates can override
42. A base layout file header
defines “blocks”
Each block can have
a default value sidebar content
{% block header %}
<h1>Welcome!</h1>
{% endblock %}
43. The child template “extends” header
the parent
and “overrides” the parent’s sidebar content
blocks
{% block header %}
<h1>Super hello Welcome!</h1>
{% endblock %}
44. Homework
Make the template extend a base template
{# src/Acme/DemoBundle/Resources/views/Meetup/hello.html.twig #}
{% extends "AcmeDemoBundle::layout.html.twig" %}
{% block title "Hello " ~ name %}
{% block content %}
<h1>Hello {{ name }}!</h1>
{% endblock %}
layout: src/Acme/DemoBundle/Resources/views/layout.html.twig
47. Do Less Work
• So far, we have:
• a route
• a controller
• a template
• We can do all of this with even less code
48. Homework
Change your
app/config/routing.yml
hello_demo:
resource: "@AcmeDemoBundle/Controller/MeetupController.php"
type: annotation
This now imports routing information from our controller
49. Homework
Add the route to your controller
/**
* @extra:Route("/hello/{name}", name="hello_demo")
*/
The PHP comments are
public function helloAction($name)
{
$response = $this->render(
called “annotations”
'AcmeDemoBundle:Meetup:hello.html.twig',
array('name' => $name)
Symfony can use annotations to read routing config
);
return $response;
Your route and controller are in the same place!
}
50. Annotations
/**
* @extra:Route("/hello/{name}", name="hello_demo")
*/
public function helloAction($name) The PHP
{
$response = $this->render( comments are
'AcmeDemoBundle:Meetup:hello.html.twig',
array('name' => $name) called
);
“annotations”
return $response;
}
Symfony can use annotations to read routing config
Your route and controller are in the same place!
51. Remove more code
Instead of rendering the template, tell Symfony
to do it for you
/**
* @extra:Route("/hello/{name}", name="hello_demo")
* @extra:Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
55. Create a JSON API
• We have an HTML version of our page
• How about a JSON version?
56. Add a _format to the route
/**
* @extra:Route("/hello/{name}.{_format}", defaults={"_format"="html"})
* @extra:Template()
*/
public function helloAction($name)
{
return array('name' => $name);
}
“/hello/ryan” still works exactly as before
57. Create a JSON template
{# src/Acme/DemoBundle/Resources/views/Meetup/hello.json.twig #}
{% set arr = { 'name': name } %}
{{ arr | json_encode | raw }}
“/hello/ryan.json” renders a JSON array
{"name":"ryan"}
It’s that simple
58. To review
• Symfony looks for the value of the special
“_format” routing placeholder
• The _format is used in the name of the
template (hello.json.twig)
• Symfony also returns the proper Content-
Type (application/json)
59. RestBundle
• For a truly robust solution to RESTful API’s,
see the community-driven RestBundle
https://github.com/FriendsOfSymfony/RestBundle
65. Assetic
https://github.com/kriswallsmith/assetic
• PHP asset management framework
• Run CSS and JS through filters
• LESS, SASS and others
• Compress the assets
• Compile CSS and JS into a single file each
66. Behat + Mink
http://behat.org/
• Behavioral-driven development framework
• Write human-readable sentences that test
your code (and can be run in a browser)
67. Gaufrette
https://github.com/knplabs/Gaufrette
• PHP filesystem abstraction library
// ... setup your filesystem
$content = $filesystem->read('myFile');
$content = 'Hello I am the new content';
$filesystem->write('myFile', $content);
• Read and write from Amazon S3 or FTP like a
local filesystem
68. Imagine
https://github.com/avalanche123/Imagine
• PHP Image manipulation library
use ImagineImageBox;
use ImagineImagePoint;
$image->resize(new Box(15, 25))
->rotate(45)
->crop(new Point(0, 0), new Box(45, 45))
->save('/path/to/new/image.jpg');
• Does crazy things and has crazy docs
69. Silex
http://silex-project.org/
• Microframework built from Symfony2 Components
require_once __DIR__.'/silex.phar';
$app = new SilexApplication();
$app->get('/hello/{name}', function($name) {
return "Hello $name";
});
$app->run();
• That’s your whole app :)
70. Sonata Admin Bundle
https://github.com/sonata-project/AdminBundle
• Admin generator for Symfony2
72. Symfony2 is...
• Fast as hell
• Infinitely flexible
• Fully-featured
• Driven by a huge community
• Not released yet...
Release candidate coming very soon...
73. Thanks!
Questions?
Ryan Weaver
@weaverryan
Symfony2 Training
in Nashville
Join us May 19th & 20th