Кто-нибудь читал статью, как вам?)
Имхо, какая-то не оч репрезентативная выборка, о чем явно и сказали в комментариях.
В России большое количество компаний, который занимаются ИТ и вносят большой вклад, как на территории СНГ, так и за границей. А список из 15 компаний какой-то куцый.
https://habr.com/ru/company/habr_career/blog/488220/
Имхо, какая-то не оч репрезентативная выборка, о чем явно и сказали в комментариях.
В России большое количество компаний, который занимаются ИТ и вносят большой вклад, как на территории СНГ, так и за границей. А список из 15 компаний какой-то куцый.
https://habr.com/ru/company/habr_career/blog/488220/
Хабр
Лучшие ИТ-работодатели России 2019: ежегодный рейтинг Хабр Карьеры
На Хабр Карьере за 2019 год почти девять тысяч сотрудников поставили оценки более чем 1,5 тысячам организаций. Из них мы оставили 190 — только те, которые получили оценку от 10 и более сотрудников. В...
Из интересных наблюдений.
Нужно запускать задачу раз в полтора часа через Gitlab.
Gitlab поддерживает Cron Syntax, а чтобы все исполнялось минута в минуту, надо подкрутить Sidekiq (https://docs.gitlab.com/ee/user/project/pipelines/schedules.html#advanced-configuration).
И, внезапно, выясняется, что синтаксис крона не позволяет запускать в одном выражении задачу каждые полтора часа. Каждый час, минуту - все ок, вот целый час с половиной (два с половиной и так далее) - нельзя.
В результате нужно создавать 2 выражения для крона. Например, если задачу планируется выполнять с 8 до 20 каждые полтора часа, то это будет выглядеть вот так:
Нужно запускать задачу раз в полтора часа через Gitlab.
Gitlab поддерживает Cron Syntax, а чтобы все исполнялось минута в минуту, надо подкрутить Sidekiq (https://docs.gitlab.com/ee/user/project/pipelines/schedules.html#advanced-configuration).
И, внезапно, выясняется, что синтаксис крона не позволяет запускать в одном выражении задачу каждые полтора часа. Каждый час, минуту - все ок, вот целый час с половиной (два с половиной и так далее) - нельзя.
В результате нужно создавать 2 выражения для крона. Например, если задачу планируется выполнять с 8 до 20 каждые полтора часа, то это будет выглядеть вот так:
0 8,11,14,17,20 * * *можно подставить выражения вот сюда https://crontab.guru/ и увидеть время выполнения задач.
30 9,12,15,18 * * *
Очень бодрый наброс без конкретных аргументов. Основные претензии - ZFS, ifconfig,route vs ip.
https://habr.com/ru/post/490408/
https://habr.com/ru/post/490408/
Хабр
FreeBSD: гораздо лучше GNU/Linux
Сравню FreeBSD с GNU/Linux системами. Всё это исключительно субъективное мнение! Многое это просто мой опыт. Почти 100% всего времени я провожу за компьютером и исключительно Unix системами, примерно...
Немного интересностей из последнего кейса.
Есть набор автотестов, который потреблял определенное количество трафика во время прогона до 74 версии Google Chrome (то что именно до этой версии - выяснилось уже позднее), с 75 версии Google Chrome и выше количество трафика на том же наборе увеличилось в 4-8 раз. Все это прекрасно видно по графикам мониторинга.
Немного об инфраструктуре, где крутятся автотесты. Имеются несколько машин, где развернут продукт Aerokube Selenoid (Docker-контейнер, который отвечает за запуск и остановку браузеров для автотестов. Браузеры запускаются тоже в Docker), а также терминальный сервер, откуда запускаются автотесты.
Сначала была проверена конфигурация Selenoid - в ней не было изменений, потом конфигурация ОС - тоже самое, затем начали запускать браузеры разных версий и проверять с какими параметрами они запускались. Нашли отличающийся параметр
Не помогло. Начали дампить трафик - увидели небольшое число TCP Retransmission (https://networkguru.ru/tcp-retransmission-wireshark-chto-eto/), но это плюс-минус нормальная ситуация в сети, при небольшом количестве подобных пакетов. Следующие шаги заключались в проверке флагов в
Как выяснилось, URL
Есть набор автотестов, который потреблял определенное количество трафика во время прогона до 74 версии Google Chrome (то что именно до этой версии - выяснилось уже позднее), с 75 версии Google Chrome и выше количество трафика на том же наборе увеличилось в 4-8 раз. Все это прекрасно видно по графикам мониторинга.
Немного об инфраструктуре, где крутятся автотесты. Имеются несколько машин, где развернут продукт Aerokube Selenoid (Docker-контейнер, который отвечает за запуск и остановку браузеров для автотестов. Браузеры запускаются тоже в Docker), а также терминальный сервер, откуда запускаются автотесты.
Сначала была проверена конфигурация Selenoid - в ней не было изменений, потом конфигурация ОС - тоже самое, затем начали запускать браузеры разных версий и проверять с какими параметрами они запускались. Нашли отличающийся параметр
--disable-web-resources (Disables the backend service for web resources).Не помогло. Начали дампить трафик - увидели небольшое число TCP Retransmission (https://networkguru.ru/tcp-retransmission-wireshark-chto-eto/), но это плюс-минус нормальная ситуация в сети, при небольшом количестве подобных пакетов. Следующие шаги заключались в проверке флагов в
chrome://flags, проверке issue для selenium, в общем, поиск ошибок в используемых компонентах. Ничего похожего так и не нашли. Затем решили дампить трафик по-умному, сняв дамп на одном автотесте с версией Google Chrome, где объём трафика нормальный, а затем на версии, где большой объём трафика, после этого попакетно сравнить дампы. И это сработало. При анализе было обнаружено, что на новой версии Google Chrome часто происходят POST-запросы вида:POST /wd/hub/session/66f73310d3d71f244a90287d2e823b91b92e436757429a63823aff59b955c485/execute/sync HTTP/1.1
User-Agent: selenium/3.141.59 (java windows)
Content-Type: application/json; charset=utf-8
Content-Length: 48867
Host: 10.84.181.9:4444
Connection: Keep-Alive
Accept-Encoding: gzip
{
"script": здесь тело скрипта на сотни символов
}Как выяснилось, URL
/session/{session id}/execute/sync - это команда Execute Script в WebDriver (https://chromium.googlesource.com/chromium/src.git/+/master/docs/chromedriver_status.md), которая несколько сотен раз (это только в одном автотесте) отправляла JS-файлы на сайт, а в старой версии такого не было. Статус этой команды - «Почти доделано» (даже есть баг, который говорит о проблемах с производительностью и о том, что эта фича будет работать, даже если у вас нет необходимости в её использовании - https://bugs.chromium.org/p/chromedriver/issues/detail?id=2938). И эта команда стала частью стандарта W3C (World Wide Web Consortium), поддержка которого как раз была реализована в Google Chrome 75. Как можно поправить всё быстро - отключить поддержку w3c в браузере (https://stackoverflow.com/questions/56452798/how-to-turn-off-w3c-in-chromedriver-to-address-the-error-unknown-command-cannot), медленно - внимательно изучить новый стандарт и провести корректировки в коде автотестов.networkguru.ru
TCP Retransmissions – что это и как их анализировать с помощью Wireshark?
Как проанализировать повторную передачу TCP пакета TCP Retransmissions с помощью Wireshark? Разбираем примеры! В чем отличия TCP Spurious Retransmission и TCP Fast Retransmission?
GitHub - теперь и на мобильном 😎
https://github.com/mobile?utm_source=announcement&utm_medium=email&utm_campaign=mobileGA
https://github.com/mobile?utm_source=announcement&utm_medium=email&utm_campaign=mobileGA
GitHub
GitHub Mobile
Bring GitHub collaboration tools to your small screens with GitHub Mobile. Sign up for the iOS beta or get on the list for our Android version—and we’ll let you know when your app of choice is ready.
У слерма появилась возможность записаться на теоретический курс по куберу по вечерам бесплатно
https://slurm.io/evening/
https://slurm.io/evening/
slurm.io
Вечерняя школа Слёрм
Системные администраторы и разработчики, осваивайте Kubernetes и другие DevOps-инструменты в Вечерней школе Слёрма!
Вжух, и в виндовом проводнике появится интеграция с WSL
https://blogs.windows.com/windowsexperience/2020/04/08/announcing-windows-10-insider-preview-build-19603/
https://blogs.windows.com/windowsexperience/2020/04/08/announcing-windows-10-insider-preview-build-19603/
Windows Experience Blog
Announcing Windows 10 Insider Preview Build 19603
Hello Windows Insiders, today we’re releasing Windows 10 Insider Preview Build 19603 to Windows Insiders in the Fast ring. You can check out our Windows Insider Program documentation here, including a list of all the new features and updates released in builds…
День Nginx
Как nginx обрабатывает запросы
https://nginx.org/ru/docs/http/request_processing.html
Оптимизация Nginx: параметры sendfile, tcp_nodelay и tcp_nopush
https://blog.debian-help.ru/2014/12/optimizaciya-nginx-parametri-sendfile-tcpnodelay-tcpnopush
NGINX LOCATION
https://rav.pw/nginx-location/
https://nginx.org/ru/docs/http/ngx_http_core_module.html#location
Как nginx обрабатывает запросы
https://nginx.org/ru/docs/http/request_processing.html
Оптимизация Nginx: параметры sendfile, tcp_nodelay и tcp_nopush
https://blog.debian-help.ru/2014/12/optimizaciya-nginx-parametri-sendfile-tcpnodelay-tcpnopush
NGINX LOCATION
https://rav.pw/nginx-location/
https://nginx.org/ru/docs/http/ngx_http_core_module.html#location
blog.debian-help.ru
Оптимизация Nginx: параметры sendfile, tcp_nodelay и tcp_nopush - Debian help
Оптимизация производительности Nginx. Информация о том как работают параметры sendfile, tcp_nodelay и tcp_nopush. Их взаимодействие.
Условия акции: 21—26 апреля, скидка 40% на все бумажные книги по купону — Бумажная книга, скидка 50% на все электронные книги по купону — Электронная книгаhttps://habr.com/ru/company/piter/blog/498278/
Хабр
Издательство Питер. Весенняя распродажа
Привет, Хаброжители! На этой неделе у нас большие скидки. Подробности внутри. В хронологическом порядке представлены книги, вызвавшие интерес читателей за последние 3 мес. Отдельные...
Новый гитлаб подъехал
https://about.gitlab.com/releases/2020/04/22/gitlab-12-10-released/
https://about.gitlab.com/releases/2020/04/22/gitlab-12-10-released/
GitLab
GitLab 12.10 released with Requirements Management and Autoscaling CI on AWS Fargate
GitLab 12.10 released with Requirements Management, Autoscaling CI on AWS Fargate, Issue and Epic health status, and much more!
Если планируете переводить плейбуки Ansible с версии 2.7 на версию 2.8, то эти ссылки могут быть полезными:
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.8.html#gathering-facts
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.8.html#bare-variables-in-conditionals
https://medium.com/@maaaato/i-tried-ansible-lint-quickly-74236cc9ed9e
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.8.html#gathering-facts
https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.8.html#bare-variables-in-conditionals
https://medium.com/@maaaato/i-tried-ansible-lint-quickly-74236cc9ed9e
Medium
I tried Ansible-lint quickly
I know Ansible-lint recently. I tried it right away and I think want to write a blog.Ansible-lint is a sentence structure check tool. By…
Get the full Visual Studio Code experience without leaving GitHub
https://github.com/features/codespaces
https://github.com/features/codespaces
GitHub
GitHub Codespaces
GitHub Codespaces gets you up and coding faster with fully configured, secure cloud development environments native to GitHub.
При обновлении Gitlab узнал, что существуют специальные сервисные учетные записи:
* Ghost User - служит для отображения комментариев и issues для удаленных пользователей (https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33020)
* Gitlab Support Bot - создает issues (https://docs.gitlab.com/ee/user/project/service_desk.html#support-bot-user)
* Gitlab Migration Bot - не нашел никакой информации. Возможно, служит для проведения миграций в БД или иных сущностей
P.S. Подобные учетные записи не учитываются в подсчёте лицензий.
* Ghost User - служит для отображения комментариев и issues для удаленных пользователей (https://gitlab.com/gitlab-org/gitlab-foss/-/issues/33020)
* Gitlab Support Bot - создает issues (https://docs.gitlab.com/ee/user/project/service_desk.html#support-bot-user)
* Gitlab Migration Bot - не нашел никакой информации. Возможно, служит для проведения миграций в БД или иных сущностей
P.S. Подобные учетные записи не учитываются в подсчёте лицензий.
GitLab
Can't delete 'Ghost User' (#33020) · Issues · GitLab.org / GitLab FOSS · GitLab
I'm not sure how, but I can't remove Ghost User, do you know what's wrong ? Also I don't know how, but this user is created automatically.