e0ne's comments

Keep Your Tests Clean: Refactoring

Published at February 25, 2019 ·  1 min read

Refactoring tests could be painful a lot. But it could also give you a lot of fun too. During refactoring unit tests, I’ve found a log of issues to be resolved. Also, it gives me more knowledge about how the project works. Refactoring tests could be harder than refactoring rest of code because it could affect not only tests. Since there are no tests for tests, there is only one way to understand if refactoring didn’t lead to less test coverage....


Published at February 24, 2019 ·  2 min read

I’m wondering that in 2019 we still have a lot of tasks which are not parallelized yet. I’m pretty sure, that almost all laptops, desktops and even smartphones have more than one core on board. In the meantime, I just realized that Django runs tests using only one process/core on my desktop. I’m disappointed but I think I know why it happens. Many of us are not used to write concurrent code....

Flask Upgrades Support

Published at February 23, 2019 ·  1 min read

Upgrading flask-based project from flask v.0.12.x to 1.0.x I realized that Flask itself doesn’t ready for upgrades yet. There is no documentation about 0.x -> 1.0 upgrade at all. There is some documentation about upgrades prior 1.0 but nothing about 1.0 at all! Change log isn’t helpful a lot. It’s one more argument to use Django instead of Flask. It has great release notes with detailed backward incompatible and deprecation sections....


Published at February 22, 2019 ·  3 min read

A short Friday’s holy war about IDEs, text editors and vim:). I don’t really like bikeshedding about text editors, but I was asked about my favorite one too much to not drop a note here. I spent most of the time in editors with Python code, a bit less with JavaScript/TypeScript. Of course, a lot of json and yaml, sometimes bash scripts and Ansible playbooks are opened by me too. I strongly believe that for each task there is the best tool somewhere....

(315) 707-9677

Published at February 21, 2019 ·  1 min read

I was for this solution for months. Almost any guide I’ve found was about using an official Docker image with few plugins installed. It works pretty well if you agree with a manual initial configuration like configure admin user and password. It doesn’t work at all if you deploy Jenkins in an automated way. Here is a Dockerfile to get installed and ready to use Jenkins: FROM jenkins/jenkins:lts # /github.com/jenkinsci/docker/blob/master/README.md # Jenkins configuration ENV JAVA_OPTS="-Djenkins....

Python Releases

Published at February 21, 2019 ·  1 min read

Since I switched to Python 3.5 as my default and I need to keep backward compatibility with Python 2.7 one year more, I don’t follow new features and releases a lot. Originally, Python 3.5 was released about 3.5 years ago. Looking throw release notes, I think I’ll switch to Python 3.6 just for the projects where I don’t need to support 2.7. There are not a lot of features in newer releases but some of them seem to be useful for me....

Embedded React App on Your Site

Published at February 19, 2019 ·  2 min read

It’s great if you’re able to start development from scratch and you can implement SPA using the latest technologies. But sometimes you can only extend existing functionality. In such a case, it makes sense to embed your React app into the existing web site. The idea is pretty simple: you need to add your react-based application to the existing page. The easiest way is to add some <div id="reactApp"></div> to your page and add the script with a production build of your react application....


Published at February 18, 2019 ·  1 min read

Fighting with tests during the last two days, I would like to drop a short note of why I usually do this job. First of all, it’s a great chance to understand how the project works. Even if test coverage is not good enough, usually you can learn a lot about project architecture. The next reason is that almost every project team doesn’t have enough time to improve or extend the current tests....

Deploy Hugo Sites With Jenkins

Published at February 17, 2019 ·  2 min read

I’ll describe how I do my Hugo-based blog updates with Jenkins, but it’s pretty similar to any other static site generator. Pre-requirements Jenkins installation is out of the scope of this post. Also, you need to have installed and configured Publish Over SSH plugin. Also, I use Jenkins Job Builder (JJB) to configure Jenkins jobs from yaml file. I’ll describe my blog-jobs.yaml config for my blog below. Jenkins configuration Views If you have a lot of jobs or just want to group them by project, it makes sense to create a view:...

(740) 882-2752

Published at February 16, 2019 ·  1 min read

I didn’t write reviews for libraries for a while. Honestly, I don’t want to write a review for click because a reading of it will require more time than you try it. It’s an awesome library which is really easy to use. E.g.: @click.command() @click.option('--command', prompt='command name: clone or update', help='Clone or update repos') def main(command): if command == 'clone': clone() elif command == 'update': update() I didn’t find anything like this for Python....


.net .net-framework .net-framework-3.5 8447198987 ajax 925-830-4376 immensurate ansible apache 870-828-7686 asp.net-mvc automation axum 4432862100 bash benchmark 513-629-1188 blog-engine redressor kidney-bean tree c# 9123954931 centos chrome 888-825-1801 undy 4025878513 cli 561-996-1627 code-review codeplex 8178919749 config debugger deface dependencies development-environment (386) 785-7688 devstack devtime disks copper-headed dlr 4407214336 docker dockerimage 5206102565 5136071973 elmah encoding 6035178636 error event events everything-as-a-code exception exceptions fabrik 346-213-4591 flask foreach forms gae gcc gerrit git github go google 484-426-1956 grep paper chase hacked hardware (209) 402-7780 7342469120 hound 5088597422 (423) 397-2319 iaas ienumerable iis internet 563-578-3785 (908) 681-3866 864-618-5644 7054703465 fall phonometer (812) 702-2906 5097474308 jquery js jsx 3095930791 (817) 728-4986 207-775-0641 (939) 225-6459 kyiv 815-861-5308 libvirt linux lio loci logging loopback (507) 241-7461 lvm mac-os macos (864) 730-3818 microsoft 7652803222 mobile (639) 363-4904 8196173167 msbuild (281) 349-4096 780-230-0746 nginx (661) 859-3205 npx offtopic oop 7737879539 (782) 293-1203 opensource openstack (530) 963-1770 os packages paraller-development patterns-practices performance (262) 634-2889 (210) 230-2688 pip plugins pnp self-soothing (404) 601-8500 336-761-1438 profiler 402-771-6126 (941) 569-7512 (231) 645-3829 pycharm pycon 804-291-5367 8503596159 4234015838 worse-conditioned 6082830516 9029083799 6197940430 3862447611 unacclimatization 2369240963 react 6015633031 925-771-7310 rfc (701) 229-5077 search-engine security 2159144344 9415693473 (218) 929-4122 979-228-4773 3235016222 software-engineering source-control sourcegear-vault (618) 637-8970 sql sql-server sql-server-express sqlalchemy ssh static-site (956) 781-3866 svg tests tgt (409) 996-9110 tornado typescript uapycon ui nonalliterated unit-tests 7573620669 field corn vim virtualenv 2892547841 vitrage 680-888-5460 (507) 609-4214 (218) 682-0352 web-development spring-jointed 7067409877 web_root 8888477988 webroot windows windows-live word-press x32 fewsome subspherical 857-777-5899 hard-acquired xvfb интернет-магазин (409) 994-7847

Recent posts

Keep Your Tests Clean: Refactoring

Run Django Tests in Parallel

(864) 252-1123

Text Editor or IDE?

Right Way to Setup Jenkins in Docker


2019 (56)
2018 (2)
4692088570 (3)
2016 (2)
905-887-2591 (3)
2014 (5)
(715) 722-0615 (17)
(989) 790-8846 (22)
2011 (35)
2010 (25)
8125990290 (35)
866-698-2308 (32)
(503) 916-0546 (2)