Как стать автором
Обновить
32
117
SberTeam @Sber

Пользователь

Отправить сообщение

5 библиотек и фреймворков Java, крайне полезных для разработчика

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

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

Читать далее

Проблема «галлюцинирования» в больших языковых моделях на примере чат-ботов

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

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

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

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

Читать далее

Использование маппера UNROM при разработке игр для Dendy на языке Си

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

Приветствую всех любителей программирования всяческих ретро-железок. Могу предположить, что у большинства из читателей этой статьи была в детстве Dendy (а может и сейчас есть) или другой клон Famicom (клонов NES в СНГ я не встречал). Сегодня предлагаю обсудить особенности разработки игр для приставок Dendy, NES и Famicom с маппером (mapper) UNROM. Те из вас, кто хоть немного углублялся в особенности архитектуры игр для 8-битных приставок, наверняка слышал про мапперы. Это электронная схема, которая находится на плате картриджа и расширяет возможности консоли, подключаясь напрямую к шинам процессора.

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

Читать далее

Энтропия на страже безопасности: эволюция генераторов случайных чисел

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

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

Может показаться что эта проблема была решена уже давно, но те же процессоры обзавелись модулями энтропии только в 2012-2014 годах. И на этом прогресс не останавливается: всё доступнее становятся квантовые генераторы энтропии, полностью лишённые изъяна детерминизма. Давайте посмотрим, как от ложного рандома мы пришли к недетерминированному.

Читать далее

Обзор архитектуры Compose с использованием паттерна «координатор»

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

В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее развернуть поднятую в ней тему архитектуры Compose и навигации.

Читать далее

Что делать, чтобы эксплуатация не превратилась в бесконечное тушение пожаров

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

Меня зовут Владимир Медин, я работаю в подразделении SberWorks, которое внедряет практики DevOps и MLOps. Хочу поделиться нашим опытом повышения надёжности enterprise-систем, вводимых в эксплуатацию, особенно впервые. Для кого-то эта статья будет в большей степени спасательным кругом, но с напутствием. Многие подходы к обеспечению надёжности у нас регламентированы, но есть и «неуставные» решения, которые вырабатываются только с опытом. Кому-то могут бы непонятны некоторые тонкости, диктуемые условиями крупной компании, поэтому по мере рассказа буду объяснять, почему это важно. Впрочем, на мой взгляд, эти правила применимы в работе компании любого размера, дорожащей стабильностью качества своих услуг.

Читать далее

Просто ли открывается ларчик, Или как протестировать сразу более 10 сервисов

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

Привет, Хабр! Всем известно, что у тестировщиков в жизни много трудностей. И мы, команда QA Департамента общих прикладных сервисов (ДОПС) Сбера, знаем об этом не понаслышке, так как тестируем релизы сервисов Platform V — цифровой облачной платформы СберТеха (более 70 продуктов для быстрого создания и легкого масштабирования приложений любой сложности). Да‑да, именно на Platform V Сбер совершил свою цифровую трансформацию!

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

Читать далее

Угрозы информационной безопасности конвейера разработки ПО и их моделирование

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

Злоумышленники всё чаще атакуют цепочки поставок ПО, чтобы получить доступ к исходным кодам, процессам сборки или механизмам обновления ПО. Но сложно напрямую атаковать инфраструктуры компаний, которые серьёзно относятся к своей кибербезопасности. В последнее время в СМИ появляются сообщения об атаках на ИТ‑гигантов, финтех, объекты критической инфраструктуры через разработчиков и поставщиков ПО. Яркий пример — инциденты атак на SolarWinds, Codecov, GitHub, ССleaner от Avast. Ущерб от этих атак оказался огромен.

Меня зовут Сергей Кубан, я руководитель направления в отделе защиты инфраструктуры производства ПО в СберТехе. Мы поставляем заказчикам программное обеспечение и SaaS-сервисы. Чтобы они соответствовали требованиям кибербезопасности, необходимо всестороннее обеспечение безопасности инфраструктуры как собственного производственного конвейера ПО, так и предоставляемых заказчикам SaaS-инсталляций.

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

Читать далее

Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code

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

Привет, Хабр! В 2020 году компания решила вывести на рынок линейку продуктов Platform V. Для них нужна была документация, которая на тот момент велась в Confluence. Нам предстояло проделать сложную и дорогую работу: собрать документы на нужные версии, привести тексты к единому стилю и терминологии, оформить как комплект документации от поставщика ПО. Расскажу, какие инструменты мы в СберТехе использовали, почему перешли от документирования в Confluence нa Docs-as-a-Code и создали инструмент Platform V GetDocs, который помогает эффективно писать документацию.

Читать далее

Бесшовность 2.0: как работает шардирование в Сбере

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

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

Меня зовут Владимир Паршин, я ведущий ИТ-инженер в СберТехе. Расскажу, как выстроена работа с бесшовностью в Сбере.

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

Читать далее

Это всё, что останется после меня: проблемы наследования кода и передачи прав на него

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

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

Читать далее

Ты — это то, как ты пишешь. Как расти через качество кода

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

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

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

Читать далее

Как перезапускать PySpark-приложение и зачем это может понадобиться

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров3.8K

Сегодня все крупные компании сохраняют и обрабатывают большие объёмы информации, причём стремятся делать это максимально эффективным для бизнеса способом. Меня зовут Мазаев Роман и я работаю в проекте загрузки данных на платформу SberData. Мы используем PySpark, который позволяет очень быстро распределённо обрабатывать данные в оперативной памяти узлов нашего кластера на базе Hadoop. Я поделюсь способом, с помощью которого можно снизить потребление ресурсов кластера за счёт перезапуска PySpark-приложений между выполняемыми Spark-задачами, и расскажу, как это делать правильно.

Читать далее

«Follow the sun» как принцип поддержки

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

Меня зовут Максим Журавлев, я управляющий директор ДИТ «Занять и Сберегать», лидер сообщества инженеров сопровождения Сбера. В этой статье я хочу рассказать про надёжность высоконагруженных ИТ-систем и принципы, которым мы следуем.

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

Читать далее

Как мы улучшили СУБД промышленного уровня Platform V Pangolin в версии 6.1

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

Меня зовут Михаил Гелемеев, я лидер команды сопровождения Platform V Pangolin в СберТехе.

Platform V Pangolin — реляционная система управления базами данных. Она основана на свободно распространяемой версии PostgreSQL и содержит ряд доработок, обеспечивающих соответствие повышенным требованиям к безопасности данных, доступности, надежности, а также удобству эксплуатации. Наш продукт помогает получить функциональные возможности реляционной СУБД, включая построение кластеров высокой доступности, резервирование данных, снятие и восстановление резервных копий.

В январе мы выпустили новую версию — Platform V Pangolin 6.1. В ней появились обновления для работы с большим объёмом данных. Если вкратце — работать с секциями стало проще и быстрее: дешевле доступ к данным в секционированных таблицах, и для них можно гибко создавать уникальные глобальные индексы. Теперь можно предотвратить высокое потребление CPU и RAM пользовательской сессией, это улучшает доступность сервиса. Мы также добавили инструмент диагностики текущей активности для детального понимания процессов сессии, так работа СУБД становится более прозрачной.

В статье подробнее расскажу о каждой из доработок. Их можно условно разделить на две части: для пользователей и для администраторов/инфраструктуры.

Читать далее

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

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

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

Далее мы разделим полезные приемы и привычки по сферам, к которым они относятся.

Читать далее

Как сделать джуна полноценной частью команды

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

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

Читать далее

Одно, чтоб править всеми: как мы сделали хаб для сопровождения СУБД

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

Работа в СУБД — это множество разноплановых задач: создание новых продуктов, плановые обновления, работа с инцидентами. По мере цифровизации компании количество таких задач растёт, очередь запросов наполняется. Всё больше времени уходит не на решения, а на подготовку — сбор данных, аналитику и прочие «ветряные мельницы». Разрешить эту проблему помогают графические инструменты управления базами данных.

Меня зовут Иван Пушкарь, и вместе с командой я разрабатываю один из таких инструментов — Platform V Kintsugi. В этой статье расскажу, как появились первые платформы и оркестраторы для работы с СУБД, что сейчас есть для управления PostgreSQL и как мы решили создать собственный инструмент, который стал бы кольцом Всевластья для множества баз данных Сбера.

Читать далее

История импортозамещения: от BluePrism к SaluteRPA

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

Привет, Хабр! Я Смолин Максим, разработчик и администратор баз данных в продуктах RPA BluePrism и SaluteRPA в Блоке Технологий Сбербанка, руководитель ИТ-направления. Мы с командой развиваем продукт SaluteRPA — роботизированная автоматизация процессов Сбербанка. Я расскажу, почему нас не устраивала платформа от зарубежного вендора, и почему мы решились на создание собственной платформы роботизации.

В 2017 году в банке начали использовать систему RPA BluePrism. На этапе MVP всё было великолепно, но потом началось много вопросов. ЦПУ (центральное процессорное устройство) сервера БД зашкаливали за 95 %, процессы тормозили и не успевали отрабатывать в нужное время, инциденты сыпались как из рога изобилия. С этого момента началась наша работа по превращению софта, рассчитанного на малый бизнес, в софт уровня предприятия с тысячами роботов. В итоге она привела к написанию собственного продукта SaluteRPA.

Архитектура RPA BluePrism достаточно проработана. Но вот реализация на уровне БД имела много замечаний с нашей стороны. Что-то мы отправляли на переделку вендору, что-то дорабатывали сами, а что-то смогли реализовать только в своём продукте.

Забегая вперёд, скажу, что внедренные нами изменения позволили преодолеть ограничение RPA BluePrism в 100 роботов на одну БД и уверенно держать нагрузку до 500 роботов на одну БД.

Читать далее

Конвертация в один клик! Как перенести код из Teradata в GreenPlum без лишних затрат и усилий

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров1.9K

Привет, Хабр! Миграция баз данных из одной СУБД в другую представляет собой особо сложную задачу, требующую тщательного планирования, подготовки и исполнения. В 2023 году в Сбербанке завершился масштабный проект по миграции крупного аналитического хранилища данных с платформы Teradata на GreenPlum. Особое внимание уделялось таким направлениям, как:

Повышенная трудоёмкость ручного переписывания SQL‑скриптов из‑за разницы в диалекте и специфических встроенных функций Teradata.

Перенос архива данных из Teradata, объемом более 400 Тб.

Кросс‑платформенная проверка качества данных в ходе и после завершения миграции.

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

Читать далее

Информация

В рейтинге
53-й
Работает в
Зарегистрирован
Активность