All streams
Search
Write a publication
Pull to refresh
7
0
Дмитрий Цымай @dmvcm

Программист python

Send message

Библиотека визуализации графов: как мы решили дилемму Canvas vs HTML в Gravity UI

Reading time17 min
Views12K

Меня зовут Андрей, я разработчик интерфейсов в команде User Experience инфраструктурных сервисов Яндекса. Мы развиваем Gravity UI — опенсорсную дизайн‑систему и библиотеку React‑компонентов, которую используют десятки продуктов внутри компании и за её пределами. Сегодня расскажу, как мы столкнулись с задачей визуализации сложных графов, почему существующие решения нас не устроили, и как в итоге появилась @gravity‑ui/graph — библиотека, которую мы решили сделать открытой для сообщества.

Эта история началась с практической проблемы: нам нужно было рендерить графы на 10 000+ элементов с интерактивными компонентами. В Яндексе много проектов, где пользователи создают сложные пайплайны обработки данных — от простых ETL‑процессов до машинного обучения. Когда такие пайплайны создаются программно, количество блоков может достигать десятков тысяч.

Существующие решения нас не устраивали:

— HTML/SVG‑библиотеки красиво выглядят и удобны в разработке, но начинают тормозить уже на сотнях элементов.

— Canvas‑решения справляются с производительностью, но требуют огромного количества кода для создания сложных UI‑элементов.

Мы решили не выбирать между Canvas и HTML, а использовать всё лучшее из обеих технологий. Идея была проста: автоматически переключаться между режимами в зависимости от того, насколько близко пользователь смотрит на граф.

Читать далее

Прочитал «Чистый код», чтобы вам не пришлось

Level of difficultyEasy
Reading time12 min
Views50K

Пересказываю культовую книгу Роберта Мартина "Чистый код" с примерами на C#. Узнайте, как создавать код, который читается как проза: от магии имен переменных и идеальных функций до безупречных тестов и архитектуры, которая не рухнет при первом требовании заказчика. Полный гид, ваш код станет предметом гордости, а не источником кошмаров.

Читать далее

Парадокс вращения монеты — иллюзионист от мира математики

Level of difficultyEasy
Reading time2 min
Views25K

Дэвид Копперфильд мог заставить исчезнуть самолет или статую Свободы. Наш герой тоже мастер исчезновений. Ему удалось обмануть 300 тысяч американских студентов во время вступительного теста. Хотите поучаствовать в его представлении?

Тогда прошу под кат!

Змеиная наука: Химия в Python, часть 1

Level of difficultyEasy
Reading time5 min
Views14K

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

Вперед!

Химия в Python: Часть 2

Level of difficultyEasy
Reading time9 min
Views7K

Прошлая моя статья набрала хороший отклик.

И сегодня я решил написать продолжение той статьи.

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

Я надеюсь вам понравятся мои изменения и сама статья!

Читать далее

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

Reading time5 min
Views185K


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее

Доказана омнипериодичность игры «Жизнь» Конвея

Level of difficultyEasy
Reading time12 min
Views20K

Сообщество игры "Жизнь", клеточного автомата, изобретённого Джоном Конвеем, с давних пор стремилось найти осцилляторы — стабильные конфигурации, которые повторяются с определённой периодичностью во времени — для каждого натурального числа. И вот, наконец, 21 июля 2023 года был найден осциллятор для последнего недостающего периода — 41, завершая таким образом доказательство омнипериодичности.

В этой статье я расскажу историю открытия осцилляторов для всех периодов до 42 включительно, а также про семейство осцилляторов, включающее любой период от 43 и выше.

Читать далее

Переход на UNIGINE с Unity: гайд для программистов

Reading time12 min
Views7.2K

Мы продолжаем цикл статей про безболезненный переход на UNIGINE с зарубежных движков: в третьем выпуске рассмотрим миграцию с Unity с точки зрения программиста.

Под катом: написание игровой логики, запуск скриптов в редакторе, триггеры, ввод, рейкастинг и другое.

Читать далее

Как изучить SQL за ночь или шпаргалка для системного аналитика

Level of difficultyEasy
Reading time10 min
Views186K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее

Вражеский нейлон

Reading time15 min
Views50K

История сия произошла в начале семидесятых годов прошлого века. Она наверняка тянет на сюжет крутого боевика, поскольку в ней присутствуют и засыпанный сибирскими снегами Вычислительный Центр и специальная бригада сотрудников КГБ во главе с майором и роскошная блондинка, которая разделась донага ради раскрытия большой тайны. Будут в этой истории допрос и обыск а также арест невиновного. А арестованным невиновным окажется сам автор.
Если интересно и есть время - читайте дальше.

Читать далее

Основы RPA: программные роботы и зачем они нужны

Reading time6 min
Views58K

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

Статья написана при поддержке технического эксперта UiPath: Кристины Виролайнен.

Читать далее

Civilization VI прокачает ваш английский: годный инструмент для лексики и словарного запаса

