Социальные сети Рунета
Четверг, 25 апреля 2024

[Перевод] Вопросы для собеседования по хукам React В данной статье приведены примеры вопросов и задач по React Hooks для собеседования Читать далее

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

Продолжение стрима для тестировщиков и не только Недавно мы провели онлайн-шоу «Ошибка выжившего» с автором Allure/Allure 2 Артемом Ерошенко. Если вы еще не видели его, обязательно посмотрите запись эфира. А уже 8 мая мы ждем вас на следующем выпуске «Ошибки», где мы с Артемом обсудим будни тестировщиков и ответим на ваш...

[Из песочницы] Иерархическое логирование приложения в Базу Данных Всем, привет! В статье я хотел бы рассказать об одном из подходов к логированию приложения, который сильно помогал мне и коллегам при отладке, поиске ошибок и анализе проблем производительности. Про необходимость логирования было написано множество хороших статей в том числе...

[Перевод] Apple M1 хорош, но насколько он хорош в трассировке лучей? Чип Apple M1, доступный в новых MacBook Air, MacBook Pro и Mac Mini, уже стал предметом множества обсуждений, статей о бенчмарках и публикаций в блогах. И производительность его действительно впечатляет, особенно если говорить о производительности на ватт.Но конкретно сейчас...

Flutter, Dart — локальная база в сотни раз более быстрая чем SQLite или Shared Preferencies Примерно месяц назад общаясь с одним разработчиком приложения на Flutter встала проблема торможения обработки маленьких (в десятках тысяч) массивов данных на телефоне юзера. Многие приложения предполагают обработку данных на телефоне и, далее, их синхронизацию с бэкендом. На...

[Перевод] Что под капотом компиляторных оптимизаций GraalVM? Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи...

Токен авторизации на примере JSON WEB Token Доброго времени суток, дорогой читатель. В данной статье я постараюсь рассказать об одном из самых популярных (на сегодняшний день) способов авторизации в различных клиент-серверных приложениях - токен авторизации. А рассматривать мы его будем на примере самой популярной реа...

Power Automate VS Logic Apps. Особенности Logic Apps Добрый день всем! В прошлой статье, посвященной изучению Power Automate и Logic Apps мы рассмотрели некоторые возможности использования Power Automate. В данной статье я бы хотел остановиться на некоторых сценариях использования Logic Apps и ряде отличий от Power Automate. К...

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

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

[Из песочницы] Немного размышлений на тему модульного css и проблемы поддержки кода В чем заключается вопрос? Всем привет, сегодня я хочу поделиться с вами личным опытом написания стилей или проще говоря выложить свое видение на проблему написания css для сайтов. Казалось бы в век развития технологий, когда каждый день мы сталкиваемся с новыми и новыми фр...

[Из песочницы] Как внедрить Atlassian Jira + Confluence в корпорации. Технические вопросы Планируете внедрение ПО Atlassian (Jira, Confluence)? Не хотите допустить жестоких ошибок в проектировании, которые потом придётся решать в последний момент? Тогда вам сюда — рассматриваем внедрение Atlassian Jira + Confluence в корпорации с учётом различных технических ас...

Часть 2. Идентификация событий происходящих в Oracle PL/SQL На картинке представлен пример обработки одной и той же ошибки. В первом случае ("красный" квадрат) представлен результат стандартной обработки ошибки. Во втором случае ("зеленый" квадрат) представлен результат кодирования ошибок в событийной модели логирования. Помимо инфор...

Собеседование на позицию Data Scientist: 20 типичных вопросов Проверка знаний на собеседованиях — обычная практика. И мы сейчас не о глупых «Где вы видите себя через 5 лет?», а о нормальных вопросах по специальности. В этой статье мы собрали топ-20 вопросов, которые задают дата-сайентистам, чтобы проверить их уровень знаний. Все это ре...

Пластик Tevo Petg или кто тут будет умничать? Всем доброго времени суток. В этом посте хочу поделиться мнением о прастике, который был куплен на tevo3dprinter.ru. Это не реклама. И огромная просьба тем, кто хочет написать в комментариях о том, что tevo не производит пластики или что то подобное... Товарищи, я говорю вам...

Коммерциализация доработок свободного ПО под Copyleft лицензиями Я планировал начать эту статью с информации о том, что всегда существуют значительные сложности при попытках коммерциализировать доработки свободного программного обеспечения, а в качестве показательного примера привести ситуацию с проектом Redis. Но потом понял, что ситуа...

[Из песочницы] Еще раз про усложненность архитектуры и порог входа В данной статье я коснусь вопроса порога входа в проект с устоявшейся архитектурой и дам несколько вариантов ответа на очень часто возникающий вопрос: почему так сложно? Такой вопрос частенько возникает у новичков, которые приходят на проект. Или же бывают ситуации, когда пр...

Почему не все ошибки надо исправлять, чтобы сделать ИТ-продукт лучше Данный материал подготовлен нашим партнером — компанией «Эквио». 2+2=3 2+2=5 2+2=4 Покупая ИТ-продукт для решения тех или иных корпоративных задач, бизнес-заказчики чаще всего задумываются о его стоимости, функциональности, удобстве, интеграционных возможностях и т.д. ...

Перевод на английский язык в сфере IT на примере PVS-Studio Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки. В этой ста...

NLP: ВЫДЕЛЯЕМ ФАКТЫ ИЗ ТЕКСТОВ С ПОМОЩЬЮ ТОМИТА-ПАРСЕРА NLP - natural language processingБольшая часть данных в мире не структурирована – это просто тексты на русском или на любом другом языке. Извлеченные факты из таких текстов могут представлять особый интерес для бизнеса, поэтому подобные задачи возникают сплошь и рядом. Этим ...

[Из песочницы] Кодогенерация в Go на примере создания клиента к БД В данной статье хотелось бы рассмотреть вопросы кодогенерации в Golang. Заметил, что часто в комментариях к статьям по Go упоминают кодогенерацию и рефлексию, что вызывает бурные споры. При этом на хабре статей по кодогенерации мало, хотя она применяется довольно много где в...

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

К вопросу о странном (опять) и о выборе транзисторов Найди всему причину и ты многое поймешь. Очередная загадка появилась в устройстве, спроектированном одним моим молодым коллегой (далее ММК). Устройство предназначено для входного контроля аккумуляторов серии 18650 (нет, Илон Маск может спать спокойно, наша фирма не собираетс...

Почему не удаётся установить macOS Big Sur по сети. Ошибка 2002f Мы уже рассказывали обо всех способах обновления операционной системы до macOS Big Sur на любом совместимом компьютере Mac. Если вы вынуждены остановиться на сетевом восстановлении системы, то можете столкнуться с ошибками во время загрузки данных с серверов Apple. Так...

Темная Вселенная. Часть 2 И вновь доброго времени суток! Данная статья является продолжением ранее опубликованной статьи о нашей «темной» Вселенной. В данной части мы продолжим рассмотрение различных интересных особенностей в космологии, над объяснением которых бьются множество ученых. В целом я пос...

Что делать, чтобы разработчик все-таки написал статью на Хабр? Пишу для тех, кто пытается в условиях ограниченного бюджета настроить в коллективе работу с техническим контентом. Расскажу о том, за что хвататься, если ваши разработчики отказываются писать статьи на Хабр за брендированные кружки и звездочки на доске почета. Волшебных отве...

Как улучшить прием мобильного телефона при плохом покрытии сотовой связи? Почему пропадает сигнал? Как улучшить прием? - все эти вопросы очень часто возникают у пользователей мобильных телефонов. В этой статье мы рассмотрим этот вопрос и постараемся его решить.

[Перевод] Валидация и обработка исключений с помощью Spring Каждый раз, когда я начинаю реализацию нового REST API с помощью Spring, мне сложно решить, как выполнять валидацию запросов и обрабатывать бизнес-исключения. В отличие от других типичных проблем API, Spring и его сообщество, похоже, не согласны с лучшими методами решен...

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Трюки для обработки метрик в Kapacitor Скорее всего, сегодня уже ни у кого не возникает вопрос, зачем нужно собирать метрики сервисов. Следующий логичный шаг – настроить алертинг на собираемые метрики, который будет оповещать о любых отклонениях в данных в удобные вам каналы (почту, Slack, Telegram). В сервисе он...

[Из песочницы] List Comprehension vs Map Привет, Хабр. Часто при работе с последовательностями встает вопрос об их создании. Вроде бы привык использовать списковые включения (List Comprehension), а в книжках кричат об обязательном использовании встроенной функции map. В этой статье мы рассмотрим эти подходы к раб...

Пишем юнит тесты на TypeScript'е (на примере котиков) Как писать модульные тесты в проекте с TypeScript'ом? В этой статье я постараюсь ответить на этот вопрос а также покажу как создать среду модульного тестирования под проекты использующие TypeScript. Читать далее

Пластик Plastiq Здравствуйте дорогие друзья , сегодня я хочу написать про пластик Plastiq российской компании, которая была основана в 2018 году. Совсем недавно я приобрела 3д принтер FLSUN QQ-S и сразу возник вопрос какой же пластик лучше выбрать, остановилась я для начла на ABS, но сущест...

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

Сравнение производительности HashiCorp Vault с разными бэкендами Vault — Open Source-решение от HashiCorp для управления секретами. Его изначальная ориентированность на модульность и масштабируемость позволяет запускать как небольшой dev-сервер Vault на своем ноутбуке, так и полноценный HA-кластер для production-сред.Начиная работать с Va...

Pipes & Filters. Пример применения и реализации при помощи Spring В данной статье речь пойдёт о применении паттерна Pipes & Filters. Для начала мы разберём пример функции, которую позже перепишем с помощью выше упомянутого паттерна. Изменения в коде будут происходить постепенно и каждый раз мы будем создавать работоспособный вариант, п...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

[Перевод] Забудьте о гомоморфном шифровании: теперь у нас есть функциональное шифрование Слышали ли вы о функциональном шифровании (ФШ)? Возможно, вы слышали о нём, и для себя поставили его в один ряд с гомоморфным шифрованием, что не совсем неверно, но и не до конца правильно. Давайте сегодня с вами посмотрим на то, что такое ФШ, разберём пару примеров и то,...

Релокейт-обзор: 10 стран для переезда ИТ-специалиста В нашем блоге мы много пишем о вопросах поиска удаленной работы и релокейта. Мы регулярно собираем личные истории российских инженеров, разработчиков, дизайнеров и продакт-менеджеров, в которых они рассказывают о том, как им живется на новом месте. И все равно регулярно ...

[Из песочницы] Маркировка остатков обуви в 1С. Решение проблемы сканирования и выгрузки в «Честный знак» Один из проблемных моментов в начале этого года для производителей и продавцов обуви – запрет с 1 марта 2020 года (возможно, с 1 июля) на производство, импорт, оптовую и розничную продажу обуви без маркировки и передачи данных в систему маркировки «Честный знак». Сегодня хо...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

Как джуниор Python-разработчику стать мидлом за год Привет! Я Рома, менеджер продукта в Яндекс.Практикуме, где развиваю курс «Мидл Python-разработчик». Мы делаем из начинающих разработчиков крепких мидлов с инженерным мышлением. Сегодня хочу поделиться небольшими заметками о том, над чем стоит работать, если вы джуниор, котор...

(S)SDLC, или Как сделать разработку безопаснее. Часть 3 Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные вопросы, возникающие при внедрении SAST в процесс разработки. Во второй части остановились на ...

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

Выращиваем ИИ — Генетические алгоритмы: введение (сгенерированое изображение) Существует множество способов создать искусственную нейронную сеть или даже "искусственный интеллект". Но все эти способы обескураживают, от части сложностью которую я не до конца понимаю, отчасти от того, что все сводится к математиче...

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

Эксперимент VTrade. Часть 3: Книга ордеров. Обработка и хранение торговой информации В прошлой статье цикла мы познакомились с типами биржевых заявок. Сегодня мы разберем книгу ордеров, обработку заявок и вопросы связанные с организацией хранения торговой информации. Читать дальше →

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

Google ответил на вопросы об изменениях в обработке nofollow с 1 марта 1 марта Google должен был изменить свой подход к обработке ссылочного атрибута nofollow при сканировании и индексировании. Предполагалось, что начиная с этой даты он будет обрабатываться как подсказка. Однако в компании так чётко и не ответили, изменилось ли что-либо после 1...

Функциональное программирование на TypeScript: задачи (tasks) как альтернатива промисам Предыдущие статьи цикла: Полиморфизм родов высших порядков Паттерн «класс типов» Option и Either как замены nullable-типам и исключениям В предыдущей статье мы рассмотрели типы Option и Either, которые предоставляют функциональную замену nullable-типам и выбрасыванию искл...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

Разложение монолита: Декомпозиция БД (часть 1) Эта статья является конспектом книги «От монолита к микросервисам». Материал статьи посвящен декомпозиции БД во время процесса разложения монолита на микросервисы.В предыдущей статье рассмотрели способы извлечения функциональности из монолита в микрослужбы. Однако, что делат...

Тысяча и один UI-баг, или Как помочь разработчику избегать типовых ошибок в UI Тестирование новых фич, казалось бы, очень творческий и интересный процесс. Но что делать, если ошибки в интерфейсах повторяются из фичи в фичу, а большая часть времени тратится на отлавливание мелких интерфейсных проблем?  За четыре года работы в Badoo из более чем тысяч...

Как заменить target-action и delegate замыканиями Apple предоставляет различные варианты обработки данных и событий в iOS приложениях. Обработка событий UIControl происходит через паттерн target-action. В документации к UIControl написано следующее: The target-action mechanism simplifies the code that you write to use contr...

In-memory архитектура для веб-сервисов: основы технологии и принципы In-Memory — набор концепций хранения данных, когда они сохраняются в оперативной памяти приложения, а диск используется для бэкапа. В классических подходах данные хранятся на диске, а память — в кэше. Например, веб-приложение с бэкендом для обработки данных запрашивает их в ...

Как подготовиться к собеседованию на позицию системного аналитика. ТОП-5 тем Представьте, что вам предстоит собеседование на позицию системного аналитика (СА). Что нужно знать для успешного прохождения интервью и какие вопросы могут задать? Эта статья может стать roadmap при подготовке к собеседованию. Читать далее

Оптимизация C++: совмещаем скорость и высокий уровень. Доклад Яндекса Что влияет на скорость работы программ на C++ и как её добиться при высоком уровне кода? Ведущий разработчик библиотеки CatBoost Евгений Петров ответил на эти вопросы на примерах и иллюстрациях из опыта работы над CatBoost для x86_64. Видео доклада ...

Как я решил протестировать нагрузочную способность web сервера В одно прекрасное утро вдруг пришла "гениальная" мысль – а не протестировать ли мне что ни будь? Посмотрев по сторонам, на глаза мне попался он - герой этой статьи.Это была вступительная минутка юмора, а если серьёзно то вопрос о тестировании web сервера стоял уже давно....

Определение объёма кластера Elasticsearch и тестирование производительности в Rally В этой статье мы разберёмся с основными подходами к сайзингу Elasticsearch, покажем сравнения бенчмарков кластера при загрузке логов и метрик. А разница там заметная. Надеемся, вам это поможет с определением объёма кластера Elasticsearch и расшифровкой того самого «it depend...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

Fortinet Security Fabric на практике. Часть 3. FortiAP Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обеспечения защищенного доступа - точки доступа FortiAP. Сегодня мы хотим рассказать о них. В планах - расска...

Криптовалюта. ICO, IEO, STO. Майнинг. Блокчейн: регулирование в России. Полная история: 2014-2019 годов Пролог Юрист — человек, который может написать ответ на 10 листов и назвать его кратким. Основной мой бизнес связан с юриспруденцией. Почти еженедельно приходит 1-2, а то и 3-5-10 клиентов, которые задают одни и те же вопросы: «Каков статус криптовалют/токенов в РФ/СНГ?»;...

Мнение вирусолога: можно ли второй раз заразиться CoVID-19? Как думаете, что самое неприятное в пандемии нового коронавируса? Мне кажется, что это недостаток информации. Ведь если подумать, о большинстве заразных заболеваний мы знаем довольно много, а о CoVID-19, который появился всего несколько месяцев назад и унес – на момент напи...

Истории аварий с Patroni, или Как уронить PostgreSQL-кластер В PostgreSQL нет High Availability из коробки. Чтобы добиться HA, нужно что-то поставить, настроить — приложить усилия. Есть несколько инструментов, которые помогут повысить доступность PostgreSQL, и один из них — Patroni. На первый взгляд, поставив Patroni в тестовой среде...

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 3. Библиотека для анализа данных Pandas Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (3. データ分析ライブラリPandas編)". Это третья статья из серии. Ссылки на предыдущие статьи: первая, вторая В данной статье я объясню, как работать с библиотекой Pandas, чтобы создавать De...

Магистерская программа JetBrains на базе Университете ИТМО: интервью со студентами Совсем скоро выпускникам бакалавриата предстоит сделать выбор – остановиться на достигнутом или продолжить обучение. Для тех, кто выберет второй вариант, мы хотим напомнить о нашей магистерской программе «Разработка программного обеспечения / Software Engineering» на базе ...

[Перевод] Сравнение React Native и Flutter с точки зрения их применения в реальных проектах Чем React Native отличается от Flutter, за исключением того, что речь идёт о разных фреймворках, в основу которых положены разные технологии? На что ориентироваться тому, кто не знаком с этими инструментами для разработки кросс-платформенных приложений, но хочет выбрать один...

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru В начале 2017 года в KTS поступила задача - реализовать платформу для онлайн-образования Otus.ru.От нас требовалось как можно быстрее собрать портал, на котором можно было бы посмотреть информацию о курсах. Сделать MVP нужно было как можно быстрее, а современные фронтенд-фре...

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

[Перевод] Моржовый оператор в Python Моржовый (walrus) оператор, появившийся в Python 3.8, дает возможность решить сразу две задачи: присвоить значение переменной и вернуть это значение, поэтому порой можно написать код короче и сделать его более читаемым, и он может быть даже более эффективным с точки зрения в...

Фотополимерный 3D принтер Elegoo Saturn Mono 4K Совсем недавно мы начали продавать в России фотополимерные 3D принтеры с большой площадью печати и LCD экраном с разрешением 4K от наших партнеров Anycubic и Kelant: их флагманы Anycubic Mono X и Kelant S500. Но самый долгожданный 4K фотополимерник в первой половине 2021 год...

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

Выяснили: насколько сильно Bluetooth на самом деле разряжает батарею вашего телефона Разряжает ли Bluetooth аккумулятор и если да, то насколько сильно? Всем без исключения беспроводным технологиям необходимо питание, но сколько конкретно остается под вопросом. Этот вопрос окутан множеством теорий и догадок. Несмотря на постоянное развитие технологии Blueto...

[Из песочницы] Теория цвета, контраст Многие говорят, что цвет — это чисто субъективная вещь и в ней нет каких то правил или принципов. На самом же деле, как и в любой науке, здесь есть место и теории. Цвет помогает дополнить тот смысл и идею, которые вы хотите вложить в свою работу, и правильное его использован...

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

Под капотом OpenVINO (Intel Neural Stick) Привет, Habr! Сегодня я хочу рассказать немного об аппаратном ускорителе Neural Compute Stick. Расскажу с точки зрения hardware-разработчика. Известно, что OpenVINO взаимодействует с Neural Compute Stick, а сердцем самого стика является чип Movidius Myriad X. Некоторые ...

GeForce GTX 980 Ti против GTX 1070 и RTX 2060 в 2020 году. На что способна топовая видеокарта пятилетней давности? Сколько лет остаётся актуальной флагманская видеокарта? Нужно ли меня топовые ускорители каждый год? На эти вопросы каждый отвечает для себя сам, но какова объективная реальность? 3D-карта GeForce GTX 980 Ti была представлена чуть менее пяти лет назад — 1 июня 20...

Чек-лист — как тестировать поиск Я посмотрела, как тестируют поиск начинающие тестировщики, и решила написать этот чит-лист проверок. Это такая серебряная пуля, которую можно применить на любом проекте, лишь немного варьируя под себя, под свой проект.Поиск — он же есть практически в каждой системе. Поэтому ...

Поговорим о… сыре? Любите ли вы сыр так, как любим его мы? И есть ли люди, которые не едят сыр? Эти два вопроса не давали нам покоя, равно как и вселенская несправедливость: значит, про пиво, вино и алкоголь в целом, бургеры, шашлык, шоколад на Хабре статьи есть, а про сыр нет. Между тем, это ...

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

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

Правильное TDD Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью с...

[Перевод] Argo CD: готов к труду и обороне в Kubernetes В этой статье мы рассмотрим несколько вопросов касательно Argo CD: что это такое, зачем его используют, как его развернуть (в Kubernetes), как его использовать для реализации непрерывного развертывания (continuous deployment), как настроить SSO с помощью GitHub и разрешений ...

[Перевод] Разворачиваем Jenkins как код Прим. перев.: это перевод статьи из инженерного блога компании Preply о том, как можно использовать конфигурацию как код для такого популярного CI/CD инструмента как Jenkins. В нашей компании, мы стараемся следовать практикам «Все как код», это касается не только инфраструк...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

Как перенести файлы с одного облака на другое минуя свой ПК Смерть, развод, переезд — три наиболее стрессовых ситуаций в жизни любого человека. «Американская история ужасов». — Андрюх, я из дома ухожу, помоги с переездом, ко мне всё не влезет:( — Хорошо, а много там? — Тонн* 7-8… *Тонна (жарг.) — Терабайт. Недавно, в процессе ...

ML в облаке: как я попробовал Yandex DataSphere и почему его так непросто сравнить с Google Colab Привет, Хабр! Меня зовут Дмитрий (@pagin), и я специализируюсь на вопросах ускорения и уменьшения свёрточных сетей. Моя основная работа — распознавание автомобилей и классификация транспорта, поэтому я обучаю много небольших CNN и часто пользуюсь облачными сервисами для ML. ...

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

Битва Charles и Fiddler: как тестировать с комфортом? Всем привет! Меня зовут Ксения Мерзлозубова, и я тестирую мобильные приложения в компании ATI.SU.Для тестирования большинства задач мобильному тестировщику необходим сниффер — инструмент для перехвата и анализа трафика. Сейчас существует множество снифферов, но самые популяр...

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

Управляем конвектором и термостатом Electrolux из Home Assistant. Часть 1 Около 2-х лет я являюсь пользователем Home Assistant и постепенно обживаюсь устройствами, которые хочется туда интегрировать. Одним из таких устройств стало мое относительно недавнее приобретение: конвектор от Electrolux.Изначально я рассматривал обычный конвектор, которым п...

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

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа Статья будет полезна тем: кому необходимо задействовать несколько видов авторизации в одном запросе к серверу; кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса; думает, что всё уже кем-то сделано, ...

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

В Galaxy Z Flip за 120 тысяч рублей нашли рекламные баннеры Galaxy Z Flip был представлен 11 февраля на презентации Unpacked 2020. Это не первый смартфон в подобном форм-факторе, ранее начались продажи Motorola Razr, который стал первым телефоном с горизонтальным шарниром. Оба телефона стоят немалых денег, но один из них предлагает ...

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

Intel показала работу мультиадаптера — связки из встроенного GPU и дискретной видеокарты Почти все современные процессоры Intel оснащаются встроенным графическим ядром. На сегодняшний день возможностей таких GPU достаточно для обычной работы и даже для запуска каких-нибудь старых либо максимально нетребовательных игр. Если же в ноутбуке есть ещё и дискретна...

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

Где найти фильмы 2021 для бесплатного просмотра Кинематография дарит нам просто невероятные возможности постоянно наслаждаться интересными новинками, независимо от того, какой жанр фильмов любит тот или иной человек. К сожалению, не всегда есть возможность посмотреть любимый фильм или что-то новое, так как множество сайто...

ESP32 development board с кастомным дизайном Наконец то у меня добрались руки до сборки минимального аналога Espressif Systems плат на ESP32 микроконтроллере. На плате расположен микрофон, усилитель для этого микрофона на одном транзисторе. Усилитель для динамика на трех транзисторах с выходным каскадом работающим в р...

Навык поиска работы Есть много причин, почему классные разработчики часто долго не могут найти работу, а компании — классных разработчиков. Я хочу поговорить об одной из наиболее распространённых. Эта причина — абсолютно неправильный, деструктивный подход к проведению технических собеседований...

Про перевод «теории» и производных от неё Теория (+её производные) — ещё одно слово, на котором у меня включается творческий тупик: в голову ничего кроме theory/theoretical/theoretically не лезет. Поэтому его мы тоже с коллегами решили покрутить и так, и этак — посмотреть, как обыгрывают эту концепцию носители. Сре...

Коротко об одном из стандартов формата токена PKCS#15 Много статей написано про стандарты API между токенами и программным обеспечением. Однако, стандартизация формата самих токенов, как правило, несправедливо обойдена стороной. В данной статье кратко описан один из стандартов формата токена PKCS#15 (Public Key Cryptography sta...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

Общение с редакцией AppleInsider.ru Говорите — мы вас слушаем Так уж получилось, что еще лет 5-7 назад количество больших сайтов посвященных тематике Apple было несколько десятков, но со временем одни закрывались, другие перепрофилировались и расширили свою тематику, а третьи просто перестали обновляться...

Oracle: разница между deterministic и result_cache От переводчика: свой путь на habr я решил начать не с попытки написать какой-то уникальный текст с нуля, а с перевода относительно свежей (от 17.08.2020) статьи классика PL/SQL-разработки Стивена Фойерштайна, в которой он достаточно подробно рассматривает разницу между двумя...

Еще раз о стоимости 3D-печати и о программе для ее расчета на примере с картинками :) Вчера я выложил в своем блоге очередную пробную версию программы для оценки заказа на печать для того, чтобы получить отзывы - предложения, ошибки и т.д. И один из попробовавших ее обратился ко мне с вопросами по получающимся у него итоговым суммам - они выходили какие-то сл...

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

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

[Перевод] Миллион спрайтов при 120 с лишним fps Если вы побродите по форуму DOTS, то можете встретить там подобные посты о том, как автор написал библиотеку, способную рендерить миллион анимированных спрайтов, и всё равно получает только 60fps. Я создал собственный рендерер спрайтов DOTS, который достаточно хорош для наш...

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

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

А суть-то в чём, или Минимизация исходников — проще, чем кажется В эти чудесные январские дни всех нас, конечно, волнует вопрос минимизации исходного кода с сохранением инварианта. В смысле, не волнует?!? Зря… Вот упал у вас компилятор, а программа гигантская — как-то неудобно такое разработчикам слать. И тут начинается веселье: а если в...

Выбираем флеш-карты: подробное руководство по разновидностям Secure Digital При выборе жесткого диска у «продвинутого» покупателя обычно не возникает особых проблем. Взять тот же WD6003FZBX на 6 ТБ: скорость вращения шпинделя 7200 оборотов в минуту, вместительный кэш в 256 мегабайт и наличие высокоскоростного интерфейса SATA III с пропускной спосо...

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

Простой способ улучшить камеру почти любого смартфона. На примере Vsmart Live Сегодня большая часть смартфонов на Android выпускается с разнокалиберными процессорами Qualcomm. На рынке, конечно, также множество моделей с Kirin, Exynos, MediaTek, Unisoc и некоторыми другими. Но описываемый в этой статье способ подойдёт исключительно для аппаратов с ч...

[Перевод] Как мы оптимизировали скрипты в Unity Существует множество отличных статей и туториалов о производительности в Unity. Этой статьёй мы не пытаемся заменить или улучшить их, это всего лишь краткое изложение шагов, сделанных нами после прочтения этих статей, а также шагов, позволивших решить наши проблемы. Настояте...

[Из песочницы] Функциональный и процессный подход к управлению. Как и чем управлять? В статье описаны наиболее распространенные модели управления, которые используются в российских в компании. В частности дан сравнительный анализ характеристик функциональному и процессному подходу к организации системы управления. В настоящее время вряд ли кого-нибудь можно ...

Fortinet Single Sign-On. Описание технологии Приветствуем! На протяжении всего времени нашей работы с решениями компании Fortinet, а в частности с межсетевым экраном нового поколения FortiGate, одним из самых интересующих вопросов является контроль и отслеживание трафика отдельных пользователей или групп пользователей....

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

Windows Setup Automation. Учим Windows 10 ставиться на автопилоте и не задавать вопросов Для подписчиковЕсли ты думаешь, что установка Windows 10 — крайне простой и тривиальный процесс, то ты ошибаешься. Но он может стать проще и тривиальнее, если приложить к этому немного усилий! Существует способ установить систему, не отвлекаясь на вопросы программы-инсталлят...

Полный набор gRPC, RESTful JSON API и Swagger из одного .proto файла. От введения до нюансов и тонкостей grpc-gateway В этой статье я опишу процесс создания сервера с gRPC и RESTful JSON API одновременно и Swagger документацию к нему. Эта статья — продолжение разбора различных способов реализаций API-сервера на Golang с автогенерацией кода и документации. Там я обещал более подробно остано...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

Безопасный downgrade macOS Big Sur (без 1008F) Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать о том, как откатить macOS Big Sur без ошибки 1008F. Причин для отката может бы...

[Перевод] Пять вопросов о Ceph с пояснениями Что нужно знать о Ceph, хранилища с открытым исходным кодом, чтобы решить, подходит ли оно вашей компании. В статье будет сравнение с альтернативными объектными хранилищами, а также рассмотрена оптимизация Ceph. Читать дальше →

Библиотеки для декодирования видео. Сравнение на Python и Rust Многие задаются вопросом — насколько медленный Python в операциях декодирования? Правда ли, что компилируемые языки дают прирост скорости во всем, чего касаются? Что быстрее: OpenCV или ничего? Ответы на эти и другие бесполезные вопросы под катом вы прочитать не сможете. Там...

OpenShift как корпоративная версия Kubernetes. Часть 1 «В чем разница между Kubernetes и OpenShift?» – этот вопрос возникает с завидным постоянством. Хотя на самом деле это все равно что спрашивать, чем автомобиль отличается от двигателя. Если продолжить аналогию, то автомобиль – это готовый продукт, им можно пользоваться сразу ...

iOS 13.4 Beta 3 доступен для скачивания iOS 13.4 beta 3 стала доступна для iPhone, а новая iPadOS 13.4 beta 3 для пользователей iPad. iOS 13.4 beta 3 предлагает множество функций. Бета версии доступны для зарегистрированных разработчиков. Обновление исправляет множество ошибок и проблем, связанных с производительн...

Робот-попрошайка на ROS и нейросетках Обычно к таким поделкам возникает два вопроса: «как?» и «для чего?» Первому вопросу посвящена сама публикация, а на второй я отвечу сразу: Этот проект я затеял для того, чтобы освоить робототехнику, начиная с Raspberry Pi и камеры. Как известно, один из лучших способов чему...

Как обойти проверку на Рутинг устройства обхитрив библиотеку RootBeer? В этой статье я хочу поделиться своим опытом обхода проверки на рутованость своего устройства. Статья может рассматриваться не только как самостоятельный материал, но и как прямое продолжения моей работы из предыдущей статьи. Будем декомпелировать .apk, копаться в обфусциров...

Будни «алхимика» Сравнение производительности серверов — сложная тема, вызывающая множество споров о том, как проводить сравнение «правильно». В этой статье мы расскажем про путь, который проходят процессоры, прежде чем попадают в наши услуги. Читать дальше →

Два моих любимых кейса использования ZeroTier: работа и стрельба в зомби У вас есть сервер под кроватью, умный дом на даче, а еще IP-камера в гараже. Как их всех объединить в одну сеть чтобы иметь доступ ко всем устройствам? В таких ситуациях принято использовать VPN, но есть решение эффективнее — ZeroTier. Он создает одноранговую (P2P) сеть ме...

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

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

Google об обработке 301 редиректов и выборе канонического URL В очередном выпуске серии видео #AskGoogleWerbmasters сотрудник поиска Джон Мюллер объяснил, как Google обрабатывает 301 редиректы и выбирает канонические URL. В рамках этой серии Google отвечает на частые вопросы владельцев сайтов и SEO-специалистов. В новом выпуске автор в...

[Перевод] 23 непростых вопроса для JavaScript-собеседования Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предн...

Python микросервисы с Kafka без боли В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana. Читать далее

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase Добрый день, уважаемые читатели. Совсем недавно мне пришлось осваивать новую для себя область CI/CD, настраивая с нуля доставку скриптов миграции базы данных в одном из проектов. При этом было тяжело преодолеть самый первый этап "глаза боятся", когда задача вроде бы ясна, а ...

Как писать читаемый код Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020...

[Перевод] Трюк с XOR для собеседований и не только Есть целая куча популярных задач для собеседований, которые можно решить одним из двух способов: или логичным применением стандартных структур данных и алгоритмов, или использованием некоторых свойств XOR сложным для понимания способом. Хоть и непривычно ожидать решения с...

[Перевод - recovery mode ] Конец хайпа: Что ждёт язык Scala дальше Вокруг языка Scala всегда было много хайпа и неоднозначных суждений. Сейчас споры поутихли, но в твитере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, ч...

Технология PoE в вопросах и ответах В статье в популярной форме вопрос-ответ рассказывается о ключевых моментах при использовании питания посредством PoE (Power over Ethernet). Приводятся различия между стандартами, даётся информация о защите устройств от импульсов перенапряжений и о других полезных вещах. Чи...

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

[Перевод] Реализация SOLID и слоистой архитектуры в Node.js с TypeScript и InversifyJS Привет, Хабр! Предлагаю вашему вниманию перевод статьи Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS автора Remo H. Jansen В этой статье мы рассмотрим архитектуру, известную как слоистая (onion). Слоистая архитектура — подход к пост...

Как (Android) разработчику найти первую работу? Автор канала Android Live рассказал о том, как Android-разработчику найти первую работу.  Недавно получил вопрос от подписчика: Привет! Какие основные вопросы могут задать джуну на собеседовании? И как Android-разработчику найти первую работу? Сегодня хочу поделиться своим о...

Нулевой даунтайм API на ElasticSearch В статье я хочу поделиться своим опытом достижения нулевого даунтайма ответа одного из API, использующего большой индекс ElasticSearch.  Эта статья будет полезна тем, кто уже использует ElasticSearch и не может позволить себе ни минуты простоя, а один из ваших индексов ...

Galaxy S20 Ultra против Huawei P30: чей зум круче? Итак, пришло время сравнить новенький Galaxy S20 Ultra и Huawei Mate 30 Pro. Телефоны на данный момент являются лучшими в вопросе качества оптического приближения. 26 марта Huawei, конечно, должна представить P40, P40 Pro и P40 Premium Edition, и там-то мы и увидим улучшенн...

Intel сравнила APU Ryzen 7 3700U со своими CPU Core i7-10710U и Core i7-1065G7. Догадайтесь, кто победил? Вместе с формальным анонсом процессоров Comet Lake-H, компания Intel сегодня опубликовала порцию исследовательских данных, призванных в очередной раз убедить пользователей в том, что APU AMD сильно проигрывают фирменным CPU Intel в производительности. И опубликованные д...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

Тестируем 1С на VPS Как вы уже знаете, мы запустили новую услугу VPS с предустановленной 1С. В прошлой статье вы задали много технических вопросов в комментариях, сделали несколько ценных замечаний. Оно и понятно — каждый из нас хочет иметь какие-то гарантии и расчёты на руках, чтобы принять ре...

[Из песочницы] Оракул, скажи, кем я быть хочу Здравствуйте, читатели. Я хочу вам представить небольшое исследование, которые провели мы с моим другом полтора года назад, но в виду некоторых обстоятельств оформление затянулось до сего момента. Вопрос, который мы хотели рассмотреть, это можно ли построить такой классифика...

В компании LeadWay рассказали о 7 способах увеличить конверсию и продажи в интернет-магазине Посетители заходят на сайт вашего интернет-магазина, но покупки не совершают. Это довольно распространённая проблема, с которой сталкивается чуть ли не каждый владелец интернет-магазина. Возникает вопрос: что не так? И как это исправить? На эти и другие вопросы ответят специ...

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

Вентиляция с рекуперацией в квартире. Без воздуховодов и СМС Написать этот пост меня подтолкнула недавняя статья о приточной вентиляции в квартире. Я было хотел оставить развёрнутый комментарий, но понял что правильнее будет написать статью, т.к. мой опыт использования комнатных рекуператоров в качестве основной системы вентиляции мож...

AST или Evolution: сравнение караоке систем Караоке-системы AST и Evolution представлены несколькими линейками. Самые простые и эргономичные продукты для исключительно домашнего использования, золотая середина – компактные профессиональные системы для установки дома и в небольших заведениях, наиболее функциональные мо...

Учет денег Хотел осветить тему, которая мне достаточно интересна и, возможно, кому-то тоже будет полезной – это тема учета денег. Пару слов об актуальности. Раньше я никогда бы не подумал, что бухгалтерия будет мне интересна и тем более, что чем-то подобным буду заниматься я сам. Я п...

ClickHouse для продвинутых пользователей в вопросах и ответах В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как мы используем систему управления базами данных и какие сложности у нас...

Иммунный импринтинг в детстве: происхождение защиты от вирусов Практически каждый из нас слышал или читал новости о распространяющемся коронавирусе. Как и в случае любого другого заболевания, в борьбе с новым вирусом важна ранняя диагностика. Однако далеко не все заразившиеся демонстрируют одинаковый набор симптомов, и даже сканеры в ...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

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

[Перевод] Доступный toggle Toggles (или их еще называют "тумблеры"/"переключатели") широко используются в современных интерфейсах. Они, как правило, относительно просты, и их можно рассматривать как простые флажки (checkbox). Тем не менее, их часто делают недоступными тем или иным способом.В этой стат...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Ошибка – это не UIAlertController Дизайнеры, с которыми я работаю, часто рассматривают сообщениях об ошибках в iOS как что-то очевидное. А если конкретно – как UIAlertController. Читать дальше →

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

Тест-драйв Mitsubishi ASX 2020: ТОП-5 вопросов и ответов (+ 1.6 FWD против 2.0 AWD) Видите на фото один синий кроссовер Mitsubishi ASX? А по статье их будет пара: мне в руки попали сразу две версии модели – разные моторы и тип привода, разные комплектации, разная цена. Будет интересно не только узнать об автомобиле, но также сравнить разные версии в поисках...

Второй 4К- или 5К монитор для Mac: как выбрать и правильно подключить? Почти у любого владельца Mac со временем возникает потребность хотя бы эпизодически подключаться к экрану побольше. И тут сразу же возникает целый ряд вопросов — какое разрешение выбрать, через какой порт подключаться, будет ли работать все на 60 Гц? Ответы на эти и другие в...

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

Про атмосферность в компьютерных играх и хитрых маркетологов Пишу этот пост – как ответ на несколько статей от знаменитых авторов портала. Просто всё, что хочу сказать уже давно вышло из формата комментариев. Однако молча переносить уже не получается. Сразу отмечу – статья не для срача, хайпа и монеток. Я скорее всего не стану здесь п...

Авторы Elden Ring сравнили игру по сложности с Dark Souls III Хотя и признают, что сравнение не совсем корректно.

Когда код становится legacy и как с ним жить Много лет назад, я пришел в один legacy-проект, который разрабатывал Владимир Филонов (pyhoster). Так я и познакомился с одним из организаторов MoscowPython, любителем копаться во внутренностях библиотек, а потом рассказывать об этом. Иронично, что теперь он собирается расск...

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

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20 Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не нап...

Почему я всегда оставляю комментарии в Google Play и вам советую Мало кто будет спорить с тем, что Google Play существенно уступает по качеству проверки и общему уровню AppStore. В магазине Apple все сделано более качественно. Возможно, из-за подхода компании, а может быть и из-за того, что приложения для Android просто пишутся совершенн...

[Из песочницы] Как я чинил поломанную базу и что из этого вышло Однажды ко мне обратились с просьбой помочь «исправить» одну базу данных. CHECKDB при проверке выдавал список ошибок, некоторые из которых отмечались как «неисправимые». Приложение при этом работало, но все равно было как-то неспокойно. Да, правильным решением в такой ситуа...

Postgres: bloat, pg_repack и deferred constraints Эффект раздувания таблиц и индексов (bloat) широко известен и присутствует не только в Postgres. Есть способы борьбы с ним “из коробки” вроде VACUUM FULL или CLUSTER, но они блокируют таблицы во время работы и поэтому не всегда могут быть использованы. В статье будет немн...

Немного про устройство современного радио на примере HackRF One Приветствую, Habr! Некоторое время назад в поле моего зрения очень часто попадало множество статей, видеороликов о теме SDR трансиверов. Тема представляет интерес и сегодня. Большой популярностью среди радиолюбителей и других, разного рода, «технарей» пользуются устройства H...

Статическая подписка с использованием шаблона Наблюдатель на примере С++ и микроконтроллера Cortext M4 Всем доброго здравия! В преддверии Нового года хочу продолжить рассказывать про использование С++ на микроконтроллерах, на этот раз попытаюсь рассказать про использование шаблона Наблюдатель (но далее я буду называть его Издатель-Подписчик или просто Подписчик, такой вот ка...

Антипаттерн Entity Service. Иногда микросервисы хуже монолита Статья об одном неудачном решении, которое распространено при переходе на микросервисы. Несмотря на то, что Microsoft и другие компании в своих руководствах рассматривают возможность создавать Entity Serivces, есть все основания считать его антипаттерном. Далее мы поговорим ...

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

Тест-драйв 7-местного Mitsubishi Outlander 2020: ТОП-5 вопросов и ответов Шутка-правда: каждые полгода у нас выходит статья о модели Mitsubishi Outlander – и ведь каждый раз находиться, о чем рассказать. Вот и сейчас: Mitsubishi Outlander 2020 модельного года получил 7-местный салон, «умный» полный привод S-AWC, новую систему мультимедиа… Что еще?...

Мы успели перевести офисы на удаленку, а вы? Всем привет из карантина! Давно хотел написать пост про жизнь и работу в Испании, но совсем по другому поводу. Однако сложившаяся ситуация диктует другие правила. Поэтому сегодня об опыте по переводу офисов на удаленную работу, до того как это стало вынужденным. А еще про жи...

Is Delphi Dying — False В далеком 2009-м на Хабре уже возникал холиварный шуточный пост с вопросом "Умирает ли Delphi?", а неким энтузиастом (Jamie Ingilby) в поддержку были созданы 2 сайта, которые утвердительно отвечали «Нет, язык Delphi жив». Однако, как всем известно, дыма без огня не бывает, ...

Мама говорила что чудовищ не бывает (с) или "Черныш" В разгар самоизоляции одно из занятий это посмотреть хороший фильм и так как я фанат вселенной "Чужих" конечно же я посмотрел все картины а также "фанконтент" ну и еще Хищника всего по случаю. Встал вопрос кого же изваять и тут попалась хорошая модель https://www.thingiverse...

Think SRE: смотрим на проекты глазами SRE-инженера В отзывах о Слёрме Kubernetes звучала фраза: «Kubernetes оказался проще, чем я думал». Сейчас уже не звучит, мифа о сложности k8s больше нет. Он перешел в разряд инструментов easy to learn, hard to master. Мы хотим повторить то же самое с SRE. Показать, что SRE проще и понят...

Производственный календарь своими руками в Firebird Здравствуйте, меня зовут Денис, я явлюсь разработчиком информационных систем, пишу статьи и документацию по СУБД Firebird. В этой статье я хочу рассказать о реализации производственного календаря с использованием СУБД Firebird. На написание этой статьи меня натолкнули похож...

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

Работа с китайской микросхемой АЦП Hx711 (заключение) По прошествии некоторого времени, повторное ознакомление с начальной статьей вызвало чувство незаконченности в вопросе использовании данного АЦП. Да, были проведены определенные исследования данного изделия, были нащупаны слабые стороны и предложены пути обхода этих слабых с...

[Из песочницы] STM32 с чистого листа Нельзя доверять коду, который вы не написали полностью сами. — Кен ТомпсонПожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяц...

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

[Из песочницы] Наука о пользовательском опыте. Использование когнитивных искажений в разработке качественных продуктов Содержание Введение. О чем эта статья Цели и дисклеймеры Часть 1. Хороший продукт Часть 2. Пользовательский опыт (UX). Что это? Часть 3. Архитектура выбора Часть 4. Архитектор выбора Часть 5. Когнитивные искажения и Пользовательский опыт Ссылка на полную версию UX CORE (105...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Angular: еще один способ отписываться Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil. Со временем я все чаще стал использовать свой де...

Нейросеть с нуля своими руками. Часть 1. Теория Здравствуйте. Меня зовут Андрей, я frontend-разработчик и я хочу поговорить с вами на такую тему как нейросети. Дело в том, что ML технологии все глубже проникают в нашу жизнь, и о нейросетях сказано и написано уже очень много, но когда я захотел разобраться в этом вопросе, ...

[Перевод] Ответы на часто задаваемые вопросы о NFT У вас тоже накопилось много вопросов к этому новому виду… искусства? Платформе? Новости о блокчейне всегда заставляют нас задуматься: «Эм… А что здесь происходит?». Именно такое чувство я испытал, читая, как Граймс получает миллионы долларов за цифровые рисунки и видео в в...

[Перевод] Вышла Vue 3.2 Эта статья — перевод оригинальной статьи Evan You "Vue 3.2 Released!"Мы рады объявить о выпуске Vue.js 3.2 "Quintessential Quintuplets"! Этот релиз включает в себя множество значительных новых функций и улучшений производительности и не содержит критических изменений. Читать...

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

Недорогой электромобиль Tesla Model 3 может стать еще дешевле Производитель электромобилей Tesla на достаточно серьезном уровне рассматривает вопрос о снижении цен на седаны Model 3, которые были на 20% или более собраны на Китайском заводе компании. Об этом рассказало американское издание Bloomberg, ссылаясь на собственных информаторо...

Yggdrasil Network: Заря бытовых меш-сетей, или Интернет будущего Плавно наступает эпоха меш-сетей. Как минимум, этот термин все чаще и чаще появляется в информационной сфере. Что привлекает внимание сетевиков и почему в заголовке статьи фигурирует понятие «бытовая меш-сеть»? Попробуем разобраться в вопросе, взяв для примера сеть Yggdrasil...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

API для генерации ответов сервера с любыми кодами статусов Привет, Хабр! Работая над библиотекой-обёрткой REST API, я столкнулся с проблемой. Для тестирования обработки ошибочных кодов ответа сервера (400, 500, 403 и т.д.) необходимо искусственно создавать условия на сервере для получения соответствующих кодов. При правильно настрое...

Почему мой NVMe медленнее SSD? В данной статье мы рассмотрим некоторые нюансы подсистемы ввода-вывода и их влияние на производительность. Пару недель назад я столкнулся с вопросом, почему NVMe на одном сервере медленнее, чем SATA на другом. Посмотрел в характеристики серверов и понял, что это был вопрос...

Почему вам не надо становиться тимлидом? Привет, друзья. Эта статья написана Георгием Могелашвили (glamcoder), который работает на позиции Lead Developer в Booking.com в Амстердаме и отвечает за архитектуру и координацию нескольких технических команд в отделе маркетинга, а по совместительству Георгий преподает в OT...

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

Самый абсурдный код “эвер” Совсем недавно я поделился постом, в котором собрал забавные комменты в исходном коде и читателям зашло. И я решил, а почему бы не сделать похожую подборку, только с кривым кодом? Кому интересно, добро пожаловать под кат. Как и в предыдущий раз, вдохновился я на этот пост б...

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

Как внедрить в команду ML, не имея соответствующих hard-скиллов Привет, Хабр! Сегодня делимся историей нашего коллеги из партнерской компании о том, как он занимался внедрением машинного обучения в свою команду. Передаю слово автору. Я работаю тимлидом во внутренней техподдержке — мы поддерживаем внутренних пользователей, и соответствен...

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

[Перевод] Почему нужна инструментальная поддержка пагинации на ключах Всем привет! Я бэкэнд-разработчик, пишу микросервисы на Java + Spring. Работаю в одной из команд разработки внутренних продуктов в компании Тинькофф. У нас в команде часто встает вопрос оптимизации запросов в СУБД. Всегда хочется еще чуть-чуть быстрее, но не всегда можно об...

Как уменьшить потребление wifi модулей в десять и более раз Добрый день, Всем!!! Данная статья в основном касается популярного модуля ESP8266 (ESP8285). Недавно на одном из форумов мне задали вопрос о протоколе ESP-NOW. В итоге решил рассказать о способах сокращения потребления датчиков и исполнительных устройств, работающих по WiFi,...

[Из песочницы] Автоматизация инструментов Qt Здравствуйте уважаемы хабровчане, не так давно я увлекся программированием на Qt и после написания нескольких программ встал вопрос о том, как развертывать программы на других компьютерах. Как выяснилось делать это не совсем удобно, поэтому я решил написать простенькую небол...

[Перевод] 5 типичных ошибок при создании React компонентов (с хуками) в 2020 году Всем привет! Из этой статьи вы узнаете о самых распространенных ошибках при создании React компонентов, а также о том, почему они считаются ошибками, как их избежать или исправить. Оригинальный материал был написан немецким разработчиком Лоренцом Вайсом для личного блога, ...

Выбор хорошего инструмента для хранения тест документации и сравнительный анализ 3 выбранных инструментов Ведение документации для тестирования в Google-доках и Google-таблицах — не лучший способ работы с тестовой документацией. Такой подход имеет свои недостатки. В этой статье я расскажу, как мы перешли от хранения тестовой документации с Google docs к специализированным SaaS-р...

Одна история с оператором Redis в K8s и мини-обзор утилит для анализа данных этой БД Что будет, если использовать всем известное in-memory-хранилище ключей и значений в качестве персистентной базы данных, не используя TTL? А если оно запущено с помощью надёжного, казалось бы, оператора в Kubernetes? А если в процессе увеличения реплик Redis мы внесём ещё о...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

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

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

Mockito. Из чего он приготовлен и как его подавать? Думаю, многим довелось выпить какой-нибудь напиток, который глубоко впился в наши вкусовые рецепторы, что нам хочется пить его каждый день. Так вот для меня таким «напитком» стал Mockito. Один раз написав простенький тест, можно вернуть себе веру в магию. Я всё ещё помню, к...

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

[Из песочницы] Практичные способы маппинга данных в Kotlin Маппинг данных – один из способов для разделения кода приложения на слои. Маппинг широко используется в Android приложениях. Популярный пример архитектуры мобильного приложения Android-CleanArchitecture использует маппинг как в оригинальной версии (пример маппера из CleanArc...

[Перевод] Создание эффекта VHS-видео в Unreal Engine Я создал этот шейдер VHS-видео в Unreal в рамках первого шейдер-челленджа для Discord-канала Technically Speaking. Темой челленджа стало «Ретро», а я экспериментировал с идеями FMV-игры, поэтому решил соединить эти две темы. Интересующиеся исходниками могут посмотреть файл...

Мониторинг ошибок с помощью Sentry во фронтенд-приложениях, написанных на JavaScript: Часть 1 Сервис Sentry позволяет удаленно мониторить баги в фронтенд-приложениях, написанных на JavaScript. Попытка устранить проблемы в фронтенд-приложениях на JavaScript может оказаться непростой задачкой, поскольку они возникают в браузере пользователя, к чему, зачастую, у вас не...

Python (+numba) быстрее си — серьёзно?! Часть 1. Теория Давно собирался написать статью о numba и о сравнении её быстродействия с си. Статья про хаскелл «Быстрее, чем C++; медленнее, чем PHP» подтолкнула к действию. В комментариях к этой статье упомянули о библиотеке numba и о том, что она магическим образом может приблизить скор...

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

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

[Из песочницы] Пишем шейдеры кодом в Unity LWRP Введение Здравствуй, Хабр. Сегодня хочется рассказать немного о том, как можно быстро и безболезненно (почти) начать писать классические текстовые шейдеры в Unity с использованием Lightweight Rendering Pipeline (LWRP) — одним из примеров конвейера Scriptable Rendering Pipeli...

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

[Перевод] Вероятно, хватит рекомендовать «Чистый код» Возможно, мы никогда не сможем прийти к эмпирическому определению «хорошего кода» или «чистого кода». Это означает, что мнение одного человека о мнении другого человека о «чистом коде» обязательно очень субъективно. Я не могу рассматривать книгу Роберта Мартина «Чистый код» ...

Зачем (не)нужны геттеры? Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместн...

Готовое решение для 3х кейсов по работе с карточками товаров на маркетплейсах Как повысить эффективность управления карточками товаров и грамотно работать с остатками на маркетплейсах? Этими вопросами задается каждый второй продавец, который хочет занять верхние строчки в поисковой выдаче и увеличить продажи. Разбираемся, какие особенности бывают при ...

Free Trial, motherf***er, do you need it? — или почему бесплатные траялы и фримиум модели подходят далеко не для всех На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный trial-период в своих продуктах. Ребята из Getcourse написали заплюсованую статью про онлайн-школ...

Обзор малоизвестного принтера Tevo Tarantula RS (Tarantula pro) ч.1 Всем доброго времени суток, форумчане.Давно уже пытаюсь написать данный обзор, да все руки никак не доходили, по этому сегодня напишу только одну часть, но и она будет достаточно длинная.Хотел бы сразу указать магазин, где покупался данный аппарат, так как больше в продаже я...

Безопасность 5G Одна из самых популярных тем в последнее время: безопасен ли 5G для здоровья людей. Однако, в этой статье речь пойдет совсем не об этом, а об архитектуре безопасности этой сети. Насколько надежные технологии скрываются внутри? Читать далее

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

LyX: Общие замечания. Часть 1 Скопировано с моего блога в целях создания еще одного русскоязычного источника информации по данной теме. Эта статья является продолжением следующих статей одного цикла: статья 1 статья 2 статья 3 статья 4 статья 5 Фух, даже не знаю, как писать этот пост. Я мог бы начать ...

[Перевод] Адаптивная процедурная генерация при помощи алгоритма WaveFunctionCollapse и априорного распределения вероятностей Что такое процедурная генерация? Процедурная генерация включает в себя множество генеративных алгоритмов, принцип работы которых заключается в создании данных не вручную, а алгоритмически: вместо ручного изготовления того, что мы хотим создать (карты, музыки, рельефа…), пише...

Какую кофемашину выбрать для кофейни в 2019-2020 году Кофемашина – самый необходимый прибор в любой кофейне. Не помешает такая техника в ресторане или баре. Но из-за большого количества предложений от разных фирм у покупателей часто возникают вопросы – как выбрать кофемашину для кофейни и какие требования выдвигаются к этому ус...

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Как мы формируем консолидированную отчетность 25 компаний, 9 стран, 6 функциональных валют… Систему и процедуры подготовки отчетности легко можно было сделать сложными и дорогими. Но мы нашли простое с технической точки зрения решение, которое очень нравится нашим пользователям, а особенно специалистам по подготовке ко...

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

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

[Перевод] Как начать заниматься Bug Bounty Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала. Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в ...

[Перевод] Пиксель-арт для начинающих: исправляем типичные ошибки Ранее я переводил статью про пиксель-арт для начинающих художников. Вдогонку к ней рассмотрим типичные ошибки новичков и способы их решения — на примере с описанием базовых техник и подходов. В конце материала подборка крутого игрового пиксель-арта для вдохновения. Читать ...

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

Цифровой манифест Минкомсвязи Основные ориентиры работы Министерства цифрового развития, связи и массовых коммуникаций РФ задал его новый руководитель Максут Шадаев на вчерашнем расширенном заседании Комитета Госдумы по информационной политике, информационным технологиям и связи. Основной тематикой мероп...

[Из песочницы] Почему Rust должен стать функциональным языком программирования Привет, Хабр! Начав изучение Scala, я сразу столкнулся с тем, что функциональная реализация простейшего алгоритма быстрой сортировки работает радикально медленней и потребляет существенно больше памяти, чем аналогичная императивная реализация. При этом никто не спорит, что ...

Невыдуманные истории про сеть: как я учил физику на своих и чужих ошибках Привет, Хабр! Меня зовут Антон Клочков, я сетевой архитектор в компании DataLine, а также участник проекта linkmeup. Я занимаюсь сетью более 10 лет и за это время успел поработать в больших и маленьких телеком-операторах, крупных корпорациях и небольших бизнесах.  На практи...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Как написать плагин для Фигмы: проблема, MVP, решение Привет, я Саша Катин, дизайнер продукта в Авито. Примерно за месяц я написал плагин для Фигмы, чтобы помочь коллегам-дизайнерам. В статье расскажу, что получилось хорошо и быстро, а что — не очень, и что нужно сделать, чтобы запустить свой энтерпрайз-плагин внутри компа...

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

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

[Перевод] Советы и хитрости IntelliJ IDEA: 1. Сравнение файлов и папок От переводчика: В блоге Войтеха Рузички по программированию имеется 13 постов с тегом IDEA. Один из был переведен и опубликован на Хабре — Лучшие плагины IntelliJ IDEA. Он оказася довольно популярен и я решил попробовать перевести и другие посты об IDEA. Надеюсь будут полезн...

История одного патча Apple В этом году мы с a1exdandy выступали на конференциях VolgaCTF и KazHackStan с докладом про Patch Diffing программ написанных на Оbjective-С и то, как с его помощью можно искать и находить 0-day и 1-day уязвимости в продуктах компании Apple. Видео выступления можно посмотрет...

ComputerVision и стиль Несколько месяцев назад я писал статью про тихую революцию в ComputerVision - про трансформеры. А сейчас я хочу поговорить про другую революцию в CV. Уже не такую тихую (статьи тут куда более известные). Рассказ будет про GAN'ы. Как ими сегодня умеют управлять, и что достигл...

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

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

[Из песочницы] Сравнение 3 бесплатных решений для управления информацией о товарах (PIM систем) На рынке доступно множество коммерческих решений для управления информацией о товарах (PIM). И есть 3 бесплатных решения с открытым исходным кодом: Akeneo, Pimcore и OpenPIM, которые вы можете использовать для внедрения системы PIM в своей компании. Я собираюсь сравнить эт...

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

Настройка BGP для обхода блокировок, версия 3.1. И немного Q&A Близится кожаная свадьба Роскомнадзора с Телеграмом, именно 16 апреля 2018 года начался крестовый поход, ставший фактически символом уничтожения интернета в России, хотя в глобальной войне, начавшейся в 2012 году, он был всего лишь ярким эпизодом. Ковровые блокировки в испол...

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

Книга «Глубокое обучение в картинках. Визуальный гид по искусственному интеллекту» Привет, Хаброжители! Глубокое обучение стало мощным двигателем для работы с искусственным интеллектом. Яркие иллюстрации и простые примеры кода избавят вас от необходимости вникать в сложные аспекты конструирования моделей глубокого обучения, делая сложные задачи доступными ...

[Перевод] 22 полезных примера кода на Python Python — один из самых популярных языков программирования, чрезвычайно полезный и в решении повседневных задач. В этой статье я вкратце расскажу о 22 полезных примерах кода, позволяющих воспользоваться мощью Python. Некоторые из примеров вы могли уже видеть ранее, а другие...

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

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

MikroTik Скрипт: Уведомление о успешном входе на устройство или простой парсер журнала MikroTik Разбираем скриптом внутренний журнал событий MikroTik отбирая уведомления вход/выход пользователей на устройство. Отправляем события на почту или Telegram. Написать свой скрипт меня сподвигло желание упростить монструозные скрипты, которые можно найти по этому запросу в инте...

Организация деплоя в множество k8s окружений с помощью helmfile Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя. О самом helmfile и примерах его использования можно почитать в readme и best practices guide....

Как правильно закрывать приложения на Android и надо ли это делать В нашем Telegram-чате часто задают различные вопросы, как сделать то или иное на Android. На наиболее частые вопросы мы стараемся отвечать на нашем сайте, готовя отдельные статьи с развернутыми ответами. В этот раз мы поговорим о том, как правильно закрывать приложения на A...

[Из песочницы] Политика конфиденциальности и условия использования как обязательный атрибут IT продукта Меня зовут Александр Явтушенко и уже 4 года я работаю в сфере IT права. Последнее время все чаще сайты и приложения, которые я сопровождаю по части правового обеспечения их деятельности, начинают задумываться или непосредственно внедрять различные правила и политики связанны...

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

Экономим на лицензиях Mikrotik CHR В Телеграм-чате @router_os часто вижу вопросы о том, как сэкономить на покупке лицензии от Mikrotik, либо пользоваться RouterOS, вообще, на халяву. Как ни странно, но такие способы есть и в правовом поле. В данной статье я не буду касаться лицензирования аппаратных устр...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

OnePlus 8 Pro против Samsung Galaxy S20 Ultra и iPhone 11 Pro Max. Какой смартфон быстрее? Смартфон OnePlus 8 Pro стал ощутимо дороже своего предшественника. В США за базовую версию просят 900 долларов. И хотя основные конкуренты в лице Samsung Galaxy S20 Ultra и iPhone 11 Pro Max всё же дороже, но разница уже не кратна, поэтому эти аппараты действительно мож...

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Навыки команды: Как я настраивал матрицу компетенций Почему в Confluence? Когда я пришел в команду разработки платформ бизнес-сервисов, мне было сложно разобраться, кто чем занимается, какие продукты разрабатываются и поддерживаются, какие навыки для этого нужны команде, кого и чему нужно научить. В этой статье я расскажу, ка...

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Вопрос про CAN FD Добрый день! Читаю с интересом ваши статьи и хотел бы задать вопрос, как компетентным людям в автомобильной отрасли — периодически сталкиваюсь с шиной CAN и в процессе изучения встречал информацию о перспективах перехода на CAN FD. Википедия говорит о переходе на FD больш...

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

[recovery mode] Включаем поддержку NVMe на старых материнках на примере Asus P9X79 WS Привет Хабр! В голову мне закралась мысль, и я ее думаю. И придумал. Все дело в жуткой несправедливости производителя, которому абсолютно ничего не стоило добавить модули в UEFI Bios для поддержки загрузки с NVMe через переходники на материнках без слота m.2 (что, к стати, б...

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

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

Tesla обеспечена заказами на Cybertruck на три года вперед Во время подведения итогов работы Tesla за четвертый квартал прошлого года всплыла очень интересная подробность об объемах заказов пикапа Cybertruck. Многие наверняка помнят, что после его премьеры Илон Маск (Elon Musk) стал публиковать в Twitter данные о количеств...

[Из песочницы] IPSec всемогущий Добрый день, друзья. Не секрет, что многим из нас хоть раз, но пришлось столкнуться с необходимостью настройки VPN. Являясь активным читателем Хабра я заметил, что несмотря на обилие статей про IPSec, многим он всё равно представляется чем-то сложным и перегруженным. В данно...

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04 Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недоро...

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

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

Стало известно, сколько зарабатывают стримеры и игровые блогеры Этот вопрос давно интересует многих. Мы уже привыкли видеть под видео или статьями на сайтах и видеохостингах, а также Instagram сообщения о том, что статья или материал заказные, за него авторам занесли денег. Люди считают, что те, кто сегодня занимается производством кон...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

[Перевод] Алгоритм обратного распространения ошибки на примере Word2Vec Поскольку я столкнулся с существенными затруднениями в поисках объяснения механизма обратного распространения ошибки, которое мне понравилось бы, я решил написать собственный пост об обратном распространении ошибки реализовав алгоритм Word2Vec. Моя цель, — объяснить сущность...

Перевод книги Эндрю Ына «Страсть к машинному обучению» Главы 30 — 32 предыдущие главы 30. Интерпретация кривой обучения: Большое смещение Предположим, ваша кривая ошибок на валидационной выборке выглядит следующим образом: Мы уже говорили, что если ошибка алгоритма на валидационной выборке вышла на плато, вы вряд ли сможете достигнуть желаем...

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

Сервер Игры на MS Orleans — часть 1: Что такое Акторы Привет Хабр! И так, на четырнадцатый день копья решил я значит начать делать простенький игровой сервер для простой онлайн стрелялки. За одно тему распределенных вычислений затронуть. В этой вводной статье цикла хочу рассказать что такое акторы (в Орлеанс их зернами называ...

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

Умный дом: Строим графики потребления воды и электричества в Home Assistant Каждый раз получая платежку за электричество и воду я удивляюсь — неужели моя семья стооооолько потребляет? Ну да, в ванной установлен теплый пол и бойлер, но ведь они же не кочегарят постоянно. Воду тоже вроде экономим (хотя поплескаться в ванной тоже любим). Несколько ле...

Сравнивали Haskell и C++, а сравнили jump и cmov В статье [ссылка] было заявлено, что производительность Haskell кода превзошла код на С++. Что сразу вызвало интерес, т.к. и то и другое может генерироваться LLVM компилятором, значит либо Наskell может давать больше хинтов компилятору, либо что-то не так с С++ реализацией....

Создаём с нуля высоконагруженное приложение на Tarantool В 2013 я пришел в Mail.ru Group, и я решал задачу, в которой мне нужна была очередь. Есть много разных инструментов для построения очередей, но я решил для начала узнать, что уже имеется в компании. Услышал, что есть такой продукт — Tarantool. Узнал, как он устроен, и мне п...

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

SEMrush vs SimilarWeb — кто точнее? Когда анализируешь эффективность маркетинга и сайта в целом, важно не просто собирать собственную статистику, но и сравнивать ее с трендами рынка. К примеру, команда маркетинга не дотянула до плана 5%. Если при этом рынок просел на 15%, то результат хороший, а если наоборот ...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

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

Уйти во фронтенд после декрета, стать синьором в Gitlab и core team member Vue.js Наш новый формат — прямые эфиры с успешными разработчиками и айтишниками, на которых вы можете задать вопрос профессионалу и получить ответ из первых рук развивается дальше. 25 мая на ваши вопросы будет отвечать Наталья Теплухина, Vue.js core team member, GoogleDevExpret ...

Хит-парад убогих уязвимостей Microsoft Уж кого нельзя обвинить в скупости на разного рода ошибки и уязвимости, так это корпорацию Microsoft. За примером далеко ходить не надо — достаточно посмотреть на Windows 10, просто утопающую в багах. Упрекать разработчиков не стоит: они «старательно» выпускают патчи, испр...

Промышленность переориентируется на выпуск медицинских принадлежностей На этой неделе Илон Маск (Elon Musk) выступил с инициативой выпуска аппаратов искусственной вентиляции лёгких на мощностях принадлежащих ему компаний. Власти Нью-Йорка уже ухватились за эти слова, да и прочие американские автопроизводители могут последовать примеру Tesla в у...

[Перевод] Переход к «Meta GSAP»: поиски «идеальной» бесконечной прокрутки Уже послезавтра, 14 мая, стартует новый поток курса Python для веб-разработки, поэтому мы решили поделиться переводом о не совсем очевидной, но интересной области разработки сайтов — анимации анимации. Автор не просто даёт готовый рецепт, но шаг за шагом показывает, как сдел...

«Dialog-Ai» – мобильное приложение для помощи в стрессовых ситуациях На Android вышло новое мобильное приложение «Dialog-Ai» — поддержка в стрессовых ситуациях, которое всегда на связи. Приложение так же есть для платформы iOS. Теперь каждый может поделиться и выговориться, погасить беспокойство, лучше понять свои мысли и чувства, умень...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

[Из песочницы] Сравнение производительности инструментов обхода блокировок\VPN По мере того, как нам все активнее закрывают доступ к различным ресурсам в сети, все актуальнее становится вопрос обхода блокировок, а значит все актуальнее становится вопрос «А как же быстрее обходить блокировки?». Оставим тему эффективности, с точки зрения обхода DPI\вайт...

[Перевод] Рабочие узлы Kubernetes: много маленьких или несколько больших? При создании кластера Kubernetes могут возникать вопросы: сколько настроить рабочих узлов и какого типа? Что лучше для кластера on-premise: купить несколько мощных серверов или задействовать десяток старых машин в вашем дата-центре? А в облаке лучше взять восемь одноядерных...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

[Из песочницы] Самописный таймер в виде функции для промышленного контроллера Simatic S7-1200 Еще для серии S7-300 и S7-400 под Step 7 классических версий предлагаемых разработчику таймеров вполне хватало — это и стандартные таймеры IEC, реализованные в виде функциональных блоков, и таймеры S5 (которые, к слову, до сих пор существуют для серии S7-1500). Однако в ряде...

Гайд по UI анимации. Как начать анимировать интерфейсы Привет! Меня зовут Айгуль, я продуктовый дизайнер в Райффайзенбанке, а до этого работала в Mail.ru Group, OneTwoTrip и приложила руку к нескольким стартапам. Как-то я взяла на себя задачу продумать систему UI-анимаций для дизайн-системы. Но когда я начала над ней работу...

Call of Duty и еще пять игр для Android, в которые лучше играть на геймпаде Многим недостаточно просто играть на смартфоне и хочется воспользоваться контроллером. Учитывая интерес, который вызвала статья о геймпадах для смартфона, которая выходила на нашем сайте некоторое время назад, хотелось бы остановиться на этой теме подробнее. В игровом проце...

Сколько оперативной памяти нужно смартфону? Помогаем определиться. Зачем смартфону много оперативной памяти? Часто в Интернете можно встретить обсуждение характеристик смартфонов. Самые жесткие баталии обычно разворачиваются по поводу оперативной памяти и камеры. Наверное, первое вызывает даже больше споров. Но кто прав? Что такое оператив...

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

[Из песочницы] Пишем сервис одноразовых записок на Python У некоторых людей возникает необходимость передать небольшие сообщения. Но как это сделать, если вы пользуетесь различными социальными сетями и мессенджерами, в безопасности передачи данных через которые вы сомневаетесь. Некоторые люди для этого используют сервисы самоунич...

Референтная модель BIAN. Что нового и полезного для корпоративной архитектуры банка она предлагает? BIAN… как мало в этом звуке для сердца русского… Да, я не случайно перефразировала всем известного классика. В России популярность референтной модели BIAN все еще низкая, особенно в сравнении с моделью Enhanced Telecom Operations Map (eTOM), распространенной в опережающей ...

Про Shadow DOM Всем привет! Продолжаю свой цикл публикаций о группе стандартов Web Components. Моя цель - сформировать реалистичные ожидания от данного набора технологий, а также, вместе с вами, прийти к более четкому пониманию того, где их не стоит применять, и где, напротив, ничего лучше...

[Из песочницы] Что такое I в ACID или взгляд с другой стороны Прочитав этот пост, написанный farwayer, сначала хотел просто оставить комментарий, но, подумав пару десятков минут, решил, что тема глубокая, и мне есть что сказать на целый пост. Все таки, с одной стороны, я один из тех, кто на собеседованиях не смотрит на код и кого разоч...

Как измерить эффективность инвестиционного портфеля: 3 практических подхода Изображение: Unsplash Многие начинающие инвесторы оценивают эффективность собранного ими портфеля активов исключительно на основе полученной прибыли. Это не совсем верно, ведь такой подход совсем не учитывает риск, который сопутствовал получению дохода. Сегодня мы погов...

[Перевод] Реализация алгоритма Минимакс на примере игры «Крестики-Нолики» Недавно я написал непобедимую игру «Крестики-Нолики». Это был интересный и поучительный проект, который многому меня научил. Если у вас есть желание посмотреть результат — это можно сделать здесь. Для того чтобы сделать игру непобедимой, было необходимо создать алгоритм, ...

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

Вывод информации об исключениях перед аварийным выходом Зачем и для чего Во время разработки не всегда всё бывает гладко. Бывают проблемы, которые не всплывают на тестах, а уже после релиза. Для таких случаев мы сделали небольшую систему отлова исключений и внутренних ошибок. Читать дальше →

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

Как соблюсти требования 152-ФЗ, защитить персональные данные своих клиентов и не наступить на наши грабли   По российским законам любая компания, работающая с личными данными своих пользователей в России, становится оператором ПДн, хочет она того или нет. Это накладывает на нее ряд формальных и процедурных обязательств, которые не каждый бизнес может или хочет нести самостоятель...

[Перевод] 5 самых старых нерешенных задач Математики о простых числах Математика была предметом, который веками бросал вызов величайшим умам в истории человечества. Пожалуй, одной из наиболее исследуемых областей Математики является изучение простых чисел. Наши размышления о закономерностях в простых числах привели к некоторым сложнейшим проб...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

[Из песочницы] Гроубокс как метод познания себя Приветствую тебя, читатель! Хочу поведать тебе историю о сборке небольшого, казалось бы очень простого гроубокса, о вхождение в мир микроконтроллеров, о пути, который был пройден маленькими шажками и о борьбе с собой. Хотел бы поведать именно свой опыт — с чувствами эмоциям...

Windows vs Sysmon На последней конференции ZeroNights, в ходе неформального общения со своими коллегами по цеху — инженерами систем мониторинга, нам был задан простой на первый взгляд вопрос — распространено мнение, что для полноценного мониторинга эндпоинта с ОС Windows необходимо использов...

Чем Galaxy S20 лучше OnePlus 8 В этом году нам уже показали целых четыре флагманских линейки смартфонов. Своими новыми устройствами нас порадовали Huawei, Honor, Samsung и OnePlus. Первые два мы сейчас рассматривать не будем, так как они не очень близки к нашей реальности из-за отсутствия сервисов Google...

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

Некоторые особенности HR-политики в ИТ-ориентированной рознице Привет! Меня зовут Катя, я занимаюсь автоматизацией HR-процессов «Леруа Мерлен» в России. Сразу скажу: сама я не пишу код, но участвую в каждом проекте. Хочу рассказать про некоторые особенности того, как это у нас устроено. Самый частый вопрос ко мне от новых разработчиков...

C# vs Kotlin Когда речь заходит о сахаре и модных фичах в языках программирования, среди первых вариантов в уме всплывают C# и Kotlin. Поскольку эти два языка занимают схожие ниши, то есть, строго типизированы, обладают сборкой мусора, кроссплатформенны, применяются как на бекенде, так и...

Смотрим любое кино мгновенно После ареста серверов Moonwalk жить стало в разы труднее. Лично я уже совсем отвык от торрентов. Нужно что-то качать, ждать, чем-то открывать, куда-то кликать, иногда еще и место на диске кончается. Как можно ждать час пока скачается фильм? За час можно жизнь прожить. Пришло...

[Из песочницы] RIPE Atlas Всем доброго времени суток! Свою дебютную статью на habr хочу посвятить весьма интересной теме – системе контроля качества сети Интернет RIPE Atlas. Частично поле моих интересов затрагивают вопросы исследования Интернета или киберпространства (термин стремительно набирает по...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

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

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

Максут Шадаев рассказал о планах по развитию доступности цифровых услуг для граждан Открывая заседание, председатель комитета Александр Хинштейн подчеркнул, что ключевая задача совместной работы комитета с министерством - реализация задач, поставленных Президентом РФ в Послании и облегчение взаимодействия граждан с властью.В своем выступлении министр подроб...

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

Где логика?! История тестирования одного микросервиса Эта статья — расшифровка доклада Дениса Кудряшова, QA-инженера Leroy Merlin, с конференции QA Meeting Point 2020. Денис рассказал, как столкнулся со сложной логикой, реализованной в сервисе, применил подход Control Flow Testing, и что из этого вышло. Из текста вы узнаете, мо...

[Перевод] Как описать архитектуру продукта по нотации C4 Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотри...

Сортировка выбором Всем привет. Эту статью я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. Введение Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с э...

Я не настолько богат, чтобы покупать Samsung Когда-то устройства Apple считались премиальными и слишком дорогими на фоне конкурентов. Однако всё меняется. Если посмотреть на то, что нам предлагают другие производители, можно понять, что особо-то флагманы Apple не отличаются от флагманов остальных производителей в вопр...

Шаговые двигатели (NEMA17). Греть или не греть? На тему рабочей температуры шагового двигателя в любительской среде сложилась поверье, которое гласит, что шаговые двигатели могут работать только при +80 oC, и что их нужно всячески охлаждать и т.д. Каюсь, тоже стал приверженцем этого обывательского мнения, пока не увидел п...

[Перевод] SRE: Анализ производительности. Способ настройки с использованием простого вебсервера на Go Анализ производительности и настройка — мощный инструмент проверки соответствия производительности для клиентов. Анализ производительности можно применять для проверки узких мест в программе, применяя научный подход при проверке экспериментов по настройке. Эта статья опреде...

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

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

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

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

[Перевод] Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%. С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью...

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

Сравнение камер iPhone SE 2 и iPhone 11 Pro Камера этого смартфона сегодня нам интереснее всего. На этой неделе первые покупатели начали получать iPhone SE второго поколения, который Apple показала неделей ранее. Мы уже составили первое впечатление и поделились им. Теперь мы продолжаем в нем разбираться, но говорить о...

IKEv2 туннель между MikroTik и StrongSwan: EAP ms-chapv2 и доступ к сайтам Идея статьи возникла желании пропускать определенные сайты через VPN-туннель напрямую через маршрутизатор. Так как количество устройств дома велико, а пускать весь трафик через VPN неудобно в связи с низкой пропускной способностью туннеля. Статья написана сразу после создани...

Алгоритм планирования задач на TypeScript. Теория графов наконец-то пригодилась В этой статье я хочу рассказать об алгоритме, который помогает ответить на извечный вопрос всех проектов: Когда проект будет закончен?Более формально проблема звучит так: "Проект состоит из задач, которые могут зависеть друг друга, а также могут иметь один и тех же испо...

5. Часто задаваемые вопросы по Check Point Maestro (FAQ) Мы опубликовали уже 4 статьи (1, 2, 3 и 4) по Check Point Maestro, где довольно подробно расписали предназначение и различные сценарии использования этого продукта. В связи с этим, нас довольно часто и много спрашивают по поводу данного решения. Большинство задает примерно...

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

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

Как разделить роли в проекте на Laravel: обзорное сравнение RBAC пакетов При разработке веб-проекта, в котором есть учетные записи пользователей, зачастую встает вопрос об организации системы ролей и прав для разграничения доступов к тем или иным разделам и функциям системы. В этой статье мы сравним пакеты для управления доступом и подведем итоги...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

Подключаем Sqlite3 к Telegram боту Для многих новичков в разработке ботов для Telegram возникает проблема - как подключить базу данных? Я сам столкнулся с такой проблемой в начале разработки. Тема оказалось довольно простой, но в интернете есть множество гайдов, которые могут запутать. В этом туториале я расс...

iGo3D техничка Дорогие друзья!Наша рубрика iGo3D техничка, в которой мы подробно рассказываем Вам о 3D-принтерах, их специфике, расходных материалах, комплектующих и т.д. пополнилась сразу двумя новыми видео-обзорами!Многие из пользователей 3D-принтеров Formlabs Form 3, которые получили св...

2. Fortinet Getting Started v 6.0. Архитектура решения Приветствую! Добро пожаловать на второй урок курса Fortinet Getting Started. Если вы еще не знакомы с курсом, советую посмотреть первый урок — в нем разъясняются основные цели и структура курса. Данный урок является чисто теоретическим, но в нем содержится множество полезн...

Разблокируем интернет с помощью Mikrotik и VPN: подробный туториал В этом пошаговом руководстве я расскажу, как настроить Mikrotik, чтобы запрещённые сайты автоматом открывались через этот VPN и вы могли избежать танцев с бубнами: один раз настроил и все работает. В качестве VPN я выбрал SoftEther: он настолько же прост в настройке как и ...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

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

Как передать файлы с Android на iPhone и обратно Нас часто спрашивают, как передать файлы с Android на iPhone или с iPhone на Android. Такой вопрос вполне понятен, так как разные операционные системы имеют между собой мало точек соприкосновения, и поэтому передача файлов превращается в пляску с бубнами. Проблема еще в том...

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

[Перевод] Loki — сбор логов, используя подход Prometheus Салют, хабровчане! В преддверии старта нового набора на курс «DevOps практики и инструменты» подготовили для вас перевод интересного материала. Эта статья — краткое введение в Loki. Проект Loki поддерживается Grafana и направлен на централизованный сбор логов (с серверов ил...

Сможет ли iPhone 9 стать конкурентом Android-смартфонам? Сможет ли iPhone 9 составить конкуренцию смартфонам на базе Android? Окей, многие посчитают, что в этом материале будет необъективное осуждение компании Apple за то, каким будет новый iPhone 9, но нет. Я постараюсь дать объективную оценку и рассмотреть все плюсы и минусы нов...

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

[Перевод] Иерархический буфер глубин Краткий обзор Иерархический буфер глубин — это многоуровневый буфер глуби (Z-буфер), используемый как ускоряющая структура (acceleration structure) для запросов глубин. Как и в случае mip-цепочек текстур, размеры каждого уровня обычно являются результатами деления на степен...

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

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

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

Functional FizzBuzz на Scala FizzBuzz это известная задачка, шутливо или не очень задаваемая на собеседованиях, существует множество вариантов реализации даже для такой простой игры. Существует даже шедевры вроде FizzBuzzEnterpriseEdition. Предлагаю вашему вниманию еще один вариант, не совсем пятничный,...

Что такое OpenVINO? Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, каф...

Team Group T-Force Xtreem ARGB в уникальном дизайне В последнее время производителям компьютерного железа довольно трудно хоть как-то удивить своего потенциального покупателя, ведь практически все технологии уже использованы и проверены, буквально каждый дизайн уже мы видели. Однако есть на рынке еще те производители, которые...

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

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

Самые дешёвые смартфоны с хорошими камерами Дешёвые смартфоны с хорошими камерами Сложно найти смартфон, который при низкой стоимости может предлагать хорошее качество фото и видео. Хорошими камерами, как правило, оснащают лишь дорогие флагманские модели стоимостью в 60-70 тысяч рублей. Однако давайте попытаемся иссле...

Интернет-магазины предлагают заплатить 712 долларов за неанонсированный флагман Huawei P40 Pro Как стало известно, буквально сегодня множество различных китайских интернет-магазинов начали предлагать к приобретению еще неанонсированный флагман Huawei — Huawei P40 Pro. Цена вопроса составляет 712 долларов.

Рябит Google Chrome на Mac. Как исправить Google Chrome, невзирая на множество недостатков, по-прежнему остаётся самым популярным браузером не только на Windows и Android, но и на macOS. Опыт показывает, что многие владельцы компьютеров Mac предпочитают использовать именно браузер от Google, нежели Safari, хотя пос...

[Перевод] Три способа создания клякс с помощью CSS и SVG Кляксы (Blob) - это гладкие, аморфные, желеобразные формы, обычно  причудливые и забавные. Их можно использовать в качестве элементов иллюстраций и фоновых эффектов в сети.Итак, как же они устроены? Разумеется, можно открыть какой-то графический редактор и сделайте их, ...

Новости CLion: релиз 2020.1, пятилетие IDE и онлайн-сессия вопросов и ответов Привет, Хабр! Столько всего хочется сегодня рассказать, что даже сложно выбрать, с чего начать. Так что сначала попробую коротко обо всем самом важном: Продукту CLion вчера исполнилось 5 лет! В честь праздника мы смонтировали небольшую видеоисторию, своеобразное воспомина...

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

2019 год стал лучшим для рынка смартфонов. И вот почему Чем в 2019 году порадовали нас производители смартфонов? 2019 год можно с уверенностью называть самым интересным. Я слежу за рынком с 2011 года, поэтому в своей правоте даже не сомневаюсь. 2013 год до недавнего времени казался мне самым запоминающимся, благодаря Moto X и One...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

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

Почему на телефоне не получается смотреть животных в 3D от Google Помните свой первый AR? Это был совершенно новый опыт. Даже если это было что-то невнятное в плохом качестве, оно все равно было вписано в реальный мир. Это действительно было интересно и необычно. Сейчас мы уже немного привыкли к этому, но все равно всегда рады поиграться ...

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления ан...

Митап по продажам. Формат стендап Технологии успешных продаж-2020. Хотите узнать о горячих трендах в продажах, познакомиться с кейсами и услышать лайфхаки от экспертов — приходите на митап в МТС Университет 11 декабря. Что вас ждет только полезные знания&n...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

Google о предстоящих изменениях в обработке nofollow Google ответил на вопросы специалистов отрасли касательно предстоящих изменений в обработке ссылочного атрибута nofollow при сканировании и индексировании. Как сообщалось ранее, с 1 марта Google начнёт учитывать nofollow в этих процессах как подсказку. Данный подход уже испо...

Расшифровка CAN шины на VW Polo sedan Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе. В статье описаны методики поиска нужных данных в CAN шине автомобиля...

Qt? ImGUI? wxWidgets? Пишем свое Привет, хабровчане! Хочу рассказать о своей системе UI, которую я написал для своего игрового движка, на которой делаю редактор для него же. Читать далее

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Город и данные: анализ пешеходной доступности объектов в Праге с помощью data science Несколько лет назад компания Veeam открыла R&D центр в Праге. Изначально у нас был небольшой офис примерно на 40 человек, но компания активно растет, и сейчас, в новом просторном офисе Rustonka нас уже больше двухсот. Veeam нанимает сотрудников не только из Чехии и Евро...

Эффективное использование ClickHouse. Алексей Миловидов (Яндекс) Так как ClickHouse является специализированной системой, при его использовании важно учитывать особенности его архитектуры. В этом докладе Алексей расскажет о примерах типичных ошибок при использовании ClickHouse, которые могут привести к неэффективной работе. На примерах и...

Лучше уж взять «Весту»: Почему не стоит покупать Volkswagen Touareg первого поколения? Часто удовольствие от покупки подержанного престижного кроссовера сменяется таким разочарованием, что невольно задумываешься: «А может стоило взять Vesta?» Одна из главных проблем автомобиля — электроника. Touareg — пионер электрификации всего, что есть в машине. Из-за этог...

Влияют ли 120 Гц на время работы Galaxy S20 Ultra? 11 февраля Samsung представила новую флагманскую линейку. 13 марта стартуют продажи Galaxy S20, S20+ и S20 Ultra на территории России. Уже сейчас смартфоны можно предзаказать на официальном сайте. Самая дешевая модификация S20 обойдется пользователям в 70 тысяч рублей и уже...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

Инкапсулятор Etherblade.net и импортозамещение сетевых компонентов (часть вторая) В первой статье я хотел показать, что FPGA девелопмент — интереснейшее занятие, а реализация потокового инкапсулятора является достаточно несложным проектом, который вполне мог бы выступить в качестве академического проекта для студентов старших курсов или аспирантуры. Да...

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

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

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

«Есть тема!»: 7 шагов, которые помогут вам дружить с медиа Почему массовые рассылки не работают, а длинные пресс-релизы журналисты и вовсе не читают? Как найти подход к конкретной редакции, обращаться к ней с интересным и полезным контентом и выстраивать доверительные взаимоотношения с журналистами? Об этом 22 мая на вебинаре расс...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

Почему iPhone SE это ночной кошмар Google Pixel 4a iPhone SE только вышел, но уже наделал немало шума среди любителей технологий в целом и смартфонов в частности. С другой стороны, Google Pixel 4a еще даже не вышел, но он тоже уже во всю шипит в информационном поле, как готовая к связи рация. Смысл этих смартфонов в том, чт...

В Redmi K20 Pro можно программно изменить частоту обновления экрана Еще в 2017 году появился некий игровой смартфон Razer, одной из фишек которого была повышенная частота обновления экрана с 90 до 120 Гц. К сожалению, его попытка выйти на рынок мобильных устройств была не очень удачной, но эта идея не осталась незамеченной. Теперь в игровых ...

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

Простыми словами о Programmatic Меня часто спрашивают, что же такое программатик, и чем он отличается от других digital-инструментов. Решил написать небольшую статью, чтобы закрыть все базовые вопросы по этой теме. Приступим! Автор картинки Karolis Strautnieka Читать дальше →

20 вопросов из телеигры «Слабое звено» для проверки кругозора В чьей голове всего одна извилина, и та прямая? Кого следует немедленно отчислить? Проверьте, получится ли у вас ответить на вопросы из известной передачи.

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

Какого цвета слово? Раздражающая игра, от которой не оторваться! Способность мозга быстро переключаться с одной задачи на другую и обдумывать множество вещей одновременно называется когнитивной гибкостью. Её можно и нужно тренировать. Один из способов — тест Струпа. Выбирайте цвета, которыми написаны слова, а на их значение не обращайте в...

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

Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana В данной статье рассмотрен пример работы с метриками. В начале, настройка приложения для поставки метрик. Настройка Prometheus для сбора и хранения метрик. Настройка Grafana для отображения собранных метрик. Читать далее

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

Учим AI Dungeon говорить по-русски Недавно ребята из сбер(-банка) анонсировали и выложили в свободный доступ свою модель gpt-3 и я понял, что можно наконец то реализовать свою давнюю мечту - сделать AI dungeon для русского языка. Данная игра сильно выстрелила в прошлом году, про нее было написано множество ст...

Это обновление обязательно для установки. Новейшие беспроводные наушники Xiaomi стали работать еще лучше Компания Xiaomi около месяца назад анонсировала новые полностью беспроводные наушники Xiaomi Mi Air 2S TWS, которые характеризуются выдающимся временем работы без подзарядки. Теперь же эти наушники получили первое обновление программного обеспечения с множеством исправл...

[Перевод] Анализ библиотеки ИИ ботов из Quake 3 Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры дви...

Intel откровенно рассказывает сказки, сравнивания свои процессоры с CPU AMD Ryzen Ранее в этом году появилась информация, что Intel намерена изменить стратегию борьбы с AMD на поприще маркетинга. Суть идеи компании в том, чтобы избегать сравнения в приложениях, которые хорошо задействуют большое количество ядер в CPU, делая акцент на «реальных ...

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

Создаем ячейки в iOS В этой статье мы поговорим про систему ячеек в iOS. Обсудим, какие ячейки бывают в iOS, посмотрим на ячейки в дизайн-системе hh.ru и их реализацию в коде и попробуем собрать свою ячейку. Читать далее

Как работать из дома. Чек-лист удаленщика В интернете огромное количество заметок на тему удаленной работы, с лаконичным обзором минусов, плюсов и известными советами, как вытащить себя из рутины, начиная с «Первым делом снимите пижаму». В блоге Surf мы уже затрагивали эту тему в статье моей коллеги, которая поделил...

Гэри Илш решил запустить голосовой чат для разговоров на тему поиска Сотрудник Google Гэри Илш написал в Twitter, что хочет запустить голосовой чат в Hangouts для разговоров на тему поиска. Из-за ситуации вокруг коронавируса Илш временно не ездит по SEO-конференциям и ему не хватает этого общения. Поэтому он решил запустить аудиочат, чтобы об...

Еще одни часы на wemos d1 mini и светодиодной матрице При утренней суете вызванной сборами на работу, в школу, универ и т.п. у многих людей существует  необходимость всегда иметь перед глазами текущее время. Я тоже отношусь к их числу. В связи с чем было принято решение сделать часы с достаточно большими цифрами. Для изготовлен...

Почему я решил купить новый MacBook Air 2017 года Компьютеры Mac никогда нельзя было назвать дешевыми, а после подорожания почти в два раза несколько лет назад устройства вовсе стали недоступны для многих потенциальных покупателей. Новый MacBook Pro 16, который Apple представила прошлой осенью, тоже не является исключением...

Пусть хоть потоп, но 1С должна работать! Договариваемся с бизнесом о DR Представьте себе: вы обслуживаете ИТ-инфраструктуру крупного торгового центра. В городе начинается ливень. Потоки дождя прорывают крышу, вода заполняет торговые помещения по щиколотку. Надеемся, что ваша серверная не в подвале, иначе проблем не избежать.   Описанная история...

MS Remote Desktop Gateway, HAProxy и перебор пароля Друзья, привет! Существует множество способов подключения из дома к рабочему месту в офисе. Один из них — это использовать Microsoft Remote Desktop Gateway. Это RDP поверх HTTP. Я не хочу здесь затрагивать настройку самого RDGW, не хочу рассуждать, почему он хорош или плох,...

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

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

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

Hello world Всем привет!Могу всех поздравить, в Вашу команду вступил еще один идеалист прагматик.Ну и как полагается, раз вошел в коллектив, то нужно о себе заявить.Во мне долго боролись взрослый и ребенок, но ребенок победил, чему способствовали скидки на Ali, видимо во время Новогодни...

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

Почему появились асинхронные веб-сервера? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

Huawei P40 Pro на очень качественном изображении Итак, судя по всему, смартфоны Huawei P40 и P40 Pro начинают обретать законченные очертания. За последние дни было много утечек и они отличались в деталях. Но теперь много сошлось воедино. Итак, для начала давайте посмотрим на вчерашний рендер Huawei P40. А вот это све...

Запускаем тесты на GitLab Runner с werf — на примере SonarQube Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD: непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks; «снаружи»...

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

Как Samsung удалось реализовать 100х приближение камеры? На что способна перископная камера Samsung Galaxy S20 Ultra? Вчера на презентации Galaxy Unpacked 2020 компания Samsung представила новое поколение флагманов Galaxy S20, Galaxy S20+ и Galaxy S20 Ultra. Самый технологичный S20 Ultra получил камеру со 100x-приближением Space Z...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Яндекс.Практикуме. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это ...

Разгоняем портал ДО на основе Moodle (решение проблем узких мест) В последнее время все острее встает вопрос об обучении онлайн, во время пандемии, так и в связи с переходом в онлайн всего и вся. На сайте Хабр есть материалы по установке базовой системы на основе moodle. В данной заметке хотелось бы поделиться некоторым опытом настройки с...

Обзор полнолицевой маски UNIX 5100, фильтров к ней, сравнение с моделями UNIX 5000, 6100 и маской ППМ-88 Продолжая серию статей, начавшуюся с обзора респираторов, решил написать про более серьезную защиту для органов дыхания — полнолицевую маску (противогаз) UNIX 5100 и фильтры к ней, а также сравнить ее с младшей и старшей моделями этого же производителя — масками UNIX 5000 и...

[Перевод] Swift Property Wrappers Если вы использовали SwiftUI, то наверняка обращали внимание на такие ключевые слова, как @ObservedObject, @EnvironmentObject, @FetchRequest и так далее. Property Wrappers (далее «обёртки свойств») — новая возможность языка Swift 5.1. Эта статья поможет вам понять, откуда же...

Когда компьютерные игры — твоя работа: внутреннее устройство облачного гейминга О том, как работают игровые компании, на Хабре писали не раз и не два. Нюансы индустрии гейминга известны многим. Но о том, как организована работа в компаниях из сферы облачного гейминга, мало кто знает. Эта статья даст представление о внутренней кухне этой индустрии на ...

Взломать самолет – 3 Задача моей предыдущей статьи “Можно ли взломать самолёт — 2” была показать, как быстро развиваются технологии SDR и какую опасность это влечет для кибербезопасности, на примере самолетов. Комментарии побудили меня посмотреть иностранную аналитику, нагуглить реальные инциден...

[Перевод] Дружим ORDER BY с индексами Привет, Хабр! Я потихоньку перевожу статьи Маркуса Винанда из блога use the index luke. Первой статьей в цикле был манифест Маркуса о важности использования безофсетной пагинации на ключах. Мы рассмотрели всего один пример, как этот подход работает на практике. В этой и сле...

[Из песочницы] Простейший тренажер английских слов с использованием Питона и Балаболки Существует большое количество различных методик изучения иностранных языков вообще и английского в частности. Но какая бы методика ни была, учить слова все равно надо. Для этих целей есть очень много различных тренажеров с выбором слов для изучения. Тем не менее, их возмож...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

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

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

Бытовые лайфхаки: 105 способов использования привычных вещей Кроме скотча, есть ещё несколько универсальных средств, которые решают множество бытовых проблем. Способы их использования не всегда очевидны. Мы представляем пять продуктов, которые пригодятся вам дома, и предлагаем варианты их применения.

Аутенти(фи?)кация Некоторые термины, заимствуемые из английского, входят в русский язык с нарушением всех языковых правил. Характерный пример из 90-х — слово флуд, непохожее ни на транскрипцию [flʌd], ни на транслитерацию flood. Более свежий пример — биткоин: окончание -оин характерно для хим...

Поиск уязвимостей в Samsung TrustZone, или AFL зафаззит все С течением времени появляется все больше новых защитных технологий, из-за которых хакерам приходится все туже затягивать пояса. Хотя это не совсем так. Защитные технологии также всегда вносят дополнительную поверхность атаки, и чтобы их обходить, надо только задействовать у...

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

План начинающего тестера: от “Войти в IT” до “Я — Инженер!” Всем привет! Меня зовут Валентин и я работаю инженером по тестированию в компании Exness. Очень часто слышу вопрос о том, насколько сейчас возможно стать тестировщиком программного обеспечения. В этой статье я постараюсь ответить на данный вопрос. Читать дальше →

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)