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

Высокая производительность *

Методы получения высокой производительности систем

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

Исследуем фактор случайности в JavaScript

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

В одном недавнем посте я рассказал, как написать утилиту для работы с палитрой в Alpine.js, и важной составляющей этой работы было запрограммировать случайность: каждый пробник на палитре генерировался как совокупность произвольно взятых значений «оттенок» (Hue) (0..360), «насыщенность» (Saturation) (0..100) и «осветление» Lightness (0..100). Собирая этот демо-пример, я наткнулся на Web Crypto API. Как правило, при генерации случайных значений я пользуюсь методом Math.random(); но в документации MDN указано, что есть более безопасный метод Crypto.getRandomValues(). Так что я решил всё‑таки попробовать Crypto (оставив модуль Math в качестве резервного варианта). Но в итоге мне осталось только задумываться, а вдруг найдутся конкретные практические случаи, в которых «повышенная безопасность» означает «повышенную случайность».

Можете выполнить это демо в рамках моего проекта JavaScript Demos на GitHub.

Просмотрите этот код в рамках моего проекта JavaScript Demos на GitHub.

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

Новости

Панорама матричных расширений: от x86 до RISC-V

Время на прочтение15 мин
Количество просмотров4.1K

Матричное расширение ISA CPU… Что это и что оно делает? Уже из названия понятно, что это расширение позволяет ускорять операции над матрицами на CPU. Но задумывались ли вы когда-нибудь, какие они бывают, когда появились, кто и как их создает?

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

Матричные расширения появились не так давно — чуть более трех лет назад. Несмотря на это, они есть у каждой уважающей себя процессорной архитектуры, в том числе и у относительно молодой открытой RISC-V. Почему их так много и чем они отличаются? Поддерживаются ли разреженные матрицы? Об этом и многом другом вы узнаете из статьи. Приготовьтесь, будет интересно и (спойлер!) без многоэтажных формул. 

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

Устойчивость микросервисных Spring приложений: роль аннотации @Transactional в предотвращении утечки соединений

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

В новом переводе от команды Spring АйО вы узнаете, как аннотация @Transactional помогла решить проблему с утечкой соединений и обеспечила стабильность системы.

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

Как создать эргономичное рабочее место в условиях ограниченного пространства

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

Привет! Меня зовут Игорь, я разработчик и эксперт по Java в Skillbox.

В этой статье поделюсь своим видением организации идеального рабочего места.

За рабочим местом я провожу минимум 8 часов 5 дней в неделю и 2–3 часа дополнительно выделяю для учёбы, игр или сёрфинга в интернете.
Согласитесь, это довольно много.

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

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

Предлагаю посмотреть мой сетап.
Всего голосов 6: ↑6 и ↓0+10
Комментарии9

Истории

Компиляторные оптимизации сложны, так как компиляторы забывчивы

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

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

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

GDDR7 — следующее поколение видеопамяти. Перспективы и особенности технологии

Время на прочтение3 мин
Количество просмотров5.6K

GDDR7 — новое поколение видеопамяти для графических адаптеров, например, для Nvidia Blackwell RTX 50. В ближайшие несколько лет именно эта технология будет применяться в современных продуктах разных производителей, постепенно заменяя собой GDDR6 и GDDR6X. У стандарта немало интересных возможностей, но ждать быстрого появления новых видеокарт с такой памятью не стоит. Подробности — под катом.

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

Формирование привычек. Как взять больше из ежедневных ритуалов?

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

Этот материал вдохновлен серией выпусков канала Мэт Д`Авелла евангелиста минимализма и человека, который внедряет в свою жизнь новые привычки. В духе: 30 дней без кофе, 30 дней холодного душа, 30 дней по 10 000 шагов… А также в основе этой лекции от нейробиолога Стэнфордского университета Эндрю Губермана. Если вы задумывались про формирование привычек в жизни, эта статья – знак, что пора начать!

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

ИИ нуждается в огромной вычислительной мощности. Могут ли помочь световые чипы?

Время на прочтение7 мин
Количество просмотров1.4K

Оптические нейронные сети, использующие фотоны вместо электронов, имеют преимущества перед традиционными системами. Но они также сталкиваются и с серьезными препятствиями.

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

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

Кратко про основные техники кеширования в браузере

Время на прочтение6 мин
Количество просмотров1.9K

Сегодня мы поговорим о крайне важной, но порой недооцененной теме — кешировании в браузере.

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

В статье рассмотрим несколько основных методов кеширования, таких как использование HTTP заголовков Cache-Control, ETag, и If-Modified-Since, а такжеLocalStorage.

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

Важность выездных ретроспектив для IT-компаний

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

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

Вряд ли в наше время существуют ИТ компании и читатели хабра, не имеющие представления о таких вещах как ретроспектива, Agile, Scrum, мое любимое - “чисто русский Scrum”, но тем не менее определиться о том, что мы сейчас обсуждаем, я считаю необходимым:

Итак, ретроспектива - это регулярное мероприятие, в рамках которого команда обсуждает прошедший период, анализирует достигнутые результаты, выявляет проблемные моменты и определяет дальнейшие шаги по улучшению рабочих процессов. Ретроспективы являются неотъемлемой частью методологий гибкой разработки, таких как Agile и Scrum, но их важность выходит далеко за пределы IT-сферы.

Из преимуществ подобных мероприятий я бы выделил следующие:
- Систематический анализ проделанной работы и выявление областей для улучшения

- Повышение вовлеченности сотрудников в рабочие процессы

- Укрепление командного духа и взаимопонимания между членами коллектива

- Накопление ценного опыта и его применение в будущих проектах

- Формирование культуры непрерывного совершенствования

На этом с терминологией наверно можно закончить. Тем более, что здесь я буду рассуждать не о процессе самого ретро как такового, а именно о пользе выездного ретро с командой.
С 2023 года в нашей компании устоялся процесс, когда команда завершая очередной спринт, а тем более если спринт был весьма hot, может обратиться к своему HR - партнеру с просьбой организации для команды выездной ретроспективы. Подобные мероприятия, по крайней мере у нас, проходят с полным или частичным софинансированием от компании. Поэтому, как правило HR специалист организует пространство для проведения ретроспективы, будь то лофт, тайм - кафе или самое трендовое - домик в лесу. Организует закуп всего необходимого для проведения ретроспективы и организации после нее. И организует проезд всей команды к месту проведения.
Я не просто так упомянул, что вы не просто едите куда то провести мероприятие лишь бы не в офисе, но еще и организовываете себе отдых после ретроспективы. Как правило это шашлыки, неформальное общение, настольные игры, и любой другой вид отдыха, позволяющий команде расслабиться, дать голове отдохнуть, отвлечься от работы и офиса.

Из преимуществ подобных мероприятий я бы мог выделить:
1. Отсутствие отвлекающих факторов

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

Что нового в документации YDB во втором квартале 2024 года

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

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

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

Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать

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

Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut.

Сегодня хочу поговорить об одном из lock-free алгоритмов в Java. Разберём как с ним связано ключевое слово volatile и паттерн immutable.

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

Непреодолимая легкость повышения утилизации GPU

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

Привет, Хабр! Я Антон, DevOps-инженер в Selectel. В апреле у нас проходил ML-митап, где я и мой коллега, ML-Ops инженер Ефим Головин, рассказали, как подбираем конфигурацию ML-инфраструктуры и повышаем утилизацию GPU. Запись нашего выступления можно посмотреть на YouTube. Материал вышел интересным, поэтому мы решили оформить пересказ в текстовый формат.

В этой статье вы узнаете, как перенести лучшие практики из мира производства в сферу машинного обучения, подобрать конфигурацию вычислительной инфраструктуры под ML-нагрузки и максимально эффективно ее использовать. Впереди много интересного, так что давайте начнем!
Читать дальше →
Всего голосов 33: ↑33 и ↓0+43
Комментарии0

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

12 – 13 июля
Геймтон DatsDefense
Онлайн
14 июля
Фестиваль Selectel Day Off
Санкт-ПетербургОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн

Как мы повышали производительность очереди сообщений

Время на прочтение14 мин
Количество просмотров8.8K

Работа в Яндексе ставит огромное количество технических вызовов, которые интересно решать. И один из них — это производительность основной очереди сообщений YDB Topics. Посмотрим, может ли опенсорсный продукт от Яндекса конкурировать с Apache Kafka по производительности.

Меня зовут Зевайкин Александр. Я уже практически 20 лет в IT. Начинал с преподавания в вузе, запускал множество стартапов, руководил командами разработки. В текущий момент я работаю в Яндексе в отделе, занимающимся одной из высоконагруженных систем. Это разработка распределённой базы YDB, в частности, функциональности YDB Topic.

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

Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

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

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+22
Комментарии24

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

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

Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?

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

Читать далее
Всего голосов 73: ↑71 и ↓2+84
Комментарии40

Что нового в Greenplum 7. Заключение

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

Перед вами заключительная, третья часть обзора изменений в Greenplum 7. Если вы по каким-то причинам пропустили прошлые публикации, то их можно найти в нашем блоге здесь и здесь. А сегодня мы поговорим об изменениях в партиционировании таблиц и ресурсных группах, JIT-компиляции выражений и многом другом. Давайте начнём!

Назад в Будущее III
Всего голосов 15: ↑15 и ↓0+16
Комментарии0

ELK: использовать нельзя изобрести

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

Прекрасный момент: система написана, часть тестов автоматизирована, отчеты сгенерированы и даже выявлено несколько дефектов. Выдыхаем и будем думать о дальнейших планах: увеличить тестовое покрытие, добавить стабильности и что-то делать с логированием. Стоп, подождите, вы про логи? Заряжаем ELK, агенты сбора, выделяем ресурсы. Как нет ресурсов? Так, может быть, rsyslog в конце концов? И его нельзя? Звучит как тестовая задача на собеседовании, однако можно ли в такой ситуации обойтись без дополнительных инструментов, да еще и интегрировать работу с логами в систему автоматизации тестирования?

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

Проблемы нормализации НСИ и их решения

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

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

Меня зовут Алексей Бырко, я консультант-эксперт в департаменте 1С «КОРУС Консалтинг» и в своей работе я часто сталкиваюсь с потребностью нормализации НСИ на проектах. Поделюсь своим опытом, почему это происходит и что с этим делать.

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

Зачем нужен райзер видеокарты и как он влияет на производительность

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2+8
Комментарии10
1
23 ...

Вклад авторов