В последние несколько дней заметил какую-то необычную активность на сайте. Заметно выросло количество посетителей по сравнению с прошлыми неделями. Решил глянуть, откуда и куда идёт трафик. Оказалось, что из поисковиков на небольшую заметку про чат-сервер Revolt.
Недавно заблокировали Discord. Я им никогда не пользовался, так что не столкнулся лично с проблемами. Не погружался в эту тему. Судя по всему, Revolt предлагают как альтернативу. У меня совсем короткая заметка про него. Чат я посмотрел в своё время и благополучно забыл про него. Даже не вспоминал. А он, судя по всему, набрал популярность. А в условиях блокировки Discord, большую популярность.
Посмотрел на него ещё раз. Кратко напомню, что это open source проект, который разрабатывается под соусом замены Discord. Написан на Rust, хранит базу в MongoDB, для файлов использует S3. Есть API, веб версия клиента, приложение на десктопы.
Серверная часть упакована в Docker Compose. Установить у себя так:
В .env и Revolt.toml надо имя домена указать. Для теста можно IP адрес использовать. Не знаю, возникнет ли у вас ошибка, когда будете пробовать. Я когда запускал, получал ошибку монтирования Revolt.toml. Надо композ немного подправить. Буквально вчера принят PR на этот счёт. Надо в
на:
После этого проект успешно запустится. Правда зарегистрироваться на своём сервере у меня не получилось. Всё время получал ошибку NETWORKERROR. Бегло не получилось решить проблему. В логах ошибок не было, в репозитории тоже ничего не нашёл. Копать не стал. Подозреваю, это из-за того, что вместо доменного имени использовал IP.
Попробовал зарегистрироваться на их публичных серверах. Не смог. То ли у них сломалось что-то от наплыва пользователей из РФ, то ли специально закрыли регистрацию. Получал ошибку, что не прошёл каптчу, хотя там никакой каптчи нет. Потом вспомнил, что у меня есть учётка. Под ней зашёл нормально.
На вид чат как чат, ничем особо не отличается от всех остальных подобных. Похож на Rocket.Chat. Из-за чего такой ажиотаж вокруг именно Revolt, мне не понятно. Если знаете, напишите, пожалуйста. Можно в том же Telegram общаться. Все те же возможности, что и в Discord и даже больше. Плюс, быстрое, лёгкое приложение для компьютеров и смартфонов.
Хотя я уже не уверен, что Telegram не заблокируют. Там наверху блокираторы с обоих сторон вразнос пошли. Разделяют людей на два противоположных лагеря, минимизируя между ними контакты. Думаю, все понимают, для чего это делается:
🪖 💣 💥 😥
⇨ Сайт / Исходники
#chat
Недавно заблокировали Discord. Я им никогда не пользовался, так что не столкнулся лично с проблемами. Не погружался в эту тему. Судя по всему, Revolt предлагают как альтернативу. У меня совсем короткая заметка про него. Чат я посмотрел в своё время и благополучно забыл про него. Даже не вспоминал. А он, судя по всему, набрал популярность. А в условиях блокировки Discord, большую популярность.
Посмотрел на него ещё раз. Кратко напомню, что это open source проект, который разрабатывается под соусом замены Discord. Написан на Rust, хранит базу в MongoDB, для файлов использует S3. Есть API, веб версия клиента, приложение на десктопы.
Серверная часть упакована в Docker Compose. Установить у себя так:
# git clone https://github.com/revoltchat/self-hosted revolt
# cd revolt
# cp .env.example .env
# wget -O Revolt.toml https://raw.githubusercontent.com/revoltchat/backend/main/crates/core/config/Revolt.toml
# docker compose up
В .env и Revolt.toml надо имя домена указать. Для теста можно IP адрес использовать. Не знаю, возникнет ли у вас ошибка, когда будете пробовать. Я когда запускал, получал ошибку монтирования Revolt.toml. Надо композ немного подправить. Буквально вчера принят PR на этот счёт. Надо в
compose.yml
заменить:- ./Revolt.toml:/Revolt.toml
на:
- type: bind
source: ./Revolt.toml
target: /Revolt.toml
После этого проект успешно запустится. Правда зарегистрироваться на своём сервере у меня не получилось. Всё время получал ошибку NETWORKERROR. Бегло не получилось решить проблему. В логах ошибок не было, в репозитории тоже ничего не нашёл. Копать не стал. Подозреваю, это из-за того, что вместо доменного имени использовал IP.
Попробовал зарегистрироваться на их публичных серверах. Не смог. То ли у них сломалось что-то от наплыва пользователей из РФ, то ли специально закрыли регистрацию. Получал ошибку, что не прошёл каптчу, хотя там никакой каптчи нет. Потом вспомнил, что у меня есть учётка. Под ней зашёл нормально.
На вид чат как чат, ничем особо не отличается от всех остальных подобных. Похож на Rocket.Chat. Из-за чего такой ажиотаж вокруг именно Revolt, мне не понятно. Если знаете, напишите, пожалуйста. Можно в том же Telegram общаться. Все те же возможности, что и в Discord и даже больше. Плюс, быстрое, лёгкое приложение для компьютеров и смартфонов.
Хотя я уже не уверен, что Telegram не заблокируют. Там наверху блокираторы с обоих сторон вразнос пошли. Разделяют людей на два противоположных лагеря, минимизируя между ними контакты. Думаю, все понимают, для чего это делается:
🪖 💣 💥 😥
⇨ Сайт / Исходники
#chat
👍71👎6
Для подключения по SFTP, SCP или S3 в Windows я использую бесплатную программу WinSCP. Не раз об этом упоминал в разных заметках. Эта программа умеет работать в консольном режиме, плюс поддерживает выполнение команд, переданных через отдельный файл. То есть она поддерживает автоматизацию с использованием простого и интуитивного скриптового языка.
Покажу на простом и наглядном примере передачу файла с Linux машины по SSH на Windows, используя WinSCP и скрипт. Команду на копирование файла мы будем запускать с Windows. У WinSCP есть портабельная версия, так что можно просто скачать и распаковать в какую-нибудь директорию. Оттуда запускать в консольном режиме.
Нам понадобится публичный ключ, с помощью которого мы будем проходить аутентификацию на удалённом сервере, скрипт с набором команд для выполнения после подключения и сам файл, который будем передавать. Сразу уточню, что WinSCP не принимает публичные ключи, сформированные с помощью ssh-keygen. Ключ нужно будет сделать в формате PuTTY, с помощью PuTTYgen. Не понимаю, почему у putty свой формат ключей. Всегда это доставляло только неудобства.
Содержимое скрипта для получения файла с удалённого сервера:
Для того, чтобы быстро узнать hostkey, можно запустить без него. Тогда в консоли увидите ошибку, что ключ указанного сервера не добавлен. Копируете его и добавляете.
Запускаем winscp с этим скриптом так:
Есть testfile.txt уже есть, он будет перезаписан без лишних вопросов и уведомлений. Подобным образом можно очень быстро организовать необходимую автоматизацию. Например, в этом же скрипте можно скачанный файл передать на другой сервер по sftp с аутентификацией по паролю. Нужно добавить пару строк в скрипт:
На сайте WinSCP есть описание работы скриптов, список команд и готовые примеры:
◽️Общее описание скриптов и автоматизации
◽️Команды
◽️Примеры скриптов
Многие вещи с помощью WinSCP будет сделать быстрее и проще, чем в том же bash или других скриптовых языках. Например, забрать самый свежий файл из директории можно вот так:
Я на баше подобное писал, там сильно сложнее. Надо было подключиться по ssh, там выполнить команду с find с параметрами поиска, вывод результата передать в scp. Делал тут когда-то заметку об этом.
Так выглядит проверка существования файла с помощью bat и winscp:
Все действия можно логировать с помощью ключа /log=myscript.log:
Удобная штука, если у вас в хозяйстве есть сервера или рабочие машины с Windows. Многие вещи с WinSCP можно решить относительно просто.
#windows #scp #sftp
Покажу на простом и наглядном примере передачу файла с Linux машины по SSH на Windows, используя WinSCP и скрипт. Команду на копирование файла мы будем запускать с Windows. У WinSCP есть портабельная версия, так что можно просто скачать и распаковать в какую-нибудь директорию. Оттуда запускать в консольном режиме.
Нам понадобится публичный ключ, с помощью которого мы будем проходить аутентификацию на удалённом сервере, скрипт с набором команд для выполнения после подключения и сам файл, который будем передавать. Сразу уточню, что WinSCP не принимает публичные ключи, сформированные с помощью ssh-keygen. Ключ нужно будет сделать в формате PuTTY, с помощью PuTTYgen. Не понимаю, почему у putty свой формат ключей. Всегда это доставляло только неудобства.
Содержимое скрипта для получения файла с удалённого сервера:
# Подключаемся
open scp://[email protected]/ -privatekey=id_rsa -hostkey="ssh-ed25519 255 s/YHwFuEH3Lq9dGYnBfuELZYkAw4T5umNOPPPFUPCpY"
# Переходим в директорию
cd /home/zerox
# Качаем файл
get testfile.txt "C:\Users\Zerox\Documents\tmp\"
# Отключаемся и выходим
close
exit
Для того, чтобы быстро узнать hostkey, можно запустить без него. Тогда в консоли увидите ошибку, что ключ указанного сервера не добавлен. Копируете его и добавляете.
Запускаем winscp с этим скриптом так:
>winscp.com /ini=nul /script=script.txt
Есть testfile.txt уже есть, он будет перезаписан без лишних вопросов и уведомлений. Подобным образом можно очень быстро организовать необходимую автоматизацию. Например, в этом же скрипте можно скачанный файл передать на другой сервер по sftp с аутентификацией по паролю. Нужно добавить пару строк в скрипт:
open sftp://user:[email protected]/
put "C:\Users\Zerox\Documents\tmp\testfile.txt" "/mnt/backup"
На сайте WinSCP есть описание работы скриптов, список команд и готовые примеры:
◽️Общее описание скриптов и автоматизации
◽️Команды
◽️Примеры скриптов
Многие вещи с помощью WinSCP будет сделать быстрее и проще, чем в том же bash или других скриптовых языках. Например, забрать самый свежий файл из директории можно вот так:
get -latest /home/user/* c:\downloaded\
Я на баше подобное писал, там сильно сложнее. Надо было подключиться по ssh, там выполнить команду с find с параметрами поиска, вывод результата передать в scp. Делал тут когда-то заметку об этом.
Так выглядит проверка существования файла с помощью bat и winscp:
@echo off
set REMOTE_PATH=/home/user/test.txt
winscp.com /command "open mysession" "stat %REMOTE_PATH%" "exit"
if %ERRORLEVEL% neq 0 goto error
echo File %REMOTE_PATH% exists
rem Do something
exit /b 0
:error
echo Error or file %REMOTE_PATH% not exists
exit /b 1
Все действия можно логировать с помощью ключа /log=myscript.log:
> winscp.com /ini=nul /log=myscript.log /script=myscript.txt
Удобная штука, если у вас в хозяйстве есть сервера или рабочие машины с Windows. Многие вещи с WinSCP можно решить относительно просто.
#windows #scp #sftp
👍99👎3
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Собрал небольшую подборку видео на тему тестировщиков и разработчиков. Она по популярности и насыщенностью приколами примерно такая же, как сисадмины и пользователи. Пару видео отсюда уже были ранее на канале, другие хоть и баяны, но лишний раз пересмотреть всё равно интересно.
#юмор
#юмор
3👍134👎5
🎓 У меня было много публикаций с бесплатными курсами на обучающей площадке Stepik. Вообще, это неплохая платформа для неспешного фонового обучения. Там много хороших бесплатных материалов, а платные курсы стоят недорого. С их помощью можно захватить какую-то конкретную тематику. Она именно под это заточена. Полноценное обучение по какой-то специальности там не очень удобно проводить, а вот отдельные темы - самое то.
Список прошлых публикаций с бесплатными курсами на Stepik:
- Курсы на тему основ Linux
- Программирование на Python
- Курсы по SQL и Golang
Ещё один хороший курс про Docker в копилку:
⇨ Docker для начинающих + практический опыт
Мне его посоветовал читатель. Автор курса, если я правильно понял, основатель небольшого обучающего портала с несколькими курсами, которые он написал сам, будучи техническим специалистом. На Степике есть ещё бесплатный курс от него:
⇨ Ansible для начинающих + практический опыт
И несколько платных за небольшие деньги. Попробуйте, может это будет хорошим вариантом научиться чему-то новому за 5000 - 8000 т. р. У курсов хорошие рейтинги и отзывы. В сравнении с курсами от популярных он-лайн школ это почти бесплатно. Дешевле в 10-20 раз.
#обучение #бесплатно
Список прошлых публикаций с бесплатными курсами на Stepik:
- Курсы на тему основ Linux
- Программирование на Python
- Курсы по SQL и Golang
Ещё один хороший курс про Docker в копилку:
⇨ Docker для начинающих + практический опыт
Мне его посоветовал читатель. Автор курса, если я правильно понял, основатель небольшого обучающего портала с несколькими курсами, которые он написал сам, будучи техническим специалистом. На Степике есть ещё бесплатный курс от него:
⇨ Ansible для начинающих + практический опыт
И несколько платных за небольшие деньги. Попробуйте, может это будет хорошим вариантом научиться чему-то новому за 5000 - 8000 т. р. У курсов хорошие рейтинги и отзывы. В сравнении с курсами от популярных он-лайн школ это почти бесплатно. Дешевле в 10-20 раз.
#обучение #бесплатно
👍117👎5
На прошлой неделе была рассылка от Zabbix. В ней анонсировали запуск Zabbix Cloud. Я сразу предположил, что они запустят свой облачный сервис после недавней замены лицензии GPL на AGPL. Так и случилось. Решил проверить, что это такое и как работает.
После регистрации ждал примерно день, пока активируют учётную запись. Судя по всему, вручную это делают. После подтверждения на email создания личного кабинета, зашёл в него и активировал trial на 5 дней. Выбрал ноду во Франкфурте и развернул её.
По своей сути я получил обычный Zabbix Server, развёрнутый на серверах облака. Мне дали адрес веб интерфейса, логин, пароль. Внутри самый обычный Zabbix Server, к которому я могу подключать агентов. Он ничем не отличается от такого же, который я могу развернуть на арендованном сервере.
Каких-то особых фишек и возможностей не увидел, кроме автоматического обновления до новых версий сервера. Причём отказаться от такого обновления вы не сможете. Автоматические бэкапы обещают раз в неделю. Чаще можно делать вручную через веб панель управления нодой. Выгрузить свой бэкап за пределы облака нельзя, как и загрузить туда версию своего сервера. Восстановление из бэкапа только там. Наверняка есть какой-то тюнинг СУБД, чтобы всё это работало побыстрее, чем дефолтная установка.
В таком виде вообще не увидел никакого смысла в saas. Развернуть голый Zabbix Server - дело 10-ти минут. Возможно в будущем появятся какие-то дополнительные возможности и удобства. Например, какой-то механизм автоматического обновления шаблонов. Это прям тяжёлая для меня тема, когда нужно обновить стандартный шаблон на новую версию. Нет простого способа это сделать без удаления старого, очистки всех метрик и добавления нового шаблона. Не хватает какого-то механизма сравнения и склеивания шаблонов для обновления до свежей версии.
Вторая идея - преднастроенные агенты. Скачиваешь из веб интерфейса сервера дистрибутив агента с уже зашитыми настройками подключения к серверу и некоторых параметров. По идее это нетрудно сделать, а удобство развёртывания сильно повышается. Не надо свои инструменты придумывать для быстрой раскатки агентов с подстановкой нужных конфигов.
#zabbix
После регистрации ждал примерно день, пока активируют учётную запись. Судя по всему, вручную это делают. После подтверждения на email создания личного кабинета, зашёл в него и активировал trial на 5 дней. Выбрал ноду во Франкфурте и развернул её.
По своей сути я получил обычный Zabbix Server, развёрнутый на серверах облака. Мне дали адрес веб интерфейса, логин, пароль. Внутри самый обычный Zabbix Server, к которому я могу подключать агентов. Он ничем не отличается от такого же, который я могу развернуть на арендованном сервере.
Каких-то особых фишек и возможностей не увидел, кроме автоматического обновления до новых версий сервера. Причём отказаться от такого обновления вы не сможете. Автоматические бэкапы обещают раз в неделю. Чаще можно делать вручную через веб панель управления нодой. Выгрузить свой бэкап за пределы облака нельзя, как и загрузить туда версию своего сервера. Восстановление из бэкапа только там. Наверняка есть какой-то тюнинг СУБД, чтобы всё это работало побыстрее, чем дефолтная установка.
В таком виде вообще не увидел никакого смысла в saas. Развернуть голый Zabbix Server - дело 10-ти минут. Возможно в будущем появятся какие-то дополнительные возможности и удобства. Например, какой-то механизм автоматического обновления шаблонов. Это прям тяжёлая для меня тема, когда нужно обновить стандартный шаблон на новую версию. Нет простого способа это сделать без удаления старого, очистки всех метрик и добавления нового шаблона. Не хватает какого-то механизма сравнения и склеивания шаблонов для обновления до свежей версии.
Вторая идея - преднастроенные агенты. Скачиваешь из веб интерфейса сервера дистрибутив агента с уже зашитыми настройками подключения к серверу и некоторых параметров. По идее это нетрудно сделать, а удобство развёртывания сильно повышается. Не надо свои инструменты придумывать для быстрой раскатки агентов с подстановкой нужных конфигов.
#zabbix
👍70👎3
Для автоматизации установки и настройки виртуальных машин в Proxmox я рассказывал про Cloud-Init. С помощью этой технологии можно создать преднастроенный образ, который включает в себя базовые настройки системы, такие как сеть, пользователи, установка пакетов и некоторые другие.
Если хочется пойти дальше в автоматизации и развернуть сразу набор виртуальных машин определённой конфигурации, то для этого можно воспользоваться Terraform. Для Proxmox есть провайдер (terraform registry доступ через vpn, github). Это самый популярный. Есть ещё один, который очень активно развивается и допиливается - terraform registry и github.
Кратко поясню, для тех, кто не знает, что такое Terraform и для чего он может быть полезен в связке с Proxmox. Terraform был разработан как решение по управлению в стиле IaC (Infrastructure as Code, IaC) - инфраструктура как код. В первую очередь это касается управления ресурсами облачных провайдеров. Вы описываете в Terraform, что хотите получить на выходе, запускаете шаблон и получаете набор виртуальных машин, сетей и прочих облачных ресурсов. Причём вы можете оперативно как развернуть инфраструктуру, так и потушить. Это актуально для динамических сред с плавающей нагрузкой. Часто Terraform работает в связке с Ansible. Первый разворачивает инфраструктуру, второй её настраивает.
Proxmox не является инструментом для построения динамичных облачных инфраструктур. Его область применения - одиночные гипервизоры или небольшие кластеры на несколько серверов. По моим представлениям в проде на базе Proxmox нет большой нужды использовать Terraform. Он может быть актуален для каких-то тестовых задач как по изучению самого Terraform, так и для разворачивания тестового окружения в Proxmox. Можно разом развернуть какую-то лабораторию и потом так же в одно действие от неё избавиться.
Использование Terraform с Proxmox выглядит примерно следующим образом. Это не будет готовой инструкцией, так как в формат заметки не уместить. Все подробности без проблем гуглятся, так как тема живая. В целом, Terraform относительно простой инструмент. Чтобы начать им пользоваться достаточно небольшой инструкции или видео. Можно брать готовые шаблоны из статей или документации и править под себя.
1️⃣ Готовится образ с использованием Cloud-Init, на базе которого будет разворачиваться инфраструктура.
2️⃣ Создаётся отдельный пользователь и токен для него, который будет использовать Terraform.
3️⃣ Устанавливается Terraform или Opentofu (форк).
4️⃣ Создаётся конфигурация с провайдером и планон разворачивания инфраструктуры. Будут 2 файла: provider.tf и vm-debian12.tf. Содержимое прикреплю следующим сообщением. По желанию можно все переменные вынести в отдельный файл.
Пример конфигурации можно посмотреть в репозитории. После подготовки конфигурации, её можно проверить:
Посмотреть, что будет создано:
Если всё ОК, то создаём описанное:
Когда всё это будет не нужно, удаляем:
В моём примере была одна виртуальная машина. По аналогии, вы можете описать любое необходимое количество. Поместить их в одну или разные сети, посадить в разные хранилища и т.д.
Как я уже говорил, инструмент относительно простой. Я быстро во всём разобрался и протестировал. Единственный неприятный нюанс - репозитории terraform и opentofu заблокированы для РФ. Пришлось трафик через VPN пускать. У меня всё автоматизировано для этого. Отправил домены registry.terraform.io, apt.releases.hashicorp.com и registry.opentofu.org через VPN на шлюзе.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox #iac #terraform
Если хочется пойти дальше в автоматизации и развернуть сразу набор виртуальных машин определённой конфигурации, то для этого можно воспользоваться Terraform. Для Proxmox есть провайдер (terraform registry доступ через vpn, github). Это самый популярный. Есть ещё один, который очень активно развивается и допиливается - terraform registry и github.
Кратко поясню, для тех, кто не знает, что такое Terraform и для чего он может быть полезен в связке с Proxmox. Terraform был разработан как решение по управлению в стиле IaC (Infrastructure as Code, IaC) - инфраструктура как код. В первую очередь это касается управления ресурсами облачных провайдеров. Вы описываете в Terraform, что хотите получить на выходе, запускаете шаблон и получаете набор виртуальных машин, сетей и прочих облачных ресурсов. Причём вы можете оперативно как развернуть инфраструктуру, так и потушить. Это актуально для динамических сред с плавающей нагрузкой. Часто Terraform работает в связке с Ansible. Первый разворачивает инфраструктуру, второй её настраивает.
Proxmox не является инструментом для построения динамичных облачных инфраструктур. Его область применения - одиночные гипервизоры или небольшие кластеры на несколько серверов. По моим представлениям в проде на базе Proxmox нет большой нужды использовать Terraform. Он может быть актуален для каких-то тестовых задач как по изучению самого Terraform, так и для разворачивания тестового окружения в Proxmox. Можно разом развернуть какую-то лабораторию и потом так же в одно действие от неё избавиться.
Использование Terraform с Proxmox выглядит примерно следующим образом. Это не будет готовой инструкцией, так как в формат заметки не уместить. Все подробности без проблем гуглятся, так как тема живая. В целом, Terraform относительно простой инструмент. Чтобы начать им пользоваться достаточно небольшой инструкции или видео. Можно брать готовые шаблоны из статей или документации и править под себя.
Пример конфигурации можно посмотреть в репозитории. После подготовки конфигурации, её можно проверить:
# terraform init
# terraform validate
Посмотреть, что будет создано:
# terraform plan
Если всё ОК, то создаём описанное:
# terraform apply
Когда всё это будет не нужно, удаляем:
# terraform destroy
В моём примере была одна виртуальная машина. По аналогии, вы можете описать любое необходимое количество. Поместить их в одну или разные сети, посадить в разные хранилища и т.д.
Как я уже говорил, инструмент относительно простой. Я быстро во всём разобрался и протестировал. Единственный неприятный нюанс - репозитории terraform и opentofu заблокированы для РФ. Пришлось трафик через VPN пускать. У меня всё автоматизировано для этого. Отправил домены registry.terraform.io, apt.releases.hashicorp.com и registry.opentofu.org через VPN на шлюзе.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox #iac #terraform
Please open Telegram to view this post
VIEW IN TELEGRAM
👍138👎6
С уходом Atlassian с рынка РФ для некоторых компаний возникла масштабная задача по переходу на какие-то другие продукты в качестве замены Jira, Confluence, кому-то возможно и Trello. У меня, кстати, последний до их пор работает. Когда-то давно поменял email на гугловский и спокойно пользуюсь по сей день.
Так вот по поводу перехода. В настоящий момент эту тему особо не обсуждают, так как пик замены пришёлся на 2022 и 2023 год. Сейчас уже всё устаканилось. В качестве замены есть вариант использовать китайский продукт ZenTao. У него есть встроенный инструмент для автоматического импорта данных из Jira. Про него не очень много информации, но я нашёл отзыв реального человека, где он дал положительную оценку продукту после годового использования. У ZenTao есть вполне функциональная open source версия, так что я решил написать про него. Возможно кому-то это будет полезно. На первый взгляд продукт выглядит неплохо.
В рунете информации о ZanTao очень мало. В основном это материалы от компании GlowByte, которая занимается продажами продукта в РФ. Ссылки на статьи:
⇨ Что такое ZenTao и как установить его на Windows за 5 минут
⇨ Как устроен модуль «Документы» в ZenTao и может ли он заменить Confluence от Atlassian
⇨ Дзен в управлении продуктами
А вот материал от неизвестного мне блогера, который написал свой отзыв после внедрения и использования продукта в течении года:
⇨ Система управления проектами ZenTao
Статья не очень большая, но информативная. Там самая суть, картинки из реальной рабочей системы и вывод после года использования:
Спустя почти год использования системы уже можно говорит о том, что мнение о системе ZenTao сложилось. Даже в бесплатной версии система управления проектами ZenTao – это тот продукт, на который стоит обратить внимание. Особенно с учетом того, что его прямые конкуренты в виде MS Project, JIRA и Trello сейчас не так легко приобрести (если вообще возможно). А с учетом стоимости и получаемого набора функций в платных версий, на мой взгляд, получается очень гуманная цена.
В ходе эксплуатации системы мы уже несколько раз устанавливали обновления, т.е. продукт активно развивается. Причем, после каждого обновления мы находили какие-то интересные опции. Например, рабочие процессы, новый раздел для обучения (Academy) и т.д.
Отдельно хочу отметить стабильность работы системы – за весь период эксплуатации не было ни одного внепланового простоя системы. Это прям очень порадовало.
Порекомендовал бы я систему ZenTao в качестве системы управления проектами? Несомненно. Хотя бы попробуйте поработать с бесплатной версией программы. И тогда вы точно сможете понять – подходит ли эта система именно вашей методологии работы с проектами или нет.
Посмотреть на ZenTao можно либо в публичном Demo, либо развернуть у себя. Есть готовые установщики под Windows и Linux, а также Docker версия. Хотел воспользоваться последней, но там всё описание на китайском. Не стал разбираться. Запустил версию под Linux:
В общем-то и всё. Приложение написано на php + mysql. Рабочий стек: Apache, PHP, MariaDB. Разработчики как-то упаковали весь стек в архив и запускают его через bash скрипт. Можно идти в веб интерфейс по IP адресу сервера и смотреть.
Различия между open source и платными редакциями можно посмотреть на отдельной странице. Приятно, что в бесплатной версии оставлена интеграция с git, gitlab, jenkins, возможность настроить ci/cd и другие штуки. Весь раздел DevOps представлен. Так же оставлена возможность вести базовую документацию. LDAP, как обычно, только в платных редакциях.
Бесплатная редакция на русском языке отсутствует, есть английский. А вот платные переведены на русский язык.
⇨ 🌐 Сайт /4️⃣ Исходники / 📺 Русскоязычная группа в TG
Бесплатные аналоги ZenTao можете посмотреть по соответствующему тэгу снизу.
#itsm #управление_проектами
Так вот по поводу перехода. В настоящий момент эту тему особо не обсуждают, так как пик замены пришёлся на 2022 и 2023 год. Сейчас уже всё устаканилось. В качестве замены есть вариант использовать китайский продукт ZenTao. У него есть встроенный инструмент для автоматического импорта данных из Jira. Про него не очень много информации, но я нашёл отзыв реального человека, где он дал положительную оценку продукту после годового использования. У ZenTao есть вполне функциональная open source версия, так что я решил написать про него. Возможно кому-то это будет полезно. На первый взгляд продукт выглядит неплохо.
В рунете информации о ZanTao очень мало. В основном это материалы от компании GlowByte, которая занимается продажами продукта в РФ. Ссылки на статьи:
⇨ Что такое ZenTao и как установить его на Windows за 5 минут
⇨ Как устроен модуль «Документы» в ZenTao и может ли он заменить Confluence от Atlassian
⇨ Дзен в управлении продуктами
А вот материал от неизвестного мне блогера, который написал свой отзыв после внедрения и использования продукта в течении года:
⇨ Система управления проектами ZenTao
Статья не очень большая, но информативная. Там самая суть, картинки из реальной рабочей системы и вывод после года использования:
Спустя почти год использования системы уже можно говорит о том, что мнение о системе ZenTao сложилось. Даже в бесплатной версии система управления проектами ZenTao – это тот продукт, на который стоит обратить внимание. Особенно с учетом того, что его прямые конкуренты в виде MS Project, JIRA и Trello сейчас не так легко приобрести (если вообще возможно). А с учетом стоимости и получаемого набора функций в платных версий, на мой взгляд, получается очень гуманная цена.
В ходе эксплуатации системы мы уже несколько раз устанавливали обновления, т.е. продукт активно развивается. Причем, после каждого обновления мы находили какие-то интересные опции. Например, рабочие процессы, новый раздел для обучения (Academy) и т.д.
Отдельно хочу отметить стабильность работы системы – за весь период эксплуатации не было ни одного внепланового простоя системы. Это прям очень порадовало.
Порекомендовал бы я систему ZenTao в качестве системы управления проектами? Несомненно. Хотя бы попробуйте поработать с бесплатной версией программы. И тогда вы точно сможете понять – подходит ли эта система именно вашей методологии работы с проектами или нет.
Посмотреть на ZenTao можно либо в публичном Demo, либо развернуть у себя. Есть готовые установщики под Windows и Linux, а также Docker версия. Хотел воспользоваться последней, но там всё описание на китайском. Не стал разбираться. Запустил версию под Linux:
# wget https://www.zentao.pm/dl/zentao/20.6/ZenTaoALM-20.6-zbox_amd64.tar.gz
# tar -zxvf ZenTaoALM-20.6-zbox_amd64.tar.gz -C /opt
# /opt/zbox/zbox start
В общем-то и всё. Приложение написано на php + mysql. Рабочий стек: Apache, PHP, MariaDB. Разработчики как-то упаковали весь стек в архив и запускают его через bash скрипт. Можно идти в веб интерфейс по IP адресу сервера и смотреть.
Различия между open source и платными редакциями можно посмотреть на отдельной странице. Приятно, что в бесплатной версии оставлена интеграция с git, gitlab, jenkins, возможность настроить ci/cd и другие штуки. Весь раздел DevOps представлен. Так же оставлена возможность вести базовую документацию. LDAP, как обычно, только в платных редакциях.
Бесплатная редакция на русском языке отсутствует, есть английский. А вот платные переведены на русский язык.
⇨ 🌐 Сайт /
Бесплатные аналоги ZenTao можете посмотреть по соответствующему тэгу снизу.
#itsm #управление_проектами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55👎9
Запустил вчера старый ноут с Windows 10, который несколько месяцев пролежал выключенным. Он как с цепи сорвался. Минут 30 жужжал вентилятором на максимальных оборотах и что-то проверял, вычислял, качал, отправлял (?).
Просто жесть. Устройством пользоваться невозможно. Когда каждый день пользуешься ноутом, не замечаешь как-то, что система всё сливает в сеть.
А вот если она постоит, то у меня создаётся впечатление, что она тут же, пока её не успели выключить, стремится как можно больше собрать информации, тут же её всю отправить и загрузить к себе новые инструкции. Не может подождать даже минут 10-15, чтобы можно было хотя бы начать пользоваться системой.
Я уже привык, что старые устройства надо включить и оставить полежать, чтобы они отправили и получили всё, что им надо, а потом можно работать. С Android устройствами такая же история. Мне в данном случае не понятно одно - зачем делать это так агрессивно и прямо сразу после запуска. Можно же выдать пользователю плашку на тему того, мол хотите обновиться прямо сейчас или подождём минут 30? Тут прям сразу без вопросов всё накатили и предложили перезагрузку, которая ещё минут 10 длилась. Эта проблема, кстати, актуальна для различных устройств в переговорных комнатах, которые редко включают, а потом при запуске приходится ждать обновлений.
Или ещё пример из жизни. Ко мне как-то монтажники в один офис приезжали настроить направленную антенну. Они это не часто делают. Для настройки используют какой-то небольшой ноут, который удобно с собой возить и на коленке настраивать. Он маломощный. Приехали они ко мне, запустили его и он начал обновления качать и ставить. Прождали наверное около часа, пока он всё закончит. А у них рабочий день.
Не знаю, зачем я всё это написал. И так понятно, что все виндузятники и яблочники под плотным колпаком. Не хотел специально об этом писать, но прям зацепила эта тема.
Я убеждён, что вся информация (или выжимка) об использовании устройств и данных на них практически в режиме реального времени куда-то утекает, индексируется, каталогизируется и хранится. Для чего конкретно - хз, можно только догадываться. Не успел заскринить, а там ещё служба криптографии долго что-то вычисляла, писала на диск и отправляла по сети. Минут через 5 после запуска к процессу автообновления подключились и браузеры: яндекс и брейв. Эти поскромнее оказались, дали немного времени после загрузки системы. Буквально минут 5. Потом тоже обновились в фоне.
Можно, конечно, уповать на то, что есть Linux и надо использовать его. Но глобально это ни на что не повлияет. Как только доля Linux устройств у людей перевалит за какую-то значимую величину, там тоже начнут собирать данные. Если уже не собирают. Технически всё готово для этого - systemd. На него уже различные компании, связанные с безопасностью жалуются, что он очень переусложнён, что делает затруднительным анализ исходного кода. Сдаётся мне, что переусложнили его и внедрили во все дистрибутивы на базе Linux неспроста.
Такой вот вечер паранойи и шапочки из фольги получился. Что думаете об этом? Я перегибаю палку в теории заговора или согласны плюс-минус со мной?
#разное
Просто жесть. Устройством пользоваться невозможно. Когда каждый день пользуешься ноутом, не замечаешь как-то, что система всё сливает в сеть.
А вот если она постоит, то у меня создаётся впечатление, что она тут же, пока её не успели выключить, стремится как можно больше собрать информации, тут же её всю отправить и загрузить к себе новые инструкции. Не может подождать даже минут 10-15, чтобы можно было хотя бы начать пользоваться системой.
Я уже привык, что старые устройства надо включить и оставить полежать, чтобы они отправили и получили всё, что им надо, а потом можно работать. С Android устройствами такая же история. Мне в данном случае не понятно одно - зачем делать это так агрессивно и прямо сразу после запуска. Можно же выдать пользователю плашку на тему того, мол хотите обновиться прямо сейчас или подождём минут 30? Тут прям сразу без вопросов всё накатили и предложили перезагрузку, которая ещё минут 10 длилась. Эта проблема, кстати, актуальна для различных устройств в переговорных комнатах, которые редко включают, а потом при запуске приходится ждать обновлений.
Или ещё пример из жизни. Ко мне как-то монтажники в один офис приезжали настроить направленную антенну. Они это не часто делают. Для настройки используют какой-то небольшой ноут, который удобно с собой возить и на коленке настраивать. Он маломощный. Приехали они ко мне, запустили его и он начал обновления качать и ставить. Прождали наверное около часа, пока он всё закончит. А у них рабочий день.
Не знаю, зачем я всё это написал. И так понятно, что все виндузятники и яблочники под плотным колпаком. Не хотел специально об этом писать, но прям зацепила эта тема.
Я убеждён, что вся информация (или выжимка) об использовании устройств и данных на них практически в режиме реального времени куда-то утекает, индексируется, каталогизируется и хранится. Для чего конкретно - хз, можно только догадываться. Не успел заскринить, а там ещё служба криптографии долго что-то вычисляла, писала на диск и отправляла по сети. Минут через 5 после запуска к процессу автообновления подключились и браузеры: яндекс и брейв. Эти поскромнее оказались, дали немного времени после загрузки системы. Буквально минут 5. Потом тоже обновились в фоне.
Можно, конечно, уповать на то, что есть Linux и надо использовать его. Но глобально это ни на что не повлияет. Как только доля Linux устройств у людей перевалит за какую-то значимую величину, там тоже начнут собирать данные. Если уже не собирают. Технически всё готово для этого - systemd. На него уже различные компании, связанные с безопасностью жалуются, что он очень переусложнён, что делает затруднительным анализ исходного кода. Сдаётся мне, что переусложнили его и внедрили во все дистрибутивы на базе Linux неспроста.
Такой вот вечер паранойи и шапочки из фольги получился. Что думаете об этом? Я перегибаю палку в теории заговора или согласны плюс-минус со мной?
#разное
4👍245👎14
На днях на одном из серверов VPN с IP 175.115.158.81 заметил странные строки в логе:
Внимание привлекло то, что 95.145.141.246 это мой IP адрес ещё одного VPN сервера. Я не припомнил, чтобы настраивал на нем клиента для подключения к серверу 175.115.158.81. На всякий случай сходил туда и убедился в этом:
Никакого openvpn клиента тут не было запущено. Да и настроек для него тоже нет. У меня настроена разветвлённая система VPN туннелей с маршрутизацией, так что иногда начинаю в ней путаться. Надо схему рисовать.
Я немного напрягся и стал разбираться, в чём тут дело. Решил посмотреть на сервере с IP 95.145.141.246 исходящие сетевые соединения:
Соединения разные были, но к указанному VPN серверу ничего не было. Стало ещё интереснее. Расчехлил tcpdump и стал смотреть им:
Подождал, когда в логе на VPN сервере 175.115.158.81 опять появится запись о неудачном соединении. Вернулся в консоль сервера 95.145.141.246 и увидел запись:
1778 - порт VPN сервера. Смотрю на адрес 172.17.0.4 и тут до меня доходит, что это Docker контейнер. Проверяю IP адреса контейнеров:
А там мониторинг Gatus. И тут я вспоминаю, что настроил мониторинг VPN канала через проверку доступности порта, на котором он принимает подключения. Всё встало на свои места. Не думал, что проверка порта будет такими записями в логе отмечаться. Хотя на самом деле с таким встречаюсь иногда, когда через Zabbix порты проверяю через simple check.
Получилась мини-инструкция по диагностике исходящих соединений. В принципе, можно было сразу запустить tcpdump, но я по памяти не помню ключи и синтаксис выборки для него. Приходится куда-то лезть за подсказками. Мне казалось, что я делал по tcpdump заметку с популярными командами, но нет, не нашёл. Надо будет при случае исправить это.
#linux #terminal
ovpn-server[3742533]: TCP connection established with [AF_INET] 95.145.141.246:58560
ovpn-server[3742533]: 95.145.141.246:58560 Connection reset, restarting [0]
ovpn-server[3742533]: 95.145.141.246:58560 SIGUSR1[soft,connection-reset] received, client-instance restarting
Внимание привлекло то, что 95.145.141.246 это мой IP адрес ещё одного VPN сервера. Я не припомнил, чтобы настраивал на нем клиента для подключения к серверу 175.115.158.81. На всякий случай сходил туда и убедился в этом:
# ps axf
Никакого openvpn клиента тут не было запущено. Да и настроек для него тоже нет. У меня настроена разветвлённая система VPN туннелей с маршрутизацией, так что иногда начинаю в ней путаться. Надо схему рисовать.
Я немного напрягся и стал разбираться, в чём тут дело. Решил посмотреть на сервере с IP 95.145.141.246 исходящие сетевые соединения:
# ss -ntu
Соединения разные были, но к указанному VPN серверу ничего не было. Стало ещё интереснее. Расчехлил tcpdump и стал смотреть им:
# tcpdump -nn 'dst host 175.115.158.81'
Подождал, когда в логе на VPN сервере 175.115.158.81 опять появится запись о неудачном соединении. Вернулся в консоль сервера 95.145.141.246 и увидел запись:
14:29:38.706375 IP 172.17.0.4.58700 > 175.115.158.81.1778
1778 - порт VPN сервера. Смотрю на адрес 172.17.0.4 и тут до меня доходит, что это Docker контейнер. Проверяю IP адреса контейнеров:
# docker ps -q | xargs -n 1 docker inspect --format '{{ .NetworkSettings.IPAddress }} {{ .Name }}' | sed 's/ \// /'
...........
172.17.0.4 gatus
...........
А там мониторинг Gatus. И тут я вспоминаю, что настроил мониторинг VPN канала через проверку доступности порта, на котором он принимает подключения. Всё встало на свои места. Не думал, что проверка порта будет такими записями в логе отмечаться. Хотя на самом деле с таким встречаюсь иногда, когда через Zabbix порты проверяю через simple check.
Получилась мини-инструкция по диагностике исходящих соединений. В принципе, можно было сразу запустить tcpdump, но я по памяти не помню ключи и синтаксис выборки для него. Приходится куда-то лезть за подсказками. Мне казалось, что я делал по tcpdump заметку с популярными командами, но нет, не нашёл. Надо будет при случае исправить это.
#linux #terminal
👍202👎5
Очень простой и быстрый способ измерить ширину канала с помощью Linux без установки дополнительных пакетов. Понадобится только netcat, который чаще всего есть в составе базовых утилит. По крайней мере в Debian это так.
Берём условный сервер 10.20.1.50 и запускаем там netcat на порту 5201:
Идём на другую машину и запускаем netcat в режиме клиента, передавая туда 10 блоков размером 10 мегабайт:
Когда измерял так скорость, немного усомнился в достоверности результатов. Решил провести одинаковые тесты с помощью netcat и iperf3. На скоростях до 1 Gbits/sec замеры показывают одинаковые числа, плюс-минус в районе погрешности измерений. Можно смело использовать netcat. Это реально работает для быстрой проверки канала до какой-то VPS.
А вот в сетях в рамках гипервизора, где скорости значительно больше, идут большие расхождения. Iperf3 показывает раза в 4 больше скорость (~15.0 Gbits/sec), чем netcat (~4.0 Gbits/sec). Гипервизор объявляет скорость своего бриджа в 10 Gbits/sec. И тут уже трудно судить, кто ближе к истине. Корректно выполнить замеры на реальных данных затруднительно, так как много факторов, которые влияют на итоговый результат.
Напомню, что у меня есть хорошая заметка про netcat с различными практическими примерами применения этой утилиты.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #network
Берём условный сервер 10.20.1.50 и запускаем там netcat на порту 5201:
# nc -lvp 5201 > /dev/null
Идём на другую машину и запускаем netcat в режиме клиента, передавая туда 10 блоков размером 10 мегабайт:
# dd if=/dev/zero bs=10M count=10 | nc 10.20.1.50 5201
Когда измерял так скорость, немного усомнился в достоверности результатов. Решил провести одинаковые тесты с помощью netcat и iperf3. На скоростях до 1 Gbits/sec замеры показывают одинаковые числа, плюс-минус в районе погрешности измерений. Можно смело использовать netcat. Это реально работает для быстрой проверки канала до какой-то VPS.
А вот в сетях в рамках гипервизора, где скорости значительно больше, идут большие расхождения. Iperf3 показывает раза в 4 больше скорость (~15.0 Gbits/sec), чем netcat (~4.0 Gbits/sec). Гипервизор объявляет скорость своего бриджа в 10 Gbits/sec. И тут уже трудно судить, кто ближе к истине. Корректно выполнить замеры на реальных данных затруднительно, так как много факторов, которые влияют на итоговый результат.
Напомню, что у меня есть хорошая заметка про netcat с различными практическими примерами применения этой утилиты.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #network
3👍157👎3
Я уже давно использую заметки с канала как свои шпаргалки. Всё полезное из личных заметок перенёс сюда, плюс оформил всё это аккуратно и дополнил. Когда ищу какую-то информацию, в первую очередь иду сюда, ищу по тегам или содержимому.
Обнаружил, что тут нет заметки про tcpdump, хотя личная шпаргалка по этой программе у меня есть. Переношу сюда. По tcpdump можно много всего написать, материала море. Я напишу кратко, только те команды, что использую сам. Их немного. Tcpdump использую редко, если есть острая необходимость.
Я ко всем командам добавляю ключ
📌 Список сетевых интерфейсов, с которых tcpdump может смотреть пакеты:
Если запустить программу без ключей, то трафик будет захвачен с первого активного интерфейса из списка выше.
📌 Слушаем все интерфейсы:
Или только конкретный:
📌 Исключаем SSH протокол. Если в трафике, на который мы смотрим, будет SSH соединение, то оно забивает весь вывод своей активностью. Глазами уже не разобрать. Исключаю его по номеру порта:
По аналогии исключается любой другой трафик по портам. Если убираем слово not, то слушаем трафик только указанного порта.
📌 Пакеты к определённому адресату или адресатам:
Комбинация порта и адресата:
Подобным образом можно комбинировать любые параметры: src, dst, port и т.д. с помощью операторов and, or, not,
📌 Смотрим конкретный протокол или исключаем его и не только:
На этом всё. Лично мне этих команд в повседневной деятельности достаточно. Не припоминаю, чтобы хоть раз использовал что-то ещё. Если надо проанализировать большой список, то просто направляю вывод в файл:
На основе приведённых выше примеров можно посмотреть, к примеру, на SIP трафик по VPN туннелю от конкретного пользователя к VOIP серверу:
Если не знакомы с tcpdump, рекомендую обязательно познакомиться и научиться пользоваться. Это не трудно, хоть на первый взгляд вывод выглядит жутковато и запутанно. Сильно в нём разбираться чаще всего не нужно, а важно увидеть какие пакеты и куда направляются. Это очень помогает в отладке. Чаще всего достаточно вот этого в выводе:
Протокол IP, адрес источника и порт > адрес получателя и его порт.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#network #tcpdump
Обнаружил, что тут нет заметки про tcpdump, хотя личная шпаргалка по этой программе у меня есть. Переношу сюда. По tcpdump можно много всего написать, материала море. Я напишу кратко, только те команды, что использую сам. Их немного. Tcpdump использую редко, если есть острая необходимость.
Я ко всем командам добавляю ключ
-nn
, чтобы не резолвить IP адреса в домены и не заменять номера портов именем протокола. Мне это мешает. 📌 Список сетевых интерфейсов, с которых tcpdump может смотреть пакеты:
# tcpdump -D
Если запустить программу без ключей, то трафик будет захвачен с первого активного интерфейса из списка выше.
📌 Слушаем все интерфейсы:
# tcpdump -nn -i any
Или только конкретный:
# tcpdump -nn -i ens3
📌 Исключаем SSH протокол. Если в трафике, на который мы смотрим, будет SSH соединение, то оно забивает весь вывод своей активностью. Глазами уже не разобрать. Исключаю его по номеру порта:
# tcpdump -nn -i any port not 22
По аналогии исключается любой другой трафик по портам. Если убираем слово not, то слушаем трафик только указанного порта.
📌 Пакеты к определённому адресату или адресатам:
# tcpdump -nn dst 8.8.8.8
# tcpdump -nn dst 8.8.8.8 or dst 8.8.4.4
Комбинация порта и адресата:
# tcpdump -nn dst 8.8.8.8 and port 53
Подобным образом можно комбинировать любые параметры: src, dst, port и т.д. с помощью операторов and, or, not,
📌 Смотрим конкретный протокол или исключаем его и не только:
# tcpdump arp -nn -i any
# tcpdump not arp -nn -i any
# tcpdump not arp and not icmp -nn -i any
На этом всё. Лично мне этих команд в повседневной деятельности достаточно. Не припоминаю, чтобы хоть раз использовал что-то ещё. Если надо проанализировать большой список, то просто направляю вывод в файл:
# tcpdump -nn -i any > ~/tcpdump.txt
На основе приведённых выше примеров можно посмотреть, к примеру, на SIP трафик по VPN туннелю от конкретного пользователя к VOIP серверу:
# tcpdump -nn -i tun4 src 10.1.4.23 and dst 10.1.3.205 and port 5060
Если не знакомы с tcpdump, рекомендую обязательно познакомиться и научиться пользоваться. Это не трудно, хоть на первый взгляд вывод выглядит жутковато и запутанно. Сильно в нём разбираться чаще всего не нужно, а важно увидеть какие пакеты и куда направляются. Это очень помогает в отладке. Чаще всего достаточно вот этого в выводе:
IP 10.8.2.2.13083 > 10.8.2.3.8118
Протокол IP, адрес источника и порт > адрес получателя и его порт.
Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#network #tcpdump
102👍270👎5
Если у вас нет глубоких знаний о работе современных процессоров, а вы хотите получить хотя бы примерное представление, как на них работают программы, то у меня для вас необычная рекомендация. Есть целый сайт по этой теме:
⇨ https://cpu.land
Особенность его в том, что текст для него написан 17-ти летней девочкой-подростком, которая стала разработчиком. Материал воспринимается очень легко, написан простым языком. Я прочитал его в автоматическом переводе Яндекс.Браузера. Просто открыл все главы на одной странице, перевёл и прочитал. Иногда переключался на оригинал, чтобы уточнить какой-то переведённый термин.
Чтиво буквально на 15-20 минут, но после прочтения у вас будет представление, как совершается компьютерная магия, которая превращает нолики и единички в работающие программы на ОС с ядром Linux.
В материале раскрываются следующие темы:
▪️Как в принципе устроен процессор, как он работает с оперативной памятью
▪️Ядро операционной системы и системные вызовы
▪️Процессорные архитектуры и инструкции
▪️Аппаратные прерывания, многозадачность
▪️Разбор последовательных действий, которые происходят после вашего запуска программы в ОС
▪️Отдельно автор прошлась по скриптам, оболочкам и шебангам
▪️Разбор ELF файлов, что это такое и для чего нужны
▪️Динамические библиотеки .so
▪️Основные и дочерние процессы
Отдельно мне понравилась ремарка автора насчёт использования ChatGPT:
Я довольно много общался с GPT-3.5 и GPT-4 во время написания этой статьи. Хотя они много лгали мне и большая часть информации была бесполезной, иногда они были очень полезны для решения проблем. Помощь LLM может быть исключительно положительной, если вы знаете об их ограничениях и крайне скептически относитесь ко всему, что они говорят.
Мне понравился лёгкий и весёлый слог автора, несмотря на то, что читал перевод. Прям увидел и ощутил новый взгляд на обучающий материал, каким он может быть. Наверное, так написать мог только подросток. Рекомендую, если вы интересуетесь самообразованием.
❗️ Надеюсь, я заинтересовал вас и убедил не просто сохранить ссылку, но и прочитать её. В этом плане мы можем быть полезны друг другу. Если бы мне не нужно было писать эту заметку, то скорее всего я бы не стал читать материал, а просто добавил бы его куда-нибудь на будущее и никогда бы не вернулся. Собственно, я изначально так и сделал. Эта ссылка лежала у меня год 😁
#обучение
⇨ https://cpu.land
Особенность его в том, что текст для него написан 17-ти летней девочкой-подростком, которая стала разработчиком. Материал воспринимается очень легко, написан простым языком. Я прочитал его в автоматическом переводе Яндекс.Браузера. Просто открыл все главы на одной странице, перевёл и прочитал. Иногда переключался на оригинал, чтобы уточнить какой-то переведённый термин.
Чтиво буквально на 15-20 минут, но после прочтения у вас будет представление, как совершается компьютерная магия, которая превращает нолики и единички в работающие программы на ОС с ядром Linux.
В материале раскрываются следующие темы:
▪️Как в принципе устроен процессор, как он работает с оперативной памятью
▪️Ядро операционной системы и системные вызовы
▪️Процессорные архитектуры и инструкции
▪️Аппаратные прерывания, многозадачность
▪️Разбор последовательных действий, которые происходят после вашего запуска программы в ОС
▪️Отдельно автор прошлась по скриптам, оболочкам и шебангам
▪️Разбор ELF файлов, что это такое и для чего нужны
▪️Динамические библиотеки .so
▪️Основные и дочерние процессы
Отдельно мне понравилась ремарка автора насчёт использования ChatGPT:
Я довольно много общался с GPT-3.5 и GPT-4 во время написания этой статьи. Хотя они много лгали мне и большая часть информации была бесполезной, иногда они были очень полезны для решения проблем. Помощь LLM может быть исключительно положительной, если вы знаете об их ограничениях и крайне скептически относитесь ко всему, что они говорят.
Мне понравился лёгкий и весёлый слог автора, несмотря на то, что читал перевод. Прям увидел и ощутил новый взгляд на обучающий материал, каким он может быть. Наверное, так написать мог только подросток. Рекомендую, если вы интересуетесь самообразованием.
#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
Putting the "You" in CPU
Curious exactly what happens when you run a program on your computer? Learn how multiprocessing works, what system calls really are, how computers manage memory with hardware interrupts, and how Linux loads executables.
2👍112👎7
Немного информации для тех, кто имеет дело с обычными веб серверами под php сайты. Вчера провозился несколько часов с одним сайтом, который передали разработчики для публикации. Причём провозился из-за ерунды. Это был немного навороченный мультиязычный сайт на базе Wordpress, но с полностью самописной темой.
Я этих вордпрессов десятки устанавливал и поддерживал. Никак не ожидал проблем с этим движком. Но разработчики сумели меня удивить и нагрузить работой. Для начала пришлось повозиться с тем, что режим работы сайта http или https был жёстко зашит в коде сайта. И не где-то в настройках Wordpress или базе, а в коде темы. Это создавало некоторые проблемы при публикации за Cloudflare и Nginx в режиме proxy_pass. Пока всё развернул, разобрался, нашёл и вычистил в коде, немного подустал. Плюс, сайт под Apache разрабатывали, запустил под Nginx.
В итоге на сайте кое-где всплывали ошибки php, что-то не работало. В логе тоже ошибки и предупреждения со стороны php. Причём ошибки какие-то странные, типа скобки не закрыты, переменная не объявлена и т.д. Сначала подумал, что сайт написали под старую версию php. На веб сервере стояла относительно свежая 8.2. Уточнил у разработчиков, у них на 8.1 нормально работает. Разница в этих версиях не такая большая, должно нормально работать. Потом подумал, что по ошибке скинули какой-то черновик, а не итоговую работу.
Немного поразбирался в ошибках и выяснил, в чём проблема. В php по умолчанию параметр short_open_tag выключен. Это нормальная история, так как стандартному коду Wordpress он не нужен. Мне и в голову не пришло его включить. В версиях php до 6-й он был включен, потом стали отключать из соображений совместимости с другим кодом. Например, с тэгами
В коде этого сайта были конструкции типа
Если где-то придётся писать код php, то пишите сразу полные тэги <?php, а не короткие. Сейчас это более правильный подход, который улучшает переносимость проекта и не вызывает проблем с совместимостью с другим кодом, который использует тэги. Вот наглядный пример, где будут проблемы с короткими тэгами:
Это элемент xml разметки, а с включённым short_open_tag это будет интерпретироваться как php код.
#webserver #php
Я этих вордпрессов десятки устанавливал и поддерживал. Никак не ожидал проблем с этим движком. Но разработчики сумели меня удивить и нагрузить работой. Для начала пришлось повозиться с тем, что режим работы сайта http или https был жёстко зашит в коде сайта. И не где-то в настройках Wordpress или базе, а в коде темы. Это создавало некоторые проблемы при публикации за Cloudflare и Nginx в режиме proxy_pass. Пока всё развернул, разобрался, нашёл и вычистил в коде, немного подустал. Плюс, сайт под Apache разрабатывали, запустил под Nginx.
В итоге на сайте кое-где всплывали ошибки php, что-то не работало. В логе тоже ошибки и предупреждения со стороны php. Причём ошибки какие-то странные, типа скобки не закрыты, переменная не объявлена и т.д. Сначала подумал, что сайт написали под старую версию php. На веб сервере стояла относительно свежая 8.2. Уточнил у разработчиков, у них на 8.1 нормально работает. Разница в этих версиях не такая большая, должно нормально работать. Потом подумал, что по ошибке скинули какой-то черновик, а не итоговую работу.
Немного поразбирался в ошибках и выяснил, в чём проблема. В php по умолчанию параметр short_open_tag выключен. Это нормальная история, так как стандартному коду Wordpress он не нужен. Мне и в голову не пришло его включить. В версиях php до 6-й он был включен, потом стали отключать из соображений совместимости с другим кодом. Например, с тэгами
<?xml
.В коде этого сайта были конструкции типа
<?
вместо <?php
, а для их корректной работы как раз и нужен параметр short_open_tag
. Есть проекты, где явно пишут, что надо включить этот параметр. А тут мне никто ни слова насчёт него не сказал. Включил параметр и всё заработало. Если где-то придётся писать код php, то пишите сразу полные тэги <?php, а не короткие. Сейчас это более правильный подход, который улучшает переносимость проекта и не вызывает проблем с совместимостью с другим кодом, который использует тэги. Вот наглядный пример, где будут проблемы с короткими тэгами:
<?xml version="1.0"?>
Это элемент xml разметки, а с включённым short_open_tag это будет интерпретироваться как php код.
#webserver #php
👍122👎2
⇨ ProxMox Cluster 2 Nodes + Q-Device. Кластер просто. Для дома и офиса.
Пример настройки бюджетного HA кластера из двух нод и "арбитра" на Raspberry Pi для кворума. Хранилища локальные на базе zfs. Второй сервер будет содержать клоны VM c первого и заменит его в случае выхода из строя.
⇨ Best Docker Container Server Setup // Docker Swarm, CephFS, and Portainer
Очень любопытное видео на тему перечисленных выше технологий. Автор рассмотрел простую отказоустойчивую замену кластера Kubernetes. Видео небольшое, но ёмкое по объему информации и практике. Не знаю, имеет ли смысл подобная сборка, но посмотреть и послушать интересно.
⇨ Linux - Как легко создать свой DEB package на Линукс
Пошаговая инструкция на заданную тему от Дениса Астахова и его полезного канала ADV-IT. Смотреть видео большого смысла нет, если у вас нет задачи по сборке пакетов. А вот сохранить ссылку имеет смысл, чтобы быстро найти, когда задача такая возникнет. Можно и мою инструкцию на эту тему сохранить.
⇨ ПРОБРОС СЕТЕВОЙ КАРТЫ ИЛИ LINUX BRIDGE? ИЛИ ВИРТУАЛЬНЫЙ РОУТЕР С 2 ЛАН ПОРТАМИ
Полезное видео на тему организации сети в Proxmox. Я лично всегда и везде использую бриджи. Это удобно, плюс виртуалки получают лучшую переносимость.
⇨ Dockge - выкинь Portainer немедленно
Кликбейтный заголовок, а по сути автор рассказывает про минусы Portainer и показывает, что можно использовать в качестве замены. Я лично не проникся этой заменой.
⇨ Docker always up to date! (and more) Renovate Tutorial
Рекламное видео на тему программы Renovate, которая умеет автоматически проверять и обновлять в исходниках версии используемых образов докера, пакетов, указанных в ваших репозиториях. У Renovate есть бесплатная self-hosted Community версия, так что видео может быть полезным. В нём настраивают и тестируют именно эту версию.
⇨ OpenRPort - Remote Management Tool with Secure Tunneling!
Бесплатная программа для удалённого управления компьютерами. Сделана на базе RealVNC. Есть веб интерфейс с 2FA аутентификацией. Впервые услышал об этой программе. Было интересно посмотреть. Надо будет попробовать в деле. Наличие VNC под капотом немного расстраивает, так как скорее всего картинка будет лагучей, как это обычно бывает с VNC через интернет на слабых каналах.
#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ProxMox Cluster 2 Nodes + Q-Device. Кластер просто. Для дома и офиса.
ProxMox Cluster 2 Nodes + Q-Device. Создание кластера.
Proxmox cluster 3 Nodes: https://www.youtube.com/watch?v=Owyrz9D_pZQ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Буду очень благодарен за поддержку в виде чашечки ☕️:
https://www.buymeacoffee.com/RomNero
~…
Proxmox cluster 3 Nodes: https://www.youtube.com/watch?v=Owyrz9D_pZQ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Буду очень благодарен за поддержку в виде чашечки ☕️:
https://www.buymeacoffee.com/RomNero
~…
4👍69👎3