09:00 - 09:20 |
Opening Speech / Açılış KonuşmasıEmir Karşıyakalı
|
09:20 - 10:00 |
Keynote: Performance Optimization*Fabien Potencier
I bet you are writing unit tests for your apps; if not, you probably feel ashamed. But what about performance? Everyone is talking about it but very few people actually integrate performance into their development workflow... But performance is key to success: if your website is not fast enough, you will loose both customers and revenue. Theory and good tools can go a long way to quick wins and continuous performance testing.
|
10:00 - 10:40 |
Extremely Defensive PHP*Marco Pivetta
What if I told you that your carefully designed and tested code was fragile?
What if I told you that you can trust nobody?
What does “fragile” even mean?
We are going to look at fragile code, fix it, and lastly learn about various Poka-Yoke techniques that make our code very hard to break.
|
Kod Kalitesi için Fonksiyonel Testler ve BehatFatih Üstündağ
Sunumda fonksiyonel testler ile kod kalitesini korumaktan ve PHP'in popüler araçlarından biri olan Behat'ten bahsedilecek.
|
11:00 - 11:40 |
Security: from basic principles to PHP specifics*Alexander Makarov
During numerous code reviews I've found that many projects sharing alike security flaws despite being developed by experienced teams. In the talk I'd cover both security basics, PHP specifics and some extras such as common errors in server configs.
|
PHP ve Elasticsearch: ElasticaAlpcan Aydın
Detaylı arama ve analiz işlemleri yapmamızı sağlayan Elasticsearch'e Elastica ile bağlanıp nasıl geliştirme yapabileceğimize ve verimiz üzerinde daha akıllı aramaları ve analizleri nasıl elde edebileceğimize göz atacağız.
|
12:00 - 12:40 |
Refactoring Workflows & Techniques*Valentin Stancescu
In this presentation we will describe our work and experience gained by working on a legacy system and bring it to a completely new and high end architecture. Some refactoring techniques will be presented and how we managed to apply SOLID principles in order to have a system that’s easy to maintain and extend over time.
|
Ne bu ORM?Güven Atbakan
Oturumda iki veritabanı kütüphanesi Doctrine ve Eloquent özelinde, karşılaştırma yaparak Active Record, Data Mapper, ORM kavramlarını inceleyeceğiz. Doctrine ve Eloquent'in karşılaştırmasında; bu iki kütüphanenin kullanımı hakkında bilgi verip, farklılıklarını, benzerliklerini, kullanım alanları ve kullanılma nedenlerini de ele alacağız.
|
12:40 - 13.40 |
Lunch |
13:40 - 14:20 |
The framework is dead*Bruno Škvorc
It is said developers go through four stages:
1. No framework
2. Use a framework.
3. Write own framework.
4. No framework.
Once the cycle is complete, the developer is said to be ready. In this talk, we'll go for stage 3, but replace it with stage 4. In other words, we'll explain how to build our own framework, but from third part components, thus being immune to breaking changes, vendor lock, and other negative side effects of using popular frameworks.
|
Moderatör: Uğur Özyılmazel. Konuklar: Fatih Kadir Akın, Üstün Özgür, Lemi Orhan Ergin, Abdullah Uğraşkan
Oturumda Uğur Özyılmazel moderatörlüğünde Fatih Kadir Akın, Üstün Özgür, Lemi Orhan Ergin, Abdullah Uğraşkan yazılım dünyası ile ilgili soru(n)larınızı cevaplandıracak.
|
14:30 - 15:10 |
Continuous Delivery with Jenkins in the Real World*Gianluca Arbezzano
In this talk I will share the CurrencyFair experience, how our IT Team made of 40 engineers manage CurrencyFair delivery with GitHub, Jenkins, Hubot and Slack on different environments. Artifact, pipeline and some Jenkins's plugins in order to create the most comfortable delivery flow for your projects.
|
Breaking the Framework’s CoreMehmet İnce
Web framework’leri yani web uygulama çatıları günümüz web teknolojisinin en önemli yapı taşlarından bir tanesidir. Yapısında bir çok farklı özelliği barındıran ve web uygulamalarının temeli olan framework'lerin güvenliği son derece önem teşkil eder. Drupal, WordPress, Symfony veya CodeIgniter gibi çok kullanılan açık kaynak sistemlerde tespit edilecek bir güvenlik açığı birbirinden bağımsız onlarca projeyi, kurumu ve sistemi etki alanı içine alır. Bu sunum içeriğinde popüler frameworklerde oluşan zafiyetlerin detaylı analizi ve en sık karşılaşılan yanlış kullanımlar uygulamalı örnekler ile anlatılacaktır.
|
15:20 - 16:00 |
Advanced package development*Hannes Van De Vreken
Registering your new awesome package to packagist is easy. But what about maintainability? What about open source contributions? What dependencies should you avoid? Have you considered reducing download size? How will you keep your users up to date with changes in newer versions? How do you best handle releases? How do you manage your package to behave in an optimal way both in other people's production environment as in your local package development environment? What are virtual packages, how should you use it? Why you should depend on more stable packages only? Why you should draw a dependency tree, ... Answers and explanations to all these questions will be given during this talk. A talk for everyone who wants to be a true package maintainer.
|
Tasarım Desenleri ve PHP Uyarlamaları - IIBurak İbrahim Gündüz
Genellikle teoride kalan ve gerçek hayatta nerede kullanılabilecekleri pek de anlaşılamayan tasarm desenlerinin(design patterns), gerçek hayat problemleri üzerinden anlatıldığı "Tasarım Desenleri ve PHP Uyarlamaları" sunumunun ikinci bölümüyle keyifli bir sunum sizleri bekliyor.
|
16:10 - 16:50 |
From Development to production with Docker and Docker Datacenter*Lorenzo Fontana
Nowadays is important to have a development/testing environment closest to the production one.
This talk is focused on two main topics. The first one is how Docker and docker compose can be used together while writing Symfony Nginx/PHP-FPM applications using MySQL as database to enable sharing and porting of lightweight environments across machines. The second one is tho show how to deploy containerised applications in production while managing nodes using Docker datacenter.
This talk will also cover topics like stateful containers and fault tolerance.
Nobody likes weird surprises in production. Right?
|
Senin Değerin Ne Kadar?Ceyda Anıl
Ekran başında saatlerce zihninizi, gözlerinizi ve ellerinizi çalıştırıyor, zamanınızı ve emeğinizi gelen projeler ve şirketler için veriyorsunuz. Peki hak ettiğiniz değeri gerçekten alabiliyor musunuz?
|
17:00 - 17:40 |
Make your web solutions more flexible with Symfony based layout and block management*Ivo Lukac
When thinking about layout of web applications and sites it is still about custom and rigid templates and controllers. In simple use cases that should be enough but it is less flexible when building or maintaining complex solutions even more so with responsive and adaptive approaches which are today standard requirement.
It should be possible to create a component that gives designers, developers and advanced editors to:
- easily manage different layouts and zones (generating Bootstrap, Foundation, React or whatever kind of output)
- define master layouts with zone inheritance,
- add/more/remove blocks with a simple drag and drop interface (or even from command line),
- implement custom blocks by simple template and/or controller override,
- apply layouts to routes with conditions like user roles, geolocation, time, etc.
|
Optimizing PHP-FPM, Nginx and kernel for high performanceOsman Üngür
Oturumda web uygulamalarının en iyi performansla çalışması için gereken PHP-FPM, Zend Opcache, Nginx ve Linux kernel ile alakalı ince ayarlardan bahsedilecek.
|
17:50 - 18:30 |
Laravel Tips and TricksArda Kılıçdağı
Laravel is one of the most popular PHP Frameworks around. In this presentation, Arda will tell about the struggles he's came along and how he overcame them with tricks he's used.
|
Kadın Yazılımcı PanelNesrin Kalender, Ayşe Bilge Gündüz
|