Blog
15/15 |
Toggl time-entries -> JIRA (tempo) worklogs
PHP (cron) script for synchronizing time-entries from Toggl to JIRA (tempo plugin). It extracts JIRA issue key from description, e.g. #123 description is mapped to IS-123 (project key is configurable).
Docker volumes - www-data on Debian/Ubuntu + Alpine image
Sharing host OS www-data directories as a volume is tricky for Alpine images. User ID (UID) and Group ID (GID) are different. How to avoid "Permission denied" errors when e.g. PHP FPM worker saves session to a shared directory?
Editing Middleman site with Netlify CMS and GitLab
Static site generators are great in its simplicity. But editing content is a challenge for less technically experienced people. Netlify CMS solves it all without needing complex CMS solutions. Keep it simple!
Import projects to Costlocker
Are you using Harvest, Teamwork, JIRA, Asana, Toggl, … but missing some functionality like profits, revenues, etc…? Costlocker is now able to create and update projects via its API.
Use Costlocker webhooks for pushing notifications
If you’re familiar with webhooks it shouldn’t take long to integrate webhooks from Costlocker. It's easy to start pushing Costlocker notifications to Slack, ...
Import Toggl weekly report to Costlocker
Are you using Toggl as your primary tracking tool instead of Costlocker? Do you still want to know the profitability of your business and employees? Costlocker is now able to simply import all your Toggl tracked hours and process them.
Evoluce backendu rozpisů zápasů - z hg a Phalconu do gitu, Silexu, Circle.ci a Loggly
Aplikaci jsem začal vyvíjet v únoru 2014 jako diplomku. Od té doby jsem přešel z akademického prostředí do práce a z Windows na Linux/MacOS, takže aplikuji zkušeností a praktiky z práce. Prvotním impulsem změny byla jen phpqa analýza kódu…
Z bastliče profesionálem?
Retrospektiva nad praktikami a přístupem během VŠ studia a změnách po přechodu do praxe. Aneb cesta za XP praktikami a hodnotami, profesionalismem, odpovědností a disciplíně.
Redirect authenticated user on anonymous pages in Symfony
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
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
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
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
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
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
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.