Обновить
42
0
Валерий Дмитриев@rotor

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

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

Как измерять эффективность разработчиков, и почему метод McKinsey может убить культуру разработки в компании

Уровень сложностиСредний
Время на прочтение13 мин
Просмотры8.6K

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

Читать далее

Почему я отказался от GraphQL

Время на прочтение10 мин
Просмотры18K

GraphQL — невероятная технология, привлёкшая много внимания с тех пор, когда я начал в 2018 году использовать её в продакшене. Вам не придётся долго листать мой блог, чтобы увидеть, как я раньше продвигал её. После создания множества React SPA поверх путаницы нетипизированных JSON REST API технология GraphQL показалась мне глотком свежего воздуха. Я искренне поддерживал хайп вокруг GraphQL.

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

В статье для примеров я буду использовать код на Ruby с превосходной библиотекой graphql-ruby, но я уверен, что многие из перечисленных проблем не зависят от выбора языка/библиотеки GraphQL.

Если вы знаете более качественные решения или способы, напишите мне комментарий.

Читать далее

Книга «Пульсирующая Вселенная»

Время на прочтение19 мин
Просмотры15K
imageПривет, Хаброжители!

Мы живем в эпоху космологической революции. Открытие в 2015 году гравитационных волн от слияния множества черных дыр звездных масс закрывает проблему «темной материи», существование которой не могли объяснить более полувека. Это открытие привело к созданию модели осциллирующей Вселенной, в динамике которой гравитационное излучение и черные дыры играют ключевую роль.

Стивен Хокинг считал, что ничто до Большого взрыва не может повлиять на нас. Мы полагаем, что он ошибался: история Вселенной до Большого взрыва имеет важное значение для нашего космологического цикла, и реликты прошлых циклов в изобилии рассеяны вокруг. Главными реликтовыми объектами являются массивные черные дыры.

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

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

16 типов менеджеров проектов: от токсика и пингатора до бюрократа и мамы-утки

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

Менеджеров проектов можно классифицировать тысячей разных способов: по опыту, по навыкам, по вовлеченности или по сфере работы. Но мы выбрали самый сложный — классифицировать по их манере управления. Один PM на всё готов и вписывает команду в любой движ, другой — напротив, отказывается от активностей и всячески оберегает «своих» от перегруза. В общей сложности мы насчитали 16 ярких типажей. Попробуем разобрать плюсы и минусы каждого.

Нас зовут Аня Ионова и Миша Дырма, мы оба уже много лет работаем в AGIMA, оба прошли путь от линейного проджекта до руководителя проектного офиса. За эти годы мы вырастили десятки РМ-ов, а общались, наверное, с сотнями, если не с тысячами. Мы поняли, что это хороший материал для — немного субъективного — обобщения. В этой статье мы описываем те типы управления, которые видели собственными глазами. А заодно — даем рекомендации, как выявить и грамотно применить скиллы каждого PM.

Читать далее

Как запускать RabbitMQ в Docker

Время на прочтение8 мин
Просмотры120K

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет научиться запускать и настраивать RabbitMQ в Docker. Вы поймёте, как конфигурировать параметры запуска, а также узнаете о возможностях управления через веб-интерфейс.

Читать далее

Redis Stream — надёжность и масштабируемость ваших систем сообщений

Время на прочтение16 мин
Просмотры45K
image

Redis Stream — новый абстрактный тип данных, представленный в Redis с выходом версии 5.0
Концептуально Redis Stream — это List, в который вы можете добавлять записи. Каждая запись имеет уникальный идентификатор. По умолчанию идентификатор генерируется автоматически и включает в себя временную метку. Поэтому вы можете запрашивать диапазоны записей по времени или получать новые данные по мере их поступления в поток, как Unix команда «tail -f» читает лог-файл и замирает в ожидании новых данных. Обратите внимание, что поток могут слушать одновременно несколько клиентов, как многие «tail -f» процессы могут одновременно читать файл, не конфликтуя друг с другом.

Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
Читать дальше →

От советских компиляторов до грязных трюков: что поведают на C++ Russia 2024

Время на прочтение13 мин
Просмотры6.9K

Завсегдатаи C++ Russia уже хорошо знают некоторых спикеров и ждут их новых докладов. Например, Антона Полухина @antoshkkaa): в 2020-м все смотрели его «Грязные трюки из такси», а недавно — «C++ трюки из userver». Из необычного — серия докладов Петра Советова об автоматизации программирования в СССР: уже были выступления о теоретических результатах и о трансляторах.

Через месяц начнётся C++ Russia 2024. Там будут и Антон с новыми трюками (в этот раз грязными!), и Пётр с заключительной частью исторической серии. А ещё множество другого — от работы с GPU до новинок грядущего C++26.

И теперь, когда программа почти готова (возможны небольшие дополнения), показываем её Хабру: приводим короткие описания всех докладов, разбитые по тематическим блокам. А если интересует какая-то другая информация о конференции или билеты — всё это на её сайте.

Программа C++ Russia 2024

На практике пробуем KAN – принципиально новую архитектуру нейросетей

Уровень сложностиСредний
Время на прочтение5 мин
Просмотры42K

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

Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.

Читать далее

Векторные базы данных: простым языком про устройство и принцип работы

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

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

Читать далее

Как 8 сотрудников Google изобрели современный искусственный интеллект

Время на прочтение16 мин
Просмотры14K

Восемь имён указаны в качестве авторов научной работы «Всё, что вам нужно – это внимание», написанной весной 2017 года. Все они были исследователями из Google, хотя к тому времени один из них уже покинул компанию. Когда ветеран исследования, Ноам Шазир, увидел ранний вариант работы, он был удивлён, что его имя стоит первым, что говорит о том, что его вклад был первостепенным. «Я не думал об этом», — говорит он.

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

Читать далее

Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям

Время на прочтение16 мин
Просмотры21K

В Yandex Cloud с сегодняшнего дня открыт доступ к тестированию API YandexART — нейросети для генерации изображений и анимаций, которая лежит в основе приложения Шедеврум. Протестировать API можно в сервисе Foundation Models, в котором доступно несколько моделей машинного обучения, включая YandexGPT для генерации текстов и эмбеддинги для задач семантического поиска. 

Читать далее

Quantization Deep Dive, или Введение в современную квантизацию

Уровень сложностиСредний
Время на прочтение16 мин
Просмотры34K

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++

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

Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-сканерами и обработкой фотографий. В задачах часто использовал С++, хотя машинное обучение традиционно ассоциируется с Python. Этот язык программирования буквально захватил сферу, его используют повсюду — от обучающих курсов до серьезных ML-проектов.

Однако Python — не единственный язык, на котором можно решать задачи машинного обучения. Так, альтернативой может стать С++. Если последний вам ближе, вам будет интересен и полезен этот текст.

Под катом разберемся:

как организовать работу с данными и загрузку обучающего датасета, 

как описать структуру нейронной сети, 

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

как организовать конвейер обучения сети, 

как использовать предобученные глубокие сети для решения задач. 

Читать далее

Выжимаем из Random Forest максимум: увеличиваем полноту при 100% точности

Уровень сложностиСредний
Время на прочтение16 мин
Просмотры5K

Была классическая задача: по табличным данным предсказать некое событие — случится или нет. И как бы я к этим данным ни подбирался, с какого ракурса ни смотрел, результат, увы, не впечатлял. Данных было мало, а то, что было, обладало слабой предсказательной силой. Хотя казалось, что что-то вытащить все-таки можно.

И вот, просматривая отдельные деревья решений, меня осенило — попробую-ка я обрезать все деревья, используемые в Random Forest, до одной, но самой эффективной ветки. И — о чудо! — заметно выросла как точность (precision), так и полнота (recall). И особенно полнота выросла на высоких уровнях точности.

Проверил этот способ на других задачах. И везде при 100% точности заметно выростала полнота. Что же я сделал?

Читать далее

«Код-ревью — это когда твои комментарии в интернете действительно читают»: дискуссия с разработчиками на C++

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

Заходят как-то на Хабр С++ разработчики из крупных компаний, а у них спрашивают: что такое код-ревью и используют ли они спецификатор final. Эти и другие вопросы с подвохом мы задали инженерам из YADRO, VK, Kaspersky, Syntacore и PVS-Studio. В итоге обсудили инструменты для работы со сторонними зависимостями, интерфейсы «плюсовых» библиотек и отказ (или нет) от exceptions.  

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

Читать далее

Никогда не отвлекай программиста

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

Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.

Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
Читать дальше →

Переключение между контекстами губительно для продуктивности

Время на прочтение6 мин
Просмотры15K


Введение


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

Я попросил Юджина Шульга, закаленного в боях техлида и технического директора Telnyx, поделиться с нами мыслями о том, как справляться с переключением между контекстами. Его карьерный путь напоминает мой собственный. Он начинал программистом, затем поднялся до руководящей позиции и в конце концов стал техническим директором компании. Рекомендации, которые он дает, основаны на его личном опыте работы программистом, руководителем команды и руководителем руководителями.

Давайте перейдем непосредственно к рекомендациям!
Читать дальше →

Как защитить бизнес при внедрении LLM (часть 1)

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

Новый мир с LLM — прекрасен! Нам, инженерам, он открывает много перспектив. А тем, кто его незаконно использует — предоставляет новые страшные инструменты. Как же защитить свой бизнес от угроз нейросетей?

Меня зовут Евгений Кокуйкин и я — руководитель AI продуктов компании Raft. Занимаюсь внедрением технологий искусственного интеллекта. В течение карьеры работал с протоколами баз данных, проводил фишинговые тренинги и аудит веб приложений. Расскажу про безопасность решений на больших языковых моделях!

Читать далее

Книга «Грокаем глубокое обучение с подкреплением»

Время на прочтение13 мин
Просмотры13K
image Привет, Хаброжители!

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

Давайте научимся создавать системы глубокого обучения на примере увлекательных упражнений, сопровождаемых кодом на Python с подробными комментариями и понятными объяснениями. Вы увидите, как работают алгоритмы, и научитесь создавать собственных агентов глубокого обучения с подкреплением, используя оценочную обратную связь.
Читать дальше →

Open-source ML от Apple

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

Привет, Хабр! После недавнего релиза Apple VIsion Pro я задумался над тем, какой вклад компания внесла в open-source ML, ведь, очевидно, было много предпосылок, наработок и технологий, о которых массовый пользователь не знает. Но все это гарантировано сыграло роль в появлении тех продуктов на рынке, о которых слышал буквально каждый в мире. Поэтому свою первую статью я решил сделать в формате небольшого обзора того, чем занимались и продолжают заниматься Apple в ML, хотя, казалось бы, что там можно смотреть в продуктах с открытым кодом кроме сотни репозиториев про Swift. Попытаюсь выделить основные тренды за прошедшие года и поделиться тем, что сам нашел интересного (оставив позади вопрос о целесообразности развития ML на яблочных устройствах)

Читать далее

Информация

В рейтинге
6 645-й
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность