Социальные сети Рунета
Суббота, 20 апреля 2024

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

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

SARIF SDK и его ошибки Сегодня у нас на тесте очередной качественный проект Microsoft, в котором мы всё же попытаемся героически поискать ошибки при помощи PVS-Studio. SARIF – аббревиатура от «Static Analysis Results Interchange Format», представляет собой стандарт (формат файла), предназначенный...

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

Сравниваем производительность C# и C++ в задачах обработки изображений Бытует мнение, что C# не место в вычислительных задачах, и мнение это вполне обоснованное: JIT-компилятор вынужден компилировать и оптимизировать код на лету в процессе выполнения программы с минимальными задержками, у него попросту нет возможности потратить больше вычислите...

[Перевод] Последние версии компиляторов D Группа разработчиков LDC закрыла ушедший год версией 1.19.0 компилятора D, использующего LLVM, а основная команда начала новый год версией 2.090.0 эталонного компилятора DMD. И если вы еще не слышали, не так давно появились важные новости о D-компиляторе на базе GCC, GDC. На...

Макросы для питониста. Доклад Яндекса Как можно расширить синтаксис Python и добавить в него необходимые возможности? Прошлым летом на PyCon я постарался разобрать эту тему. Из доклада можно узнать, как устроены библиотеки pytest, macropy, patterns и как они добиваются таких интересных результатов. В конце есть ...

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

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

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

Обидно за мнения про статические анализаторы кода Инструменты статического анализа кода ушли далеко вперёд. Это вовсе не те "линтеры", которые активно применялись 20 лет тому назад. Однако многие по-прежнему относятся к ним, как к очень простым инструментам. Обидно. Обидно, как за методологию анализа кода в целом,...

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

DeepCode: взгляд со стороны Не так давно DeepCode, статический анализатор, основанный на машинном обучении, стал поддерживать проверку C и C++ проектов. И теперь мы можем на практике взглянуть, чем отличаются результаты классического статического анализа и статического анализа, основанного на машинном...

Проверка коллекции header-only C++ библиотек (awesome-hpp) Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем ...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Валидация ассетов в Unity3D Начнём с того, что я обожаю сериализацию в Unity. Она надёжна и очень проста в использовании. Я просто расширяю MonoBehaviour, ScriptableObject и подобные классы и настраиваю сериализуемые поля экземпляров в инспекторе. Но у неё есть и слабости. Одна из них ― человеческий...

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

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox Мой предельно простой компилятор Паскаля уже становился предметом двух публикаций на Хабре. Со времени их написания язык обзавёлся всеми недостающими средствами, положенными станд...

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

ВКонтакте снова выкладывает KPHP Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад. Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со времене...

Azure SDK for .NET: история о непростом поиске ошибок Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова ...

[Перевод] Создание зомби-шутера от третьего лица с помощью DOTS Салют, хабровчане. Как мы уже писали январь богат на новые запуски и сегодня мы анонсируем набор на новый курс от OTUS — «Разработчик игр на Unity». В преддверии старта курса делимся с вами переводом интересного материала. Мы пересобираем ядро Unity с помощью нашего стек...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Как быстро конвертировать видео для загрузки в Интернет на Mac при помощи Automator Штатное приложение Automator в macOS может выполнять огромное количество задач. Другое дело, что разбираться в этом, по мнению многих, сложно и долго. В данном материале мы расскажем как при помощи готового Automator-приложения, в одно действие конвертировать любой видеороли...

Анализ исходного кода Emby при помощи анализатора PVS-Studio Emby — довольно известный медиасервер, наравне с Plex и Kodi. В этой статье мы попробуем проверить его исходный код при помощи статического анализатора PVS-Studio. На официальном сайте Emby есть маленькая пометочка «Built with ReSharper». Что же, так даже интереснее. Читать...

Google обновил инструмент проверки расширенных результатов Команда Google Webmasters сообщила об обновлении инструмента «Проверка расширенных результатов». Теперь он показывает незагружаемые встроенные ресурсы — внешние элементы, добавленные на страницу. Напомним, что в июне в этом инструменте появилась возможность выбора аген...

BGP route leaks. Разбираемся с эффектом бабочки в глобальной сети Для подписчиковВсе крупные сети и особенно сети провайдеров строятся на одном протоколе — BGP. Сегодня мы рассмотрим с технической стороны один из главных недостатков BGP: полное отсутствие проверки полученных маршрутов. Из-за этого возможна уязвимость, которая называется ro...

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

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

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

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

Учим нейросети в Google Таблицах Хочу с вами зачелленджить одну интересную штуку: попробовать обучить нейросеть в Google Таблицах. Безо всяких макросов и прочих хаков, на чистых формулах. Читать дальше →

Как написать правила для Checkmarx и не сойти с ума Привет, Хабр!В своей работе наша компания очень часто имеет дело с различными инструментами статического анализа кода (SAST). Из коробки они все работают средне. Конечно, всё зависит от проекта и используемых в нём технологий, а также, насколько хорошо эти технологии покрыва...

Мини-клавиатура HyperX x Ducky One 2 Mini появится 12 мая Игровое подразделение HyperX выпустила совместный проект с Ducky, клавиатуру HyperX x Ducky One 2 Mini. Клавиатура будет выпущена ограниченным тиражом в 3700 экземпляров. HyperX x Ducky One 2 Mini использует фирменные механические переключатели HyperX Red Switch. Клавиат...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

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

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

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

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

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

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Roslyn API, или из-за чего PVS-Studio очень долго проект анализировал Многие ли из вас использовали сторонние библиотеки при написании кода? Вопрос риторический, ведь без применения сторонних библиотек разработка некоторых продуктов затягивалась бы на очень-очень большое время, потому что для решения каждой проблемы приходилось бы "изобретать ...

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

Считывание защищенной прошивки из флеш-памяти STM32F1xx с использованием ChipWhisperer В предыдущей статье мы разбирались с Vcc-glitch-атаками при помощи ChipWhisperer. Нашей дальнейшей целью стало поэтапное изучение процесса считывания защищенной прошивки микроконтроллеров. С помощью подобных атак злоумышленник может получить доступ ко всем паролям устройст...

[Перевод] Начало работы с методами JavaScript-массивов .map(), .filter() и .reduce() Когда я разбирался в том, как пользоваться методами JS-массивов .map(), .filter() и .reduce(), всё, что я читал, смотрел и слушал, казалось мне очень сложным. Эти концепции рассматривались как некие самостоятельные механизмы, ни к чему другому отношения не имеющие. Мне тяжел...

Топ 10 ошибок в проектах Java за 2019 год 2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено...

Качество кода Apache Hadoop: production VS test Для того, чтобы получить качественный production код, недостаточно просто обеспечить максимальное покрытие тестами. Несомненно, для того, чтобы добиться высоких результатов, основной код проекта и тесты обязаны работать в идеально сплоченном тандеме. Поэтому уделять внимани...

[Из песочницы] Как мы Google Security Checkup проходили Чтобы обеспечить безопасность пользовательских данных, Google тщательно проверяет все приложения, которые используют restricted API scopes и имеют доступ к Google User Data. Не так давно мы в Snov.io прошли через процесс проверки и получили одобрение Google, с чем и хотим по...

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

Java-дайджест за 17 января. Две первые недели нового года Появился шрифт JetBrains Mono — приятный и красивый шрифт для разработчиков Вышел плагин для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE! В Java-плагине для Visual Studio Code добавили кучу важных ништяков (действительно вли...

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

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

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

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

Автодополнение кода и проверка типов для boto3 Картинка предоcтавлена автором boto3-type-annotations, Allie Fitter Сейчас мало кто пишет большие проекты на Python без аннотации типов. Это и просто, и позволяет отловить кучу ошибок еще на этапе написания кода, да и работает очень шустро. Но стоит добавить в зависимости b...

Uber запускает функцию «Проверка идентификации в режиме реального времени» в Украине Uber предлагает функцию "Проверка идентификации в режиме реального времени" для всех водителей и курьеров в Украине. Сообщение Uber запускает функцию «Проверка идентификации в режиме реального времени» в Украине появились сначала на technoguide.

[Перевод] Прослушиватели событий и веб-воркеры Недавно я разбирался с API Web Workers. Очень жаль, что я не уделил время этому отлично поддерживаемому инструменту раньше. Современные веб-приложения очень требовательны к возможностям главного потока выполнения JavaScript. Это воздействует на производительность проектов и ...

SPECIA QA Meetup SPECIA приглашает на митап по тестированию — поговорим о том, как проводить тесты без тестировщика, почему тестирование вообще необходимо и почему лучше не заниматься самотестированием, а также как устроено тестирование в веб-проектах. Программа «Философия тестирования» ...

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

Кто умнее чем IDEA? Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки: И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Ка...

[Перевод] Декодируем JPEG-изображение с помощью Python Всем привет, сегодня мы будем разбираться с алгоритмом сжатия JPEG. Многие не знают, что JPEG — это не столько формат, сколько алгоритм. Большинство JPEG-изображений, которые вы видите, представлены в формате JFIF (JPEG File Interchange Format), внутри которого применяется ...

DDoS-атака через социальную инженерию TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента на хостинге за вредоносную активность, которой не было. Комментарий от vdsina.ru: Эта статья написана нашим клиентом, который перешёл к нам от крупного хосте...

Интеграция PVS-Studio в PlatformIO Недавно в среде разработки встраиваемых систем PlatformIO появилась поддержка PVS-Studio. В этой статье вы узнаете, как проверить свой код статическим анализатором на примере нескольких открытых проектов. Читать дальше →

Справочная: разбираемся с принципами SOLID Расскажем, кто их придумал и в чем они заключаются. Также поговорим о критике этого подхода — о том, почему некоторые разработчики отказываются следовать SOLID-методологиям. Читать дальше →

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

ViPNet в деталях: разбираемся с особенностями криптошлюза Жизнь сетевого инженера была счастливой и беззаботной, пока в ней не появился сертифицированный криптошлюз. Согласитесь, разбираться с решениями, предназначенными для шифрования каналов передачи данных по ГОСТу, задача не из легких. Хорошо, если это известные и понятные пр...

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

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

Интересные материалы: 20.02 Закрываем неделю статическими анализаторами кода, продуктивностью "с 9 до 5" и даже GitHub-ом для данных.

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

Пиратам удалось взломать эксклюзив с Battle.net, который защищен проверкой онлайна Пираты иногда могут удивить. И если взлом известной защиты Denuvo уже давно не редкость, то вот с BATTLENET, которая выполняет проверку онлайна у взломщиков бывают проблемы. Но теперь как минимум одна игра с данной защитой была успешно взломана. Читать полную статью

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

Android insets: разбираемся со страхами и готовимся к Android Q Android Q — это десятая версия Android с 29-м уровнем API. Одна из главных идей новой версии это концепция edge-to-edge, когда приложения занимают весь экран, от нижней рамки до верхней. Это значит, что Status Bar и Navigation Bar должны быть прозрачными. Но, если они прозра...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

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

[Перевод] Мои любимые инструменты разработчика Chrome Доброго времени суток, друзья! Chrome Developer Tools — очень мощный набор инструментов для разработки веб приложений. С помощью этих инструментов мы можем перемещаться по DOM, осуществлять проверку запросов на сервер, настраивать производительность приложений и др. Сред...

Как работает Windows 10 на Raspberry Pi 4 и Pi 3 Разработчики наконец установили оптимизированную для ARM версию Windows 10 на Raspberry Pi 4 после того, как некоторым людям удалось запустить ее на Raspberry Pi 3 в первой половине 2019 года. Raspberry Pi 4 и Pi 3 официально поддерживают версию Windows 10 для IoT Core, кото...

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв Предлагаю ознакомиться с расшифровкой доклада Иван Пономарёв "Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем" Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют те...

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

Релиз Spring Native Beta Недавно команда, занимающаяся портированием Spring на GraalVM, выпустила первый крупный релиз - Spring Native Beta. Вместе с создателями GraalVM они смогли пофиксить множество багов как в самом компиляторе так и спринге. Теперь у проекта появилась официальная поддержка, свой...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

OpenToonz: снаружи и внутри Прошло уже почти четыре года с тех пор, как PVS-Studio поверял исходный код OpenToonz. Этот проект является очень мощным инструментом для создания двухмерной анимации. За время с последней проверки с его помощью были созданы такие мультипликационные произведения, как Мэри и...

Обновление для IDE EmBitz 1.11 На официальном форуме появилось обновление для IDE EmBitz 1.11. Оно включает в себя расширенный список поддерживаемых микроконтроллеров STM32, обновленные версии библиотек CMSIS, SPL, HAL и LL, а также текущую версию компилятора gcc-arm-none-eabi-9-2020-q2-update и GDB серве...

AnyFix — универсальное приложение для решения 330 проблем iOS-устройств Многие попадали в ситуацию, когда после неудачной установки обновления iOS устройство превращалось в «кирпич» и просто зависало на этапе включения. Особенно актуально это сейчас при работе с бета-версиями iOS 14. Или если iPhone вдруг показывает черный экран или начинает са...

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

OrbitDB — децентрализованная база данных на IPFS Мы уже рассказывали про InterPlanetary File System, распределённую сеть поверх одноимённого p2p-протокола с доступом к данным по HTTP. Данные в ней не поддаются изменению (не блокчейн, но часть принципов совпадает), хранятся неограниченно долго и у неё даже есть система ре...

Исключения C++ через призму компиляторных оптимизаций На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действи...

[Перевод] Как победить бездушный рандом в roguelike-играх Умирая в игре 30-й раз, невольно задумываешься: все ли продумал геймдизайнер и не напортачил ли он с балансом? Не всегда можно подстроиться под неожиданные изменения, особенно когда они созданы процедурной генерацией. Дальше материал, в котором разбирается роль случайнос...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

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

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Ошибка 0xc0000005 при запуске игры или приложения: как ее исправить Пользователи Windows часто сталкиваются с ошибкой 0xc0000005 при запуске игр и программ. Разбираемся в том, что это за ошибка, и как с ней бороться.

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

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

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

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

Сгореть и вернуться из пепла или люди-фениксы История о том как “сгорают” в распределенных командах. Мы, в ProtocoleOne, пишем разные проекты и почти все они Open Source. И так уж сложилось, что крутые специалисты живут в разных городах и даже странах и не только в столицах. Один из таких проектов — PaySuper. Проект дл...

Бесплатные образовательные курсы: фронтенд-разработка Порядочный фронтендер знает HTML и CSS, разбирается во фреймворках и библиотеках, понимает, что находится «под капотом» на серверной стороне. Плюс, обязательно умеет работать с контролем версий, использовать графические редакторы, разбираться в шаблонах разных CMS. Сегодн...

Вышел новый релиз «Python для браузеров», встречаем Brython 3.9 Разработчики проекта Brython Python выпустили новый релиз, Brython 3.9. Сам проект позиционируется, как «Python для браузера». Он основан на Python 3 и выполняется на стороне браузера, причем для разработки веб-скриптов вместо JavaScript используется Python. Код проекта ...

Java-дайджест за 6 марта Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotlin, раньше работал в ZeroTurnaround. Подкаст помогает вести Кирилл Толкачёв, в остал...

Статическое тестирование безопасности опенсорсными инструментами Уязвимости в своём коде хочется находить как можно быстрее, а значит нужно автоматизировать этот процесс. Как именно автоматизировать поиск уязвимостей? Существует динамическое тестирование безопасности, существует статическое — и у обоих свои преимущества и недостатки. Сег...

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

Sentry — трекинг java exception в Java Sentry — трекинг java exception в Java Стандартно Java разработчики мониторят ошибки, exception через логи. Но есть и другой способ, а именно отправка exception в Sentry. Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях. Преимущества использ...

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

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

«КОРУС Консалтинг СНГ» усовершенствовала сервис «Проверка контрагентов» «КОРУС Консалтинг СНГ» (входит в экосистему Сбербанка) расширила возможности сервиса проверки контрагентов ("Проверка контрагентов«).Теперь все пользователи сервиса могут бесплатно подключить к нему до трех сотрудников компании ...

Началось ЗБТ зомби-шутера Project Gaia — Unreal Engine 4 и кооперативный режим Инди-разработчики запустили ЗБТ для своего зомби-шутера под названием Project Gaia. Здесь мы бегаем с товарищами в кооперативном режиме и уничтожаем армию ходячих мертвецов. Проект выполнен на Unreal Engine 4. Разработчики обещают сюжетную линию и динамичные сражения. В бета...

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

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

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

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

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

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

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

CheckURLs — бесплатный инструмент для проверки url Бесплатный сервис для массовой проверки кода ответа сервера CheckURLs  будет полезен сайтам в случае изменения структуры URL. Сервис позволяет осуществлять проверку до 30 url за 1 раз (количество проверок не ограничено). Чекается вся цепочка редиректов, до 10 шагов вклю...

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

Реализация поиска печатей на OpenCV без нейронок, регистрации и смс Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопат...

[Перевод] Контрольный список для ревью кода в распределенных системах points of view by sanja Микросервисная архитектура широко распространена в разработке программного обеспечения. Но организации, которые ее используют, помимо сложностей в реализации бизнес-логики сталкиваются еще и с распределенными сбоями. Ошибки распределенных вычислений...

MLOps: DevOps в мире Machine Learning В 2018 году в профессиональных кругах и на тематических конференциях, посвященных AI, появилось понятие MLOps, которое быстро закрепилось в отрасли и сейчас развивается как самостоятельное направление. В перспективе MLOps может стать одной из наиболее востребованных сфер в I...

Развитие компилятора C для нового мультиклета-нейропроцессора На конференции разработчиков системного и инструментального ПО – OS DAY 2016, которая прошла в г. Иннополис 9-10 июня 2016 (Казань) при обсуждении доклада о мультиклеточной архитектуре была высказана мысль, что она будет наиболее эффективной при решении задач искусственног...

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

Для экшен-платформера JackQuest вышло бесплатное расширение The Dark Castle JackQuest: The Tale of the Sword— это фэнтезийный экшен-платформер, рассказывающий историю юного Джека, чью возлюбленную по время прогулки по лесу похищает злобный орк Корг. Протагонист бросается на помощь и в подземном голове находит необычный клинок, который оказывается со...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

Компания Genesis представила механическую клавиатуру Thor 420 Genesis Thor 420 использует алюминиевый корпус. Клавиатура оснащена RGB подсветкой которая управляется через оригинальное программное обеспечение. С помощью ПО можно настроить профиль и макросы клавиш. Thor 420 гарантирует до 50 миллионов нажатий. Клавиатура оснащена фу...

Группировка Lazarus взяла на вооружение RAT-троян Dacls Специалисты Netlab 360 зафиксировали кампанию по распространению ранее неизвестного модульного трояна, получившего название Dacls. Зловред атакует компьютеры под управлением Windows и Linux через RCE-уязвимость в макросе системы Atlassian Confluence, закрытую еще в марте это...

Массовая проверка сайтов — новый инструмент от PR-CY Сервис для одновременной проверки доменов по 18 параметрам.

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

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

[Перевод] Усложнение команд консоли, 1979−2020 Моё хобби — открыть «Философию UNIX» Макилроя на одном мониторе, одновременно читая маны на другом. Первый из принципов Макилроя часто перефразируют как «Делайте что-то одно, но делайте хорошо». Это сокращение от его слов «Создавайте программы, которые делают одну вещь хоро...

[Перевод] В двух словах: Лучшие практики Async/Await в .NET В преддверии старта курса «Разработчик C#» подготовили перевод интересного материала. Async/Await — Введение Языковая конструкция Async/Await существует со времен C# версии 5.0 (2012) и быстро стала одним из столпов современного программирования на .NET — любой уважающий ...

Roccat Kain 202 AIMO Игровая мышь Roccat Kain 202 AIMO предлагает классический дизайн для правой руки. Мышь беспроводная, подключается через USB 2,4 ГГц. В комплекте есть кабель micro USB для зарядки. По словам компании, мышка может проработать до 35 часов без подзарядки. Мышь получила стильный...

NASA завершило тестирование космического корабля Orion, готовящегося к полёту на Луну Национальное управление США по воздухоплаванию и исследованию космического пространства (NASA) завершило процесс тестирования космического корабля Orion, разработанного корпорацией Lockheed Martin и предназначенного для отправки в космос экипажа астронавтов в рамках лунной м...

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

[Перевод] Новости из мира OpenStreetMap № 498 (28.01.2020-03.02.2020) SolidaryCityMap by openDEM 1 | map data OpenStreetMap contributors – Foodsharing.de, Mundraub.org, Repaircafe.org Картографирование Команда разработчиков инструмента проверки качества Osmose сообщила, что теперь доступна интерактивная панель помощи с описанием потенциаль...

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

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

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

FOSS News №9 — обзор новостей свободного и открытого ПО за 23-29 марта 2020 года Всем привет! Продолжаем обзоры новостей свободного и открытого ПО и железа (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №9 за 23–29 марта 2020 г.: Open Source против COVID-19: как разработчики могут помочь в борьбе с...

[Перевод] Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Ключевые выводы Gitflow — это совместная модель ветвления, которая пытается использовать мощность, скорость и простоту ветвления Git. Этот метод хорошо работал в ситуации, котор...

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

Тикет-системы: как бесплатная OTRS три платных уделала? Бесплатный софт для бизнеса — спорная история. Компания, которая выбирает такое ПО, должна понимать, что либо ей придётся столкнуться с open source и искать разработчика на поддержку программы, либо принять бесплатную версию программы как есть, без надежды на поддержку, дора...

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

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

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

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku Для кого написано Если вы ни разу не писали Telegram-ботов на Java и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для созда...

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

Не стали разбираться с властями, протестами и деньгами: почему основатели Google могли уйти из руководства Alphabet По мнению аналитиков, Сундару Пичаи предстоит разобраться с проблемами компании и, возможно, снова её реструктурировать.

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занима...

(S)SDLC, или Как сделать разработку безопаснее. Часть 1 С каждым годом культура разработки растет, появляются новые инструменты для обеспечения качества кода и новые идеи, как эти инструменты использовать. Мы уже писали про устройство статического анализа, про то, на какие аспекты анализаторов нужно обращать внимание, и, наконе...

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

Aнглийский для демо (структура, фразы, Q&A, грамматика, советы) Демо в конце спринта (будь то внутреннее, заказчику или крупному клиенту) — это настоящая проверка знания английского для не носителя языка, так как эта небольшая презентация показывает: беглость речи (fluency) точность (accuracy) — много или немного ошибок в речи в цело...

Автоматизированная сборка Delphi-приложения Автоматизированная сборка Delphi-приложения Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-колен...

Как провести онлайн митап и сколько это стоит Привет! Меня зовут Антон Матренин, я один из организаторов сообщества ArtFlutter. Сегодня мы поговорим об онлайн митапах, платформах для онлайн конференций, стриминговых сервисах и в конце покажу пример настройки собственного онлайн-события.Все мы привыкли к конференциям, ...

Как улучшить письменный английский для коммуникаций за рубежом: проект Linguix Business Привет, Хабр! Сегодня я хотел бы снова рассказать вам о нашем проекте – сервисе для улучшения письменного английского Linguix.com. Сегодня мы запускаем новый продукт – систему улучшения коммуникаций для бизнеса. Linguix Business – это комбинация инструмента проверки грам...

[Перевод] Используете ли вы цифровой блок клавиатуры? Отдаём дань уважения классическому стандарту клавиатур. Ушедший реликт старой вычислительной эпохи? Или необходимая для повышения продуктивности вещь? Давайте разбираться. Разбираясь с барахлом в моём домашнем кабинете – а в последнее время я точно не один занимаюсь подобн...

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

Виталик Бутерин: с шардингом производительность Ethereum достигнет 100 тысяч транзакций в секунду В рамках конференции ETHLondonUK Виталик Бутерин и сооснователь Consensys Джо Любин, обсуждая будущее Ethereum, подняли темы шардинга и использования публичных сетей в секторе DeFi, сообщает портал Crypto News Flash. Шардинг является масштабируемым решением первого уровня и ...

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

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

Чужой код — потемки: чем опасно скачивание «безобидного» софта с GitHub Наверное, каждый из тех, кто читает эту статью, хорошо знаком с GitHub — крупнейшим веб-сервисом для хостинга IT-проектов и их совместной разработки. Здесь можно найти почти любой open source-проект. Для компиляции проекта может быть нужен какой-то специфический софт, кото...

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

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

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

Google: запросы на повторную проверку могут занять от недели до нескольких месяцев Джон Мюллер о повторной проверке сайта в Google Search Console

Начинается эпоха диалогового ИИ с выходом нового ПО NVIDIA для инференса Компилятор NVIDIA TensorRT 7 обеспечивает инференс в реальном времени, совершенствуя взаимодействие человека и ИИ

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

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

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

Современный Web-UI для SVN в 2020 году cSvn — это web-интерфейс к Subversion репозиториям. Основу cSvn представляет CGI-скрипт написанный на языке С. В мае 2020 года был опубликован релиз очередной версии Apache Subversion 1.14.0. В свете этого события, был создан новый, современный web-интерфейс для просмотра S...

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

Создатели PlayStation 5 собираются совершить огромную ошибку Как утверждает Video Games Chronicle, ссылаясь на собственных информаторов, компания Sony Interactive Entertainment в этом году снова пропустит самую большую игровую выставку E3 в Лос-Анджелесе. Очень известный игровой аналитик Майкл Пактер (Michael Pachter) подтвержда...

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

Разработка сервисов и IaaS: подборка материалов об облаке, хранении данных и эволюции «1cloud» Разбираемся с законом о ПД, рассказываем, как эволюционировала инфраструктура 1cloud.ru, обсуждаем изменения в политиках ИТ-компаний и развитие облачных экосистем. Читать дальше →

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

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

Флагманские телефоны Android работают с полноценной Windows 10 Еще в 2017 году Microsoft представила версию Windows 10 для устройств на чипах ARM. С тех пор Microsoft и Qualcomm совместно работают над оптимизацией под Windows 10 для ARM и позволяют разработчикам переносить свои приложения x86 на устройства ARM64.Разработчики возились с ...

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

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

Проверка диска вызывает ошибку на Windows 10? Microsoft выпускает исправление • Компания Microsoft выпустила решение проблемы, которая может привести к невозможности загрузить систему при использовании инструмента chkdsk. • Проблема затрагивает небольшое количество устройств, если верить Microsoft. • Проблема должна быть автоматически решена на неупра...

Проект LLHD — универсальный язык описания аппаратуры Буквально на днях на arXiv-е была выложена очень занятная статья швейцарских исследователей, в которой представлены подробности проекта LLHD. Это проект создания многоуровневого промежуточного представления для языков описания аппаратуры, наследующий идеологию и принципы про...

MKS Robin Nano 2.0. Новый хит? Владельцы Robin Nano, вы еще хотите SKR, тогда мы идем к вам.

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

[Перевод] Запускаем однофайловые программы в Java 11 без компилирования Пусть исходный файл HelloUniverse.java содержит определение класса и статичный метод main, который выводит в терминал одну строку текста: public class HelloUniverse{ public static void main(String[] args) { System.out.println("Hello InfoQ Universe"); ...

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

Опыт работы над проектом на базе Vue3 в 2021 году Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3. Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особеннос...

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

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

Object Detection. Распознавай и властвуй. Часть 2 В прошлом посте я начал разбираться в двухступенчатых Object Detection моделях и рассказал о самой базовой и, соответственно, первою из них – R-CNN. Сегодня мы рассмотрим другие модели этого семейства: Fast R-CNN и Faster R-CNN. Поехали! Читать дальше →

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

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

[Перевод] Использование Atomics.wait(), Atomics.notify() и Atomics.waitAsync() Статические методы Atomics.wait() и Atomics.notify() представляют собой низкоуровневые примитивы синхронизации, которые можно применять для реализации мьютексов и других подобных механизмов. Но, так как метод Atomics.wait() является блокирующим, его нельзя вызывать в главном...

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

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Стартовал второй сезон в Fruit Ninja 2 — современный интерфейс, сезонный пропуск и другое Мир не стоит на месте и студия Halfbrick прекрасно это понимает, поэтому она решила обновить своё продолжение легендарной аркады, Fruit Ninja 2. И не просто исправить пару багов, а завезти полноценный второй сезон. Что в нём изменили, что добавили? Давайте разбираться вместе...

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

Корабль Crew Dragon доставили на мыс Канаверал SpaceX Как передает портал Engadget, компания SpaceX доставила на космодром на мысе Канаверал корабль Crew Dragon. Сообщается, что в ближайшие месяцы специалисты проведут финальное тестирование аппарата, готовя его к первому пилотируемому запуску. Если все пойдет по пла...

Обзор Razer Cynosa Lite. Мембранная клавиатура с подсветкой и макросами В скором времени в России стартуют продажи игровой клавиатуры Razer Cynosa Lite с мембранными переключателями. Поддержка макросов, многоцветная подсветка, прочная конструкция с защитой от воды. Интересна она еще будет и невысокой стоимостью. К моменту публикации продажи еще...

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

«Нюансы» использования TeamCity Всем привет. Статья написана в простом стиле "DevOps для домохозяек" от таких же домохозяек. В ней будет описано с какими неожиданностями можно столкнуться при настройке проекта в TeamCity. Также приведу рекомендации как эти проблемы можно обойти. Нижеописанное ос...

Let’s Encrypt отзывает 3 000 000 сертификатов из-за бага Сегодня, 4 марта 2020 года, Let's Encrypt отзывает 3 048 289 сертификатов. Все дело в ошибке в управляющем ПО Boulder, которое используется для проверки пользователей и их доменов перед выдачей сертификатов.

Под колпаком: кого коснулись ограничения на пользование электронными кошельками Ассоциация участников рынка электронных денег и денежных переводов, «Яндекс.Деньги», Qiwi, WebMoney и РНКО «Единая касса» выступили с предложением упростить идентификацию владельцев электронных кошельков. По мнению участников рынка, последние поправки в законодательство нега...

Кастомные декораторы для NestJS: от простого к сложному Введение NestJS — стремительно набирающий популярность фрeймворк, построенный на идеях IoC/DI, модульного дизайна и декораторов. Благодаря последним, Nest имеет лаконичный и выразительный синтаксис, что повышает удобство разработки. Декораторы или аннотации — наследники асп...

OLX ежедневно блокирует 3 тысячи объявлений после ручной проверки В OLX сообщили, что более 130 тысяч объявлений в день проходят автоматическую проверку на соответствие правилам платформы. В то же время искусственный интеллект мониторит в среднем 15 тысяч подозрительных аккаунтов на предмет фишинга. The post OLX ежедневно блокирует 3 тысяч...

Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio DRY. Don’t Repeat Yourself. Принцип, призывающий разработчика не дублировать код. DRY часто можно распространить шире, не только на код. Сегодня расскажу о личном проекте, который уже помог мне и другим разработчикам избавиться от последовательности рутинных действий при раз...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

Разбираемся с Custom Tooling в Argo CD Спустя некоторое время после написания первой статьи, где я ловко управлялся с jsonnet и гитлабом, я понял что пайплайны это конечно хорошо, но излишне сложно и неудобно. В большинстве случаев требуется типовая задача: "сгенерировать YAML и положить его в Kubernetes&qu...

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

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

Разбираемся с eSIM (+ интервью с экспертом) Поговорим о eSIM (полное название embeddedSIM — то есть, встроенная SIM) — впаянных в гаджет (в отличие от привычных съёмных «симок») SIM-картах. Разберём, чем они лучше обычных SIM-карт и почему мобильные операторы противодействуют внедрению новой технологии. Читать дальше...

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

В Windows 10 найдена серьёзная уязвимость: Апрельское обновление перенесут из-за ошибки Сейчас Microsoft занимается активным исправлением багов в своей ОС. В Windows 10 найдена серьёзная уязвимость, из-за которой якобы перенесут апрельское обновление, сообщают западные СМИ. Ошибки в системе безопасности ОС могут сорвать планы по внедрению улучшений в программу...

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

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

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

Spring-анимации во Vue Привет, Хабр! Мне давно хотелось добавлять в любые проекты Spring-анимации. Но делал я это только для React-проектов с помощью react-spring, так как не знал ничего другого. Но наконец я решил разобраться, как оно все устроено и написать свою реализацию! Если вы тоже хоти...

[Перевод] Настройка Webpack 5 с нуля Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии: команда «webpack-dev-server» теперь выглядит как «webpack-serve» о...

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

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

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

Погружение в Charles Proxy Привет, Хабр! Меня зовут Настя, я работаю в команде тестирования мобильных приложений компании FunСorp. При приёмке задач мы уделяем большое внимание проверке клиент-серверного взаимодействия. Опыт проведения собеседований показывает, что новички в тестировании мобильных п...

Интеграция в проект LVGL графической библиотеки для микроконтроллеров LVGL — Light and Versatile Graphics Library также известная как LittleVGL. Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открыт...

CL: Champions Legion — мобильная MOBA с тяжёлой судьбой Жанр MOBA на мобильных устройствах только набирает обороты: если раньше единственным нормальным конкурентом была Mobile Legends, то в 2021 году выйдет League of Legends: Wild Rift и большинство любителей этого жанра наверняка перетянутся туда. Но инди-разработчики тоже хотят...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

[Из песочницы] Обзор Лекционного вечера по разработке игр от ВШЭ 29 января в Высшей школе экономики прошли две лекции от специалистов в сфере геймдизайна. На Хабре был анонс сего мероприятия, и я решил посетить и написать обзор. 1. Прототипирование для чайников: как сделать хорошую игру Лектор — Кулешов Степан, продюсер в Banzai Games. ...

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

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

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

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

Rocket Lab доставила 7 спутников на орбиту и выполнила ключевой манёвр для многоразового использования ракеты Американская частная космическая компания Rocket Lab в пятницу утром успешно осуществила десятый запуск ракеты-носителя сверхлёгкого класса Electron, доставив на орбиту 7 спутников. Шесть из них — мини-спутники производства английской компании Alba Orbital. Запуск седьмого с...

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

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

Прокачай свой CLI Сейчас многие фреймворки имеют в своем арсенале CLI (Command Line Interface) и ангуляр – не исключение. Впервые с CLI-утилитами я столкнулся, когда пробовал EmberJS и тогда мне это показалось очень удобным инструментом, который довольно сильно экономил мое время. Но, к сожал...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

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

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

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

Форензика, SQL-инъекция и многострадальный котик: разбор задания №3 online-этапа NeoQUEST-2020 Сегодня рассмотрим самое противоречивое задание NeoQUEST-2020: первая его часть является рекордсменом по количеству прошедших его участников, а вторая часть покорилась лишь единицам. Что же в нем такого особенного? Разбираемся под катом! Читать дальше →

Khronos Group выпустила новую спецификацию OpenCL 3.0 Новая спецификация OpenCL 3.0 структурирована таким образом, чтобы поставщики использовали только то, что им нужно. Ядром спецификации является OpenCL 1.2 с поддержкой дополнительных функций. OpenCL 3.0 обеспечивает открытый стандарт для параллельного программирования. Спе...

[Из песочницы] ToolKit на базе Eclipse и GTK+, для «Toradex Colibri T20 (Linux)» Эта статья рассчитана прежде всего на то, чтобы сэкономить время при создании тулкита, но при этом я постараюсь рассказать все достаточно объемно. Содержание Скачать все необходимое Установка SDK Проверка SDK Установка Eclipse Подключение GTK к Eclipse Настройка прое...

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

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

Apple усилит конфиденциальность данных ИИ на iPhone Компания Apple приобрела AI-стартап Xnor.ai примерно за 200 миллионов долларов. Xnor.ai известна созданием высокоэффективных алгоритмов машинного обучения, которые могут работать на устройствах с небольшой вычислительной мощностью без необходимости проходить через облако. ...

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

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

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

Что делать, если поймал HardFault? Что делать, если поймал HardFault? Как понять, каким событием он был вызван? Как определить строчку кода, которая привела к этому? Давайте разбираться. Всем привет! Сложно найти программиста микроконтроллеров, который ни разу не сталкивался с тяжелым отказом. Очень часто он...

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

[Перевод] Для edge-серверов десятого поколения Cloudflare выбирает процессоры от AMD Ежедневно через сеть Cloudflare Network проходит более миллиарда уникальных IP-адресов; она обслуживает более 11 млн HTTP-запросов в секунду; она находится на расстоянии не более 100 мс от 95% интернет-населения. Наша сеть раскинулась на 200 городов в более чем 90 странах,...

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

Cовместимость продуктов Рутокен и ViPNet ИнфоТеКС и Актив успешно завершили очередную проверку совместимости актуальных версий продуктов ViPNet с электронными идентификаторами Рутокен.

Как мы улучшили интерфейс VSO-движка Playrix и приблизили его по удобству к Unity Ранее на Хабре мы уже писали о том, как сделали собственный игровой движок VSO, а сегодня расскажем, как мы улучшали его интерфейс и удобство работы с ним. Статья будет полезна всем, кто только начинает разбираться с UX/UI и хочет узнать, как с помощью базовых прин...

X2 Helios 300G Sync смотрится стильно В последнее время производителям корпусов достаточно тяжело как-либо привлечь к себе внимание со стороны пользователей, так как каждый хочет чего-то нового, уникального, а это не всегда получается реализовать самому производителю. Однако некоторые компании готовы идти на сме...

Uber запустил в Украине функцию «Проверка идентификации в режиме реального времени» для всех водителей и курьеров Сервис Uber запустил в Украине функцию «Проверка идентификации в режиме реального времени» (Real Time ID Check) для всех водителей и курьеров. В компании отметили, что постоянно работают над тем, чтобы защитить все взаимодействия с платформой, и одна из ключевых ме...

[Перевод] Проверка образов с помощью Gitlab CI/CD Всем привет, в преддверии старта курса «CI/CD на AWS, Azure и Gitlab» подготовили перевод интересного материала. В этой статье мы поговорим о том, как проверять образы контейнеров на платформе Gitlab CI/CD с помощью Sysdig Secure. Образы контейнеров, которые не соответст...

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

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

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

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

Microsoft выпускает Windows 10 Build 19042.450 (20H2) для инсайдеров канала Beta Сегодня Microsoft объявила о выпуске Windows 10 20H2 Build 19042.450 (KB4566782) для инсайдеров в бета-канале. Это кумулятивное обновление с небольшим набором исправлением ошибок и обновлениями безопасности. Полный журнал изменений этой сборки Windows 10 находится ниже. Что ...

[Перевод] Используем Chrome DevTools профессионально И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели 11 советов для тех, кто использует Chrome в качестве среды разработки. Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструмент...

Работаем с датчиком CO₂ Xiaomi ClearGrass Air Detector локально, без китайских серверов Давно планировал внедрить в домашнюю автоматизацию датчик углекислого газа CO₂. По соотношению цена/качество/функции/внешний вид лучшим для меня оказался Xiaomi ClearGrass Air Detector. Анализатор качества воздуха содержит датчики: CO₂ tVOC (летучие органические соединени...

Правда, мифы и особенности игровых мониторов — часть №2 Разбираемся с игровыми мониторами — многозонная подсветка, вставка черного кадра, HDR, виртуальные прицелы, а также изогнутые матрицы и соотношение сторон 21:9.

Ещё один взгляд на вопрос «нужна ли дефрагметация для SSD» Несомненно, вопрос, вынесенный в заголовок статьи, не нов, поднимался не раз и по нему достигнут консенсус «не особо нужна, и даже может быть вредна». Однако недавнее обсуждение в комментариях заставило меня ещё раз задуматься. Со временем любой SSD всё равно сильно фрагмент...

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

Графика в терминале Эта история началась, когда я узнал о существовании bpytop. Меня поразила детализация графиков и я начал разбираться как это сделано. Оказалось, что для вывода графиков использовались символы алфавита Брайля, представляющие из себя комбинацию из 8 точек: 2 точки в ширину и 4...

Вышел трейлер комедийного сериала HBO «Avenue 5», в котором Хью Лори спасает от бедствия круизный космический корабль После короткого тизера компания HBO опубликовала полноценный трейлер нового комедийного сериала «Avenue 5» с Хью Лори в главной роли. Этот великолепный британский актер сыграет капитана круизного космического корабля, который неожиданно для всех попадает в аварию. И главному...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

Взлом с помощью Юникода (на примере GitHub) Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юн...

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

Программируем на iPad Pro Можно ли заменить программисту MacBook на iPad Pro? Программисты для работы часто предпочитают использовать MacBook. Ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом предлагают плавный и приятный интерфейс, чего до сих пор не может дать нам Linux (даже Ubuntu 19.1...

[Из песочницы] Docker-образ для раздачи Single Page Application Single-page Application (SPA) – это набор статических JavaScript и HTML файлов, а так же картинок и других ресурсов. Поскольку они не изменяются динамически, опубликовать их в интернете очень просто. Для этого существует большое количество дешёвых и даже бесплатных сервисов,...

Исследуем качество кода операционной системы Zephyr Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почем...

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

[Перевод] Кто есть кто в платежной экосистеме 2020. Часть 2 Продолжаем разбираться в многослойной инфраструктуре платежного ландшафта. Первая часть была посвящена системам моментальных платежей, платежным платформам, онлайн-банкингу, сервисам по приему платежей и мобильной революции. Сегодня в переводе — онлайн-платформы (Google, A...

Разбираемся в VPN протоколах В последние месяцы армия пользователей VPN значительно увеличилась. И речь не о любителях обходить блокировки и посещать запрещенные сайты, а о тех, кто использует VPN для безопасной работы (да-да, удаленной работы). Это повод еще раз посмотреть на арсенал доступных протокол...

Как проверить IPS? Infection Monkey vs Check Point Три года назад мы публиковали статью “Online инструменты для простейшего Pentest-а”. Там мы рассказали про доступные и быстрые способы проверки защиты вашего периметра сети с помощью таких инструментов как Check Point CheckMe, Fortinet Test Your Metal и т.д. Но иногда треб...

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

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

155 вопросов по JavaScript Доброго времени суток, друзья! Продолжаю работать над вопросами по JavaScript в форме викторины, о чем ранее писал здесь. Адаптировал приложение под мобильники, поправил стили, добавил сервис-воркер, мета-теги, линки и манифест, также немного поколдовал с серверной частью...

Рейтинг лучших CPU для игровых ПК в 2019 году В 2019 году на рынке десктопных процессоров стало интересно. Много лет здесь доминировала Intel, но AMD выпустила Ryzen 7 — прямых конкурентов моделям Intel i7. Потом серия ударов Ryzen 3 и 5 против Intel i3 и i5 — и добивание конкурента кувалдами Ryzen Threadripper 3960X ...

Управляющий директор 101XP Ольга Макушенко: «5 ключевых ошибок разработки игры как бизнеса» Работа игровой студии невероятно объемная и сложная. Процедура разработки и выпуска готового продукта проходит множество этапов. И получить прибыль с проекта не так и просто, и точно это не одномоментный процесс. Даже с помощью издателей. У тех, кто пробует себя в игрострое...

Goddess of Genesis — бесплатная RPG теперь доступна во всём мире Легендарные персонажи из сказок и рассказов — Люцифер, Красная шапочка, Афина и прочие — были реинкарнированы в аниме-сеттинге благодаря игре под названием Goddess of Genesis. Вместе с ними геймерам предстоит написать новую историю и даже спасти мир. Призывать героев можно п...

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

Go Channels Internals На Go можно реализовать тысячи goroutine одновременно без больших требований к железу. При этом горутины могут легко и просто обмениваться данными между собой и синхронизироваться с помощью каналов. Но как устроены каналы внутри? Об этом написано не так уж много, а в условия...

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

Blitz.Engine: Ассетная система Прежде чем разбираться в том, как работает ассетная система движка Blitz.Engine, нам необходимо определиться с тем, что такое ассет и что именно мы будем понимать под ассетной системой. Согласно Википедии, игровой ассет — это цифровой объект, преимущественно состоящий из о...

Ошибки в JavaScript: исправляем, обрабатываем, чиним Всем привет! Вдохновленные успехом предыдущей статьи, которая была написана в преддверии запуска курса "Fullstack разработчик JavaScript", мы решили продолжить серию статей для новичков и всех тех, кто только начинает заниматься программированием на языке JavaScript. Cегодн...

В США появится лоукост-биржа Members Exchange По сообщению The Wall Street Journal, летом 2020 года в США заработает новая биржа Members Exchange. Ее главная идея состоит в том, чтобы снизить комиссии за совершение сделок до минимума, привлечь таким образом инвесторов и составить конкуренцию NASDAQ и Нью-Йоркской фонд...

Миграция с MySQL на PostgreSQL Публикация основана на докладе тренера и инженера технической поддержки Zabbix Александра Петрова-Гаврилова. Многих волнует вопрос о том как мигрировать с MySQL на PostgreSQL и воспользоваться преимуществами TimescaleDB. Зачем мигрировать Первый вопрос, который обычно воз...

Как мы в Спортмастере выбирали систему кеширования. Часть 1 Привет! Меня зовут Алексей Пьянков, я разработчик в компании Спортмастер. В этом посте я рассказал, как начиналась работа над сайтом Спортмастер в 2012 году, какие инициативы удалось «протолкнуть» и наоборот, какие грабли мы собрали. Сегодня я хочу поделиться мыслями, кото...

Итоги конкурса рабочих мест или Игра престолов в битве за PS4 Те, кто на Хабре не первый день, наверняка знают, как мы в RUVDS любим устраивать всякие активности. Что мы уже только не делали. Запускали сервер в облака, делали коллаб с создателем Дюк Нюкема, даже варили свое админское пиво и готовили хабрабургеры, всего и не упомнить....

Игра Project A теперь официально называется Valorant Игра Project A от Riot Games называется теперь официально Valorant. Разработчики Riot Games раскрыли официальное название игры вместе с первым геймплейным роликом, в котором показан полноценный матч. Valorant это тактический шутер 5×5 с уникальными персонажами. Среди особ...

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

Измеряем температуру без АЦП Стояла как-то задача оснастить одну систему кучей термодатчиков. Причём оснастить максимально недорого. Результаты изысканий (которые, по-моему, получились довольно изящными) предлагаю к рассмотрению в этой статье. В данной статье разбираются контактные способы измерения те...

Как глубока Бездна Челленджера: измерение глубины «Надо понимать всю глубину наших глубин» (С) ДМБ Приветствую вас, глубокоуважаемые! Всегда поражался, что расстояние до луны измеряется с миллиметровой точностью. Даже при открытии экзопланет методом лучевых скоростей, скорости звезд измеряются с точностью до 0.97 м/с. А в...

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

Мониторинг доступности сайта в России на коленке Количество запрещенных в России сайтов стабильно растет. От блокировок страдают не только плохие ребята но и рядовые пользователи интернета. Я как разработчики различных веб-сервисов и ресурсов, периодически сталкиваюсь с недоступностью последних в России. Это создает пробле...

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

[Перевод] Vim с поддержкой YAML для Kubernetes Прим. перев.: оригинальную статью написал Josh Rosso — архитектор из VMware, ранее работавший в таких компаниях, как CoreOS и Heptio, а также являющийся соавтором Kubernetes alb-ingress-controller. Автор делится небольшим рецептом, который может оказаться очень полезным для ...

[Из песочницы] 6 самых распространённых ошибок разработчиков при написании HTML и CSS Привет, Хабр! Представляю вашему вниманию перевод статьи «The 6 most common mistakes developers when writing HTML and CSS» автора Stas Melnikov. Использование атрибута placeholder вместо элемента label Часто разработчики используют атрибут placeholder вместо элемента label....

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

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

Java-дайджест за 28 января Вышел JUnit 5.6. Добавлены any() и none(), чтобы запускать тесты без каких-то дополнительных тэгов, ReflectionSupport.findNestedClasses() может находить циклы в иерархии внутренних классов, TestExecutionSummary.Failure можно сериализовывать, и все в таком духе. Интересно,...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

Oracle Cloud: бесплатный VPS 4 ядра ARM/24ГБ памяти: решаем проблему большого спроса (OCI CLI) Очень заманчивая конфигурация была недавно анонсирована в рамках доступа "Всегда бесплатно". К сожалению, "очень быстро разбирают", а именно - сложно запустить экземпляр, постоянно вылазит ошибка “Out of Capacity”. Здесь мы решаем эту проблему, так как Oracle время от време...

Как начать тестировать Ansible, отрефакторить проект за год и не слететь с катушек Это расшифровка выступления на DevOps-40 2020-03-18: Начиная со второго коммита любой код становится legacy, т.к. изначальные задумки начинают расходиться с суровой реальностью. Это не хорошо и не плохо, это данность с которой сложно спорить и необходимо уживаться. Частью э...

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

Лучшие симуляторы 2019 года на iOS и Android: The Escapists 2, Construction Simulator 3 и другие Симулятор — понятие размытое. Здесь вам и гонки, пытающиеся максимально точно передать ощущения от вождения, особенности трасс и отдельных автомобилей. И спортивные игры, где за каждую неточность фанаты конкретного вида спорта готовы уничтожить авторов. И юмористические прое...

Как обновиться до Windows 10 May 2020 Update 27 мая Microsoft выпустила крупномасштабное обновление Windows 10 May 2020 Update. Теперь пользователи могу обновиться до версии 2004, правда и не все. Проблема может заключаться как в несовместимости нового оборудования, так и в отсутствии свободного места на диске, поэтому...

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

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Почему не стоит устанавливать антивирусные расширения для Chrome Не устанавливайте антивирусных расширений, и вот почему Google Chrome – это не просто браузер, а подобие самой настоящей операционной системы. Всё-таки такого широкого набора функций, как у него, кажется, нет ни у одного другого веб-обозревателя. Тут вам и аппаратный ускорит...

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

Как мы оркестрируем процессы обработки данных с помощью Apache Airflow Всем привет! Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики компании Lamoda. В нашем департаменте Airflow играет роль оркестратора процессов обработки больших данных, с его помощью мы загружаем в Hadoop данные из внешних систем, об...

Прозрачные процессы тестирования на удалёнке Публикуем статью Анастасии Шариковой — QA Lead в Bookmate и преподавателя профессионального курса «QA Lead», с программой которого мы приглашаем вас ознакомиться! Также приглашаем на бесплатный пробный открытый урок «Тестовое покрытие по Бейзеру», где Анастасия Асеева-Нгуе...

Состоялся глобальный релиз фэнтези-MMORPG Aura Kingdom 2 MMORPG Aura Kingdom 2, которая уже некоторое время доступна в Китае, официально запустилась на обеих платформах во всем мире. На официальном сайте даже можно загрузить APK-файл для игры на компьютере. Европейские серверы уже должны были запустить. Разработчики приготовили п...

Принтер FlyingBear Ghost 4S (5) Итоги эксплуатации От очередной рекламы с отключенными комментариями меня забомбило и я решил написать пост о том, что в рекламе не говорят.Итак, вашему вниманию предлагается принтер FlyingBear Ghost 4S (клон версии 5).Принтеру чуть меньше года и пора подвести итоги.Счастливым покупателям этог...

JetBrains Rider — теперь для Unreal Engine Привет Хабр! На прошлой неделе, после релизов версии 2020.1 для всех наших десктопных продуктов случилось еще одно большое событие — мы открыли публичный доступ к пробной версии Rider for Unreal Engine. На данный момент это отдельный продукт, версия нашей среды для разработ...

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

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

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

Код игры Command & Conquer: баги из 90-х. Том первый Американская компания Electronic Arts Inc (EA) выложила в открытый доступ исходный код игр Command & Conquer: Tiberian Dawn и Command & Conquer: Red Alert. Этот код должен помочь игровым сообществам разрабатывать моды и карты, создавать пользовательские юниты и наст...

IKEA приступила к разработке мебели для будущей марсианской колонии Подходят к завершению работы на новом полигоне Mars Desert Research Station, расположенном в американской пустыне Юта. Он предназначен для имитации условий Марса и практической проверки новых технологий для освоения красной планеты. Одну из лабораторий почти целиком выстроил...

[Из песочницы] Как разместить статический сайт с помощью Yandex.Cloud Object Storage Привет, Хабр! В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage. В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке. Эта статья будет полезна, если вы Начинающий ...

[Перевод] Vulkan. Руководство разработчика. Настройка окружения Я переводчик ижевской компании CG Tribe и здесь я буду публиковать перевод руководства к Vulkan API. Ссылка на источник — vulkan-tutorial.com. Это моя вторая публикация, которая посвящена переводу раздела Development Environment. Содержание ...

[Перевод] Понимаем и ищем уязвимости типа Open Redirect Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений». Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-са...

Для головоломки Path of Giants вышло обновление с новыми уровнями Path of Giants— не просто хорошая головоломка, но одна из лучших инди-игр этого года, которую разработчики продолжают поддерживать. В оригинальном приключении вас ждет около 50 задач, разбитых на 13 уровней. В последнем обновлении авторы добавили 4 новых уровня в честь зимн...

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

Ищете вакансию тестировщика? Будьте готовы продемонстрировать навыки разработчика И снова здравствуйте. В преддверии старта курса «Java QA Engineer» подготовили небольшой материал, который станет полезен тем, кто только собирается построит карьеру в данном направлении. Тестировщик — кто это? Инженер по контролю качества программного обеспечения (QA) от...

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

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

.NET Core: интринсики x86_64 на виртуальных машинах Мы живём в эпоху доминирования архитектуры x86. Все x86-совместимые процессоры похожи, но и все при этом немного отличаются. И не только производителем, частотой и количеством ядер. Архитектура x86 за время своего существования (и популярности) пережила много крупных апдейт...

Смотрим новый лэптоп Microsoft Surface Pro X на процессоре ARM Оцениваем производительность нового Surface Pro X Microsoft уже достаточно давно разрабатывает и выпускает 2-in-1 ноутбуки-планшеты, однако до недавнего времени все они работали на процессорах Intel с архитектурой x86. Всё изменилось не так давно с выходом ноутбука Surface X...

8 страшилок о правильном питании и почему в них не стоит верить Ходят слухи, что правильно питаться под силу только фуд-блогерам из Instagram и сыну маминой подруги. Но в реальности всё не так страшно. Разбираемся с основными опасениями.

Обзор LifeAfter: Night falls. Выживание во всей красе Далеко не всем разработчикам мобильных игр удается привлечь внимание пользователей своими продуктами по одной простой причине — некоторые проекты просто не выдерживают критики. Однако если вы действительно хотите поиграть в нечто крутое и необычное, то у нас для вас отличные...

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

[Из песочницы] Как я 12 лет создавал свой ЯП и компилятор к нему События истории рассказываются в хронологическом порядке, если вам кажется, что какое либо событие не относится к делу, то скорее всего — это не так, просто момент в котором будет понятно почему я упомянул это событие, будет позднее. Создаваемый мной язык, со временем меня...

Настоящее суммирование интернет-каналов — OpenMPTCPRouter Можно ли объединить несколько интернет-каналов в один? Вокруг этой темы куча заблуждений и мифов, даже сетевые инженеры с опытом часто не знают о том, что это возможно. В большинстве случаев, объединением каналов ошибочно называют балансировку на уровне NAT или failover. Н...

Интересные материалы: 23.12 Разбираемся с тестированием, архитектурами и веб-сокетами.

В «osu!» играй, про ошибки не забывай Приветствуем всех любителей экзотических и не очень ошибок в коде. Сегодня на тестовом стенде PVS-Studio достаточно редкий гость – игра на языке C#. А именно – «osu!». Как обычно: ищем ошибки, думаем, играем. Читать дальше →

Решаем практические задачи в Zabbix с помощью JavaScript Тихон Усков, инженер команды интеграции Zabbix Zabbix — кастомизируемая платформа, которая используется для мониторинга любых данных. С самых ранних версий Zabbix у администраторов мониторинга была возможность запускать различные скрипты через Actions для проверок на целевы...

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

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

[Перевод] Улучшение улучшенного фотореализма Разработчики из Intel Labs при помощи сверточной нейросети улучшают синтертические изображения, повышаеют их стабильность и реализм. GTA V to Cityscapes Модификации, выполненные нашим методом, геометрически и семантически согласуются с исходными изображениями. Читать даль...

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

Deepcool Gammaxx GTE V2 White выглядит шикарно На рынке систем охлаждения для процессора ничего нового не было уже довольно много лет — производителям достаточно тяжело что-то интересное придумать, ведь просто нет места для фантазий и проб. Тем не менее есть некоторые компании, которые могут вас порадовать чем-то действи...

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

Стартапы недели: «зелёные» рестораны, готовые обеды и сервис для проверки истории биткоинов А также обзор проектов из прошлогодних выпусков.

[Из песочницы] Я случайно рассекретил скам-проект Photo from: www.aarp.org/podcasts/the-perfect-scam Часто ли вы встречаетесь со скам-проектами? Я вот часто. Не в силу профессиональной деятельности или чего-то такого, а скорее так — из-за интереса. Но порой мне даже кажется, что не я нахожу их, а они ищут меня. Сегодня ...

Прогнозы на футбол с помощью профессионалов Betting Insider Отлично разбираетесь в футболе и хотели бы получать прибыль от накопленного опыта и умения предсказывать исходы матчей? Загляните на Betting Insider! Здесь каждый найдет что-то свое: новички познакомятся с основными терминами мира спортивных ставок, а профессионалы получат п...

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

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

[Из песочницы] Утечка памяти в Nuxt на стороне сервера при использовании SSR (Server Side Rendering) Привет, Хабр! Данная статья обязательна к прочтению всем, кто работает с Vue SSR, в частности с Nuxt. Речь пойдет об утечки памяти при использовании axios. Предыстория Пол года назад я попал на проект со стеком VueJS + Nuxt, его особенность была в том, что в проде постоянно...

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

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

Приключение The Unfinished Swan с PlayStation 3 теперь доступно на iOS и PC Издатель Annapurna Interactive решил удивить геймеров, которые в своё время не смогли насладиться приключением The Unfinished Swan из-за того, что оно вышло только на PlayStation 3: игра, которая получила премию BAFTA, теперь вышла и на другие платформы. Изначально проект ув...

Java-дайджест за 30 апреля Марк Рейнхольд (Chief Architect of the Java Platform Group at Oracle) рассказал о новом проекте: Project Leyden. Проект должен решить проблему долгого запуска, медленного достижения пиковой производительности и лютого пожирания оперативной памяти… нет, не с помощью GraalVM...

The Verge назвали iPhone 4 самым важным гаджетом десятилетия  Одно из популярнейших западных IT-изданий, The Verge, подвело итоги десятилетия, собрав 100 самых важных гаджетов, и в этой подборке довольно много неожиданных позиций. №1 стал iPhone 4, который вышел в 2010 году еще при Стиве Джобсе. По мнению журналистов это устройство — ...

Как странный код скрывает ошибки? Анализ TensorFlow.NET Статический анализ – крайне полезный инструмент для любого разработчика, так как помогает вовремя отыскать не только ошибки, но и просто подозрительные и странные фрагменты кода, которые могут вызвать недоумение у программистов, которым пришлось бы работать с ним в будущем....

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие. Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Од...

Free Heroes of might and magic 2 – open-source проект, в котором хочется участвовать Недавно в сети появилась новость о релизе новой версии проекта fheroes2. У нас в компании многие сотрудники являются поклонниками серии игр Heroes of Might and Magic, и естественно, мы могли пройти мимо и в процессе ознакомления с проектом проверили его анализатором PVS-Stud...

YouTube DataViewer – инструмент для проверки достоверности видео Мы уже писали о том, что каждое НКО сегодня – это маленькое медиа. А значит, важно не только сформировать сообщество сторонников в Сети, но и оправдать доверие аудитории. Важно следить за тем, чтобы любая публикуемая вами информация была достоверна. В этом поможет YouTube D...

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

Umka. Жизнь статической типизации в скриптовом языке В своё время посты на Хабре и Reddit о статически типизированном скриптовом языке Umka вызвали весьма активную дискуссию. Прошедшие полтора месяца позволили мне избавиться от некоторых заблуждений, развить язык и дать чуть более вразумительные ответы на вопросы публики. ...

[Из песочницы] Понимание итераторов в Python Python — особенный язык в плане итераций и их реализации, в этой статье мы подробно разберём устройство итерируемых объектов и пресловутого цикла for. Особенности, с которыми вы часто можете столкнуться в повседневной деятельности 1. Использование генератора дважды >>&...

[Перевод] Bluetooth Low Energy: подробный гайд для начинающих Создание кастомного сервиса и тем более клиента Bluetooth Low Energy – прогулка по граблям с завязанными глазами. По крайне мере так было для меня 4 года назад, когда я только начинал работать с BLE-устройствами. Сейчас почти каждый мой проект предусматривает использование э...

Настольная игра-головоломка Monopoly Sudoku выйдет на iOS и Android Казалось бы, что только вчера мы освещали настольную игру Game of Life 2, разработчиком которой выступает Marmalade Game Studio. Но теперь мы узнали, что студия работает ещё над одним проектом, которые если и не амбициознее, то точно интересно объединяет две, казалось бы, не...

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

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

[Из песочницы] Бизнес-аналитик и системный аналитик в IT. Разбираемся в сортах Проблема У некоторых моих знакомых, коллег, руководителей, эйчаров, представителей «бизнеса» в головах образовалась путаница между видами аналитиков. Понятие «аналитик» используется для совсем не похожих друг на друга профессий — бизнес-аналитик (БА), системный аналитик (СА)...

Обзор Transport Fever 2. Шикарный симулятор Мы привыкли играть в активные проекты, где вы постоянно двигаетесь, стреляете, убиваете, гоняетесь. Сегодня мы поговорим о проекте, который не требует от игрока молниеносной реакции, но при этом обеспечивает достаточно высоким уровнем погружения в атмосферу. Насладиться этой...

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

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

Интересные материалы: 14.01 Разбираемся с роутингом, анимациями и скрытыми сокровищами коллекций.

Дешевые смартфоны: в чем подвох? Разбираемся вместе с Сидни Баттлером из 9to5google.

Juniper SRX и Cisco ASA: серия очередная Первый раз строить IPSec между Juniper SRX и Cisco ASA мне довелось ещё в далёком 2014 году. Уже тогда это было весьма болезненно, потому что проблем было много (обычно — разваливающийся при регенерации туннель), диагностировать было сложно (ASA стояла у нашего заказчика, по...

[Перевод] Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд От А0 до B2 за год Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите ш...

Как измерять скорость интернета в Windows 10? Интернет – эта та вещь, без которой человечество сейчас вообще не может обойтись, но, бывают моменты, когда Интернет нестабилен и/или очень медленный, и тогда на помощь приходят сервисы по проверке скорости и один из них – https://www.speedcheck.org/ru. На данном ресурсе вы ...

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

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

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

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

Анализатор исходного кода Microsoft Application Inspector Компания Microsoft выпустила «Microsoft Application Inspector», кросс-платформенный опенсорсный (!) инструмент для анализа исходного кода. Читать дальше →

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

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

Жизнь лида аналитики или «я рассчитывала, что ты сама это сделаешь» К моей прошлой статье был такой комментарий: «Или порой встречаешь ответственных людей с честными глазами, обсуждаешь план работ, создаёшь договоренности. И… люди потом ничего не делают, или затягивают процесс, или делают непонимающий взгляд. И ты стоишь и думаешь кто из н...

Microsoft подтверждает проблему Синего экрана смерти в Windows 10 и ошибку принудительной перезагрузки Всего через несколько недель после того, как Microsoft выпустила свою последнюю версию Windows 10 20H2, компания отметила две проблемы, также дала рекомендации пользователям вернуться к предыдущей версии Windows, если они получат ошибку «Синего экрана смерти» или предупрежде...

Подбираем чехол для Huawei Honor 9A (MOA-LX9N) В последнее время многие пользователи приобретают себе смартфоны, после чего спустя какое-то время замечают, что их устройство выглядит уже не так привлекательно, ведь пользователю нужно очень аккуратно использовать гаджет и только в этом случае на нем не так быстро появятся...

На Mac с процессором M1 удалось запустить Windows 10. Работает очень быстро   Разработчик Александр Граф смог успешно запустить Windows на Mac с процессором M1. Этого удалось добиться, используя виртуальную машину QEMU с открытым исходным кодом. И хотя сам по себе процессор M1 не поддерживает х86-приложения и Boot Camp, Граф сообщил, что ...

Envoy для самых маленьких Всем привет! Я работаю бэкенд-разработчиком в компании Tinkoff, где участвую в разработке платформы CRM-системы для обслуживания физических и юридических лиц. Использование edge proxy и балансировщика в частности — это почти мастхэв при построении современных систем. Сегодн...

ТОП-10 игровых механических клавиатур на начало 2021 года Для онлайн-сражений геймеру нужна адекватная клавиатура. Часть игроков выбирает механические модели, другие предпочитают мембранные. Тут все дело вкуса, а иногда и бюджета, поэтому мы сделаем несколько подобных подборок с разными клавиатурами. Начнем с «механики». Собрали д...

[Из песочницы] Form design patterns. Обзор книги Введение от автора обзора Книга раскрывает, порой не очевидные для дизайнеров и фронтендеров, темы оформления полей, концепции работы с типами данных и юзабилити. Книга будет полезна и новичкам и разбирающимся в теме проектировщикам интерфейсов, т. к. первым даст понимание...

Редкое заболевание вызвало обильный рост волос у женщины во рту В медицинском журнале Oral Surgery, Oral Medicine, Oral Pathology and Oral Radiology была опубликована статья о неназванной жительнице Италии, которая обратилась к врачу с достаточно необычной жалобой — у нее во рту росли полноценные волосы.

Windows 10 работает на iPhone Хотели бы вы сделать так, чтобы Ваш iPhone мог гораздо большее, чем просто запускать приложения магазина Apple? Группа независимых разработчиков работает над похожим приложением. UTM – это новое приложение, которое использует QEMU (программное обеспечение для виртуализации) ...

Разработчики соцсети «Аура» решили закрыть проект С социальной сетью, основанной на технологиях искусственного интеллекта, в «Яндексе» начали экспериментировать весной 2019 года. Команда разработчиков социальной сети «Аура», 49% которой принадлежит «Яндексу», решила закрыть проект. «Последние полгода проект 'Аура&...

[Из песочницы] Стилизация флажков и переключателей с использованием CSS3 При создании CSS стилей для HTML форм, разработчики часто сталкиваются с невозможностью непосредственно менять внешний вид элементов флажков (checkboxes) и переключателей (radio buttons). Рассмотрим как можно обойти это ограничение при помощи инструментария CSS3 и без исполь...

Что делать, если не работает YouTube Разбираемся с неполадками, мешающими смотреть любимые видео.

Как проверить герметичность смартфона без воды Технологии IT/Игры 08.07.2021, 13:31 Как проверить герметичность смартфона без воды В вашем телефоне есть барометр, и его нужно только правильно активировать, чтобы проверить целостность водонепроницаемого уплотнения. ...

JSON Schema. Быть или не быть? Архитектура: искусство делать излишнее необходимым. Фредерик Кислер Ни для кого давно уже не секрет, что для любого web-сервиса на протоколе SOAP с сообщениями в формате XML верным и проверенным временем решением является предварительная разработка XML Schema (xsd-схемы), ...

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

Легко ли поцарапать или сломать OnePlus 8? Уже проверили. В то время, как многие уже начали готовить деньги на покупку нового OnePlus 8 Pro, другие причитают, что он стоит слишком дорого. Я скорее отношусь ко вторым, но пока не попользуюсь смартфоном пару недель, не готов быть очень категоричным. Возможно, мое мнение изменится, н...

Разработчики Chromium предложили замену заголовку User-Agent Разработчики Chromium предложили заморозить и унифицировать строку User-Agent в HTTP-заголовках и в navigator.userAgent, чтобы усилить защиту конфиденциальности пользователей. Они также разработали новый механизм, который призван заменить User-Agent. В настоящее время строка...

Boeing признал проблемы в программном обеспечении Starliner Руководитель проекта Starliner в американском аэрокосмическом концерне Джон Малхолланд официально признал, что в тестовый полёт к международной космической станции (МКС) была отправлена капсула, которая не прошла положенные перед запуском проверки. В беседе с The Washington ...

[Из песочницы] Гибкие методологии: взгляд со стороны бизнеса (часть 1) Подавляющее большинство из нас прекрасно знакомы с гибкими методологиями разработки, читали agile-манифест, работали по scrum или kanban. Некоторые — успешно внедряют в своих отделах те или иные agile-практики, иные — пропагандируют отказ от них в пользу других методологий. ...

Вирусы на Айфоне: Можно ли заразить смартфон Apple? Когда речь заходит о безопасности компьютеров и мобильных устройств, каждый, кто хоть немного разбирается в теме, скажет вам: Android очень легко заразить вирусом, а вот iPhone в этом отношении — сама надежность. Но так ли это? Давайте разберемся! ♥ ПО ТЕМЕ: Как правильно за...

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

Обзор корпуса SilverStone Fara R1 от Gamers Nexus Бюджетный корпус с продуваемой сетчатой передней панелью – что может быть популярнее? Сплошные плюсы или есть скрытые недостатки? Разбираемся вместе со Стивом Бёрком и Патриком Латаном.

[Перевод] Лучшие практики Kubernetes. Корректное отключение Terminate Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Лучшие практики Kubernetes. Настройка зап...

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

[Перевод] DDR5? Да мы и с DDR4-то едва познакомились В январе 2020 на выставке CES представили память с максимальной скоростью DDR5 от SK Hynix. По слухам, Micron и другие производители тестируют похожие устройства. Пока их нельзя достать по обычным каналам, однако поскольку и материнских плат для них ещё нет, это не проблем...

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

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

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

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

[Из песочницы] Второе дыхание Pandora DXL 3000 или как я прикрутил собственную телеметрию К разработке собственной телеметрии меня привела, пожалуй, многим знакомая ситуация — работало, да перестало. Однажды вечером блок автосигнализации перестал воспринимать брелок. Я понимал, что нужно для начала попытаться перепривязать брелок, для чего требовалось выполнить н...

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

Как выбрать тимлида             Будучи разработчиком, я выработал в себе привычку читать доки и мануалы систематически и в большом объеме. Сейчас я руковожу отделом iOS разработки в Cardsmobile и практически не пишу...

[recovery mode] Личный бренд в IT в 2021 году: пыль в глаза или необходимость? Привет! Сегодня разбираемся с темой личного бренда в IT. Вроде, всё просто: нужно побольше о себе говорить на каждом «инфоуглу», и жизнь наладится. Проекты, заказчики, деньги потекут рекой, да и просто люди потянутся. Вот только какой от этого толк в отрасли, где спрос на со...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

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

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

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

Находите источник проблемы с помощью смартфона со встроенным тепловизором - Blackview BV9900 Pro Проблемы на объекте с утечкой тепла или влаги? У Вас есть инструмент для решения этой проблемы? Защищенный смартфон Blackview BV9900 Pro дает вам возможность находить невидимые проблемы очень быстро.

Интересные материалы: 05.05 Продолжаем разбираться со SwiftUI, пишем мобильный онбординг и каваизируем продуктовый дизайн!

Что там с блокировкой майнинга на GeForce RTX 3060. Разбираемся в странной ситуации Видеокарта GeForce RTX 3060 выходит в продажу уже через несколько дней. Ну как выходит — 25 февраля — […]

Как восстановить файл почти любого формата на Mac или Windows Мы часто работаем с файлами различных форматов — .docx и PDF для текста, .psd и .ai в случае с графическими файлами (Photoshop и Illustrator) и многими другими. Но из-за того, что даже самое продвинутое программное обеспечение зачастую несовершенно, так называемая «ош...

Google попросили освободить место на смартфонах с Android Более пятидесяти организаций, включая благотворительную Privacy International, опубликовали открытое письмо на имя главы Сундара Пичая (Sundar Pichai).  Британская Privacy International отстаивает право на неприкосновенность частной жизни во всем мире. В открытом ...

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

Лучшие карточные игры 2019 года на iOS и Android: Гвинт, Void Tyrant и другие Прошлый год был откровенно слаб на хорошие карточные игры для мобильных. Однако в 2019 любителям жанра очень повезло, и свою роль в этом в очередной раз сыграли порты. GWENT Карточная игра от создателей Ведьмака не может сравниться с Hearthstone по популярности, но именн...

«1С» предоставила 2 месяца бесплатного доступа к сервису проверки контрагентов на базе «СПАРК-Интерфакс» Фирма «1С» и «Интерфакс», чтобы оказать поддержку бизнесу в нынешний сложный период, начали предоставлять пользователям программ 1С бесплатный доступ сроком на 60 дней к сервису по проверке контрагентов на базе ...

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

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

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

Microsoft оставила Windows 10 без антивируса Недавнее обновление, выпущенное компанией Microsoft для операционной системы Windows 10, оставило ряд пользователей без «штатного» антивируса Windows Defender (Защитник Windows).  Пользователи начали жаловаться, что обновление «сломало&raq...

Книга «Эффективный Java. Тюнинг кода на Java 8, 11 и дальше. 2-е межд. издание » Привет, Хаброжители! Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Ja...

Anycubic Photon Mono X Всем привет.Вот и приехал мне принтер.Комплектация почти обычная, аникубики жадными стали)) Собственно в комплекте с принтером идет 2 шпателя, металлический и пластиковый, шестигранники, флэшка, фильтры, перчатки и маски. Ни пробника смолы, ни запасной пленки в комплекте нет...

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

[Перевод] Разработчики open source проектов пишут письмо GitHub Дорогой GitHub, Почти 4 года назад группа разработчиков ПО с открытым исходным кодом написала вам письмо. В нем мы выразили свое разочарование тем, что платформа, которую мы так сильно любим, игнорирует нашу просьбу о помощи. Вы стали работать над собой — обращали внимани...

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

[Перевод] О превращении интереса к фондовой бирже в домашний проект TL;DR: Я решил создать автоматизированную email-рассылку, предназначенную для наблюдения за фондовой биржей, дающую сведения об индексах S&P 500, Nasdaq и Dow Jones во время премаркет-сессии и в исторической перспективе. На днях я прочитал этот твит Джейсона Фрайда, осн...

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

Удаленка как угроза Среди сценариев, как будет выглядеть мир после пандемии, я не видел одного. Очень грозного и максимально вероятного. Удаленка ударит по тем, кто привык работать абы как. А больше всего таких, очевидно, в Москве. Читать дальше →

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

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

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

Установка ReportPortal в kubernetes ReportPortal – это веб-решение на базе открытого ПО, созданное разработчиками EPAM и OSS-сообщества. Его использование позволяет собрать в одном месте документы и результаты различных проектов по тестированию, которые выполняются в компании, и сделать их доступными для тести...

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

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

Epic Games будет издавать мультиплеерную игру Spyjinx от студии Bad Robot Games  Популярности Fortnite компании Epic Games вполне хватило бы очень надолго, даже чтобы не выпускать новые проекты, однако периодически она все-таки представляет новые игры. Последняя новинка — игра Spyjinx. Компания известного режиссера, Дж. Дж. Абрамса, Bad Robot, анонсиров...

Автоматизация HotFix в Maven проектах с использованием TeamCity В этом посте будет описана настройка автоматизации HotFix в Maven проектах с использованием Teamcity. Чтобы сделать HotFix обычно делается много ручных действий: 1) Создать бранч для релиза, на который вы хотите выкатывать HotFix 2) Исправить ошибку в релизе 3) Измененить bu...

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

Punk Royale 2052 — инди-альтернатива Deus Ex и Cyberpunk 2077? Инди-студия CakeByte анонсировала свой новый проект под названием Punk Royale 2052. Некоторые сразу могут догадаться, откуда разработчики черпали вдохновение для названия и даже самой формулы игры. Может быть они даже копировали идеи других популярных проектов. Студия не отр...

История фитнес-стартапа Peloton: от оценки в $8 млрд к неудачной рекламе и прогнозам падения акций на 85% Фитнес-стартап Peloton, производящий умные тренажеры, в последние месяцы находится в центре внимания. Сначала компания провела успешное IPO, затем оказалась в центре скандала из-за неудачной рекламы, а теперь аналитики прогнозируют драматическое падение стоимости ее акций....

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

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

Управление Яндекс.Станцией и другими колонками с Алисой из Home Assistant Мы привыкли называть умными устройства, которыми можем управлять, не вставая с дивана. Включить лампочку, вентилятор, кофеварку или стиральную машину. Колонки с Яндекс Алисой хоть и называются умными, но вы не можете изменить громкость не находясь рядом с колонкой (орать че...

Байесовский ниндзя Coderik однажды отметил: "Фильтра Калмана много не бывает". Так же можно сказать и о теореме Байеса, ведь это с одной стороны так просто, но с другой стороны так сложно осмыслить его глубину. Читать дальше →

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

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

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

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового. Для исправ...

Реализация автодополнения кода в Ace Editor Ace (Ajax.org Cloud9 Editor) — популярный редактор кода для веб-приложений. У него есть как плюсы, так и минусы. Одно из больших преимуществ библиотеки — возможность использования пользовательских сниппетов и подсказок. Однако, это не самая тривиальная задача, к тому же не ...

Отечественный DSP процессор 1967ВН028 от фирмы Milandr. Небольшой мануал по арифметике на языке assembler В своем первом пробном цикле статей я хочу немного обозреть некоторые особенности упомянутого выше российского DSP процессора. Про этот процессор уже были упоминания и не одно, в том числе и на хабре, например, здесь. По этому не буду разбирать его общий функционал, откуда ...

Быстрее, чем C++; медленнее, чем PHP Привет, Хабр. У меня тут случайно код на хаскеле получился быстрее аналогичного кода на C++. Иногда — на 40%. (время работы, меньше — лучше, C++ снизу) Что самое смешное — я собирал хаскель-код через LLVM-бекенд, но при этом сравнивал с GCC. Если сравнивать с clang (что вро...

Japan Display ведет переговоры с Sharp и Apple о продаже завода Japan Display испытывает серьезные финансовые проблемы, а всему виной Apple, которая начала отказываться от использования в своих смартфонах жидкокристаллических дисплеев JDI, переводя их на OLED‑панели.   Попытки заручиться финансовой поддержкой со стороны китайской ...

Проверка на внимательность: сколько бабочек на картинке? Найдите всех! Головоломка на поиск предметов, с которой справятся только самые зоркие.

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

Обзор The Walking Zombie 2. Почти ААА-шутер Мы привыкли к тому, что современные мобильные проекты заточены под казуальных геймеров, которые хотят давить шарики на дисплее или бездумно кликать по нему. Однако сегодня мы с вами поговорим о более интересном продукте, который явно стоит потраченного времени и внимания. Иг...

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

[Перевод] Алгоритм Беллмана-Форда В преддверии старта курса «Алгоритмы для разработчиков» подготовили очередной перевод интересной статьи. Задача: Дан граф и начальная вершина src в графе, необходимо найти кратчайшие пути от src до всех вершин в данном графе. В графе могут присутствовать ребра с отрицатель...

Мучают ли Андрея Бреслава ошибки в дизайне Kotlin, которые уже нельзя исправить// Мы обречены #6 Андрей Бреслав почти не говорит про Kotlin в последнее время. Два раза я звал его на интервью, и оба раза он просил не обсуждать технические вопросы. С одной стороны — мне досадно. Я понимаю, что их задавали все остальные — но я же не задавал. Я, наверное, последний чист...

Динамическая сборка и деплой Docker-образов с werf на примере сайта версионированной документации Мы уже не раз рассказывали про свой GitOps-инструмент werf, а в этот раз хотели бы поделиться опытом сборки сайта с документацией самого проекта — werf.io (его русскоязычная версия — ru.werf.io). Это обычный статический сайт, однако его сборка интересна тем, что построена с ...

Фейки — это ерунда или серьезно? Без долгих прелюдий: я считаю, что фейки — зло, они приносят огромный ущерб и с ними надо бороться, особенно в условиях кризисов или жесткой неопределенности (например, во время истерики вокруг COVID-19). Также я считаю, что бороться надо не так, как привыкло наше государст...

[Перевод] Неизбежность проникновения FPGA в дата-центры Не нужно быть разработчиком чипов, чтобы программировать для FPGA, как не нужно быть программистом на С++, чтобы писать код на Java. Однако в обоих случаях, вероятно, это будет не лишним. Цель коммерциализации обеих технологий, Java и FPGA, в том, чтобы опровергнуть послед...

Медленное движение «влево» в автоматизации тестирования Похоже, что стремление «сдвинуть» тестирование влево, к началу конвейера, в сторону разработчиков для ускорения разработки приложений и их развертывания зашло в определённый тупик. Недавний опрос, проведённый компанией Perforce (специализируется на разработке сре...

[Перевод] Учебник по Spring Boot Admin Контролируйте и управляйте своими приложениями Spring Boot с помощью приятного пользовательского интерфейса поверх конечных точек Spring Boot Actuator. Spring Boot Actuator Actuator — это модуль Spring Boot, который добавляет конечные точки (endpoint) REST / JMX в ваше пр...

Шутер Bright Memory появился в Google Play с ценником 149 рублей В конце прошлого года шутер Bright Memory стал доступен для Android-устройств, но скачивать его нужно было через сторонние системы. Теперь же проект официально добрался до Google Play. Напомним, что сегодня Bright Memory — это демо-версия шутера продолжительностью около 40 ...

Где порешать аналитические задачи от команд Яндекса? Контест и разбор Сегодня начинается пробный раунд чемпионата по программированию Yandex Cup. Это означает, что можно с помощью системы Яндекс.Контест решать задачи, подобные тем, которые будут в квалификационном раунде. Пока результат ни на что влияет. В посте вы найдёте условия задач трек...

Миллиард операций в базе данных за 0.3 секунды. Не сравнивайте OLTP с OLAP, а QuestDB с PostgreSQL Очень часто за свой 15летний опыт работы разработчиком ПО и тимлидом я сталкиваюсь с одним и тем же. Программирование превращается в религию — редко кто пытается внедрять технологии на основе разумного выбора, аргументированно, с учетом ограничений, возможностей переносимост...

Пишем плагин отладки для SNES игр в IDA v7 Приветствую, Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить). Читать дальше →

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

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

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

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

[Перевод] Вышел релиз GitLab 13.11 с агентом для Kubernetes и настройкой конвейера для проверки соответствия требованиям В прошедший День Земли мы думали о росте. Наши клиенты масштабируют свои DevOps-процессы, и с их ростом возрастает потребность в ещё большей эффективности и автоматизации контроля. GitLab Kubernetes Agent теперь доступен на GitLab.com, что позволит вам воспользоваться преим...

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

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

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

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

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