Социальные сети Рунета
Воскресенье, 17 октября 2021

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

Принимаем 10 000 ивентов в Яндекс.Облаке. Часть 2 И снова здравствуйте! Продолжаем нашу серию статей про то, как мы щупали Яндекс.Облако. Давайте вспомним план, по которому мы с вами двигаемся: 1 часть. Мы определились с ТЗ и архитектурой решения, написали приложение на golang. 2 часть (вы сейчас здесь). Выливаем наше при...

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

Тестирование генератора исходного кода В прошлом году обновление .Net принесло фичу: генераторы исходного кода. Мне стало интересно что это такое и я решил написать генератор моков, чтоб на вход брал интерфейс или абстрактный класс и выдавал моки, которые можно использовать в тестировании с aot компиляторами. По...

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

Идеальный SAST. Тестируем парсеры Пока индексируется github (спасибо лимиту в 5000 запросов в час), поговорим пока о тестировании парсеров. Обсудим пожелания к процессу разработки грамматик, их тестирования и контроля качества так, что бы не превращаться в существо на картинке. Ждать дальше

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

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

[Перевод] Пишем babel плагин, пошаговое руководство Сегодня я поделюсь с вами пошаговым руководством как написать свой babel плагин. Вы сможете использовать эти знания для автоматизации правок, рефакторинга или кодогенерации. Читать дальше →

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

Wrike TechClub: Delivery infrastructure – processes and tools (DevOps+QAA). Доклады на английском Привет, Хабр! Мы в Wrike тестируем новые форматы технических мероприятий и приглашаем всех посмотреть видео нашего первого онлайн-митапа на английском. Поговорили про DevOps инфраструктуру для тестирования веб-приложений, кубы, Selenium и его альтернативы. Читать дальше &r...

Wrike онлайн-митап: Delivery infrastructure: processes and tools (DevOps+QAA) Привет, Хабр! Мы в Wrike тестируем новые форматы технических мероприятий и приглашаем всех присоединиться к нашему первому онлайн-митапу на английском. Поговорми про DevOps инфраструктуру для тестирования веб-приложений, кубы, альтернативы Selenoid и возможности TeamCity из...

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

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

[Перевод] «Давайте использовать Kubernetes!»: как получить 8 проблем Это перевод вводной статьи об использовании Kubernetes: «Let’s use Kubernetes!» Now you have 8 problems Если вы используете Docker, то следующим логичным шагом будет Kubernetes, известный как K8s. Именно так вы обеспечиваете эксплуатацию своих продуктов, верно? Ну, возможн...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

[Перевод] Нагрузочное тестирование на Gatling — Полное руководство. Часть 1 Эта статья представляет собой полное, подробное и исчерпывающее руководство по эффективному использованию Gatling для нагрузочного тестирования. Если вам нужно провести нагрузочное тестирование вашего сервера HTTP-приложений, то Gatling - идеальный инструмент для этой задачи...

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

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

Шифрование TLS-трафика по алгоритмам ГОСТ-2012 c Stunnel В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0. Но для начала давайте вооб...

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

[Перевод] Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure. Продолжение В моём предыдущем материале речь шла о сравнении производительности ASP.NET Core-приложений, запускаемых в Windows и в среде Linux + Docker, работающих в службе приложений Azure. Эта тема интересна многим — поэтому я решил написать продолжение. Я снова провёл испытания, и...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

Что ещё приготовила DxOMark? 5 ноября состоится большой анонс Пару недель назад в лаборатории DxOMark объявили об очередных изменениях в подходе к тестированию камер смартфонов, в связи с чем ранее выставленные оценки были пересмотрены и составлен новый рейтинг. Ранее специалисты DxOMark заявили, что теперь они проводят тесты каче...

Сколько стоит сделать ролик об игре своими силами Предположим, у вас есть игра и команда, которая её разрабатывает. Вам нужен ролик о своей игре и вы пока не решили, делать его своими силами или отдать на аутсорс. Давайте посмотрим, как может сложиться ситуация, если вы выберете первое: создать ролик самостоятельно. Из э...

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

[Из песочницы] Todolist на React Hooks + TypeScript: от сборки до тестирования Начиная с версии 16.9, в библиотеке React JS доступен новый функционал — хуки. Они дают возможность использовать состояние и другие функции React, освобождая от необходимости писать класс. Использование функциональных компонентов совместно с хуками позволяет разработать полн...

Использовать ПО «Р7-Офис» начал судостроительный завод «Северная верфь» О внедрении «Р7-Офис» – офисного программного обеспечения отечественного разработчика – сообщило «ПАО СЗ «Северная верфь» (входит в состав АО ОСК). Руководством завода решение о приобретении лицензий было принято после 14-дневного тестирования пяти офисных приложений. Специа...

Использование Intel Processor Trace для трассировки кода System Management Mode Эта статья посвящена тестированию возможности использования технологии Intel Processor Trace (Intel PT) для записи трассы в System Management Mode (SMM) режиме. Работа была выполнена в рамках Summer Of Hack 2019. Автор работы: @sysenter_eip. Большинство использованных инст...

[Перевод] Подробности об использовании CSS-функции minmax() в Grid-макетах Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-фун...

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

[Из песочницы] Как я «спрыгнул» с платформы ЭВОТОР, почему и чего это стоило Очень давно (более 20 лет назад) я написал учетную систему на базе 1С версии 7.7 для небольшой розничной сети из 30 магазинов. В течении этих лет потихоньку ее поддерживал. Руководство компании звезд с неба не хватает, особых пожеланий не имеет и вообщем все шло хорошо, пока...

Тестируем VMware SD-WAN Ранее в нашем блоге на Хабре мы уже разбирали, из чего состоит и как работает VMware SD-WAN. Пришло время проверить его в деле! Сегодня мы посмотрим, насколько эффективно SD-WAN помогает сохранить требуемую производительность приложений при деградации каналов связи и даже ...

Пространственная осведомленность: что могут очки Hololens? Сегодня мы совершим прыжок в область Spatial Awareness с помощью очков Hololens от Microsoft и поговорим о развитии Windows Mixed Reality (WMR), а также о том, чего стоит ожидать от второго поколения. Статья рассчитана на тех, кто занимается разработкой под Hololens с испо...

Не дай теплу пропасть: как и для чего дата-центры используют «мусорное» тепло Оборудование, установленное в дата-центрах, выделяет большое количество тепла, которое нужно куда-то отводить. Способов сделать это немало. Чаще всего тепловая энергия просто «выбрасывается», ее никак не используют. При этом дата-центры, по разным данным, потребляют 3-5% о...

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

[Перевод] Обучение и оценка модели с Keras Это руководство охватывает обучение, оценку и прогнозирование (выводы) моделей в TensorFlow 2.0 в двух общих ситуациях: При использовании встроенных API для обучения и валидации (таких как model.fit(), model.evaluate(), model.predict()). Этому посвящен раздел «Использова...

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

[Из песочницы] Apache Kafka и тестирование с Kafka Server Введение Существуют различные способы для написания тестов с использованием Apache Kafka. К примеру, можно использовать TestContainers и EmbeddedKafka. Об этом можно почитать, к примеру, вот здесь: Подводные камни тестирования Kafka Streams. Но существует и вариант для напис...

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

[Перевод] Профессионально обрабатываем исключения в Python Одним из недостатков гибких языков, таких как Python, является предположение, что если что-то работает, то скорее всего оно сделано правильно. Я хочу написать скромное руководство по эффективному использованию исключений в Python, правильной их обработке и логировании. Читат...

[Перевод] Дорогой Google Cloud, отказ от обратной совместимости тебя убивает Чёрт возьми, Google, я не хотел снова писать в блог. У меня так много дел. Ведение блога требует времени, энергии и креатива, которые я мог бы использовать с пользой: мои книги, музыка, моя игра и так далее. Но ты меня достаточно разозлил, и придётся это написать. Так что д...

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

Управляемое тестирование: с чего мы начинаем, чтобы не было мучительно больно Привет, Хабр! В поисках формата для рассказа о практиках тестирования я обратилась к гуглу с запросами “с чего начинать тестирование ПО” и “как подготовиться к тестированию ПО”. И нашла статьи о том, что нужно уточнять требования, применять техники и т. д. Хм… А что, если ...

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

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

[Перевод] Практическое руководство по HashiCorp Consul — Часть 1 Это часть 1 из серии 2 частей практического руководства по HashiCorp Consul. Эта часть в первую очередь ориентирована на понимание проблем, которые решает Consul и как он их решает. Вторая часть больше ориентирована на практическое применение Consul в реальном примере и буд...

JS и его запретные тайны Так вышло, что наша компания искала разработчиков. В работе мы используем стандартный набор веб-технологий: HTML, CSS, Javascript, PHP, SQL. Во время проведения собеседований я был не то чтобы расстроен, а скорее обескуражен. Вопросы, на которые не могли ответить кандидаты, ...

Property-based тестирование с QuickCheck Автор статьи: klntsky Что такое Property-Based Testing? Property-based testing (PBT) — подход к тестированию ПО, подразумевающий автоматическую проверку свойств функций (предикатов), специфицируемых программистом-тестировщиком. Для проверки, т.е. поиска контрпримеров, испо...

Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и ре...

[Перевод] Как QA-команда GitLab использует GitLab Performance Tool Перевод статьи подготовлен в преддверии старта курса «DevOps практики и инструменты». Мы запустили ряд инициатив по улучшению производительности GitLab и нам нужен был новый инструмент для бенчмарков. Тестирование производительности — это сложный процесс, отличающийся от...

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

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

[Перевод] NULL Мне очень нравится  ломать что-то, связанное с компьютерами. Хотя я и не QA-специалист, и не профессионал, работающий в сфере безопасности, я развил в себе способность делать «глупости», которые заставляют программы давать сбои. Некоторые мои друзья-разработчики жалели о том...

[Перевод] Практическое руководство по HashiCorp Consul — Часть 2 Это вторая часть из 2 частей Практического руководства по HashiCorp Consul. Предыдущая часть была в первую очередь сосредоточена на понимании проблем, которые решает Consul, и на том, как он их решает. Эта часть посвящена практическому применению Consul на примере реальной ...

[Перевод] Решение Fizzbuzz при помощи теоремы Эйлера FizzBuzz — это известная задачка на программирование, которую обычно дают в технической части собеседований. Она формулируется примерно так: Напишите функцию, выводящую список целых чисел от 1 до 100, но вместо каждого числа, кратного 3, она должна выводить «Fizz», а вмест...

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

Тестируем СХД OceanStor Dorado V6: Hyper и Smart Привет, меня зовут Павел. Я работаю ведущим системным инженером группы внедрения в департаменте вычислительных систем компании STEP LOGIC. В этом посте я поделюсь своими наблюдениями о флеш-системе хранения данных Huawei OceanStor Dorado V6, которую мы тестировали в «полях»...

[Перевод] 10 инструментов для повышения продуктивности React-девелоперов в 2020 году Давайте обсудим несколько отличных инструментов, которые повышают продуктивность разработчиков React и улучшают качество работы. Обычно, когда я начинаю новый проект, то использую собственный шаблон для тех инструментов, которые добавил в этот список. Также я работаю и с ...

[Перевод] CSS и множественный фон CSS-свойство background — это одно из самых часто используемых свойств. Но сообщество веб-разработчиков пока не слишком хорошо осведомлено о возможностях, которые даёт использование множественного фона. Здесь я собираюсь серьёзно поговорить о том, что может дать применение м...

[Перевод] Подсчет запросов: Базовое тестирование производительности на Django Всем привет. Мы подготовили перевод еще одного полезного материала для студентов курса «Web-разработчик на Python», который стартовал вчера. Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестиро...

Сторис из Instagram можно будет смотреть в приложении Facebook Граница между платформами Instagram и Facebook продолжает постепенно размываться. По сообщениям сетевых источников, разработчики приступили к тестированию новой функции, которая позволит пользователям просматривать сторис (Stories) из Instagram в основном приложении социальн...

Зональное хранение данных Недавно компания Western Digital объявила об инициативе по зональному хранению данных — инициативе, ориентированной на открытую инфраструктуру данных, предназначенную для использования преимуществ зональных устройств хранения данных. Zoned Storage — это новая парадигма хра...

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

Стоит ли платить за плагины OpenCart? У нас обновление в маркетплейсе: теперь вы можете заказать VPS-сервер с предустановленным OpenCart. Вместо того, чтобы рассказывать, что такое OpenCart, давайте лучше порассуждаем о расширениях: в каком случае стоит покупать готовое, как их проверять? Мы подготовили крат...

У нас появился новый образ в маркетплейсе: VPS с Joomla 3.9 на Centos 8 Joomla — третья по популярности (после Wordpress и Shopify) система управления контентом, написанная на языке PHP и использующая в качестве хранилища данных реляционные базы данных. Как и многие другие CMS, Joomla полностью бесплатна для использования и имеет открытый код...

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

[Перевод] 5 шагов к быстрым веб-шрифтам Настройте файлы шрифтов и оптимизируйте стратегию загрузки для максимальной скорости + минимум FOUT В предыдущем посте я писал о системных шрифтах и ​​их преимуществах перед веб-шрифтами. Я поддерживал подход «сначала системные шрифты», утверждая, что по сравнению с сист...

Консорциум OWASP обновил Web Security Testing Guide Проект «Руководство по тестированию веб-безопасности» (Web Security Testing Guide — WSTG) является основной методологией тестирования безопасности для разработчиков веб-приложений и специалистов по информационной безопасности и разрабатывается международным консорциумом OW...

[Перевод] Микросервисы на Java: практическое руководство Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов. Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. До...

[Перевод] Анатомия моего домашнего кластера Kubernetes Год назад я понял, что хочу создать собственный кластер Kubernetes. Я — разработчик программного обеспечения. Обычно я либо использую локальный кластер, состоящий из одного узла, либо применяю удалённый многоузловой кластер для тестирования своих проектов. В случае работы с ...

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

Эффективное тестирование верстки Тестировать полезно. Тесты позволяют в автоматическом режиме безопасно рефакторить код и гарантируют его работу. Тесты – это живая документация: если информация в Wiki или в Confluence может устареть, то тесты всегда актуальны. Также многие крутые практики связаны с тестиров...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

[Перевод] Грибы как строительный материал Биотехнологи из лаборатории Технического университета Берлина тестируют использование грибов в качестве материала сразу для нескольких промышленных отраслей. Грибы заинтересовали исследователей тем, что способны вырасти и принять любую заданную форму, при этом после использо...

Описание инфраструктуры в Terraform на будущее. Антон Бабенко (2018г) Многие знают и используют Terraform в повседневной работе, но для него до сих пор не сформировались лучшие практики. Каждой команде приходится изобретать свои подходы, методы. Ваша инфраструктура почти наверняка начинается просто: несколько ресурсов + несколько разработчико...

Espressif IoT Development Framework: 71 выстрел в ногу Один из наших читателей обратил наше внимание на Espressif IoT Development Framework. Он нашёл ошибку в коде проекта и поинтересовался, смог бы её найти статический анализатор PVS-Studio. Именно эту ошибку анализатор пока найти не может, зато нашёл множество других. По моти...

[Перевод] Федеральная комиссия по связи США про V2V, V2I и V2X Уже много лет назревает битва за полосу радиочастотного спектра, которая была выделена 20 лет назад для коммуникаций в транспортных средствах, в частности для передачи информации между самими транспортными средствами (vehicle-to-vehicle) и связи между транспортными средств...

Хроники подопытного кролика: как тестируют вакцину от SARS-CoV-2 TLDR: я поучаствовал в тестировании вакцины от коронавируса, и теперь рассказываю, как это происходит, перемежая историю с подробностями из жизни вирусов. Тестировал я не российскую вакцину, которая Спутник-V, а китайскую Ad5-nCoV. Глобальный принцип у них один и тот же — ве...

[Из песочницы] Расширенная настройка web сервера (Apache2 + Nginx) В этом руководстве мы рассмотрим процедуру установки и настройки работы двух web-серверов с целью использования преимуществ каждого из них, руководство подразумевает как отдельное настраивание, так и взаимное. В этой статье будет идти речь о настройки сервера с использование...

[Перевод] Руководство по инструментарию управления Windows (WMI): основные сведения о WMI-атаках Инструментарий управления Windows (WMI) — это подсистема PowerShell, которая обеспечивает администраторам доступ к мощным инструментам системного мониторинга. Этот инструментарий задумывался как быстрое и эффективное средство системного администрирования, однако далеко не ...

Как тестировать код, содержащий setTimeout/setInterval под капотом Мы, разработчики, очень любим юнит-тесты, полезность которых очевидна. И чтобы эти тесты действительно были полезными, а не приносили боль, необходимо обеспечивать их стабильность. Наша компания разрабатывает интерфейсный фреймворк "Wasaby" и продает построенные на...

Бесплатные образовательные курсы: тестирование Ошибки и баги могут возникнуть в любых программах, поэтому тестировщиков нанимают многие крупные компании, которые разрабатывают программное обеспечение. А еще — небольшие фирмы, которые предоставляют услуги тестирования на аутсорс. Сегодня мы публикуем подборку из 14 бесп...

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

[Перевод] Руководство по Node.js для начинающих. Часть 1 Доброго времени суток, друзья! Представляю Вашему вниманию перевод этого руководства по Node.js. Введение в Node.js Node.js — это открытая и кроссплатформенная среда выполнения JavaScript. Это отличное решение почти для любого проекта. Node.js запускает «движок» Java...

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

[Перевод] Букварь по F# для любопытствующих C#-разработчиков Предисловие Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор вид...

Заметка о перебираемых объектах Доброго времени суток, друзья! Данная заметка не имеет особой практической ценности. С другой стороны, в ней исследуется некоторые «пограничные» возможности JavaScript, которые могут показаться вам интересными. Руководство по стилю JavaScript от Goggle советует отдавать ...

[Перевод] 4 технических решения, которые делают API сервис успешным Есть API, которые в целом «как-то работают», но имеют проблемы с безопасностью, документацией или валидацией данных. Автор статьи объясняет, почему в современных реалиях это недопустимо, и даёт рекомендации по исправлению недостатков.   API — это программный интерфейс взаим...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

[Из песочницы] Mind Map в тестировании — или легкий способ тестировать сложные приложения Вы тоже задаетесь вопросами: С чего начать тестирование? Как ничего не забыть? Как не запутаться в сложном функционале? Ответом может стать подход декомпозиции продукта путем составления Mind Map. Что это? Mind Map или интеллект карта — это инструмент для визуального ото...

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

[Перевод] Как заставить руководство проникнуться техническим долгом «Руководство не даёт мне заняться рефакторингом legacy-кода!» Знакомая ситуация? Раздражает жутко. Большинство разработчиков рано или поздно сталкивается лбами с менеджером, который совершенно не заинтересован в том, чтобы совершенствовать уже готовое. То нужно реализовать ...

Новый инструмент для Повелителей Хаоса: AWS Fault Injection Simulator AWS Fault Injection Simulator (FIS) — инструмент, который позволит реализовывать заранее известные сценарии внутреннего сбоя системы внутри сервисов AWS. Зачем? — чтобы команды смогли отработать сценарии их ликвидации и в целом оценить поведение своего продукта в предложен...

[Перевод] Лучшие стратегии разработки фронтенда в 2022 году Эта статья специально написана так, чтобы ставить перед читателями неоднозначные задачи, вызывать у них противоречивые чувства и давать им пищу для размышлений. Речь здесь пойдёт о множестве свежих идей, о которых вы, вероятнее всего, пока не слышали. Я сделаю всё, что в мо...

[Перевод] Детальный обзор Well-known Symbols Доброго времени суток, друзья! Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName'). Вы можете использовать символы в качестве ключей для свойств объек...

[Перевод] Как подготовиться к интервью в YCombinator Когда я готовился к интервью зимнего класса 2018 года, я пересмотрел все доступные источники по теме и провел около 20 практических интервью с выпускниками YCombinator. Ниже собрано воедино все, что я узнал. Это руководство – моё личное видение, и оно не представляет официал...

Чему я научился, написав библиотеку компонентов на Svelte Попробовав Svelte в личных проектах, мне захотелось двигаться дальше, и взять фреймворк в проект побольше. Для этого написал библиотеку компонентов svelte-atoms. За основу я взял UI кит на React, который используем на работе. Каким приемам Svelte я научился, читайте под кат...

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

Как «Медуза» организовала бета-тест нового приложения с читателями и не облажалась У «Медузы» нет QA-отдела, а прицельно тестированием новых продуктов занимается один человек (и это не основная его работа). Часто мы просим других сотрудников поучаствовать: у всех разные телефоны и привычки, это сильно помогает бороться с «замыленным глазом». Но даже в этом...

Apple разрабатывает новые аксессуары для фото на iPhone Многие подключают такие аксессуары к айфонам, чтобы сделать фото лучше Смартфоны iPhone 11 и новее могут вскоре начать поддерживать новые аксессуары для фотосъемки, включая специальные вспышки, которые подключаются через встроенный разъем Lightning устройства. Об этом сообща...

Stealthwatch Cloud. Быстрое, удобное и эффективное решение для облачных и корпоративных инфраструктур Не так давно я писал про мониторинг Netflow/IPFIX и про Cisco StealthWatch — аналитическое решение, которое позволяет детектировать такие события, как сканирования, распространение сетевых червей, шпионское ПО, нелегитимные взаимодействия и различного рода аномалии. О расс...

Битва WEB серверов. Часть 2 – реалистичный сценарий HTTPS: О методике мы рассказывали в первой части статьи, в этой мы тестируем HTTPS, но в более реалистичных сценариях. Для тестирования был получен сертификат Let’s Encrypt, включено сжатие Brotli на 11. На этот раз попробуем воспроизвести сценарий развертывания сервера на VDS и...

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

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

[Из песочницы] Тесты на pytest с генерацией отчетов в Allure с использованием Docker и Gitlab Pages и частично selenium Этот текст предназначен для начинающих тестировщиков, желающих понять как делать отчеты на allure с историей тестов, также разъяснить где их хранить, чтобы в отчет мог заглянуть любой участник вашей команды. Когда я хотел добавить в gitlab автотесты в стеке python, allure, ...

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

[Перевод] Какие изменения нужны языку Rust, чтобы писать асинхронный код стало проще Асинхронное программирование — мощный инструмент. Но экосистема Rust продолжает активно развиваться, и пока язык далёк от идеала. В частности, по этой причине многие считают, что асинхронное программирование в Rust — это боль. Однако некоторые не только критикуют, но и пред...

Почему баллы DxOMark — это булшит (на примере Xiaomi Mi 10 Pro) Многие скептически относятся к тестам DxO, но до недавнего времени я не понимал причин такого отношения. Мне казалось, что это авторитетная организация, которая честно тестирует все смартфоны. Но всё не так просто. И в данном материале на примере Xiaomi Mi 10 Pro я попытаюс...

Пишем и тестируем миграции БД с Alembic. Доклад Яндекса Приложения на бэкенде могут работать с самыми разными базами данных: PostgreSQL, SQLite, MariaDB и другими. Перед разработчиками встает задача реализовать возможность легко и безопасно изменять состояние БД. Менять нужно как структуру базы, так и сами данные от одной версии ...

Современная инфраструктура: проблемы и перспективы В конце мая мы провели онлайн-митап на тему «Современная инфраструктура и контейнеры: проблемы и перспективы». Поговорили о контейнерах, Kubernetes и оркестрации в принципе, о критериях выбора инфраструктуры и многом другом. Участники поделились кейсами из собственной прак...

[Перевод] 10 удивительно полезных базовых функций Python Те, кто работает с Python, знают, что этот язык хорош благодаря своей обширной экосистеме. Можно даже сказать, что язык программирования не выделялся бы ничем особенным, если бы не его замечательные пакеты, которые добавляют новые функции к основным. В качестве примера м...

[Перевод] Веб-скрейпинг на PHP Термин web scraping означает извлечение информации из веб-страниц в интернете. Его ещё называют web crawling или web data extraction. PHP широко используется в качестве серверного скриптового языка для создания динамических сайтов и веб-приложений. И на нём можно написать...

Из разработчика в менеджеры и обратно Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет рук...

Используем Terraformer для адаптации действующей инфраструктуры в AWS для деплоев с Terraform Рассказываем про наш опыт импорта и адаптации конфигураций инфраструктуры, ранее развернутой вручную в AWS, в формат Terraform. Зачем? Причин может быть много: и отказоустойчивость, и упрощение горизонтального и вертикального масштабирования, и многие другие. С них и начнем ...

[Перевод] C и C++: межъязыковые интерфейсы Как известно, C и C++ — это родственные языки, между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому м...

[Перевод - recovery mode ] Найм сотрудников никуда не годится. И ваш тоже Я даже не могу вспомнить все статьи о найме работников, которые прочитал за последние несколько лет. Все они выстроены по одному формату. В начале в них утверждается, что найм сотрудников никуда не годится. Затем описывается практика найма в компании XYZ. Потом следует исклю...

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

Пример практического использования модулей Доброго времени суток, друзья! ES6-модули, использующие синтаксис «import/export», являются довольно мощным инструментом и достойным конкурентом компонентам популярных фреймворков. Позвольте мне продемонстрировать это на примере рисования различных фигур на холсте. Исто...

Microsoft работает над портированием extended Berkeley Packet Filter (eBPF) в Windows ZDNet сообщает, что Microsoft работает над тем, чтобы портировать инструмент extended Berkeley Packet Filter (eBPF) в Windows 10 и Windows Server 2016 (и более поздние версии). В настоящее время инструмент можно запускать в Subsystem for Linux, но Microsoft работает над нати...

British Airways тестирует автономные электрические инвалидные коляски Авиакомпания British Airways сообщила о проведении тестирования автономных электрических инвалидных колясок в международном аэропорту им. Джона Кеннеди (США). Тестирование устройств в шестом по загруженности аэропорту США призвано выяснить, как они могут помочь пассажирам с ...

Создание шаблона VPS с Drupal 9 на Centos 8 Мы продолжаем расширять наш маркетплейс. Недавно мы рассказывали, как сделали образ Gitlab, а на этой неделе в нашем маркетплейсе появился Drupal. Рассказываем, почему выбрали именно его и как создавался образ. Drupal — удобная и мощная платформа для создания любых типов...

Ситуация: как модернизация сетевой инфраструктуры в США уперлась в качество статистики Вопрос точности так называемых «broadband maps» обсуждают не первый год, но именно сейчас — в контексте планов по глобальной модернизации IT-инфраструктуры в США — споры вокруг этой темы становятся все более ожесточенными. Рассказываем, как развивается эта ситуация. Читать...

[Перевод] Тестирование производительности аналитических запросов в PostgreSQL, ClickHouse и clickhousedb_fdw (PostgreSQL) В этом исследовании я хотел посмотреть, какие улучшения производительности можно получить, используя источник данных ClickHouse, а не PostgreSQL. Я знаю, какие преимущества производительности при использовании ClickHouse я получаю. Будут ли эти преимущества сохранены, если я...

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

О мотивации: ЗП. СМ. И далее по списку Привет! Меня зовут Полина. Я работаю в Parallels HR-ом (звучит не по-русски и часто вызывает аллергию у хабровчан). Мне очень понравился вот этот захабренный текст. Он честный, написан с юмором, на понятном русском языке. А главное ─ в нем нет пафоса. Но, как мне показалос...

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

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

Java-дайджест за 27 декабря Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, испол...

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем. Использование review-окружений в CI/CD м...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

IDA Pro: работа с библиотечным кодом (не WinAPI) Всем привет, При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от ...

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

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

Шесть аэропортов РФ будут использовать биометрическую идентификацию к 2024 году "К 31.12. 2023 количество субъектов транспортной инфраструктуры воздушного транспорта (аэропортов), использующих биометрические данные идентификации пассажиров и обработку их с использованием искусственного интеллекта для упрощения транспортных процедур, составит шесть ...

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

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

[Из песочницы] Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh. В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб...

Huawei может поделиться «заменителем» Android с другими производителями смартфонов Компания Huawei вполне может поделиться своей «фирменной заменой» Android — операционной системы HarmonyOS 2.0 с другими производителями смартфонов. Об этом рассказал директор Huawei Consumer Business Group Ю Чэндун (Yu ChengDong), более известный в м...

