Сборщик RSS-лент

[Перевод] Обработка ошибок в web apps не должна быть такой сложной

Habr.com - пн, 04/29/2024 - 23:59

В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок?

Разумеется, мои поиски палочки-выручалочки закончились ничем, хочется чтобы бум и все готово. Есть протокол RFS7807, есть библиотека, есть масса противоречивых статей. По существу статья ниже полностью не отвечает на все, но в ней есть позиция и предложено решение, и я думаю, это решение может быть полезным. Статья лишь повод/предложение поделиться вашими примерами успешных кейсов.

Собственно, статья, приятного прочтения.

Читать далее

Как запустить WebRTC на сервере, или как я пилю вебкам

Habr.com - пн, 04/29/2024 - 23:30

Всем привет!

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

ДИСКЛЕЙМЕР: это не бескорыстный акт передачи знаний с моей стороны. Я пытаюсь найти инвестиции для своего проекта и создал чат в тг, где буду постить обновления и какие-то мысли касательно его запуска. Так что если интересно, то подписывайтесь, а еще можете поделиться ссылкой с теми, у кого есть лишние бабки =)

Предыстория

Значит решил я создать сервис для одиноких мужчин, где они могут пообщаться с прекрасными дамами, aka вебкам. Соответственно встал вопрос, как организовать видеосвязь в браузере. Обычно для этого используется WebRTC, эта технология позволяет установить p2p соединение между браузерами для передачи видео, звука и прочих данных в реальном времени с минимальной задержкой. Однако была одна проблема: что делать, если приходит жалоба от пользователя, что ему показали не то (или не показали), что он хотел. Поскольку это p2p соединение напрямую между пользователями, у меня как у владельца сервиса нет возможности провалидировать жалобу. Первое, что пришло в голову это вместо WebRTC использовать MediaRecorder API для записи видео небольшими кусочками и отправки их по вебсокету через сервер, попутно сохраняя. Я набросал прототип и столкнулся с тем, что если получатель пропустил первый пакет (там где есть метаданные), то видео у него не воспроизводится. Пришлось поиском определенного набора байт в первом пакете вычленять эти самые метаданные и сохранять их отдельно для отправки первым сообщением только что подключившемуся получателю, и это даже сработало. Вторая проблема этого решения - это задержка в пару секунд, и это только в локальной сети, что приемлемо для односторонней связи, но для двусторонней уже сомнительно. И третья проблема это то что видео у получателя со временем все больше и больше отстает, и нужно регулярно проматывать видео ближе к концу. Костыльность такого решения меня не устраивала, и я решил использовать WebRTC для связи собеседников и параллельно использовать MediaRecorder для отправки записи от модели к серверу. Некоторое время оно так работало, пока я пилил другие фичи, но неэлегантность этого решения все еще не давала мне покоя, т. к. оно повышает требования к интернет соединению модели.

Читать далее

17 вредных советов для тех, кто проверяет документацию и технические тексты

Habr.com - пн, 04/29/2024 - 23:26

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

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

Дисклеймер. Все совпадения фрагментов этого текста с реальными комментариями в вашей документации совершенно случайны. При написании этого текста не пострадал ни один проверяющий.

Читать далее

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

Habr.com - пн, 04/29/2024 - 21:10

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

Читать далее

Smart LED: Адресная LED подсветка с управлением через Алису

Habr.com - пн, 04/29/2024 - 20:15

В этой статье мы рассмотрим процесс создания умной светодиодной системы под названием Smart LED. Этот проект основан на микроконтроллере ESP8266 и адресной светодиодной ленте.

Система Smart LED позволит вам не только наслаждаться красивой подсветкой, но и синхронизировать её с музыкой. Вы также сможете управлять системой с помощью голосового ассистента Алиса.

Проект на GitHub

Читать далее

Разбирая бэклог. Часть 7. Diablo. 5+7 2D и 3D альтернатив или куда меня завело изыскание аналогов известной ARPG серии

Habr.com - пн, 04/29/2024 - 19:44

Однажды вдоволь наигравшись в данную серию игр и первую "Diablo" (1996) в отдельности, я стал интересоваться на предмет, а на что ещё можно обратить внимание со схожими параметрами? Поиск был ограничен следующими критериями:

*. RPG / ARPG. Либо другой жанр, например Action / Shooter, или rogue-like, но с явно выраженными схожими элементами.

*. Год выпуска не имеет значения.

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

2. Умеренная продолжительность, без жёсткого, затяжного захода на 100+ часов.

3. Низкий порог вхождения, отсутствие сложных механик.

4. Атмосфера.

Читать далее

Картографический фотопроект «По местам съёмок фильма «Брат 2»

Habr.com - пн, 04/29/2024 - 19:16

Проект начал делать в 2022 году, параллельно с проектом по первой части фильма. Во второй части многие локации пришлось искать вооружившись Яндекс и Гугл панорамами. Около полугода искал человека, который сделает фото в Чикаго.

С технической точки зрения ничего не поменялось, про нее я рассказал в статье по первой части фильма. Хочу более детально остановиться на поиске и съемке локаций.

Читать далее

Недельный геймдев: #171 — 28 апреля, 2024

Habr.com - пн, 04/29/2024 - 18:48

Из новостей: Unreal Engine 5.4, миллион продаж Manor Lords за сутки, в Сербии за год на 98% выросло число разработчиков игр, авторы Garry’s Mod вынуждены удалить весь контент Nintendo из-за жалобы компании, в Embracer объявили о преобразовании в три отдельные компании.

Из интересностей: как сделать игру интересной, разработчики шутана Mouse о художественном стиле и насилии в играх, внутри картриджей Super Nintendo, как Backpack Battles продалась тиражом в 650к копий за первый месяц.

Читать далее

Алгоритм деления 2W-разрядных чисел с использованием операций с числами разрядностью W

Habr.com - пн, 04/29/2024 - 18:05

На примере 32-битных целых чисел рассматривается масштабируемый алгоритм деления, использующий числа с двукратно меньшей (16 бит) разрядностью. Для иллюстрации работоспособности алгоритма приведен код тестового приложения на языке С++.

Читать далее

[Перевод] 50 лет первой операционной системе для персональных компьютеров

Habr.com - пн, 04/29/2024 - 18:00

В 1974 году первопроходец ПО для PC Гэри Килдалл продемонстрировал в Пасифик-Гроув, Калифорния, первую коммерчески успешную операционную систему для персонального компьютера — CP/M. В этой статье мы расскажем историю о том, как его компания Digital Research Inc. превратила CP/M в отраслевой стандарт, а позже проиграла версии ОС от Microsoft, скопировавшей внешний вид и стиль ПО DRI. Читать дальше →

AITU Military CTF 2024: История о том, как мой сон привел к поднятию киберполигона в стенах моего университета. Часть 1

Habr.com - пн, 04/29/2024 - 17:23

Всем еще раз привет!

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

Читать далее

[recovery mode] И снова о useCallback

Habr.com - пн, 04/29/2024 - 17:15

Привет, Хабр! Так вышло, что на текущем я попал под сокращение, а значит путь к собеседованиям открыт. Как раз вчера случилось одно (видимо, из многих), на котором зашла речь про useCallback.

Читать далее

От Digital Equipment до Nixdorf: старые бренды в IT, которых больше нет

Habr.com - пн, 04/29/2024 - 17:00

Многие современные IT-гиганты наших дней начинали свою деятельность во второй половине XX века и преуспели благодаря технологическому буму, хорошей стратегии, подрывным инновациям, талантливому менеджменту и т.п. Причин для успеха было много. Их имена у всех на слуху, но про неудачников IT-сектора вспоминают редко. При этом их история не менее занимательна, чем у ныне здравствующих корпораций. Среди неудачников был и гигант с представительством в 44 странах, и фирма с собственным исследовательским центром для производства полного цикла, и компании с активной  господдержкой.

Разбираемся, что погубило эти некогда великие IT-бренды.

Читать далее

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

Habr.com - пн, 04/29/2024 - 16:16

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

Читать далее

Как превратить игрушечного робота-доставщика в ровер с беспроводным управлением через мобильное приложение

Habr.com - пн, 04/29/2024 - 15:25

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

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

В один из таких моментов во время очередного просмотра содержимого Яндекс Маркета я наткнулся на игрушечного робота-курьера. Он показался мне достаточно милым, так что я решил его купить.

В общем ровер милый, выполнен неплохо и тут можно было бы остановиться, но в моей голове промелькнула одна мысль:

«А может сделать его управляемым?»

В этой статье я расскажу, как модифицировал игрушечного робота-доставщика Яндекса и реализовал управление им по BLE с помощью мобильного приложения на Flutter.

Читать далее

Принципы SOLID, только понятно

Habr.com - пн, 04/29/2024 - 15:15

Когда я только знакомился с принципами SOLID, я искал понятные статьи на Хабр. При этом пришлось прочитать не одну статью, и полное понимание пришло сильно позже. Хотелось бы, чтобы новички на более простых примерах смогли почувствовать, о чем эти принципы.

Изучить принципы

Комплаенс-платформа для приёма жалоб и работы с ними

Habr.com - пн, 04/29/2024 - 15:11

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

Там можно пожаловаться на задержку зп, коррупцию или ещё что-нибудь. Жалоба попадает на специальную платформу, где её изучают, проверяют и либо отклоняют, либо передают дальше, чтобы ответственные разобрались. Это комплаенс-менеджмент.

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

Читать далее

Инсайдерская сборка, исчезновение ведущего разработчика и EOL — примечательные факты о CentOS и ее альтернативы

Habr.com - пн, 04/29/2024 - 15:07

В прошлый раз в блоге beeline cloud мы обсудили векторные базы данных и некоторые открытые инструменты для разработки ML-моделей, но сегодня — обсудим иную тему. Уже в июне Red Hat прекращает поддержку CentOS 7 — дистрибутива Linux, построенного на корпоративном RHEL. Мы решили рассказать историю CentOS и поговорить о том, на что планируют переходить пользователи.

Читать далее

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage

Habr.com - пн, 04/29/2024 - 15:00

В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения private NPM registry. Эта функция упрощает хранение и совместное использование JavaScript и TypeScript библиотек между проектами и командами, улучшая совместную работу и возможность повторного использования кода в вашей компании.

GitHub Actions позволяет автоматизировать задачи ваших проектов, такие как linter, sonar , запуск тестов, билд образов Docker, развертывание в различных средах и многое другое.

Говоря о Docker, общепринятой практикой является создание приложения, библиотеки или любого кода в определенном образе Docker (то есть сборка внутри Docker контейнера). В этом контейнере можно задать определенную версию Node, а также любые внешние ресурсы и библиотеки, необходимые в процессе сборки. Этот подход обеспечивает максимальное удобство, поскольку устраняет необходимость полагаться на конкретный ПК или виртуальную машину со всеми необходимыми настройками. Вместо этого вы можете один раз подготовить среду на уровне Docker и последовательно использовать ее на разных машинах и в разных средах, обеспечивая согласованность и воспроизводимость на протяжении всего процесса разработки.

Однако возникает проблема, когда вы пытаетесь создать свое приложение в Docker, и для этого требуется библиотека npm, хранящаяся в вашем частном реестре GitHub NPM. Более того, этот процесс должен быть осуществим в GitHub Actions. В этой статье я покажу вам процесс настройки, чтобы добиться этого без проблем!

Читать далее

Питер Норвиг: автор лучшего в мире учебника по ИИ

Habr.com - пн, 04/29/2024 - 14:00


Питер Норвиг (Peter Norvig) — выдающийся учёный, один из отцов современной ИИ-разработки. После сингулярности ИИ точно оставит его в живых в знак благодарности.

Норвиг не только хороший программист, но и теоретик программирования, учёный и преподаватель, в длинном резюме перечислено 58 статей, а количество цитирований на сегодняшний день составляет 78 830.

Основное признание Норвиг получил как автор учебника «Искусственный интеллект: современный подход», который в наше время считается самым популярным учебником по ИИ в вузах. Эта фундаментальная работа претерпела уже четыре переиздания.
Читать дальше →

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.
Ленты новостей