<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mid &#8211; phpDay 2016</title>
	<atom:link href="/level/mid/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>The international PHP Conference</description>
	<lastBuildDate>Mon, 13 Feb 2017 18:00:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.2</generator>
	<item>
		<title>Deploying PHP 7</title>
		<link>/talk/deploying-php-7/</link>
		<pubDate>Sat, 12 Mar 2016 07:23:12 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=559</guid>
		<description><![CDATA[PHP 7 is here and it brings drastic performance improvements along with new features. Learn how to migrate a large codebase and identify potential BC breaks and how to correctly deploy and tune PHP 7 for optimal performance. Topics covered will include static analysis, opcache tuning, and os-level issues such as huge pages and NUMA zones.]]></description>
				<content:encoded><![CDATA[<div>PHP 7 is here and it brings drastic performance improvements along with new features. Learn how to migrate a large codebase and identify potential BC breaks and how to correctly deploy and tune PHP 7 for optimal performance.</div>
<div>Topics covered will include static analysis, opcache tuning, and os-level issues such as huge pages and NUMA zones.</div>
]]></content:encoded>
			</item>
		<item>
		<title>The journey to be a solid developer</title>
		<link>/talk/the-journey-to-be-a-solid-developer/</link>
		<pubDate>Sat, 12 Mar 2016 00:54:41 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=558</guid>
		<description><![CDATA[Being a solid developer doesn’t mean to only know a programming language(s) very well, or mastering the latest cool framework. It’s more than that. It’s not just about code, it’s also about people around you, the community, the tools and approaches. In this closing keynote we will share our personal experiences. And of course the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Being a solid developer doesn’t mean to only know a programming language(s) very well, or mastering the latest cool framework. It’s more than that. It’s not just about code, it’s also about people around you, the community, the tools and approaches. In this closing keynote we will share our personal experiences. And of course the journey is not over yet.</p>
]]></content:encoded>
			</item>
		<item>
		<title>TDD with PhpSpec</title>
		<link>/talk/tdd-with-phpspec/</link>
		<pubDate>Sat, 12 Mar 2016 00:53:52 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=557</guid>
		<description><![CDATA[PhpSpec is a SpecBDD tool that enables you to use a TDD workflow that can transform the way you write PHP. In this session we will look at the TDD workflow and see how PhpSpec can be used to speed up your development; add regression safety, and improve your object-oriented design.]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;PhpSpec is a SpecBDD tool that enables you to use a TDD workflow that can transform the way you write PHP. In this session we will look at the TDD workflow and see how PhpSpec can be used to speed up your development; add regression safety, and improve your object-oriented design.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">PhpSpec is a SpecBDD tool that enables you to use a TDD workflow that can transform the way you write PHP. In this session we will look at the TDD workflow and see how PhpSpec can be used to speed up your development; add regression safety, and improve your object-oriented design.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>PHP 7 compliance workshop</title>
		<link>/talk/php-7-compliance-workshop/</link>
		<pubDate>Sat, 12 Mar 2016 00:53:11 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=556</guid>
		<description><![CDATA[When migrating, we often need to review old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to actual location in the code, relying on static analysis to process quickly large code base. Based on the accumulated experience of the tools, we&#8217;ll review the issues, diagnose criticality, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;When migrating, we often need to review old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to actual location in the code, relying on static analysis to process quickly large code base. Based on the accumulated experience of the tools, we'll review the issues, diagnose criticality, select the best fixes and prioritize the tasks. All tools will be Open Source, and ready to follow you home for more validation.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">When migrating, we often need to review old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to actual location in the code, relying on static analysis to process quickly large code base. Based on the accumulated experience of the tools, we&#8217;ll review the issues, diagnose criticality, select the best fixes and prioritize the tasks. All tools will be Open Source, and ready to follow you home for more validation.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>You Attended Talk: an introduction to event sourcing</title>
		<link>/talk/you-attended-talk-an-introduction-to-event-sourcing/</link>
		<pubDate>Sat, 12 Mar 2016 00:52:18 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=555</guid>
		<description><![CDATA[Imagine for a moment you work for a large online retailer specialising in household goods. One morning, the head of marketing comes to you and says &#8220;I&#8217;ve had this great idea we&#8217;re going to send discount vouchers to anyone who&#8217;s changed their address in the past 3 months; people who&#8217;ve recently moved are more likely [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;Imagine for a moment you work for a large online retailer specialising in household goods. One morning, the head of marketing comes to you and says \&quot;I've had this great idea we're going to send discount vouchers to anyone who's changed their address in the past 3 months; people who've recently moved are more likely to be buying new furniture. Could you retrieve a list of all these customers?\&quot; You explain to him your systems only store a customers current address and doesn't record when it was last changed, a new feature is added to the backlog and the head of marketing leaves a little disappointed. What if you could build a system which was able to answer this kind of question without knowing it up front? A possible solution is to use event sourcing, being able to go back to any previous state of your data is just one advantage of using event sourcing in your application. Event sourcing is a total paradigm shift from the more traditional model of storing an application's current state and can appear to be a very unnatural way to think about and build a system. In this talk I'm going to show you examples of why event sourcing can be a superior model and how to go about building an event sourced system in PHP.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">Imagine for a moment you work for a large online retailer specialising in household goods. One morning, the head of marketing comes to you and says &#8220;I&#8217;ve had this great idea we&#8217;re going to send discount vouchers to anyone who&#8217;s changed their address in the past 3 months; people who&#8217;ve recently moved are more likely to be buying new furniture. Could you retrieve a list of all these customers?&#8221; You explain to him your systems only store a customers current address and doesn&#8217;t record when it was last changed, a new feature is added to the backlog and the head of marketing leaves a little disappointed. What if you could build a system which was able to answer this kind of question without knowing it up front? A possible solution is to use event sourcing, being able to go back to any previous state of your data is just one advantage of using event sourcing in your application. Event sourcing is a total paradigm shift from the more traditional model of storing an application&#8217;s current state and can appear to be a very unnatural way to think about and build a system. In this talk I&#8217;m going to show you examples of why event sourcing can be a superior model and how to go about building an event sourced system in PHP.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>Being Functional in PHP</title>
		<link>/talk/being-functional-in-php/</link>
		<pubDate>Sat, 12 Mar 2016 00:51:15 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=554</guid>
		<description><![CDATA[Functional programming, though far from new, has gained much traction recently. Functional programming characteristics have started to appear in the PHP world, too. Microframeworks such as Silex and Slim, middleware architectures such as Stack and even standards such as PSR-7 rely on concepts such as lambdas, referential transparency and immutability, all of which come from [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;Functional programming, though far from new, has gained much traction recently. Functional programming characteristics have started to appear in the PHP world, too. Microframeworks such as Silex and Slim, middleware architectures such as Stack and even standards such as PSR-7 rely on concepts such as lambdas, referential transparency and immutability, all of which come from functional programming. I\u2019ll give you a crash course in Erlang, a pragmatic functional language to make you feel familiar with the functional paradigm. By comparing code samples between Erlang and PHP, you\u2019ll find out how you can employ functional programming in your PHP applications where appropriate. You\u2019ll see that functional programming is nothing to be scared of. On the contrary, understanding its concepts broadens your programming horizon and provides you with valuable solutions to your problems.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">Functional programming, though far from new, has gained much traction recently. Functional programming characteristics have started to appear in the PHP world, too. Microframeworks such as Silex and Slim, middleware architectures such as Stack and even standards such as PSR-7 rely on concepts such as lambdas, referential transparency and immutability, all of which come from functional programming. I’ll give you a crash course in Erlang, a pragmatic functional language to make you feel familiar with the functional paradigm. By comparing code samples between Erlang and PHP, you’ll find out how you can employ functional programming in your PHP applications where appropriate. You’ll see that functional programming is nothing to be scared of. On the contrary, understanding its concepts broadens your programming horizon and provides you with valuable solutions to your problems.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>Hopping in clouds: a tale of migration from one cloud provider to another</title>
		<link>/talk/hopping-in-clouds-a-tale-of-migration-from-one-cloud-provider-to-another/</link>
		<pubDate>Sat, 12 Mar 2016 00:50:16 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=553</guid>
		<description><![CDATA[Nowadays there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us in the last year while migrating a PHP application from Rackspace to Amazon. In this session I’d [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;Nowadays there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us in the last year while migrating a PHP application from Rackspace to Amazon. In this session I\u2019d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">Nowadays there are a lot of cloud providers, with a wide range of offers. Web projects usually have continuously changing needs: what worked well yesterday may not be enough today. These two facts became quite obvious for us in the last year while migrating a PHP application from Rackspace to Amazon. In this session I’d like to share this experience highlighting infrastructure and code evolution, migration steps, cost analisys, issues.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>Context Oriented Architecture: put the boundary in the right place.</title>
		<link>/talk/context-oriented-architecture-put-the-boundary-in-the-right-place/</link>
		<pubDate>Sat, 12 Mar 2016 00:49:18 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=552</guid>
		<description><![CDATA[Last year the hype was on SOA, today is on the Microservices Architecture, what about tomorrow? No one knows. Whatever it is the architecture you want to use, we probably agree that the strategic goal of a tech team is to support a company business, creating customer value. How can we model our software and [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;Last year the hype was on SOA, today is on the Microservices Architecture, what about tomorrow? No one knows. Whatever it is the architecture you want to use, we probably agree that the strategic goal of a tech team is to support a company business, creating customer value. How can we model our software and create an architecture to achieve that? What we are trying to do at Lendinvest, is using Domain Driven Design to drive the design of our architecture. We are facing a lots of challenges, like: When a bounded context should use an API call to another bounded context? When should we use a queue? How can we share this vision to the rest of the company? In this talk I will share our findings.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">Last year the hype was on SOA, today is on the Microservices Architecture, what about tomorrow? No one knows. Whatever it is the architecture you want to use, we probably agree that the strategic goal of a tech team is to support a company business, creating customer value. How can we model our software and create an architecture to achieve that? What we are trying to do at Lendinvest, is using Domain Driven Design to drive the design of our architecture. We are facing a lots of challenges, like: When a bounded context should use an API call to another bounded context? When should we use a queue? How can we share this vision to the rest of the company? In this talk I will share our findings.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>How I learned to stop worrying and love Regular Expressions</title>
		<link>/talk/how-i-learned-to-stop-worrying-and-love-regular-expressions/</link>
		<pubDate>Sat, 12 Mar 2016 00:48:30 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=551</guid>
		<description><![CDATA[This session will cover Regular Expressions from the basics to the darkest corners of this arcane art. Regular Expressions at the core come in handy to achieve validation and text manipulation tasks. In the day to day life of a developer, becoming comfortable with them opens up many more use cases. As one of the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;This session will cover Regular Expressions from the basics to the darkest corners of this arcane art. Regular Expressions at the core come in handy to achieve validation and text manipulation tasks. In the day to day life of a developer, becoming comfortable with them opens up many more use cases. As one of the tortured souls that actually enjoys writing - and reading - regexes, Jordi will share his passion so that you too can see there is no reason to worry.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">This session will cover Regular Expressions from the basics to the darkest corners of this arcane art. Regular Expressions at the core come in handy to achieve validation and text manipulation tasks. In the day to day life of a developer, becoming comfortable with them opens up many more use cases. As one of the tortured souls that actually enjoys writing &#8211; and reading &#8211; regexes, Jordi will share his passion so that you too can see there is no reason to worry.</span></p>
]]></content:encoded>
			</item>
		<item>
		<title>Denser, Cooler, Faster, Stronger: PHP On ARM Microservers</title>
		<link>/talk/denser-cooler-faster-stronger-php-on-arm-microservers/</link>
		<pubDate>Sat, 12 Mar 2016 00:47:34 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
		
		<guid isPermaLink="false">/?post_type=talk&#038;p=550</guid>
		<description><![CDATA[This is the story of how I helped make arm.com run on a small collection of state-of-the art ARM-based microservers, and the lessons I learned along the way, from how not to crash your entire multi-node MySQL database several times a day, to how not to have nginx consume all your disk space within a [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span data-sheets-value="[null,2,&quot;This is the story of how I helped make arm.com run on a small collection of state-of-the art ARM-based microservers, and the lessons I learned along the way, from how not to crash your entire multi-node MySQL database several times a day, to how not to have nginx consume all your disk space within a few minutes, all the way through to how to build a rock solid PHP application that is *truly* scalable to almost any size. This talk is great if you're into buying your own hardware and want to save on total cost of ownership. But it's also filled with great advice for anyone who's ever needed to scale PHP. We had to find a way to scale every aspect of the web stack, all the way from where we kept files on the disk through to where logs got written, where traffic was routed, where sessions were stored and where the database ran. It was an incredible journey, and I learned more on this project than on any other. Technology highlights include nginx plus, which works nicely as a caching reverse proxy and Percona XtraDB, a horizontally scalable form of MySQL, plus lots more interesting ways to make running an application across many servers slightly less terrifying.&quot;]" data-sheets-userformat="[null,null,9089,[null,0],null,null,null,null,null,null,0,4,0,null,null,null,8]">This is the story of how I helped make arm.com run on a small collection of state-of-the art ARM-based microservers, and the lessons I learned along the way, from how not to crash your entire multi-node MySQL database several times a day, to how not to have nginx consume all your disk space within a few minutes, all the way through to how to build a rock solid PHP application that is *truly* scalable to almost any size. This talk is great if you&#8217;re into buying your own hardware and want to save on total cost of ownership. But it&#8217;s also filled with great advice for anyone who&#8217;s ever needed to scale PHP. We had to find a way to scale every aspect of the web stack, all the way from where we kept files on the disk through to where logs got written, where traffic was routed, where sessions were stored and where the database ran. It was an incredible journey, and I learned more on this project than on any other. Technology highlights include nginx plus, which works nicely as a caching reverse proxy and Percona XtraDB, a horizontally scalable form of MySQL, plus lots more interesting ways to make running an application across many servers slightly less terrifying.</span></p>
]]></content:encoded>
			</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/

Page Caching using apc

 Served from: 2016.phpday.it @ 2017-02-13 19:04:58 by W3 Total Cache -->