Как стать автором
Обновить

Разработка

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

Микрофронтенд с использованием Module Federation. Соединяем компоненты между системами на разных фреймворках

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 62

Всем привет! Мы — Павел и Даниил, ведущие разработчики компании ITFB Group. У компании два собственных продукта — ЕСМ/CSP/BPM-платформа СИМФОНИЯ (документооборот, хранение контента, архив, портал) и система распознавания/обработки документов ITFB EasyDoc. Пару месяцев назад к нам прилетела задача интегрировать ряд функций распознавания из продукта ITFB EasyDoc и оформить их в отдельный модуль платформы СИМФОНИЯ, дабы пользователь всё делал в одном месте и не дрейфовал по разным системам. Однако возникла загвоздка: СИМФОНИЯ — на React, а ITFB EasyDoc — на Vue. Для решения вопроса посерчили различные источники информации и плавно ушли в собственное творчество, поскольку не обнаружили стоящих вариантов с вменяемой технической детализацией. В какой-то момент возникло острое желание поделиться нашими итоговыми наработками на Хабре и заполнить пробелы базы знаний в интернете по этому вопросу. Всем, кому интересно увидеть наше решение, добро пожаловать под кат)

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

Новости

Вышел релиз GitLab 16.9 с расширенным доступом к бета-версии Duo Chat

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 203

GitLab 16.9


Мы с радостью объявляем о релизе GitLab 16.9 с GitLab Duo Chat, доступном для Premium пользователей SaaS и в инстансах с самостоятельным управлением! Также появилась возможность запрашивать изменения в мерж-реквесте без блокировки мержа, улучшенный интерфейс страницы переменных CI/CD, новые настройки для автоматической отмены конвейеров и многие другие фичи!

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 314

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

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

Читать далее
Рейтинг 0
Комментарии 1

KD+SM Uplift Modeling. Часть 2. T-Learner. Субпопуляции и Дивергенции

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 57

В предыдущей (вводной) статье мы дали определения и математическое описание базовым понятиям связанным с Uplift моделированием. Рассмотрели принцип работы популярных Uplift моделей и их недостатки, а так же установили, как мы рассчитываем итоговый инкремент \tau, дали определения контрольной Cи тестовой T группам. А так же условились, что же такое воздействиеf на пользователя u_{i}.

Среди проблем с которыми сталкиваются современные Uplif модели, пожалуй, самая серьезная - counterfactual sample pairs problem, рассмотренная так же в предыдущей статье.

Данная статься посвящена как раз нивелированию данной проблемы. Так как мы используем архитектуру KDSM Uplift modeling, то первые две буквы аббревиатуры (KD - Knowledge Distillation) представляют собой название модели, задача которой является создание подмножеств генерального множества, таким образом чтобы минимизировать или же по крайней мери свести к минимуму влияния counterfactual sample pairs problem на результат и точность итоговой модели. Само по себе слово Distillation намекает, что мы будем стремиться стратифицировать множество таким образом, чтобы можно было найти “похожих” друг на друга пользователей u_{i} и u_{j}из C (W=0) и T (W=1) соответственно, объединить их в одно подмножество, чтобы в дальнейшем можно было сделать допущение, что u_{i}и u_{j}представляют из себя уже единого синтетического пользователя u_{k}. Где пользователь u_{i} вместе с его параметрами X_{i}, Y_{i} выполняет роль пользователяu_{k}, с которым мы не взаимодействовали W=0, а пользователь u_{j} вместе с его параметрами X_{j}, Y_{j} выполняет роль пользователя u_{k}, с которым мы провзаимодействовали W=1.

Читать далее
Рейтинг 0
Комментарии 0

Истории

Межсервисная авторизация в Авито PaaS

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 239

Антон Губарев, инженер в Avito PaaS, рассказал, как реализовать межсервисную авторизацию на 2500 сервисов и ничего не сломать.

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

Улучшаем свой код на Python

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 937

Жизнь — это бесконечное совершенствование. Считать себя совершенным — значит убить себя. (Георг Гегель)

Для кого статья:

для начинающих специалистов - подглядеть пару конструкций

для среднеопытных - порадовать свою самооценку

Читать далее
Всего голосов 5: ↑2 и ↓3 -1
Комментарии 0

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

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.1K

Соревнования на форумах киберпреступников в Рунете обещают призовые до 80 тысяч долларов. Всё это происходит почти в открытую, а победителей потом хантят к себе хакерские сообщества. Слышали ли вы об этом секрете Полишинеля?


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

Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 5

Простой учет оборудования в TeamDo: как проводить инвентаризацию не затратно

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 443

Какая еще «инвентаризация»? Это вот та самая инвентаризация, когда пересчитывают стулья в кабинете и наклеивают инвентаризационные номерки? Вы серьезно?! Да, коллеги, именно такая и, конечно, серьезно. Инвентаризация как один из факторов учета материальных и нематериальных активов и инвентаризация как организованный процесс.

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

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

SwiftUI уроки (часть 2)

Время на прочтение 12 мин
Количество просмотров 137

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

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

Оживляем контроллер машиниста от ушедшего в историю электропоезда

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 1.5K
Приветствую всех!

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

И вот наконец в мои руки попал не просто какой-то контроллер, а очень примечательный экземпляр — от «концептуальной» электрички ЭМ2И, коих в наши дни уже не осталось.



Итак, в сегодняшней статье поговорим о том, как устроен такой контроллер и как его подключить. Традиционно будет много интересного.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 4

Задача Эйнштейна. ChatGPT, YaGPT2, Gigachat, Mistral Large

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 1.4K

Захотелось сравнить, как разные GPT-подобные системы справляются с задачкой из категории «сложновато».

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 6

Что такое СУБД Greenplum? Зачем она нужна в больших проектах DWH? Чем отличается от ClickHouse?

Время на прочтение 9 мин
Количество просмотров 476

Ошибки в построении DWH возникают не только в результате того, что первоначально не были учтены возможные изменения в бизнес-процессах, потребностях и целях компании, но и из-за некорректного выбора стека технологий и СУБД. 

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

В статье читайте о СУБД Greenplum и о том, в каких случаях строить хранилища на ее основе.

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

На словах ты Лев Толстой, а на деле не можешь развернуть Nginx в Kubernetes

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.4K

Как понять на собеседовании, что человек действительно умеет что-то делать руками, а не просто красиво говорит? 

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

Читать далее
Всего голосов 18: ↑14 и ↓4 +10
Комментарии 6

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

DI CONF SMM — большая конференция по соцсетям в России
Дата 2 марта
Время 09:30 – 18:00
Место
Краснодар Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Играем в ReactOS

Время на прочтение 1 мин
Количество просмотров 647

Всем привет, дорогие друзья. В этой статье я хочу поделиться результатами тестов игр в ReactOS. Сразу отмечу, раз ReactOS, на данный момент стремится к совместимости с Windows Server 2003 (серверная версия Windows XP), то и игры, соответственно нужно тестировать той эпохи.

Тестирование я проводил в VirtualBox с установленным аудиодрайвером. Но как только у меня дойдут руки поставить ReactOS на реальную железку (у меня есть одна, на которую система ставится) я запущу все эти игры на ней.

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

Инструмент подбора оттенков для покраски миниатюр. Часть 1: теория

Уровень сложности Простой
Время на прочтение 18 мин
Количество просмотров 581

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

Инструмент предназначен для виртуального смешения красок, он содержит солвер, генерирующий рецепты для создания цвета из имеющихся красок. Инструмент поставляется с замеренными мной данными для красок Kimera. Он написан на Python 3; в репозитории есть все исходники, и если у вас есть дистрибутив Python, то его можно просто запустить. Также в репозитории есть исполняемый файл Windows, созданный при помощи PyInstaller (см. раздел Releases справа). Ещё я добавил версию для Mac; это файл .dmg и в нём что-то есть, а если нажать на него, инструмент запустится, так что, кажется, всё работает. Но, честно говоря, я редко пользуюсь Mac, поэтому мне сложно сказать, есть ли там всё нужное, или требуется что-то ещё...

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

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

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

(Не) безопасный дайджест: мегаутечки, дипфейк-созвон и атака шифровальщиков

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 336

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

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

Путь от преподавателя английского к AI Product Manager

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 193

Всем привет, меня зовут Оля Шерстюк, раньше я была преподавателем английского языка, но начиная с 2023 года решила поменять свою деятельность и перейти в IT, сейчас я учусь в магистратуре AI Talent Hub. Хочу поделиться с вами своей историей.

В 2023 я зачеркивала дни в календаре, приходя с работы в Сверхновой школе в Питере. Несмотря на то, что это было самое лучшее из всех мест, где мне удалось поработать, всё сложилось так, что на 5-м году преподавания я уже просто выгорела. Работа учителя — это самая недооцениваемая и ресурсозатратная деятельность, которую только можно придумать.

Однажды я прочитала статью про применение искусственного интеллекта в декодировании языка животных в The New Yorker, одновременно всё большую популярность приобретал Chat GPT, и меня затянуло в новое и неизведанное.

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

Начала с «Основ программирования» в учебном центре при ИТМО, курс понравился благодаря молодому и энергичному преподавателю, и я решила взяться за переквалификацию на Python-разработчика в этом же центре. Совмещать с работой было очень тяжело, ведь параллельно я ещё и проходила Nexign Bootcamp в надежде попасть к ним на стажировку, но, к сожалению, меня туда не взяли.

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

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

Wasm vs Docker containers vs Kubernetes vs serverless: битва за первенство

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.2K

В начале года на YouTube-канале DevOps Toolkit вышло видео с разбором WebAssembly. Автором ролика является Виктор Фарчич (Viktor Farcic) — developer advocate в Upbound, член CNCF Ambassadors, Google Developer Experts, CDF Ambassadors и GitHub Stars.

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

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 0

REST API сервер на Bash с использованием сокетов и Apache

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 1.2K

Всем привет! Ранее рассказывал о том, как создать REST API и Web-сервер на PowerShell для Windows, а также упоминал, что подобный сервер будет работать и в системе Linux, благодаря кроссплатформенной версии PowerShell Core. Безусловно, для подобных целей лучше используются специализированные серверные фреймворки или библиотеки, такие как Flask или Django в Python, но меня не покидала идея реализации похожего сервера, где описание логики будет производиться на языке одного только Bash. Приведу примеры, с помощью которых можно создать такой сервер используя сетевые сокеты netcat , socat и ncat, а также веб-сервера Apache с использованием встроенных модулей.

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

Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 328

Как в PHP заставить функции из стандартной библиотеки, например \time() или \date() выдать нужный результат?

С помощью инструмента xepozz/internal-mocker такое возможно сделать. Для этого необходимо выполнить несколько подготовительных шагов и можно запускать тесты в любом окружении.

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