<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Web Developer Notes</title>
  <subtitle type="text">Tom's blog - full stack web development.</subtitle>
  <logo>https://www.werc.cz/img/werc-logo-lg.png</logo>
  <updated>2026-04-14T05:52:38+00:00</updated>
  <generator uri="https://getlaminas.org" version="2">Laminas_Feed_Writer</generator>
  <link rel="alternate" type="text/html" href="https://www.werc.cz/"/>
  <link rel="self" type="application/atom+xml" href="https://www.werc.cz/feed"/>
  <id>https://www.werc.cz/</id>
  <entry>
    <title type="html"><![CDATA[Nested set model practical examples, part I.]]></title>
    <summary type="html"><![CDATA[Every developer will sooner or later solve a situation how to store hierarchical data (parent – child relation) in relational database. As there is a lot of information and code snippets for representing trees and hierarchies in SQL, I will demonstrate practical examples and source codes you can use and save time on your project.]]></summary>
    <published>2015-07-19T00:00:00+02:00</published>
    <updated>2015-07-19T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2015/07/19/nested-set-model-practical-examples-part-i"/>
    <id>/blog/2015/07/19/nested-set-model-practical-examples-part-i</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Nested set model practical examples, part II.]]></title>
    <summary type="html"><![CDATA[In the second part  I will demonstrate how to find and select required data from the tree and full tree structure.]]></summary>
    <published>2015-08-05T00:00:00+02:00</published>
    <updated>2015-08-05T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2015/08/05/nested-set-model-practical-examples-part-ii"/>
    <id>/blog/2015/08/05/nested-set-model-practical-examples-part-ii</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Zend Framework route configuration in .ini file]]></title>
    <summary type="html"><![CDATA[Configuring routes using arrays is a common practice in Zend Framework documentation examples. However when the number of routes is increasing I get often lost in arrays and whole route config part starts to be confusing to me.]]></summary>
    <published>2016-07-09T00:00:00+02:00</published>
    <updated>2016-07-09T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2016/07/09/zend-framework-route-config-inini-file"/>
    <id>/blog/2016/07/09/zend-framework-route-config-inini-file</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Reading MailChimp data API 3.0]]></title>
    <summary type="html"><![CDATA[In one project I needed CRON script to read specific subscribers and copy them in another list.]]></summary>
    <published>2015-12-28T00:00:00+01:00</published>
    <updated>2015-12-28T00:00:00+01:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2015/12/28/reading-mailchimp-data-api-30"/>
    <id>/blog/2015/12/28/reading-mailchimp-data-api-30</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Migrating ZF2 to ZF3]]></title>
    <summary type="html"><![CDATA[I have migrate couple of projects from ZF2 to ZF3 so I decided to summarize steps I went through during Zend Framework migration.]]></summary>
    <published>2017-03-29T00:00:00+02:00</published>
    <updated>2017-03-29T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2017/03/29/migrating-zf2-to-zf3"/>
    <id>/blog/2017/03/29/migrating-zf2-to-zf3</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Zend\Db\Sql and Aggregate Functions]]></title>
    <summary type="html"><![CDATA[This is just an example of how to include aggregate function call when building SQL queries via Zend\Db\Sql.]]></summary>
    <published>2017-05-08T00:00:00+02:00</published>
    <updated>2017-05-08T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2017/05/08/zenddbsql-and-aggregate-functions"/>
    <id>/blog/2017/05/08/zenddbsql-and-aggregate-functions</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Using Delegators in Zend Framework]]></title>
    <summary type="html"><![CDATA[Delegators (delegation pattern) in Zend Framework are very useful in situations when you need to add some configuration or dependency during instantiation of service class (service manager knows about that class). You will achive it with a delegator factory. The factory wraps your service and provides additional "decoration".]]></summary>
    <published>2018-01-20T00:00:00+01:00</published>
    <updated>2018-01-20T00:00:00+01:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2018/01/20/using-delegators-in-zend-framework"/>
    <id>/blog/2018/01/20/using-delegators-in-zend-framework</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Archiving price changes in SQL]]></title>
    <summary type="html"><![CDATA[Archiving price changes is probably common function often implemented in web applications. I would like to share solution that satisfied requirements in application we developed.]]></summary>
    <published>2019-02-14T00:00:00+01:00</published>
    <updated>2019-02-14T00:00:00+01:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2019/02/14/archiving-price-changes-in-sql"/>
    <id>/blog/2019/02/14/archiving-price-changes-in-sql</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Web application: Digit classification with Convolutional Neural Network]]></title>
    <summary type="html"><![CDATA[After several courses I took on Coursera, I have got a chance to apply machine learning on a real project – computer digit classification in PHP web applicaton. Lots of blog posts show you how to develop model that reads prepared data, displays model accuracy and loss, than describe some hyperparameters tuning and the results. I was (quite deep) digging for informations how to implement whole proces in real application. From data preparation and trained model implementation. So this post has this primary goal – describe the whole process.]]></summary>
    <published>2019-07-11T00:00:00+02:00</published>
    <updated>2019-07-11T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2019/07/11/web-application-digit-classification-with-convolutional-neural-network"/>
    <id>/blog/2019/07/11/web-application-digit-classification-with-convolutional-neural-network</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Laminas Event Manager and Lazy listeners]]></title>
    <summary type="html"><![CDATA[Laminas MVC has an event driven architecture. This means that the flow of the application depends on triggered events in Laminas during HTTP request. The event triggering may carry additional information and usually passed to a specific event listeners. Having an event driven architecture allows the Laminas application to be loosely coupled and thus very extensible.]]></summary>
    <published>2020-11-11T00:00:00+01:00</published>
    <updated>2020-11-11T00:00:00+01:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2020/11/11/laminas-event-manager-and-lazy-listeners"/>
    <id>/blog/2020/11/11/laminas-event-manager-and-lazy-listeners</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Using Laminas in a cron job]]></title>
    <summary type="html"><![CDATA[Sooner or later, every bigger project needs cron jobs for background operations, maintenance or some periodical reports etc. If you are beginning with Laminas framework, it maight not be straight obvious how to use Laminas in a cron file, so you can access services and configured view renderer and other properties.]]></summary>
    <published>2021-02-22T00:00:00+01:00</published>
    <updated>2021-02-22T00:00:00+01:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2021/02/22/using-laminas-in-a-cron-job"/>
    <id>/blog/2021/02/22/using-laminas-in-a-cron-job</id>
  </entry>
  <entry>
    <title type="html"><![CDATA[Named entity recognition in PHP]]></title>
    <summary type="html"><![CDATA[I like to find improvements and new ideas how to solve some task so the result will bring benefits. In one of my project I wanted to reduce two HTML form inputs to one and extract the city name from search text. Thanks to Rubix ML, I was able to tackle the task and practice named entity recognition in PHP, which was the main reason.]]></summary>
    <published>2021-04-04T00:00:00+02:00</published>
    <updated>2021-04-04T00:00:00+02:00</updated>
    <link rel="alternate" type="text/html" href="/blog/2021/04/04/named-entity-recognition-in-php"/>
    <id>/blog/2021/04/04/named-entity-recognition-in-php</id>
  </entry>
</feed>
