Все потоки
Поиск
Написать публикацию
Обновить

Все потоки

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

Прячем секреты приложения. Как Kubernetes помогает защитить ваши данные?

Разберём на бесплатном вебинаре!

Виталий Лихачев, SRE в нидерландском тревелтехе и Максим Киселев, руководитель разработки Deckhouse Stronghold встретятся, чтобы обсудить:

  • Как правильно спроектировать приложение, чтобы оно безопасно получало конфигурацию при работе в Kubernetes

  • Как избежать утечек секретов

  • Почему хранить секреты в Vault безопаснее, чем где-то ещё

  • Что делать, если часть конфигурации — это конфиденциальная информация.

Когда: 27 августа в 19:00 МСК

Разработчики, подключайтесь. Пообщаемся, поспорим и разберём реальные кейсы 🔥

Занять место на вебинаре и получить напоминание о встрече — в боте.

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

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

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

Спикеры:

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

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

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

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

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

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

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

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

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

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

Это птица… Это самолет… Это ваша статья на Хабре в космосе! 

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

Принять участие очень просто: поставьте тег «Космотекст» на материале, опубликованном с 1 июля по 31 августа — и все, вы участвуете. Авторы получат тематические ачивки в профиле и смогут выиграть крутой мерч. А для самых везучих — кое-что по-настоящему космическое… Суперприз конкурса — экскурсия на космодром Байконур! 

О чём можно написать?

О чём хотите! Хабр — про технологии в самом широком смысле. Расскажите о технологических открытиях, поделитесь своими знаниями или объясните то, в чём хорошо разбираетесь и хотите, чтобы другие тоже поняли — главное, чтобы было увлекательно и полезно. 

Важно: в космос отправятся только тексты — без изображений и символов юникода, потому что на борту спутника есть ограничение в 75 Кб за сеанс передачи данных. Статья должна быть максимально информативной, читаемой и понятной даже без иллюстраций. 

А еще! Вступайте в наше сообщество для авторов Технотекст  — в нем мы будем делиться подборками лучших статей, проводить эфиры о том, как преодолеть страх писать на Хабр и там же мы разыграем мерч. А если есть вопросы по участию, пишите нам на special@career.habr.com, постараемся быстро помочь.

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

Узнайте, как с помощью 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

GoSharp Weekend — летняя перезагрузка для backend-разработчиков: доклады, гастробар, музыка на закате.

Приглашаем C#- и Go-разработчиков уровня middle+ на инженерный фест команды Ozon Tech в центре Москвы.
И онлайн тоже ждём!

GoSharp Weekend — это серьёзные доклады + неформальное общение + фестивальное настроение: музыка, напитки, мороженое.

Расскажем, как меняем конфиги микросервисов в K8s прямо на проде.
Поделимся подходами к оптимизации, которые повышают конверсию пользователей.
Обсудим, как защитить домен от DDOS.
Из воды — только Москва-река.

Полную программу смотрите на странице события. И регистрируйтесь там же.


Выбрали классную локацию в самом центре столицы. Пригласили диджея. Продумали кейтеринг. Расставляем шезлонги и ждём вас. Офлайн-заявки проходят модерацию, онлайн трансляция доступна всем.

До встречи на GoSharp Weekend!

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

Я читал книги про стартапы неправильно - и это убивало мой прогресс⁠⁠

Я тратил часы на «правильные» книги: Lean Startup, Zero to One, Founders at Work.
Читал, выделял цитаты, пересказывал друзьям.
И чувствовал себя молодцом.
Но на деле - стоял на месте.

Ошибка была в том, что я считал чтение действием.
Типа «разобрался в теории - значит сделал шаг вперёд».
А на практике - ноль: ни MVP, ни пользователей, ни метрик.

🔥 Суть в том, что книги нужны не для галочки, а как триггер к действиям:

  • Прочитал про customer discovery? 👉 иди и поговори с людьми.

  • Узнал про MVP? ⚡ собери лендинг за выходные.

  • Прочитал про метрики? 📊 настрой хоть простую табличку, а не сохраняй цитату в Notion.

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

Теперь у меня правило: «прочитал → сделал → проверил». ✅
И только так что-то сдвигается.

👉 Я делюсь такими инсайтами про indie-hacking, пет-проекты и запуск мини-SaaS у себя в телеге 🚀

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии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

Не того боитесь

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

Но бояться нужно не продаж и не рекламы. Бояться нужно бесплатных текстов, видео и разговоров с другими людьми. Почему?

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

Вот жили вы — не тужили. Ели курицу и свинину, а потом увидели репортаж, где зарезают свиней, а цыплят перемалывают на конвейере, и решили: «Никогда в жизни не буду больше есть мясо!»

Та-дам! — в этот момент вы купили идею вегетарианства, а дальше она уже откроет ваш кошелек, чтобы вы смогли купить ростки сои и брокколи. 

Бесплатный контент гораздо опаснее явной продажи. В случае продажи вы можете прочитать договор, соотнести ценность и принять решение, покупать или нет. А с бесплатным контентом — это не работает. Вы просто читаете текст, и либо он оставляет вас равнодушным (повезло!), либо новая идея (помимо вашей воли) поселяется в голове. Вы уже не можете развидеть несчастных цыплят и хрюшек. Вы обречены стать вегетарианцем.

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

А если серьезно, то очень многие наши убеждения именно так и сформировались. Мы усвоили взгляды родителей, близкого окружения и просто незнакомых людей в интернете, которым поверили, и неосознанно взяли их взгляды на вооружение. Хорошо, если эти взгляды нам помогают, но бывают и так, что они мешают. Как их обнаружить, если они не осознаются? А вот так (на примере убеждений, которые мешают зарабатывать).

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

Совет по 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

Мой обход блокировок Telegram и WhatsApp (колхозный?)

Живу в за пределами России и часто общаюсь с родственниками и друзьями из России.
Основное общение всегда было через Скайп, Telegram и WhatsApp.

Скайп помер в Мае, а когда звонки начали глючить в Telegram и WhatsApp, сначала подумал, что у мамы Wi-Fi тупит.
Просил перезагрузить роутер, попробовать выйти на улицу. Затем спросил знакомых, почитал новости и прозрел - звонки глючат у всех.
MAX.

Что попробовал:

  • VPN на телефоне → тяжело для пожилых родственников, NordVPN - два года подписки в топку.

  • Viber → работает, но нестабильно.

  • Zoom → громоздкий для простых звонков.

Нужен более простой и независимый способ.

Решение

После поиска остановился на Jitsi Meet — системе для видеозвонков с открытым кодом. Её можно развернуть на своём сервере и не зависеть от блокировок.

Настройка

  1. Поднял виртуалку на Ubuntu.

  2. Настроил pfSense с NAT и SSL.

  3. Установил Jitsi Meet в Docker.

Мои проблемы по пути:

  • DNS не резолвился → сделал Split DNS на pfSense.

  • SSL лучше сразу через Let’s Encrypt, без self-signed.

  • Компоненты Jitsi не стыковались → поправил конфиги.

  • Медиа не шло → открыл UDP 10000.

  • Пользователи за NAT всё равно не могли подключиться → добавил TURN-сервер.

Результат

Теперь у каждого есть ссылка вида https://calls.ДОМЕН/room1. Родственники открывают её в браузере или приложении, подключаются по линку, разговор без ограничений.

Решение получилось достаточно простым в использовании и устойчивым к блокировкам.

Скрипты и инструкции:
http://softcreator.com/static/temp/jitsi_deployment.tar.gz

Notes:
1. В инструкциях я выделил переменные, которые нужно заменить на свое окружение (экономит время).
2. Уверен, вокруг масса инструкций по установке Jitsi, но я ориентировался на простоту установки и селф-хостинг на домашнем бесполезном ноуте.
Такие инструкции не нашел, поэтому наколхозил для себя сам.
3. Первый пост на Хабре за 10+ лет чтения. Сильно не пинайте.

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

Я узнал о... #3: DevOps фреймворк DORA

DORA - это DevOps фреймворк из 4-х метрик, которые помогают оценить эффективность и качество релизного процесса.

Фреймворк придумала компания с таким же названием (DevOps Research and Assessment). Скорее всего, чтобы проще продавать свой консалтинг. В 2018-м году эту компанию купил Google Cloud и сделал своей... командой.

Вообще, про эти метрики в том или ином виде я знал. Но не знал, как они систематизированы и по-умному называются.

