Обновить

Разработка

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

OpenAI представила свою новую модель — GPT-5.2. Модель прокачали в офисной рутине, она умеет создавать хорошие презентации и таблицы. Также в ней улучшен кодинг и контекст. Теперь модель дольше и лучше помнит, о чём общалась с пользователем. Свежие знания до августа 2025 года. Модель почти не ошибается: на 30% меньше галлюцинаций по сравнению с GPT-5.1.

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

@Regnar, навеяло статьёй

Свалился на меня «последний из 32-битных могикан», но машинка прямо финал возможностей архитектуры — насколько я понял, видит спокойно 8 гигов рамы (PAE во все поля?), слотов не пожалели, в общем, в такое чудо бы камень хотя бы на 2 ядра, но, увы…

Я его практически не смотрел ещё и ХЗ когда посмотрю (вроде не совсем мёртвая), но превентивно задам вопрос. Допустим, поставил я туда 32-битный BunsenLabs. Допустим, я хочу запустить какое-нибудь 64-битное приложение, которое в 32 битах давно уже не обновляется. Допустим, мне пофиг, что там в плане скорости (очень важное допущение, потому что оно как бы понятно, что там будет).

Насколько это реально — настроить для него резервативию… презервацию… короче, специально обученный загон с софтовой эмуляцией 64 бит? Существуют ли решения? Чтобы их установить и отконфигурировать, обязательно пройти все круги ада, как в той статье?

Практического смысла это по понятной причине не несёт — просто пятничное.

Теги:
-2
Комментарии0

Доброго всем. Первая публикация, прошу не особо...

Не стану растекаться мыслью по древу, пост - следствие поиска по запросам типа "как лучше вставить и анимировать SVG иконки", и подобным в том же ключе. Так как самыми релевантными ответами поиска не удовлетворён, решил написать свой, во-первых, чтобы услышать сообщество. Мало ли, возможно технология уже вовсю применяется в фреймворках, и на поиск все забили "всё и так слишком очевидно".
Во-вторых, сам до сих пор копаюсь в ванильном, поэтому, если старшие товарищи найдут сей вариант приемлемым, пусть пост останется как справка, вроде "а чё, так можно было?". Если же такая практика не применима по ряду пока неизученных мной причин, пост тоже пусть остаётся дополненный комментариями, как пример того "как не надо делать". В общем.

Решил упаковать спрайт в Web Components. Для примера взял отображение файловых иконок, за подопечных три распространённых файловых формата .docs, .xls, .pdf. Раз уж мне и так пришлось испытать муки отсутствия музы( вообще ни разу не художник), прошу отнестись с пониманием к внешнему виду конечного продукта. Упор был на простоту, контролируемость, компоновку. В том смысле, что косметика человеком с утончённым восприятием этого мира может быть применима отдельно.
Да, и ещё один аспект постарался обыграть - наличие общих свойств для всех иконок, коими выбрал подложку, и текст mime типа, и уникальные для каждой иконки элементы, ими выступили "брендовые" цвета и элементы. Так, выбор иконок файловых форматов для спрайта показался оптимальным.
Далее, в общем код(сокращённо, рабочий пример по ссылке), совсем немного к нему объяснений и ссылка на песочницу. И, само собой, ожидание комментариев.

customElements.define("wc-icon-file",
  class WC_ICON_FILE extends HTMLElement {
    constructor() {
      super();
      this.#preform = '';
      this.#mime = '';
      this.#unic = '';      
    }  
    connectedCallback() {
      this.init();
      this.innerHTML=this.#preform;
    } 
    init() {
      this._mime = this.getAttribute('data-mime');
      let availableMime = {
        xlsfile: `<g class="wc-icon-${this.#mime}">
          <line style="stroke-width:3;stroke-linecap:butt;" x1="13" x2="17" y1="24" y2="24"/>
          <line style="stroke-width:3;stroke-linecap:butt;" x1="18" x2="22" y1="24" y2="24"/>
          // и т.д.
          <text x="8" y="19" class="f-mime">.xls</text>
          </g>`,
        docfile: `<g class="wc-icon-${this.#mime}">
          <line style="stroke-width:1.8;stroke-linecap:round;" x1="20" x2="24" y1="23" y2="23"/>
          <line style="stroke-width:1.3;stroke-linecap:round;" x1="16" x2="30" y1="27" y2="27"/>
          // и т.д.
          <text x="8" y="19" class="f-mime">.doc</text>
        </g>`,
          pdffile: `<path class="wc-icon-${this.#mime}" d="m 21.963376,23.938571 // и т.д. />
          <text x="8" y="19" class="f-mime">.pdf</text>` 
        }      
        this.#unic = availableMime[this.#mime];
        this.#preform = `<svg class="wc-icon-file" viewBox="0 0 48 48">
           <path class="${this.#mime}" d="M13.528 3.087 30 3l8 9-.316 28.075c-.035 3.151-1.09 
            4.143-3.716 4.11h-20.44 c-2.303.095-3.676-.718-3.716-4.11V7.197c-.03-2.459
            1.504-4.198 3.716-4.11z"/>
            ${this.#unic}
            </svg>`
  }; 
});
let wcIconFile = document.createElement('wc-icon-file');
// export {wcIconFile} по необходимости

Сам компонент на странице объявляется как обычно:

<wc-icon-file data-mime="xlsfile"></wc-icon-file>
<wc-icon-file data-mime="docfile"></wc-icon-file>
<wc-icon-file data-mime="pdffile"></wc-icon-file>    

Код прокомментирую на предмет того, что в init() пришлось соблюсти порядок объявления переменных. Для определения схожих классов с разными "модификаторами" сначала брался атрибут в компоненте. По нему же делалась выборка this.#unic впоследствии вставляемая в this.#preform . Стили здесь не привожу, отмечу лишь, что настройки :hover и анимации там вполне работают.

Благодарю, что уделили время.

Теги:
+3
Комментарии3

20 демо-уроков, которые нельзя пропустить бэкенд-разработчикам

Привет, Хабр. Сегодня делимся подборкой открытых уроков, которые пройдут в Otus в декабре. Уроки проводят преподаватели курсов в формате живых вебинаров — это шанс не только получить нужные знания, но и задать свои вопросы экспертам. Участие бесплатное (нужно только зарегистрироваться). Присоединяйтесь!

Полное расписание бесплатных демо-уроков смотрите в календаре.

Теги:
+4
Комментарии0

Как GUDDA сэкономила в три раза, развернув инфраструктуру для 1С в облаке

👨‍💻 Что за компания

GUDDA — это сеть ломбардов, магазинов электроники и ювелирных изделий. У компании есть филиалы в разных городах России, например Ростове-на-Дону, Азове, Батайске, Каменск-Шахтинске, Новочеркасске, Таганроге и Шахтах. GUDDA дает краткосрочные займы под залог, покупает и продает украшения, гаджеты и технику.

🕵️ Какая была задача

IT-инфраструктура GUDDA изначально строилась по подходу cloud native: часть инфраструктуры разместили в частном контуре, а в облаке — системы, нагрузка на которые возрастала по ходу развития бизнеса.

Компания хотела нарастить мощности для баз 1С, SQL-серверов и системы резервного копирования, поэтому решила реализовать мультиоблачную стратегию. Для этого GUDDA начала искать еще одного облачного провайдера.

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

👨‍🔧 Как ее решили

GUDDA в течение месяца тестировала сервисы Cloud.ru, подбирала оптимальные конфигурации процессоров и накопителей. Менеджер со стороны провайдера всегда была на связи и быстро направляла к нужным техническим специалистам, если появлялись вопросы по работе сервисов или настройке инфраструктуры.

К концу теста компания попробовала все варианты и четко знала, что реализует и сколько это будет стоить. В итоге клиент выбрал виртуальный ЦОД с высокочастотными процессорами 3,5 ГГц. 

Для миграции мы предоставили GUDDA выделенный канал с гарантированной средней скоростью 500 МБ/с — это позволило быстро перенести данные в облако. Компания получила готовую облачную инфраструктуру, в которой меньше чем за час развернула и настроила нужные виртуальные машины.

📈 Что в результате

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

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

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

Теги:
-2
Комментарии0

Привет, приятно когда kui увеличивается, даже если увеличился совсем чуть-чуть. Добавил команду helm uninstall.

helm uninstall
helm uninstall

Творите, выдумывайте, пробуйте!)

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

Премьера года: знакомьтесь с DataForge!

Вебинар — 16 декабря, 12:00

Друзья, делюсь новостью, которой горжусь: коллеги запускают премьерный вебинар и впервые подробно покажут DataForge — новую российскую self-service платформу для централизованного управления аналитическими данными.

Я внимательно следила за развитием этого продукта и на некоторых этапах принимала участие в обсуждениях — особенно за те функции, которые лично для меня, как аналитика, принципиально важны:
— быстрый сбор и систематизация витрин
— возможность видеть и настраивать бизнес-логику
— единый подход к расчётам для всех систем без бесконечного ручного труда в Excel

DataForge — это инструмент, который сам собирает и поддерживает Data Mart слой для любых связанных систем. Особенно актуален для тех, кто строит витрины на ClickHouse: автоматическая генерация витрин, согласованность расчётов для всех потребителей данных — и всё это без лишних доработок со стороны разработчиков.

О чём расскажут на вебинаре:

  • Какие задачи решает DataForge и как ускоряет работу всех подключённых систем, включая BI

  • Как устроена структура продукта: его место в архитектуре и ключевые компоненты

  • Подробно покажем семантический слой: реестры показателей, измерений, единая бизнес-логика

  • Как работает автоматическая генерация SQL и публикация витрин в базе

  • Как DataForge обеспечивает согласованность метрик и прозрачность данных в любых BI-инструментах

  • Как платформа автоматически транслирует изменения в бизнес-логике во все связанные системы

Спикеры:
Технический директор и владелец продукта DataForge

Формат:
Онлайн, 1 час живого диалога с экспертами, включая демонстрацию интерфейса и ключевых возможностей платформы

Участие бесплатное!

Регистрация по ссылке

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

Слои валидации

Когда говорят "валидация", обычно подразумевают любое правило, которое должно защитить систему от неправильных данных. Но внутри этого большого слова скрываются разные типы и цели проверок, которые еще и выполняются на разных уровнях приложения. Разберем:

Валидация на клиенте (если он есть)

Сюда входит формат данных, обязательность полей и так далее. Чуть сложнее, когда надо проверять, например, уникальность имени пользователя или емейла, в этом случае придется ждать отправки или делать запросы на бекенд во время заполнения. Главное что надо знать про эту валидацию, то что она вспомогательная. Клиент всегда можно обойти и сделать запрос напрямую. Дублирование как ни крути, хотя и важно для UX.

Структурная валидация

Это валидация, которая, обычно, происходит на уровне самого фреймворка или в самом начале цикла обработки запроса. Для этого данные прогоняются через валидаторы json схемы, которая в идеале генерируется из openapi спеки. В самых деревянных случаях ручками (так делать не надо). Что важно понимать, это не доменная валидация (бизнес правила). Да тут можно проверить формат, наличие/отсутствие, но нельзя и не правильно пытаться проверять уникальность, выполнение каких-то условий, например количества денег на счету и тому подобное.

Кстати с точки зрения кодов ответа, на этом уровне несовпадение со схемой воспринимается не как ошибка валидации, а как неверный запрос с неверной структурой, а это код ответа 400.

Доменная валидация

Это уже уровень бизнес правил. Такая валидация включает в себя любые правила, которым должны соответствовать данные с точки зрения бизнес-логики приложения. Уникальность email, баланс на счету, ограничения переходов - все это относится к доменному слою, и проверяется глубже, после прохождения проверки структуры. Во фреймворках это слой, который часто реализуется внутри моделей (если они есть). В любом случае такие валидации должны быть вынесены в какой-то свой слой, который можно переиспользовать для разных точек входа, асинхронной обработки и т.п.

Доменные проверки, как и клиентские могут дублироваться, если завязаны на консистентность базы данных. Например во многих фреймворках (с orm) есть валидация на уникальность, которая делает sql-запрос, но в документации у этого валидатора всегда написано, что это не надежно (из-за конкурентности) и в таких ситуациях обязательно делать индексы в базе данных.

В случае провала такой валидации, в api принято возвращать код 422

Валидация на уровне базы данных

Все предыдущие уровни не могут дать 100% гарантий, особенно учитывая, что данные в базе обновляются далеко не только по запросам снаружи. Поэтому есть вещи, которые обязательно делать на уровне базы данных. Сюда относятся уникальные индексы, внешние ключи (если делаете их), nullable, ограничение по длине и т.д. Технически многие базы данных позволяют писать кастомные валидации, которые соблазнительно использовать как доменную валидацию. Не надо этого делать :)

Проверка корректности данных

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

Подобные проверки делают в первую очередь на клиенте (и на этом можно было бы остановиться). Внутри бека их располагают в слое форм (есть далеко не во всех фреймворках), либо некоторые фреймворки типа rails для простоты пихают такой валидатор в модели, хотя семантически это неверно.

Больше про разработку в моем телеграм-канале Организованное программирование

Теги:
+3
Комментарии0

Прошли аттестацию высшего уровня защиты данных УЗ-1 🛡

Официально подтвердили максимальный уровень защищенности нашей инфраструктуры.

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

➖ Локации: Москва, Санкт-Петербург, Новосибирск
➖ Защита: аппаратные межсетевые экраны, IDS/IPS, сканирование уязвимостей, контроль целостности среды виртуализации

Ссылка на документы →

Теги:
+11
Комментарии5

Демонстрационный атлас Luxms BI: лучшие практики в одном месте

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

Атлас содержит более 40 демонстрационных дэшбордов, каждый из которых показывает конкретную функцию Luxms BI: от стилизации таблиц и условий форматирования до использования write-back, LPE-выражений, расширенного расчетного функционала и многого другого.

Каждый дэшборд – это компактный «мини-кейc». Справа – готовая визуализация, слева – объяснение, из чего она состоит и как настроена. Вы сразу понимаете механику, видите конечный результат и можете повторить его у себя в проекте.

Демоатлас Luxms BI
Демоатлас Luxms BI

Все примеры построены на локальных кубах, которые устанавливаются вместе с пакетом. Это значит, что можно изучить структуру данных и свободно экспериментировать с собственными сценариями.

Атлас объясняет, как решить большое количество прикладных задач: как покрасить строки в таблице, как настроить write-back, как выполнить расчет, как скрыть столбец, как настроить действие по клику, как внедрить интерактивные элементы и многое другое.

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

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

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

Зачем становиться IT-ментором и что на самом деле стоит за этим?

Работа IT-ментора — это не только передача знаний, но и неожиданные вызовы, развитие и личные открытия. В статье «Год в роли IT-ментора: неочевидные выводы, цифры и стоит ли оно того» автор делится опытом первого года в роли ментора: сколько времени это занимает, какие трудности возникают, и почему этот путь того стоит.

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

Если любите IT, хотите развиваться и задумываетесь о роли наставника — эта статья даст полезный взгляд «изнутри» и вдохновит на новые шаги в карьере.

Теги:
+2
Комментарии0

А кто в IT отрасли отвечает за одобрение решений типа ERP или Управление предприятием, холдингом?

Почему по умолчанию считается, что любой выпущенный любым вендором продукт из вышеуказанной линейки - это БИЗНЕС-ПОЛЕЗНЫЙ продукт, которым можно безопасно для бизнеса предприятия или холдинга пользоваться?

"Одобрено и куплено клиентом" - так себе критерий БИЗНЕС-ПОЛЕЗНОСТИ?

Например, никто в строительной отрасли или в медицине, не сможет запустить "проект" только по желанию клиента. Строить дом, который не выдержит нагрузок и "сложится" без соответствия сопромату и строительным нормативам/технологиям, или сделать операцию, по желанию клиента, без одобрения врача и соответствия медицинским рекомендациям/технологиям НЕЛЬЗЯ, какие бы бумаги не подписал клиент и как бы он не просил сделать так, как ему хочется! И это знают и принимают обе стороны (Клиент и Поставщик услуг)! И поэтому очень строгие допуски в строительную и медицинскую отрасли!

Почему в IT отрасли так МОЖНО!? Почему соответствие IT требованиям (безопасность данных, отсутствие багов и т.п.) - это достаточное условие для одобрения БИЗНЕС-ПОЛЕЗНОСТИ IT продукта! А как же соответствие прикладным БИЗНЕС регламентам/технологиям?

Кто сказал, что, например, 1С:ERP - это БИЗНЕС ПОЛЕЗНЫЙ продукт! Кто те эксперты и на соответствие каким прикладным бизнес-стандартам/технологиям они проверили соответствие и с какими результатами одобрили проверяемый продукт? Где это можно посмотреть? Хоть кто-то его возможности в прикладных аспектах проверял?

Почему результатов "автоматизация хаоса" недопустимо много и за это никто в IT отрасли не несет ответственности!? По аналогии: дом рухнул, клиент в результате операции заболел еще сильнее/умер - виноват сам клиент!? Не застройщик, не врач!? Этого не возможно представить!? А в IT отрасли - это НОРМА! Почему в IT отрасли считается, что в негативных результатах автоматизации хаоса однозначно виноват клиент, а не продукт IT вендора, который оказывается В ПРИНИПЕ не способен был решить тех проблем клиента, которые обещал решить? Чего только вендоры не обещают рекламируя свой продукт в стиле "наш продукт умеет все и решит все проблемы предприятия"! Но кто проверяет, правдивость этих утверждений? Кто проверяет, способен ли в ПРИНЦИПЕ продукт решить такие-то проблемы предприятий? Кто наказывает вендора за некорректную рекламу (за заведомую ложь)?

Мне кажется, на эту тему стоит задуматься?

PS Может существует какая-то процедура валидации (опытное внедрение в рамках разработки) перед выпуском продукта на рынок?

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

Совет по Joomla: использовать выключенное состояние для кнопок в списках элементов админки - listCheck().

Мы добавляем в тулбар панели администратора Joomla некую кнопку, которая что-то делает со списком id выделенных элементов и ajax-запросом отсылаем их в свой плагин. Но нам надо предупредить нажатия на кнопку в тех случаях, когда ни один элемент не был выбран. Для этого можно написать свою проверку на js. А можно воспользоваться встроенной в Joomla.

Добавить кнопку в тулбар Joomla 6.

use Joomla\CMS\Toolbar\Button\BasicButton;
use Joomla\CMS\Language\Text;

// ниже по коду, где-нибудь в плагине на onAfterDispatch()
// Предварительно проверяем в каком компоненте мы находимся по option из $app->getInput()
// пример из плагина, поэтому $this->getApplication()
$app = $this->getApplication();
// Берём текущий тулбар
$toolbar = $app->getDocument()->getToolbar('toolbar');

// Создаём кнопку
$button = (new BasicButton('send-to-indexnow'))
    ->text(Text::_('PLG_WTINDEXNOWSWJPROJECTS_BUTTON_LABEL'))
    ->icon('fa-solid fa-arrow-up-right-dots')
    ->onclick("window.wtindexnowswjprojects()");

// Добавляем кнопку в тулбар
$toolbar->appendButton($button);

Заблокировать кнопку тулбара Joomla, если не выбраны элементы списка.

Теперь нам надо проверить находимся ли мы в списке. Делаем это по view из $app->getInput().

if(in_array($app->getApplication()->getInput()->get('view'),
            ['categories','documentation','projects','versions'])
  ) {
        $button->listCheck(true);
}

И если мы в списке - используем метод $button->listCheck(true), который сделает проверку за нас. Если ни один элемент не выбран - кнопка в тулбаре Joomla будет заблокирована и JS-обработчик не будет вызван. Этот метод есть у всех классов кнопок, наследующих класс \Joomla\CMS\Toolbar\ToolbarButton.

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

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

Все еще тестируете мобильные приложения в браузере?

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

Давайте чуть-чуть расскажу, что у нас есть. Мы собрали материалы от практикующих экспертов из бигтеха, подробную теорию и практические задания. Вы освоите работу с API, логами и трафиком как на эмуляторах, так и на реальных устройствах.

А чтобы не возник вопрос: «А где мне тестировать, на своем телефоне что ли?», мы предусмотрели все. Каждый, кто запишется на курс, получит бесплатный промокод для доступа к ферме мобильных устройств. Это позволит вам тестировать приложения в реальных условиях и закрепить навыки.

Курс подходит для новичков. Для прохождения достаточно базовых знаний работы с компьютером. Развивайтесь и станьте экспертом в Mobile QA вместе с Академией Selectel.

Теги:
+4
Комментарии0

💥 Новое в Gramax 💥

Всем привет! Меня зовут Катя, я развиваю Gramax, open source-платформу для управления технической документацией. За последние 3 месяца мы сделали много новых полезных функций, коротко расскажу о самых важных.

  • Интеграция с GitVerse. Теперь в качестве хранилища можно использовать GitVerse. Как подключить GitVerse к Gramax читайте в статье.

  • Поддержка Gitea. Также добавили поддержку Gitea: доступно подключение в качестве хранилища и использование всех возможностей Gramax.

  • Экспорт в PDF и DOCX в собственных стилях. Можно настроить вид документа: добавить титульную страницу, оглавление, номера заголовков, собственные шрифты и отступы и так далее. Для DOCX — с помощью стилей, для PDF — с помощью CSS. Применяется при экспорте из приложения, портала документации и в CI/CD.

  • Новые возможности для статического сайта. В новой версии Gramax CLI поддерживается: развертывание в поддиректориюкастомная страница 404настройка стилейиндексациисбора метрик и логотипа.

  • Предпросмотр загруженных файлов. Теперь при клике на загруженный файл в статье открывается окно предпросмотра. Отображаются файлы форматов DOCX и PDF. Остальные форматы — скачиваются.

  • Улучшения поиска.

    • Новое ранжирование. Больший вес дается результатам, в которых искомое слово содержится в названии статьи или в одном из заголовков.

    • Переход к поисковой фразе. После клика на результат поиска статья откроется на том фрагменте, в котором есть поисковый запрос.

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

    • Поиск по свойствам в приложении. Если на статьях установлены свойства — в поисковой строке можно отфильтровать по ним.

    • Улучшение внешнего вида. Теперь в результатах есть указание на каталог, в котором содержится запрос. А также отображается иерархия заголовков в статье.

  • Улучшения Gramax Enterprise Server.

    • Разворачивание с помощью Helm. Добавили новый способ разворачивания Gramax Enterprise Server в Kubernetes.

    • Тестирование знаний. Реализовали модуль проверки знаний читателей: в статью можно добавить тест с разными типами вопросов. После прохождения статистика пользователей отобразится в панели администрирования.

    • Поиск по вложенным файлам. Теперь поиск учитывает не только контент статьи, но и контент из PDF и DOCX-файлов.

О других изменениях читайте в Release Notes.

Теги:
+5
Комментарии3

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

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

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

Получился насыщенный вебинар, который вдохновляет искать новые точки применения аналитики!

Смотрите вебинар на нашем сайте

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

Хочу немного поплакаться о поиске работы в IT…

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

Я — .NET backend-разработчик с опытом 6+ лет. Казалось бы, с таким бэкграундом я должен быть для HR вполне «лакомым кусочком». Но реальность оказалась совсем другой.

Постоянные отказы без объяснений. При том что резюме — нормальное, вычитанное, со смыслом. Все, кому я его показывал, говорили то же самое. И это, разумеется, бьёт по самооценке: появляется ощущение, что никому не нужен.

Складывается впечатление, что компании ищут кандидатов, которые совпадают с их стеком на 100%, и им плевать, что ту или иную технологию можно подтянуть за пару вечеров. Иначе я не могу объяснить, почему в вакансиях требуют конкретные библиотеки вроде Dapper или Autofac, которые изучаются буквально за вечер.

Есть ChatGPT и Gemini — хочешь, они разжуют любую тему. Но если в резюме не указал какую-то библиотеку — красный флаг. Отказ.
«Мы лучше ещё пару месяцев поищем кандидата, который совпадает на 100%, чем возьмём тебя». Примерно так это и выглядит.

А собеседования — отдельная песня.
По три этапа, каждый по часу. И ладно бы их можно было пройти за неделю, так нет — между этапами неделя перерыва. За это время уже как-то всё равно становится, возьмут тебя или нет. А когда после третьего этапа тебе в итоге не дают оффер — ощущение, что просто выкинул время в мусорку.

Про технические интервью я вообще молчу. Иногда спрашивают такую дичь, которая в реальной работе не нужна от слова «совсем». Например, у меня спросили разницу между структурой и классом. Я ответил по классике: копирование, расположение в памяти, наследование. Но от меня ожидали услышать ещё про блок синхронизации в объекте и почему структуры нельзя использовать в lock.
Может, я и читал это когда-то у Шилдта или Троелсена, но в реальной работе это знание ни разу не пригодилось.

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

И вот главный вопрос: зачем столько этапов?
Человек с каждым собеседованием становится опытнее, у него подвешивается язык, он понимает, что сейчас в моде спрашивать. Если где-то не ответил — проработает и на следующем собесе уже ответит. Так зачем превращать процесс в марафон длиной в месяц?

Да и честно говоря, всё равно все на собеседованиях врут. Потому что попробуй скажи правду — например:
«Мне надоело бесконечно ковыряться в легаси, поэтому я решил уйти».
Мгновенно получишь красный флаг.

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

А ещё последнее время любят оправдывать весь этот цирк «защитой от вкатунов с курсов».
Только проблема в том, что эта защита вообще не работает.

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

В итоге фильтруют не тех, кого нужно, а просто создают лишние барьеры.

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

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

Теги:
+11
Комментарии6

Стоит ли использовать компрессию NTFS одновременно с дедупликацией Windows?

TLDR; Нет.

Сжатие NTFS (NTFS compression) было эффективным средством экономии места на файловых серверах до появления дедупликации Windows.

Эффективность совместного использования компрессии и дедупликации всегда была под вопросом, так как дедупликация по умолчанию сжимает данные чанков. Сжатие можно опционально отключить для определенных типов файлов (-NoCompressionFileType), или отключить полностью (-NoCompress $true).

Осторожно! Если дедуплицировать том, на котором NTFS компрессия включена на уровне тома (а не отдельных папок), это приведет к необратимому повреждению файлов.

Ответ на вопрос поста получим опытным путём.
Эксперимент проведен на папке с пользовательскими данными размером 1,58 TB, 2 063 394 Files, 257 482 Folders.

Результат дедупликации тома с несжатой папкой:
PS C:\Windows\system32> Get-DedupStatus M:
FreeSpace SavedSpace OptimizedFiles InPolicyFiles Volume
584.8 GB 1.76 TB 2162406 2162390 M:

Сжимаем папку NTFS compression (compact /c /s /i) и повторяем эксперимент:
PS C:\Windows\system32> Get-DedupStatus M:
FreeSpace SavedSpace OptimizedFiles InPolicyFiles Volume
343.11 GB 1.44 TB 1578839 2157096 M:

После дедупликации тома со сжатой папкой свободно осталось лишь 343 Gb (против 584 Gb), данные занимают на 205 Gb больше.

Вывод - одновременное использование NTFS compression и Windows Deduplication с высокой вероятностью будет менее эффективно, чем использование только Windows Deduplication.

Теги:
+2
Комментарии2

Переключение между чатами

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

  • Telegram: Ctrl + J (⌘ + K)

  • Mattermost: Ctrl + K (⌘ + K)

  • Teams: Ctrl + G (⌘ + G)

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

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

Заблокировали карту или счет по 161-ФЗ? Инструкция по снятию блокировки.

Продолжаем тему ограничения банковских операций.

В этом посте я рассказала об основаниях таких ограничений и блокировки.

Теперь разберем первый и один из самых частых сценариев: блокировка из-за подозрений банка в мошенничестве.

Как банк определяет «подозрительную» операцию?

Банк обязан проверять все переводы клиентов на специальные признаки, утвержденные Банком России.

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

Вот ключевые признаки:

⦁ Реквизиты получателя есть в «чёрном списке» ЦБ (базе данных о мошеннических переводах).
⦁ Нетипичная для вас операция: необычно крупная сумма, странное время или место совершения.
⦁ Использование устройства (телефона, компьютера), с которого ранее пытались совершить мошеннический перевод.
⦁ Получатель фигурирует в внутренней базе подозрительных контрагентов вашего банка.
⦁ В отношении получателя возбуждено уголовное дело за мошенничество.
⦁ Поступила информация от сторонних сервисов (например, о всплеске подозрительных звонков или СМС на ваш номер).

Как подтвердить операцию?

У вас есть два варианта:

  1. Дать согласие на приостановленный перевод (в течение следующего дня).

  2. Совершить ту же операцию повторно.

Если вы это сделаете, банк обязан выполнить платёж.

Исключение: если получатель числится в «чёрном списке» ЦБ.

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

Это происходит, если ваши собственные реквизиты или данные попали в базу ЦБ.

В этом случае необходимо:

  • Подать заявление об исключении из базы данных ЦБ.

Это можно сделать двумя способами:

Через любой ваш банк. Банк обязан перенаправить ваше заявление в Банк России не позднее следующего рабочего дня.
Напрямую в Банк России через интернет-приемную на его сайте, выбрав тему «Информационная безопасность».

Ждать ответа. Банк России обязан рассмотреть ваше заявление и дать ответ в течение 15 рабочих дней с момента получения.

Важно! Если ЦБ откажет в исключении, в ответе будут указаны банки, направившие информацию в ЦБ.

Вам нужно обратиться к ним, чтобы выяснить конкретные причины и способы устранения проблемы.

Отказ Банка России можно обжаловать в суде.

Теги:
+1
Комментарии0