Roman's Blog

Random notes of a Python developer

Featured Image

September Conferences

 Oct. 18, 2018    0 comments 

This September I attended two international conferences dedicated to the developement of Open Source multimedia solutions: VideoLAN Dev Days and Kodi DevCon. (...)

Read post


Featured Image

Using Docker with Travis Continuous Integration

 Sept. 16, 2018    0 comments 

Note 2: This article was written before GitHub Actions became publicly available so now it has more of a historic value.

Note: This is a re-worked version of my previous article. I it has been updated based on practical experience and to reflect recent changes in Travis CI.

GitHub supports several cloud-based continuous integration services. One of them is Travis CI that allows to run automated testing and deployment tasks on Linux Ubuntu and macOS. Unfortunately, their Ubuntu environment is quite dated — currently they use Ubuntu 14.04 LTS (Trusty Tahr) or Ubuntu 16.04 (Xenial Xerus) while the current LTS release (at the moment of this writing) is Ubuntu 18.04 LTS (Bionic Beaver), so some of the recent language and tooling versions may not be available in Travis CI build environment. (...)

Read post

 Continuous IntegrationDockerGitHubPython

Featured Image

Scrapy Tutorial - Part 2

 Aug. 7, 2018    0 comments 

In the 1st part of my tutorial I demonstrated how to create a simple Scrapy spider that collects data from a website. Now I will show you how to save scraped data in JSON and XLSX formats. (...)

Read post


Featured Image

Vertical Stretching of HTML Content to Browser Viewport Height

 June 28, 2018    0 comments 

This is more of a note to myself but maybe other web developers, especially beginners, will find this information useful. In common situations when your webpage has a header, a main content area and a footer (like this blog), you want your main content area to stretch to the available browser viewport height if your page contains only small amount of content. Unfortunately, by default your block elements are vertically aligned to the top so your footer will be displayed somewhere in the middle of the viewport instead of the bottom. And this is where the new Flexbox layout comes to the rescue. (...)

Read post


Featured Image

Bootstrap4-based Pagination Buttons for Django ListView

 May 11, 2018    0 comments 

Often, when displaying multi-page lists in html pages rendered from Django templates, we need to include a pagination control, usually a set of navigation buttons, that is both functional and good looking. In this post I'll describe the solution used in this blog to paginate the list of search results. (...)

Read post