Собственно, сами метрики:

1) Частота деплоя (deployment frequency)

Показывает, насколько адекватный уровень автоматизированного тестирования. И умеет ли команда релизить точечно, а не сразу всё.

Критерии:

  • отлично: несколько раз в день;

  • хорошо: раз в 1-7 дней;

  • средне: несколько раз в месяц;

  • плохо: реже, чем раз в месяц.

2) Время от коммита до деплоя (Lead Time)

Показывает, как долго мы тормозим с бюрократией после момента, когда код уже готов. Низкое значение - неэффективное тестирование, процессы ревью или разработки.

Критерии:

  • отлично: меньше дня;

  • хорошо: от 1-го до 7 дней;

  • средне: 7-30 дней (*по оценке компании DORA, я бы сказал, что это плохой результат);

  • плохо: дольше месяца.

3) % сбоев после релиза (Change Failure Rate)

Показывает, как часто мы ломаем прод релизами. Что говорит о том, насколько хорошо мы прорабатываем требования, умеем тестировать и в целом о предсказуемости того, что мы выкладываем.

Критерии (% релизов, которые привели к сбою):

  • отлично: <5%;

  • хорошо: <10%;

  • средне: <15%;

  • плохо: >15%.

4) Скорость восстановления (Mean Time To Recovery)

Показывает, как быстро мы поднимаем прод, если он сломался (упал, пришёл DDOS, выключились сервера). А ещё, умеем ли мы определять и измерять сбои. Упавшим продомом считается или факт того, что существенная часть системы недоступна, или коммит с hotfix'ом.

Критерии (как быстро поднимаем прод):

  • отлично: меньше часа;

  • хорошо: меньше дня;

  • средне: меньше дня;

  • плохо: больше дня.

Когда это нужно?

Для себя я выделил три критерия, когда эти метрики имеет смысл считать:

  1. Когда есть конкретный продукт в активной стадии развития с постоянной командой хотя бы из 3-5 разработчиков. Т.е. это не что-то, что получает несколько фич в месяц или находится в стадии активного саппорта.

  2. Когда компания большая, в которой появилось много команд с продуктами и нужно выстроить хоть какое-то понимание в среднем по компании. Вот тут, кстати, важно не начать погоню за метриками, т.к. все внутренние проекты живут в своём темпе. Нельзя выставить одинаковые метрики всем поголовно в качестве KPI.

  3. Когда СТО\CIO нужны хоть какие-то метрики для отчётности. Чтобы объяснить инвесторам или нетехнической части C level'a, что в компании или команде хороший DevOps процесс (или, наоборот, плохой).

DORA метрики измеряются через GitLab или почти любую другую систему CI \ CD. GitLab умеет считать всё это из коробки. За исключением, наверное, падения прода (что тоже можно добавить вручную или вебхуками \ alert manager'ами).

---

Мой Telegram канал про разработку.
Мой open source проект для бекапа PostgreSQL - GitHub.

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

Уже через неделю, 28 августа, встречаемся на RecSys Meetup!

Когда? 28 августа, старт в 18:00
Где? Москва + онлайн-трансляция

Обсудим актуальное из мира рекомендаций: от передовых архитектур для построения Semantic IDs и их внедрения в продуктивные системы, до тонкостей балансировки интересов пользователей и продавцов маркетплейса с помощью онлайн-доранжирования и байесовской оптимизации.

В программе: 

  • «Semantic IDs: архитектура и наш опыт внедрения» | Александр Тришин, Data Scientist в команде персональных рекомендаций

  • «Счастье пользователя vs счастье продавца. Онлайн-доранжирование и байесовская оптимизация в товарных рекомендациях» | Андрей Ветров, Data Scientist в команде товарных рекомендаций

  • «Как мы обучаем CLIP-ы для текстовых тегов» | Михаил Киндулов, CV Engineer в команде Поиска по фото

  • «Трансформеры в персональных рекомендациях: от гипотез до AB-тестирования» | Иван Ващенко, DS Stream Lead в команде персональных рекомендаций

Регистрация уже открыта! PS: для участия в офлайне регистрация обязательна.

А больше о митапе и развитии ML/DS в Wildberries & Russ — ищите в WB Space.

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