Pull to refresh
3
0
Денис Чалокьян @Chalokian

Закупки

Send message

Погружение в метаклассы в Python

Level of difficultyMedium
Reading time16 min
Views11K

Задумывались ли вы, почему функция isinstance(int, object) возвращает True? Объяснение, что все является объектом, которое можно часто услышать, хоть и является правдой, но не дает ответа на вопрос и на самом деле есть профанация, потому что не дает настоящего понимания, а создает только его видимость. Ведь совсем непонятно, почему int (как и любой другой стандартный класс) является непременно экземпляром базового класса. Да, он является подклассом, но почему именно экземпляром? Ответ будет дан по ходу изложения.

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

Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля

Reading time1 min
Views24K

Краткий обзор курса, который я недавно закончил пилить на степике. Курс хардкорный :) В нем необходимо с нуля писать алгоритмы машинного. Наверное это один из лучший способов досконально разобраться в алгоритме.

Курс бесплатный: https://stepik.org/course/68260/promo

Читать далее
Total votes 30: ↑30 and ↓0+31
Comments11

Начинаем работу с PyTorch 2.0 и Hugging Face Transformers

Reading time6 min
Views12K

В этом посте разберем работу с 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. Запуск инференса и тестирование модели.

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

7 уровней построения интерфейсов командной строки на Python

Level of difficultyEasy
Reading time6 min
Views11K

Автор

Выполняйте свои скрипты Python, как команды bash

Написание скриптов Python для создания интерфейсов командной строки (CLI) — широко используемый метод для DevOps и бэкенд разработки.

Ключом к реализации CLI в Python является встроенный модуль argparse. Он предоставляет все необходимые функции и позволяет использовать скрипт Python в качестве команды bash.

В этой статье будут представлены некоторые важные моменты создания CLI с помощью Python на 7 уровнях сложности.

Погрузиться
Total votes 11: ↑8 and ↓3+7
Comments9

Пишем простой классификатор текста на Python

Reading time4 min
Views23K

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

Читать далее
Total votes 18: ↑9 and ↓9+1
Comments19

Управление производительностью с Python 3.12

Reading time6 min
Views14K

В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perfграфики Flame Graph, посмотрим на  дизассемблированный код и займемся поиском ошибок.

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

Паяльники и паяльные станции для новичков и не только: 5 устройств и систем, которые помогут в работе

Reading time5 min
Views42K

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

И, конечно, для всего этого нужны инструменты — чаще всего много разных приспособлений. Есть must have инструменты, без которых просто не обойтись. Ну а есть и вещи, которые желательны, но не обязательны. Что касается must have — то здесь, конечно, нужно упомянуть паяльники и паяльные станции, плюс паяльные фены (термовоздушные паяльные станции). О них сегодня и поговорим. Кстати, список из статьи — субъективный, понятно, что у каждого свои предпочтения. Здесь собраны те паяльники и станции, которые нравятся нашей команде. Если у вас собственные инструменты, которых нет в списке — расскажите о них в комментариях, пожалуйста, с указанием их достоинств и недостатков.
Читать дальше →
Total votes 70: ↑54 and ↓16+58
Comments243

Выгорание — норма? Часть 1

Reading time8 min
Views43K

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


Вводная часть


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


Мне важно, чтобы изложенным материалом было потом удобно пользоваться, как мне самой, так и читателям. Поэтому я решила написать цикл статей, и разложить всё по полочкам в том объеме, который потребуется для достаточного погружения.


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


Читать дальше →
Total votes 38: ↑33 and ↓5+42
Comments70

Почему стоит обратить внимание на подход low-code/no-code

Reading time6 min
Views15K

Все мы в последнее время довольно много слышим о платформах low-code/no-code. Платформы без кода обещают сделать разработку программного обеспечения столь же простой, как использование Word’а или PowerPoint’а, чтобы обычный бизнес-пользователь смог продвигать проекты без дополнительных затрат (денег и времени) на команду инженеров. В отличие от платформ без кода, low-code по-прежнему требует определенных навыков программирования, однако обещает ускорить разработку программного обеспечения, позволяя разработчикам работать с предварительно написанными компонентами кода.

Читать далее
Total votes 22: ↑18 and ↓4+17
Comments27

Не можете запомнить порядок слов в английском предложении? Вжарьте по нему «опсашком»

Reading time6 min
Views44K

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

«Я тебя люблю», «Я люблю тебя», «Тебя я люблю», «Люблю я тебя». Нюансы есть, но при этом каждый из этих вариантов грамматически правильный. 

В английском все не совсем так. Есть фраза «I love you», а «You love I» — уже нет, так говорить неправильно. Вот только в английском есть свои способы, как сделать язык богаче и не привязываться к жесткой структуре «подлежащее-глагол-сказуемое».    

Об этом сегодня и поговорим. Как правильно организовать порядок слов в английском предложении и не показаться скучным. Спойлер: «опсашком» в заголовке — это не описка, а реальный мнемонический инструмент. Обо всем расскажем в статье. 

Читать далее
Total votes 24: ↑23 and ↓1+31
Comments121

Скрапинг современных веб-сайтов без headless-браузеров

Reading time9 min
Views25K


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

Для его демонстрации вместо Selenium, Puppeteer или любого другого решения на основе безголовых браузеров мы просто используем запросы на Python. Я объясню, как можно скрапить информацию из публичных API, которые потребляет на фронтэнде большинство современных веб-сайтов.

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

Но существует и другой способ, которым можно довольно часто пользоваться.
Читать дальше →
Total votes 38: ↑28 and ↓10+28
Comments31

Регламенты закупок: кто виноват, что делать… KPI. Базис Гребнера

Reading time5 min
Views1.9K

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

Можно поменять правила, но тут начинаются неприятности. Имеется доказательство того, что часто совсем простые правила ведут к непредсказуемой динамике. Это называется принцип вычислительной неприводимости (The New Kind of Science). Результат применения не очень сложного набора правил нельзя интуитивно предугадать. Его можно только вычислить (смоделировать), произведя соответствующие операции.

Обсудим следующие темы:

  • динамика закупок производственных предприятий;
  • что не так в регламентах;
  • почему система все-таки работает;
  • исследование KPI через базисы Гребнера.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments2

Flutter + чистая архитектура: разбираем на примере

Reading time17 min
Views72K

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

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

Flutter - стремительно набирающий популярность фреймворк для разработки кроссплатформенных приложений. В списке поддерживаемых платформ - iOS, Android, web, в бете находится поддержка десктопа.

Под катом - рассказ о том, как построить flutter-приложение с использованием идей чистой архитектуры.

Читать далее
Total votes 22: ↑21 and ↓1+24
Comments36
Недавно к нам в Хабр попали несколько наборов девайсов на тест-драйв: инопланетного вида мышь Logitech MX Master 3, клавиатура MX Keys и гарнитура Zone Wireless Plus. Мы всё ещё осторожничаем и сидим на удалёнке, поэтому главной идеей стало протестировать девайсы в условиях домашнего офиса.

Мы раздали устройства нашим друзьям, каждый из которых профессионал своего дела. Программист, дизайнер и финансист протестили мышь, клавиатуру и гарнитуру в ежедневной практике на разных задачах и отписались нам, а мы собрали этот пост. Спойлер: розыгрыш призов от Logitech – для тех, кто дочитает текст до конца.
Далее – тест-драйв девайсов и условия конкурса
Total votes 17: ↑16 and ↓1+41
Comments173

Пишем движок полнотекстового поиска на Go

Reading time8 min
Views18K
Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, сообщение электронной почты или любой структурированный текст.

Сегодня мы собираемся написать собственный движок FTS. К концу этой статьи он сможет выполнять поиск по миллионам документов менее чем за миллисекунду. Начнём с простых поисковых запросов, таких как «Выдать все документы со словом cat», а потом расширим движок для поддержки более сложных логических запросов.

Примечание: самым известным движком полнотекстового поиска является Lucene (а также Elasticsearch и Solr, построенные на его основе).
Читать дальше →
Total votes 36: ↑35 and ↓1+45
Comments23

Использование Grid для макетов страниц, а Flexbox — для макетов компонентов

Reading time14 min
Views38K
Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ему тяжело даётся принятие решений о том, когда использовать Grid, а когда — Flexbox. Например, он использовал CSS Grid для создания макета заголовка сайта. При этом он отметил, что довести проект до ума ему было нелегко, и что ему пришлось долго экспериментировать с grid-column и настраивать всё до тех пор, пока у него не получилось то, что ему было нужно.



Честно говоря, мне это не понравилось. Поэтому я решил поискать какой-нибудь ресурс, который помог бы моему брату как следует уяснить различия между Grid и Flexbox и дал бы возможность взглянуть на примеры, созданные с использованием обеих этих технологий. Но ничего подходящего мне найти не удалось. Тогда я решил написать статью, посвящённую Grid и Flexbox. Надеюсь, она получилась понятной.
Читать дальше →
Total votes 36: ↑35 and ↓1+42
Comments11

ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет

Reading time8 min
Views180K
Одна из вещей, которые никогда не делают пользователи — это чтение до конца лицензионных соглашений. Тем временем, читать их стоит, даже если, казалось бы, в контексте конкретного сервиса их содержание представляется очевидным.

К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.

При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:


Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.

Если говорить коротко, все граждане, попавшие на этот сервис, подписываются на передачу абсолютно всех данных, которые сервис в принципе способен о них собрать — от IP-адреса до номера паспорта и названия работодателя — любым третьим лицам с практически любыми целями, включая рассылку рекламы, на срок в 10 лет.

Читать дальше →
Total votes 216: ↑209 and ↓7+279
Comments354

Монитор объемного изображения

Reading time2 min
Views34K
К нам обратился инженер, занимающийся проблемой объемных растровых изображений, с просьбой инвестирования в его проект. Ему требовалось около 2 млн. рублей для покупки высокоточного фрезерного станка, материалов и нескольких месяцев заработной платы для него и помощника.

Он хотел создать световую панель с множеством мельчайших источников света. Технология была следующей: на органическое стекло наносятся в определённом порядке небольшие точки-царапины, а с торца используется светодиодная подсветка. Далее на стекло накладывается пленка с сотовым изображением, которое очень точно должно совпадать с источниками света. Лучи, проходя через пленку, должны были формировать объемное изображение.


Total votes 113: ↑113 and ↓0+113
Comments64

Flutter. Асинхронность и параллельность

Reading time11 min
Views47K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в DartFlutter в частности).


TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments18

Модуль подводного ультразвукового дальномера. Часть третья

Reading time7 min
Views9.8K
image

Без раскачки.

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

Ну и то, что теперь это коммерческий продукт, доведённый до стадии производства.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments49
1

Information

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