Skip to content

Instantly share code, notes, and snippets.

@pronskiy
Last active May 13, 2020 08:40
Show Gist options
  • Save pronskiy/f18eeb8672d03aff52bb686b89d91b18 to your computer and use it in GitHub Desktop.
Save pronskiy/f18eeb8672d03aff52bb686b89d91b18 to your computer and use it in GitHub Desktop.

10:45 – 11:00 Opening the Conference (eng)

11:00 – 11:45 Time is an illusion (lunchtime doubly so) (eng)

Andreas Heigl (bitExpert AG)

Have you ever read a "Good morning" in an international IRC-Channel shortly before you leave the office for lunch? In international business time is an illusion as everywhere is a different time. In this talk we'll dive into he depths of Timezones and how to handle them. We'll see why timezones are important and why and how they started to exist. And of course we'll examine how to handle those little buggers efficiently in code and database.

11:55–12:40 Cycle, ORM and graphs (eng)

Anton Titov (SpiralScout LLC)

  • Why do we need an ORM?
  • ActiveRecord vs DataMapper.
  • Persist, topological dependencies sorting.
  • Implementing persistence layer with iterative depth sorting.
  • Cycle ORM overview.

12:50 – 13:35 Getting the most out of the PHP 7 engine - the example of Symfony (eng)

Nikolas Grekas

PHP 7.0 is already history. But do you know how to take full advantage of it? If the engine is faster on all operations in general, some of them are particularly optimized. With PHP 5, you may have taken some habits that are no longer topical to write faster code?

I propose to review with you the various optimization techniques implemented in Symfony, which make the v4 the fastest ever published. This will be an opportunity to twist the puzzle around a few preconceived ideas, and give you a few more for the day when you'll try to squeeze the last few milliseconds out of this intensive loop. Benchmark in support of course.

13:45 - 14:40 Panel: PHP performance. Initiated by Badoo (eng)

Nikolay Krapivnyy (Head of Backend department), Nikolas Grekas, Anton Titov (SpiralScout LLC), Roman Pronskiy (JetBrains)

Is PHP suitable for highload projects? Are PHP frameworks and ORMs? How to develop a performant framework or project? What tools to use? Is there an alternative to PHP's typical handle-and-die model? We'll try to answer these questions and more in the discussion.

14:30 - 15:00 Lunch break

15:00 - 15:45 More Than a Query Language: SQL in the 21st Century (eng)

Markus Winand (winand.at)

"Great News –The Relational Model is Dead" was a prominent comment on the release of the new SQL standard in 1999. The message behind the provoking statement was that SQL has evolved beyond the relational model. As much as this move was discussed at that time, it took decades until database vendors caught up with this idiomatic change. Many developers haven't heard of it until today. This talk provides the big picture on the evolution of SQL and introduces some selected modern SQL features by example. You will see that SQL has changed as much as our requirements have changed over the past decades.

15:55 - 16:10 Discussion with ManyChat (rus)

Andrey Derbenev (backend developer of ManyChat) and Alexander Makarov (Yii).

The practice of functional community and sharing knowledge within the company, how to make highload project with Redis and PHP, about a monitoring system, and about specificity of working in a product company.

16:20 - 17:05 Queues, busses and the messenger component (eng)

Tobias Nyholm (Happyr AB)

Message queues are the perfect way to decentralize your application. You may use them for communication, scheduling and decentralization of your application. With help from a message queue you may decouple your application from the framework and the infrastructure. Which means that your app is written in pure PHP and not Symfony/Laravel/Yii etc. With some smart configuration on your message bus you may put the message queue outside of your application and you may leverage from a decentralized and asynchronous system. This talk will quickly go throw the basics of queues, hexagonal design and show proof of concept with Symfony's Messenger component.

17:15 - 17:30 What is the point of speaking at conferences and how to choose a topic for the next PHP Russia (rus)

Igor Somov, Avito

  • How can I prepare an interesting report that will be useful to you and your company?
  • What are the pros and cons of the speech for the speaker and the company?
  • What happens to your report after submission?

17:40 - 18:25 Practical Security in Web Applications (eng)

Chris Holland (TriNet)

Explore effective methods to identify & avoid the most common and devastating security pitfalls in Web Applications. When it comes to an enterprise's exposure to security vulnerabilities, one could easily argue that its web presence is by far its greatest threat. There are many ways to build vulnerable applications and a few effective ways to "build them right". We'll instrument you to stay on right side of this equation.

18:35 - 19:20 Effortless Software Development (eng)

Anna Filina (Zenika Montreal)

Software development can be an eternal struggle, or it can be code that pretty much writes itself. In this talk, we'll look at how simple acceptance tests and a few diagrams help us dive right into the code, which we in turn outline using DDD, This allows us to have a clean and testable design without worrying about implementation details. Code can be then implemented without developers worrying about stepping on each others' toes, while still be confident that everything will work once put together. Discover how my team can build features faster than the client can sign them off.

19:20 - 20:00 Afterparty

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment