PHPKonf 2018 is an annual PHP oriented conference in Istanbul, Turkey and will take place on Sunday, 20th of May, 2018.

Sunday 20th May 2018

10:00
2
Things I Wish I Knew When I Started Playing "Developer"?
Talk by Gary Hockin in Peak Games (40 minutes)

I'm a gamer, and some of my favourite articles to read about computer games are those click-bait posts that read "Ten Things I Wish I Knew When I Started Playing Pac-Man!". When you're playing computer games, it's easy to miss things that are obvious to others, and these posts can help you to understand a simple game mechanic that you'd otherwise have not used. It got me thinking about the things in my own career that I found out about too late, or didn't fully understand until much later than I needed it. We'll cover both the technical and the conversational, so join me, as I introduce you to Things I Wish I Knew When I Started Playing "Developer".

11:30 What's new in Xdebug?
Talk by Derick Rethans in Peak Games (40 minutes)

In this talk I will cover the latest additions to Xdebug. Although it is 15 years old now, many features have been added in the last few months and years. In this talk, I will introduce and explain these new features, and some more notable features added in the last few years.

0
PHP Projelerinde Test, CI ve CD Süreçleri
Talk by Mustafa İleri in Insider Track (40 minutes)

Bir PHP projesini testleri ile beraber Docker yardımı ile sanallaştırma ve izole ortamda çalıştırarak CI ve CD araçları ile build oluşturarak deployment gibi süreçleri otomatize etme süreçlerine değinilecek.

12:30 Crafting Quality PHP Applications: an overview
Talk by James Titcumb in Peak Games (40 minutes)

This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.

0
Insider'da ayda 5 milyar Web Push bildirimini nasıl gönderiyoruz?
Talk by Ersoy Pembe in Insider Track (40 minutes)

Insider'in kilit ürünlerinin başında "Web Push Bildirimleri" geliyor ve 350'den fazla müşteriye ayda 5 milyardan fazla bildirim gönderiyoruz. Bu sunumda ajandamız şu şekilde olacak; Web Push nedir ve ne gibi türleri vardır? Kullandığımız teknolojileri nasıl ölçeklendiriyoruz? Zamana karşı nasıl yarışıyor ve 1 dakikanın altında 5 milyon web push'u gönderiyoruz? PHP 7.1'e geçiş yaptığımızda ne gibi metriklerle karşılaştık? Oturumda bu soruları cevaplandırıyor olacağız.

14:30 Deep dive into Symfony 4 internals
Talk by Tobias Nyholm in Peak Games (40 minutes)

Symfony is a request and response framework. But what about all that magic that happens around your code? How does security work? Why isn’t autowring slowing things down? And how is it that symfony components can be so decoupled but sill play so well together? I will show you the symfony internals This talk will go over the architecture of Symfony. We will follow the request and the response paths throw the framework. We will do some stops at the components that are more awesome than others. This talk is perfect for you who been working with Symfony or Laravel before. But if you never touched a framework before, dont worry. You will still learn a lot from this talk.

0
Temiz Kod Tasarımı
Talk by Lemi Orhan Engin in Insider Track (40 minutes)

Programlama bir zanaat. Çıraklıktan ustalığa çıktığınız yolculuğunuzda sürekli geliştirdiğiniz bir hüner. Bu hüner, zaman içerisinde daha kaliteli kodların üretilmesini sağlamalı. Ancak günümüzde üretilen kodların kalitesinden sıklıkla şikayet etmemizden bu alanda çok da fazla aşama kaydetmediğimizi anlıyoruz. Bu konuda artık ciddi bir adım atmak zorundayız. Programlamanın temellerine inmeli, temiz kod tasarımı için gereken ortamı nasıl sağlayabileceğimizi konuşmalıyız. Bu oturumda Lemi bizlere temiz kod tasarımı yapabilmek için gereken adımlardan, çoğunlukla yanlış bilinen gerçeklerden ve bir yazılımcı için ustalaşmaya giden yolculuktan bahsedecek.

15:30 Monitoring of Your PHP Applications
Talk by Philipp Krenn in Peak Games (40 minutes)

"Every outage is like a murder mystery" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor PHP applications from all possible sides. We dive into: * System metrics: Keep track of network traffic and system load. * Application metrics: Gather metrics of nginx or Apache, php-fpm, and MySQL. * Application logs: Collect logs in a structured format or parse them to extract all the relevant information. * Uptime monitoring: Ping services and actively monitor their availability and response time. And we will do all of that live since it is so easy and much more interactive that way.

0
Son Trend Konteyner Teknolojileri ve Bulut Bilişim
Talk by Yasemin Demiral in Insider Track (40 minutes)

Sanallaştırma teknolojisi ile doğan bulut bilişim; son zamanların popüler teknolojisi konteynerlar; docker ve kubernetes. Temel olarak teknolojilerin açıklamaları, birbirleri ile ilişkileri, farkları, avantajları ve dezavantajlarını bu oturumda değerlendiriyoruz.

16:30 Introduction to PHP Extensions
Talk by Derick Rethans in Peak Games (40 minutes)

You’ve got that need—the need for speed! Using step-by-step examples, we’ll take functions written in PHP and convert them into loadable extensions using C. We’ll then test both versions and compare the results. After seeing the size and scope of the benefits that can be realized with only a few minor changes, you’ll be ready to take the plunge. You’ll also understand why we start with simple things, and not try to rewrite all of Symfony in C.

1
XSS Zafiyetinin Oluşumunu Anlamak ve Tarayıcı Güvenliği
Talk by Mehmet İnce in Insider Track (40 minutes)

Günümüz web uygulama güvenliği ile ilgili hususlar arasında yıllardır popülerliğini kaybetmeyen XSS zafiyetlerini anlamak tahmin edilenden çok daha zordur. Bu sunum içeriğinde, XSS zafiyetlerinin oluşum sürecine ve özel gerçek hayat örneklerine yer verilecektir. Ardından nihai olarak yazılım geliştiricilerin, uygulaması gereken metodolojiye değinilecektir.

17:30
2
Behat for characterisation on tests
Talk by Michael Heap in Peak Games (40 minutes)

Once an API ships it doesn't matter how it should behave - how it actually behaves is the important part. Users depend on the existing behaviour and we need a way to ensure that it doesn't change Behat is a tool that was built to help design software, but it’s actually a great tool for capturing existing behaviour too. We’ve used these tools to gain confidence to refactor 5+ year old apps by capturing the existing behaviour before making changes. I want to share the secrets we learned with you.

0
Front-end'in 1 saniyesi
Talk by Filiz Altıntürk in Insider Track (40 minutes)

Web siteleri için mobil uyumluluk ve performans artık bir tercih değil, zorunluluk. Gün geçtikçe artan internet kullanım oranları, özellikle de mobil cihazların göz ardı edilemeyecek yaygınlığı, tüm internet hızlarında ve tüm cihazlarda kullanıcı deneyimi geliştirmemiz konusunda bizi mecbur kılıyor. Hız ve performansın bu göz ardı edilemeyecek önemine karşın son birkaç yılda ortalama web sitelerinin boyutu üç katına çıktı ve birçok web tekniği ve platformu performansı göz ardı etti. Biten bataryalarımız, internet paketlerimiz ve sayfanın yüklenmesini beklerken yiten zamanlarımız oldu. Performans optimizasyonu şimdi yeni bir dalga, akım olarak karşımıza çıkar oldu. Bu sunumda kimler performans artışı için ne yaptı (NY Times ve BBC, Amazon ve tabi ki Nesine.com ), neler kazandı? Bunun için yapılabilecekler nelerdir Http/2, Service Workers, PWA, Resource Hints ve WebFont Performans konularında bu oturumda değiniyoruz.

Monday 21st May 2018

10:00 Testing the Untestable
Talk by Mark Baker in Peak Games (40 minutes)

When we need to write unit tests for an existing codebase - particularly for older legacy code, or even for badly designed modern code - we sometimes come upon classes and methods that simply cannot be tested, or where the effort to write tests far exceeds the effort than it probably took to write the code in the first place. In this presentation we'll examine some of the "code smells" that make it difficult to write tests - and look at why they cause problems - before looking at the options available to make them testable.

0
Future Proof Frontend Coding: Decouple your dependencies
Talk by Bilal Çınarlı in Insider Track (40 minutes)

Almost every 6 months we have new frameworks or approaches in frontend world. Sometime your project’s codebase become outdated before it is on productions according to new techs. These rapid changes are tiring and frustrated for developers’ time to time. This talks helps to visualize how to setup your codebase for changes with wrapping your dependencies in a standardized way. So, your internal modules never aware of your external dependencies and even do not figure out if dependency changed or not at all. With the standardizing your wrappers, at any time you can update or change your external dependencies safely.

11:30
1
Zero to Jenkins: Automatic builds + deploys
Talk by Michael Heap in Peak Games (40 minutes)

Jenkins has been one of the most popular continuous integration systems out there for many years. It was perfectly functional, but the UI wasn't the friendliest in the world and configuring jobs through a UI or XML files was just painful. In late 2016, Jenkins finally made it to version 2.0 which brought a huge number of improvements. From the new Blue Ocean UI to being able to define build configurations in your repo, it's a massive step up from version 1. In this talk, we'll go from an empty machine to a Jenkins install that automatically detects repos, branches and pull requests and builds them according to the Jenkinsfile in each branch. We'll be running tests, linting and packaging applications in parallel where possible, and even running things on Linux, Windows and MacOS all at the same time!

0
OWASP Proactive Controls
Talk by Ziyahan Albeniz in Insider Track (40 minutes)

Yazılım geliştiriciler, güvenli yazılım geliştirme ve Demokles'in Kılıcı gibi tepelerinde sallanan deadline kılıçlarıyla maalesef bu hususta yeterli performansı gösteremiyorlar. Kullanılan araçların, frameworklerin güvenlik duyarlılıkların zayıf olması ya da varsayılan olarak bu tedbirleri desteklemiyor oluşları da işin cabası. Sunumda özetle Proactive Controls maddelerini değerlendirecek ve Proactive Controls maddelerinin, OWASP Top 10 Kritik Zafiyetler Listesi'ndeki hangi derde deva olduğunu göreceğiz.

12:30
0
PostgreSQL is not your traditional SQL database
Talk by Gülçin Yıldırım Jelinek in Peak Games (40 minutes)

In this talk, we will discuss non-relational features of PostgreSQL such as JSONB datatype and full-text search. This will give you ideas about how to use PostgreSQL for modern software architectures.

1
GraphQL: Yeni Nesil Uygulama Geliştirme Arayüzleri
Talk by Fatih Kadir Akın in Insider Track (40 minutes)

Facebook tarafından geliştirilen GraphQL teknolojisinin detaylarını, kullanım alanlarını ve PHP'de nasıl kullanılacağını anlatacağımız bir konuşma olacak.

14:30 Don't work for PHPCS, make PHPCS work for you
Talk by Juliette Reinders Folmer in Peak Games (40 minutes)

Congratulations! Your team has chosen a coding standard to use and you're well on your way to a consistent code style for all your projects. But... there are some extra things you'd like to check for, some rules you really can't be bothered with and some which sort of fit your needs, but not completely. Now what ? Come and learn how to make the PHP Codesniffer work for you and how to streamline the PHPCS related work-flow along the way.

0
Google Cloud ile mükemmel PHP API'leri geliştirin
Talk by İsmail Baskın in Insider Track (40 minutes)

PHP uygulamanızı canlıya alırken yapmamız gereken bir çok şey var ama kodumuzu da karmaşıklıktan uzak tutmak istiyoruz. Kullanıcıları kimliklendirmek, yetkilendirmek, uygulamanın yavaş kısımlarını fark etmek, loglarını tutmak, sonrasında bu logları analiz etmek ve otomatik ölçeklendirmek gibi işleri bizim yerimize Google Cloud'un çözmesi için bilmeniz gereken şeyler bu sunumda.

15:30
1
On Internationalization and Localization
Talk by Pascal Birchler in Peak Games (40 minutes)

As developers, we try to follow best practices in our daily work. One such best practice is internationalization, a term that's used a lot in the ever globalizing world in which we live. However, it's often not fully understood or not used to its full extent. In this presentation, I'm going to explain the concept behind internationalization, localization, and their benefits. I will show how culture influences the user's behaviour and why we need to do more than just "making things translatable". For example, I18N is also about date formats, text direction, meaning of symbols, and even humor. Internationalization has a massive impact on user acceptance and usability. I will highlight existing tools, interfaces, and best practices to get I18N right in the UIs we create and the code we write.

1
PHP ile Defansif Programlama ve Statik Analiz
Talk by Emir Karşıyakalı in Insider Track (40 minutes)

Oturumda 7.0 sürümüyle Gradual typing'e geçiş yapan PHP'in Defansif Programlama tarafında getirdikleri; hata derleme, soyutlama, calisthenics, değişmez objeler ve statik analiz anlatılarak uzun ömürlü ve özellikle açık kaynak projelerde uygulanması gereken bilgiler paylaşılacak.

16:30
1
Serve PHP Happily
Talk by Jenny Wong in Peak Games (40 minutes)

The most common question or criticism about WordPress from PHP developers is: “When will WordPress finally increase their minimum PHP version?” In this talk Jenny will be sharing what WordPress has learnt from other PHP projects and how these lessons have informed the decision making and thought process of the WordPress efforts to upgrade. She will talk about the work being done with hosting providers, plugin authors and project Serve Happy. Come along to this talk if you want to find out what’s on the cards for the future of WordPress and what you can learn on how to handle these kind of situations for your projects.

0
Bir Veri Analistinin Web Geliştirme Maceraları
Talk by Hazel Kavili in Insider Track (40 minutes)

Veri biliminin ortaya çıkması ve büyük miktarda veriyi analiz etme, yorumlama gereksiniminin artmasıyla R dili daha popüler hale geldi. Bununla birlikte istatistiksel hesapların yapıldığı platformlar ve web arasında daha pürüzsüz bir etkileşime ihtiyaç duyulmaya başlandı. Veriyi daha etkileşimli bir kullanıcı arayüzü ile analiz edebilen uygulamalar geliştirmek ve bu uygulamaları cloud ortamında çalışır hale getirmek artık bir veri analistinin yaptığı işler arasında. R’ın Shiny paketi tam da bu durumlar için ideal bir araç. Veri bilimi alanında kadınların yerinden, global topluluklardan ve R-Ladies Istanbul’un bu topluluklar arasındaki yerinden bahsedilecek olan oturumda, R’ın Shiny uygulamaları ile birlikte bir veri analistinin web geliştirme maceralarını dinleyeceksiniz.