Обновить

Разработка

Сначала показывать
Порог рейтинга

В Alibaba выпустили пока бесплатный ИИ-агент для написания кода Qoder, который может сам создавать готовые приложения из простого промта. Разработчики решения написали, что это платформа для кодинга «нового поколения». Анализирует весь проект и кодовую базу, сходу понимает как именно вы пишете код и пытается делать также, разбивает сложные задачи на шаги и решает постепенно, пишет спецификацию, планирует и выполняет изменения в коде.

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии1

Many-Notes: Простые заметки в Markdown на своем сервере

Наткнулся на Reddit на небольшой, но очень интересный проект для тех, кто любит полный контроль над своими данными и ценит минимализм. Это self-hosted приложение для заметок Many-Notes.

TL;DR: Коротко о главном

  • Что это? Опенсорсное web-приложение для работы с Markdown-записями, спроектированное с акцентом на минимализм и полный контроль над данными. Вы разворачиваете его у себя (self-hosted).

  • Главная фишка: Использует базу данных (SQLite по умолчанию, но поддерживается MariaDB, MySQL и PostgreSQL) для продвинутых функций вроде многопользовательности и быстрого поиска, но при этом все заметки физически лежат в виде .md файлов. База нужна не для хранения текста заметок, а для метаданных, пользователей и индексации поиска.

  • Технологии: Написано на PHP, рассчитано на простую установку через Docker.

  • Кому зайдет? Небольшим командам или продвинутым пользователям, которым нужна своя база знаний с совместной работой, но без привязки к конкретному сервису.

Что под капотом? Ключевые возможности:

Это не просто минималистичный блокнот - внутри полноценные инструменты для командной работы. Функциональность здесь серьезная:

  • Многопользовательский режим и совместная работа: Можно заводить отдельных пользователей и давать им доступ к «хранилищам» (vaults). Это выводит инструмент из категории «личный блокнот» в категорию «командная база знаний».

  • OAuth-авторизация: Поддерживается вход через GitHub, Google, Keycloak и другие популярные сервисы.

  • Продвинутый редактор: Markdown + визуальный интерфейс (WYSIWYG), со сплит-панелью предпросмотра. Есть шаблоны, теги, поиск по обратным ссылкам, автосохранение.

  • Быстрый поиск: Используется typesense для быстрого и отказоустойчивого поиска по заметкам. Но это отдельный сервис, его тоже нужно поднять.

  • PWA (Progressive Web App): Приложение можно установить на рабочий стол или смартфон для более удобного доступа.

Полезные ссылки:

А вы чем пользуетесь для ведения заметок? Предпочитаете облачные сервисы или self-hosted решения? Делитесь в комментариях.

Подобные находки и разборы я регулярно публикую в ТГ канале Код ИТ-директора. Если интересен прагматичный взгляд на ИТ-инструменты, присоединяйтесь.

PS: Были шероховатости в тексте поста, в частности по базе данных и php. Поправил

Теги:
Всего голосов 4: ↑2 и ↓20
Комментарии6

🤖 Внедряю «зрение» в роботов Адам и Ева!

Детекция объектов через YOLO
Детекция объектов через YOLO
from ultralytics import YOLO
import app_adam_yagpt

# Загрузка модели YOLOv8l (официальная версия)
model = YOLO("yolo11l.pt")  # Автоматически скачает, если нет

# Детекция на изображении
results = model("image2.jpg")

# Получаем текстовый вывод в переменную
detection_summary = results[0].verbose()
resp = app_adam_yagpt.main(f"С помощью компьютерного зрения я передаю тебе данные об изображении. "
                           f"Опиши пространство в литературной форме, и классифицируй где ты находишьcя, "
                           f"что за обстановка и характер мероприятия или встречи, улица это или помещение, если перед тобой: {detection_summary}. "
                           f"Не нужно спрашивать ничего в конце твоего описания. ")
print(resp)

# Визуализация
results[0].show()  # Покажет результат
results[0].save("output.jpg")  # Сохранит
В пространстве находятся пять человек, двое из которых одеты в деловые костюмы. 
Присутствует телевизор, компьютерная техника — мышь и клавиатура, а также мобильный телефон. 
Обстановка выглядит как офисное помещение или место для работы и коммуникации.

Собрал связку YOLOv11 + GPT, чтобы робот не просто видел объекты, но и описывал обстановку почти как человек.

Как это работает:
1️⃣ YOLO детектит объекты на изображении
2️⃣ GPT анализирует их и генерирует "очеловеченное" описание
3️⃣ Profit! - получаем не слепого робота, а полноценного собеседника!

Зачем это Адаму и Еве?

Роботы смогут:

  • Опознавать людей и их действия («Вы пьёте кофе?).

  • Находить предметы по запросу («Где мои ключи?»).

  • Да просто прикольно описывать этот мир! («Обстановка выглядит как офисное помещение или место для работы и коммуникации.»)

Следующие шаги:
🔜 Внедрение в «железо» - тесты на реальных роботах.
🔜 Голосовой вывод - чтобы Адам комментировал увиденное вслух.
🔜 Обратная связь - если робот ошибся, он запомнит исправление.

Сценарии использования:

Дома: «Ева, кто оставил грязную кружку?» → «Это сделал Сергей, 5 минут назад» (по детекции лица + времени).

В офисе: Адам предупредит: «Переговоры начнутся через 10 минут - в зале пока только двое».

📢 Если было интересно — подписывайтесь на мой Telegram-канал robotltdco.

Спойлер: На самом деле второй пункт («Голосовой вывод») сделан! ✔️
Но об этом позже!

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии2

Решение айти проблем эмпирическим путем и методом свободного гугла с попыткой выработать какой-то ПЛАН, чтобы его придерживаться

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

а еще я люблю обратную связь и ваши комментарии (и хоть предыдущий мой пост заминусили, такая обратная связь тоже была полезна, хоть и болезненна).

А еще я вру себе (и вам), что может быть мои много буков ради буков кому-то помогут или хотя бы развлекут.

А еще дурацкая мелкомягкая ворвалась на моем (и так сложном) пути мотивации себя любимой к работе с очередной глупой ошибкой, которая не починилась с полтычка и потребовала распределения всего попавшего под руку по полочкам.

И так, мое ДАНО:

Виртуальная машина VirtualBox 7.1.6 c Windows 10 (Корпоративная LTSC) 21H2 на такой же мелкомягкой, но уже Windows 11 (Корпоративная) 23H2 с настроенным типом сети NAT (то бишь самой простой из возможных в мире виртуалбокса).

И все в целом работало стабильно до сакрального "я ничего не трогала, оно само" исчезновения интернета с виртуальной машины. Точнее пинг до 8.8.8.8 шел, а уже на ya.ru дорогу найти не мог! И казалось бы - дело в DNS! но не тут-то было!

При установке типа NAT в виртуалбоксе, адрес у системе устанавливается по DHCP и DNS приходит оттуда же. Если в свойствах интерфейса принудительно поставить имя DNS сервера на четыре восьмерки - чуда не происходило, а в тырнетик машинка напрочь отказывалась идти.

Что было проверено?

  • Я перезагружала виртуальную машину

  • Я перезагружала хост, на котором виртуальная машинка запускалась

  • Я выключала\включала сетевой кабель в настройках ВМки (не, ну а что? ну а вдруг?)

  • Я выключила к чертям интерфейс в настройках ВМки и активировала соседний с таким же типом подключения (то бишь NAT).

  • Я выключила брендмауер на виртуальной машинке.

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

Упал - очнулся гипс!(с)

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

Теги:
Всего голосов 2: ↑1 и ↓10
Комментарии3

В прошлую субботу я подал заявку на участие в митапе GoSharp Weekend, который проводит компания Ozon Tech. Все заявки на этот митап проходят модерацию, т.к. к участию допускаются только C#- и Go-разработчики уровня middle+.

Вчера я получил письмо с отказом:

Сначала я подумал, что просто закончились свободные места. Но сегодня я, как постоянный участник мероприятий Ozon Tech, получил письмо с рекламой данного мероприятия. Получается, что свободные места все еще есть, а моя заявку отклонили, потому что она не прошла модерацию. Вполне возможно, что из-за всей этой охоты на волков организаторы не поняли, что означает фраза «опенсорс-мейнтейнер», и приняли меня за накрутчика опыта.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Вышел NATS.go 1.45 - Go-клиент для системы обмена сообщениями NATS.

Ключевые изменения:

  • В Core NATS добавлена обработка превышения максимального количества активных подключений к учетной записи

  • В JetStream добавлена опция WithExpectLastSequenceForSubject для логики публикации

  • Добавили тесты на проверку обновлений KV TTL watcher

  • Исправлено несколько ошибок

GitHub: https://github.com/nats-io/nats.go

ChangeLog: https://github.com/nats-io/nats.go/releases/tag/v1.45.0

Теги:
Рейтинг0
Комментарии0

Приглашаем на Alfa CTF 2025, соревнование по спортивному хакингу

Альфа-Банк приглашает специалистов и студентов в области информационной безопасности принять участие в соревновании по спортивному хакингу Alfa CTF, которое пройдет 13–14 сентября 2025 года в 2-х форматах: онлайн или офлайн по дополнительной регистрации в IT-хабах Москвы, Санкт-Петербурга и Екатеринбурга

Участники будут соревноваться в формате Capture The Flag (CTF), решая практические задачи на поиск уязвимостей и эксплуатацию различных сценариев атак. Призовой фонд — 3 100 000 рублей. Максимальный приз для одной команды — до 450 000 рублей.

Участники могут выбрать один из трех треков:

⚡️IT-трек — для ИТ-специалистов, кроме тех, кто работает в кибербезопасности, разработке ИБ-продуктов или уже 5 раз участвовал в соревнованиях формата CTF. Команда: 1–4 человека.

⚡️Студенческий трек — для учащихся вузов и колледжей 18–25 лет, кроме обучающихся на группе направлений «10.00.00 Информационная безопасность» и тех, кто уже 5 раз участвовал в соревнованиях формата CTF. Команда: 1–4 человека.

⚡️CTF-трек — для специалистов по ИБ и опытных CTF-игроков. Размер команды не ограничен. Этот трек открыт для всех, кто готов к сложным заданиям.

Для участия необходимо зарегистрироваться на соревнование по ссылке, определиться с форматом участия — индивидуально или командой (если вы не можете найти напарников, мы вам поможем и объединим с другими игроками), выбрать соответствующий трек и участвовать в решении задач в течение двух дней соревнования.

Теги:
Всего голосов 1: ↑1 и ↓0+2
Комментарии0

Представлен промпт, который заставит ИИ общаться как человек. Пользователь Reddit сочинил запрос, чтобы приручить любую нейросеть. Даже GPT-5 начинает болтать, как живая, и выдавать стройные, логичные рассуждения в непринуждённой беседе.

Теги:
Всего голосов 3: ↑1 и ↓2+1
Комментарии0

Grafana «по-русски»: обзор и настройка «Графини»

В эту пятницу в 20:00 по мск присоединяйтесь к первому демо «Графини» — российского решения для визуализации, мониторинга и анализа данных.

Спикеры:

🔵 Дмитрий Унтила, CPO продукта «Пульт».
🔵 Георг Гаал, независимый эксперт.

📺 Прямая трансляция пройдет на YouTube-канале FIDELINA.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии0

Рег.облако запускает ИБ-услуги

Снова делимся важным апдейтом! Рег.облако выходит на рынок информационной безопасности.

Новая ИБ-линейка на первом этапе запуска будет включать три комплексных продукта:

Каждый сервис можно будет гибко настроить и кастомизировать под конкретные нужды и задачи бизнеса. Фактически, вы сами собираете тот уровень защиты, который нужен прямо сейчас: от базовой гигиены до реагирования на инциденты.

Основная цель — сделать такие услуги максимально доступными для малого и среднего бизнеса. Например, провести полноценный аудит информационной безопасности для инфраструктуры в 5-7 серверов можно начиная от 50 тыс. рублей.

Подключить ИБ-услуги уже можно на сайте

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Узнайте, как с помощью RAG дать AI-агенту релевантную информацию из ваших документов и избавить его от галлюцинаций 🤖

📆 Когда: 28 августа в 11:00 мск

📍 Где: онлайн

На вебинаре расскажем, как правильно подготовить документы с информацией для агента, где все это хранить, а еще — как настроить обработку данных так, чтобы LLM не пришлось дообучать, а ответы при этом стали лучше. Работу с RAG рассмотрим на примере сервиса Evolution Managed RAG.

О чем поговорим:

  • как используем RAG в Cloud.ru — опишем реальный кейс;

  • как управлять данными и версионировать базы знаний;

  • как работает Evolution Managed RAG и какие у него возможности;

  • проведем демо и покажем бота в Telegram, который отвечает на вопросы на основе ваших данных.

Будет полезно всем, кто хочет внедрить AI-инструменты для работы с клиентами или автоматизации задач, например разработчикам, архитекторам и другим IT-специалистам.

Зарегистрироваться 👈

Теги:
Рейтинг0
Комментарии0

вот код, позволяющий создавать экземпляры экземпляров:

const Cstr = function () {
    const Self = function () {};
    Object.setPrototypeOf(Self, this);
    return Self;
};

const item = new Cstr;

console.log('item instanceof Cstr : ', item instanceof Cstr);

const itemInstance = new item;

console.log('itemInstance instanceof item : ', itemInstance instanceof item);

вот Gist где кода больше и лучше, там экземпляры вглубину тоже наследуются, но там намного соложней и очень долго, зато 200 строк console.log'ов :
https://gist.github.com/wentout/8a2631fd5cc5827df5946b9b6598bf99

вот статья про этот код, но там душно, и форточки закрыты:
https://habr.com/ru/articles/939050/

; ^ )

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии2

Разбор ошибки Blender has stopped working / Разбор похожих ошибок / Как защитить свои файлы от утери

Ошибка во время скульптинга / Ошибка во время попыток переноса сломанного файла
Ошибка во время скульптинга / Ошибка во время попыток переноса сломанного файла

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

У меня проблема возникла во время скульптинга, файл сам по себе имел большой вес, когда я хотел закрыть проект, произошёл автосейв и получился тайминг, который и сломал модель, это я сделал вывод исходя из поиска решения. Что я делал, чтобы исправить ошибку: Blender crashes opening certain file.

Проект весил более 80 mb, имел версию 4.5.1 LTS.

Пункты я расставил в приоритетном порядке. То, что поможет точно — принудительная выкачка файлов со сцены.

Та самая выкачка файлов.
1. Открыть новую сцену -> File -> Append -> выбираем наш файл -> выбираем и по пунктам добавляем файлы -> осторожно с файлом scene — он может быть багнутым, и программа вылетит. \
2. Зайти в папку autosave и открыть прошлые сохранения, но если вы, как я, их удалили случайно или у вас их нет, то задумайтесь. \ *Если вы их удалили, то даже не думайте о программах для восстановления удалённых данных, я через это прошёл и могу сказать, что файлы после восстановления будут сломаны, но на файлы сцены, которые весят меньше 2mb может и сработает, но это до сотни полигонов :)
3. Открыть дополнительные сохранения, они находятся там же, где и сам файл, имеют тег blend1, blend2 и т. д. Рекомендую вам настроить их количество. Это делается там же, где и autosave. Функция называется «Save versions». \


Решение проблемы без выкачки.
- Скинуть файл доверенному другу, если открывается и у него, то пробуем все остальные способы. Если нет, можно на способы ниже не надеяться (но лучше попробовать) и сразу приступать к выкачке данных со сцены.
- Пытался запустить файл от имени администратора, через командную строку, через различные запуски блендера со специфическими ограничениями (запустить на базе OpenGL и т. д.). Запустить blender можно по-разному, достаточно глянуть его расположение, и можно увидеть много приложений cmd для аварийного запуска программы.
- Пытался проверить абсолютно все обновления PC, переустановил разные версии обновлений для видеоядра.
- Пытался открыть проект на других версиях (на версии 4.3 он не запускается, на версии 5.0 крашится). Версия 5.0 имеет нововведения по устранению багов.
- Пытался отключить кастомные аддоны.
- Пытался переустановить Blender.
- Пытался использовать Steam-версию Blender.
- Пытался открыть файл в другом расположении. В другой папке под другим именем, поменяв русский на английский. «Мачете» -> «Machete».
- Были попытки перезапуска компьютера. (Несколько раз комбинируя разные методы.)
- Я не пробовал, но как способ — запустить blender на другой видеокарте или без неё.


Что мне помогло? -Выкачка файлов через append и только..
Что я поменял? -Я сделал расположение временных файлов в другом месте, там я точно их не удалю, я увеличил количество сохранений до 5 (которые имеют тег blend1, blend2 и т. д.)
Я узнал о других ошибках и о их решениях, чаще начал сохранять файлы, больше появилось доверия к сообществу 3d.
Я нашёл решение сам, но спустя 2 часа решения, мне написали много вариантов, из которых и было тоже моё решение, это не может не мотивировать делать также.


Сайт с багами сообщества Blender - https://projects.blender.org/blender/blender/issues
Сайт с новыми версиями Blender - https://builder.blender.org/download/daily/
Сайт с подробным списком версий Blender - https://download.blender.org/release/


Буду благодарен за распространение данной информации, сократим проблемы нашим коллегам.

Теги:
Рейтинг0
Комментарии0

Ближайшие события

Приглашаем на BIS Summit 2025

18 сентября в Москве на конференции BIS Summit 2025 соберется сообщество специалистов по ИБ, чтобы обсудить ключевые вызовы и будущее отрасли.

В программе:

  • Пленарные сессии «Диалог с регулятором» и «Диалог с бизнесом».

  • Актуальные темы на дискуссионных секциях от спикеров-экспертов и лидеров рынка.

  • Продуктивный нетворкинг и выставка решений ведущих разработчиков СЗИ.

Программа мероприятия — на сайте конференции.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Интеграция PVS-Studio c SGRC SECURITM

Компания PVS-Studio и платформа Securitm заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps.

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

Отчёт анализатора PVS-Studio стало возможным загрузить в Securitm для дальнейшего использования с помощью пользовательского интерфейса системы.

Подробнее о том, как загрузить отчёт анализатора PVS-Studio в систему Securitm можно прочитать в посвящённом этому разделе нашей документации.

Также мы с коллегами из Securitm провели совместный вебинар, на котором обсудили, как обеспечить соблюдение требований ГОСТ в области РБПО, а также показали реальные примеры использования PVS-Studio и Securitm.

Теги:
Рейтинг0
Комментарии0

🚀 FineBI Live: 3 эксклюзивных вебинара, которые нельзя пропустить!

Друзья, у нас для вас крутая новость! GlowByte запускает серию практических вебинаров по FineBI — и это будет жарко 🔥

Что вас ждет в августе-сентябре:

28 августа, 16:00 → FineReport Pro
Создаём pixel-perfect отчёты как настоящие профи! Покажем интеграцию с 500+ источниками данных и разберём реальные кейсы

