All decks
  • Machine Learning - how to start to teach the machine - PHP Russia 2019

    The main goal of Machine Learning is to create intelligent systems that can improve and acquire new knowledge using input data. In practice, this translates into the use of one of hundreds of different available algorithms. This lecture is an introduction to ML from the total basics. We will learn the basic vocabulary and types of problems which the ML allows. I will also present the technique of building the whole pipeline, with the help of which we will go through all stages of ML: data processing (preprocessing), selection of algorithms and evaluation of its effectiveness.

  • Machine Learning - how to start to teach the machine

    The main goal of Machine Learning is to create intelligent systems that can improve and acquire new knowledge using input data. In practice, this translates into the use of one of hundreds of different available algorithms. This lecture is an introduction to ML from the total basics. We will learn the basic vocabulary and types of problems which the ML allows. I will also present the technique of building the whole pipeline, with the help of which we will go through all stages of ML: data processing (preprocessing), selection of algorithms and evaluation of its effectiveness.

  • Offline Concurrency Patterns

    Imaging the situation where you have an flight ticket booking system where you can edit available seats. Then think what if two people are are editing the same flight. Both introduce changes simultaneously but which ones will be saved? What if one saves over the other data? These are concurrency issues. I will present a few patterns that represent the technique of controlling concurrent work in situations where it is necessary to apply more than one system transaction.

  • Short story about learning the machine in PHP

    The main goal of Machine Learning is to create intelligent systems that can improve and acquire new knowledge through input. In practice this translates into the use of one of hundreds of different algorithms available. Based on the PHP-ML library I want to present different classes of problems and how to use them. I will also show you how to build an entire pipeline by which we go through all the ML stages: preprocessing, choosing algorithms, and evaluating its effectiveness.

  • UUID - The only ID you need?

    What is UUID and what are its successor versions? How to start using UUID in PHP? Can my database handle UUID? What is UUID suitable for, and what is not? Is UUID the only ID I need? For these and other questions I will try to answer in a presentation devoted exclusively to uniquely unique identifiers.

  • Constantly improve your PHP code

    When testing a PHP application, whether manually or automatically, programmers spend a lot of time debugging code that would not even be compiled in other languages. This leaves less time to test the real business logic that should be most important. By statically analyzing the code, a number of interesting tools have been developed to fully automate the Continuous Improvement process. This presentation will be an objective overview of the latest developments that will allow you to continually improve the quality of your code in your projects.

  • Machine Learning - how to begin to learn the machine in PHP 1.1

    The main goal of Machine Learning is to create intelligent systems that can improve and acquire new knowledge through input. In practice this translates into the use of one of hundreds of different algorithms available. Based on the PHP-ML library I want to present different classes of problems and how to use them. I will also show you how to build an entire pipeline by which we go through all the ML stages: preprocessing, choosing algorithms, and evaluating its effectiveness.

  • Reactive PHP

    Programowanie sterowane zdarzeniami (event-driven) jest znane i używane w aplikacjach klient / serwer oraz bibliotek asynchronicznych. RactPHP (zbliżony do node.js lub Python Twisted), przenosi PHP na nowy poziom prędkości ze wszystkimi niezbędnym do tego funkcjami. Podczas prezentacji wprowadzę pojęcie event loop, non-blocking IO i programowania asynchronicznego w PHP, a także przedstawię sposoby gdzie ta technika może przydać się w twoim stosie technologicznym.

  • Machine Learning - how to begin to learn the machine in PHP

    Głównym celem Machine Learningu jest tworzenie inteligentnych systemów, które za pomocą danych wejściowych mogą doskonalić się i zdobywać nową wiedzę. W praktyce przekłada się to na wykorzystanie jednego z setek różnych dostępnych algorytmów. Na podstawie biblioteki PHP-ML chcę przedstawić różne klasy problemów i sposobów ich wykorzystania. Przedstawię również technikę budowania całego pipeline'u, za pomocą którego przejdziemy przez wszystkie etapy ML: przetwarzania danych (preprocessing), wyboru algorytmy oraz oceny jego skuteczności.

  • Mutated PHP - mutation testing for beginners

    Testowanie mutacyjne to technika pozwalając na pomiar jakości testów. Polega ona na celowym wprowadzaniu małych zmian (mutacji) w kodzie, a następnie sprawdzeniu czy przynajmniej jeden test nie przechodzi. Podczas prezentacji przedstawię koncepcję testów mutacyjnych wraz z praktycznym wdrożeniem na podstawie biblioteki padraic/humbug. Pokaże jak interpretować wyniku testów oraz jak samemu napuścić mutantów na swój kod.

  • Design, document, create and test your API in Symfony

    Symfony + SyliusResourceBundle + API Blueprint + Aglio + Dredd = Perfect API

  • Pragmatyczny developer

    Co to jest pragmatyzm i jak można być pragmatycznym programistą. Przegląd narzędzi, technik i metodyk jakie każdy developer może i powinien znać. Zakres prezentacji obejmuje jednostkę, zespół i społeczność.

  • Solidne kolejki z RabbitMQ

    Od początku czyli o MQTT, AMQP, STOMP, następnie dużo o RabbitMQ. Trochę przykładów w PHP i kilka ciekawostek.

  • Praktyczne Code Review

    Code Review czyli inspekcja kodu. Chcę odpowiedzieć na pytania: co to takiego code review ? dlaczego warto robić code review ? oraz jak zrobić to dobrze ?

  • Dobre praktyki tworzenia nazw