e0ne's comments

Benefits of the Automation

Published at January 23, 2019 ·  1 min read

Nobody will argue that Automation is great. I hope it’s obvious for everybody. Even simple automation which saves you a few minutes every day helps a lot to not do some boring routing things. Since I created some simple scripts to publish new blog posts, create containers or virtual machines for required environments, it saves me a lot of time to do something interesting or read about new technologies which I can or even cannot bring to my current projects....

Flask WEB_ROOT Support

Published at January 22, 2019 ·  1 min read

Impressed by OpenStack Horizon WEBROOT config option I decided to add the same for my Flask-based project. TBH, I was sure that it’s an option from Django. It works great and it’s extremely useful. From the Horizon’s documentation: WEBROOT - Specifies the location where the access to the dashboard is configured in the web server. For example, if you’re accessing the Dashboard via https:///dashboard, you would set thisto ”/dashboard/”. It’s not needed by everybody, but sometimes it’s good to have something like it....

KISS Principle in a Practice

Published at January 21, 2019 ·  1 min read

I hope everybody is familiar with “Keep It Simple, Stupid” (KISS) principle. If not, it’s a good time to read about it. It a software engineering, it means that you need to keep your software as simple as possible. Your software architecture should do things that are required at this moment. Please, do not do premature optimization just because you think it’s a good idea. You don’t need tons of patterns implemented and dozens of layers in your software on early stages....

Personal Tests Anti Rating

Published at January 20, 2019 ·  1 min read

Here is my personal test anti-rating. If I see something from this list, for me it means that the testing process on this project is not ideal. 5. You can’t run tests on your development environment It depends on a project ad kind of tests, but you should be able to run unit tests at least on your development environment. Otherwise, you’ll waste your time and CI resources waiting for tests results...

Docker Image Collection

Published at January 19, 2019 ·  1 min read

NOTE: There is a new format for my posts. Something like really short reviews. I call it ‘notes’. I’ll publish such posts time to time to share something great with you and to not lost links to them. Somebody likes everything in Docker/container principle, somebody doesn’t. I like this idea more and more each day. I even think that I started looking into the containers too late. Nevertheless, I move a lot of services to Docker just because it’s easier than having 10-15-20+ repos in my apt....

Not a DNS Server for Libvirt

Published at January 18, 2019 ·  2 min read

Sometimes I’m too lazy to repeat the same task so I do some automation to make my life easier. Unfortunately, I don’t have enough time to do it well each time. That’s why I prefer ‘good enough’ way. I implement something good enough for me and refactor it once I have time. I use virtual machines on my desktop a lot. Usually, I have several of them up and running. I don’t like to remember an IP address for each of them, that’s why I prefer to use hostnames....

Diskimage-builder in Docker

Published at January 17, 2019 ·  1 min read

diskimage-builder is a tool for automatically building customized operating-system images for use in clouds and other environments. Unfortunately, I can’t do everything in Docker so I have to use VMs a lot. diskimage-builder helps me a lot to build basic VM images with pre-installed packages, my SSH key, etc. Since I try to have my development environment as clean, as possible I do not install additional packages on my desktop. Any Python package I install in the virtualenv....

Everything as a Code

Published at January 16, 2019 ·  2 min read

Infrastructure as a code… I hear about it during at least last 5-7 years. There are a lot of activities in each company (I hope) to introduce configuration management like Ansible, Puppet, Chef, etc to achieve Continuous Integration and Continuous Deployment(Delivery) aka CI/CD. I saw a lot of successful implementations for CI/CD for small and mid-size projects. It’s harder to introduce full automation on big projects but it’s absolutely doable....

Vue.js, global variables and TypeScript

Published at January 15, 2019 ·  2 min read

It’s pretty easy to pass some environment variable to Vue.js application using webpack.DefinePlugin. You just need to have something like a sample below in your webpack.config.js: var webpack = require('webpack') module.exports = { // ... plugins: [ // ... new webpack.DefinePlugin({ 'BUILD': JSON.stringify(0.0.1') }) ] } It’s a common way to pass some environment variable into your JavaScript application. Technically, webpack.DefinePlugin injects a global variable into your JavaScript application. You may need it for some feature flags or some global configuration....

Front End Development Is Too Complicated

Published at January 14, 2019 ·  2 min read

It becomes more and more complicated. Single Page Applications (SPA) are a great thing. I’m pretty sure that all users like it. I don’t know if many developers like it or not. Personally, I think that its development is too complicated. Maybe it’s not so complicated as I think if you are Front-end Engineer or even full-stack JavaScript Developer. But it becomes extremely hard if you need to integrate your SPA with Python-based API with is working behind Nginx in Docker or Kubernetes....


.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms fstab gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx kharkivpy kiss kombu kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os macos mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic oop open-source open-xml opensource openstack openvswitch os packages paraller-development patterns-practices performance php pika pip plugins pnp podcast popup postgresql profiler project protocols proxy pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh static-site sublimetext svg tests tgt tipfy tornado typescript uapycon ui uneta unit-tests upgrades usability vim virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги


2019 (73)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)