2 сентября, 16:00 → AI-революция в аналитике
AI-агенты в BI — это уже не фантастика! Увидите live demo и узнаете о кейсах использования среди клиентов.

4 сентября, 16:00 → FineVis 3D-Demo
Создание 3D-модели склада за 15 минут? Легко! Плюс умные города и цифровые двойники производств

Два способа участвовать:

✅ Только live-вебинары (для быстрой оценки)
Полный ретрит (13 уроков + материалы + домашки)

Для кого: Аналитики, BI-специалисты, руководители, все кто работает с данными и хочет прокачаться 💪

Регистрируйтесь на все сразу — вебинары дополняют друг друга!
https://clck.ru/3NmgtU

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Совет по Joomla: расположение полей Form в параметрах модулей и плагинов.

Обычно поля настроек модулей и плагинов идут столбиком - сверху вниз. Название поля находится слева, а само поле - справа. В вёрстке админки мы видим div.control-group, в котором находятся label и поле. Посмотрим как можно просто кастомизировать админку.

Название поля НАД полем - parentclass="stack".

Если в XML-манифесте модуля или плагина добавить к полю атрибут parentclass, то мы можем указывать любые CSS-стили для div.control-group. Если указать CSS-класс stack, то название поля встанет над самим полем. Это удобно для больших сабформ - экономится место на экране.

<field type="text"
     name="map_center"
     label="MOD_WTYANDEXMAPITEMS_MAP_CENTER"
     description="MOD_WTYANDEXMAPITEMS_MAP_CENTER_DESC"
     default="51.533562, 46.034266"
     hint="51.533562, 46.034266"
     parentclass="stack"
/>

2 и более полей в ряд в параметрах модуля/плагина - классы span-*

Мы можем 2 или 3 небольших поля поставить рядом (для десктопов). Табы настроек являются grid-сеткой из 4-х колонок. Для поля можно указать ширину в виде количества колонок. Нам нужно в parentclass добавить класс span-*-inline. Допустимы числа от 1 до 4.

span-1-inline - поле будет шириной в 1 колонку сетку. span-4-inline - ширина в 4 колонки, равносильно поведению по умолчанию. Этот код выведет 2 поля в админке в параметрах модуля рядом на десктопах. Поскольку используется также класс stack - название поля будет над самим полем.

<field type="list"
     name="map_zoom"
     label="MOD_WTYANDEXMAPITEMS_MAP_ZOOM"
     default="7"
     parentclass="stack span-2-inline"
     filter="integer">
          <option value="0">0</option>
          <option value="1">1</option>
          <option value="21">21</option>
</field>
<field type="list"
     name="map_type"
     label="MOD_WTYANDEXMAPITEMS_MAP_TYPE"
     parentclass="stack span-2-inline"
     default="scheme">
          <option value="scheme">MOD_WTYANDEXMAPITEMS_MAP_TYPE_MAP</option>
          <option value="satellite">MOD_WTYANDEXMAPITEMS_MAP_TYPE_SATELLITE</option>
</field>

Чат русскоязычного сообщества Joomla

Теги:
Рейтинг0
Комментарии0

В Рег.ру запустили публичное облако для работы с персональными данными

Делимся важным апдейтом команды Рег.ру — запустили защищенное облако по модели IaaS. Облако 152-ФЗ полностью соответствует требованиям закона по работе с персональными данными. Новое решение размещено в изолированном сегменте ЦОД с повышенными стандартами безопасности и аттестовано лицензированным партнером по максимальному уровню защищенности (УЗ1).

Как работает безопасное облако: сетевой сегмент отделен от других клиентских сетей, используются межсетевые экраны с системами обнаружения вторжений, а также средства канального шифрования и доверенной загрузки. 

Переход на защищенную платформу позволит пользователям решать комплексные задачи: не только ускорять запуск проектов и снижать затраты на IT-инфраструктуру, но и соответствовать правилам обработки персональных данных.

Мы продолжаем усиливать экспертизу в области безопасности — новое решение стало еще одним шагом в этом направлении. Подробнее об Облаке 152-ФЗ читайте на сайте.

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Совет по Joomla: расположение полей Form в параметрах модулей и плагинов.

Обычно поля настроек модулей и плагинов идут столбиком - сверху вниз. Название поля находится слева, а само поле - справа. В вёрстке админки мы видим div.control-group, в котором находятся label и поле. Посмотрим как можно просто кастомизировать админку.

Название поля НАД полем - parentclass="stack".

Если в XML-манифесте модуля или плагина добавить к полю атрибут parentclass, то мы можем указывать любые CSS-стили для div.control-group. Если указать CSS-класс stack, то название поля встанет над самим полем. Это удобно для больших сабформ - экономится место на экране.

<field type="text"
     name="map_center"
     label="MOD_WTYANDEXMAPITEMS_MAP_CENTER"
     description="MOD_WTYANDEXMAPITEMS_MAP_CENTER_DESC"
     default="51.533562, 46.034266"
     hint="51.533562, 46.034266"
     parentclass="stack"
/>

2 и более полей в ряд в параметрах модуля/плагина - классы span-*.

Мы можем 2 или 3 небольших поля поставить рядом (для десктопов). Табы настроек являются grid-сеткой из 4-х колонок. Для поля можно указать ширину в виде количества колонок. Нам нужно в parentclass добавить класс span-*-inline. Допустимы числа от 1 до 4.

  • span-1-inline - поле будет шириной в 1 колонку сетку.

  • span-4-inline - ширина в 4 колонки, равносильно поведению по умолчанию.

Этот код выведет 2 поля в админке в параметрах модуля рядом на десктопах. Поскольку используется также класс stack - название поля будет над самим полем.

<field type="list"
     name="map_zoom"
     label="MOD_WTYANDEXMAPITEMS_MAP_ZOOM"
     default="7"
     parentclass="stack span-2-inline"
     filter="integer">
          <option value="0">0</option>
          <option value="1">1</option>
          <option value="21">21</option>
</field>
<field type="list"
     name="map_type"
     label="MOD_WTYANDEXMAPITEMS_MAP_TYPE"
     parentclass="stack span-2-inline"
     default="scheme">
          <option value="scheme">MOD_WTYANDEXMAPITEMS_MAP_TYPE_MAP</option>
          <option value="satellite">MOD_WTYANDEXMAPITEMS_MAP_TYPE_SATELLITE</option>
</field>
Теги:
Рейтинг0
Комментарии0

Митап PythoNSK #1 2025: Оффлайн встреча питонистов в Новосибирске

Дата: 13 сентября 14:00-17:00 (UTC+7)
Адрес: Новосибирск, улица Ленина, 71, Новосибирск, "Этаж"

13 сентября - 256 день в году. Именно в эту символичную дату, день программиста, мы проводим первый оффлайн митап для питонистов в Новосибирске. И мы начинаем свою деятельность!

У нас на митапе будут:

1️⃣ Лекции:

  1. "Как работают гринлеты в SQLAlchemy", Алексей

  2. "Десктоп-разработка на PySide6", Роман

2️⃣ Интерактив:

  1. Небольшая викторина по Python с призом в виде книги "Грокаем алгоритмы, 2е издание", Адитья Брахгава.

3️⃣ И под конец - онлайн встреча с Никитой Соболевым, CPython Core Developer'ом.

Регистрация: https://docs.google.com/forms/d/e/1FAIpQLSePMDs21rFwWkRGCEsC5s8TsOjBKR0K8a9VIXgebjNxvNxxYg/viewform?usp=dialog

Количество мест ограничено.

Телеграм-чат: https://t.me/python_in_nsk

Митап некоммерческий, бесплатный

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии0