Задумывались ли вы, почему функция isinstance(int, object) возвращает True? Объяснение, что все является объектом, которое можно часто услышать, хоть и является правдой, но не дает ответа на вопрос и на самом деле есть профанация, потому что не дает настоящего понимания, а создает только его видимость. Ведь совсем непонятно, почему int (как и любой другой стандартный класс) является непременно экземпляром базового класса. Да, он является подклассом, но почему именно экземпляром? Ответ будет дан по ходу изложения.
Закупки
Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля
Краткий обзор курса, который я недавно закончил пилить на степике. Курс хардкорный :) В нем необходимо с нуля писать алгоритмы машинного. Наверное это один из лучший способов досконально разобраться в алгоритме.
Курс бесплатный: https://stepik.org/course/68260/promo
Начинаем работу с PyTorch 2.0 и Hugging Face Transformers
В этом посте разберем работу с PyTorch 2.0 и Hugging Face Transformers на примере fine‑tune модели BERT для классификации текста.
PyTorch 2.0 лучше по производительности, скорости работы, более удобный для Python, но при этом остается таким же динамическим, как и ранее.
1. Настройка окружения и установка PyTorch 2.0.
2. Загрузка и подготовка датасета.
3. Fine‑tune и оценка модели BERT с помощью Hugging Face Trainer.
4. Запуск инференса и тестирование модели.
7 уровней построения интерфейсов командной строки на Python
Выполняйте свои скрипты Python, как команды bash
Написание скриптов Python для создания интерфейсов командной строки (CLI) — широко используемый метод для DevOps и бэкенд разработки.
Ключом к реализации CLI в Python является встроенный модуль argparse
. Он предоставляет все необходимые функции и позволяет использовать скрипт Python в качестве команды bash
.
В этой статье будут представлены некоторые важные моменты создания CLI с помощью Python на 7 уровнях сложности.
Пишем простой классификатор текста на Python
Многие хотят написать простой классификатор текста, но теряются в тоннах книг по машинному обучению, и сложных математических формулах. Сегодня я покажу вам относительно простой пример классификации на Python, который работает просто и понятно.
Управление производительностью с Python 3.12
В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perf
, графики Flame Graph, посмотрим на дизассемблированный код и займемся поиском ошибок.
Паяльники и паяльные станции для новичков и не только: 5 устройств и систем, которые помогут в работе
Многие читатели Хабра работают с электроникой не только как пользователи или администраторы, но и в качестве разработчиков и/или ремонтников. У кого-то это основная работа, кто-то занимается ремонтом ноутбуков/смартфонов в качестве хобби, ну а кто-то разрабатывает и собирает полноценные системы.
И, конечно, для всего этого нужны инструменты — чаще всего много разных приспособлений. Есть must have инструменты, без которых просто не обойтись. Ну а есть и вещи, которые желательны, но не обязательны. Что касается must have — то здесь, конечно, нужно упомянуть паяльники и паяльные станции, плюс паяльные фены (термовоздушные паяльные станции). О них сегодня и поговорим. Кстати, список из статьи — субъективный, понятно, что у каждого свои предпочтения. Здесь собраны те паяльники и станции, которые нравятся нашей команде. Если у вас собственные инструменты, которых нет в списке — расскажите о них в комментариях, пожалуйста, с указанием их достоинств и недостатков.
Выгорание — норма? Часть 1
Почему люди выгорают, как отличить выгорание от усталости, как отловить на ранних стадиях, терминология и нейробиология процесса на пальцах. Первая статья цикла — вводная: разбираемся с терминами и пониманием явления.
Вводная часть
Выгорание — довольно объемная тема, охватить которую в рамках одной статьи не вижу возможности. Воспринимать такой объем информации, утрамбованный в одну статью, будет сложновато.
Мне важно, чтобы изложенным материалом было потом удобно пользоваться, как мне самой, так и читателям. Поэтому я решила написать цикл статей, и разложить всё по полочкам в том объеме, который потребуется для достаточного погружения.
В первой статье цикла разбираю, что такое выгорание, как, почему и у кого возникает (далее это тоже будет, в связке со стадиями), синхронизируем терминологию, познакомимся с моделями и стадиями (фазами) выгорания по Маслач и Буриш. Имея такую базу, проще понять своё состояние и наметить конкретный план выхода, а также продолжить изучение темы самостоятельно.
Почему стоит обратить внимание на подход low-code/no-code
Все мы в последнее время довольно много слышим о платформах low-code/no-code. Платформы без кода обещают сделать разработку программного обеспечения столь же простой, как использование Word’а или PowerPoint’а, чтобы обычный бизнес-пользователь смог продвигать проекты без дополнительных затрат (денег и времени) на команду инженеров. В отличие от платформ без кода, low-code по-прежнему требует определенных навыков программирования, однако обещает ускорить разработку программного обеспечения, позволяя разработчикам работать с предварительно написанными компонентами кода.
Не можете запомнить порядок слов в английском предложении? Вжарьте по нему «опсашком»
В русском языке порядок слов в предложении практически не важен.
«Я тебя люблю», «Я люблю тебя», «Тебя я люблю», «Люблю я тебя». Нюансы есть, но при этом каждый из этих вариантов грамматически правильный.
В английском все не совсем так. Есть фраза «I love you», а «You love I» — уже нет, так говорить неправильно. Вот только в английском есть свои способы, как сделать язык богаче и не привязываться к жесткой структуре «подлежащее-глагол-сказуемое».
Об этом сегодня и поговорим. Как правильно организовать порядок слов в английском предложении и не показаться скучным. Спойлер: «опсашком» в заголовке — это не описка, а реальный мнемонический инструмент. Обо всем расскажем в статье.
Скрапинг современных веб-сайтов без headless-браузеров
Многие разработчики считают скрапинг сложной, медленной и неудобной для масштабирования задачей, особенно при работе с headless-браузерами. По моему опыту, можно заниматься скрапингом современных веб-сайтов даже не пользуясь безголовыми браузерами. Это очень простой, быстрый и хорошо масштабируемый процесс.
Для его демонстрации вместо Selenium, Puppeteer или любого другого решения на основе безголовых браузеров мы просто используем запросы на Python. Я объясню, как можно скрапить информацию из публичных API, которые потребляет на фронтэнде большинство современных веб-сайтов.
На традиционных веб-страницах наша задача заключается в парсинге HTML и извлечении нужной информации. На современных веб-сайтах фронтэнд скорее всего не будет содержать особо много HTML, потому что данные получаются асинхронно после первого запроса. Поэтому большинство людей использует безголовые браузеры — они способны выполнять JavaScript, делать дальнейшие запросы, после чего можно распарсить всю страницу целиком.
Но существует и другой способ, которым можно довольно часто пользоваться.
Регламенты закупок: кто виноват, что делать… KPI. Базис Гребнера
Регламенты закупок являются хорошим примером, когда простые правила приводят к формированию сложных и запутанных бизнес-конструкций. В результате бизнес оказывается в «футляре» ограничений, которые сказываются на нем отрицательно. Преодолеть это невозможно — все работают по правилам.
Можно поменять правила, но тут начинаются неприятности. Имеется доказательство того, что часто совсем простые правила ведут к непредсказуемой динамике. Это называется принцип вычислительной неприводимости (The New Kind of Science). Результат применения не очень сложного набора правил нельзя интуитивно предугадать. Его можно только вычислить (смоделировать), произведя соответствующие операции.
Обсудим следующие темы:
- динамика закупок производственных предприятий;
- что не так в регламентах;
- почему система все-таки работает;
- исследование KPI через базисы Гребнера.
Flutter + чистая архитектура: разбираем на примере
На определенном этапе изучения новой технологии начинаешь задаваться вопросом, как правильно организовать архитектуру проекта. Мне в свое время повезло - попались опытные наставники, которые дали мудрые советы. Однако я считаю, что знания не должны лежать мертвым грузом, поэтому пишу эту статью в помощь начинающим (и не только) flutter-разработчикам.
Чистая архитектура - это концепция построения архитектуры систем, предложенная Робертом Мартином - в миру "дядюшка Боб". Концепция предполагает построение приложения в виде набора независимых слоёв, что облегчает тестирование, уменьшает связность и делает приложение более простым для понимания.
Flutter - стремительно набирающий популярность фреймворк для разработки кроссплатформенных приложений. В списке поддерживаемых платформ - iOS, Android, web, в бете находится поддержка десктопа.
Под катом - рассказ о том, как построить flutter-приложение с использованием идей чистой архитектуры.
Мы раздали устройства нашим друзьям, каждый из которых профессионал своего дела. Программист, дизайнер и финансист протестили мышь, клавиатуру и гарнитуру в ежедневной практике на разных задачах и отписались нам, а мы собрали этот пост. Спойлер: розыгрыш призов от Logitech – для тех, кто дочитает текст до конца.
Пишем движок полнотекстового поиска на Go
Сегодня мы собираемся написать собственный движок FTS. К концу этой статьи он сможет выполнять поиск по миллионам документов менее чем за миллисекунду. Начнём с простых поисковых запросов, таких как «Выдать все документы со словом cat», а потом расширим движок для поддержки более сложных логических запросов.
Примечание: самым известным движком полнотекстового поиска является Lucene (а также Elasticsearch и Solr, построенные на его основе).
Использование Grid для макетов страниц, а Flexbox — для макетов компонентов
grid-column
и настраивать всё до тех пор, пока у него не получилось то, что ему было нужно.Честно говоря, мне это не понравилось. Поэтому я решил поискать какой-нибудь ресурс, который помог бы моему брату как следует уяснить различия между Grid и Flexbox и дал бы возможность взглянуть на примеры, созданные с использованием обеих этих технологий. Но ничего подходящего мне найти не удалось. Тогда я решил написать статью, посвящённую Grid и Flexbox. Надеюсь, она получилась понятной.
ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет
К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.
При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:
Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.
Если говорить коротко, все граждане, попавшие на этот сервис, подписываются на передачу абсолютно всех данных, которые сервис в принципе способен о них собрать — от IP-адреса до номера паспорта и названия работодателя — любым третьим лицам с практически любыми целями, включая рассылку рекламы, на срок в 10 лет.
Монитор объемного изображения
Он хотел создать световую панель с множеством мельчайших источников света. Технология была следующей: на органическое стекло наносятся в определённом порядке небольшие точки-царапины, а с торца используется светодиодная подсветка. Далее на стекло накладывается пленка с сотовым изображением, которое очень точно должно совпадать с источниками света. Лучи, проходя через пленку, должны были формировать объемное изображение.
Flutter. Асинхронность и параллельность
Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart
(и Flutter
в частности).
TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Модуль подводного ультразвукового дальномера. Часть третья
Без раскачки.
Самыми значимыми изменениями в проекте, по сравнению с предыдущими версиями сонара (один и два), являются упрощение аналоговой части и эволюция процесса сборки модулей в сторону большей технологичности. Испытаны разные комбинации адгезивов и компаундов для герметизации платы и излучателя внутри корпуса.
Ну и то, что теперь это коммерческий продукт, доведённый до стадии производства.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity