e0ne's comments

Go 1.18: new features

Published at January 3, 2022 ·  1 min read

While it’s not release yet, it’s just a reminder to myself to not forget come back to it in February and read about these features:

  • Fuzzing library - should be useful for everybody who writes unit-tests. I don’t like tests in Go but this thing could help a lot
  • net/netip package - this is a definitely good thing to have it in a standard library
  • New go get behaviour - nothing critical but the new features should be adopted
  • Generics - I think almost everybody waits for it. They should help to avoid a lot of duplicated code. I hope, it will be at least the so good as in .NET

Official release notes got Go 1.18 could be found here

...

Всё будет Kubernetes

Published at January 2, 2022 ·  2 min read

Лучше поздно, чем никогда, но я решил написать своё мнение про использование K8S. Традиционно, мнение автора может не совпадать с мнением читателей и может быть абсолютно ошибочным.

Я не буду описывать плюсы и минусы Kubernetes в этом посте. Тут не будет никаких технических деталей. Я просто поделюсь своим мнением, по его использованию. Сейчас всё больше и больше людей используют Kubernetes для развертывания всевозможных приложений начиная от статических сайтов, заканчивая запуском драйверов в контейнерах. Первое кажется стрельбой “пушкой по воробьям”, а второе - как, мягко говоря, очень странное использование технологии не так, как изначально задумывалось. Запуск веб-приложение – это, наверное, один из самых распространенных и простых способов использования K8S.

...

2022 Relaunch

Published at January 1, 2022 ·  1 min read

It’s a time to relaunch the blog. I hope it will be a successful blogging year.

I don’t know what exactly topics will be covered, but it should be interesting for sure.

Stay tuned and happy New Year.

...

Everyday Blogging

Published at March 14, 2019 ·  1 min read

After 2.5 months I’m thinking about wrap up the everyday blogging activity. It was an interesting challenge. It helped me to restore a blog. But it’s really hard for me to do such things on a daily basis. I prefer quality instead of quantity. That means I need more time to write more interesting posts. I don’t know how I’ll do it in the future but I hope you’ll get more interesting posts soon.

...

I don't want this CI

Published at March 13, 2019 ·  1 min read

I love CI and I’m sure that it’s a required part of the software development. It helps a lot to test software to find issues as soon, as possible. CI save thousands of person-hours by automatically project testing. It works almost in the background and guides you to the next steps: go forward or step back and fix the issue.

Everything is written above is valid only for good CI. It should not be too noisy. It tesh every change in a automatic way. It’s stupid if you need to run some tests on “CI” manually. It’s not CI. A lot of false-positive jobs makes CI annoying. If there’s a lot of non-voting jobs, it’s not useful at all. You’ll ignore such jobs in the future if they fail on a regular basis. All tests results should show you the current status of a project or a patch. If tests results are not clear, it means that CI or tests should be changed.

...

Why GitHub's pull requests are not good for code review

Published at March 12, 2019 ·  1 min read

I hope many of you at lease once created or received pull requests in GitHub. Usually, before pull request is merged some code review process happens. Even after the last changes, code review functionality in GitHub is not really cool for day to day activities.

I think it’s mostly because of pull requests are not designed for code review. It just allows you to add a few comments to the code. It was designed to allow contributors to propose their patches from fork to the original repository. Usually, in small and maybe in a mid-size project, the code review process is a pretty quick and not frequent activity.

...

The difference between frameworks and libraries

Published at March 11, 2019 ·  2 min read

NOTE: I didn’t google definition either for ‘library’ nor for ‘framework’ for years. I even didn’t read Wikipedia articles during the last 3-5 years. That means that thoughts are my own, so you could disagree with me.

For me, the difference between a library and a framework is in architecture freedom.

A framework provides you a skeleton for your project with some basic architecture. It would be a low-level architecture like ‘how to work with IO’ or a high-level MVC implementation. Each framework provides you a very limited number of solutions for a particular problem. It benefits you in a good structure for each project based on the chosen framework. If you do not with a proposed way to follow, in most cases it leads to a pretty hacky and complicated solution.

...

bat: a cat clone with wings

Published at March 10, 2019 ·  1 min read

Finally switched from cat, less and vim (omg!) for reading files in a console. If you still didn’t try bat it’s the right time to try it. It’s a powerful CLI tool which works like cat+less out of the box, has syntax highlight like vim (honestly, I used vim to view file contents just because it has syntax highlight), supports themes and is configurable, so you can tune it as you want.

...

webpack: devserver proxy configuration

Published at March 9, 2019 ·  1 min read

Webpack’s devserver is a very helpful tool. It helps a lot by setting web server for application during development.

Usually, you need to communicate with your API (backend) from the client-side via some URL. To avoid cross-site scripting and CORS configuration on your backend or web server(I hope, it’s Nginx:)), you can use a built-in proxy server in the webpack devserver.

You use it you need just to update webpack config or vue.conf.js if you use vue-cli with such options:

...

UUIDs usage in /etc/fstab

Published at March 8, 2019 ·  1 min read

/etc/fstab is a config file to store static information about file system. It’s a native place to add disks information you would like to mount automatically on each system start. It has a pretty simple format:

[device] [mountpoint]    [filesystem]    [options]   [dump]  [fscheck pass count]

I used such format for the years and it worked before:

/dev/sdb1       /opt/media       ext4    defaults        0       0

I don’t know how many people do the same. I think this is the most used way to mount partitions during the startup. The main issue is that you have to specify the correct device name like /dev/sdb1 for each partition. It means you have to have the same disk names even after the system upgrade or just after pulling out and plugin again your hard drive or SSD.

...

Tags

.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 k8s kharkivpy kiss kombu kubernetes 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 p'n'p packages paraller development patterns & practices performance php pika pip plugins 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 todo 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 интернет-магазин книги

Recent posts

Go 1.18: new features

Всё будет Kubernetes

2022 Relaunch

Everyday Blogging

I don't want this CI


Archives

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