The document discusses PHP traits and how they can be used to create reusable XML conversion functionality. A XmlConversion trait is defined that contains a toXml() method to convert a class to XML. This trait uses the abstract getXmlAttributes() method to retrieve attribute data. The trait is used in Person and Log classes, which both gain the toXml() conversion method. Objects of these classes can then be converted to XML.
PHP 5.3 and Lithium: the most rad php frameworkG Woo
Presentation given to the Orange County PHP meetup on Feb 24 2010. The presentation covers the new features in php 5.3 and goes on to show how they are used in Lithium, the most rad php framework.
Xlab #1: Advantages of functional programming in Java 8XSolve
Presentation from xlab workshop about functional programming components introduced to the Java 8. How to operate the streams and lambdas in theory and practice.
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
Come to this talk prepared to learn about the Doctrine PHP open source project. The Doctrine project has been around for over a decade and has evolved from database abstraction software that dates back to the PEAR days. The packages provided by the Doctrine project have been downloaded almost 500 million times from packagist. In this talk we will take you through how to get started with Doctrine and how to take advantage of some of the more advanced features.
PHP 5.3 and Lithium: the most rad php frameworkG Woo
Presentation given to the Orange County PHP meetup on Feb 24 2010. The presentation covers the new features in php 5.3 and goes on to show how they are used in Lithium, the most rad php framework.
Xlab #1: Advantages of functional programming in Java 8XSolve
Presentation from xlab workshop about functional programming components introduced to the Java 8. How to operate the streams and lambdas in theory and practice.
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
Come to this talk prepared to learn about the Doctrine PHP open source project. The Doctrine project has been around for over a decade and has evolved from database abstraction software that dates back to the PEAR days. The packages provided by the Doctrine project have been downloaded almost 500 million times from packagist. In this talk we will take you through how to get started with Doctrine and how to take advantage of some of the more advanced features.
Go beyond the documentation and explore some of what's possible if you stretch symfony to its limits. We will look at a number of aspects of symfony 1.4 and Doctrine 1.2 and tease out some powerful functionality you may not have expected to find, but will doubtless be able to use. Topics covered will include routing, forms, the config cache and record listeners. If you're comfortable in symfony and wondering what's next, this session is for you.
From ReactPHP to Facebook Hack's Async implementation and many more, asynchronous programming has been a 'hot' topic lately. But how well does async programming support work in PHP and what can you actually use it for in your projects ? Let's look at some real-world use cases and how they leverage the power of async to do things you didn't know PHP could do.
How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.
Una panoramica su Net::Amazon::EC2 e Net::RackSpace::Servers. Potete trovare la presentazione con le note qui: http://polettix.s3.amazonaws.com/IPW2011/nubilus-perl-1.1-note.pdf
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript.
Models and Service Layers, Hemoglobin and HobgoblinsRoss Tuck
As presented at ZendCon 2014, AmsterdamPHP, PHPBenelux 2014, Sweetlake PHP and PHP Northwest 2013, an overview of some different patterns for integrating and managing logic throughout your application.
PHP 7 – What changed internally? (Forum PHP 2015)Nikita Popov
One of the main selling points of PHP 7 is greatly improved performance, with many real-world applications now running twice as fast… But where do these improvements come from?
At the core of PHP 7 lies an engine rewrite with focus on improving memory usage and performance. This talk provides an overview of the most significant changes, briefly covering everything from data structure changes, over enhancements in the executor, to the new compiler implementation.
Go beyond the documentation and explore some of what's possible if you stretch symfony to its limits. We will look at a number of aspects of symfony 1.4 and Doctrine 1.2 and tease out some powerful functionality you may not have expected to find, but will doubtless be able to use. Topics covered will include routing, forms, the config cache and record listeners. If you're comfortable in symfony and wondering what's next, this session is for you.
From ReactPHP to Facebook Hack's Async implementation and many more, asynchronous programming has been a 'hot' topic lately. But how well does async programming support work in PHP and what can you actually use it for in your projects ? Let's look at some real-world use cases and how they leverage the power of async to do things you didn't know PHP could do.
How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.
Una panoramica su Net::Amazon::EC2 e Net::RackSpace::Servers. Potete trovare la presentazione con le note qui: http://polettix.s3.amazonaws.com/IPW2011/nubilus-perl-1.1-note.pdf
Love it or hate it, JavaScript is playing an increasingly important role in the next generation of web and mobile apps. As code continues to move from the server to the client, JavaScript is being used to do more than simple HTML manipulation. Be prepared for this transition and make sure the JavaScript you write is optimized and ready to perform on desktops and devices! In this session, you will learn ten practical tips that you can use today to write faster, more maintainable, memory friendly JavaScript.
Models and Service Layers, Hemoglobin and HobgoblinsRoss Tuck
As presented at ZendCon 2014, AmsterdamPHP, PHPBenelux 2014, Sweetlake PHP and PHP Northwest 2013, an overview of some different patterns for integrating and managing logic throughout your application.
PHP 7 – What changed internally? (Forum PHP 2015)Nikita Popov
One of the main selling points of PHP 7 is greatly improved performance, with many real-world applications now running twice as fast… But where do these improvements come from?
At the core of PHP 7 lies an engine rewrite with focus on improving memory usage and performance. This talk provides an overview of the most significant changes, briefly covering everything from data structure changes, over enhancements in the executor, to the new compiler implementation.
This DrupalCon 2019 Amsterdam talk provides a look beyond the world of PHP and Javascript. It explores how other languages such as Ruby, Java, Rust and Perl handle things and highlights some interesting features of those languages. Not all the things that other languages can do can be done in PHP or Javascript but the concepts and ideas can still be used.
You’ve seen Kris’ open source libraries, but how does he tackle coding out an application? Walk through green fields with a Symfony expert as he takes his latest “next big thing” idea from the first line of code to a functional prototype. Learn design patterns and principles to guide your way in organizing your own code and take home some practical examples to kickstart your next project.
Build powerfull and smart web applications with Symfony2Hugo Hamon
Symfony2 first stable release is scheduled for the first week of March 2011. During this session, we will have a look at the new framework architecture and most of its powerfull features.
We will show you how Symfony2 implements the MVC pattern and an HTTP request is processed and converted as a response for the end user. Of course, we will talk about the configuration principles and how it's easy to configure Symfony2 project parts like the routing system or the data model. We will also focus on other major components of the framework like the Doctrine2 integration, forms, security (authentication and authorizations) or HTTP cache management.
Kicking off with Zend Expressive and Doctrine ORM (PHP UK 2017)James Titcumb
You've heard of Zend's new framework, Expressive, and you've heard it's the new hotness. In this talk, I will introduce the concepts of Expressive, how to bootstrap a simple application with the framework using best practices, and finally how to integrate a third party tool like Doctrine ORM.
An overview how to realize code generation of languages on the JVM that implement other class layouts than the Java programming languages. As an example, the inline-mock-maker for Mockito is discussed which supports languages like Kotlin that make any property final by default.
Refactoring, Agile Entwicklung, Continuous Integration – all diese für nachhaltigen Erfolg wichtigen Vorgehensweisen setzen Erfahrung mit Unit Testing voraus. Abseits von den üblichen "Bowling"-Beispielen möchten wir gerne einen Crashkurs inkl. Best Practices für das erfolgreiche Unit Testing durchführen. Anhand eines Beispielprojekts auf Basis des Zend Frameworks werden wir nach der Installation von PHPUnit auf allen Notebooks gemeinsam eine kleine Applikation aufbauen, die durchgehend Test-driven entwickelt wird.
Similar to The state of your own hypertext preprocessor (20)
Spa, isomorphic and back to the server our journey with js @ frontend con po...Alessandro Nadalin
We’ve been toying around with JS since 4 years, trying to figure out what’s the best approach to build mobile-friendly apps that would offer the best performances on mobile devices.
We first went SPA and then decided to take a different approach, as 3 years ago we decided to tackle our problems on mobile with an isomorphic application.
Today, we would like to guide you through years of that choice and why we decided to take a step back and go revamp our mobile website again, with server-side rendering and a pinch of React.
Spoiler alert: 30ms is considered slow.
SPA, isomorphic and back to the server: our journey with JavaScript @ JsDay 2...Alessandro Nadalin
We've been toying around with JS since 4 years, trying to figure out what's the best approach to build mobile-friendly apps that would offer the best performances on mobile devices.
We first went SPA and then decided to take a different approach.
2 years ago we presented a talk, at this very same conference, about how we decided to tackle our problems on mobile with an isomorphic application.
Today, we would like to guide you through 2 years of that choice and why we decided to take a step back and go revamp our mobile website again, with server-side rendering and a pinch of React.
Fast and wicked performance ahead!
A very short, non-technical presentation on some of the practices we adopted while growing Namshi to be the largest fashion e-tailer in the Middle East.
A tech team of ~10 @ Rocket Tech Summit 2016 in BerlinAlessandro Nadalin
Namshi runs one of the most successful businesses across the Rocket portfolio with ~10 engineers: even though we surely need to beef the team up, we have never considered scaling so much as we want to keep our product roadmap and development cycle lean, simple and free of waste.
Examples used in the talk: https://github.com/odino/react-native-codemotion
Ever since it launched, RN has gained lots of interest since it opens a new door to web developers: mobile development, with the added of bonus of being able to re-use a substantial chunk of code for both ios and android.
Follow me on this step by step tutorial on how to build a simple mobile app with the latest version of React Native, understanding the concepts behind it, the differences between React and its native version and seeing how you can debug a native app directly in your browser.
Docker is a groundbreaking technology that will heavily influence how we will write software in the years to come: let's then have a look at:
* where it comes from (Linux Containers)
* how it works
* how to dockerize simple apps to easily deploy them on production
* how you can use Docker in local environments to simplify your development workflow
Do you like Vagrant, auto-scaling or 12-factor apps? Then get ready to be mindblown.
Deploying 3 times a day without a downtime @ Rocket Tech Summit in BerlinAlessandro Nadalin
A look at how we try to make our architecture robust, resilient and fun to work with: Namshi is not github or spotify but... ...imitation is the sincerest form of flattery!
An internal presentation given to the tech team at Namshi: thoughts on our 2013 and what to expect in 2014.
If you looking to team up with a bunch of passionate nerds...have a look and join the crazy boat!
http://namshi.com/
http://tech.namshi.com/
Angular js is the future. maybe. @ ConFoo 2014 in Montreal (CA)Alessandro Nadalin
Since bumping into AngularJS a few months ago, we decided to invest more and more time developing with it: coming from a PHP background, the shift of paradigm easy due to the use of patterns and intuitive flows: even though this won’t be a very in-depth technical talk, we are going to see why you should consider working with angular: fast single-page apps, DI, ease of testing, being asynchronous, scaling on the clients.
Welcome to the future.
OrientDB, the fastest document-based graph database @ Confoo 2014 in Montreal...Alessandro Nadalin
OrientDB is a NoSQL graph database which also includes a document layer (like MongoDB): it gained a lot of attention, enough to push big companies like Sky and UltraDNS to use it in production: it's written in Java and it's amazingly fast, since it can store up to 150,000 records per second on common hardware; moreover, thanks to being a graphdb, it can manage relationship so fast that, compared to traditional DBs, can be 1000% faster than them.
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
The HTTP protocol has been there for more than 20 years, almost untouched, but the current needs of the web are pushing towards adding some spices into the mix.
In this talk we will have a brief look at the history of HTTP, what SPDY - the "new" protocol proposed by google - brings into the table and how HTTP/2.0 will look like.
Presentation given at the International PHP conference in Mainz, October 2012, dealing with a bit of history about the HTTP protocol, SPDY and the future (HTTP/2.0).
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
15. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
16. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
17. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
18. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
19. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
20. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
21. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();
22. trait XmlConversion {
public function toXml() {
$xml = new SimpleXMLElement('<object></object>');
foreach($this->getXmlAttributes() as $attribute) {
$xml->addChild(new ...)
}
return $xml->asXml();
}
abstract protected function getXmlAttributes();
}
class Person {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
class Log {
use XmlConversion;
protected function getXmlAttributes() {
return ...
}
}
$user = new Person();
$user->toXml();
$log = new Log();
$log->toXml();