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

Пользователь

Отправить сообщение

Блокбастер на коленке с НЛО, коровами и Ван Даммом. Тестируем нейросети для видео

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

Привет! Я Антон — инженер по информационной безопасности в Selectel. В рабочих процессах часто наступает момент, когда видео очень нужно, но времени, ресурсов или навыков для его создания нет. Например, хочется оживить презентацию коротким видеодайджестом или воссоздать историческое событие по архивным фото.

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

Инженерный подход: самая загадочная номинация Технотекста

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

Когда мы открывали наш седьмой Технотекст, казалось, что самой загадочной будет номинация НИИЧАВО. Но на удивление, её смысл понятен сразу, а вот больше всего вопросов задают по номинации «Инженерный подход». Это про инженерные решения? Про системы? Про DIY? Сегодня найдём ответ на этот вопрос.

Читать далее

Под чешуёй асинхронности: from yield to await

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

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

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

Читать далее

Еще пара слов о моках

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

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

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

Неужели, что-то новое?

Ваше мнение очень важно для нас (нет)

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

Привет, Хабр! Меня по-прежнему зовут Александр, я всё ещё Linux-инженер с десятилетним стажем, завсегдатай Q&A и даже целый куратор парочки тэгов в нём. Но все эти сомнительные регалии в контексте данной статьи не важны и приведены тут ради красного словца, а обратиться к вам я хочу как (не совсем) обычный пользователь Хабра.

Дело в том, что месяц назад мне, не нарушившему ни одно из правил ресурса, выдали кармический shadow ban.

Какой ещё кармический shadow ban?!

OpenIDE: первый взгляд

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

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

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

Читать далее

Разработка DHCP-сервера на Python

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

Привет, Хабр!

Сегодня мы рассмотрим, как создать собственный DHCP‑сервер на Python. Суть сервера проста — он динамически раздаёт IP‑адреса устройствам в сети, избавляя нас от головной боли статической конфигурации.

Суть сервера будет заключаться в том, чтобы «подставлять» IP‑адреса устройствам, заходящим в сеть. Сервер будет ловить DHCP‑запросы от клиентов, выбирать свободный IP из заранее подготовленного пула и подтверждать выдачу.

Читать далее

Виртуальная доска, которая не даст о себе позабыть. Повышаем эффективность работы, учебы и саморазвития

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

Чем мы займемся? План на сегодня такой:

• Разберем, чем может быть полезна маркерная доска для личного пользования, саморазвития, изучения иностранных языков и пр.;

• Реализуем виртуальную доску, которая будет "мозолить" нам глаза и не даст забыть о важном;

• Разберем некоторые технические подробности реализации, а заодно уличим хваленые ведущие LLM в обмане;

• Вспомним детство — порисуем на холсте.

Поехали!

«Идти в программисты сегодня — большая ошибка»: откровения техноблогера Михаила Ларченко

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

Что общего между космонавтом и программистом? Скоро эти профессии станут в равной степени бессмысленным выбором для карьеры. В интервью Youtube-каналу Ai4dev автор одного из самых интеллектуальных IT-каналов на YouTube, Fullstack-разработчик Михаил Ларченко рассказал, как искусственный интеллект уже переворачивает индустрию с ног на голову, почему европейские модели могут оказаться лучше американских, и что делать разработчику, чтобы не оказаться выброшенным на обочину технологического прогресса. 

Читать далее

Я производил 2 млн пачек, зарабатывал 55 млн ₽ в год, попал в топ маркетплейсов, но всему приходит конец

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

В 2023 я больше всех продавал на маркетплейсах в своей товарной категории, работал со всеми крупными ритейл-сетями, а всего бизнес приносил 1,1 млрд ₽ выручки и 55 млн ₽ прибыли в год.

Читать далее

Необычные способы хостинга

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


Где разместить сайт? Оказывается, для хостинга необязательно покупать VPS или домашний сервер. Можно поступить более креативно: например, захостить сайт на смартфоне. Причём желательно извлечь из него аккумулятор, чтобы смартфон работал напрямую от сети. А есть ещё более оригинальный вариант: бесплатный хостинг в социальных сетях.
Читать дальше →

Основы streamlit для работы с текстами на питон(python3)

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

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

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

Некоторые возможности Streamlit:

Читать далее

ООП: худшее, что случалось с программированием

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

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

TypeScript: худший лучший язык программирования

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

На конференции FrontedConf 2021 Андрей Старовойт показал плюсы и минусы TypeScript. Если вы сомневаетесь, стоит ли его использовать — эта статья для вас, чтобы вы смогли для себя всё решить. Если вы уже любите и используете TypeScript, то надеюсь, вам тоже будет интересно.

Все преимущества и недостатки языка описаны, конечно, через призму опыта Андрея. Несмотря на то, что последние 7 лет он работает в компании JetBrains над продуктом WebStorm на Java Kotlin, пишет он и на TypeScript. Попутно много смотрит на код других людей, пытаясь понять, что с ним можно сделать внутри WebStorm и почему типы выбились неправильно. А также — какие инспекции можно применить так, чтобы люди стали счастливы, а их код — лучше.

Читать далее

Стиральная машина позволила мне иначе взглянуть на сроки разработки ПО

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров32K
Моя недавняя эпопея со стиральной машиной напомнила мне, почему одна из самых страшных и ненавидимых задач в разработке ПО начинается с вопроса:

«Сколько времени вам на это потребуется?»

Привычность этого бытового прибора внушила мне ложное чувство безопасности
Читать дальше →

Как провалить собеседование в IT? 7 типичных ошибок (и как их избежать)

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

Как провалить собеседование в IT? Легко!

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

Читать далее

Spring Reactor. Эволюция сервисов. На пути к реактивности

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

Это статья описывает опыт миграции традиционного приложения java spring на Spring reactor стек. О специфике разрабатываемой информационной системы, уже подробно рассказывал. Кратко о системе - смешанная сервисно-микросервисная архитектура. Чтобы получить бизнес результат, требуется вызвать микросервис, который вызывает сервис, который вызывает набор микросервисов для формирования ценностного набора данных. Получается цепочка вызовов. Сервисы и микросервисы разрабатывались на традиционном технологическом стеке, без использования реактивного подхода.

Мое знакомство с реактивным подходом произошло в 2022 году. Плюсы и минусы я осознавал, как мог. В рамках разрабатываемой системы мне было сложно найти ему точку применения. Тогда сложилось понимание, что в существующих рамках реактивный подход не даст возможности эволюционных изменений. Если его применять, то применять ко всему и сразу, как постулирует реактивный манифест.  Даешь революцию! Это было заблуждение. Его я не смог разрушить, даже изучая документацию и статьи. Чего-то релевантного моей ситуации в открытых источниках я найти не мог. Этой статьей постараюсь предложить путь и убедить сомневающихся, что долго раздумывать не стоит. Делайте смелый шаг на пути к реактивному стеку.

Читать далее

Хьюстон, у нас проблема, или Чего не договаривают производители HDD

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

Однажды к нам обратился клиент с проблемой: имеется 2 HDD с производительностью записи 250 MБ/с. Из них делается хранилище RAID 0. Начинаем записывать трафик, скорость — 350 MБ/с. Он успешно пишется, но через некоторое время утилизация дисков подходит к 100% и начинаются потери при записи. Вывод клиента: проблема в PT NAD, так как диски должны все успевать. Думаю, многие уже догадываются, в чем соль. У нас тоже имелись догадки, но тем не менее мы решили их проверить. Из этой проблемы и родилось небольшое исследование по записи трафика в хранилище. Под катом — наше расследование «заговора» разработчиков HDD.

Читать

Событийный заказ: Python и Kafka

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

Привет, Хабр!

В этой статье рассмотрим, как на примере магазина котиков — кейса, где каждый заказ превращается в событие — создать событийно‑ориентированную систему обработки заказов с использованием Python, Kafka и Django REST Framework. Создадим REST API для приёма заказов, настроим Kafka‑продюсеры, консьюмеры и реализуем компенсационные транзакции по принципу Saga.

Читать далее

Атрибут или Dunder-метод slots в Python. Что нужно о нём знать?

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

Всем привет! Меня зовут Дима. Я являюсь Backend Python Developer'ом. Сегодня расскажу Вам про «волшебный» инструмент __slots__ в Python.

Читать далее

Информация

В рейтинге
5 501-й
Зарегистрирован
Активность