[Перевод] Кросс-браузерное тестирование в Selenium В этой статье мы рассмотрим кросс-браузерное тестирование. Это тип тестирования, который проверяет, работает ли приложение так, как ожидается, в нескольких браузерах, операционных системах и устройствах. Мы можем проводить кросс-браузерное тестирование с помощью автоматизаци...

[Перевод] Современный Javascript: всё, что вы пропустили за последние 10 лет JavaScript прошел долгий путь с тех пор, как я знал его как букву «D» в DHTML. Для всех, кто, как я, не хотел использовать новейший синтаксис, который может потребовать полифиллов или транспилятора, я написал эту шпаргалку, чтобы вы познакомились со всеми достоинствами, кото...

[Из песочницы] Играем музыку из Mario на системном динамике Предисловие Привет, Мир! Уже года 3 хочу написать что-нибудь на Хабр, но никак не находилось темы, на которую можно было бы накатать пост. Так было до тех пор пока мне не понадобилось узнать немного про работу системного таймера и системного динамика для лабораторной рабо...

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

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

[Из песочницы] Мы из другого теста — тестируем базу данных на MSTest Тестирование как универсальный принцип Уже почти четверь века празднуем миллениум, а тестирование ещё только входит в нашу жизнь… Сложно убедить начинающих разработчиков использовать эту потрясающую технику в своей работе… Да чего уж там говорить о разработчиках, простым сме...

Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn Пускать или не пускать? Вот в чем вопрос… Сейчас на многих сайтах мы видим возможность зарегистрироваться или войти с помощью соцсетей, а некоторые сайты предлагают использовать внешние ключи безопасности или отпечатки пальцев. Что это? Стандарты с хорошо проработанной безо...

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

Тестирование приложений в условиях нехватки памяти Вопрос о том надо ли проверять то, что возвращает malloc является спорным и всегда порождает жаркие дискуссии. Часть людей считает, что надо пытаться обрабатывать все виды runtime ошибок, в т.ч. и OOM ситуации. Другие считают, что с OOM всё равно мало что можно сделать и луч...

Осенняя коллекция стильных светодиодных ламп iSVET, тестируем 8 моделей Отечественная компания ISVET предложила провести тестирование модельного ряда светодиодных ламп с цоколем Е27 и Е14. При согласовании условий тестирования сразу уведомляю, что заказных обзоров не пишу. Помогаю потребителям найти качественную продукцию и защитить их от обма...

[Перевод] Трассировка Python GIL Есть много статей, объясняющих, для чего нужен Python GIL (The Global Interpreter Lock) (я подразумеваю CPython). Если вкратце, то GIL не даёт многопоточному чистому коду на Python использовать несколько ядер процессора. Однако мы в Vaex исполняем большинство задач с инте...

Карточная игра «Дурак» на двух M5Stack Цель урока Сегодня мы напишем сетевую карточную игру на двух игроков. Какую игру написать? Давайте напишем популярную карточную игру "Дурак", цель которой — избавиться от всех карт. Подробнее о правилах Вы можете узнать здесь. Рисунок 1. Читать дальше →

INVESTMENT-READY Или что следует иметь в виду, создавая стартап. //при чем здесь котик? Что за странный вопрос ?? ПРЕДИСЛОВИЕ Прочел несколько постов от людей, которые провалили стартапы и давали советы на тему чего не следует делать (сорри, хотел дать на них линки, но потерял). Собир...

[Перевод] Использование паттерна BFF для создания общих типов в бэкенде и фронтенде Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ...

[Перевод] Руководство по возможностям Java версий 8-14 Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13, Java 14 — какая разница? Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия ме...

[Перевод] О масочных регистрах В наборе команд AVX-512 были представлены восемь так называемых масочных регистров [1] – с k0 [2] по k7. Они пригодны для использования с большинством операций АЛУ и позволяют выполнять операции по маске над элементами векторов с обнулением или слиянием данных в регистре-при...

[Перевод] Юристы использовали овчину в качестве средства борьбы с мошенничеством в течение сотен лет Согласно новому анализу, средневековые и ранние современные юристы предпочитали писать на пергаменте из овчины потому, что это помогало предотвратить мошенничество. Эксперты определили виды животных, которые использовались в британских юридических документах, датируемых 13...

[Перевод] Углублённое руководство по JavaScript: генераторы. Часть 2, простой пример использования Поведение генераторов, описанное в предыдущей статье, нельзя назвать сложным, но оно точно удивляет и поначалу может выглядеть непонятным. Поэтому вместо изучения новых концепций мы сейчас сделаем паузу и рассмотрим интересный пример использования генераторов. Читать дальше...

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

Тестирование виртуальных серверов от DigitalOcean, Vultr, Linode и Hetzner. Человеческие жертвы: 0.0 В одной из предыдущих статей я привел результаты тестирования дешевых виртуальных серверов от различных хостеров рунета. Спасибо всем комментаторам и людям, писавшим в личные сообщения, за обратную связь. В этот раз я хочу представить результаты тестирования виртуальных сер...

Razer представила фирменную карту Visa с неограниченным кэшбэком и игровыми функциями Razer известна своими игровыми компьютерами, периферийными устройствами и игровыми смартфонами. Теперь производитель анонсировал предоплаченную карту Razer Card с кэшбэком и игровыми функциями. Razer при поддержке Visa уже начала бета-тестирование в Сингапуре. Первые по...

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

Пока все дома: как защитить инфраструктуру IT-компании на удаленке Карантин заставил IT-отрасль перейти на удаленку. Оказалось, что инфраструктура многих компаний к такому не готова — удаленный доступ дается на скорую руку, а VPN-серверы конфигурируют за пару дней. А еще дистанционная работа обостряет человеческий фактор, из-за которого про...

Vuetify  —  создаем свое простое приложение В этой небольшой статье мы с вами напишем свое простое приложение по типу "заказа еды". Само приложение если что будет статичным и здесь главный упор будет сделан на использование компонентов Vuetify и рассмотрение того как именно они работают. Также добавлю что здесь мы не ...

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

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

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

ТОП-10 самых автономных смартфонов по версии DxOMark Французская компания DxOMark, известная благодаря тестам и оценкам качества камеры, звука и дисплея бытовой электроники, объявила о новой категории тестирования качества смартфона. Теперь эксперты ресурса тестируют аккумуляторы мобильных устройств. DxOMark разработал…

Что общего между Putout и Rulegurd? Недавно наткнулся на статью про статический анализатор Ruleguard и хотел написать к ней комментарий, но получилась статья. Интересно, что похожие идеи могут в одно время прийти разным людям, пишущим на разных языках. Я работаю над статическим анализатором Putout, и обратил в...

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

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

TestOps: писать автотесты недостаточно Совсем недавно я услышал замечательную историю о проекте внутри крупной российской IT-компании, ищущей руководителя в отдел тестирования. Задача была простая: есть отдел из 20 человек, которые за последние несколько лет наколбасили несколько тысяч автотестов и спроектировали...

Наиболее полное руководство по практическому использованию Web Speech API В этой статье я хочу поделиться с вами результатами изучения основных возможностей Web Speech API (далее — WSA). Введение WSA — это экспериментальная технология, состоящая из двух интерфейсов: SpeechSynthesis (интерфейс для перевода текста в речь) и SpeechRecognition (интер...

Tesla обвинили в тестировании незавершённых технологий автономного вождения на своих пользователях Национальный совет по безопасности на транспорте (NTSB) США обратился к своему дочернему агентству, Национальному управлению безопасности дорожного движения (NHTSA), с требованием ввести более строгие стандарты в отношении технологий автоматизированных транспортных средств. ...

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

[Перевод] 10 идей из Human Interface Design Guidelines от Apple Заслуживающие внимания рекомендации из гайдлайнов по iOS Последние несколько месяцев я разрабатывал приложение для IOS и постоянно обращался к Human Interface Design Guidelines от Apple. Я считаю это руководство обязательным для прочтения любым начинающим или нынешним диз...

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

[recovery mode] DevOps: автоматизация инфраструктуры на примере Terraform, docker, bash, prometheus exporters, Gitlab и WireGuard Всем привет.Есть такие люди, которые работают с облачной инфраструктурой и не используют автоматизацию, потому что это долго, нужно вникать, а им надо фичи пилить. Накликали что-то там в UI, подключились по ssh, поставили всякого с помощью apt и т.д. и конфигурационные файлы...

Биткоин подорожал за день на 10 % после признания в качестве платёжного средства в Сальвадоре Вчера власти Сальвадора приняли закон, признающий биткоин официальным платёжным средством на территории государства. На фоне этой новости курс самой популярной криптовалюты мира перевалил за $38 000, поднявшись за сутки более чем на 10 %. На момент написания этого материала ...

Twitter тестирует возможность онлайн-покупок с помощью твитов Стало известно о тестировании Twitter возможности использования сервиса для совершения покупок в интернете.

Использование Azure DevOps от разработки до сборки релиза в Dynamics AX 2012 Использование контроля версий для разработки в ERP-системе MS Dynamics AX — штука довольно неоднозначная. Кто-то не использует совсем, кто-то использует встроенную систему контроля версий MorphX. Меня зовут Игорь Глухов, я разработчик MS Dynamics AX в компании Lamoda. В эт...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

Это — новый Хабр И снова привет — год назад я написал на Хабр о своём клиенте для этой площадки, который я разрабатывал в качестве проекта для оттачивания навыков программирования. Теперь мой Хабр посетило больше 30 тысяч человек, а я за прошедший год полностью обновил дизайн, прикрутил авт...

[Перевод] Руководство по работе с OpenAL на C++. Часть 1: воспроизводим звук Вашей игре нужен звук! Наверно, вы уже использовали OpenGL для рисования на экране. Вы разобрались с его API, и поэтому обратились к OpenAL, потому что название кажется знакомым. Что же, хорошие новости — OpenAL тоже имеет очень знакомый API. Он изначально задумывался для и...

[Перевод] Как и зачем в Lyft улучшали Kubernetes CronJobs Прим. перев.: эту статью, в оригинале состоящую из двух частей, написал Kevin Yang — software engineer из компании Lyft, которая хорошо известна в Kubernetes-сообществе как минимум благодаря созданию Envoy. В новом материале автор делится интересным опытом миграции большого ...

Packer, Terraform и Ansible: деплой кластера Kubernetes за час Привет, меня зовут Андрей Щукин, я помогаю крупным компаниям мигрировать сервисы и системы в Облако КРОК. Вместе с коллегами из компании Southbridge, которая проводит в учебном центре «Слёрм» курсы по Kubernetes, мы недавно провели вебинар для наших заказчиков. Я решил в...

[Перевод] Emacs — 6 трюков для продуктивной работы Ранее я уже писал об использовании Emacs в качестве C++ IDE и другом техническом оснащении. Однако, я не обращал особого внимания на то, что использую Emacs и для работы много с чем ещё. Честно говоря, я не смог бы пользоваться этим редактором в полной мере, не будь в нем во...

Попытка использовать Raspberry Pi 4 в качестве десктопа. Часть 2, Ubuntu Привет, Хабр. В первой части была рассмотрена возможность использования Raspberry Pi 4 в качестве десктопа с установленной «родной» операционной системой Raspbian. Но как известно, с недавних пор Ubuntu v20 64-bit «официально» доступна для Raspberry Pi — посмотрим, как это ...

Печаль: Хабра больше не будет? Долой неграмотность 11 февраля 1926 г. открылся первый областной съезд общества «Долой неграмотность». На X Всероссийском съезде Советов (декабрь 1922 г.) Ленин выдвинул идею о ликвидации неграмотности в стране к 10-й годовщ...

[Перевод] Webpack: руководство для начинающих Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Webpack: A gentle introduction» автора Tyler McGinnis. Перед изучением новой технологии задайте себе два вопроса: Зачем нужен этот инструмент? Какие задачи он выполняет? Если вы не можете отв...

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

Глобальные объекты в Angular В JavaScript мы часто используем сущности, вроде window, navigator, requestAnimationFrame или location. Некоторые из этих объектов существуют испокон веков, некоторые являются частью вечно растущего набора Web API. Возможно вы встречали класс Location или токен DOCUMENT в An...

Microsoft уже тестирует Windows 12? Microsoft представила Windows 11 месяц тому назад, а пользовательская версия этой ОС должна выйти лишь осенью текущего года (предположительно, в октябре). Между тем, судя по скриншоту, опубликованному в Сети, Microsoft уже работает над Windows 12. Пользователь опублико...

Пишем Ретровейв на Angular Web Audio API существует уже давно, и про него есть немало статей. Поэтому про сам API много говорить не будем. Расскажем, что Web Audio и Angular могут стать лучшими друзьями, если их правильно познакомить. Давайте сделаем это! Читать дальше →

[Перевод] Введение в неблокирующие алгоритмы Неблокирующие алгоритмы широко применяются в ядре Linux когда традиционные примитивы блокировки либо не могут быть использованы, либо недостаточно быстры. Эта тема многим интересна и время от времени всплывает на LWN. Из недавнего — вот эта июльская статья, которая собственн...

США могут заблокировать Facebook от интеграции WhatsApp, Instagram и Messenger Соучредитель Facebook Марк Цукерберг планировал объединить инфраструктуру всех трех служб обмена сообщениями Facebook - WhatsApp, Instagram и Messenger. Идея заключалась в том, чтобы использовать все три службы в качестве автономных приложений, но в одной базовой инфраструкт...

Автотесты на языке разметки или как мы в Lamoda тестируем микросервисы Всем привет! Меня зовут Кирилл Поляков, я QA-инженер в компании Lamoda. Мы тестируем бекэнд большой e-commerce платформы. В этой статье я расскажу, как мы пришли к автотестам на языке разметки для тестирования микросервисов и делаем это с помощью инструмента собственной разр...

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

[Перевод] Руководство по FFmpeg libav Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg в качестве библиотеки (в дальнейшем в тексте — libav, т.е. library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая,...

Swagger в RBK.money — про наши внешние API Хочешь сделать что-то полезное и рабочее — сделай его так, чтобы другие люди могли этим полноценно пользоваться, нормально это ревьювить, да и вообще вспоминать тебя добрым словом, а не темной стороной своего словарного запаса. Для этого, кроме того, чтобы просто хорошо дела...

HighLoad++, Юрий Насретдинов (ВКонтакте): как VK вставляет данные в ClickHouse с десятков тысяч серверов HighLoad++ Moscow 2018, зал «Конгресс-холл». 9 ноября, 15:00 Тезисы и презентация: http://www.highload.ru/moscow/2018/abstracts/4066 Юрий Насретдинов (ВКонтакте): в докладе будет рассказано об опыте внедрения ClickHouse в нашей компании – для чего он нам нужен, сколько мы ...

Как тестировщики написали свою мобильную ферму для IOS Привет, Хабр! Меня зовут Руслан, я — автотестировщик в QA-агентстве «Кавычки». Из этого можно понять, что мы в агентстве занимаемся только тестированием во всех его проявлениях, а меня зовут Руслан. Отлично, идем дальше. Когда какая-то проблема начинает сильно докучать, то д...

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

[Перевод] Кодогенерацию с использованием Roslyn можно использовать и без перехода на .Net 5 Недавно, когда я просматривал новые возможности, которые будут включены в .Net 5, я натолкнулся на одну весьма интересную — генераторы исходного кода. Этот функционал меня особенно заинтересовал, так как я использую аналогичный подход в течение последних… 5 лет, и то, что п...

Как «сломался» банк Неудачная миграция ИТ-инфраструктуры привела к повреждению 1,3 млрд записей клиентов банка. Всему виной стало недостаточное тестирование и легкомысленное отношение к сложным ИТ-системам. Cloud4Y рассказывает, как это было. Читать дальше →

Зачем хоккею облака Пока болельщики ждут, чем закончится плей-офф в КХЛ, готовятся к ЧМ-2021 и считают расклады в НХЛ, мы вернёмся к теме использования облаков в большом спорте. Рассказываем, зачем хоккею облака, для чего популярные хоккейные лиги используют IoT-датчики и другие устройства на а...

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

Автоматизация тестирования веб-приложений под ключ, без регистрации и смс Часто бывает так, что веб-приложение состоит из большого количества динамически перестраивающихся форм с разным текстом и элементами управления. Тестирование такого приложения превращается в кошмар. Нужно прокликать 100500 страниц и проверить весь функционал… И перед следую...

[Перевод] Введение в React, которого нам не хватало React — это самая популярная в мире JavaScript-библиотека. Но эта библиотека не потому хороша, что популярна, а потому популярна, что хороша. Большинство существующих вводных руководств по React начинается с примеров того, как пользоваться этой библиотекой. Но эти руководств...

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

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

[Перевод] Если вы используете моки, то вы хоть что-то тестируете? Было ли у вас ощущение, что ради тестирования вы делаете код труднее для чтения? Допустим, у вас есть код, который ещё не тестировался. У него есть ряд побочных эффектов, и вас просят сначала прогнать тесты. Вы начинаете следовать советам вроде передачи глобальных переменны...

[Перевод] Создаем бессерверное приложение с помощью Azure Functions и Go Вебхуки — популярный пример использования FaaS (функция как услуга) платформ. Их можно использовать для многих различных целей, например, для отправки клиентам уведомлений, содержащих забавные гифки! Используя serverless функцию, довольно удобно инкапсулировать функционально...

[Из песочницы] Использование GitHub Actions с C++ и CMake Привет, Хабр! Предлагаю вашему вниманию перевод статьи "Using GitHub Actions with C++ and CMake" о сборке проекта на C++ с использованием GitHub Actions и CMake автора Кристиана Адама. Использование GitHub Actions с C++ и CMake В этом посте я хочу показать файл ко...

[Перевод] Конференция DEFCON 27. Твой автомобиль – мой автомобиль. Часть 2 Конференция DEFCON 27. Твой автомобиль – мой автомобиль. Часть 1 В конце видео вы услышали щелчок – это сработала разблокировка механического замка рулевого колеса, которую мы не можем обойти с помощью электроники. Нужно использовать что-то механическое, сломать цилиндр зам...

[Перевод] Как подключить OLED дисплей к Raspberry Pi Pico — быстрый старт У Raspberry Pi Pico несколько функциональных ограничений, включая отсутствие модуля беспроводной связи. Но, в целом, это отличная плата для реализации самых разных проектов. Одно из ее достоинств — простота подключения дисплея. Она позволяет работать с Pico Display или Pico...

Windows 10 будет спрашивать, для каких целей пользователь собирается использовать компьютер Microsoft «обучила» Windows 10 новому приему – ОС при установке будет спрашивать пользователя о том, для каких целей будет использоваться компьютер. Например, будет ли это просто домашний ПК, ПК геймера или школьника. Или, может быть, бизнес-ПК. Всего ...

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

Traefik, docker и docker registry Под катом вы увидите:• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.• Использование Traefik для автоматического получения Let’s Encrypt сертификатов• Использование Traefik для разграничения доступа к docker registry пр...

Эффективен ли TDD? Во время интересной дискуссии, один очень уважаемый человек «козырнул» «неубиваемым» аргументом:Есть полно исследований, демонстрирующих эффективность TDD Действительно. Если зайти на Google Scholar, забить ключевые слова «TDD» и «Эффективность» — будет много научных статей,...

Продвинутое руководство по nullable reference types Одно из самых больших изменений в C# 8 — это nullable reference types. Ранее Андрей Дятлов (JetBrains) рассказал на конференции DotNext о трудностях и проблемах, которые вы можете встретить при работе с ними. Доклад понравился зрителям, поэтому теперь для Хабра готова его те...

[Перевод] Манифест: почему я не делаю свой пет-проджект постоянной работой Когда доходы от продаж с моего сайд-проекта пробили отметку $100k, я, к собственному удивлению, обнаружил: Не хочу бросать основную работу. Никакого позыва написать, что наконец-то я бросаю «крысиные бега». Не написал ни единого твита о том, как я стал творить, и «измени...

2D-полупроводники спасут закон Мура? Использование дисульфида молибдена в качестве смазки известно с 17 века, когда переселенцы применяли его для смазывания осей тележек. С 1940-х годов вещество широко используется как компонент смазочных материалов. В природе дисульфид молибдена встречается в виде минерала — ...

Полное руководство по сезонной депрессии (SAD). 7 видов светотерапии Я проделал большую работу по исследованию англоязычной литературы на тему «рекуррентное депрессивное расстройство (F33) с сезонным паттерном». В этой статье я системно изложу всю найденную информацию. Почему эта статья важна: Лучшая книга по сезонной депрессии (Winter ...

Реклама на YouTube: достучаться до программистов Известный американский маркетолог Стюарт Бритт говорил: «Вести бизнес без рекламы – всё равно, что подмигивать девушке в темноте: вы-то знаете, что вы делаете, а остальные – нет». Сложно не согласиться, ведь недостаточно просто создать продукт — чтобы им пользовались, нужно...

[Перевод] Настройка распределенной трассировки в Kubernetes с OpenTracing, Jaeger и Ingress-NGINX В эпоху, когда крупные компании используют более 500 микросервисов одновременно, важно иметь возможность быстро выяснить, из-за чего произошел сбой или снизилась производительность. Без специализированных инструментов это может быть похоже на поиск соломинки в стоге сена.Рас...

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

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

[Перевод] Осваиваем LaTEX за 30 минут Это руководство нацелено на первое знакомство с LaTEX и предварительных знаний о нем от вас не потребует. К его завершению вы уже напишете свой первый документ и получите представление о ряде базовых возможностей этого инструмента. Читать дальше →

[Из песочницы] Обязанности администратора Salesforce: Что должно быть сделано и когда Привет, Хабр! Представляю вашему вниманию перевод «Salesforce administrator responsibilities: What needs to be done and when» автора David Taber. Что администратор Salesforce делает весь день, неделю или месяц? Вот общее краткое изложение. Salesforce администраторы отвечаю...

Беспроводной тачпад из смартфона Когда ты уже не начинающий ардуинщик и погодных информеров у тебя уже несколько штук, хочется чего-то более «оригинального» и «полезного». Предположим у нас имеется: Arduino Leonardo – 1 штука, Bluetooth модуль – 1 штука, Android смартфон – 1 штука. Ключевое отличие Leonar...

[Перевод] Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему? Если вы создаёте приложение, которое должно масштабироваться — а все мы надеемся, что наши приложения будут расти — то в определённый момент нам приходится разбираться, может ли оно это делать на самом деле. Именно тогда на помощь приходит нагрузочное тестирование: если вы...

Асинхронность в С++20. Доклад в Яндексе Привет, это Григорий Демченко из WhatsApp. Мой доклад посвящён использованию сопрограмм в C++20. Я не стал говорить про низкоуровневые примитивы и то, как компилятор поддерживает сопрограммы и преобразовывает соответствующий код. Вместо этого акцент сделан на практическом пр...

«Листая скучные ГОСТы…» или анализ требований при разработке LED-драйвера Должен признаться – мне нравится разрабатывать LED-драйверы. Видимо есть что-то особенное в том, чтобы создавать свет, какая-то магия. Пусть продолжаются споры про вредность так называемого «синего пика», пускай в магазине мы всё ещё можем купить ужасные светодиодные лампочк...

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

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

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

Overwatch готовит глобальное обновление Overwatch проводит эксперименты в игровом процессе. Они проводятся в публичном тестировании. Владельцы консольных версий могут тестировать новые возможности. Public Test Realm предназначен только для ПК. Тестирование позволяет внести радикальные изменения в игровой процесс...

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

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта. Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время...

Делаем TypeScript строже. Доклад Яндекса Как сделать из TypeScript строгого, но справедливого товарища, который защитит тебя от неприятных ошибок и придаст больше уверенности в коде? Алексей Веселовский veselovskiyai рассмотрел несколько особенностей конфигурации TS, которые закрывают глаза на непростительные вольн...

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

[Перевод] Почему using namespace std; это плохо То, что написано ниже, для многих квалифицированных C++ разработчиков будет прекрасно известной и очевидной вещью, но тем не менее, я периодически встречаю using namespace std; в коде различных проектов, а недавно в нашумевшей статье про впечатления от высшего образования бы...

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

iPhone 12 Pro Max занял четвёртое место в новом рейтинге DxoMark DxoMark известны в первую очередь своими тестами камер. Однако уже достаточно давно специалисты занимаются не только этим. Сейчас DxoMark оценивают качество звука, а недавно они начали тестировать и время работы современных смартфонов. Пока в рейтинг автономности входят мень...

[Перевод] О реализации структуры данных Map в V8 В стандарте ECMAScript 2015, известном как ES6, появилось много новых JavaScript-коллекций, таких, как Map, Set, WeakMap и WeakSet. Они, судя по всему, стали отличным дополнением к стандартным возможностям JavaScript. Они получили широкое применение в различных библиотеках,...

[Перевод] Чистые тесты на PHP и PHPUnit В экосистеме PHP существует много инструментов, обеспечивающих удобное тестирование на PHP. Одним из самых известных является PHPUnit, это почти синоним тестирования на этом языке. Однако о хороших методиках тестирования пишут не так много. Есть много вариантов, для чего и ...

OCCT тоже научилась точечно бенчмаркать ядра на AMD и Intel OCCT — популярная утилита для нагрузочного тестирования наших систем, позволяющая проверить, насколько стабильно они работают. Недавно мы рассказывали о приложении Core Cycler, которое предназначено для процессоров AMD и позволяет тестировать ядра отдельно, выделяя наиболе...

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

Яндекс открывает фреймворк Testsuite Сегодня мы открываем исходный код testsuite — фреймворка для тестирования HTTP-сервисов, который разработан и применяется в Яндекс.Такси. Исходники опубликованы на GitHub под лицензией MIT. С помощью testsuite удобно тестировать HTTP-сервисы. Он предоставляет готовые меха...

[Перевод] Цвет обитаемых миров «Вот тут мы и живём. На голубой точке», — сказал Карл Саган после выхода знаменитой фотографии "бледно-голубая точка". Фотографию сделал космический зонд Voyager 1 14 февраля 1990 года с расстояния в 6 млрд км. По сей день эта фотография остаётся самой дальней фо...

Железо или оптимизация? Badoo, «Авито» и «Мамба» — о производительности PHP Вопрос производительности PHP-кода для Badoo один из самых важных. От качества PHP-бэкенда напрямую зависят количество ресурсов, которые мы тратим на разработку и эксплуатацию, скорость работы сервиса и впечатление, которое он производит на пользователей.  Поэтому темой тре...

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

Нагрузочное тестирование игровых серверов Меня зовут Дмитрий, я специалист по тестированию в студии IT Territory. За 17 лет мы выпустили более 15 успешных игровых проектов с общей аудиторией около 100 млн игроков по всему миру. Вы можете быть знакомы с нами по таким проектам, как Аллоды Онлайн, Hawk, Space Justice,...

gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса gRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве пр...

[Перевод] Тактика Red Team: продвинутые методы мониторинга процессов в наступательных операциях И снова здравствуйте. В преддверии старта курса «Пентест. Практика тестирования на проникновение» перевели для вас еще один интересный материал. В этой статье мы собираемся разобраться в возможностях широко известных утилит мониторинга процессов и продемонстрировать, как ...

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

Александр Зейналов: «Вы даже можете и не знать, что перед вами OpenStreetMap, но это будет он» Александр Зейналов — системный администратор, который является одним из «хранителей ключей» от серверов российского сообщества OpenStreetMap. Помимо этого, у него богатый опыт использования данных OSM. Что это за сервера, как разместить на них свой проект и чего не стоит и...

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

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

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

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

Павел Клеменков, NVIDIA: Мы стараемся уменьшить разрыв между тем, что data scientist умеет, и тем, что он должен уметь Стартовал второй набор студентов магистерской программы по data science и business intelligence Ozon Masters – а чтобы решиться оставить заявку и пройти онлайн-тестирование было проще, мы расспросили преподавателей программы о том, чего стоит ожидать от обучения и работы с д...

[Перевод] Адаптируем 4 абсолютных принципа качества Кросби в контексте разработки ПО У Филиппа Кросби заслуженная репутация лидера в вопросах качества в обрабатывающей промышленности, он написал множество книг о качестве в период с 1968 по 1999 год. Среди его известных и цитируемых работ — «Качество бесплатно», «Ноль дефектов с помощью предотвращения» и «4 а...

[Перевод] Облачный гейминг с открытым исходным кодом на WebRTC: p2p, мультиплеер, zero latency ПО как услуга, инфраструктура как услуга, платформа как услуга, коммуникационная платформа как услуга, видеоконференции как услуга, а что насчет облачных игр как услуги? Уже было предпринято несколько попыток создания облачных игр (Cloud Gaming), например, Stadia, недавно з...

Google запустила спорное новшество для YouTube: полноэкранный режим с комментариями Компания Google начала тестировать новую функцию для своего видеосервиса YouTube. В сети появляется всё больше сообщений о новом режиме комментариев в мобильном приложении YouTube для Android.  В приложении теперь можно при просмотре видео в полноэкранном режиме о...

Тесты, деньги и техдолг (сказ из жизни одного Java-проекта) Дорогой друг, эта статья отчасти о тестировании, а отчасти о деньгах и жизни. Я написал её после того, как в очередной раз пришлось рассказывать новому сотруднику команды о том, как мы пишем тесты, когда и почему мы это делаем. Теперь я просто буду давать на эту статью ссы...

Поворотная камера на raspberry pi zero c web-интерфейсом(DIY) Родилась идея сделать бюджетную web камеру, используя доступные ингредиенты. Желательно, чтобы у нее был готовый web-интерфейс, чтобы можно было управлять ею удаленно, вращая в разные стороны, чтобы можно было настройки менять, чтобы делать фото-/видео-, скачивать записанн...

[Из песочницы] Небольшие хитрости для тестирования веб-приложений на Laravel с использованием Model Factories Введение Давайте представим, что мы разрабатываем небольшое веб-приложение на Laravel версии выше 6 и хотим написать для него тесты. Содержание статьи приведено ниже: Описание предметной области Создание приложения Создание сущностей Написание тестов Проблема Решение Прод...

Мониторинг ошибок и событий в журнале PostgreSQL (grok_exporter) Доброго дня, коллеги и хаброчитатели! Сегодня, хотел бы поделиться с Вами небольшой заметкой о том, как можно организовать оперативный мониторинг ошибок и событий появляющихся в журнале PostgreSQL используя Prometheus и экспортер метрик grok_exporter. Сразу оговорюсь, что э...

Руководство по тестированию подписок на iOS Тестирование подписок в App Store невероятно важно, но провести нормальные тесты всегда было  очень сложно. Документация Apple традиционно практически отсутствует, а инструментами Apple никогда не славилась. Это руководство подробно расскажет вам о том, как протестировать ра...

Как синхронизировать сотни таблиц базы в Kafka, не написав ни одного продюсера Привет, Хабр! Меня зовут Сергей Бевзенко, я ведущий разработчик Delivery Club в команде Discovery. Наша команда занимается навигацией пользователя по приложению Delivery Club: мы отвечаем за основную выдачу ресторанов, поиск и всё, что с этим связано. Я расскажу про Kafka...

[Перевод] Unison: настройка и автоматизация двусторонней синхронизации каталогов на двух серверах Getty Images/iStockphoto Проблему синхронизации каталогов на двух серверах с операционными системами семейства Linux на борту можно решить проще, если использовать специализированные инструменты. Давайте посмотрим, как это можно сделать с помощью Unison. Читать дальше &rar...

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

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

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

Как разблокировать iPhone с помощью Apple Watch Наконец появилась возможность разблокировать iPhone с помощью Apple Watch, если вы носите защитную маску. Сегодня расскажем, как ее активировать. Мы уже как-то писали о трюках, которые позволяют разблокировать свой iPhone с помощью Face ID, когда ваше лицо прикрыто маской. Н...

Немного SQL алхимии О популярной библиотеке SQLAlchemy для работы с разными СУБД из Python было написано довольно много статей. Предлагаю вашему вниманию обзор и сравнение запросов с использованием ORM и SQL подходов. Данное руководство будет интересно прежде всего начинающим разработчикам, пос...

[Перевод] Native vs Flutter vs React Native: тестируем производительность в работе с UI-элементами Давайте возьмём задачи разной сложности и сравним потребление памяти, FPS, загрузку CPU и GPU при работе мобильных приложений, созданных с помощью разных технологий. Читать дальше →

Сказ о том, как сделать машину времени для базы данных и случайно написать эксплойт Доброго времени суток, Хабр. Приходилось ли вам задумываться как поменять время внутри базы данных? Легко? Ну в некоторых случаях да, несложно — linux команда date и дело в шляпе. А если нужно поменять время только внутри одного экземпляра бд если их на сервере несколько? А...

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

Хорошо забытое старое Всем привет! Сегодня мы подводим итоги пятничного опроса на тему использования функции размещения вкладок в одном окне. На этот раз получился вполне себе сюрприз, причём, как для разработчиков, так и для многих пользователей. Давайте вместе разберёмся с результатами и сде...

Docker для самых маленьких автоматизаторов Привет, меня зовут Руслан, я руковожу тестированием в Максилекте. Сегодня поговорим о базовых понятиях Devops, которые пригодятся автоматизатору. Расскажу про CI/CD в целом - что это такое и для чего оно нужно, а также про Docker. Объясню на пальцах, как развернуть тестируем...

[Перевод] Андрей Карпати: Bitcoin на Python (часть 1) Андрей Карпати — директор по искусственному интеллекту и Autopilot Vision в Tesla. Я считаю, что блокчейн — классная штука, потому что он расширяет open source разработку софта до open source + state. Это кажется интересным нововведением в компьютерных парадигмах; Мы не ...

«Хамелеон», которого мы создали и приручили Речь, конечно, пойдет не о харизматичных ящерках, а о нашем собственном инструменте автоматизированного тестирования. Представляем вашему вниманию кейс создания фреймворка «Хамелеон» и рассказ о его функциональности. Его появлению предшествовало 15 лет практики тестирования...

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

[Перевод] 10 no-code-платформ, на которые стоит обратить внимание в 2021 году No-code-инструменты позволяют обычным пользователям ПК создавать веб-сайты и приложения без необходимости написания программного кода. До того момента, когда подобные инструменты достаточно хорошо развились и достаточно сильно распространились, разработка простого веб-прилож...

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

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

[Перевод] Анатомия накопителей: SSD Часть 1. Анатомия накопителей: жёсткие диски Твёрдый, как камень Точно так же, как транзисторы совершили революцию в компьютерной области, увеличив скорость переключения и выполнения математических операций, использование полупроводниковых устройств в качестве накопителей ...

[Перевод] Заметки о Unix: работа с GNU grep и обязательное применение опции -a (--text) Однажды я заметил, что один из моих скриптов, сканирующих почтовые журналы, не выдал сообщение об одной записи, о наличии которой в журнале мне было известно (о ней меня оповестил другой скрипт). Работа скрипта начинается с использования grep для фильтрации записей, которы...

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

Как управлять облачной инфраструктурой с помощью Terraform В этой статье мы рассмотрим из чего состоит Terraform, а также поэтапно запустим собственную инфраструктуру на облаке с VMware — подготовим три VM для разных целей: прокси, файловое хранилище и CMS. Читать далее

Дейкстра: Величайшей победой Запада в холодной войне над СССР был переход на IBM — myth busted Начнем с этой всем известной фразы. Итак, были отечественные крутые теплые ламповые (часто в буквальном смысле) наработки, уникальные, созданные талантами. А потом руководство завело бульдозер, который срыл все это подчистую, и засадил все безликими IBM. Так меня учили. Но п...

Разработка простейшего логического анализатора на базе комплекса Redd В прошлой статье цикла мы потренировались сохранять данные из потокового интерфейса в память средствами DMA. Пришла пора сделать какую-то полезную поделку, используя полученные навыки. Очень полезная при удалённой отладке вещь — анализатор. Вообще, при работе с комплексом ск...

Microsoft предлагает руководство для клиентов, использующих режим киоска в Microsoft Edge Legacy Браузер Microsoft Edge Legacy поддерживал режим киоска, который предлагает настраиваемый, заблокированный опыт для многих организаций. Поддержка браузера Microsoft Edge Legacy заканчивается 9 марта 2021 года. Microsoft Edge Legacy будет удален и заменен новым Microsoft Edge,...

Стоит ли переходить с Powershell DSC на Ansible и как это сделать Об IaC под Windows пишут мало, потому что DevOps/SRE ассоциируется в основном c Linux и Kubernetes. Мы решили исправить эту ситуацию и сравнить инструменты, которыми можно управлять IaC на базе Windows. Статья будет полезна разработчикам, которые работают с Windows-инфрастру...

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

Google тестирует функцию Nearby Share в браузере Chrome для Windows 10 По сообщениям сетевых источников, Google начала тестирование функции Nearby Share, которая позволяет легко обмениваться файлами, в браузере Chrome для Windows 10. Google уже давно работает над интеграцией аналога AirDrop в Chrome для операционных систем Windows, macOS, Linux...

Используем Google Tag Manager Server-Side вместо Zapier Появление Google Tag Manager Server Side привнесло большое количество возможностей в мир маркетологов и дата аналитиков. Так как инструмент новый не все понимают чем он может быть полезен конкретно для их компании. Одно из преимуществ GTM на сторонне сервера в том что вы мо...

Приглашаем на DINS DevOps EVENING: разберем два примера инфраструктуры и поговорим, как облегчить поддержку Встречаемся 26 февраля в нашем офисе на Старо-Петергофском, 19. Кирилл Казарин из DINS расскажет, что такое инфраструктура для нас, как мы ей управляем, и как мы доставляем артефакты на 1000+ серверов в 50+ окружений. Александр Калошин из Last.Backend поделится опытом постр...

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

Простой способ редактирования, хранения и передачи параметров между job'ами Jenkins Как и любой здоровый человек — могу назвать себя в меру ленивым. Так, например, мне лень писать длинный pipeline (вообще писать руками pipeline лень). И мне не нравится идея гонять туда — сюда файлик, в который придётся писать параметры, для чего городить огород из лишнего ...

[Перевод] Обзор Keras для TensorFlow Перевод обзорного руководства с сайта Tensorflow.org. Это руководство даст вам основы для начала работы с Keras. Чтение займет 10 минут. Читать дальше →

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

Пересаживаем NXP-шный пример для Teensy 4.1 на язык C++ В предыдущих статьях мы освоили внедрение примеров из NXP-шной среды разработки MCUXpresso в плату Teensy 4.1. Однако у тех примеров, с которыми мне довелось повозиться (а я работал с USB-примерами), есть один существенный (с моей точки зрения, разумеется) недостаток. Все он...

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД! Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом у...

Proxmox Backup Server: интеграция с Proxmox VE и базовые операции В середине июле этого года мы рассказывали о том, что была представлена бета-версия Proxmox Backup Server (PBS). В день холостяков, 11.11.2020 в 11:11, Proxmox Server Solutions GmbH опубликовали релиз версии 1.0.1, что не прошло незамеченным. Взглянем детально, как использо...

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

[Перевод] Android: 12 лет истории дизайна ОС Android установлен примерно на 2,5 миллиардах активных устройств. С чего он начинался? Давайте проверим и разберёмся. Мы протестируем все версии Android, с 1.0 по 9.0, и посмотрим, как менялась система. Читать дальше →

Проекторы vs ЖК-панели: честное сравнение. Часть 2: качество изображения и стоимость А вот и обещанное продолжение предыдущего поста, посвященного попытке сравнить проекторы с профессиональными ЖК-панелями и видеостенами. В первой части я, в основном, коснулся вопросов, связанных с принципом работы, установкой и подключением такого оборудования. Даже о диа...

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

Типобезопасные матрицы на Haskell Типобезопасные матрицы — извечная тема. О нужности их спорят, а для реализации списков с длинной на уровне типов пишут целые языки. Мне показалось странным, что на Haskell до сих пор нет ни одного варианта, который удовлетворял бы вменяемым критериям удобства и безопасности....

Apple уже тестирует прототипы iPad mini 6 Первый компактный планшет компания Apple выпустила в 2012 году и в течение нескольких лет активно обновляла линейку, после чего купертиновцы сделали большой перерыв. iPad mini 5 был выпущен только в прошлом году после почти четырех лет ожидания. Если верить источникам, то ше...

[Перевод] Всегда старайтесь быть н̶е̶заменимым Есть хорошая жизненная философия, которой можно придерживаться на рабочем месте, — это «постоянно быть готовым увольняться» («always be quitting»). Это не значит думать о том, чтобы уйти с работы. Но вести себя так, как будто вы можете уйти в кратчайшие сроки. Парадоксально,...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

Как сделать кластерный сервер на ARM процессоре и тестирование VPS на AWS Graviton2 В предыдущей публикации рассматривались преимущества использование ARM серверов для хостинг провайдеров. В этом посте рассмотрим практические варианты создания кластерного сервера на ARM процессоре и протестируем инстанс Amazon EC2 T4g работающий на процессоре ARM AWS Grav...

[Перевод] Transformer в картинках В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (T...

Раскрыты ключевые параметры Qualcomm Snapdragon 898 Известный сетевой инсайдер Digital Chat Station раздобыл информацию о характеристиках новой однокристальной системы Qualcomm Snapdragon 898, которая должна лечь в основу флагманских смартфонов Xiaomi 12 и Samsung Galaxy S22. Источник пишет, что Qualcomm Snapdragon 898 п...

[Перевод] Сотовый телефон с дисковым номеронабирателем Перевод статьи с сайта самодельщицы Джастин Хопт Поскольку я получила неимоверное количество запросов от людей, желающих купить дисковый сотовый телефон, у себя на сайте я выложила набор для его сборки, где есть только всё самое «сложное» (напечатанный корпус с кнопками и...

Тестирование GeForce GTX 1060 и Ryzen 5 1600 AF в 10 популярных играх 2020 года Многие игроки, и я в том числе, до сих пор не спешат менять старенькие видеокарты GeForce GTX 1060 на что-то новое. В этом блоге я сделаю видео-тестирование этой видеокарты в 10 популярных играх 2020 года в связке с процессором Ryzen 5 1600 AF. Давайте посмотрим, как они спр...

[Перевод] Надоел JavaScript — используй браузерный Python Мой опыт разработки игры «Змейка» на Brython «Погоди, что?» – думаю, большинство читателей отреагирует на заголовок именно так. В смысле «просто использовать Python в браузере»? Все знают, что в браузерах работает только JavaScript. Ну, выше приведен скриншот с исходны...

16 тысяч подключений в секунду: как мы тестировали СКАЛУ-Р Виртуальное Рабочее Место Дано: 96 серверов, 16 000 виртуальных рабочих мест, 160 нагрузочных виртуальных машин и наш софт: система управления платформой виртуализации Скала-Р Управление (СУПВ) и VDI-решение Скала-Р Виртуальное Рабочее Место (ВРМ). Задача: протестировать систему на эдакий logon stor...

Особенности практического использования различных алгоритмов Многорукого бандита Большинство статей про алгоритмы, используемые для решения задачи многорукого бандита, очень академичны. Они пестрят формулами, графиками и статистическими таблицами. При этом как будто подразумевается, что у нас есть неизменяемый набор ручек для дёргания и n→∞ попыток. В эт...

«Образование для образованных». Проработка книги На неделе прочитал книгу "Образование для образованных 2020", написанную Левенчуком А.И. Впечатление о ней у меня сложилось двоякое. Статья будет полезна людям, желающим её прочитать. Дальше я расскажу, чего ожидать от прочтения, а чего не стоит. Читать далее

Магическая шаблонизация для Android-проектов Начиная с Android Studio 4.1, Google прекратил поддержку кастомных FreeMarker-ных шаблонов. Теперь вы не можете просто взять и написать свои ftl-файлы и сложить их в определённую папку, чтобы Android Studio самостоятельно добавила их в меню New → Other. В качестве альтернат...

Тестируем СХД OceanStor Dorado V6: производительность и отказоустойчивость Ранее я рассказывал о результатах проверки работы некоторых функций младшей модели OceanStor Dorado V6 от компании Huawei. Была протестирована работа мгновенного виртуального снимка HyperSnap, функций создания мгновенных снимков с высокой частотой HyperCDP и полных копий ис...

Core Web Vitals: с чего начать? Согласно web.dev, улучшение качества взаимодействия с пользователем — ключ к долгосрочному успеху любого сайта. Понимая, насколько важен для развития интернета качественный пользовательский опыт, компания Google в 2020 году представила инициативу Web Vitals. Это единое рук...

Terraform 12 и Terragrunt и как это можно применять для Multi-Cloud-инфраструктуры. Александр Довнар Что такое Terraform 12 и Terragrunt, и как это можно применять для Multi-Cloud инфраструктуры. Мы поговорим про IaC (Инфраструктура как код) влияние на современный мир и о том, как Terraform помогает работать с гетерогенных окружениях.Я хочу обсудить немного сам Terraform, ...

Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? Всем привет! В преддверии старта продвинутого курса «Разработчик IOS» мы публикуем перевод второй части статьи про неоморфизм с помощью SwiftUI (читать первую часть). Темная тема Прежде чем мы начнем разбираться с тем, как мы можем улучшить доступность неоморфизма, давай...

[Перевод] Портируем утилиту командной строки с Go/Rust на D Несколько дней назад, на реддите в «программировании», Paulo Henrique Cuchi поделился своим опытом разработки утилиты командной строки на Rust и на Go (перевод на Хабре). Утилита, о которой идет речь, — это клиент для его пет-проекта Hashtrack. Hashtrack предоставляет GraphQ...

Варианты использования конфигурации в ASP.NET Core Для получения конфигурации приложения обычно используют метод доступа по ключевому слову (ключ-значение). Но это бывает не всегда удобно т.к. иногда требуется использовать готовые объекты в коде с уже установленными значениями, причем с возможностью обновления значений без п...

Ahead-of-Time компиляция и Blazor В DotNet 6 запланирована поддержка AOT компиляции для Blazor WebAssembly приложений. Давайте попробуем запустить в Preview 2 версии.Анонса и инструкций пока что нету. Поэтому и решено написать этот пост. Читать далее

База данных на SharedPreferences — Android Kotlin Для хранения большого количества информации в Android используется DataBase (SQLite, FireBase и т. п.), а для простого хранения настроек SharedPreferences. Вопрос, можно ли использовать SharedPreferences как своего рода Базу Данных и как это сделать? Статья написана об учеб...

Появились первые тесты десятиядерного процессора Intel на новом сокете Компания Intel пока не представила настольные процессоры Comet Lake. Согласно недавним слухам, такие CPU выйдут в апреле, хотя анонс, конечно, может состояться раньше. Напомним, эти процессоры перейдут на сокет LGA 1200, но сохранят текущий 14-нанометровый техпроцесс и...

[Перевод] Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов Использование HAProxy в качестве Data Plane Service Mesh в архитектуре микросервисов HAProxy Data Plane API – это программа, которая работает вместе с HAProxy, чтобы вы могли полностью настроить балансировщик нагрузки HAProxy во время выполнения. Эта функция позволяет исполь...

Вебинар по Microsoft Azure: внедрение гибридной инфраструктуры Узнайте, как планировать, внедрять и управлять гибридной инфраструктурой в локальной, мультиоблачной и периферийной средах. Посетите это бесплатное мероприятие под руководством опытного инструктора, предназначенное для ИТ-специалистов, архитекторов, специалистов по инфрастру...

Из чего же, из чего же, из чего же… Сделан мир 1С Я верю: придёт великий день, и какой-нибудь могучий законодатель обяжет программистов 1С указывать на этикетке состав оказываемой услуги. С продуктами питания вроде получилось – не всё гладко, конечно, но отличить колбасу «точно не из мяса» от «возможно, из мяса» уже получае...

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

Что вообще значит «full stack»? Не счесть холиваров о том, стоит ли быть фуллстек-разработчиком. И в таких дискуссиях часто вылезает ещё один спорный вопрос: а что это понятие означает-то? «Фронтбэкендер»? «Многорукий Шива, мастер всего от инфраструктуры до тестирования»? «Человек, освоивший столько техно...

Пишем терминальный сервер для микроконтроллера на С Всем привет! В процессе работы над гексаподом AIWM я все чаще задумывался о каком-нибудь удобном интерфейсе для общения с ним. В результате тесной работы с Linux через терминал я подумал, а почему бы не использовать такой же интерфейс и в гексаподе? Я был очень удивлен, что ...

Sony объяснила, зачем в PlayStation 5 используется жидкий металл Sony раскрыла все секреты PlayStation 5. Компания опубликовала официальную разборку консоли Про нагрев Xbox Series X и PlayStation 5 ходят разные слухи, но пока делать какие-то выводы рано. Если говорить о новой консоли Sony, её габариты дают надежду на то, что проблем...

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++) Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V. Инфраструктура для этого микроконтроллера не такая обширная как для ST...

3D игры в Инстаграм на Javascript, или траектория полета колбасы После первой статьи о программировании игр в масках Инстаграм ко мне обратился заказчик с просьбой создать игру в Инстаграм для его пиццерии. Эту игру планировалось использовать для целей продвижения бизнеса. Я, конечно, понимаю, что, судя по количеству просмотров первой с...

Шеф, два счётчика: современные проекты аэротакси Наземная инфраструктура многих мегаполисов уже давно не справляется с потоком машин. Новые трассы помогают разгрузить локальные участки, но проблему пробок это не решает, лишь смягчает. Водители в Лондоне ежегодно тратят на стояния в заторах в среднем 9,5 дней — 227 часов....

Xiaomi не верит в подэкранную камеру: Xiaomi Mi 12 получит современный дисплей с крошечным отверстием Xiaomi довольно давно тестирует Super AMOLED-дисплей Samsung E5, который выполнен с применением технологии LTPO. В процессе тестирования были определены характеристики экрана, который будет использоваться в новом флагмане. Известный китайский инсайдер под ником Digital ...

Мониторинг дисковой подсистемы VMware через CIM/Zabbix В 2021 году уже известно, что Zabbix предлагает в качестве средства комплексного мониторинга инфраструктуры VMware набор шаблонов, использующих функционал Low Level Discovery (LLD) и элементы типа Host prototype, в которых создаются стандартные списочные сенсоры из известных...

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

[Перевод] Как я написал интро 4K на Rust — и оно победило Недавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максималь...

[recovery mode] Фрактальное тестирование Здравствуйте, меня зовут Дмитрий Карловский и я… люблю гнать всякую странную дичь. Осторожно, после этого доклада у вас может появиться странное, но непреодолимое желание удалить все модульные и e2e тесты из вашего проекта, ибо они требуют много ресурсов, но дают мало профит...

Самые интересные фичи Parallels RAS Продакт-менеджер Parallels Евгений Корепанов рассказал о наиболее интересных фичах решения по доставке приложений и инфраструктуры виртуальных рабочих столов Remote Application Server и его основных конкурентных преимуществах. Далее рассказ от первого лица. Enjoy! Paralle...

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

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

Автоматизация тестирования в микросервисной архитектуре Привет, Хабр. Меня зовут Сергей Вертепов, я senior backend инженер. Это небольшая обзорная статья о том, как мы тестировали монолитное приложение Авито, и что изменилось с переходом на микросервисную архитектуру. Читать дальше →

Создаем веб-приложение на Haskell с использованием Reflex. Часть 1 Введение Всем привет! Меня зовут Никита, и мы в Typeable для разработки фронтенда для части проектов используем FRP-подход, а конкретно его реализацию на Haskell – веб-фреймоворк reflex. На русскоязычных ресурсах отсутствуют какие-либо руководства по данному фреймворку (да и...

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

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

Toyota вложит $400 млн в стартап по разработке беспилотных машин Pony.ai Компания Toyota и стартап Pony. ai вместе работают над тестированием беспилотных машин с 2019 года. Сейчас же Toyota объявила о планах сделать это сотрудничество еще тесней — как передает The Verge, компания планирует инвестировать в стартап (базирующийся в США ...

[Перевод] Как подготовиться к интервью в YCombinator Один из первых наборов YC. Когда я готовился к интервью зимнего класса 2018 года, я пересмотрел все доступные источники по теме и провел около 20 практических интервью с выпускниками YCombinator. Ниже собрано воедино все, что я узнал. Это руководство – моё личное видение,...

Home Office на мобильном устройстве: используем Samsung DeX Многие компании в настоящее время уже перевели своих сотрудников на удаленную работу. Другие же планируют это сделать в ближайшее время. А можно ли работать из дома, имея в наличии только Android-смартфон или планшет? Конечно, возможно, особенно если это устройство с поддерж...

[Перевод] Автоматизируем работу с контейнерами через Makefile: сборка, тестирование и развёртывание за один вызов make Утилита make позволяет просто управлять контейнерами, объединив команды для сборки, тестирования и развёртывания в одном конфигурационном файле. Разработчики многие годы используют утилиту make. При запуске утилита читает файл с описанием проекта (Makefile) и, интерпретир...

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

Приглашаем на митап «Машинное обучение и инфраструктура вокруг него» 18 декабря в 14:00 Онлайн-митап «Машинное обучение и инфраструктура вокруг него: погружение DevOps-специалиста в мир MLOps» начнется в пятницу 18 декабря в 14:00 (МСК). Регистрация О чем будем говорить: — как в принципе работает ML и как оно пока не работает, — какая цифровая инфраструктура н...

В Швейцарии создан новый тест на коронавирус, работающий в 10 раз быстрее существующих Управление по санитарному надзору за качеством пищевых продуктов и медикаментов (FDA) США одобрило новый тест на коронавирус, который в десять раз ускорит тестирование пациентов по сравнению с тестированием с использованием систем MagNA Pure 24 и LightCycler 480. ...

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

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

Бренд Realme установил новый стандарт качества смартфонов Во вторник, 6 апреля 2021 года, компания Realme заявила, что будет использовать сертификацию для контроля качества и тестирование всех смартфонов бренда.Тестирование будет проходить в известном немецком международном независимом агентстве по аудиту оборудования, товаров и ус...

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

ок.tech: QATOK #2 5 марта в питерском офисе Одноклассников состоится ок.tech: QATOK #2 – митап, посвященный тестированию и всему что связано с обеспечением качества в ИТ-проектах. Нас ждет 3 технических доклада от представителей OK, Яндекса и VK, ребята расскажут про проблемы Espresso-автот...

[Перевод] Интерактивные эксперименты с машинным обучением (на TensorFlow) Вкратце Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере. Несмотря на то, чт...

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

[Перевод] Раскрашиваем треугольник программным способом Мне интересно воссоздавать работу GPU программно, поэтому я решил поделиться моим пониманием того, как можно выполнить раскраску треугольников методами простой линейной алгебры. Я напишу обобщённый 2D-массив элементов типа uint32_t под названием colorBuffer, который может ...

Google выпустит приложение Google Stadia для iPhone совсем скоро Спустя год после презентации сервиса Stadia, Google готовит приложение под iOS.     Google готовится к тестированию долгожданной версии своего сервиса Stadia для iOS. Однако тут не все так просто. Чтобы избежать новой странной политики App Store в отношении потоко...

Руководство по Node.js для начинающих. Часть 2 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Движок JavaScript V8 V8 — название движка JavaScript, поддерживаемого Google Chrome. Эта та штука, которая берет ваш JavaScript-код и выполня...

Тестируем недорогой промышленный светодиодный светильник TL-PROM-50-5K с честными характеристиками Тестирование в светотехнической лаборатории промышленного светодиодного светильника TL-PROM 50 мощностью 50 Ватт, предоставленного компанией «Главсвет». На официальном сайте glavsvet.su вы можете получить консультации и узнать более подробные спецификации. Пишу только чест...

[Перевод] Клон Doom в 13 килобайтах JavaScript В прошлом году я участвовал в соревнованиях JS13K 2019, на которых людям предлагается разрабатывать игры в менее чем 13 КБ кода на JavaScript. Я участвовал с клоном Doom, который назвал… «Ещё один клон Doom» (Yet Another Doom Clone). Поиграть в него можно здесь. Исходный к...

[Перевод] HTML трюки 1. Атрибут `loading=lazy` Совет по производительности. Вы можете использовать атрибут loading = lazy, чтобы отложить загрузку изображения до тех пор, пока пользователь не домотает до них. <img src='image.jpg' loading='lazy' alt='Alternative Text'> Читать дальше...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

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

Скромное обаяние конспирологии Эта статья написана для тех, кто получает комментарии вида «давайте без теорий заговора» или «это всё конспирология» в ответ на важные вопросы. Она поможет им как набор аргументов против подобных обвинений. Также она может быть полезна людям, которые стесняются прямо выска...

[Перевод] Илон Маск: «Лидар это потеря времени. Все, кто полагаются на лидар, обречены» Этому эссе ровно год. Давайте обсудим, что изменилось с тех пор и как поменялся расклад сил. Tesla делает ставку на компьютерное зрение, а не на лидар (презентация Tesla). В прошлом месяце на Tesla Autonomy Day Илон Маск объявил войну использованию лидаров в беспилотных ...

Как мы выбираем языки программирования в Typeable Неоднократно меня спрашивали, почему я предпочитаю использовать такие языки программирования как Haskell и Rust, т.к. они не являются самыми широко используемыми и популярными инструментами. Этот пост написан с целью демистифицировать то, что происходит у меня в голове, ког...

[Из песочницы] Выбор VPS. Битва хостингов Знаете, что заметила наша небольшая команда? Если какое-то время назад, буквально в январе, мы выбирали IT-инфраструктуру весьма халатно, то сейчас отношение сильно поменялось. Ресурсов реально меньше (никому не верьте, в ИТ тоже!) и хочется уже получить не первый софт/хости...

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

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

Переход с OpenVPN на WireGuard для объединения сетей в одну сеть L2 Хотел бы поделиться опытом объединения сетей в трех географически удаленных квартирах, в каждой из которых в качестве шлюза используются роутеры с OpenWRT, в одну общую сеть. При выборе способа объединения сетей между L3 с маршрутизацией подсетей и L2 с бриджингом, когда в...

Laravel–Дайджест (5–11 октября 2020) Полное руководство по аутентификации в Laravel. Новый фасад для ограничения скорости запросов. Быстрое параллельное тестирование. Стрим Тейлора: видео и текстовое резюме. Видеокурс по использованию Tailwind в Laravel. Читать дальше →

Генератор трафика Cisco TRex: запускаем нагрузочное тестирование сетевых устройств При разработке очередного роутера мы тестировали производительность сети с помощью полезной open-source-штуки — генератора трафика Cisco TRex. Что это за инструмент? Как им пользоваться? И чем он может пригодится инженерам-разработчикам? Под катом — ответы на эти вопросы. ...

Новая утечка предполагает, что в Windows 10 внесены серьезные улучшения пользовательского интерфейса Меню «Пуск» и Центр уведомлений Windows 10 могут быть обновлены с помощью настроек пользовательского интерфейса, так как была обнаружена новая ссылка на код в предварительных сборках крупномасштабного обновления. 21 августа Microsoft опубликовала Windows 10 Build 20197 для т...

Стоимость Bitcoin превысила 23 000 долларов Вчера мы сообщили, что криптовалюта Bitcoin взяла отметку 20 000 долларов и прогнозировали дальнейший рост. Он не заставил себя ждать. Сегодня за единицу самой известной криптовалюты уже давали больше 23 000 долларов. На момент написания этих строк курс откатился п...

Опять про «MikroTik» или долгожданный SOCKS5 Я прекрасно понимаю, что вас достали вездесущие микротики, но это действительно интересно. На самом деле статья написана с задержкой в 4 месяца (поддержка SOCKS5 появилась еще в январе 2020 года), но лучше поздно, чем никогда, тем более что информации об этом не так много ...

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

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

Web Vulnerabilities Playground Уже 3 ноября в OTUS пройдет день открытых дверей по курсу "Безопасность веб-приложений", в рамках которого вы сможете подробно узнать о курсе и пообщаться с нашими экспертами. А прямо сейчас хотим поделиться с вами авторской статьёй эксперта OTUS, вирусного аналитика в между...

[Перевод] Знакомство с драйверами Appium (или как выбрать нужный) Прим. пер.: эту статью я перевела в помощь тем, кто делает первые шаги в автоматизации тестирования и хочет узнать больше об инструменте Appium. В ней описывается общий принцип работы драйверов Appium, а также их виды и назначение. В начале пути многим тестировщикам не хвата...

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

Облачный сервис Google Stadia появится на iOS в качестве веб-приложения — когда ждать? App Store с неохотой даёт зеленый свет различным стриминговым сервисам. Это может вызывать недовольство, но корпорации пытаются находить обходные пути. Буквально сегодня мы уже рассказали о том, что Nvidia выпустила в режиме бета-тестирования свой сервис GeForce Now на iOS. ...

Смартфон Sony Xperia засветился в бенчмарке Geekbench В базе данных популярного бенчмарка Geekbench обнаружились результаты тестирования смартфона Sony Xperia, выход которого пока не известен. Тестируемый образец оснащался Qualcomm Snapdragon 765G, 8 ГБ ОЗУ и предустановленной операционной системой Android 10. В одноядерном тес...

[Из песочницы] Аналитика для Telegram-ботов, написанных на Python На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бот...

[Перевод] Последнее поколение беспроводной связи Сколько ещё поколения беспроводной связи смогут увеличивать частоты волн и скорость передачи данных до тех пор, пока это не станет физически бессмысленным? Один из основных маркетинговых аргументов связи поколения 5G – большая скорость по сравнению с любым из предыдущих по...

Java-дайджест за 21 апреля Выпущен монитор системных ресурсов, работающий на Raspberry Pi и 7-дюймовом экране. Зонд жрет всего 30 мегабайт оперативки без использования GraalVM (но как?). И зонд, и дисплей-сервер для Raspberry Pi используют JavaFX. В качестве платформы для мониторинга пока доступна т...

От внедрения зависимостей к отказу от зависимостей У функционального программирования есть одна большая проблема — о нем очень непросто рассказывать. Попытки донести людям что-то с использованием терминов типа «зигохистоморфный препроморфизм» легко сводят неподготовленного слушателя с ума. Марк Симан — автор популярной книг...

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

Использование механизмов криптографических токенов PKCS#11 на платформе Android Подошло время задействовать криптографические механизмы PKCS#11 и на платформе Android. Кто-то может сказать, что нет аппаратных токенов для Android. Но, если это и так, то это только временное явление. Но уже сегодня можно поставить программный токен или использовать облач...

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

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

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

Казахстан будет использовать технологические возможности OneWeb "Обсудили перспективы сотрудничества и использование технологических возможностей OneWeb в Казахстане и договорились о совместном тестировании их технологий на территории Казахстана - будем реализовывать пилотный проект OneWebDemo. Это позволит дать доступ населению к в...

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

[Перевод] Руководство по Express.js. Часть 2 Доброго времени суток, друзья! Представляю вашему вниманию перевод второй части Руководства по Express — веб-феймворку для Node.js автора Flavio Copes. Предполагается, что вы знакомы с Node.js. Если нет, то прошу сюда. Без дальнейших предисловий. Читать дальше →

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

[Из песочницы] Разбираемся с WebKit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4 Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова ...

«Оптика в каждую деревню»: как Индия планирует развивать сетевую инфраструктуру В прошлый раз мы рассказали о планах США модернизировать ИТ-инфраструктуру и перевести ее на гигабитные сети. Сегодня мы решили продолжить тему и поговорить об инициативах Индии. Там провайдеры проложат оптоволоконные кабели в каждую из 650 тыс. деревень всего за тысячу дней...

[Из песочницы] Контролируемые и неконтролируемые компоненты в React не должны быть сложными Привет, Хабр! Представляю вашему вниманию перевод статьи «Controlled and uncontrolled form inputs in React don't have to be complicated» автора Gosha Arinich. Возможно, вы видели много статей, говорящих: “вы не должны использовать “setState”", в то время, когда докумен...

Руководство по Node.js для начинающих. Часть 4 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Часть 4 Файл package-lock.json В пятой версии Node.js был представлен файл package-lock.json. Что это такое? Для чего он нужен, если есть ...

Как померить Node.js-приложение, если у тебя лапки. Доклад Яндекса Неважно, каких размеров ваше приложение на Node.js. Неважно, как хорошо вы написали код. Вам просто необходимо знать, как он работает в продакшене. Разработчик интерфейсов в поисковом портале Яндекса Алексей Попков сделал доклад о том, как выяснить, что происходит внутри зап...

[Из песочницы] Сборка тонкого клиента RDP на базе Raspberry Pi С ростом популярности мини-ПК типа Raspberry Pi, и подобных ему клонов, возникла масса кейсов по их использованию в ИТ-инфраструктуре предприятия, умном доме / даче / гараже, и в других применениях. Одним из удобных и желаемых кейсов является использование RPi как тонкого к...

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

[Перевод] Тестирование интеграции с внешним API при помощи мок-объектов на Python В этом руководстве продемонстрирован способ тестирования интеграции с внешним API при помощи мок-объектов на Python.Интеграция со сторонним приложением — это отличный способ расширить функционал продукта.В то же время преимущества интеграции несут с собой потенциальные ...

Как разрабатывать сотни A/B экспериментов А/Б-тестирование — это способ измерить эффективность нового функционала путем сравнения. Вы создаете новый заголовок, кнопку или изображение и показываете их только части аудитории сайта. В течение нескольких недель собираете статистику об использовании нового функционала и ...

«Бобы» Samsung Galaxy Buds X порадуют активным шумоподавлением Полностью беспроводные наушники Samsung Galaxy Buds X, которые известны под кодовым именем Beans, явно не сдвинут Apple AirPods с трона, однако могут стать действительно новыми и достойными наушниками. К примеру, им приписывают невероятную автономность в 11 часов, чего ...

Операционная система Redox 0.6, написанная на Rust: что нового в выпуске? Спустя полтора года разработки авторы операционной системы Redox 0.6, написанной с использованием языка Rust, опубликовали новый выпуск. Новинку можно протестировать — для этого в сеть выложены загрузочные образы. Их объем составляет 61 МБ. Свежая версия может тестироваться...

Релиз Node.js 16: обзор лучшего 20 апреля состоялся релиз новой 16 версии Node.js. Среди основных изменений обновление движка JavaScript V8 до версии 9.0, встроенные бинарники (двоичные файлы) для Apple Silicon и несколько API, но обо всем по порядку. С полным списком изменений можно ознакомиться здесь....

OpenIn.app — MacOS приложения для ссылок и файлов Привет, Хабр!Давно я ничего не публиковал на Хабре, но вот решил сегодня написать в Я пиарюсь (читай карма-самоуничтожение или как это называется сейчас?)Решил в свободное время заняться разработкой под MacOS и iOS. Начал пока с MacOS. Идей много, так что приложений будет мн...

[Перевод] Средства консоли Chrome, которыми вы, возможно, никогда не пользовались Консоль инструментов разработчика Chrome — это, вероятно, одно из самых широко используемых и самых полезных специализированных средств браузера. Консоль даёт программисту множество интересных возможностей. Она помогает в отладке, профилировании и мониторинге кода страниц. ...

Программные IP-АТС, E1, DSS-1 и нагрузочное тестирование Всем доброго вечера! Сегодня я решил написать про тестирование протокола DSS-1 в IP-АТС, начнем как всегда с теории, рассмотрим преобразования сообщений из SIP в DSS-1, поговорим про анализаторы протоколов и закончим нагрузочным тестированием. Читать дальше →

Производительность RemoteFX, часть 1 О технологии RemoteFX от Майкрософт, которая повышает качество работы в режиме удалённого рабочего стола, известно давно. В интернете хватает материалов, демонстрирующих её эффективность. Но большинство оценок носят качественный характер: "вот играем в %game_name%, fps в нор...

Многопользовательская сетевая игра Ticket to Ride Привет, Хабр! Мы — Тимофей Василевский, Сергей Дымашевский и Максим Чайка — только что окончили первый курс бакалавриата «Прикладная математика и информатика» в Питерской Вышке. В качестве семестрового проекта по C++ мы написали симулятор всем известной настольной игры Ticke...

Windows 11 Insider Preview Build 22000.100 стал доступен на канале Beta Добрый вечер, друзья! Компания Microsoft объявила о начале тестирования Windows 11 среди инсайдеров, использующих канал Beta. До текущего момента все сборки выпускались лишь на канале Dev. К слову, если вы используете Dev-канал, то это отличный момент, чтобы подумать о пере...

Zymo Research получает разрешение 510(k) на свое устройство для сбора проб на COVID-19 Первая транспортная среда для образцов, тестируемых на COVID-19, получившая разрешение 510(k) ИРВАЙН (шт. Калифорния), 11 марта 2021 г. /PRNewswire/ — Компания Zymo Research сегодня объявила о том, что Управление США по санитарному надзору за качеством пищевых продукто...

[Перевод] Кунг-фу стиля Linux: утилита marker и меню для командной строки Командная строка… Её можно любить или ненавидеть, но тому, кто пользуется Unix-подобными операционными системами, без неё не обойтись. Облегчить работу в командной строке можно с помощью утилиты marker. В её репозитории о ней говорят как о «панели команд для терминала». Пола...

Визуализация использования GIL в CPython Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3. Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM. Теор...

Не хочется ждать в очереди? Напишем свой диспетчер для SObjectizer с приоритетной доставкой SObjectizer — это небольшой фреймворк для C++, который дает возможность разработчику использовать такие подходы, как Actor Model, Communicating Sequential Processes и Publish/Subscribe. Одной из ключевых концепций в SObjectizer являются диспетчеры. Диспетчеры определяют где...

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

[Перевод] Прокачка BBC Master Не так давно я написал статью о восстановлении и апгрейде BBC Micro. На этот же раз, как и обещал, я представляю вашему вниманию его старшего брата – BBC Master! Этого красавца я купил давненько, после чего он так и лежал на полке в ожидании. Теперь же я, наконец, нашел вр...

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

Пишем драйвер фреймбуфера для Raspberry Pi с LCD Прочитав монументальную серию статей о подключении LCD экрана к роутеру мне захотелось сделать то же самое. Однако многообразие используемого стека (openwrt, stm32, usb) в сочетании с отсутствием полных исходников кода но может плохо искал несколько затруднило задачу. Я реши...

Фичи JavaScript. Часть 1 Доброго времени суток, друзья! В этой статье я хочу поделиться с Вами некоторыми находками, сделанными мной в процессе изучения JavaScript. Возможно, Вы найдете для себя что-то интересное. Данная часть серии будет посвящена, преимущественно, работе с DOM. Рекомендую прим...

Сервис на языке Dart: flutter web-страница Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL 2.3. Серверное приложение на Дарт ... 3. Web 3.1. FlutterWeb страница (мы находимся здесь) ... 4. Mobile ... Подготовка В пр...

[Перевод] Android: Bluetooth в качестве сервиса Почему? И как?Вы когда-нибудь задавали себе вопрос, прочитав официальное руководство по bluetooth для Android, как управлять им внутри вашего приложения? Как сохранить соединение активным, даже когда вы переходите от одного действия к другому?Что ж, в этом руководстве я пост...

Попытка использовать Raspberry Pi 4 в качестве десктопа: результаты и впечатления Привет, Хабр. С момента появления Raspberry Pi 4 стало значительно больше желающих использовать этот микрокомпьютер в качестве основного ПК. Вычислительная мощность Pi4 стала уже весьма неплохой, да и полноценный Linux «на борту» звучит многообещающе. Меня давно интересовал...

Managed Databases в Selectel: приглашаем в бету Сегодня мы представляем открытую для тестирования бета-версию Managed Databases для PostgreSQL, использование которой будет бесплатным на период бета-тестирования. Базы данных — один из наиболее значимых и сложных компонентов любой информационной системы или приложения. Пр...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

В WhatsApp появилась долгожданная работа на нескольких устройствах Пользователи Android, которые тестируют бета-версию WhatsApp, получили возможностью скачать обновление 2.21.14.1, приносящее возможность одновременного использования одной учётной записи на нескольких устройствах. Эта бета-версия WhatsApp также добавляет новую функцию к...

17 интересных (и забавных) API для вашего проекта В этой статье я собрал несколько интересных сервисов с API, многие из которых вы можете использовать как основу для вашего приложения. Другие же отлично подходят как уникальные фичи, которые помогут разнообразить опыт использования вашей программы. Читать дальше →

Автоматизация UI-тестирования в приложении Недвижимости на Android. Доклад Яндекса Чем больше процессов тестирования автоматизированы, тем эффективнее релизный пайплайн и тем быстрее пользователи получают новые возможности в сервисе. Руководитель Android-разработки Яндекс.Недвижимости Александр Рогов вспомнил, как эволюционировало UI-тестирование в его ком...

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

Свой личный SMS-шлюз. Часть 1 – цели, задачи, сборка и тестирование Представляю вам цикл статей по созданию собственного шлюза для отправки SMS-сообщений. В первой части мы определим цели и некоторые аспекты использования своего шлюза, настроим программное обеспечение для отправки SMS с использованием USB-модемов, а также рассмотрим нескол...

Shodan — темный близнец Google Источник S in IoT stands for SecurityПро Shodan уже не раз писали, в том числе и здесь. Я хочу предложить еще раз пробежаться по возможностям этого замечательного инструмента и принципам его работы. Сразу хочу оговориться, ситуация с этим поисковиком вполне классическая для...

[Перевод] Серфинг интернета геймпадом (Javascript) Сидя за столом, вы используете мышку и клавиатуру, сидя на диване — скорей всего тачпад ноутбука или тачскрин планшета. Возможно, вы даже используете Leap Motion и управляете компьютером с помощью жестов. Как вы уже поняли, существует множество способов серфить интернет и у...

[Из песочницы] Пока смерть не разлучит нас или всё о static в C++ Всем привет. На одном из код-ревью я столкнулся с мыслью, что многие, а чего скрывать и я сам, не то чтобы хорошо понимаем когда нужно использовать ключевое слова static. В данной статье я хотел бы поделиться своими знаниями и информацией по поводу ключевого слова static. ...

FlaNium: как сделать тестирование Desktop-приложений под Windows проще На рынке так много программных продуктов для тестирования, что может показаться, будто для всего найдется готовое решение и нет необходимости тратить время и усилия на разработку инструментов тестирования. На самом деле это не так. Мы в «ЛАНИТ Экспертизе» убедились в этом, к...

Насколько детальной должна быть User Story? В agile-командах часто возникает спор, насколько детально должна быть проработана User Story, прежде чем ее следует передавать разработчикам. Некоторым разработчикам хотелось бы видеть максимально подробное описание, прочитав которое, они могли бы сразу всё понять и быстро с...

[Перевод] “Давайте использовать Kubernetes!” Теперь у вас 8 проблем Если вы используете Docker, следующим логичным шагом кажется переход на Kubernetes, он же K8s, правильно? Ну, предположим. Однако решения, предназначенные для 500 инженеров-программистов, одновременно разрабатывающих одно приложение, достаточно сильно отличаются от решений д...

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

Создаём инфраструктуру для интеграционных тестов Меня зовут Слава Черепанов, я работаю в 2ГИС в проекте Fiji. Мы делаем профессиональную ГИС-систему, с помощью которой картографы создают карту мира в 2ГИС. Расскажу, как в этом проекте за 4 года эволюционировала инфраструктура интеграционных тестов. Это будет не летопись, а...

Обзор и тестирование твердотельного накопителя Team T-Force CARDEA Ceramic C440 M.2 PCIe 4.0 объемом 1000 Гбайт Пока одни обещают новую ревизию скоростной шины PCI Express, другие уже второй год как ее предлагают. Нерасторопность Intel растянуло внедрение этого интерфейса, из-за чего некоторые продукты, использующие его, не спеша выходят из стадии...

Веб тренды 2020 которые стоит попробовать Последние несколько лет мы наблюдаем множество изменений в мире веб технологий. В 2020 году, я хочу обратить ваше внимание на два основных тренда/цели которые есть у веб комьюнити: расширяемость и совместимость. Расширяемость (Extensibility) Расширяемость это когда вы может...

[Из песочницы] Вячеслав Смирнов — Ускоряем Apache JMeter Вячеслав Смирнов — Ускоряем Apache JMeter Apache JMeter не требует рекламы, но нечасто время уделяют скорости работы самих нагрузочных скриптов. Вячеслав рассматривает подходы к оптимальному написанию скриптов, что позволяет сэкономить на нагрузочных машинах и позволяет по-...

Балансировка нагрузки в Zimbra Open-Source Edition при помощи HAProxy Одной из главных задач при построении масштабных инфраструктур Zimbra OSE является грамотная балансировка нагрузки. Помимо того, что она повышает отказоустойчивость сервиса, без балансировки нагрузки невозможно обеспечить одинаковую отзывчивость сервиса для всех пользователе...

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

Surface Hub начинает получать Windows 10 Team 2020 Update Microsoft рада сообщить, что обновление Windows 10 Team 2020 Update будет доступно через Центр обновления Windows для устройств Surface Hub 55” и 84” первого поколения с 24 февраля. Первоначально Microsoft сделает Windows 10 Team 2020 доступным в ближайшие недели, как указан...

Galaxy S20 и Huawei P40 развяжут новую войну камер в смартфонах На выходных появился слух о том, что смартфонам Samsung Galaxy S20 и Galaxy S20 Plus 108-мегапиксельные камеры не достанутся. Сегодня известный инсайдер написал в Twitter, как надо правильно интерпретировать эти данные. Как сообщается, максимальное разрешение ...

[Перевод] Как разобраться в API HTML? Автор статьи, перевод которой мы сегодня публикуем, решил разобрать несколько HTML5-API  и поговорить об их возможностях, о том, для чего они созданы, об особенностях их использования и об их ограничениях. Читать дальше →

Бот в telegram, который следит за доменом Привет жителям Хабра. В попытках изучения PHP и долгих раздумьях, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков. Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату...

[Перевод] Обеспечиваем безопасность в гибкой разработке и CI/CD DevOps появился из-за культурных, функциональных и технических разногласий между командами разработчиков, желающими часто выпускать свой продукт, и командами эксплуатации, желающими сохранить надежность и стабильность. Культура DevOps затрагивает как сотрудничество, принцип...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

[recovery mode] Переезд от jQuery к Svelte, без боли Всем привет. Я бэкэнд разработчик и фронтэнд задачи решаю как умею, то есть на jQuery, это работало в 2015, работает и сейчас. Но при наличии Vue и React это уже не камильфо. Из любви к особому пути я решил осваивать не проверенный миллионами разработчиков Angular/React/Vue...

F#, увеличение контраста изображения путем выравнивания гистограмм Операция выравнивания гистограмм (увеличение контраста) часто используется для увеличения качества изображения. В рамках этой статьи будет рассмотрено понятие гистограммы, теория алгоритма для ее выравнивания, практические примеры работы этого алгоритма. Для облегчения обраб...

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

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

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

[Перевод] Как я получил сертификат TensorFlow-разработчика (и как его получить вам) В начале мая я решил получить сертификат TensorFlow-разработчика. Для этого я разработал программу обучения для совершенствования своих навыков и выполнил задания сертификационного экзамена пару дней назад (3 июня). Оказалось, что я сдал экзамен успешно. Позвольте мне рас...

[Перевод] PowerShell — это язык программирования? Является ли PowerShell языком программирования? Совершенно определённо — является. И не обращайте внимание на тех, кто говорит, что это не так. Многие, работающие в сфере программирования, могут просто посмеяться над мыслью о том, что код, написанный для PowerShell — это неч...

[Из песочницы] Alpine.js — легковесный фреймворк с удобным синтаксисом Многие разработчики полюбили лаконичный синтаксис и мощь директив Vue.js настолько, что даже пытаются использовать этот фреймворк не только в одностраничных приложениях. Сложно отказаться от использования реактивности, только потому, что вдруг понадобилось написать небольшой...

[Перевод] Алюминиевый профиль как универсальный ресурс для сборки чего угодно. Часть 2 В прошлой статье мы говорили о типах алюминиевого профиля, видах крепежа и других нюансах. Сейчас наступила очередь добавить к профилю еще один отличный инструмент — 3D-печать. Воистину, используя алюминиевый профиль и напечатанные на принтере пластиковые детали можно собра...

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

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

ACL коммутаторов в деталях ACL (Access Control List) на сетевых устройствах могут быть реализованы как аппаратно, так и программно, или привычней говоря hardware и software-based ACL. И если с software-based ACL должно быть всё понятно, — это правила которые хранятся и обрабатываются в оперативной пам...

Rust — сохраняем безразмерные типы в статической памяти Не так давно в качестве хобби решил погрузиться в изучение embedded разработки на Rust и через какое-то время мне захотелось сделать себе логгер, который бы просто писал логи через UART, но который бы при этом не знал какая конкретно реализация используется. И вот тут я быст...

[Из песочницы] А давайте в Go сделаем TryLock(context.Context) Привет! Вэтой статье я хотел бы расcказать, как можно было бы сделать свой RWMutex, но с возможностью по таймауту или по срабатыванию контекста пропустить блокировку. То есть реализовать TryLock(context.Context) и RTryLock(context.Context), но уже для своего Mutex. На карт...

Как можно оптимизировать dot-product и не только. Доклад Яндекса Разработчик инфраструктуры качества поиска Яндекса Ильнур Хузиев ilnurKh взял простую задачу — скалярное произведение двух векторов — и попробовал выжать все соки производительности кода. Из доклада вы узнаете, как использовать возможности процессора, настройки компилятора (...

Xiaomi запустила Android 11 ещё для одного смартфона. Стартовало тестирование на Xiaomi Mi CC9 Pro Компания Xiaomi начала распространять тестовое обновление фирменной оболочки MIUI 12 на основе Android 11 для модели Xiaomi Mi CC9 Pro, известной на международном рынке как Xiaomi Mi Note 10.  Xiaomi уже тестирует Android 11 на смартфонах Redmi K30 Pro, Mi 10 и Mi...

[Перевод] ELK SIEM Open Distro: Введение. Развертывание инфраструктуры и технологий для SOC как Service (SOCasS) ELK SIEM Open Distro: Введение. Развертывание инфраструктуры и технологий для SOC как Service (SOCasS) За последние пару лет количество кибератак зашкаливает. Эти атаки нацелены не только на отдельных людей, но и на фирмы, правительства, критическую инфраструктуру и т. д. Тр...

[Перевод] Основы работы с Helm чартами и темплейтами — Часть 2 В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта. Читать дальше →

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

Простой rpm репозиторий используя Inotify и webdav В этом посте рассмотрим хранилище rpm артефактов c помощью простого скрипта с inotify + createrepo. Заливка артефактов осуществляется через webdav используя apache httpd. Почему apache httpd будет написано ближе к концу поста. Итак, решение должно отвечать cледующим требован...

Netflix начал тестировать игры для Android — пока только в Польше 26 августа подписчикам Netflix стали доступны первые мобильные игры — обе по «Очень странным делам» и для Android. Пока тестирование нового раздела с играми проводится только в Польше. О планах Netflix включить игры в предложение своего стримингового сервиса стало известно в...

[Перевод] Использование потоков WebAssembly из C, C++ и Rust Поддержка многопоточности стала одним из важнейших апгрейдов производительности в WebAssembly. Она позволяет выполнять либо части кода на разных ядрах параллельно, либо один код для независимых элементов входных данных, масштабируя его на максимально доступное пользователю...

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

'Hello World' вам в облако Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успе...

[Перевод] Пугающая антиутопия интервью для программистов Эксперименты У меня зазвонил телефон. — Алло, это Джаред. — Здравствуйте. Я звоню вам насчёт телефонного собеседования в Гигантской Поисковой и Рекламной Компании [очевидно, это Google — прим. пер]. — Да! С нетерпением ждал вашего звонка! — Хорошо. Можете написать алгор...

[Перевод] Руководство по версиям и возможностям Java Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13 — какая разница? Вы можете использовать это руководство, чтобы найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, Oracl...

[Из песочницы] Помощник в проведении технического интервью и совместный кодинг Сколько мне довелось пройти технических собеседований на фронтенд разработчика, столько разных способов и инструментов на них использовали интервьюеры. Чат в одном месте, созвон в другом, кодинг в третьем. «Ой, что-то не работает этот сервис, а расшарь-ка экран. Ой, код р...

Лицензия iLO Advanced. Для чего она нужна именно сейчас? В статье рассмотрел наиболее важные, на мой взгляд, преимущества лицензии iLO Advanced для процессора управления HPE Proliant Light-Out. И, самое главное, написал инструкцию, как получить временную лицензию со сроком действия до 1 января 2021 года. Читать дальше →

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

[Перевод] Полное руководство по инкрементной регенерации статических сайтов с помощью Next.js Год назад во фреймворке Next.js 9.3 появилась поддержка генерирования статических сайтов (Static Site Generation, SSG), что сделало его первым гибридным фреймворком. Я к тому моменту уже несколько лет с удовольствием пользовался Next.js. Но тот релиз сделал Next.js моим новы...