Reading time8 min
Views22K

Умные люди говорят, что после релиза игры должно пройти несколько лет, пока издатели не исправят все баги. Игра Civilization VI вышла в релиз аж в 2016, но последний патч вышел меньше года назад. А мелкие багфиксы и вовсе стабильно появляются каждый месяц. Так что можно говорить, что шестую «Циву» наконец-то довели до ума. Ну или почти довели.

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

Читать далее

Rust 1.59.0: встроенный ассемблер, деструктурирующее присваивание, отключение инкрементальной компиляции

Reading time5 min
Views11K

Команда Rust публикует новую версию языка — 1.59.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Читать далее

Реализуем преобразования кода на Python

Reading time10 min
Views29K
Привет, Хабр.

Сегодня мы предлагаем вам перевод статьи, затрагивающей не самую обсуждаемую тему: компиляцию кода в Python, а именно: работу с абстрактным синтаксическим деревом (AST) и байт-кодом. Притом, что Python является интерпретируемым языком, такие возможности в нем чрезвычайно важны с точки зрения оптимизации. О них мы сегодня и поговорим.
Читать дальше →

Linux-смартфоны, на которые стоит обратить внимание в 2022 году

Reading time5 min
Views104K

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

Сейчас ассортимент мобильных устройств очень большой, причем чаще всего говорят о девайсах от известных производителей. Но есть и не особо распространенные модели, на которые стоит обратить внимание, особенно IT-специалисту. О них сегодня и поговорим, правда, не о всех, а только тех, что работают на базе Linux. Кстати, часть моделей — не просто с Linux на борту, но еще и с физической клавиатурой.
Читать дальше →

Задачи с Международной математической олимпиады 2021 (решаем в комментах)

Reading time3 min
Views92K
image

Предлагаю поразмять мозги и как в прошлом году, порешать задачки с математической олимпиады в комментариях к этой статье. Задачек 6 штук, и на них отводилось 2 дня по 4,5 часа. (Чур, в ответы не подглядывать!)

Этим летом в Питере прошла 62-я Международная математическая олимпиада с вот какими итогами:

  • Первое место заняла команда Китая, завоевавшая шесть золотых медалей (208 баллов).
  • Российские школьники заняли второе место с пятью золотыми и одной серебряной медалью (183 балла)
  • На третьем месте южнокорейская команда с пятью золотыми и одной серебряной медалью (172 балла)

Первая такая олимпиада прошла в 1959 году в Румынии, и тогда в ней принимали участие представители всего семи стран. В 2021 году в олимпиаде участвовали более 619 школьников из 107 стран.

image

Российская сборная
Тренировали сборную России учитель математики Президентского физико-математического лицея № 239 Санкт-Петербурга Кирилл Сухов, педагоги Центра педагогического мастерства Москвы Владимир Брагин и Андрей Кушнир. Россию на олимпиаде представляли:

  • Иван Бахарев (10 класс, Санкт-Петербург) — золотая медаль;
  • Айдар Ибрагимов (11 класс, Казань / Москва) — золотая медаль;
  • Матвей Исупов (11 класс, Ижевск) — золотая медаль;
  • Андрей Шевцов (11 класс, Москва) — серебряная медаль;
  • Данил Сибгатуллин (11 класс, Казань / Москва) — золотая медаль;
  • Максим Туревский (10 класс, Санкт-Петербург) — золотая медаль, абсолютное второе место в общем рейтинге.

Читать дальше →

Обзор домашнего NAS Synology DS220+

Reading time9 min
Views59K

Обзор использования Synology DS220+ в качестве системы резервного копирования для дома, домашнего медиасервера и как элемент умного дома. В статье описанны особенности DS220+ и опыт его использования на протяжении 4 месяцев. Для сравнения кратко представлены альтернативные варианты способные заменить подобное устройство.Описание функционала и сценариев использования в статье довольно подробно и, как я надеюсь, поможет выбрать подходящий вариант резервного копирования.

Читать далее

Выбор метрики для отображения на графике в Power BI

Reading time3 min
Views9.9K

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

В Power BI такая функция может быть быстро и просто реализована с помощью создания вспомогательной таблицы, расчетной меры и обычного слайсера.

Читать далее

Что означают приставки в британских фамилиях и не только

Reading time5 min
Views47K

Привет, Хабр! По исследованиям социологов, в Британии сегодня можно насчитать около 45 000 фамилий. И среди них вы наверняка замечали фамилии со странными префиксами вроде O’Hara или McGregor. О них сегодня и поговорим.

Точнее, не конкретно о них, а в целом о фамильных приставках в Британии. Расскажем, как они появились, что значат и как по ним можно определить родину человека. Готовы? Поехали!

Читать далее

Электроника всем начинающим

Reading time20 min
Views59K

Хабр! Добро пожаловать снова. 

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

Мы будем делать часы, таймер и игру в одном устройстве.

Читать далее

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity