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

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

[Перевод] Интеграционные тесты баз данных с помощью Spring Boot и Testcontainers 1. Обзор С помощью Spring Data JPA можно легко создавать запросы к БД и тестировать их с помощью встроенной базы данных H2. Но иногда тестирование на реальной базе данных намного более полезно, особенно если мы используем запросы, привязанные к конкретной реализации БД. В эт...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

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

Полный цикл тестирования React-приложений. Доклад Авто.ру Стремление уйти от ручного регрессионого тестирования — хороший повод внедрить автотесты. Вопрос, какие именно? Разработчики интерфейсов Наталья Стусь и Алексей Андросов вспомнили, как их команда прошла несколько итераций и построила тестирование фронтенда в Авто.ру на базе ...

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

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

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

Монолит для сотен версий клиентов: как мы пишем и поддерживаем тесты Всем привет! Я бэкенд-разработчик в серверной команде Badoo. На прошлогодней конференции HighLoad я выступал с докладом, текстовым вариантом которого и хочу поделиться с вами. Этот пост будет наиболее полезен тем, кто самостоятельно пишет тесты для бэкенда и испытывает пр...

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

Тест-драйв Toyota ProAce Verso: ТОП-5 вопросов и ответов Обычно подобный формат статьи я использую для новой версии автомобиля, где важно зафиксировать перемены. А почему так пишу о модели Toyota ProAce Verso? Потому, что Toyota является ближайшим родственником Citroen SpaceTourer и Peugeot Traveller – и при рассказе о «японце» не...

[Перевод] Встречайте Codeception 3.0 Настало время воплотить в жизнь новую мажорную версию Codeception! За годы эволюции и постоянных улучшений мы многому научились, и сегодня представляем вам лучшую версию Codeception. Мы по-прежнему считаем, что простота тестирования важна: чтение, написание и отладка тестов ...

REST Assured: что мы узнали за пять лет использования инструмента REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала. В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования ст...

[Перевод] Метаморфическое тестирование: почему об этой перспективной методике почти никто не знает Должен признаться: я читаю ACM Magazine. Это делает меня «ботаником» даже по меркам программистов. Среди прочего, я узнал из этого журнала о «метаморфическом тестировании». Раньше я никогда о нём не слышал, как и все люди, которых я спрашивал. Но научная литература по этой ...

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

[Перевод] Мутационное тестирование: тестируем тесты Написание тестов должно вселять в нас уверенность в корректной работе кода. Часто мы оперируем степень покрытости кода, и когда достигаем 100 %, то можем сказать, что решение корректное. Уверены в этом? Быть может, есть инструмент, который даст более точную обратную связь? ...

Тестирование на примере ReactJS: насколько глубока кроличья нора Всем привет, меня зовут Ярослав Астафьев, и сегодня я хотел бы провести обзорную экскурсию в тестирование ReactJS. Я не буду углубляться в сложности тестирования веб приложений с использованием определенных библиотек (руководствуясь подходом «сложно тестировать только плохой...

Простые рецепты хороших юнит-тестов. Лекция Яндекса Если освоить небольшой список типичных ошибок, возникающих при написании юнит-тестов, можно полюбить писать их и стать гуру в своей команде. Руководитель санкт-петербургской группы разработки Яндекс.Браузера для Android Константин Заикин kzaikin рассказывает о подобных ошибк...

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

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

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

[Из песочницы] Ломаем паттерн проектирования — Singleton в PHP Одним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями. Читать дальше →

[Из песочницы] Пишем «Hello, world!» приложение для web на Haskell (Spock) Мне стало скучно писать на Python, захотелось чего-нибудь необычного. Решил попробовать Haskell. Языка я не знаю, однако просто писать консольные учебные программы, типа вычисления факториала, не хотелось. После изучения довольно большого числа постов про Haskell и его приме...

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

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

Чего мне не хватает в Java после работы с Kotlin/Scala В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. О...

Upgrade дисковой подсистемы старого сервера с шиной PCIe 1.0 — 2.0 Почему темой данной статьи выбран апгрейд дисковой подсистемыПонятно, что в первую очередь нужно, как правило: Увеличить оперативную память. Это настолько очевидный ход, что я даже не счёл нужным писать об этом в основной статье Поставить дополнительный процессор(ы) или за...

[Из песочницы] Headless CMS. Почему я пишу свою Всем привет! Написать эту публикацию меня побудила вот эта недавняя статья (вчера увидел). Пересказывать основные признаки Headless/content-first/api-first и т.п. CMS я не буду, материала полно и наверняка уже многие знакомы с этим трендом. А хочу я рассказать почему и ка...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

[Перевод] Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенУ нас есть компонент переключатель...

[Перевод] Почему все мои игры выглядят так отстойно Мы потратили на создание этой игры несколько лет. От неё зависит будущее нашей семьи. Почему же она так ужасно выглядит? Я уже 25 лет зарабатываю на жизнь написанием инди-игр. У нас с женой есть небольшой семейный бизнес. Мы создаём низкобюджетные ролевые игры в ретро-стил...

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

Автоматизируем тестирование redux селекторов в приложении В этой статье я хотел бы поделиться своими идеями того, как можно автоматизировать написание unit-тестов в react/redux приложениях. Идеи эти родились в одной из дискуссий с коллегами, в процессе написания тестов, и, как мне кажется, предложенное решение имеет право на жизнь....

JUnit в GitLab CI с Kubernetes Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним...

[Из песочницы] Записка frontend-архитектора #1. Нельзя просто так взять и использовать Redux Дисклеймер Уважаемый читатель! Если вы не имеете понятия, что такое React и Redux, читать дальше не имеет смысла, дальше технический бред. Я серьезно, понимание к чему эта записка, требует работы с указанными библиотеками — несмотря на то, что я постараюсь писать понятно, эт...

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

Kubernetes Operator на Python без фреймворков и SDK Go на данный момент является монополистом среди языков программирования, которые люди выбирают для написания операторов для Kubernetes. Тому есть такие объективные причины, как: Существует мощнейший фреймворк для разработки операторов на Go — Operator SDK. На Go написа...

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

[Из песочницы] Создание своего jsfiddle, часть 1 Привет всем читателем habr. В данной статье мы напишем свой онлайн редактор кода. Зачем я писал свой онлайн редактор кода В один день мне стало интересно насколько сложно создать свой онлайн редактор по типу jsfiddle, из-за чего я решил написать свой редактор. Написание сво...

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки. TDD — ну, это все знают, сначала пишем тесты, а потом остальной код. BDD — что-то знакомое, вроде как, тоже тесты, но особенные. TDD — снов...

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

[Из песочницы] AnyStub, библиотека заглушек соединений в Java В отличие от множества платформ Java страдает от недостатка библиотек заглушек соединений. Если вы давно в этом мире, то наверняка должны быть знакомы с WireMock, Betamax или даже Spock. Многие разработчики в тестах используют Mockito для описания поведения объектов, DataJpa...

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

К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...

Как строить, развертывать и тестировать Waves RIDE dApp Здравствуйте! В статье я покажу, как написать и запустить на ноде Waves обычный dApp. Рассмотрим необходимые инструменты, методы и пример разработки. Схема разработки dApps и обычных приложений почти не отличается: Пишем код Пишем автоматизированное тестирование Запуска...

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

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

Управление семисегментным дисплеем с помощью ПЛИС Привет, Хабр! Хочу внести свою посильную лепту в продвижение ПЛИС. В этой статье я постараюсь объяснить, как на языке VHDL описать устройство, управляющее семисегментным дисплеем. Но перед тем как начать, хочу кратко рассказать о том как я пришел к ПЛИС и почему я выбрал язы...

Пишем telegram-бота на python с помощью библиотеки telebot часть 2 Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишит...

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

Печать титаном, доступная каждому - новый композит от Filamentarno. Осторожно, кликбейт! Добрый день, коллеги!В данной статье – обзор на композит Titan GF-12 производства компании Filamentarno. Никакого отношения к титану, как металлу, композит не имеет. Обращаю внимание, что тесты в статье сделаны исключительно ради наглядности. Лабораторные испытания провел пр...

Навигация для Android с использованием Navigation Architecture Component: пошаговое руководство Попробуем, пользуясь официальным руководством и примерами кода, построить работающую систему навигации для будущего многоэкранного приложения в соответствии со стандартами Navigation Architecture Component. Статья включает следующие разделы: Часть 1. Подготовительные работ...

[Перевод] Глупая причина, по которой не работает ваше хитрое приложение машинного зрения: ориентация в EXIF Я много писал о проектах компьютерного зрения и машинного обучения, таких как системы распознавания объектов и проекты распознавания лиц. У меня также есть опенсорсная библиотека распознавания лиц на Python, которая как-то вошла в топ-10 самых популярных библиотек машинного ...

UpYourLevel WEB-программирование — тесты UpWork 1.1 Это приложение для тренировки в прохождении теста по WEB-программированию. Первым тестом в этой серии идет тест по HTML (HTML5 Test 2018) от самой популярной на сегодня биржи фриланса. Здесь вы можете не только ознакомиться с вопросами, но и потренироваться проходить их на...

Результаты тестов AMD Ryzen 9 3900X с включённой и отключённой функцией SMT AMD Ryzen обладает превосходной многоядерной производительностью, и даже Windows 10 теперь может эффективно использовать все дополнительные ядра. Многие игры масштабируются до нескольких ядер, и большинство игр традиционно кодируются для однопоточной производительности, в ко...

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

Бэкап для Linux не пишет писем Всем привет! Сегодня хочу поведать о том, как управлять Veeam Agent for Linux с помощью командной строки, и о том, какие возможности она открывает в умелых руках программиста. На написание статьи меня подтолкнул комментарий к предыдущей статье. Перефразирую удивление поль...

Moto. Мокаем AWS Тестирование — это неотъемлемая часть процесса разработки. И иногда разработчикам требуется запустить тесты локально, до того момента коммита изменений. Если приложение использует Amazon Web Services, python библиотека moto идеально для этого подходит. Читать дальше →

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

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

[Перевод] Новый Windows Terminal: ответы на некоторые ваши вопросы В комментариях к недавней статье вы задали много вопросов по поводу новой версии нашего Windows Terminal. Сегодня постараемся ответить на некоторые из них. Под катом приведены некоторые из наиболее часто задаваемых вопросов, которые мы слышали (и до сих пор слышим), а также...

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

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

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

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

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

[Из песочницы] Хороший, плохой, злой — тестирование в проекте новичков Предисловие: в университете было получено задание — собрать scrum команду, выбрать проект и работать над ним в течении семестра. Наша команда выбрала разработку веб-приложения (react + flask). В этой статье я постараюсь рассказать, какими тесты должны были быть, и проанализи...

Redux — пересмотр логики reducer'a и actions На днях ковыряясь в множестве файлов redux'a, где по логике файлы вынесены в reducers, actions, константы типов actions. Bсе это оказалось весьма не простая задача держа все эти типы файлов у себя в голове и прослеживать логику. И… эврика, появилась идея упрощения написания...

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

Вопросы для собеседования — от кандидата к работодателю Все мы привыкли к тому, что на собеседованиях задают много вопросов. Обычно — работодатели кандидатам. Один из таких вопросов — “а у вас есть вопросы к нам?”. Довольно часто кандидаты не готовы к этому. И зря. Задавать вопросы работодателю — это совершенно нормально и даже н...

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

Инженерный подход к разработке ПО. От теории к практике Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Что делать, когда возможностей тестов недостаточно? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндекс.П...

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

Introscope: ну очень ленивое unit-тестирование Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно струк...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

Реализация паттерна Page Object на Python + pytest Когда я начинал изучать автоматизацию тестирования, не мог понять — “что такое Page Object и как его реализовать на Python + pytest?”. Штудируя интернет, нашел реализацию на других языках и фреймворках: обучающие статьи, которые были непонятны для меня. Поэтому решил написат...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

[Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы ...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

Последний рубеж обороны QA: автоматическое обнаружение ошибок Привет! Меня зовут Асхат Нурыев, я ведущий инженер по автоматизации в компании DINS. Я работаю в Dino Systems последние 7 лет. За это время пришлось заниматься разными задачами: от написания автоматических функциональных тестов до тестирования производительности и высокой...

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

ML.NET: впечатления от Model Builder и не только Доброго времени суток и мое почтение, читатели Хабра! Предыстория У нас на работе принято обмениваться интересными находками в командах разработки. На очередной встрече, обсуждая будущее .NET и .NET 5 в частности, мы с коллегами заострили внимание на видении унифицированный ...

[Перевод] Автоматизация Android. Супер простое руководство по созданию первого Espresso-теста Здравствуйте, друзья. В преддверии старта курса «Mobile QA Engineer», хотим поделиться с вами переводом интересного материала. Что такое Espresso? Нет, это не напиток, который вы пьете каждый день, чтобы взбодриться. Espresso — это тестовый фреймворк с открытым исходным к...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Тесты на Си без SMS и регистрации Недавно zerocost написал интересную статью «Тесты на C++ без макросов и динамической памяти», в которой рассматривается минималистический фреймворк для тестирования Си++ кода. Автору (почти) удалось избежать использования макросов для регистрации тестов, однако вместо них в ...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

Хитрости в Machine Learning — работа с несколькими моделями в Keras Это моя первая статья по теме Машинное обучение. С недавнего времени я профессионально занимаюсь машинным обучением и компьютерным зрением. В этой и будущих статьях я буду делиться наблюдениями и решениями специфических проблем при использовании TensorFlow и Keras. В этой ст...

Как подключить галерею PhotoSwipe в WebView android Я не профессиональный разработчик, хотя и учился на программиста. Сейчас работаю системным администратором и планирую переходить в разработчики. Пишу для себя приложение, которое парсит один из популярных сайтов тематики IT и показывает статьи в нативном приложении android. ...

Какой язык программирования выбрать После того, как я написал статью «Почему не нужно учить Python первым языком», я на регулярной основе получаю много вопросов в личку, что лучше выбрать, как быть и так далее. Поэтому в этой статье я расскажу вам свои мысли на этот счет. И самое главное отвечу на «Священный Г...

Puppeteer c ES6 в ноде и браузере, или почему Zora это лучший тест-фреймворк в своей нише Все хорошо, пока вам нужно прогнать JS исходники через бабели-шмабели для создания бандла, но начинается сущий ад, когда вы захотите написать тесты для вашего сайта или бибилиотеки. Проблема в том, что все тест-фреймворки используют специфичные функции из ноды или/и написаны...

MVCC-1. Изоляция Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL. Материал будет основан на учебных курсах по администрированию, которые делаем мы с Павлом pluzanov. Смотреть видео не все любят (я точно не л...

[Перевод] Настало время сделать новый Windows Terminal profiles.json Я говорил об этом в течение нескольких месяцев, но если вы не слышали, вышел новый Windows Terminal. Вы можете скачать его из Windows Store и сразу же начать использовать. Все бесплатно и open source. На момент написания этой статьи Windows Terminal где-то около версии 0.5....

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

[Перевод] Очень математическая история идеального сочетания цветов Захари Бир создаёт рисунки, используя цветовую палитру от цветовой схемы для Мака Solarized и собственную программу для генерации изображений Geometriq. Пару лет назад я влюбился в цветовую палитру: цвет, чуть темнее белого, выделяемый жёлто-оранжевым и нейтральным голубым...

В поисках серебрянной пули: акторы+FRP в Реакте Сейчас уже мало кто пишет на Perl'е, но известная максима Ларри Уолла "Keep simple things easy and hard thing possible" стала общепринятой формулой эффективной технологии. Ее можно трактовать в аспекте не только сложности задач, но и подхода: идеальная технология должна, с о...

Универсальный пул У нас есть ArrayPool для переиспользования массивов. Работает это так: взяли массив определенной длинны что то с ним поделали и положили обратно. Нужно это для больших объектов которые по логике программы долго не должны храниться. В предыдущей статье описана эта проблема. ...

[Из песочницы] Тесты на C++ без макросов и динамической памяти Многие популярные библиотеки для тестирования, например Google Test, Catch2, Boost.Test тяжело завязаны на использование макросов, так что в качестве примера тестов на этих библиотеках вы обычно увидите картину вроде такой: namespace { // Tests the default c'tor. TEST(MyStr...

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

[Перевод] Python Testing с pytest. Глава 2, Написание тестовых функций Вернуться Дальше Вы узнаете, как организовать тесты в классы, модули и каталоги. Затем я покажу вам, как использовать маркеры, чтобы отметить, какие тесты вы хотите запустить, и обсудить, как встроенные маркеры могут помочь вам пропустить тесты и отметить тесты, ожидая неуд...

[Перевод] Практичный Go: советы по написанию поддерживаемых программ в реальном мире Статья посвящена лучшим практикам написания кода Go. Она составлен в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту. Для начала следует договориться, что значит лучшие практики для языка программирования. Здесь можно вспомни...

Сегодня стартует закрытый альфа-тест EVE: Echoes, регистрация все еще открыта Сегодня стартует закрытый альфа-тест космической MMO EVE: Echoes. Регистрация на тест все еще открыта, поэтому не упустите свой шанс раньше остальных прикоснуться к проекту, который, вероятно, повлияет на развитие жанра на мобильных. Для участия с iOS-устройством предлагают...

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

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

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

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

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

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

[Перевод] Пишем свой сетевой слой на Swift: протокол-ориентированный подход Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого с...

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

Hi-News.ru приглашает на работу Мы довольно часто получаем письма от наших читателей, которые хотели бы работать в Hi-News.ru. Однако, вакансии в нашем издании появляются не так уж и часто. Сегодня как раз один из таких случаев, поэтому если вы чувствуете в себе силы и желание работать в нашем издании ...

Как запланировать отправку WhatsАpp-сообщений на Android Мы уже рассказывали вам о том, как запланировать отправку сообщения в почтовом клиенте. Это очень удобная функция. Но что насчет мессенджеров? Например, самого популярного среди пользователей смартфонов WhatsАpp? Никаких проблем. Если хотите узнать, как это сделать — ...

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

Паттерны и антипаттерны обоснования задач Содержание 1. Антипаттерны: плохое обоснование 1.1. Очевидно же 1.2. Мамой клянусь! 1.3. Зайчики обиделись 2. Хорошие паттерны обоснования 2.1. Пруфлинк Ссылка на требования Сами требования Ссылка в интернет Письмо заказчика ROI Статистика 2.2. Единообразие 2.3. Про...

Вредные советы: как правильно писать техническую документацию? Часть третья и последняя Советы по грамотному написанию технической документации для пользователей. Часть 3 (заключительная) Заключение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. На этот раз мы попод...

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

Трансформация Docker: продажа Docker Enterprise в Mirantis и новый CEO Вчера с компанией Docker Inc, стоящей за популярнейшим одноимённым решением для контейнеров, произошла череда преобразований. Можно смело сказать, что их уже определённое время ждали. Ведь с массовым распространением Docker, развитием других технологий для контейнеризации, а...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

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

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

[Перевод] Spring Boot 2: что нового? От переводчика: несмотря на то, что уже прошел год, вопросы о том что же нового дал нам 2-ой Boot не заканчиваются. Писать такой контент с нуля — затея не самая умная. Поэтому решили перевести статью, которая нам кажется наиболее локаничной и при этом достаточно полной. Рели...

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

«Автоматизация инфраструктуры. Зачем мы это делаем?» (Денис Яковлев) Предлагаю ознакомиться с расшифровкой доклада Дениса Яковлева "Автоматизация инфраструктуры. Зачем мы это делаем?" Сам доклад 2016 года. Доклад специально расшифровал для тех, которые создают виртуальные машины руками. Доклад о том, как мы в компании 2ГИС автоматизировали ра...

[Перевод] Хороший разработчик мудр, а не гениален Одним из самых важных уроков, которые я постиг в качестве разработчика 15 лет назад, была эта простая мысль: Хороший код выразителен, а не впечатляющ. Я помню, как услышав это спросил «А в чём разница?», и получил ответ. «Выразительный» — понятный, однозначный и конкретный....

[Из песочницы] Локальный запуск юнит-тестов в STM32CubeIDE под Windows Введение Всем известна польза юнит-тестирования. Прежде всего, написание тестов одновременно с кодом позволяет раньше выявлять ошибки и не тратить впоследствии время на трудоемкую комплексную отладку. В случае embedded-разработки у юнит-тестирования есть особенности, связан...

Тест-драйв универсала SEAT Leon CUPRA 2019: ТОП-5 вопросов и ответов Почти два года назад я писал о хот-хэтче SEAT Leon CUPRA – и вот это имя снова появилось на ITC.UA! Но теперь все по-другому: иной тип кузова, перенастроенный мотор, изменились колесные диски и шины, плюс ряд перемен по мелочам. Отличный повод для разговора. Особенно вспомин...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

Мастерская онлайн-школы «Теплосеть»: как городские активисты Вязьмы научились SMM Вязьма – небольшой город в Смоленской области с населением 52 тысячи человек. От Москвы недалеко, от этого кто-то выигрывает, а кто-то нет. Молодые люди уезжают учиться, но часть из них возвращаются и хотят видеть свой город ухоженным и комфортным для жизни. 1 и 2 февраля 20...

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

Хотите отремонтировать iPhone? Сделайте это бесплатно! Видов поломок iPhone, как известно, существует великое множество. Но одно дело, когда необходимо поменять только аккумулятор, и совсем другое — заменить чип памяти или стекло, которое разбилось при падении. Чем сложнее ремонт, тем дороже он обходится, но на этот раз у...

[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...

[Перевод] #NoDeployFriday: помогает или вредит? Нужно ли запрещать деплоить в production в определённое время? Или движение #NoDeployFriday стало реликтом времён, когда не было всеобъемлющих интеграционных тестов и непрерывного деплоймента? В своей команде вы могли столкнуться с той же самой дилеммой. Кто прав, а кто ви...

[recovery mode] REST страсти по 200 Давно я хотел написать эту статью. Все думал — с какой стороны зайти правильнее? Но, вдруг, недавно, на Хабре появилась подобная статья, которая вызвала бурю в стакане. Больше всего меня удивил тот простой факт, что статью начали вбивать в минуса, хотя она даже не декларир...

Тестируем SQL Server код с tSQLt FYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25. Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут ...

DevOops 2019 глазами разработчика 29-30 октября в Санкт-Петербурге прошла конференция DevOops. В этой статье я поделюсь впечатлениями и инсайтами, а также краткими заметками о прослушанных докладах. Небольшой disclaimer: поскольку я разработчик, то некоторые мысли и комментарии могут быть с уклоном в Dev, ...

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

[Перевод] Разбираем Async/Await в JavaScript на примерах Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

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

ИИ от DeepMind провалил школьный тест по математике Научно-популярные и даже развлекательные СМИ в наше время переполнены новостями об успехе ИИ-проектов. То искусственный интеллект побеждает человека в го, то учится играть в StarCraft и выходит победителем из схватки с признанными чемпионами. И это только малая толика дост...

5 мифов об iPhone, в которые верят даже в 2019 году Несмотря на то что в последнее время все больше пользователей переходят с iOS на Android, iPhone по-прежнему остается самым популярным смартфоном в мире. Впрочем, этот статус не избавил его от обрастания всевозможными слухами и легендами о якобы правильном использовании, ко...

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

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

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

TDD: как правильно писать спецификации (describes) Написание спецификаций — утверждения или тестовые гипотезы — обычно обходят стороной в курсах TDD, поскольку тут мало программирования. Однако они очень важны. Они определяют, как и какие тесты будут написаны, а также определяют, насколько легко будет фиксировать поломку....

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

Расчёт каннибализации на основе классического A/B-теста и метод bootstrap’а В данной статье рассмотрен метод расчёта каннибализации для мобильного приложения на основе классического A/B-теста. В данном случае рассматриваются и оцениваются целевые действия в рамках процесса реаттрибуции с рекламного источника (Direct, Criteo, AdWords UAC и прочих) по...

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

[Перевод] Способы тестирования программного обеспечения Всем привет! Уже на следующей неделе мы запускаем новый поток по курсу «Автоматизация веб-тестирования». Этому и будет посвящен сегодняшний материал. В этой статье рассматриваются различные способы тестирования программного обеспечения, такие как модульное тестирование (uni...

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

[Перевод] Почему сериал «Чернобыль» настолько плохо описал ядерную энергию Нет, чернобыльская радиация не повредила вашему ребёнку Статья Майкла Шелленбергера – известного автора и колумниста, пишущего про энергию и окружающую среду. С начала мини-сериала «Чернобыль» от HBO, рассказывающего о ядерной катастрофе 1986 года, журналисты расхваливали...

Deno: время Node.JS уходит? Прошло примерно 18 месяцев с внутреннего релиза Deno, вышел preview release, появилось несколько статей на Хабре, и Райан ездит по конференциям и рассказывает о нём. Однако я нигде так и не видел сколько-нибудь вдумчивого разбора этого проекта — почему-то все ограничиваются...

Windows 10 блокирует некоторых пользователей от обновления или загрузки ОС Что сейчас произошло? На данный момент значительная часть пользователей Windows 10 не может обновить Windows 10, обновить Защитник Windows, загрузить или запустить определенные приложения Microsoft из Магазина или загрузить и установить новую копию Windows. К счастью, пробле...

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

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

JVM TI: как сделать плагин для виртуальной машины Хотели бы вы добавить в JVM какую-нибудь полезную фичу? Теоретически каждый разработчик может внести свой вклад в OpenJDK, однако на практике любые нетривиальные изменения в HotSpot принимают со стороны не очень-то охотно, и даже с текущим укороченным релизным циклом могут...

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

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

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

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

Galaxy Note10+ на Exynos 9825 против Note10+ на Snapdragon 855: тест на скорость Gary Explains / YouTube В России, как и во многих других странах, Samsung Galaxy Note10+ продается в версии с новым чипсетом компании — Exynos 9825. При этом в некоторых других странах, в частности в США, смартфон продается в версии с чипсетом Qualcomm Snapdragon 855. ...

[Перевод] Краткий курс по управлению удаленными командами Всем привет! Я уже давненько не писал и подзабыл, как это делается, но хочу поделиться информацией, которая многим может пригодиться. Ведь ко мне постоянно пристают с вопросами, вроде: ● «Стоит ли работать удаленно?» ● «Как вы организовали удаленную работу для своей команды?...

[Из песочницы] Размышления о Agile The measure of intelligence is the ability to change. Albert Einstein Предисловие Представляю ИТ-сообществу “Размышления о Agile” или можно назвать данную статью так, “Agile, это все же философия или проектная методология?”. Цель данной статьи — обсудить с ИТ-сообществом в...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

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

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

16 марта Вadoo PHP Meetup: тесты и качество кода. Регистрация открыта Всем привет! Меня зовут Владимир Янц, я активно занимаюсь развитием инфраструктуры тестирования кода в Badoo. С PHP у нас давние и крепкие отношения, и мы с коллегами всячески поддерживаем сообщество. Нас все спрашивали: “Когда же уже, когда?” — и вот оно. 16 марта приглаша...

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

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

Сравнение производительности: 3D-карта Nvidia RTX 2080 быстрее RTX 2080 Max-Q на 37%, а RTX 2070 опережает RTX 2070 Max-Q всего на 8% Ноутбуки, оснащенные видеокартами Nvidia RTX поступили в продажу совсем недавно, поэтому у пользователей есть определенные сложности в сравнении возможностей этих ускорителей друг относительно друга. Источник взялся исправить эту ситуацию. Пять моделей видеокарт прогнал...

Анонс FunTech QA-automation meetup Всем привет! Приглашаем QA-инженеров на наш первый митап по тестированию, посвящённый автоматизации. Программа «Автотесты, объединяющие подходы, платформы и сердца», Михаил Чирков, ivi.ru Преимущества и недостатки кроссплатформенных автотестов (в нашем случае речь о плат...

[Из песочницы] Как не мусорить в Java Существует популярное заблуждение о том, что если не нравится garbage collection, то надо писать не на Java, а на C/C++. Последние три года я занимался написанием low latency кода на Java для торговли валютой, и мне приходилось всячески избегать создания лишних объектов. В и...

Байт-машина для форта (и не только) по-индейски (часть 4) И снова я несколько переоценил объем статьи! Планировал, что это будет заключительная статья, где сделаем компилятор и выполним тестирование. Но объем оказался велик, и я решил разбить статью на две. В этой статье мы сделаем практически все основные функции компилятора. ...

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

Linux Kernel 5.0 — пишем Simple Block Device под blk-mq Good News, Everyone! Linux kernel 5.0 уже здесь и появляется в экспериментальных дистрибутивах, таких как Arch, openSUSE Tumbleweed, Fedora. А если посмотреть на RC дистрибутивов Ubuntu Disko Dingo и Red Hat 8, то станет понятно: скоро kernel 5.0 с десктопов фанатов пе...

Разработчики AnTuTu выпустили приложение AI Review для тестирования возможностей ИИ у мобильных платформ На сегодняшний день многие топовые однокристальные системы для смартфонов в той или иной форме поддерживают вычисления, связанные с искусственным интеллектом. У некоторых SoC есть выделенные модули NPU, а, к примеру, у платформ Qualcomm этими задачами занимаются сразу н...

Обзор 14 headless cms 2019 Некоторое время назад в одной заметной на российском рынке публичной компании, в которой я работал, встал вопрос об использовании headless cms. Среди множества реализаций нужно было выбрать одну. Это рассказ о том, как я формировал критерии выбора, как анализировал cms-ки, и...

4. Нагрузочное тестирование Check Point Maestro Продолжаем цикл статей по решению Check Point Maestro. Мы уже опубликовали три вводных статьи: Check Point Maestro Hyperscale Network Security Типовые сценарии использования Check Point Maestro Типовой сценарий внедрения Check Point Maestro Теперь самое время перейти к ...

За всё ответишь! Consumer Driven Contracts глазами разработчика В этой статье мы расскажем про проблемы, которые решает Consumer Driven Contracts, покажем как это применять на примере Pact с Node.js и Spring Boot. И расскажем про ограничения этого подхода. Проблематика При тестировании продуктов часто используют сценарные тесты, в кот...

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

Мощный модуль для типизации Vuex Мотивом для написания данной статьи послужила другая статья на тему типизации Vue и, соответственно, Vuex. К моему удивлению я не обнаружил там упоминания модуля, который, по моему мнению, является лучшим в своем роде «типизатором» Vuex. Поиск по Хабру, да и вообще по Рунету...

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

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

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

Airtest IDE — новый путь в автоматизации тестирования мобильных игр? Сегодня я хочу вам рассказать о достаточно новом open-source инструменте для автоматизированного тестирования под названием Airtest. В дальнейшем я сделаю ещё несколько статей с подробным рассказом об отдельных элементах данного инструментария и как с ними работать, а сейчас...

[Из песочницы] Пишем простую нейронную сеть с использованием математики и Numpy Зачем очередная статья про то, как писать нейронные сети с нуля? Увы, я не смог найти статьи, где были бы описаны теория и код с нуля до полностью работающей модели. Сразу предупреждаю, что тут будет много математики. Я предполагаю, что читатель знаком с основами линейной а...

Множественные эксперименты: теория и практика В современном мире сложно представить развитие продукта без A/B-тестирования. Чтобы успешно запустить продукт или новую функциональность — надо грамотно спроектировать A/B, рассчитать и интерпретировать его результаты. Иногда нам требуется тестирование более чем для двух гру...

Разработчики UserBenchmark попытались объяснить своё решение относительно пересмотра системы оценки CPU Несколько дней назад мы писали о том, что специалисты UserBenchmark пересмотрели систему оценки производительности процессоров, из-за чего четырёхъядерный Intel Core i3-8350K в этом тесте оказывается быстрее восьмидерного Ryzen 7 2700X. Или, к примеру, 120-долларовый Co...

Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям.  В этой статье я расскажу о мето...

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

Unsafe.AsSpan: Span<T> как замена указателям? C# — невероятно гибкий язык. На нем можно писать не только бэкэнд или десктопные приложения. Я использую C# для работы, в том числе, и с научными данными, которые накладывают определенные требования на инструменты, доступные в языке. Хотя netcore захватывает повестку дня (у...

Можно ли считать статистику при малом количестве данных? В целом ответ – да. Особенно, когда есть мозги и знание теоремы Байеса. Напомню, что среднее и дисперсию можно считать только, если у вас имеется определенное количества событий. В старых методичках СССР РТМ (руководящий технический материал) говорилось, что чтобы считать ср...

[Из песочницы] Что дает объединение ручного и автоматизированного тестирования: опыт Wrike Читая статьи на тему web-тестирования, вырисовываются условно две темы: 1) ручное тестирование вымирает, автотесты (здесь и далее под автотестами имеются в виду Selenium UI и REST-тесты) – наше все; 2) автоматическое тестирование – не панацея, без ручного тестирования не об...

[Перевод] Как проводить код-ревью Из документации Google's Engineering Practices В этом руководстве приведены рекомендации по оптимальному проведению код-ревью, основанные на многолетнем опыте. Все вместе они составляют один документ, разбитый на множество разделов. Необязательно читать их все, но часто дл...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

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

Сoncurrent collections за 10 минут Photo by Robert V. Ruggiero Тема не новая. Но задавая вопрос “что такое concurrent collections и когда их использовать?” на собеседовании или code review, я почти всегда получаю ответ, состоящий из одного предложения: “они полностью защищают нас от race conditions” (что не...

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

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

Обновленный AnTuTu выжмет все соки из вашего смартфона Если вы введёте в поиске Google Play термин «benchmark», то в верхней части списка из подобранных приложений обязательно увидите AnTuTu. Этот знаменитый бенчмарк, используемый для измерения производительности мобильных устройств, находится вверху списка потому, что в течени...

iPhone 11 Pro Max против Samsung Galaxy Note10+: дроп-тест Авторы YouTube-канала PhoneBuff решили сравнить в дроп-тесте (тесте на прочность, в котором смартфоны сбрасывают с определенной высоты) новые флагманы Apple и Samsung — iPhone 11 Pro и Galaxy Note10+. В первом раунде теста смартфоны сбрасывали задней панелью вниз, в...

Фандрайзинг на аутсорсе: когда пора обращаться к консультанту Евгений Зубов консультирует НКО по вопросам маркетинга и продвижения. Он делится с сотрудниками некоммерческих организаций обучающими материалами и запустил агентство Mercy.Agency. Эксперт рассказал журналисту Теплицы Екатерине Ульяновой, когда стоит обращаться к консультан...

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

Операторы выступили против передачи радиочастот «Ростелекому» Как пишет "КоммерсантЪ" со ссылкой на РБК, соответствующее письмо операторы направили письмо вице-премьеру Максиму Акимову.22 октября состоится заседание Госкомиссии по радиочастотам, на котором "Ростелекому" должны выделить радиочастоты в 83 регионах. В ...

[Перевод] 26 рекомендаций по использованию типа var в Java The Java Local Variable Type Inference (LVTI) или кратко — тип var (идентификатор var — это не ключевое слово, а зарезервированное имя типа) был добавлен в Java 10 с помощью JEP 286: Local-Variable Type Inference. Являясь 100% функцией компилятора, она не влияет на байт-код...

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

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

Инженерный подход к разработке ПО Как проверить идеи, архитектуру и алгоритмы без написания кода? Как сформулировать и проверить их свойства? Что такое model-checkers и model-finders? Требования и спецификации — пережиток прошлого? Привет. Меня зовут Васил Дядов, сейчас я работаю программистом в Яндексе, до ...

[Перевод] Если вы не пишете программу, не используйте язык программирования Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Comput...

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

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

Билл Гейтс рассказал, почему Android победил Windows Mobile Билл Гейтс верит, что Windows Mobile могла стать самой популярной мобильной ОС История не терпит сослагательного наклонения, потому изменить прошлое никак нельзя. Несмотря на это, есть те, кто очень любит порассуждать о том, что было бы, если они бы поступили тем или иным об...

[Из песочницы] Пишите меньше кода Хайп по Svelte после недавнего релиза 3 версии фреймворка всё-таки имеет место быть, чему свидетельствуют сильно возросшее комьюнити и огромное количество вопросов как в официальном чате, так и в нашем рускоязычном telegram-канале. Всё больше разработчиков украдкой или всерь...

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

Sony Xperia 1 против OnePlus 7 Pro: тест на скорость Оба смартфона оснащены чипсетом Snapdragon 855. При этом OnePlus 7 Pro имеет разрешение экрана QHD+, а Sony Xperia 1 оборудован экраном с разрешением 4K. Тест был проведен автором YouTube-канала Gary Explains. Данный тест — Speed Test G — был разработан самим авторо...

В Роскачестве назвали лучшие антивирусы для MacOS Пользователей macOS можно разделить на две категории. Одни на все 100% уверены, что их любимая платформа неуязвима для вирусов, а потому использование антивирусов не имеет ни малейшего смысла. Другие придерживаются другого мнения и считают, что дополнительный уровень защиты...

Как написать вредное API Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. Всем привет! Я работаю тимлидом команды Integration Development в сервисе онлайн-бронирования отелей Ostrovok.ru и сегодня хотел бы поделиться своим опытом работы с ра...

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

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

OPPO Reno с выдвижной «треугольной» камерой: тесты на прочность JerryRigEverything добрался до еще одного смартфона с выдвижной камерой, к которым он питает определенную слабость. На этот раз на тест он раздобыл OPPO Reno, особенностью которого стал своеобразноый «треугольный» блок, который также содержит LED-вспышку для двойной основной...

Мнение экспертов: Android всё больше привлекает фанатов iOS У каждого человека различные требования к системе. Кому-то важны функции, а кому-то дизайн и удобство. Именно поэтому долгое время iOS с этой точки зрения оставалась для многих лидером. Системой приятно пользоваться, чего нельзя было сказать об Android еще несколько лет наз...

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

Обзор игры DISTRAINT 2 для iPhone и iPad: качественный психологический 2D-хоррор Главный герой этой игры неоднократно будет спрашивать: «Что я здесь делаю?». Поверьте, такой же вопрос возникнет и у вас. Но небанальная и откровенно непонятная игра постепенно раскроется, даст ответы на многие вопросы и позволит с определенной пользой провести за ней время....

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

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

[Перевод] Jupyter Notebook в Netflix В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, ...

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

Введение в Spring, или что делать, если по всему проекту @Autowired и @Component, а вы не понимаете, что это Приветствую тебя, Хабр! Эта статья будет полезна тем, кто уже начал изучать Java и даже успел добиться некоторых успехов в понимании Java Core, и вот услышал слово Spring. И, возможно, даже не один раз: знание Spring Framework, как минимум, фигурирует в описаниях множества ...

Вредные советы: как правильно писать техническую документацию? Часть вторая Советы по грамотному написанию технической документации для пользователей. Часть 2 Продолжение руководства нашего технического писателя Андрея Старовойтова, которое поможет сделать вашу пользовательскую документацию проще и понятнее. Начало статьи можно почитать тут, а то...

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

Тостер — всё в компостер. Фильтруй и кайфуй Так уж сложилось, что в СНГ довольно популярен русский Q&A ресурс по ИТ тематике — Тостер. Однако чего-то ему не хватало, когда я начал плотно с ним знакомиться. Это и вылилось в улучшение в виде браузерного расширения. Встречайте. Ключевые особенности: Название: Tost...

[Из песочницы] Что ты такое, замыкания в JavaScript? В этой статье я постараюсь разобрать механизм реализации замыканий в JavaScript. Для этого я буду использовать браузер Chrome. Начнем с определения: Замыкания  - это функции, ссылающиеся на независимые (свободные) переменные. Другими словами, функция, определённая в замыка...

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

Почему пользоваться VPN на Android может быть опасно Говорят, что помогают, по факту — воруют Существует огромное количество способов настроить VPN на Android, и многие пользователи смартфонов и компьютеров часто используют VPN-подключение. Зачем они это делают? Кто-то обходит блокировки сайтов, другие хотят получить дос...

[Из песочницы] Consumer Driven Contracts или Gitlab CI глазами QA test automation Цели данной публикации: Краткое введение в Consumer Driven Contracts (CDC) Настройка CI pipeline на основе CDC Consumer Driven Contracts В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существуе...

[Из песочницы] Откуда растут ноги у Java Memory Model Современное железо и компиляторы готовы перевернуть с ног на голову наш код, лишь бы он работал быстрее. А их производители тщательно скрывают свою внутреннюю кухню. И все прекрасно, пока код выполняется в одном потоке. В многопоточной среде можно волей-неволей наблюдать и...

[Перевод] Разработка веб-серверов на Golang — от простого к сложному Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения. Эта ...

Часть вторая. Как проходить code review по версии Google Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод"). Так как статья набрала много лайков, пишу обещанное продолжение про код ревью с другой стороны — со стороны автора из...

Phoronix Test Suite, или как тестировать процессоры it-шнику. Часть 1: Intel vs AMD Сегодня множество тестов в так называемых "рабочих" приложениях охватывает лишь узкий сектор 3d-шников и видеомонтажеров. Еще реже можно встретить тесты производительности в графических пакетах и офисных приложениях. Но что если у Вас все по серьезному и вы например разработ...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

[Из песочницы] Темы, стили и другие Практически все разработчики знают, что в андроиде есть Темы, но применение их обычно ограничивается копированием кусков xml из Stack Overflow или других ресурсов. В интернете есть информация по темам, но это обычно просто рецепт, как добиться определенного результата. В э...

[Перевод] Знакомство с Тестированием в Python. Ч. 3 Друзья, у нас для вас отличные новости. Во-первых на улице наконец-то светит солнышко, а это значит, что весна начинает полноправно вступать в свои права. Вторая новость более профильная — уже 20 марта стартует первое занятие в новом потоке по курсу «Разработчик Python», в с...

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

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

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

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

Битва Samsung Galaxy S10+ и OnePlus 7 Pro: определяем лучшего О Samsung Galaxy S10+ и OnePlus 7 Pro мечтают многие. Это укомплектованные по полной программе флагманы, красивые, технологичные, мощные и с хорошими камерами. Но какой из них лучше? Мы сравнили оба смартфона, устроив смотр всего вооружения, и у нас есть ответ на этот сложны...

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

Испытания показали, что смартфон OnePlus 7 Pro имеет определённую защиту от влаги и функцию автоматического определения падений Только компания OnePlus представила свой новый флагманский смартфон, как блогер JerryRigEverything опубликовал видео, где испытывает этот аппарат на прочность. И в этот раз тесты оказались более информативными, чем обычно. Про тест экрана и тест на нагрев можно не говор...

RTOS или не RTOS вот в чем вопрос На написание данной статьи меня побудила длинная ветка комментариев (дискуссией это я назвать, к сожалению, не могу) к моей недавней статье “Многообразный мир embedded systems и место Embox в нем”. Меня в нескольких местах упрекнули в том, что я путаю RTOS и Embedded OS, чт...

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

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

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

[Из песочницы] Как определить индексированные журналы ISI, Scopus или Scimago? Когда вы хотите представить свою исследовательскую статью в журнале. Вы должны выбрать целевой журнал для своей области исследования, а также журнал должен быть проиндексирован в любой из основных баз данных индексации, таких как ISI, Scopus, SCI, SCI-E или ESCI. Но определи...

PVS-Studio ROI Время от времени нам задают вопрос, какую пользу в денежном эквиваленте получит компания от использования анализатора PVS-Studio. Мы решили оформить ответ в виде статьи и привести таблицы, которые покажут, насколько анализатор может быть полезен. Мы не можем в статье доказа...

На чем разрабатывать Oracle разработчику в 2019-м году (и после) Некоторое время назад я в очередной раз сменил место работы. Новый работодатель был настолько любезен, что разрешил мне выбрать любую IDE, которая понравится, и оплатить лицензию (но в разумных пределах). Также (в кои-то веки) у меня были права администратора на рабочем комп...

[Из песочницы] Аппаратный bit banding CortexM3/M4(ARM), архитектура ядра, ассемблер, С/C++14 и капля мета программирования Введение Внимание, это не очередная «Hello world»статья о том как помигать светодиодом или попасть в свое первое прерывание на STM32. Однако, я постарался дать исчерпывающие объяснения по всем затрагиваемым вопросам, поэтому статья будет полезна не только многим профессионал...

Заметки о потрясающей презентации Galaxy Fold, Galaxy S10 и S10+ Популярный журналист Сергей Вильянов поделился своим материалом в собственном блоге, где решил обсудить с читателями презентацию Samsung. Моя статья является своего рода ответом на столь сомнительное отношение к презентации корейцев. Каждый имеет право на собственное мнение...

Samsung Galaxy S10 + побеждает Huawei P30 Pro в тесте скорости Очень сложно выполнить идеальный тест скорости смартфонов между собой, когда его проверяет человек. Но, как показывают тесты скорости в стиле PhoneBuff, пользуется наибольшим доверием в Интернете - оно проводится с помощью механических рук, и тест повторяется несколько ра...

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

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

Где мы взяли флакон? Flowcon, или Флакон – методика управления, в том числе – задачами. Потоком, проектом, разработкой, рутинными функциями, регуляркой и т.д. Многие, узнав о методике и решениях на ее основе, задают вопросы – что да как, в чем суть, на основе каких «мировых практик» сделано, ка...

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

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

Sailfish OS — очередная альтернатива Android для смартфонов Huawei Мы уже не раз писали о том, что Huawei вовсю работает над своей собственной заменой популярной мобильной ОС Android. Почему компания ищет замену «зеленому роботу», я думаю, объяснять не надо, так как информация об этом в последние недели лезет изо всех щелей. Однако во всем...

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

Siri против Google Assistant: сравнение голосовых помощников В 2011 году Apple представила голосового помощника Siri. На тот момент это было что-то действительно новое — ведь это был первый ассистент, использующий возможности искусственного интеллекта и машинного обучения. Однако время шло, и на рынке появились первые конкурент...

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

[Из песочницы] Интервалы: грядущая эволюция C++ Уже скоро появится стандарт C++20, в который, скорее всего, добавят концепцию интервалов (ranges), однако мало кто знает, что они из себя представляют и с чем их едят. Доступных широкой аудитории русскоязычных источников про этого зверя мне найти не удалось, вследствие чего ...

factory_trace gem поможет почистить ваши factories Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии. Читать дальше →

Перепрошивка BIOS поднимает производительность Radeon RX 5700 до уровня Radeon RX 5700 XT С видеокартами AMD уже не раз случалась такая история: прошивка BIOS от старшей модели повышала производительность младшей. Так, например, было с Vega 56 и Vega 64. И точно таким же образом обстоит ситуация с новенькими Radeon RX 5700 и Radeon RX 5700 XT. Более того, пр...

Стартовал открытый бета-тест MMORPG по мотивам аниме BLEACH Mobile 3D На прошлой неделе стартовал открытый бета-тест MMORPG Bleach Mobile 3D по мотивам популярного аниме. Разработчики обещают, что она прямо связана с источником, так что вас ждут и знакомые персонажи и, возможно, определенные сюжетные арки. Более того, в озвучке игры даже прин...

[Перевод] Цепи Маркова для процедурной генерации зданий Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp. В этой статье я х...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Обфускация данных для тестов производительности Пользователи ClickHouse знают, что его главное преимущество — высокая скорость обработки аналитических запросов. Но как мы можем выдвигать такие утверждения? Это должно подтверждаться тестами производительности, которым можно доверять. О них мы сегодня и поговорим. Такие...

[Перевод] Руководство по развертыванию моделей машинного обучения в рабочей среде в качестве API с помощью Flask Друзья, в конце марта мы запускаем новый поток по курсу «Data Scientist». И прямо сейчас начинаем делиться с вами полезным материалом по курсу. Введение Вспоминая ранний опыт своего увлечения машинным обучением (ML) могу сказать, что много усилий уходило на построение дейс...

Clean Decomposition Об использовании чистой архитектуры в Android сказано предостаточно. На GitHub можно найти десятки шаблонов на разные вкусы: на Java или Kotlin, с Dagger2 или Koin, с Rx или с Coroutines. Но никто не говорит о том, как разбить определенный функционал при использовании «чисто...

[Перевод] Улучшенный sandboxing для Groovy скриптов От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но ...

[Перевод] Senior Engineer в поисках работы. О задачах на технических собеседованиях и теоретических вопросах Продолжаем говорить о технических собеседованиях (если вы не читали — просмотрите предыдущие статьи из цикла — о собеседованиях с HR и технических). В этот раз будет больше субъективного опыта, минимум советов, а также немножко про тестовые задания и теоретические вопросы. П...

AMA с Хабром v.8.0. Онбординг, новости для всех, PWA Апрель — месяц субботников. Наша команда тоже провела  виртуальный субботник и навела порядок с некоторыми вопросами на Хабре — а значит, у нас для вас снова есть порция новостей. Сегодня мы проводим очередную сессию вопросов и ответов (AMA). Пользователи Хабра и команда Хаб...

Нам нужен другой 1С-Битрикс, часть 2 После публикации первой статьи в деле борьбы за права причастных к 1С-Битриксу появились соподвижники Dekmabot и Sergik_DS со статьями «Почему Битрикс — Битрикс» и «За что, Битрикс? Или сказочный мир 1С», чему я несказанно рад. Как там пишут в руководствах по зачинанию старт...

Тёмный режим — новый тренд? Тёмный тема – вещь довольно полезная, она станет трендовой в 2019 году. Хотя даже сейчас прослеживается стремление компаний внедрять её в свои сервисы. Конечно, пока проблема заключается в разработчиках сайтов, которые используют лишь один светлый шаблон, однако в будущем, ...

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

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

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

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

Подарки для любимого Многие женщины стараются порадовать своих мужчин оригинальными подарками в праздник или даже просто так, без повода. Самые смелые и оригинальные, неповторимые подарки предлагает сайт https://www.podaro4ek.com.ua/Muzhchinam-22/Lubimomu-117, перейдя по этой ссылке, можно найти...

[Перевод - recovery mode ] Руководство по SQL: Как лучше писать запросы (Часть 2) Продолжение статьи Руководство по SQL: Как лучше писать запросы (Часть 1) От запроса к планам выполнения Зная, что антипаттерны не статичны и эволюционируют по мере того, как вы растете как разработчик SQL, и тот факт, что есть много, что нужно учитывать, когда вы задумыва...

Alarm! Alarm!: как рыбы предупреждают сородичей об опасности Дружба познается в беде. Эта знакомая нам всем фраза становится вопросом жизни и смерти, когда речь идет о дикой природе, а именно о социализированных животных. Также здесь будет уместна фраза — предупрежден значит вооружен. Вы наверняка видели дозорных у сурикатов или дру...

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

Михаил Басистов: «В Instagram уже есть вся аудитория, которая вам нужна» В российском сегменте Instagram насчитывается почти 24 миллиона авторов, которые опубликовали хотя бы одно сообщение в месяц. О том, как выйти на свою аудиторию и привлечь ее внимание с помощью конкурсов, рассказал Михаил Басистов, коммерческий директор студи...

1000 > 990? Как MediaTek выбирала название для флагманской SoC Dimensity 1000 Вчера компания MediaTek представила свою новую флагманскую однокристальную систему со встроенным модемом 5G, которая получила громкое название Dimensity 1000. Результаты тестов подтвердили, что MediaTek Dimensity 1000 оказалась быстрее остальных конкурентов, набрав боле...

[Перевод] Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (2 часть) Недоступная роскошь от Intel: Core i9-9990XE с 14 ядрами на частоте 5,0 ГГц (1 часть) Системные тесты В разделе «Системные тесты» основное внимание уделяется тестированию в реальных условиях, с которыми сталкивается потребитель, с небольшим уклоном в пропускную способность....

DxOMark будет оценивать и фронтальные камеры смартфонов Французская компания DxOMark известна своими тестами камер смартфонов. По сути, ее тесты – единственная возможность сравнить возможности камер разных моделей между собой, так как каждая тестируется по строго определенной неизменной методике. С этого года специалис...

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

Регулярная Авалония Иногда мы не понимаем как работает регулярное выражение, которое мы составили, и хотим проверить. Есть множество восхитительных приложений встроенных в различные среды или онлайн. Мне захотелось добавить еще одно к этому списку. В данной статье мы посмотрим, как можно оберну...

RESTinio — это асинхронный HTTP-сервер. Асинхронный Пару лет назад мы опубликовали RESTinio — свой небольшой OpenSource C++фреймворк для встраивания HTTP-сервера в C++ приложения. Мегапопулярным за это время RESTinio не стал, но и не потерялся. Кто-то выбирает его за "родную" поддержку Windows, кто-то за какие-то отдельные фи...

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

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

«Новый лозунг Шкоды: «Это нормально!»: Владельцы Skoda Kodiaq массово жалуются на запотевание фар Официальный дилер считает, что проблема пройдет сама собой, нужно лишь потерпеть. У редкого автомобиля нет никаких «болячек», и это нормально, однако в том случае, когда с обнаруженной проблемой борется сам автопроизводитель, а также стремится устранить «косяк» на корню ещ...

Отдаю 2 сайта в хорошие руки Отдаю 2 сайта в хорошие руки. Причина — нет времени заниматься. Вот сами сайты: http://monastery-russia.ru http://kriptoarb.ru   Про первый сайт я уже писал вот тут — http://blogarbik.ru/?p=9419 Про второй сайт — kriptoarb.ru В день капает около 150 ун...

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

[Из песочницы] DDS Синтезатор на Verilog В этом посте я поделюсь тем, как разбирался с написанием DDS синтезатора на Verilog. Он будет использован для генерации синусоидального колебания, частоту и начальную фазу которого можно регулировать и рассчитан для использования с 8-битным однополярным ЦАП. О том, как рабо...

Увеличилась ли скорость работы iPhone на iOS 12.3 В конце марта для загрузки стала доступна первая версия iOS 12.3. Это обновление сложно назвать масштабным: в системе появилось новое приложение для сервиса Apple TV+, однако на этом глобальные нововведения заканчиваются. Все остальные изменения направлены на исправление ош...

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

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

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

[Перевод] Нейросети и глубокое обучение: онлайн-учебник, глава 6, ч.1: глубокое обучение Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей ч.2: почему регуляризация помогает уменьшать переобучение? ч.3: как выбрать гиперпара...

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

Функциональное тестирование навыков Яндекс Алисы на Node.js Прошел почти год с того момента, как появилась возможность создавать свои навыки для Алисы — голосового помощника от Яндекса. В каталог ежедневно прибывают новые навыки, а их общее число составляет несколько сотен. К сожалению, общение с некоторыми навыками мягко говоря "не...

Изучая Dependency Injection Несмотря на то, что паттерну уже более десятка лет и есть немало статей (и переводов), тем не менее споров, комментариев, вопросов и разных реализаций становится все больше и больше. ПредысторияВ 2004 Мартин Фаулер написал известную статью “Inversion of Control Containers ...

[Перевод] Руководство для начинающих по серверной веб-разработке с Node.js Большую часть своей веб-карьеры я работал исключительно на стороне клиента. Проектирование адаптивных макетов, создание визуализаций из больших объемов данных, создание инструментальных панелей приложений и т. Д. Но мне никогда не приходилось иметь дело с маршрутизацией или ...

Perf и flamegraphs Огромную популярность набирает тема повышения производительности операционных систем и поиска узких мест. В этой статье мы расскажем об одном инструменте для поиска этих самых мест на примере работы блочного стека в Linux и одного случая траблшутинга работы хоста. Пример ...

Работаем с USB Custom HID на Android В современных Android — приложениях для взаимодействия с другими устройствами чаще всего используются беспроводные протоколы передачи данных, как например Bluetooth. В годы, когда часть устройств имеют беспроводную зарядку, сложно представить себе связку Android устройства ...

Мы agile или аджайл нас? Какая главная проблема в разработке программного обеспечения (а может и вообще в любой работе)? Когда я задавал вопрос коллегам, получал разные ответы: изменения требований, несоответствия ожиданий, качество кода, взаимодействие с другими командами… суммируя для себя — комму...

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory 1. Пара слов от автора В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Правда, оговорюсь сразу, решение несколько костыльное (почему – читать далее), но ...

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

[Из песочницы] Как собеседовать работодателя? У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер. Надо ли писать код на доске? Надо ли жонглировать бинарными деревьями и знать наизусть все сложности алгоритмов, или просто разговаривать про жи...

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

Очень прочный Samsung. Galaxy Note 10+ 5G отлично показал себя на тестах блогера JerryRigEverything Блогер JerryRigEverything продолжает издеваться над смартфонами. Очередной его жертвой стал новенький Samsung Galaxy Note 10+ 5G. Начал блогер со стилуса, который, как оказалось, сломать не особо сложно. Поэтому владельцы и потенциальные покупатели новинок Samsung должн...

Антирейтинг 2018 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2018 год, точнее, начиная с индекса 345000. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы, в бо...

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

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

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

OnePlus 7 против OnePlus 7 Pro: тест на скорость Оба смартфона оснащены чипсетом Snapdragon 855. При этом у «младшей» модели — OnePlus 7 — разрешение экрана составляет FHD+, в то время как OnePlus 7 Pro оснащен экраном с разрешением QHD+. Ролик, посвященный сравнению, был опубликован на YouTube-канале Gary Explain...

[Перевод] Возможности современного JavaScript, о которых вы могли не знать Несмотря на то, что в последние семь лет я пишу на JavaScript почти каждый рабочий день, должен признаться, что уделяю мало внимания сообщениям о нововведениях от ES. Главные возможности вроде async/await и прокси — это одно, но ещё каждый год идёт поток мелких поэтапных и...

Собеседование разработчика: 50 вопросов и ответов для iOS #1 iOS-разработчик Дурул Далканат собрал распространенные вопросы с собеседования iOS-разработчиков и, конечно, дал ответы на них.

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

[Из песочницы] Изучаем STM8S Медленный старт. Часть 0 МК семейства STM8S относительно STM8L/32 имеет меньший арсенал периферии, но позволяет без лишних усложнений разобраться с основами и получить необходимые навыки для работы с его старшими братьями. 0. На кого ориентирован материал, зачем и почему При написании данной стать...

Земляничная поляна 1.0 Узнать насколько партнер подается соблазнению Тест «Земляничная поляна» с помощью этого теста можно определить насколько девушка поддается соблазнению. Великолепный прием для соблазнения, где Вы можете завлечь девушку и заодно узнать о ней немного больше. Тест з...

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

POCO F1 Lite на Snapdragon 660 замечен в Geekbench Прошлым летом китайская компания Xiaomi запустила в Индии новый бренд под названием POCO. Его первым и пока единственным смартфоном является POCO F1, но в скором времени к нему присоединится ещё один аппарат. Компанию POCO F1 составит новый смартфон под названием POCO F1 Lit...

Neural Matching: как адаптировать контент под реалии Google У поисковиков не очень с логикой, это факт. Но они стараются. А SEO-специалисты стараются в ответ — пытаются добиться предельной релевантности страниц, опираясь на догадки и эксперименты. Недавно Гугл порадовал новым фактором ранжирования — Neural Matching. Мы почитали, чт...

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

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

Заметка о интеграционном тестировании используя Jenkins на Kubernetes Добрый день. Практически сразу после установки и конфигурации CI/CD по инструкции из предыдущего поста у команды возник вопрос как правильно осуществлять интеграционное тестирование. У нас уже был опыт запуска тестовых зависимостей в docker контейнерах, но это стало проблема...

Эксперт объяснил, почему у Ark OS от Huawei нет будущего Стремление Huawei заменить Android собственной операционкой может оказаться невыполнимой задачей, считает Андреас Галь, бывший директор по технологиям Mozilla. Он уверен, что даже у компании со столь колоссальными возможностями может не получиться закрепиться на рынке, кото...

5 типовых задач на собеседованиях по JavaScript: разбор и решения От переводчика: опубликовали для вас статью Марии Перна (Maria Antonietta Perna), которая рассказывает о типовых задачах по JavaScript, чаще всего предлагаемых соискателям-разработчикам на собеседованиях. Статья будет полезна, в первую очередь, начинающим программистам. ...

[Перевод] Обратное собеседование: какие вопросы задавать компании? Этот текст — перевод репозитория viraptor. Вы можете предложить свои вопросы на английском, в оригинальном репозитории, или на русском — в моём форке, а я постараюсь перевести их и передать автору Обратное собеседование Это список вопросов, который может быть интересен соиск...

Приложения для электронных книг на операционной системе Android. Часть 4. Игры В сегодняшней, четвёртой (предпоследней), части статьи о приложениях для электронных книг на операционной системе Android будет рассмотрена только одна, но обширная тема: игры. Краткое содержание предыдущих трёх частей статьиВ 1-ой части были подробно рассмотрены причины, п...

Samsung Galaxy S10 и S10+ на базе Exynos 9820 сравнили по производительности с Xiaomi Mi 9, iPhone XS Max и другими смартфонами На сайте GSM Arena опубликовали результаты тестирования смартфонов Samsung Galaxy S10 и S10+, оснащенных флагманской однокристальной системой Samsung Exynos 9820. Тестирование было проведено с различных популярных бенчмарках, результаты сравнивались с результатами друг...

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

[Из песочницы] Что не так с нашим IT Когда я только начинал смотреть в сторону программирования, а это, примерно, 2012 год, мои попытки нагуглить, что же учить и с чего начать, сводились к ответам с тогда еще незнакомого мне, stackoverflow и, казавшегося чуть ли ни единственным ресурсом в it — Хабре. С тех по...

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

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

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

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

Cron в Linux: история, использование и устройство Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron. Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и ...

Первые результаты тестов флагманского смартфона Asus Zenfone 6z В Сети появились первые результаты тестирования нового флагманского смартфона Asus, который, если верить источникам, будет выпущен под названием Asus Zenfone 6z. Устройство было замечено в базе данных популярного тестового приложения Geekbench, которое подтверждает, что...

[Из песочницы] Очередная статья о том, как выбрать себе смартфон Здравствуйте, уважаемые хабровчане, решил перевести статью с медиума по выбору смартфона. Это моя первая публикация на Хабре, так что прошу не судить строго). Определяем свой сценарий использования Довольно часто наши решения о покупке чего-либо основаны на мнениях люде...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

Что делать с хейтерами в соцсетях Самое главное, с чего нужно начать общение с подписчиками, – с позиции. Мы уважаем людей, даже тех, с которыми нам сложно. Отвечаем честно и спокойно, дружелюбно. Мы пытаемся понять человека и его позицию. Не все умеют выражать свои мысли прямо и спокойно, но все имеют прав...

Об использовании DVD-RAM Недавно разбирал коробки с барахлом после переезда, и наткнулся на пару заботливо сохраненных дисков DVD-RAM. Вспомнил, откуда они у меня, и что даже писал статью в блоге. Правилами вроде не запрещено, поэтому решил выложить сюда. Быть может кому будет интересно. DVD-диски д...

Краеугольные камни уничтожения медленного кода в Wolfram Language: ускоряем код в десятки, сотни и тысячи раз Скачать файл с кодом и данные можно в оригинале поста в моем блоге Картинка к вебинару и посту взята не просто так: в определенном смысле символьное ядро Wolfram Language можно сравнить с Таносом — если бы его мощь была бы направлена в правильное русло, он мог бы стать самы...

Обзор Might & Magic Heroes: Era of Chaos — игра которой и обзор-то не нужен Вспомните, как вы отнеслись к анонсу Might & Magic Heroes: Era of Chaos? Даже если в свое время пропустили эту новость, ответьте на вопрос: что вы думаете по поводу перспективы получить тех самых «Героев» на мобильных? Учитывая популярность франшизы среди русскоязычных и...

[Из песочницы] Разработка многозадачной микроядерной ОС — Планировщик После того, как вы прочитали базовые шаги по написанию Hello World ядра из цикла имеющихся на Хабре статей, самое время приступить к серьезной разработке самых базовых инструментов: аллокатора кучи и планировщика. Честно говоря я долго думал стоит ли начинать писать статьи ...

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

[Перевод] Исчерпывающий список различий между VB.NET и C#. Часть 2 В первой части статьи тема превосходства VB.NET над C# по рейтингу TIOBE нашла живой отклик в комментариях. Поэтому по совету AngReload посмотрим на тренды StackOverflow. C# все еще силен! Революция, о которой так долго говорили в прошлый раз, отменяется! Ура, товарищи! Или...

Правообладатели предлагают исключать домены сайтов-нарушителей из поиска Об этом пишет “КоммерсантЪ” со ссылкой на источник, знакомый с ситуацией. Однако интернет-компании, по словам собеседника, не поддерживают идею и вопрос стал наиболее спорным в обсуждении проекта.17 июня, по данным “Ъ”, в Роскомнадзоре состоялось закр...

Xiaomi Mi 9T Pro показывает странные результаты в Geekbench Первые результаты тестирования нового смартфона Xiaomi Mi 9T Pro в популярном бенчмарке Geekbench появились почти два месяца, однако смартфон пока так и не поступил в продажу. Напомним, Xiaomi Mi 9T Pro является копией Redmi K20 Pro для мирового рынка. Смартфон построе...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

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

От «Цветорасширителя для ZX-Spectrum» до ZX-Poly "Цветорасширитель для ZX-Spectrum" — так называлась статья, опубликованная в эхе fido7.zx.spectrum 3 августа 1997 года. Статья описывала идею решения одной из главных проблем платформы ZX-Spectrum — конфликта атрибутов (attribute clash). Публикация вызвала в то время определ...

Доверие к мобильным SDK Недавняя история о бэкдоре в популярнейшей NPM-библиотеке заставила многих задуматься о том, насколько мы доверяем стороннему коду и как смело используем его в своих проектах (потенциально подставляя тем самым пользователей наших продуктов). Но ещё за месяцы до того, как ...

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

Как изменить тему на Samsung Galaxy Одной из вещей, которая нравится пользователям в платформе Android, является то, что она намного больше поддаётся всяческой настройке и кастомизации, чем другие ОС. Смартфоны Samsung, работающие под управлением One UI, фирменным ПО южнокорейского производителя, созданного н...

[Из песочницы] Типизация REST API для фронтенд разработчика Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL. В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по нап...

Simplify3D - Скрытые возможности создания автонастроек (Auto-Configure for Material и Auto-Configure for Print Quality) Многие пользователи давно уже адаптировались к способам сохранения своих настроек параметров печати и материала использующих в большинстве своем «FFF профили». С одной стороны может показаться, что чем меньше вариантов смены настроек, тем лучше, но с другой – наличие и умени...

Преимущества анализа приложений 7 уровня в межсетевых экранах. Часть 1. Основы Почему появилась эта статья? Неоднократно приходил к коллегам-безопасникам, которые пользуются межсетевым экраном нового поколения и видел, что они продолжают писать правила по номерам портов. На мое предложение перейти писать по имени приложений, слышал «А вдруг так не зар...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

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

38 функций в WhatsApp, о которых вы не знали (Часть 3) Мессенджеры, согласно некоторым данным, являются одним из самых популярных видов коммуникации между владельцами смартфонов. Некоторым пользователям приложений для обмена сообщениями вполне достаточно для того, чтобы общаться, почти не прибегая к услугам сотовых операторов. ...

Nintendo Switch скоро могут превратить в планшет на Android Nintendo Switch довольно стремительно ворвалась на рынок, доказав всему миру, что нестандартные решения вполне могут приносить прибыль, став одной из самых быстропродаваемых консолей от японской компании. «Сердцем» игровой системы является чип Nvidia Tegra, а это ...

[Из песочницы] Что делать, если хочется собирать деньги на ремонт «Провала», а под рукой только Wikipedia Мечта любого пиарщика и маркетолога — разместить статью о своей компании на Википедии, ведь это и авторитетность, и высокая поисковая выдача, а значит и больше внимания со стороны потенциальных клиентов. Но написать статью на Википедии – это только половина дела, нужно ещ...

Тест-драйв Renault Duster «дизель»: ТОП-5 вопросов и ответов В прошлом уже выходил подробный обзор нового поколения Renault Duster, однако в комментариях нередко встречаются вопросы об этой модели. Поэтому я еще раз взял Renault Duster, теперь уже турбодизельный, но также с 6-ст. «механикой» и полным приводом – отличные условия для ср...

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

Automation Day, или как мы наращиваем слой автотестов Как часто, работая в команде, вы сталкиваетесь с ситуацией, когда часть задач по автоматизации тестирования попадает в бэклог и остается в ручном тестировании навсегда? Мы постоянно сталкиваемся с такой проблемой, и причины всегда разные: не успели / не хватило времени, а ...

Разработка гибридных PHP/Go приложений с использованием RoadRunner Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы конечно не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медленное, но мы можем дать ему вторую жизнь гибридизацией. Чтобы ускорить — демонизи...

[Из песочницы] Преобразование Фурье. The Fast and the Furious Зачастую при разработке алгоритмов мы упираемся в предел вычислительной сложности, который, казалось бы, преодолеть невозможно. Преобразование Фурье имеет сложность , а быстрый вариант, предложенный около 1805 года Гаусом1 (и переизобретенный в 1965 году Джеймсом Кули и Джон...

«Это абсурд». Тим Кук раскритиковал статью The Wall Street Journal об истинной причине Джони Айва из Apple Вчера мы писали о том, что настоящая причина ухода Джони Айва (Jony Ive) из Apple заключается в отсутствии интереса со стороны Тима Кука к дизайну будущих продуктов компании. Особенно на фоне того, что Стив Джобс в своё время, напротив, уделял этому огромное внимание. ...

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

Дональд Трамп просит Apple заняться развитием 5G Дональд Трамп считает, что может заставить Apple развивать 5G Самая дорогая компания – Apple. Самая инновационная компания – Apple. Даже самая приближённая к власти – с недавних пор – тоже Apple. Кажется, так много эпитетов со словом «самый» не удостаивался ни один другой ве...

Наши руки не для скуки: восстановление кластера Rook в K8s Мы уже рассказывали, как/почему нам нравится Rook: в заметной мере он упрощает работу с хранилищами в кластерах Kubernetes. Однако с этой простотой приходят и определённые сложности. Надеемся, новый материал поможет лучше разбираться в таких сложностях ещё до того, как они...

Какой кабель выбрать для зарядки смартфона? Красивый фиолетовый кабель от Huawei P30 Pro Когда вы покупаете смартфон, в комплекте с ним в 99% случаев идет кабель. Уже после этого в ходе эксплуатации иногда приходится заменить его. Кому-то нужен второй кабель ”на работу”, кто-то потерял свой кабель, кто-то сломал или п...

Математика любви По материалам статьи Julien Clinton Sprott. Dynamical models of love. Nonlinear Dynamics Psychology and Life Sciences, August 2004. Я алгеброй гармонию поверил… Теория мой друг суха, но древо жизни вечно зеленеет… Кто только не бился об эту «проблему»…. Ее разбирали в дре...

MMO EVE Echoes вышла в режиме открытого бета-теста на iOS и Android CCP Games совместно с NetEase объявили о старте открытого бета-теста MMO EVE Echoes. Для доступа к игре на iOS понадобится приложение TestFlight, а на Android она распространяется прямо в Google Play. Разработчики сообщают, что данные участников теста пропадут после его заве...

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

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

Беспилотные автомобили Waymo проехали более 16 миллиардов километров… но не по земле Практически не остается сомнений в том, что беспилотные автомобили рано или поздно станут одним из основных видов транспорта. Ведь множество крупных компаний, таких как Uber или Яндекс, вовсю проводят испытания своих версий автопилота. Не отстает от них и Waymo, самоуправля...

Redmi K20 Pro Premium Edition с 12 ГБ ОЗУ и Snapdragon 855 Plus наказывает конкурентов Напомним, на прошлой неделе компания Redmi представила смартфон Redmi K20 Pro Premium Edition, который получил новейшую однокристальную систему Snapdragon 855 Plus, а также впечатляющие 12 ГБ оперативной памяти в максимальной версии. Именно данная версия и была недавно...

Гиперконвергентное решение AERODISK vAIR. Основа — файловая система ARDFS Привет, читатели Хабра. Этой статьей мы открываем цикл, который будет рассказывать о разработанной нами гиперконвергентной системе AERODISK vAIR. Изначально мы хотели первой же статьей рассказать всё обо всём, но система довольно сложная, поэтому будем есть слона по частям....

[Перевод] 27 удивительных инструментов VS Code для современных JavaScript-разработчиков Visual Studio Code (его ещё называют VS Code и VSCode) — это экономичный но мощный кросс-платформенный редактор кода, выполненный в виде настольного приложения. По словам автора материала, перевод которого мы сегодня публикуем, VS Code поддерживает множество инструментов раз...

Великобритания надеется снизить риски от использования 5G-оборудования Huawei Британское правительство пришло к выводу, что сможет снизить риски, связанные с использованием оборудования Huawei Technologies для сетей 5G, сообщила газета Financial Times в воскресенье со ссылкой на два источника, знакомых с заключением Национального центра кибербезопасно...

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

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Почему так сложно выбрать, какое кино посмотреть (и что можно было бы сделать) Это — ответ на пост на животрепещущую тему «что посмотреть». Автор сам напросился поднял правильный вопрос, но почему-то свел все к странной психологической аналогии «заедания стресса», заявив: «Пока вы сами не знаете, что хотите посмотреть — никто вам не поможет. Будете туп...

Xiaomi ответила на успех смартфонов Samsung Galaxy M10 и M20 колкой рекламой Компания Xiaomi, видимо, прознав о сегодняшнем успехе Samsung на рынке Индии, поспешила уколоть соперника. Правда, получилось у компании это немного странно. В частности, на опубликованном изображении мы видим, по мнению Xiaomi, сравнение экранов Galaxy M и Redmi Note ...

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

Telegram X обновился по крупному, получив новые функции и заметно улучшив старые Telegram может быть не так популярен, как WhatsApp или iMessage, тем более у нас в стране он, вообще, условно заблокирован, но у него есть своя доля пользователей. У этого мессенджера лаконичный и интуитивно понятный интерфейс, он защищен, а также создает резервные копии ва...

Похоже, Blizzard специально оттягивает релиз Diablo Immortal На прошлой неделе издатель NetEase провел конференц-звонок, во время которого поделился результатами завершившегося финансового квартала. Один из аналитиков задал вопрос относительно Diablo Immortal. Руководство компании дало 2 ответа: один на китайском (который заботливо п...

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

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

Владимир Калаев: прямой контакт с людьми важнее алгоритмических лент За аккаунтом Greenpeace России следят больше 100 000 человек в Facebook и около 300 000 человек в Instagram. Организации удалось привлечь тысячи россиян к движению «Ноль отходов» и добиться освобождения узников «китовой тюрьмы». Руководитель отдела интернет-маркетинга Green...

О чём писать в White Paper и как её использовать для продвижения ИТ-продукта? В начале 2019 года один ИТ-клиент поставил передо мной задачу — написать White Paper (она же «белая книга», официальная публикация, «вайт пейпер» и т. д.). А я никогда этого раньше не делал, хотя контент-копирайтингом занимаюсь давно. Решил поискать в Рунете — одна «SEO-вода...

Android 10: где скачать и что нового Последняя версия мобильной операционной системы Google, известная просто как Android 10, теперь доступна для загрузки на телефонах Pixel и появится на устройствах партнеров в этом году. Он имеет ряд примечательных дополнений и улучшений. В Android 10 появилась новая система ...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

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

GOSTIM: P2P F2F E2EE IM за один вечер с ГОСТ-криптографией Будучи разработчиком PyGOST библиотеки (ГОСТовые криптографические примитивы на чистом Python), я нередко получаю вопросы о том как на коленке реализовать простейший безопасный обмен сообщениями. Многие считают прикладную криптографию достаточно простой штукой, и .encrypt() ...

[Перевод] Сценарии использования и производительность Blazor Server в .NET Core 3.0 С момента релиза Blazor Server с .NET Core 3.0 в прошлом месяце многие люди поделились с нами своим восторгом от возможности создания клиентского веб-интерфейса используя только с .NET и C#. В то же время мы также слышали много вопросов о том, что такое Blazor Server, как он...

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

Кто выиграл усилители FiiO? Подводим итоги конкурса! Неделю назад мы запустили конкурс, победители которого получат один из двух усилителей FiiO — ubtr или btr1k. А чтобы участвовать было еще интереснее, совместно с коллегами мы разработали небольшой тест с вопросами об устройствах FiiO, ответы на которые можно было най...

Осторожно — ГАЗ! или Как мы делали негазированные смарт-контракты Блокчейн и смарт-контракты все еще остаются горячей темой среди разработчиков и технических специалистов, много исследований и рассуждений об их будущем и о том, куда это все движется и приведет нас. У нас в Waves Platform свой взгляд на то, какими должны быть смарт-контрак...

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

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

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

Новая версия ПО Cinebench R15 позволяет корректнее тестировать процессоры с большим количеством ядер Тест Cinebench R15 часто используется для оценки производительности процессоров. Проблема в том, что тест старый, и современные многоядерные CPU проходят его буквально за секунды. А это означает, что всё время теста они работают на максимальных частотах. Это показатель ...

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

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

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

Инструкция: как тестировать ansible-роли и узнавать о проблемах до продакшена Всем привет! Я работаю DevOps-инженером в сервисе бронирования отелей Ostrovok.ru. В этой статье я хочу рассказать о нашем опыте тестирования ansible-ролей. В Ostrovok.ru в качестве менеджера конфигураций мы используем ansible. Недавно мы пришли к необходимости тестирования ...

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

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

За что я люблю Apple и почему Android-производителям стоит задуматься Много лет Android-производители не могут дать потребителям то, что действительно важно. Эта история о том, как из-за одной особенности iPhone я всё еще не готов с ним расставаться, понимая при это всё превосходство и разнообразие Android-решений. «Сам смартфон очень п...

[Перевод] Монада «Maybe» через async/await в C# (без Task-oв!) Обобщенные асинхронные типы возвращаемых значений — это новая возможность появившаяся в C# 7, которая позволяет использовать не только Task в качестве возвращаемого типа асинхронных (async/await) методов, но также и любые другие типы (классы или структуры), удовлетворяющие ...

[Из песочницы] Second applet, его закрытие и прозрачные кнопки в Processing 3 Всем КУ. Мой первый пост, прошу не судить строго. Возникла по работе необходимость считывать визуально состояние оборудования и, при необходимости, производить перезапуск криокомпрессора удаленно. Под рукой была Arduino UNO, к ней приобретены датчик освещенности, пока что 2...

Microsoft планирует снять еще один тип блокировки обновления Windows 10 v1903 Вчера вышло новое дополнительное обновление для ПК с Windows 10 May 2019 Update, которое меняет номер сборки до версии 18362.329. Windows 10 KB4512941 поставляется с длинным списком улучшений качества, включая исправление ошибок, связанных с Windows Sandbox и Remote Desktop....

Что такое RFID и для чего она используется? Если вы купили визитницу, бумажник или кошелек, на бирке которого (или на нем самом) сказано, что здесь есть функция блокировки RFID, вы, вероятно, зададитесь вопросом, а что это, вообще, за RFID такой и будут ли ваши кредитные и дебетовые карты в безопасности рядом с этой ...

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

SmartCard I2C Protocol. Обмен APDU командами через I2C интерфейс Введение Некоторое время назад я принимал участие в разработке устройства, в котором было необходимо реализовать российскую криптографию. Так как в дальнейшем предполагалось это решение сертифицировать, то к реализации криптографии выдвигались определенные требования. И как ...

[Перевод] Рекомендации по написанию чистого кода на JavaScript Если вы заботитесь о самом коде, и о том, как он написан, а не заняты лишь тем, чтобы создавать работающие программы, это означает что вы стремитесь к тому, чтобы ваш код был чистым. Профессиональный разработчик пишет код не только в расчёте на компьютеры, но и в расчёте на ...

Гнётся, но не ломается. Смартфон Nokia 9 PureView прошёл тесты блогера JerryRigEverything Блогер JerryRigEverything, канал которого уже насчитывает 4 млн подписчиков, опубликовал видео с типичными издевательствами над очередным смартфоном. В этот раз жертвой стал не самый свежий аппарат Nokia 9 PureView. Несмотря на то, что смартфон уникален за счёт своей к...

40 миллионов HTTP запросов/мин на голом Си Введение I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях: Node.js Tor Transmission Chromium Memcached ... В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, нап...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

MacBook Air (Late 2018), часть 2: подключаем внешнюю видеокарту к ультрапортативному ноутбуку Недавно мы тестировали MacBook Air последнего поколения и среди прочего отмечали, что он не предназначен для выполнения профессиональных высоконагрузочных задач. Однако благодаря наличию Thunderbolt (который отсутствует в 12-дюймовом MacBook) к нему можно подключить внешнюю ...

[Перевод - recovery mode ] Использование Union вместо OR Иногда медленные запросы можно исправить, немного изменив запрос. Один из таких примеров может быть проиллюстрирован, когда несколько значений сравниваются в предложении WHERE с помощью оператора OR или IN. Часто OR может вызывать сканирование индекса или таблицы, которая м...

Узнай, кто ты: человек, андроид или инопланетянин? Тест: Узнай, кто ты: человек, андроид или инопланетянин? Вопрос 1 из 10 Когда ты видишь едва различимый текст на изображении, ты думаешь, что это: Едва различимый текст Рецепт от врача «Кожаные мешки» опять пытаются ...

Samsung Galaxy Fold протестировали на долговечность и ... Только ленивый не писал в свое время, что к складному смартфону Samsung Galaxy Fold есть вопросы по безотказности и надежности работы. После неудачи с тестовыми образцами, инженеры южнокорейского гиганта принялись исправлять недочеты и декларируют, что усилили петли шарнирно...

#DevStory – История создания приложения для подготовки к экзаменам Нам пишут разработчики проекта «Медицинские тесты». «Два основных принципа современного образования: образование для всех и образование через всю жизнь» Международная комиссия по вопросам образования,
науки и культуры при ООН (ЮНЕСКО) Проект «Медицинские тесты» во...

[Перевод] API IntersectionObserver и ленивая загрузка изображений Использование ленивой загрузки изображений для улучшения производительности веб-проектов — востребованная техника оптимизации. Всё дело в том, что изображения — это «тяжёлые» ресурсы, которыми переполнены современные веб-сайты. Мы уже кое-что об этом публиковали. Здесь можно...

Hello, World! Глубокое погружение в Терминалы На написание данной статьи меня вдохновила статья об анализе Сишного printf. Однако, там был пропущен момент о том, какой путь проходят данные после того, как они попадают в терминальное устройство. В данной статье я хочу исправить этот недочет и проанализировать путь данны...

BGP hijacking с помощью добавления AS жертвы в AS-SET атакующего Статья поделена на три части части. В первой содержится общая информация о том что такое BGP hijacking и его традиционный вариант. Для тех кто знаком с этим явлением, рекомендуется перейти сразу ко второй части. Во второй части будет описан метод анонсирования чужих префиксо...

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

Почему в Windows 10 так много багов? Всем привет! Сегодня мы поговорим, почему качество Windows 10 так сильно упало и посмотрим на это с точки зрения бывшего сотрудника Microsoft. Именно так, я работал там на протяжении 15 лет. Вот моя первая карточка, а вот моя подписанная награда Vista Hero Award. Я был разра...

Деревянные игрушки, часть первая — 1982-1985 Когда писал обзоры на ноутбук Compaq LTE, не думал, что настолько затяну с игрушечной частью. Но, как выяснилось, тут «работы» гораздо больше, чем думал. К примеру, куча игр, в которые играл уже в девяностые, оказалась из восьмидесятых. Плюс одно тянет за собой другое — втор...

Запуск SAP GUI из браузера Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться. Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник...

Вариант задействования блокчейна криптовалют как среды передачи команд для элементов бот-сети Хотелось бы развить мысль, упомянутую в статье «Follow the money: как группировка RTM стала прятать адреса C&C серверов в криптокошельке», которая упаковывала их в количество перечисленных за две транзакции сатоши на определенный криптоадрес. Вредонос, запросив у блокчей...

Гайд о прокачке в Call of Duty Mobile: как быстро прокачиваться и за что дают опыт?  Call of Duty Mobile, свежий и уже ставший популярным шутер от Activision и Tencent, предлагает вам различные режимы игры и множество способов заработать очков опыта. Основные и самые быстрые из них – в нашем кратком гайде. Call of Duty Mobile: как заработать опыт Получат...

[Перевод] Почему вам стоит разгонять оперативную память (это легко!) Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций. Да, скорость работы памяти имеет значение Кажд...

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

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

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

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

Популярная функция Instagram появится в WhatsApp WhatsApp и Instagram принадлежат Facebook уже довольно давно, однако совсем недавно последняя решила публично заявить об этом на весь мир (чтобы не осталось неосведомлённых), сообщив также, что в скором времени собирается объединить соцсеть, фотосервис и мессенджер в единое...

[Перевод] Smem – Отчеты о распределении памяти между процессами и пользователями в Linux И снова здравствуйте. Друзья, хотим поделиться с вами переводом полезного материала о мониторинге использования памяти в Linux. Данный материал подготовлен специально для студентов курса «Администратор Linux». Управление памятью в вопросах мониторинга ее использования – о...

Memcached plugin от MySQL: инструкция по осторожному применению Здравствуйте! Меня зовут Максим Матюхин, я PHP-программист Badoo. В своей работе мы активно используем MySQL. Но иногда нам не хватает её производительности, поэтому мы постоянно ищем возможности ускорить её работу. В 2010 году Yoshinori Matsunobu представил NoSQL-плагин ...

Конечные React Компоненты Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс. Через некоторые время ИДЕЯ...

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

Александр Грек об июльском номере «Популярной механики» Прямо сейчас у меня на ногах спроектированные нейросетями и напечатанные на 3D-принтере кроссовки (уже серийная модель!), на работу я приехал на электроскутере, сделанном с использованием углеродных нанотрубок, а вчерашний вечер я провел в Музее русского импрессионизма, любу...

Результаты тестов ARM-процессора Snapdragon 8cx под Windows 10 На Geekbench был обнаружен новый процессор Qualcomm Snapdragon, и этот процессор очень сильно похож на Snapdragon 8cx, который является ответом производителя микроэлектроники на предложения Intel среднего класса.В двух тестах Snapdragon SC8180X (8cx) уже показал хорошую прои...

Как установить файл APK на Android Робот-логотип Android машет рукой Каждый владелец устройства, работающего под управлением операционной системы Android, рано или поздно сталкивается с аббревиатурой APK. Что это такое? Зачем нужен этот файл на смартфоне или планшете? Какие возможности даёт его установка? Все...

Налоговое управление США готовится к публикации нового руководства по криптовалютам В ближайшие несколько недель Налоговое управление США (IRS), как ожидается, представит обновленную версию своего руководства по биткоину и другим криптовалютам. Изменения в документ внесены под давлением со стороны группы из более чем 20 конгрессменов, которые еще в апреле п...

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

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

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

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

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

Видео дня: заряжается ли смартфон быстрее в выключенном состоянии? На YouTube-канале TheUnlockr проверили популярное мнение, которое касается скорости зарядки мобильных устройств во включенном и выключенном состоянии. Многие считают, что если отключить смартфон, то это позволит быстрее пополнить емкость его аккумулятора при зарядке, че...

Подготовка к запуску 5G в России усложнится Gопытка Минкомсвязи продлить исследования операторов в полосе 3,4-3,8 ГГц "наткнулась на полное неприятие силовиков", - приводит "КоммерсантЪ" слова Олега Иванова. Он сообщил, что исследования 5G продолжатся в рамках работ, которые проводит Минкомcвязь, в...

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

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

Windows 10 November 2019 Update на шаг ближе к выпуску Microsoft выпускает обновления функций Windows 10 примерно с шестимесячной периодичностью, в то время как накопительные обновления выпускаются не реже двух раз в месяц с улучшениями, а также с изменениями в существующих функциях.Две недели назад Microsoft анонсировала обновл...

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

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

Защитная пленка станет препятствием для работы ... 20 февраля Samsung выпустит юбилейное десятое поколение флагманов Galaxy S10. Помимо Infinity-O дисплея AMOLED и нескольких камер на тыльной стороне, две версии флагмана получат еще одно улучшение — сканер отпечатков пальцев в дисплее. Компания не стала пионером н...

В Cyberpunk 2077 не будет большого разнообразия животного мира Французское игровое издание JeuxActu взяло интервью у ведущего аниматора Cyberpunk 2077 Мацея Пьетраса (Maciej Pietras). Большинство вопросов по всеми ожидаемому проекту CD Projekt RED касались игрового мира. Разработчик старался отвечать уклончиво, но раскрыл некот...

Размышления про идеальный корпус Здравствуйте. На написание этой статьи меня побудил наметившийся апгрейд домашней системы и недавняя статья Настольный. Металлический. Бесшумный. Твой?. Что-бы найти приемлемый вариант мне пришлось перелопатить кучу моделей корпусов и сейчас я хочу поделиться своей болью с в...

Гайд по внутренней документации по информационной безопасности. Что, как и зачем В одной из наших предыдущих статей мы затронули вопрос формирования комплекта документов для проверяющих по вопросам защиты персональных данных. Мы дали ссылку на наши шаблоны документов, но остановились на теме документации по информационной безопасности весьма поверхност...

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

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

[Перевод] Пишем мультиязычное приложение на React Native Локализация продукции очень важна для международных компаний, осваивающих новые для себя страны и регионы. Аналогично локализация нужна и мобильным приложениям. Если разработчик начинает международную экспансию, важно дать пользователям из другой страны возможность работа...

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

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

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

[Перевод] 3 практических примера использования деструктурирования в JavaScript Пишем код чище, используя паттерны деструктурирования Вы, наверное, уже знакомы с деструктурированием в JavaScript. Оно пришло к нам в 2015 году в спецификации ES6, но если вам нужно освежить знания, то на сайте Mozilla можно почитать большую подробную статью, как это всё р...

[Перевод] Улучшите свой CSS с помощью этих 5 принципов Написание CSS — процесс достаточно простой и понятный, тогда почему для этого требуются еще какие-то принципы и best-practices? По мере увеличения масштабов проекта и количества людей, работающего над ним, всё более и более явно начинают проявляться новые сложности, котор...

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

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

[Перевод] Пишем клон движка Doom: чтение информации карт Введение Цель этого проекта — создание клона движка DOOM, использующего ресурсы, выпущенные вместе с Ultimate DOOM (версия со Steam). Он будет представлен в виде туториала — я не хочу добиваться в коде максимальной производительности, а просто создам работающую версию, и п...

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