Pull to refresh
4
0
Андрей @Bitumok

User

Send message

Алгоритм пересечения полигонов

Reading time20 min
Views5.5K

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

Читать далее
Total votes 25: ↑28 and ↓-3+31
Comments13

Мега-Учебник Flask Глава 7: Обработка ошибок (издание 2024)

Level of difficultyMedium
Reading time14 min
Views2.2K

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

Начать изучение
Total votes 7: ↑9 and ↓-2+11
Comments0

Zigbee датчик мониторинга углекислого газа EFEKTA Pixel Open Air

Level of difficultyEasy
Reading time7 min
Views11K
Приветствую всех читателей Habr. Время от времени я выкладываю в открытый доступ некоторые свои проекты по электронике. В эти майские праздники я подготовил для всех любителей что-то собрать своими руками достаточно интересный проект бытового zigbee-датчика мониторинга углекислого газа с LCD-дисплеем. Это неплохо проработанный проект, ничем не уступающий фабричным аналогам, да и по многим параметрам и функциональности гораздо превосходящий их.


Читать дальше →
Total votes 39: ↑41 and ↓-2+43
Comments37

Главные отличия PCA от UMAP и t-SNE

Level of difficultyMedium
Reading time10 min
Views3.4K

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Total votes 30: ↑35.5 and ↓-5.5+41
Comments9

Почему литий-ионные батареи умирают так рано?

Reading time6 min
Views131K
Смерть батареи: мы все видели, как это происходит. В телефонах, ноутбуках, фотоаппаратах, а теперь и электромобилях, процесс болезненный и — если повезет — медленный. С годами, литий-ионный аккумулятор, который когда-то питал ваши устройства в течение нескольких часов (и даже дней!) постепенно теряет свою способность удерживать заряд. В конце концов вы смиритесь, быть может, проклянёте Стива Джобса, а затем купите новую батарею, а то и вовсе новый гаджет.

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

Более подробный ответ, который проведет нас через описание нежелательных химических реакций, коррозию, угрозу высоких температур и других факторов, влияющих на производительность, начинается с объяснения того, что происходит в литий-ионных аккумуляторах, когда всё работает хорошо.
Читать дальше →
Total votes 161: ↑148 and ↓13+135
Comments122

Вы думаете рисовать линии это просто?

Level of difficultyMedium
Reading time13 min
Views20K

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

Читать далее
Total votes 57: ↑61 and ↓-4+65
Comments36

Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT

Reading time16 min
Views3.3K

Мы начнём с простого чат-бота, который может взаимодействовать только с одним документом; а закончим более продвинутым чат-ботом, который может взаимодействовать с несколькими различными документами и типами документов, а также сохранять историю чата — чтобы он мог отвечать на вопросы в контексте последних бесед.

Читать далее
Total votes 13: ↑14 and ↓-1+15
Comments4

Модули multiprocessing и threading в Python

Level of difficultyEasy
Reading time9 min
Views4.7K

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

Читать далее
Total votes 1: ↑2 and ↓-1+3
Comments2

Ускорение инференса LLM

Level of difficultyMedium
Reading time13 min
Views7.1K

Инференсом ML-модели называют процесс её работы на конечном устройстве. Соответственно, чем больше мы разгоняем инференс, тем быстрее работает модель. Скорость может зависеть от разных условий, например, от архитектуры, которую вы выбрали для модели, или от железа, на котором работает устройство. Кроме того, проблема тяжёлого инференса остро ощущается на больших языковых моделях (LLM) так остро, как ни на каких других моделях.

Меня зовут Роман Горб, я старший ML-разработчик в команде YandexGPT. Тема инференса LLM заинтересовала меня, потому что я занимался R&D в квантовании сеток для CV-задач. Сегодня я расскажу, как безболезненно увеличить скорость инференса. Сперва разберёмся, зачем это нужно, а потом рассмотрим разные методы ускорения и фреймворки, которые могут в этом помочь.

Ускоряемся
Total votes 31: ↑30.5 and ↓0.5+30
Comments9

Разница между pool.map и pool.map_async в Python

Level of difficultyEasy
Reading time2 min
Views2.3K

Еще одна статья-шпаргалка о модуле multiprocessing в Python, без воды, от новичка для новичков многопроцессорного программирования.

pool.map и pool.map_async являются методами модуля multiprocessing.Pool в Python, которые позволяют параллельно выполнять функции на нескольких процессах.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments3

Как развернуть Minecraft на сервере и сделать бэкап мира

Reading time7 min
Views6.1K

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

Посмотрим, как развернуть сервер Minecraft на операционной системе Ubuntu и создать бэкапы в объектное хранилище через утилиту s3fs. Подробности — под катом.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments21

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Level of difficultyMedium
Reading time15 min
Views6.7K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Total votes 19: ↑22 and ↓-3+25
Comments13

Что такое дрифт ML-моделей и как его мониторить?

Reading time8 min
Views2.9K

Даже при наличии качественных входных данных качество предсказаний ML-модели со временем ухудшается. Под катом рассмотрим, как команда Neoflex с помощью мониторинга обнаруживает изменения вовремя и поделимся подборкой open source-библиотек для определения дрифта данных.

Теперь клиенты Selectel могут оптимизировать управление DS/ML-моделями с помощью MLOps-платформы Neoflex Dognauts. Она обеспечивает автоматизацию полного цикла разработки и эксплуатации моделей машинного обучения.
Читать дальше →
Total votes 37: ↑41 and ↓-4+45
Comments2

Обновление нейро-интерфейса Automatic1111 версия 1.9.0: что нового и как обновиться?

Level of difficultyEasy
Reading time4 min
Views4.7K

Привет всем любителям генерации изображений! Недавно вышло обновление популярного интерфейса Automatic1111 для графической нейросети Stable Diffusion.
Хотя заметных нововведений не так много, есть несколько интересных изменений, о которых стоит рассказать.

Читать далее
Total votes 3: ↑3.5 and ↓-0.5+4
Comments3

Как от одного датчика дойти до полу-умной квартиры

Level of difficultyMedium
Reading time12 min
Views12K

В интернете утверждают, что диоксид углерода влияет на наше самочувствие. А что если собрать устройство замера уровня CO2 самому? Учитывая, что каждая новая железка начинается с простой идеи, насколько далеко можно зайти в этом направлении? И что тут общего с полу-умной квартирой?

Читать далее
Total votes 29: ↑33 and ↓-4+37
Comments39

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Reading time9 min
Views26K


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

Хотелось, чтобы система полива была автоматической, при этом при ее выборе приходилось учитывать следующие условия:

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

Оценив готовые решения, которые удалось найти в местных DIY сетях и на Amazon и почитав отзывы об их надежности (как правило, не самой высокой), решили попробовать сделать что-то самостоятельно.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments25

ОбАСУчиваем дачу. Начало

Reading time6 min
Views12K

«В автоматизацию идут самые большие лентяи – они хотят сделать так, чтобы лежать на диване, а без них само бы всё работало»
Преподаватель кафедры АПП Волгоградского Политеха.

Добрый день, уважаемые хабровчане!

Хочу предложить вашему вниманию историю моего скромного «хобби-проекта».

Как известно, бывают умные вещи и умные дома, а мне захотелось сделать «умную дачу»! Ну, такую, чтобы сама себя поливала в периоды долгого отсутствия хозяев, а в холодное время включала отопление к их приезду. Причём, сделать всё это «на минималках» и в смысле затрат финансовых, и в смысле затрат умственной и физической энергии. И чтобы было просто «прикольно». По специальности я инженер АСУ ТП, вот и захотелось создать некоторую вариацию такой системы на своём дачном участке. Идея эта зрела во мне долго, но должны были сложиться как объективные так и субъективные обстоятельства.

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

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

Читать далее
Total votes 15: ↑15.5 and ↓-0.5+16
Comments56

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views25K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

Сегодня расскажу про то, как правильно утопить растение, спроектировать прототип и выйти в релиз, даже если твои тестеры очень сильные люди.

Читать далее
Total votes 110: ↑121 and ↓-11+132
Comments161

Топовые подходы к решению алгоритмических задач

Reading time11 min
Views19K

Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Статья подойдёт специалистам, которые хотят углубить свои знания в программировании, и укрепить навыки нахождения оптимальных решений алгоритмических задач.

Читать далее
Total votes 11: ↑13.5 and ↓-2.5+16
Comments10

LOCOST и SPECTRUM, два подхода к суммаризации

Level of difficultyMedium
Reading time4 min
Views524

2-3 абзаца — привычный размер входного текста для языковых моделей. Больше — тяжело, потому что вычислительная сложность растет квадратичным образом. Поэтому битва за удлинение контекста продолжается и постоянно возникают новые, общие или не очень, подходы. В этом обзоре мы расскажем о двух подходах, связанных с суммаризацией большого текста. Первый — LOCOST — направлен на длинные тексты (статьи и целые книги). Второй — SPECTRUM — на долгие диалоги.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity