Всем привет! Не так давно мы с GitVerse, платформой для работы с исходным кодом от СберТеха, проводили опрос, чтобы выяснить, как сегодня выглядит типичный программист. Не в смысле внешности, а в плане своих личных и профессиональных качеств. Опрос прошли почти 2,5 тысячи человек. Мы очень рады, что наша затея оказалась такой популярной. Теперь настало время поделиться результатами. Кто он такой — Типичный Программист-2024? Заходите под кат, чтобы узнать о нём всё.
IT с человеческим лицом: портрет типичного программиста — 2024
Всем привет! Не так давно Хабр и GitVerse, платформа для работы с исходным кодом от СберТеха, проводили опрос, чтобы выяснить, как сегодня выглядит типичный программист. Не в смысле внешности, а в плане своих личных и профессиональных качеств. Опрос прошли почти 2,5 тысячи человек. Мы очень рады, что наша затея оказалась такой популярной. Теперь настало время поделиться результатами. Кто он такой — типичный программист 2024 года? Заходите под кат, чтобы узнать о нём всё.
Будущее DevOps-инженера
В последние годы произошло много разных событий, и мы, как большая организация, прочувствовали всё на себе. Пришлось очень быстро решать всевозможные проблемы. Хочу поделиться нашим опытом и сделанными выводами, которые кому-то покажутся спорными, кому-то — неуместными, а кому-то — очень важными.
Удивительная история развития сортировки в JDK
Как вы считаете, если выполнить java.util.Arrays.sort()
, то какая сортировка будет вызвана? Quicksort? Timsort? И та, и другая, потому что для объектов вызывается Timsort, а для примитивов (чисел int, long, float и так далее) — Dual-Pivot Quicksort. В JDK 6 для объектов использовался стандартный Merge sort, а для чисел классическая реализация Quicksort с одним опорным элементом, предложенная Джоном Бентли и Дугласом МакИлрой. В JDK 7 оба алгоритма поменялись: теперь объекты сортируются с помощью Timsort, автор Тим Петерс, а для простых типов данных используется Dual-Pivot Quicksort, предложенный мною вместе с Джоном Бентли и Джошем Блоком в 2009 году. Эта сортировка используется более 15 лет не только в JDK, но и в Android (хотя и немного устаревшая версия).
А зачем нам вообще второй алгоритм сортировки, если есть Timsort? Почему не использовать один и для объектов, и для примитивов? Сегодня я, как автор, расскажу историю Dual-Pivot Quicksort: как он начинался, как развивался и как продолжает развиваться сейчас.
Как наука о данных трансформирует здравоохранение
Наука о данных трансформирует медицинский сектор, подвергая фундаментальным изменениям основы мониторинга и профилактики заболеваний, диагностики и лечения. В этой статье рассматривается роль Data Science в медицинской сфере, её основные применения, преимущества, проблемы, а также будущие тенденции.
Искусственный интеллект = машинное обучение?
Когда речь заходит о машинном обучении и искусственном интеллекте, возникает некоторая путаница относительно того, что означают эти два понятия и каковы различия между ними. Одно ли это и то же или есть разница?
Обучение с учителем и без — в чём разница?
Обучение с учителем и без являются двумя основными подходами к построению моделей машинного обучения (МО). В них заложен существенно разный подход к обучению, а также разные сценарии использования. В этой статье объясняются эти оба метода и различия между ними.
Топ 10 ИИ-фреймворков, или Сказ о том, как AMD проиграла рынок NVIDIA
В индустрии машинного обучения происходит небывалый беспрецедентный бум, и главный двигатель этого праздника технологий, генерирующего сверхприбыли для больших компаний, — графические процессоры (GPU). В битве за долю рынка ИИ-ускорителей можно выделить двух титанов индустрии GPU — NVIDIA и AMD. Несмотря на то, что во всех остальных сферах, кроме ИИ, AMD периодически подаёт надежду на превосходство над NVIDIA, во всём, что касается машинного обучения, NVIDIA обладает почти что абсолютной властью над рынком. Эта компания, благодаря своей дальновидной стратегии, сумела не только завоевать доверие разработчиков, но и фактически создать экосистему, ставшую стандартом де-факто в области глубокого обучения. AMD же, несмотря на свой богатый опыт в производстве высокопроизводительных процессоров, оказалась на периферии этого стремительно растущего рынка.
Что нас ждёт в будущем: от компьютеров размером с атом до создания аватаров
В своей книге «Файлы будущего: краткая история следующих 50 лет» футуролог Ричард Уотсон рассуждает, как происходящее прямо сейчас влияет на то, что ждёт нас в ближайшие полвека. Почему важно долгосрочное планирование, если мы собираемся жить в «хорошем» мире. В этой статье предлагаем обсудить возможности «предпочтительного» будущего — оно обещает быть интересным!
Отличается ли внимание человека и модели-трансформера?
Для того, чтобы понимать язык и делать различные выводы, человек рассуждает, опираясь на знания о мире и здравый смысл. Несмотря на то, что большие языковые модели достигли значительных успехов в обработке естественного языка, рассуждение на основе здравого смысла остаëтся одним из самых сложных навыков.
Наиболее распространëнным способом оценки способностей моделей рассуждать, опираясь на здравый смысл, является тест на основе схемы Винограда (The Winograd Schema Challenge, или WSC), названный в честь Терри Винограда, профессора компьютерных наук в Стэнфордском университете. Тест основан на разрешении синтаксической неоднозначности.
Давайте рассмотрим пример из схемы Винограда:
"Кубок не помещается в коричневый чемодан, потому что он слишком большой."
Что в этом случае является слишком большим: чемодан или кубок? Для человека ответ является очевидным, а для модели?..
Мы расскажем про наше исследование, в котором сравнили внимание человека и модели, а также проанализировали, на какие слова при решении схемы Винограда обращают внимание человек и модель. Хотя внимание человека и внимание трансформера кажутся совершенно разными, отдельные результаты говорят о взаимосвязи между ними.
Непрерывность бизнеса и аварийное восстановление: в чём разница
В этой статье мы разберёмся, в чём разница между непрерывностью бизнеса и аварийным восстановлением (восстановлением после сбоя) — двумя обязательными стратегиями для любой компании, желающей избежать длительного простоя. Как объединение обеих практик повышает устойчивость к потенциально опасным для бизнеса угрозам?
Ваши git и там и тут передают: как синхронизировать репозитории на мастере и репликах
Одна из важных задач при разработке отказоустойчивой распределенной системы — синхронизация данных на мастер‑узле со слейв‑узлом. В дальнейшем будем звать слейв‑узлы репликами. Методов синхронизации множество, и иногда более эффективным оказывается тот, который учитывает специфику хранимых данных.
Я Роман Соловьев, ведущий ИТ‑инженер в отделе RnD и готовых решений Управления развития продукта в СберТехе. Сегодня расскажу о том, как мы синхронизируем Git‑репозитории на двух узлах, какие существуют альтернативы и зачем это вообще нужно.
Курица не птица, техпис не инженер
Привет, Хабр! Меня зовут Вячеслав Смирнов, я руковожу техническими писателями в Platform V Pangolin. Три года назад я пришел в продукт в качестве DBA, а спустя год организовал команду техписов и стал разрабатывать документацию.
Давным-давно команда Pangolin состояла из 15-20 человек. Документация по продукту была в зачаточном состоянии. Разработчики сами пилили фичи и сами же их описывали. Но потом Pangolin вырос, вышел на внешний рынок и нам стали нужны профессиональные технические писатели.
А мир техписов разнообразен: здесь есть и редакторы-корректоры, и технари, умеющие развернуть дистрибутив. Техписы без технического опыта не всегда готовы разбираться в сложном продукте. Но, как выяснилось на практике, и технарям, пришедшим в команду, не хватало погружения в тему СУБД, чтобы писать документацию. Попробовав разные варианты, мы нашли для себя такой выход: наши техписы обязательно проходят базовые курсы DBA, и мы берем в команду не только техписов, но и DBA, желающих писать доку.
Под катом расскажу, почему я считаю, что техпису обязательно погружаться в продукт настолько глубоко. Буду рад вашим мнениям.
Обзор LSP: что это такое, зачем нужно, как работает
Представьте: у вас есть N редакторов или IDE и M языков программирования. Получается, что для их корректной работы вам необходимо поддерживать N*M плагинов. Но что, если таких редакторов и языков много?.. Решением может стать LSP — единый интерфейс взаимодействия языкового сервера и редакторов, который помогает сузить проблему до N+М.
Меня зовут Денис Маматин, я работаю в отделе R&D СберТеха. Наша команда занимается разработкой и тестированием новых технологий. В этой статье я расскажу, что такое LSP‑протокол, как он поможет упростить разработку, и рассмотрю небольшой пример LSP‑сервера.
Не найдётся ли у вас оперативной памяти, мистер Нейман?
Все мы знаем что такое оперативная память, а также что её всегда недостаточно. Не согласится разве что компания Apple, считающая, что 8 гигабайтов хватит всем. Но когда и как возникла оперативная память? Как устроена она на уровне полупроводников и логических вентилей? Как раньше обходились без неё, и возможно ли отказаться от неё снова? Попробуем разобраться в этом, пройдясь по хронологии развития технологии и заодно порассуждаем о том, что нас ожидает в будущем.
RTO и RPO: что это и в чём отличия
Целевая точка восстановления (RPO) и целевое время восстановления (RTO) дают организациям возможность определять допустимые потери данных и диапазон времени простоя систем. Эти метрики являются основными при разработке планов по хранению данных, резервному копированию и аварийному восстановлению, обеспечению эксплуатационной устойчивости, а также непрерывности бизнеса.
Как я начал играть на хэндпане и почему это идеальное хобби для айтишника
Привет! На связи Михаил Семёнов, лидер Platform V Pangolin. Это целевая СУБД в Сбере (здесь мы писали о том, как делаем Pangolin, а здесь — о том, как сами мигрировали с Oracle). Но сегодня я хочу рассказать не про разработку и не о продукте, а о том, что мне помогает делать его. Полтора года назад у меня появилось хобби. Я играю на хэндпане. Это перкуссионный (тот, на котором играют руками) барабан, похожий на НЛО. Когда я впервые услышал его, мне так понравилось звучание, что я полез на Авито искать инструменты и школу c уроками. Нашёл, затянуло, весной выступил на концерте для зала на 300 человек, и вот сейчас жду отпуск и поездку на фестиваль, где буду учиться играть все дни напролет.
Считаю, хэндпан — идеальное хобби для айтишника. Он будто создан для того, чтобы разгружать голову. Если вы любите музыку, но пока не нашли подходящее увлечение, заглядывайте под кат. Расскажу, что особенного в этом инструменте, какие они бывают, как начать играть и многое другое.
ИИ в CRM: как меняется клиентский опыт
Системы управления взаимоотношениями с клиентами (CRM) преобразились благодаря возможностям искусственного интеллекта, предоставив компаниям более разумный способ управления клиентским опытом. Сегодня значение ИИ в процессах продаж невозможно переоценить. Мы рассмотрели, как можно использовать машинное обучение в CRM-системах и как на их основе организация может создать рабочие процессы, соответствующие целям и ожиданиям в области управления взаимоотношениями с клиентами.
Повысить разрешение или улучшить качество генераций? Зачем выбирать, когда есть KandiSuperRes Flash
В апреле этого года мы выпустили модель Kandinsky 3.1, которая поддерживает много различных режимов, в том числе и возможность генерировать изображения в 4К с помощью диффузионной модели повышения разрешения KandiSuperRes. Подробнее про архитектуру и результаты можно почитать в этой статье. Модель позволяет генерировать более чёткие изображения в высоком разрешении, однако не устраняет артефакты, получившиеся на этапе генерации с помощью модели Kandinsky 3.1. Чтобы устранить эти недочёты, мы разработали модель KandiSuperRes Flash, которая улучшает изображение, делает его более эстетичным, и при этом повышает разрешение в два раза.
Почему мы решили перейти с JUnit4 на JUnit5
Меня зовут Александр Чекунков, я — Android‑разработчик в СБЕРе. Занимаюсь разработкой CSI‑опросов в мобильном приложении «СберБанк Онлайн». Я несу ответственность за функциональность, которую используют бизнес‑команды для оценки удовлетворённости клиентов.
Не так давно, в нашем проекте мы приняли решение перейти с JUnit4 на JUnit5. Эта статья поможет разобраться в причинах выбора JUnit5 в качестве целевого решения для написания unit‑тестов. Я постараюсь ответить на ключевые вопросы: что делает JUnit5 предпочтительным выбором для современных проектов, и какие конкретные улучшения и нововведения он предлагает?