Showing posts with label developer. Show all posts
Showing posts with label developer. Show all posts

Friday, 1 August 2025

Скажи, кто твой AI, и я скажу, кто ты.


Всем привет.

Популярная фраза теперь звучит так "Скажи, кто твой AI, и я скажу, кто ты." Ажиотаж вокруг AI еще тот. И он оправдан. Вы можете любить или ненавидеть  AI, но с каждым днем его все больше в вашей жизни.

Сегодня процитирю вам АІ-советы от Александра Фролова, начальника отдела информационных технологий МГУ им. адм. Г.И. Невельского.

Нейросети - это мощный инструмент для системных администраторов, который помогает экономить время и решать сложные задачи. Однако важно использовать их с умом: проверять ответы, задавать четкие вопросы и не полагаться на них полностью в критически важных ситуациях. Для сисадминов особенно полезны ChatGPT, GitHub Copilot и Claude, так как они помогают автоматизировать рутинные задачи и находить решения быстрее. 

Для сисадминов (DevOps) особенно полезны ChatGPT, GitHub Copilot и Claude, так как они помогают автоматизировать рутинные задачи и находить решения быстрее.

1. У нас нейросети часто используются в работе, особенно для рутинных задач, поиска информации или генерации идей.

Наиболее популярные инструменты:

ChatGPT (OpenAI): для генерации скриптов, анализа ошибок, поиска решений, документации.

GitHub Copilot: для помощи в написании кода и автоматизации задач.

Perplexity.ai: для поиска информации и быстрого получения ответов на технические вопросы.

Bard (Google): для сравнения ответов и поиска альтернативных решений.

Claude (Anthropic): для работы с длинными текстами, например, анализ логов или документации.

Thursday, 12 September 2024

Cканер кода SonarQube

Всем привет.

Большинство кодировщиков пишут, как им часто кажется, совершенный код. Некоторые уже используют в IDE инструменты статического анализа, такие как ESLint, которые выявляют возможности улучшения каких-то частей кода в процессе его написания. Практика хорошая, и не стоит от нее отказываться.

Сегодня будет представлен инструмент для повышения качества кода, выводящий этот процесс на новый уровень - SonarQube. Вы узнаете:

  • что такое SonarQube;
  • как установить этот инструмент на локальный компьютер;
  • как сканировать файлы проекта;
  • как провести анализ проекта в SonarQube.

В статье будет рассмотрена открытая версия для сообщества. SonarQube невероятно полезный инструмент, так что я с радостью поделюсь своими знаниями о нем.


Что такое SonarQube?

SonarQube - это платформа с открытым исходным кодом, разработанная SonarSource, для непрерывной оценки качества кода путем статического анализа.

Иначе говоря, она не выполняет код, а лишь просматривает его. Причем, можете мне поверить, делает это очень тщательно. Неудивительно, что у SonarQube довольно внушительный список клиентов и репутация одного из востребованных инструментов статического анализа кода.

Завершив сканирование кода, о чем будет рассказано далее, SonarQube формирует отчет, который можно посмотреть в GUI через браузер. Все обнаруженные проблемы представляют собой “интерактивные тикеты”, позволяющие писать к ним комментарии, делегировать их другим пользователям, открывать или закрывать и т. д.


К подробному описанию проблемы сразу же прилагается соответствующий код.



SonarQube также объясняет суть проблемы при нажатии на соответствующую ссылку “Why is this an issue?” .


Wednesday, 2 August 2023

Траблшутинг Stable Diffusion.

Всем привет.

Бывают случаи когда после очередного обновления Stable Diffusion в лице А1111 перестает работать как надо. 

Частенько Extensions для А1111 используют одни и теже библиотеки и плохо делят их между собой. Поэтому для начала попробуйте отключить (удалять не надо) некоторые из своих расширений и перезапустите А1111. У меня так например не сошлись характерами SD-CN-Animation и ROOP.

Если это не помогло тогда можно откатить свой Stable Diffusion до предыдущего релиза. До какого именно, вам надо определиться самим по истории в репозитории А1111 в Git. В принципе вся процедура тривиальна и хорошо знакома знатокам CI/CD.

Для возврата на другую версию Stable Diffusion WebUI, необходимо в папке с Stable Diffusion выполнить команду:

git checkout <номер нужного релиза A1111>

Номер релиза в Git фигурирует как branch number. Как найти нужный есть много мануалов в сети.

Ввести команду можно так:

- если вы в ручную устанавливали Git то у вас в проводнике Windows появились быстрые команды для Git в popup-меню. Правой кнопкой мыши нажмите на папку с вашей Stable Diffusion и выберете в появившемся меню Git Bash Here. После чего откроется окно с командной строкой в которой уже можно вписать или вставить данную команду,

-  можно в проводнике открыть папку с вашей Stable Diffusion. В адресной строке вверху где показывается весь путь к вашей папки с Stable Diffusion, выделить все и на английской раскладке написать cmd  и нажать Enter. Запустится оболочка командной строки куда также можно вставить команду приведенную выше.

Важно - выполнять команду следует именно в папке Stable Diffusion!

После того как команда выполнена, закройте окно командной стоки, удалите папку venv, так как с последним обновлением обновились зависимости и запустите как обычно, с помощью webui-user.bat. Папка venv создастся сама при запуске А1111, нужные зависимости установятся автоматически или подтянутся из кеша, без повторного скачивания.

Никаких правок в webui-user.bat делать не нужно, git pull тоже можно оставить в скрипте. Однако для портабельной версии следует сократить строку git pull origin master до git pull.

Когда разработчики поправят баги вы сможете вернуться на актуальную версию командой:

git checkout master

Успехов.

Saturday, 29 July 2023

Притча о Stable Diffusion.

Всем привет.

Сегодня для вас шуточный пост про Stable Diffusion по мотивам поэмы Леонида Филатова "Про Федота-стрельца", изд: Л.Филатов "Любовь к трем апельсинам", 1998.

Для тех кто не знаком, Stable Diffusion - программное обеспечение, создающее изображения по текстовым описаниям (промт), с открытым исходным кодом. Ну а если вы не читали "Про Федота-стрельца" то обязательно прочтите само произведение или еще лучше прослушайте его в авторском исполнении талантливого поэта. Все таки великий был провидец!

А теперь представьте себе ИТ-фирму где есть Project Manager (шеф), DevOps (исполнитель прихотей шефа и не только), Designer (коллега DevOps-а), Task Manager (постановщик задач, который все усложняет). А кого забыл, так тому персонажа на хватило).

Итак, где-то на прошлой неделе...

Project Manager:

Намалюй к утру ковер —

Шитый золотом узор!..

Государственное дело,--

Расшибись, а будь добер!

Чтоб на ем была видна,

Как на карте, вся страна,

Потому как мне в Zoom-е

Нет обзору ни хрена!

Не найдешь, чаво хочу,--

На бонус тебя укорочу,

Передам тебя с рассветом

Прямо в лапы HR-у!


DevOps:

Да какая там еда!

Шеф лютует — прям беда!

Нет на энтого злодея

Ни управы, ни суда!

Намалюй, кричит, ковер,

Шитый золотом узор,

Шириной во всю краину,

В сто лесов и в сто озер!..


Designer:

Не кручинься и не хнычь!

Пусть лютует старый хрыч!

Ну-ко станьте предо мною,

Промт Кузьмич и Скрипт Фомич!

Designer хлопает в ладоши и нажимает "Generate":

Коли поняли приказ — выполняйте сей же час!


Stable Diffusion: Не извольте сумлеваться, чай, оно не в первый раз!


Tuesday, 27 December 2022

Тестирование инфраструктуры с Testinfra #2.

Всем привет.

Усвоив идею тестирования на Testinfra и переориентировав ее для проверки системы, можно добиться очень многого. Автоматизация запуска тестов в ходе разработки приложений или даже написания и выполнения тестов для существующей инфраструктуры - два прекрасных способа упростить рутинные операции, которые могут вызвать ошибки. Рytest и Testinfra - отличные проекты, начать использовать их очень просто, к тому же при необходимости они легко расширяются. Самое естественное начало разработки проверочных тестов - во время создания самой инфраструктуры. Любое усовершенствование требует нового теста

Сегодня погоняем пару теcтов через Testinfra.

Вам понадобится установить web-сервер и запустить его на порту 80 для выдачи статической стартовой страницы. По мере достижения прогресса мы будем добавлять новые тесты. Неотъемлемой составляющей написания тестов является осознание сбоев, так что смоделируем несколько проблем, на примере которых будем разбираться, что нужно исправить.

На свежем сервере Ubuntu начните с установки пакета Nginx:

$apt install nginx

Создайте новый файл теста test_webserver.py, в который мы будем постепенно

добавлять тесты:

def test_nginx_is_installed(host):

assert host.package('nginx').is_installed

Сделаем вывод pytest лаконичнее с помощью флага -q, чтобы сосредоточить свое внимание на сбоях. Удаленный сервер называется node4, для подключения к нему используется SSH. Вот команда для запуска первого теста:

(validate) $ pytest -q --hosts='ssh://node4' test_webserver.py

1 passed in 1.44 seconds

Отлично! Необходимо, чтобы веб-сервер был запущен и работал, так что добавляем новый тест для проверки этого поведения:

def test_nginx_is_running(host):

assert host.service('nginx').is_running


Повторный запуск теста, казалось бы, должен опять пройти успешно:

(validate) $ pytest -q --hosts='ssh://node4' test_webserver.py

.F

= FAILURES ===================================

_____________________ test_nginx_is_running[ssh://node4] ______________________

host = <testinfra.host.Host object at 0x7f629bf1d668>

def test_nginx_is_running(host):

> assert host.service('nginx').is_running

E AssertionError: assert False

E + where False = <service nginx>.is_running

E + where <service nginx> = <class 'SystemdService'>('nginx')

test_webserver.py:7: AssertionError

1 failed, 1 passed in 2.45 seconds

Sunday, 11 April 2021

Chrome DevTools - режим анализа кода на лету.


Всем привет.

Developer Tools - инструмент по умолчанию в браузере Google Chrome и других, который предназначен для разработчиков и тестировщиков с целью отладки кода. С его помощью можно просматривать код страницы, логи, загрузку страницы, отображение в разных разрешениях, ошибки кода и многое другое. Такая информация помогает разработчикам и тестировщикам понять причины ошибок, посмотреть как они воспроизводятся не только через пользовательский интерфейс, найти ошибки в коде, воспроизвести различные ситуации в работе с сайтом, например, отсутствие сети или смена положения мобильного устройства. Информация о багах, собранная в Developer Tools, помогает также лучше оформить баг-репорты, указав полезную дополнительную информацию, например, правильные названия элементов, стилей или ошибок так, как они отображаются в коде.

Про Chrome DevTools написано много, еcть даже мини-курсы по его изучению. Согласитесь неплохо владеть таким инструментом, который, к тому же, всегда на борту вашего web-браузера.

Но сегодня я акцентирую ваше внимание только на одну его фишку, которая на мой вгзляд очень полезна как для тестировщика так и для разработчика мобильных приложений или web-сайтов. Это режим анализа кода на лету непосредственно на вашем гаджете.

Набираем на ПК в браузере Chrome:

chrome://inspect/#devices

и отмечаем "Discover USB devices".

А на своем гаджете активируем режим "Отладка по USB" и подсоединяемся к основному ПК USB-шнурком. В вариантах предложенных на гаджете выбираем как "внешнее музыкальное устройство". У вас возможны варианты, но это точно будет не МТР. Включаем на гаджете выход в интернет и запускаем Chrome. Через некоторое время на ПК в браузере Chrome вы должны увидеть свой гаджет.


Двойной клик по нему открывает Chrome DevTools в котором вы можете инспектировать сайт открытый на вашем гаджете. Причем управление им возможно как с гаджета, так и с DevTools.


Если ваше устройтво не появляется в списке Chrome DevTools, то возможна ваше проблема описана здесь.

Успехов.


Версия на печать

Популярное