Blog

  • Latest
  • This year
  • Last year
  • 2014
  • Symfony
  • Middleman
  • gb
  • cz
7/7

Redirect authenticated user on anonymous pages in Symfony

  • gb
  • 2016-05-04
  • Symfony
  • event listener

What should happen when an authenticated user goes to login page, registration page, forgotten password etc.? One option is to do nothing - just display the page and let the user decide what he wants to do. Redirecting the user might be a better solution.

Nedostatky Nette při přechodu ze Symfony2

  • cz
  • 2016-01-13
  • Nette
  • Symfony

Předchozí projekty, na kterých jsem pracoval, byly v Symfony. Jakmile potom přecházíte z jednoho do druhého, tak se vždycky najde pár věcí, které jsou v jednom či druhém řešeny lépe. Framework nikdy nevyhoví všem, tak jsem sepsal, s čím bojuji v Nette.

HTTP Caching in Symfony2 - max-age, ETag & gzip

  • gb
  • 2015-02-20
  • Symfony
  • caching

Symfony is cool, HTTP cache is cool, so HTTP cache in Symfony is even cooler. Still estimates went south when we implemented max-age and ETag. By we I mean myself, Václav Novotný and Jenkins.

Cleaner Symfony forms

  • gb
  • 2015-01-09
  • Symfony
  • forms

Forms are essential component for development of Symfony web application. But if I look at typical Symfony form then I see several violations of Four Rules of Simple Design: duplicated form alias, unnecessary coupling to Symfony, optional $options.

Optimizing single page Middleman website

  • gb
  • 2014-12-27
  • Middleman
  • assets

Single page website is even better when user downloads complete content in one HTTP request. No additional requests for CSS and JavaScript files. Middleman handles file-size optimization very well, so the only thing you must do is inlining assets.

Generate .htaccess in Middleman

  • gb
  • 2014-12-27
  • Middleman
  • .htaccess

Writing .htaccess file manually can be exhausting because a lot of Apache directives must be duplicated. If you use Middleman for generating static websites, you can use it for .htaccess too. Define source data in yml and loop the data in htaccess template.

Dispatch Symfony events in transactions

  • gb
  • 2014-12-22
  • Symfony
  • dispatcher

Symfony dispatcher is powerful tool, but as in any framework maybe it's too much designed for general purposes. One missing use case is dispatching event in transaction. For example when one listener failed, then you don't want to insert rows to database.

Sports Schedules

Generator
Generator of Sports Schedules screenshots

Generator

  • REST API
  • Hypermedia
  • PHP
  • PostgreSQL
  • wkhtmltopdf
  • Middleman

Collections of classes for generating season schedule (round robin system), playoff (single/double elimination, consolation playoff), tournaments and tables. Generator is used in czech online app for generating sport schedules, where users can download generated schedules in PDF, CSV, HTML or JSON format.

Results App
Generator of Sports Schedules screenshots

Results App

  • JavaFX
  • Cucumber
  • JUnit
  • EasyGson
  • undecorated window

Generated schedule is just the beginning. During the tournaments organizers fill out match results, calculate tables, find top scorer and goalkeeper etc. Results app eliminates manual work and calculations. Flow is really simple: import JSON schedule, fill results, export summary to HTML.

Open Source

edgedesign/phpqa
Analyze PHP code with one command (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
GoPay SDK
GoPay's SDK for Payments REST API - PHP, Python, Slate documentation.
PHP Profiler tools
Stopwatch, CSV logger and time converter (seconds to readable string).
Scortes - fotbal.cz API
API for showing results and tables on football clubs' websites - web parser, Monthly Event Calendar.

University of Pardubice

Semestral projects: JavaFX application, Repast Simphony model, C# Data Structures & Algorithms, JAVA Neural Networks
PHP applications: Big number data type & math expression compiler, Sports Table Manager, Treewec CMS