Как стать автором
Поиск
Написать публикацию
Обновить

Разработка

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

Вышел новый AI-инструмент для ресерча!

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

🔍 Что это такое?

Нейроэксперт позволяет объединять и анализировать разнородные источники данных:

📄 Документы, таблицы, презентации

🔗 Ссылки на сайты

🎧 Аудио и видеофайлы

👨‍💻 Как это работает?

Вы можете создать до 10 бесплатных проектов, загружая в них до 25 типов данных. Искусственный интеллект поможет вам синтезировать знания.

🚀 На чём построено?

В основе сервиса — YandexGPT 5 Pro, а также модели VLM,RAG, ASR и OCR для работы с изображениями, аудио и текстом.

⚡ Бета-версия уже доступна

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

Попробовать можно тут: https://expert.ya.ru/

Как думаете, будете использовать в своей работе?

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

Пользователь сообщил, что в клиентском опроснике «Ростелекома» нельзя поставить оценку ниже 7 — кнопка «Далее» становится неактивной.

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

Продолжаем делиться темами докладов конференции GoCloud 2025 ☁️

В первой части выступления мы напомним, что такое дата-платформа, зачем она нужна и из каких сервисов состоит. А еще расскажем про новые фичи и что у нас в планах. 

Ася Грибанова — руководитель направления разработки Evolution Data Platform в Cloud.ru

Во второй части доклада расскажем, что такое BI-система и как она помогает бизнесу в визуализации данных. За несколько простых шагов создадим инстанс Managed BI и покажем, как визуализировать данные, подключать источники и гибко настраивать дашборды. А еще на реальном кейсе разберем, как построить аналитику.

Константин Добратулин — старший python-разработчик BI в Cloud.ru

Трек: Инфраструктура и сервисы — про новые и популярные инструменты платформы Cloud.ru Evolution и то, как они помогают в решении задач.

📅 Когда: 10 апреля в 13:55 мск

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

Какие еще темы мы подготовили для вас на GoCloud, смотрите в программе конференции

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

Интересно, до какой скорости можно разогнать 6502-е ядро с современными технологиями?

Допустим, у нас есть чиплет «6502 + 64К SRAM», выполненный в максимально быстром исполнении, вплоть до экзотики типа арсенида галлия (ядро проектировали не дураки и уложились в три с половиной тысячи транзисторов, что тогда было немало для кремния, а сейчас — для арсенида галлия тоже, насколько я знаю, очень до фига).

…и есть несколько кремниевых чиплетов с умножителем, DRAM и прочей веселухой. Или даже один кремниевый чиплет с этим всем, плюс с бутлоадером, который прогружает наши 64К с некоего SPI и после этого снимает с 6502-го ресет.

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

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

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

Ну то есть в камментах я такое уже высказывал, но тут мне именно сама архитектура больно шибко зашла. Там даже система команд просто кричит — «сделайте на мне движок микрокода!!!»

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

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

Реверс-инжиниринг: вспоминаем истории
(рассказываю свою, делитесь похожими байками в комментариях)

AI, нарисуй, как ты понимаешь реверс-инжиниринг
AI, нарисуй, как ты понимаешь реверс-инжиниринг

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

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

Взял я ручку, линейку и срисовал штрих-код с капсулы на клочок бумажки. Потом положил ее на считыватель кофеварки, закрыл крышку и вуаля, хитрый аппарат выдал мне кипяток! Я получил чай и +100500 к самооценке.

А что у вас?

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

Автоматическое подключение локализации для веб-ассета в Joomla

Начиная с Joomla 4 в ядре реализована концепция веб-ассетов. Управление JavaScript и CSS в Joomla значительно упростилось благодаря классу WebAssetManager. Есть замечательная статья Как правильно подключать JavaScript и CSS в Joomla 4, в которой подробно и с примерами кода рассказывается об этой концепции и её применении. Например, в web asset мы можем оформить какую-нибудь готовую js-карусель или библиотеку.

Также можно оформить веб-ассетом и свой собственный js-скрипт, которому могут понадобиться дополнительные данные для работы на странице: как данные из PHP, так и языковые константы. С помощью WebAssetManager мы можем получить эти данные в момент сразу при подключении ассета. Как это сделать?

Для веб ассетов в Joomla создаётся файл joomla.asset.json, в котором описываются url подключаемых файлов, версии, их зависимости друг от друга, собираются пресеты для подключения пачкой и т.д. В нём можно указать пользовательский класс WebAssetItem, который будет выполнять нужную работу для вашего ассета. Для этого определите свойства namespace и class для всего файла или же для каждого ассета.

{
  "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json",
  "name": "com_example",
  "version": "4.0.0",
  "namespace": "Joomla\Component\Example\Administrator\WebAsset",
  "assets": [
    {
      "name": "foo",
      "type": "script",
      "class": "FooAssetItem",
      "uri": "com_example/foo.js"
    },
    {
      "name": "bar",
      "type": "script",
      "namespace": "MyFooBar\Library\Example\WebAsset",
      "class": "BarAssetItem",
      "uri": "com_example/bar.js"
    }
  ]
}

Ассет foo будет работать с классом Joomla\Component\Example\Administrator\WebAsset\FooAssetItem, а ассет bar с классом MyFooBar\Library\Example\WebAsset\BarAssetItem. Если namespace не указан, будет использоваться Joomla\CMS\WebAsset по умолчанию. Ну и сам класс должен находиться по указанному неймспейсу.

<?php
/**
 * Класс WebAssetItem для подключения данных для работы веб ассета
 */

namespace Joomla\Component\Example\Administrator\WebAsset\AssetItem;

\defined('_JEXEC') or die;

use Joomla\CMS\Document\Document;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\WebAsset\WebAssetAttachBehaviorInterface;
use Joomla\CMS\WebAsset\WebAssetItem;

class FooAssetItem extends WebAssetItem implements WebAssetAttachBehaviorInterface
{
    /**
     * Method called when asset attached to the Document.
     *
     * @param   Document  $doc  Active document
     *
     * @throws \Exception
     *
     * @since   1.0.0
     */
    public function onAttachCallback(Document $doc)
    {
        Factory::getApplication()->getLanguage()->load('com_example');

        // Add my-js-script.js language strings
        Text::script('COM_EXAMPLE_LANGUAGE_STRING_FOR_FRONTEND');

        /** @var array $data Данные для фронтенда, чтобы получать их
         *  в js через Joomla.getOptions('com_example.foo.js.data';)
         */
        $data = [
            'any' => 'data',
        ];
        /** @var bool $merge Whether merge with existing (true) or replace (false) */
        $merge = true;
        $doc->addScriptOptions('com_example.foo.js.data', $data, $merge);
    }
}

Таким образом для нашего js-скрипта мы получили и локализованные стринги сообщений (как? - пост на Хабре) и дополнительные данные из PHP для фронтенда (статья на Хабре - в середине). Теперь когда вы где-то в любом месте Joomla подключаете веб ассет с помощью $wa->useScript('foo') - автоматически подключится всё необходимое для его работы.

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

🗓 4.04 - World Webmasters Dаy [вехи_истории]

🗓 4.04 - World Webmasters Dаy [вехи_истории]
🗓 4.04 - World Webmasters Dаy [вехи_истории]

4 апреля отмечается День веб-мастера (World Webmasters Day) – праздник всех, кто разрабатывает, поддерживает и совершенствует сайты. Веб-мастера — это программисты, дизайнеры, SEO-специалисты, администраторы и многие другие профессионалы.

Выбор даты не случаен: 4.04 ассоциируется с известной ошибкой 404 «Страница не найдена». Это своеобразный символ работы веб-мастеров, ведь их задача — следить, чтобы сайты всегда работали гладко и без сбоев, но не всегда получается)

С момента появления первых веб-страниц интернет сильно изменился. Если раньше веб-разработчик отвечал за всё — от написания кода до оформления, то сегодня сфера веб-разработки включает UX/UI-дизайн, поисковую оптимизацию, маркетинг и кибербезопасность.

🩵 Поздравляю всех веб-разработчиков. Пусть ваши сайты падают реже)

YouTube | RuTube | Telegram | Pikabu

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

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

Вообще, выложенное решение - для старых конфигураций, вроде УПП, УТ 10.3 и т.д. Но если не лень - можете и в ЕРП вставлять. У меня есть расширение, причешу и тоже выложу.

Детальное описание решения есть тут - https://infostart.ru/marketplace/690271/
Там же можете стоимость заценить :)

Если кратко, то УМП - лучшее решение для проблемы дефицитов, обеспечения потребностей и их контроля почти в режиме реального времени. Подтверждено и моими внедрениями, и чужими.

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

Берите и пользуйтесь. Файл лежит в тг-канале - https://t.me/another1C/92

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

xan, волшебник CSV

https://github.com/medialab/xan

xan — это приложение командной строки, которое можно использовать для обработки CSV-файлов непосредственно прямо из шелла.

Написан на Rust, а значит — быстрый, почти не жрёт память и без проблем обрабатывает очень большие CSV-файлы (гигабайты). Способен выполнять некоторые задачи параллельно (за счет многопоточности).

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

xan также использует свой собственный язык выражений, позволяя выполнять сложные задачи. Этот минималистичный язык был разработан специально для работы с данными в формате CSV и работает намного быстрее, чем обычные языки с динамической типизацией, такие как Python, Lua, JavaScript и т.д.

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

Рассказываем, какие вебинары проведем для вас в апреле 🎧

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

📆 Когда: 15 апреля в 11:00 мск

Веб-ресурсы, мобильные приложения и API ежедневно подвергаются DDoS- и бот-атакам. В 2024 году число заблокированных запросов ботов выросло на 30% по сравнению с предыдущим годом — об этом говорит отчет компании Curator «DDoS-атаки, боты и BGP-инциденты в 2024 году: статистика и тренды». 

На вебинаре расскажем, почему защита от ботов — это отдельная задача, которая требует особых методов и которую не заменить решениями классов Anti-DDoS и WAF. Покажем методы эффективной защиты публичных веб-ресурсов и типовые схемы подключения для максимальной безопасности ресурса.

📆 Когда: 24 апреля в 11:00 мск.

Управление уязвимостями (vulnerability management) — один из ключевых аспектов в поддержании информационной безопасности IT-инфраструктуры. На вебинаре обсудим базовые меры профилактики и защиты от киберрисков на уровне микросервисов, контейнеров и окружений под управлением Kubernetes.

Будем ждать вас!

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

Совет по Joomla: dot-нотация для доступа к значениям вложенных массивов.

Позволю себе немного ребячества ))

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

😎 Joomla тоже так может!

use Joomla\Registry\Registry;
$data = [
        'user' => [
                'name' => 'John Doe',
                'email' => 'john@example.org',
        ]
];

$data = new Joomla\Registry\Registry($data);

$name = $data->get('user.name');
dump($name); // 'John Doe'

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

Upd. И коллеги сразу решили дополнить:

Преимущество джумлы перед ларой в этом плане:

  • можно так обращаться не только к массивам, но и к объектам и даже к json'у

  • можно дополнять

  • можно выполнять merge. Причём, как на весь объект, так и на отдельные его вложенности

Недостатки:

  • нужно сначала создать новый объект

  • нет вот такой нотации get('*.key'), т.е. чего-то похожего на array_column()

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

DLP-система «СёрчИнформ КИБ» защищает файлы в «МойОфис Документы Онлайн»

МойОфис и «СёрчИнформ» подтвердили совместимость своих продуктов: решения для совместной работы и хранения документов «МойОфис Документы Онлайн» и DLP-системы для защиты от утечек информации «СёрчИнформ КИБ».

«МойОфис Документы Онлайн» — комплексный продукт для структурированного хранения корпоративной информации и организации совместной работы с документами. В его состав входят веб-приложения для работы с текстовыми, табличными документами и презентациями, мобильное приложение «МойОфис Документы», интерактивная доска, а также серверные системы для обеспечения совместной работы и средства администрирования.

Технологический стек «МойОфис Документы Онлайн»:

Ядро продукта построено на С++17. Веб-интерфейс разработан с использованием React, TypeScript и WebSockets для динамического взаимодействия в реальном времени. Серверная часть реализована на Java, C++17, Golang и OpenResty.

«СёрчИнформ КИБ» контролирует действия пользователей с файлами в «МойОфис Документы Онлайн» и проверяет их права доступа к информации. Системы взаимодействуют по протоколу ICAP, а интеграция поддерживается для «МойОфис Документы Онлайн» версии 3.3 и выше.

При работе пользователя с документами в облаке DLP-система получает данные о его действиях: скачивание или экспорт файлов, перемещение, изменение прав доступа, создание публичных ссылок и отправку документов по почте. Если эти действия нарушают корпоративные политики безопасности, система уведомляет службу информационной безопасности.DLP регулирует передачу данных из «МойОфис Документы Онлайн» на уровне HTTP-запросов, что позволяет настраивать правила безопасной работы и контролировать их выполнение.

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

Напоминаем, что в Академии Selectel можно пройти бесплатный курс «Изучаем Python: теория, практика, настройка инструментов».

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

Что будем делать:

✅ настроим инструменты разработчика — уделим внимание связке IDE и Python;

✅ поработаем с базами данных и брокерами сообщений — будем писать запросы SQL;

✅ создадим приложения с графическим интерфейсом — нарисуем виджеты, выведем диалоговые окна;

✅ научимся автоматизировать получение данных — попрактикуемся и с Request, и с Selenium.

Без задач для практики тоже не останетесь!

Но и это не все! Поделимся записями докладов Python Meetup. Дадим подборку для дальнейшего изучения.

Все материалы бесплатные. Не требуется даже регистрация.

Изучить курс в Академии Selectel

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

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

Тест на тестировщика: что в коробке?

Ответ: Это Shield box — экранированная коробка, внутри которой размещаются сотовые телефоны. Ее используют тестировщики телеком-оборудования. Коробка обеспечивает изоляцию сигнала и предотвращает возможность подключения сторонних абонентов к «тестовой» сети.

Если вы знакомы с этим оборудованием или хотите с ним познакомиться, вас могут заинтересовать несколько вакансий в команде Телекома в YADRO. 

→ Некоторые из них требуют образования по специальностям Радиотехнологии или Телекоммуникации и опыта работы с системами GSM/LTE. 

Test Engineer (LTE/GSM Radio Subsystem)

Команда занимается тестированием функционала базовой станции LTE/GSM на системном уровне в лаборатории или на площадке заказчика. Специалисту нужно будет разрабатывать тестовые сценарии и готовить требования к тестам радиоподсистемы LTE/GSM. Здесь у кандидата должно быть высшее образование в области телекоммуникаций или радиотехнологий, а также знание стандартов GSM//LTE, топологии и интерфейсов мобильной сети.

Field Test Engineer (LTE/GSM) 

Команда готовит тестовые сценарии для драйв-тестов, проводит их по подготовленным тест-планам и измеряет ключевые показатели производительности базовых станций LTE/GSM с помощью измерительных комплексов. Здесь также от кандидата требуются знания принципов и законов радиосвязи, базовое понимание теории антенн и их характеристик.

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

Test Engineer (Performance Test)

Команда занимается тестированием собственного железа и ПО. Направление создает конкурентную линейки RAN-продуктов для мобильных сетей последних поколений — базовые станции LTE/GSM и удаленные системы управления ими. Опыт работы с телекоммуникационными системами GSM/LTE будет преимуществом. 

QA Automation Engineer 

Команда ищет инженеров по автоматизированному тестированию в несколько команд в направление разработки решений для телекоммуникаций. Необходимый опыт в автоматизации с использованием Jenkins GitLab — от двух лет. Здесь ждут кандидатов с уверенным знанием Python, Linux и пониманием сетей, базирующихся на TCP/IP.

Test Engineer Manual 

Вам больше по душе ручное тестирование? Есть вакансия и для вас. Здесь ждут кандидатов с уверенным знанием теории тестирования (опыт — от трех лет), Linuх и пониманием сетей, базирующихся на TCP/IP.

О направлении 

Команда Телеком с нуля создает телекоммуникационные решения для беспроводных мобильных сетей и сопутствующих услуг. Инженеры разрабатывают первые в России базовые станции стандартов GSM/LTE, реализуя полный стек телекоммуникационных протоколов для базовых станций и элементов ядра сети, а также системы управления и мониторинга. Здесь вы будете в хорошей компании: продукт создают профессионалы с многолетним опытом, многие из них работали в ведущих мировых телекоммуникационных корпорациях.

А как тестируют функции базовой станции, читайте по ссылке → 

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

Последние месяцы изучаю функциональное программирование. И я не понимаю, почему любой доклад по ФП начинается с того, что докладчик пол часа рассказывает, почему не стоит использовать ООП. И при этом приводит в пример структурный код!

Если в языке есть управляющие конструкции, по типу if/else, то это НЕ объектно-ориентированный язык. И не важно какие свойства ему приписываются в Wikipedia. В ООП работа с булевыми выражениями выглядит так:

result = request->validate(rules);
result
    ->ifTrue(useCase->execute())
    ->ifFalse(response->unprocessable())

Вот вам и посылка сообщений, и "Tell, don't ask".

Я вижу ситуацию с языками так. На данный момент используется 3 высокоуровневых парадигмы: объектная, функциональная и реляционная. Объектная подходит для передачи данных, функциональная для их обработки, а реляционная для хранения. Все парадигмы хороши по своему и эффективно работают в своей области.

Вы выстрелите себе в ногу, если попытаетесь смоделировать развёртку docker-контейнеров или взаимодействие между web-компонентами с помощью ФП. И вам будет так же трудно обработать данные запроса на сервере с помощью ООП. Все парадигмы имеют свои преимущества и недостатки, и используются как инструменты для разных задач.

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

Призываю всех улучшать своё понимание парадигм и использовать их по назначению. (b.t.w. нативный "Railway programming" в ФП - это круто)

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

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

НАБОЛЕЛО!!!!

Что бы вы не сделали, диванным критикам просто до одного места! Даже диван на котором он лежит это тоже Г-но потому, что болит левая пятка.

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

По какой то причине мы не заметили контроллер Wirenboard 6 (на процессоре NXP который покрывал все наши задачи) и начали разработку своего устройства AntexGate на базе Raspberry cm3 (теперь уже на Raspberry CM4 )


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

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

Имея таких конкурентов как Wirenboard, ОВЕН, RealLab, Siemens .... мы нашли своих клиентов и продаем в год более 700 компьютеров.

Мы заморозили свое прибор до -65 (легко запустился на таком морозе), нагрели до +101 (на 102гр выключился).
Все равно получаем каждый день отзывы: "Вы просто засунули малину в свое коробку!"
Нет не просто! Мы угрохали более 5 лет жизни небольшой команды на то, чтобы это все работало - "Так как должно!" Перебрали рефенсные схемы самых именитых Европейских производителей под свои реалии.


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


Я желаю пройти каждому разработчику правильный путь и по возможности сделать свое решение на сколько можно.
Я надеюсь, что оттепель настанет в нашей стране и появятся действительно Росcийские процессоры и другая элементная база, а пока увы Broadcom, Raspberry, NXP да на худой конец RockChip главное что-то делать и с голоду не умереть.


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

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

Вебинар «Топ-5 ошибок в моделировании требований системным аналитиком»

8 апреля я проведу бесплатный вебинар: «Топ-5 ошибок в моделировании требований системным аналитиком», где подробно разберу, какие ошибки наиболее часто системный аналитик допускает при моделировании требований, а также расскажу, как их избежать. Запись на вебинар доступна по ссылке.

Что будет на вебинаре:

  • Что необходимо знать о моделировании требований

  • Какие ошибки системный аналитик может допустить в работе

  • Как моделирование требований влияет на процесс разработки ПО

  • Как избежать ошибок и повысить качество требований

Жду вас на вебинаре!

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

Посчитаем до бесконечности.

Недавно я зашёл в кафешку и заказал чашку капучино. Официантка спросила, какого размера чашку я предпочитаю. Я ответил: “Бесконечно большую”. Она сказала: “Хорошо!” — и ушла. После чего я получил вот это.

Умно. Очень умно, ничего не скажешь. Ей зачёт с повышением и чаевые. Я получил бесконечно кофе.

А потом подумал, как неправильно мы используем математику и научные дисциплины.

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

Но в этой физической вселенной живут очень странные существа. Они не только приемлют бесконечность — они ещё и спокойно ею оперируют. Посмотрите на парадокс Гранд-Отеля. Эти существа абсолютно спокойно объясняют вам, как в отель, в котором живёт бесконечно большое количество людей, можно заселить ещё одно бесконечно большое количество людей. Причём этот пример существа создали для самых маленьких — чтобы дать им понять, как работает математика бесконечностей.

Математика, кстати. Просто невероятная вещь. Вещь, которой в физической вселенной пространств, энергий, массы и времени существовать просто не должно. Но эти существа запросто ею оперируют. Более того, используют её с лёгкостью — да ещё и видосики на Ютубчик постят. Математика — это замечательная наука. Она — просто издевательство над физической вселенной. Она никогда не была частью физической вселенной. Её создали иные существа, населяющие эту вселенную. Существа, которые знают, что их любовь может быть вечной, кофе — бесконечным, а упорство — неиссякаемым. Даже сам факт того, что у нас есть цифры и числа, уже нарушает базовый закон вселенной: вы не можете считать бесконечно. Каждый третьеклассник сидит и удивляется, как это так — считать можно бесконечно.

Понимаете, концепты Кота Шрёдингера, Гранд-Отеля и тому подобные вещи — это просто когда мы насмехаемся над этой вселенной и говорим: “Смотри, я так могу, а ты — нет”.

Если здесь есть математики, которым хочется решить задачку — так, чисто по приколу — попробуйте решить следующее:

ЛЛМ-модель имеет 40 терабайт данных. Она обучена на 200 миллиардах параметров. Посчитайте конечное количество всех возможных ответов этой модели. Число будет гигантским, но оно будет конечным. Увеличьте количество параметров на сто порядков, дайте этой модели данных раз в 600 больше — и вы получите… конечное число. Ответы ЛЛМ-модели можно пересчитать.

А хотите задачу, которую без слова “бесконечно” решить нельзя? Ну вот вам:

Посчитайте, сколько идей может выдумать человек.

Бесконечно много.

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

После этого действительно смешно слушать о том, как люди рассуждают о возможности создания “настоящего” искусственного интеллекта. Какой он будет “настоящий”, если он сделан из вселенной, которая не может создать бесконечность?

Так прикольно и весело слушать людей, которые с захлёбом рассказывают о том, что “такой-то ЛЛМ может сдать какой-то синтетический тест на 95%”.

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

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

🔥 Vision Transformer – революция в компьютерном зрении! 🚀

Сверточные сети долгое время были серьезным подспорьем в компьюетрном зрении, но практика и исследование показали, что трансформеры могут помочь в решении задач не только из мира NLP!

Как ViT видит глобальный контекст без единой свертки? Почему разбиение картинки на патчи стало прорывом? И самое главное — где и как его применять?

📌 В статье разберем:

✅ Как трансформеры перекочевали из NLP в CV и что из этого вышло

✅ Чем ViT отличается от CNN и почему это реально новый подход

✅ Где ViT уже показывает крутые результаты: классификация, сегментация, OCR и не только!

🔗 Если "Attention is all you need" – это про тебя, то тебе сюда!

Статья, поможет по-другому посмотреть на трансформеры и покажет, что CV уже не будет прежним!

👉 Читать

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

На картинке — код на Rust, и в нём затаилась ошибка. Я специально попросила её сделать моих коллег, разработчиков ИТ-компании «Криптонит».

Зачем? Чтобы потом попросить её найти и написать о ней в комментариях (ох, уж эти сммщики).

Итак, где тут ошибка?

СЕЙЧАС БУДЕТ СПОЙЛЕР!

Так в чём же ошибка?

В третьей строке возникает ошибка попытки доступа к элементу за пределами массива.
for i in 1..=numbers.len() выполнит итерацию по элементам, начиная со второго, а не с первого.

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

Также следует обратить внимание, что первый элемент массива с индексом [0] игнорируется. Это не является ошибкой с точки зрения выполнения программы, однако скорее всего является логической ошибкой в коде

Итак, в языке rust индексация элементов начинается с 0 и заканчивается len() - 1.
В массиве из 5 элементов допустимо обращение к [0], [1], [2], [3] и [4] элементам.

Рекомендуемый способ перебора элементов коллекции с автоматической индексацией на rust — использование цепочки вызовов iter().enumerate().

Вот как это выглядит

fn main() { 
    let numbers = vec![10, 20, 30, 40, 50];
    for (index, number) in numbers.iter().enumerate() { 
        println!("Элемент {index}: {number}");
    } 
}

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

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