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

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

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

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

[Из песочницы] Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо Здравствуйте! На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема. Поэтому я решил поделиться с вами собственным решением, которое было ранее реализо...

Нейросеть — обучение без учителя. Метод Policy Gradient Доброго времени суток, Хабр Настоящей статьей открываю цикл статей о том, как обучать нейронные сети без учителя. (Reinforcement Learning for Neuron Networks) В цикле планирую сделать три статьи по теории и реализации в коде трех алгоритмов обучения нейронных сетей без учи...

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

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

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

Токен Авторизации В настоящее время киберпреступность стала проблемой мирового уровня. Например, Дмитрий Самарцев, директор BI.ZONE в сфере кибербезопасности привёл на Всемирном экономическом форуме следующие цифры. В 2018 году ущерб мировой экономики от киберпреступности составил по его слов...

Задача №2. Определение популяционной структуры Мы продолжаем цикл задач, где рассказыаем, как работать с генетическими данными. Первую задачу «Узнайте пол и степень родства» уже можно решить и прислать нам ответы. Сегодня публикуем вторую. Главный приз — Полный геном. Читать дальше →

[Из песочницы] Архитектура нейронной сети RetinaNet Данная статья посвящается объяснению устройства архитектуры нейронной сети RetinaNet. Обзор был проведён мною в ходе выполнения дипломной работы, а так как для его написания потребовалось обращаться исключительно к англоязычным источникам и собрать найденную информацию воеди...

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

Рекомендательные системы: проблемы и методы решения. Часть 1 Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого мног...

[Из песочницы] [Symfony 5] Раздельная авторизация для админов и пользователей с двумя разными сущностями и формами входа Цель Создать в Symfony 5 раздельную авторизацию: Администратор — будет иметь сущность Admin, url для входа /admin/login Пользователь — будет иметь сущность User, url для входа /login Данные для входа не должны пересекаться, мы не можем авторизоваться как User на странице /...

Как организовать тестирование, чтобы ускорить и стабилизировать релизы продукта. Часть 2 У тестировщика много возможностей повысить качество продукта и сделать работу команды комфортнее. Главное – обсуждать любые изменения с коллективом и внедрять только то, что удобно и полезно для всех. Меня зовут Виктория Дежкина, я отвечаю за тестирование ряда продуктов в Д...

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3 Доброго времени суток, дорогие читатели. На этот раз я хотел бы представить, наверное, заключительную часть цикла о Zip-архивах и PHP. В этой статье я покажу как прочесть уже существующий ...

Запись видео UI автотестов, работающих в headless Chrome Всем привет! В данной статье хочется рассказать о том, как была решена задача записи видео автотестов, работающих в headless Chrome (с записью в не headless режиме проблем быть не должно). Будет рассмотрено несколько разных подходов, рассказано про трудности и пути их реше...

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

Totum — open source конструктор CRM/ERP и произвольных учетных систем (PHP + PgSQL) В двух словах — продвинутые таблицы. Ориентирован на отдельных разработчиков или микрокоманды из двух-трех человек. Подходит начинающим разработчикам и бизнес-аналитикам, желающим превратить свое понимание бизнеса в готовое решение или быстро разработать проект под конкретн...

Nvidia представила монструозную платформу с 17 млрд транзисторов, GPU нового поколения и CPU с ядрами Cortex-A78 Компания Nvidia сегодня представила одну весьма любопытную новинку. Называется она Drive AGX Orin. Это программно-определяемая платформа для автономных транспортных средств и роботов. В частности, Drive AGX Orin разработана для обеспечения архитектурно-совместимых платф...

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

Самоучитель по WinCC OA. Часть 1. Создание проекта и модуль para Решил немного рассказать про систему визуализации от Siemens под названием WinCC OA. Эта SCADA на рынке России распространена гораздо меньше классических версий WinCC (и tia-портальных тоже), знаний по ней в открытом доступе достаточно мало, знаниями делятся неохотно. В ряде...

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

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

Покайтесь, ибо грядет LDAP Channel Binding & Signing В первых строках хочу заметить, что новость это уже во первых старая, во вторых мало кому на самом деле интересная. Тем не менее, возможно кому то будет интересно узнать, что в марте 2020 года, примерно через месяц, всем использующим MS LDAP может стать немножко больно и о...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

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

TOП-10 популярных процессоров на hotline.ua Выбор процессора – нелегкая задача для всех, кто решился на самостоятельную сборку системы. Всегда хочется получить оптимальный вариант для своих задач с лучшим соотношением цена/производительность. Мы предлагаем рассмотреть десятку наиболее популярных на нашем рынке процесс...

Программный интернет-шлюз для небольшой организации Любой бизнесмен стремится к сокращению расходов. То же самое касается и IT-инфраструктуры. При открытии нового офиса у кого-то начинают шевелиться волосы. Ведь надо организовать: локальную сеть; выход в интернет. Лучше ещё с резервированием через второго провайдера; VPN д...

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

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

Бесшовная миграция пользователей между доменами В начале 2019 года мы провели ребрендинг и поменяли название с RealtimeBoard на Miro. Следовательно, изменился домен сайта с realtimeboard.com на miro.com. При смене домена пользователям пришлось бы выполнять авторизацию на новом домене, потерялись бы локальные настройки п...

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

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

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

[Перевод] Пишем загрузчик на Ассемблере и C. Часть 1 Эта статья представляет собой ознакомительный материал о написании загрузчика на С и Ассемблере. Сразу скажу, что здесь я не буду вдаваться в сравнение производительности итогового кода, созданного на этих языках. В этой работе я просто вкратце изложу процесс создания загр...

«Резни не будет» — рассказ о переводе «Червя» В конце прошлого года случилось давно ожидаемое литературное событие — группа переводчиков, которая в течении пяти лет переводила роман «Червь» известного канадского писателя Джона МакКрэя, пишущего под псевдонимом «Wildbow», наконец-то завершила работу. Если вы не слыша...

Расширяем Laravel за счет собственных компонентов Задача Добавить в приложение систему оповещения пользователей через СМС-сообщения с возможностью выбора провайдера. Решение Оптимальным решением, на мой взгляд, является добавление собственного компонента. Компонент — блок программы с четко определенным набором действий (ко...

[Перевод] Python, pandas и решение трёх задач из мира Excel Excel — это чрезвычайно распространённый инструмент для анализа данных. С ним легко научиться работать, есть он практически на каждом компьютере, а тот, кто его освоил, может с его помощью решать довольно сложные задачи. Python часто считают инструментом, возможности которог...

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

Как увеличить дальность связи с беспилотным летательным аппаратом (БЛА) Задача увеличения дальности связи с беспилотным летательным аппаратом (БЛА) не теряет актуальности. В данной статье рассматриваются методы улучшения этого параметра. Статья написана для разработчиков и эксплуатантов БЛА и является продолжением цикла статей про связь с БЛА (н...

[Перевод] Обработка сетевых данных на лету Перевод статьи подготовлен в преддверии старта курса «Пентест. Практика тестирования на проникновение». Аннотация Разнообразные виды оценки безопасности, начиная от регулярного тестирования на проникновение и операций Red Team до взлома IoT/ICS-устройств и SCADA, подразум...

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

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

Как настроить родительский контроль на Android Family Link — лучшее приложение родительского контроля на Android Несмотря на то что Digital Wellbeing принято считать аналогом «Экранного времени» для Android, на самом деле у них есть одно весьма ощутимое отличие. Если ограничительный режим в исполнении Apple позволя...

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

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

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

50/200+ вопросов по JavaScript Доброго времени суток, друзья! Предлагаю Вашему вниманию небольшой интерактив — своего рода викторину по JavaScript, на данный момент состоящую из 50 вопросов. На мой взгляд, решение подобных задач — лучший способ определить свой уровень мастерства. Предисловие Данная ча...

[Перевод] Seccomp в Kubernetes: 7 вещей, о которых надо знать с самого начала Прим. перев.: Представляем вниманию перевод статьи старшего инженера по безопасности приложений британской компании ASOS.com. С ней он начинает цикл публикаций, посвящённых повышению безопасности в Kubernetes благодаря использованию seccomp. Если введение понравится читателя...

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

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

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

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

[Перевод] Создайте свой собственный симулятор Q# — Часть 1 Симуляторы — это особенно универсальная особенность QDK. Они позволяют вам выполнять различные задачи в программе на Q#, не меняя ее. Такие задачи включают симуляцию полного состояния, оценку ресурса или симуляцию трассировки. Новый интерфейс IQuantumProcessor позволяет очен...

[Перевод] Заметки о Unix: надёжная работа с API C-библиотеки Unix возможна только из программ, написанных на C Для того чтобы полностью реализовать требования системы верификации источника системных вызовов, разработчики OpenBSD хотят, чтобы Go выполнял бы системные вызовы через C-библиотеку, а не напрямую, из собственной среды выполнения (а у Go есть некоторые причины поступать имен...

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

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

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

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

[Из песочницы] Запись звука JS c микрофона или голосовые комментарии Запись звука JS c микрофона или голосовые комментарии Не давно, при разработке одного корпоративного веб-приложения, заказчик пожелал иметь возможность оставлять голосовые комментарии. Ранее мне не приходил сталкиваться с созданием медиаконтента и я с интересом приступил к и...

[Перевод] Выбираем лучший бэкенд-фреймворк 2021 года Недавно мы опубликовали статью, автор которой размышлял о том, какой язык программирования, JavaScript, Python или Go, лучше всего подойдёт для бэкенд-разработки в 2021 году. Сегодня мы представляем вашему вниманию перевод ещё одного материала того же автора. Здесь он пытает...

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

[Из песочницы] Визуализируя нейронный машинный перевод (seq2seq модели с механизмом внимания) Привет, Хабр! Представляю вашему вниманию перевод статьи "Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)" автора Jay Alammar. Sequence-to-sequence модели (seq2seq) – это модели глубокого обучения, достигшие больших успех...

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

Использование RabbitMQ вместе с MonsterMQ часть 3 В нашей предыдущей статье мы создали очередь задач. Она предполагает что одна задача в виде сообщения доставляются одному получателю. В этой статье мы сделаем кое-что другое, мы будем отсылать одно сообщения сразу нескольким получателям. Мы создадим систему логгирования кото...

[Перевод] Понимание CSS Grid (2 часть): Grid-линии Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному эл...

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

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

[Из песочницы] Адекватное MVC для начинающих и не только Небольшое вступление Всем 404! Большинство IOS-разработчиков не понимают как работать с Apple-MVC. Из-за чего появляется необоснованная критика, маленькие проекты стараются писать на архитектурах для этого не предназначенных, ViewController'ы становятся огромными, не читаемы...

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

В Telegram избавляются от авторизации по SMS Команда популярного мессенджера Telegram внесла нововведение, которым может не понравится некоторым пользователям. В десктопных приложениях Telegram и веб-клиентах пропала возможность авторизации с помощью SMS.  Официальных объявлений на этот счёт пока не делалось...

«Инфраструктура как код» в автоматизации сервисов CI/CD Привет! Меня зовут Игорь Николаев, я пью за любовь работаю в отделе автоматизации процессов разработки Мир Plat.Form в НСПК. В этой статье я поделюсь тем, как наш отдел решал задачу по автоматизации предоставления различных ресурсов для команд разработки. Эта задача свойстве...

[Перевод] Многопоточность. Модель памяти Java (часть 2) Привет, Хабр! Представляю вашему вниманию перевод второй части статьи «Java Memory Model» автора Jakob Jenkov. Первая часть тут. Аппаратная архитектура памяти Современная аппаратная архитектура памяти несколько отличается от внутренней Java-модели памяти. Важно понимать апп...

Как пользоваться словарями (и не только) Для совсем начинающих оптимальным словарём будет Abbyy Lingvo lingvolive.ru, потому что в нём значения слов не свалены в кучу, как в некоторых электронных словарях — первые два значения слова будут наиболее актуальными. По сути Lingvo представляет из себя старые советские сл...

[Перевод] Chaos Engineering: искусство умышленного разрушения. Часть 3 Прим. перев.: Это продолжение цикла статей от технологического евангелиста из AWS (Adrian Hornsby) про довольно новую ИТ-дисциплину — chaos engineering, — в рамках которой инженеры проводят эксперименты, призванные смягчить последствия сбоев в системах. Первый материал этого...

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

Google хоронит расширение PHP IMAP Google сообщил владельцам G Suite аккаунтов о том, что с 15 феврался 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth. Для IMAP-авторизации разработчикам предлагается использовать способ автризации под названием SASL XOAUTH2. Но дело в том...

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

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

Защита и взлом Xbox 360 (Часть 2) В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компани...

Blazor Client Side Интернет Магазин: Часть 5 — Просмотр корзины и работа с Stateful Привет, Хабр! Продолжаю делать интернет магазин на Blazor. В этой части расскажу о том как добавил в него возможность просмотра корзины товаров и организовал работу с состоянием. За подробностями добро пожаловать под кат. Читать дальше →

[Из песочницы] Как я веду Zettelkasten в Notion уже год: стартовый набор и полезные трюки Zettelkasten — крутой метод хранения идей и знаний — сейчас на слуху, дошел и до Хабра. Я веду такой в Notion уже год, потому что Notion лучше всех воплощает три главных принципа Zettelkasten: взаимосвязанность, категоризацию, актуальность. Метод улучшил качество моего обуч...

Оцениваем опционы на Clojure методом Монте-Карло Привет! Меня зовут Рома, я работаю iOS-разработчиком в Exness. А кроме того, пишу на Clojure и инвестирую. Сегодня я расскажу о том, как оценивать опционы. Это вводная статья и заработать миллион, используя предложенный способ, вряд ли получится. Тем не менее, это хорошая ос...

Действительно простая графика в R для науки и публицистики R — очень мощный инструмент для работы со статистикой: от предварительной обработки до построения моделей любой сложности и соответствующей графики. Простой гугл-запрос выдаст большое количество литературы по тому, как «легко и быстро» использовать R. Здесь будут и огромные...

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

Турбо-страницы теперь можно комментировать без авторизации на сайте Блок комментариев с авторизацией в Яндексе стал доступным для Турбо-страниц.

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

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

Ищем цепочку событий в потоке данных с помощью FlinkCEP В данной статье речь пойдет об использовании открытой платформы Apache Flink для обнаружения цепочки последовательности событий. Статья подойдет как для начинающих разработчиков в области обработки потоковых данных, так и для тех, кто желает познакомиться с Apache Flink. Н...

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

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

[Перевод] Аутентификация и чтение секретов в HashiCorp's Vault через GitLab CI Доброго времени суток, читатель! 22 апреля в GitLab выпустили релиз 12.10 и сообщили о том, что теперь CI-процесс может авторизовываться в Hashicorp's Vault через JSON Web Token (JWT), и для авторизации нет необходимости хранить токен для доступа к нужным policy в переменных...

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

[Перевод] Магические сигнатуры методов в C# Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK. Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. ...

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе д...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[Перевод] BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение) 2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Kodi 18: Авторизация в Youtube (пошаговое руководство) Kodi 18 выдает ошибку при попытке авторизации в приложении Youtube. Для того, чтобы все-таки авторизоваться и начать нормально пользоваться Youtube на Kodi 18, требуется создание индивидуальных ключей API.

Книга «Экстремальный Cи. Параллелизм, ООП и продвинутые возможности» Привет, Хаброжители! Для того чтобы овладеть языком C, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким, научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми в...

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

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

[Из песочницы] UID и авторизация Stalker на MAG250 Я давно уже интересовался темой авторизации медиа приставок в портале Stalker, но было не до этого. Однажды ко мне случайно попала приставка MAG250 от Infomir и я решил занятся этим вопросом. Подготовка Первым делом я разобрал приставку, припаял к разьёму кабель и соединил ...

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

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

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

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

Что должен уметь специалист по Data Science? Будущее за наукой о данных За последние несколько лет технологии интегрировались с многими бизнесами, что сформировало новые профессии, которые стали очень востребованными на рынке. Одним из таких направлений стало Data Science: специалисты в этой области сейчас нарасхват, и...

TV Box или Smart TV? Приветствую вас, хабровчане! Накануне выходных и в связи с наступлением серых, осенних будней – мы поговорим про увеселительные гаджеты. Речь пойдёт о том, что же лучше – TV Box или Smart TV? Для кого-то ответ очевиден, а кто-то только подумывает – какой же выбрать TV Box...

Ловим утечки памяти в С/С++ Приветствую вас, Хабровчане! Сегодня я хочу немного приоткрыть свет над тем, как бороться с утечкой памяти в Си или С++. На Хабре уже существует две статьи, а именно: Боремся с утечками памяти (C++ CRT) и Утечки памяти в С++: Visual Leak Detector. Однако я считаю, что они н...

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

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

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

[Перевод] Реализация epoll, часть 1 Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll. Он уделяет основное внимание реализации подсистемы epoll в ядре Linux...

Настройка LDAP в Oracle BI В статье описана простая настройка LDAP для аутентификации и авторизации пользователей. 1. Перейдете по ссылке Oralce bi которая открывает console(http://адрес: порт/console), используя учетную запись администратора (по умолчанию weblogic). Нажмите на Security Realms -> ...

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

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

[Перевод] Мифы о useEffect Доброго времени суток, друзья! Представляю вашему вниманию перевод небольшой заметки Kent C. Dodds, в которой он делится своими соображениями относительно правильного использования хука «useEffect». Я обучил React тысячи разработчиков. Как до, так и после релиза хуков. О...

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

[Из песочницы] Захват криптоключей Mifare и копирование ключей домофонов IronLogic своими руками Голыми руками захватывать криптоключи и копировать брелоки Mifare для домофонов конечно невозможно, а вот собрать прибор, который будет это делать вполне реально. Не буду здесь рассказывать о том, что такое Mifare и вдаваться в технические подробности, скажу только, что данн...

Keycloak интеграция со Spring Boot и Vue.js для самых маленьких Вы больше не можете создать сервер авторизации с помощью @EnableAuthorizationServer, потому что Spring Security OAuth задеприкейтили, а проект Spring Authorization Server всё ещё экспериментальный? Выход есть! Напишем авторизацию своими руками.....

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

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

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

[Перевод] Фронтенд-разработчику: 10 направлений, в которых стоит развиваться в 2021 году Профессия «фронтенд-разработчик», без сомнения, будет одной из самых востребованных в 2021 году. Раньше тем, кто работал в этой сфере, для создания интерактивных сайтов достаточно было знать HTML, CSS и, возможно, jQuery. Но сегодня фронтенд-разработчик вынужден существоват...

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

OSINT в Telegram Протокол Telegram известен своей доступностью и открытостью. У него есть множество публичных реализаций: tdlib/td, rubenlagus/TelegramApi, vysheng/tg, LonamiWebs/Telethon и другие. Однако, даже имея в распоряжении столь богатый инструментарий и объемную документацию (https...

32 отличия дизайна мобильного приложения под iOS и Android Железный дизайнер из Redmadrobot Design Lab Артур Абраров делится наблюдениями. Адаптировать дизайн под другую платформу — неотъемлемая часть работы дизайнера мобильных приложений. Цель этой работы — органично вписать дизайн в паттерны взаимодействия пользователя. К тому ...

[Перевод] Управление жестами: Обработка визуальных перекрытий. Часть 2 В преддверии старта продвинутого курса по Android-разработке продолжаем делиться с вами серией полезных переводов. Вы читаете вторую статью из серии об управлении жестами. Первую часть вы можете найти здесь. В первой части серии мы узнали, как расположить ваше приложение ...

Установка разной плотности заполнения для отдельных частей модели в Сura 4.4.1  В 4.4.1 эта функция осталась, только достижения ее эффекта немного изменилась последовательность действия по сравнению с версией 4.3. Вот наша модель: Дальше выбираем «Блокировщик поддержек».И тыкаем в любое место модели(можно даже несколько раз).Я добавил два объекта.Далее...

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

Полная поддержка популярных реализаций Docker Registry в werf Все популярные реализации реестров для образов контейнеров поддерживают Docker Registry HTTP API и позволяют использовать одни и те же инструменты для работы с ними. Тем не менее, часть реализаций имеет свои особенности и ограничения, а значит — если вам нужно их поддержива...

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

Использование journalctl для просмотра и анализа логов: подробный гайд Journalctl — отличный инструмент для анализа логов, обычно один из первых с которым знакомятся начинающие администраторы linux систем. Встроенные возможности ротации, богатые возможности фильтрации и возможность просматривать логи всех systemd unit-сервисов одним инструмен...

Удалить iCloud (Apple ID), или как отвязать iPhone или iPad от учетной записи Apple? Как известно, во всех своих устройствах и сервисах Apple использует единую систему идентификацию пользователей, требующую от последних авторизации посредством Apple ID для совершения важных действий — покупки и загрузки контента, управления конфиденциальными данными и настро...

[Перевод] Canary деплой с Jenkins-X, Istio и Flagger Доброго времени суток, читатель! Вот мы и подошли к заключительной части цикла статей о Канареечных релизах в Kubernetes и методах их реализации. Желаю приятного чтения и надеюсь, что данный цикл был для вас полезным. Использование решения Jenkins X для выполнения Canary де...

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

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU). Для начала определим что такое нейронная сеть. В нашем случае это математиче...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

VxLAN фабрика. Часть 2 Привет, Хабр. Продолжаю цикл статей по технологии VxLAN EVPN, которые были написаны специально к запуску курса "Сетевой инженер" от OTUS. И сегодня рассмотрим интересную часть задач — маршрутизацию. Как бы ни банально это звучало, однако в рамках работы сетевой фаб...

Новая медиавалюта. Исследование внимания аудитории к интернет-рекламе с применением технологии айтрекинга (часть 2) Как оценивать эффективность рекламы в условиях информационного шума и меняющихся паттернов поведения потребителя? Классические метрики засчитывают просмотр, даже если он не был совершен: пользователь мог смотреть на экран, но не видеть рекламу. Специфика digital-форматов так...

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

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

Почему стоит купить Google Pixel 2 XL вместо Pixel 4 XL Зачем платить больше? Каждый год производители выпускают флагманские устройства. И каждый год некоторые потребители готовы приобретать аппараты лишь потому, что это новое поколение. Однако всё не так просто, как кажется на первый взгляд, ведь купив, например, Pixel 2 XL вмес...

Найди флаг и не отдавай его. Как мы проводили RBKmoney CTF Привет! В этом посте мы расскажем о том, как провели первый в истории RBK.money CTF (capture the flag). Механика соревнования была примерно такой же, как и на привычных вам CTF, а вот результаты немного удивили. Впрочем, возможно, мы просто перестарались с задачами. В рамках...

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

Хабрарейтинг 2019: статистика и рейтинг авторов за 2019 год Привет Хабр. В первой части была рассмотрена некоторая статистика и опубликован рейтинг статей этого сайта. Во второй части будут рассмотрены другие статистические закономерности этого года, которые мне показались интересными, а также будет опубликован рейтинг авторов за эт...

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

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

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

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

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

[Перевод] Как разработчики игр подходят к вовлечению пользователей и монетизации Сейчас подписки есть везде: от сервисов для чтения книг или просмотра сериалов до пакетов профессионального софта и утилит. При этом проверенные и классические модели монетизации никуда не делись. Google в рамках своего вебинара рассказал о подходах к вовлечению пользова...

Киберпреступники используют новые методы DDoS-атак Данное приложение было загружено в Play Market в сентябре 2019 года. При этом в первой версии отсутствовала функция загрузки JavaScript , необходимая для DDoS-атаки, и появилась позднее вместе с обновлением. Оно позиционировалось как новостной ресурс и продвигалось через веб...

Разбираем атаки на Kerberos с помощью Rubeus. Часть 2 Всем привет! Это вторая часть статьи про возможности инструмента проведения атак на протокол Kerberos — Rubeus. Первую можно прочитать тут. В этот раз мы рассмотрим, как с помощью данного инструмента возможно реализовать следующие атаки:
 — Overpass The Hash/Pass The Key...

[Перевод] Питонистический подход к циклам for: range() и enumerate() Автор заметки, перевод которой мы сегодня публикуем, хочет рассказать о некоторых особенностях использования циклов for в Python. Цикл for — это один из краеугольных камней программирования. С этими циклами будущие программисты знакомятся в самом начале учёбы и, после пер...

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

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

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

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

Apple разрешила сторонним приложениям на iOS отправлять рекламу в push-уведомлениях и пообещала запустить систему авторизации Sign in with Apple до 30 апреля Apple теперь разрешает сторонним приложениям на iOS отправлять рекламные push-уведомления. Само собой, прежде всего пользователь должен дать свое согласие на получение таких уведомлений. На днях Apple обновила правила магазина App Store, чтобы отразить эти изменения для разр...

Blazor Client Side Интернет Магазин: Часть 6 — Создание заказа и работа с компенсирующими действиями Привет, Хабр! Продолжаю делать интернет магазин и изучать Blazor. В этой части расскажу о том как добавил в него возможность создания заказа, просмотра заказов и работу с последовательностью действий одно из которых может завершиться ошибкой. За подробностями добро пожалов...

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

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

[Из песочницы] Методы регрессионного анализа в Data Science Накануне запуска курса «Математика для Data Science. Продвинутый курс» мы провели открытый вебинар на тему «Методы регрессионного анализа в Data Science». На нём познакомились с понятием линейных регрессий, изучили, где и как их можно применять на практике, а также узнали, к...

[Перевод] Эмуляция компьютера: интерпретатор CHIP-8 и формирование изображений Недавно мы опубликовали перевод первого материала из серии статей, посвящённой эмуляции компьютера. Автор этих статей подробно рассказывает о написании интерпретатора CHIP-8 на C++. В той публикации мы устроили опрос о целесообразности перевода продолжения цикла. Почти 94% т...

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

Неотъемлемые помощники в деле разведки наиболее эффективной в мире спецслужбы (часть 2) Часть 1 Даже имея доступ к конфиденциальным и секретным документам польза будет равна почти нулю, если у шпиона не будет возможности сделать их копии. Можно положиться на память и запомнить материал, потом записать с помощью блокнота и ручки, зарисовать. Довольно-таки неэффе...

[Перевод] Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12 Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использова...

[Из песочницы] Изучаем мультикаст операторы RxJS Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal. Широковещательные или мультикаст операторы нередко кажутся самой сложной темой при изучении RxJS. В этой статье я попробую все доступно объяснить. Мы рас...

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

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

Как быстро рассчитать стоимость 3D-печати? Директор 3D FAB Александр Андрианов рассказывает, как быстро рассчитать стоимость и разместить заказ на оперативную печать .stl модели в сети лучших 3D студий России.Гарантом качества выступает 3D FAB.Вы можете абсолютно бесплатно и без регистрации использовать наш калькулят...

Я тимлид, зачем мне все это? В предыдущей статье я рассказывала, в чём сходство задач и инструментов тимлида и психолога, и обещала ответить на вопрос, зачем тимлиду это надо.Ну правда, зачем? Задача тимлида – сделать всё, чтобы команда работала эффективно. Зачем быть искренним и эмпатичным, если лю...

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

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

Как внедрить CRM на удалёнке и выиграть? Успешные люди вырываются вперед,  используя то время, которое остальные тратят впустую. Генри Форд У этой статьи не будет пафосного, заумного или игривого вступления — только КДПВ и подпись к ней. Они скажут значительно больше. Это фото выбрано неслучайно. Оно с гонки «24...

[Из песочницы] Сериализация в C++ В данной статье речь пойдет об автоматизации процесса сериализации в C++. В начале будут рассмотрены базовые механизмы, позволяющие упростить чтение/запись данных в потоки ввода-вывода, после чего будет дано описание примитивной системы генерации кода на основе libclang. Ссы...

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

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

В промышленную эксплуатацию запущена ФГИС «Единый реестр контрольных (надзорных) мероприятий» Единый реестр, призванный повысить прозрачность сферы контроля, начнет работать с 1 июля 2021 года.ФГИС ЕРКНМ поддерживает совместную работу контролеров и прокуроров в ходе планирования и согласования контрольно-надзорных мер. Для инициирования проверок контролерам потребует...

[Перевод] Как автоматизировать развертывание баз данных с помощью Liquibase? Liquibase — это инструмент управления изменениями в базе данных. С его помощью вы можете отслеживать изменения в базе данных, сделанные с помощью SQL (или XML) скриптов. Эти скрипты могут быть добавлены в системы контроля версий, такие как git.В данной статье мы рассмотрим, ...

[Из песочницы] Регистрация и авторизация с помощью Spring Security на примере простого приложения Добрый день! В этой статье будет рассмотрено создание простого веб приложения с использованием Spring Boot и Spring Security. В приложении будет реализована регистрация новых пользователей и авторизация, ограничение доступа к страницам сайта в зависимости от роли пользовате...

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

[Перевод] Управление жестами: От края до края (I) Всем привет. Специально для студентов продвинутого курса по Android-разработке подготовили перевод интересной статьи. Это первая статья их серии «Управление Жестами». Другие статьи вы можете найти по ссылке. В Android Q был добавлен новый режим навигации по системе, п...

VMware SD-WAN: обзор решения Этим материалом мы начинаем цикл статей о решении VMware SD-WAN. Сегодня поговорим о том, какие рыночные предпосылки сформировали его появление, какие задачи решает SD-WAN и каковы технические особенности решения VMware. Читать далее

Изучаем VoIP-движок Mediastreamer2. Часть 5 Материал статьи взят с моего дзен-канала. Обнаружитель тонального сигнала В прошлой статье мы создали измеритель уровня сигнала. В этой мы научимся обнаруживать тональный сигнал. В старые времена, когда не в каждой семье был телевизор, и у половины из них каналы переключали...

Пентест по-своему. Создаем собственную методику тестирования на примере машин с OSCP и Hack The Box Для подписчиковКаждому начинающему пентестеру или просто энтузиасту от мира ИБ однажды хочется перейти от чтения захватывающих райтапов к практике. Как же лучше это сделать и на что обязательно стоит обратить внимание? В этой статье я расскажу о своем пути и поделюсь некотор...

Как работает система Marketplace efficiency для сервисов доставки продуктов Привет, Хабр! Меня зовут Артём Селихов, я Product manager в команде СберМаркета, и я отвечаю за управление программными продуктами для операционных процессов, которые мы разрабатываем для наших партнеров — курьеров и экспертов по закупке. В первом посте мы уже рассказывали...

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

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

[Перевод] Три метода Pandas, о которых вы, возможно, не знали Автор статьи, перевод которой мы сегодня публикуем, говорит, что когда он узнал о тех методах библиотеки Pandas, о которых хочет тут рассказать, он почувствовал себя совершенно некомпетентным программистом. Почему? Дело в том, что ему, когда он до этого писал код, лень было ...

[Перевод] Планирование в Go: Часть II — Планировщик Go Привет, Хабр! Это второй пост в серии из трех частей, которая даст представление о механике и семантике работы планировщика в Go. Этот пост посвящен планировщику Go. В первой части этого цикла я объяснил аспекты планировщика операционной системы, которые, на мой взгляд, важ...

Изучаем Kubernetes: базовая программа 14-16 мая, продвинутая 18-20 мая Если вы уже работаете с Kubernetes, посмотрите на программу продвинутого курса. Там будет много тонкостей и сложностей, включая большой новый блок по Istio. Если вам нужно быстро познакомиться с Kubernetes, чтобы влиться в команду или начать самостоятельные эксперименты не с...

[Из песочницы] Классификация Deep Sky объектов и их наблюдение Привет, Хабр! Представляю вашему вниманию адаптированный перевод статьи «Deep Sky Objects and Their Observation» с любезного резрешения автора. Интересная статья, классифицирующая объекты Deep-Sky, описывающая их разную природу образования. Также данная публикация дает край...

Как получить OpenID/OAuth2 токен для тестирования front-end rest сервисов? Есть задача нагрузочно потестировать фронтальные веб рест апи. Ресты защищены OAuth с Authorization Code Grant. Значит появляется необходимость наличия валидного токена для Authorization: Bearer TOKEN. Вопрос — как его взять? И так это сделать красиво и правильно? Вот тут я...

Одной повседневной задачей стало меньше: обзор робота-пылесоса Ecovacs Deebot OZMO 950 Робот полностью отрабатывает свою стоимость, избавляя от еще одной рутинной домашней обязанности, а освободившееся время я лучше потрачу на просмотр сериалов или PlayStation.

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

Какой iPad лучше купить в 2020 году: сравнение всех планшетов Apple С выходом нового iPad Pro в этом году выбрать подходящий планшет стало еще сложнее. У Apple все еще есть неплохой вариант в виде iPad 7, представленный в прошлом году, который дешевле даже новой клавиатуры Magic Keyboard. А еще компания до сих пор продает последние поколени...

[Из песочницы] Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer. Angular — отличный фреймворк. Мы все его любим <3. Одна из вещей, которая делает Angular успешным и прекрасным в...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Перевод] Что же такого особенного в IAsyncEnumerable в .NET Core 3.0? Перевод статьи подготовлен в преддверии старта курса «Разработчик C#». Одной из наиболее важных функций .NET Core 3.0 и C# 8.0 стал новый IAsyncEnumerable<T> (он же асинхронный поток). Но что в нем такого особенного? Что же мы можем сделать теперь, что было невозмо...

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

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

Дополняя SQL. Часть 2. Оптимизация работы со строками и открытия файлов Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Это вторая статья в цикле о жизни разработчиков IDE для баз данных. Ее структура будет похожа на первую. Как и в первой я расскажу о проблемах с которыми мы сталкивались...

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

Изучаем ELK. Часть I — Установка Elasticsearch Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK. В этой ...

Управление трафиком в Kubernetes-кластере с Calico Практически каждый инженер, практикующий DevOps, в какой-то момент сталкивается с задачей настройки правил доступа для своих проектов. В данной статье мы рассмотрим примеры настройки сетевых политик Kubernetes-кластера, в котором используется плагин Calico и осветим некотор...

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

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

[Из песочницы] 10 лучших инструментов для автоматизации тестирования ПО Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Automated Software Testing Tools» автора Pratik Satasiya. Боб Иган, директор по исследованиям Sepharim Research, говорил о мобильной безопасности. Он выступил с заявлением на Enterprise Mobility Trends 2016: «...

[Перевод] Бессерверные вычисления на основе OpenWhisk, часть 3 Эта статья продолжает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим примеры развертывания Zip-функций, зависимости GitHub, а также подробнее опишем синхронизацию объектов между клиентом и сервером OpenWhisk. Читать дальше →

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

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

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

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

Знакомство с pg_probackup. Третья часть Завершающая часть из цикла "Знакомство с pg_probackup" (первая | вторая части). В предыдущей статье мы решили сразу две задачи: в первой создали архив wal-файлов, перешли к PAGE-архивам, настроили политику удержания wal-файлов; во второй — реплику из бэкапа и на...

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

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

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

[Перевод] О роли фронтенд-разработчика Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из член...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

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

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3 ...

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

2. UserGate Getting Started. Требования, установка Здравствуйте, это вторая статья о NGFW решении от компании UserGate . Задача данной статьи заключается в том, чтобы показать, как установить межсетевой экран UserGate на виртуальную систему (буду использовать программное обеспечение виртуализации VMware&n...

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

Почему мне не нужен трекпад в клавиатуре для iPad Не так давно издание The Information сообщило, что Apple выпустит новую продвинутую клавиатуру для iPad Pro с трекпадом в этом году. Это будет первый случай, когда Apple добавит трекпад к клавиатуре Smart Keyboard, и здесь стоит отметить несколько интересных вещей. Ведь в К...

Snort или Suricata. Часть 1: выбираем бесплатную IDS/IPS для защиты корпоративной сети Когда-то для защиты локальной сети было достаточно обыкновенного межсетевого экрана и антивирусных программ, но против атак современных хакеров и расплодившейся в последнее время малвари такой набор уже недостаточно эффективен. Старый-добрый firewall анализирует только загол...

15 главных фишек нового Android 11, которые вам точно понравятся Выход версии для разработчиков Android 11 — событие вполне ожидаемое, так как Developer Preview обычно выходит в марте. На этот раз новая ОС стала доступна несколько раньше, но это лишь показывает, насколько Android 11 на данный момент ориентирован на разработчиков. Действит...

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

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

Оптимизация рендера под Mobile Здравствуйте, дорогие читатели, любители и профессионалы программирования графики! Предлагаем вашему вниманию цикл статей, посвященных оптимизации рендера под мобильные устройства: телефоны и планшеты на базе iOS и Android. Цикл будет состоять из трех частей. В первой части ...

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

Самая сложная задача в Computer Vision Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить. У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинг...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Maltego Часть 4. ВК, Instagram, LinkedIN и другие фантастические твари И снова здравствуйте, дорогие друзья. Мы опять готовимся окунуться в прекрасный мир OSINT. Статьи в нашем цикле прибавляются, поэтому пора уже вводить некое подобие оглавления, ведь дальше их будет только больше. Итак, что мы уже разобрали в Maltego: Часть 1 — Что такое ...

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

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

Задачи и разборы экзамена ШАД. Часть вторая — с визуальными приёмами Набор в ШАД продолжается, а тем временем мы с Егором Хайруллиным Mikari разобрали ещё несколько задач из письменного экзамена 2019 года (первая часть — здесь). Сначала пробуйте свои силы и постарайтесь решить задачи самостоятельно — например, номер 8 вообще не содержит форму...

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

IdentityServer4. Основные понятия. OpenID Connect, OAuth 2.0 и JWT Этим постом я хочу открыть ветку статей посвященную IdentityServer4. Начнем мы с основных понятий. Самым перспективным на текущий момент протоколом аутентификации является OpenID Connect, а протоколом авторизации (предоставления доступа) является OAuth 2.0. IdentityServer4 р...

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

Бессерверные вычисления на основе OpenWhisk, часть 4 Эта статья заканчивает цикл переводных заметок об OpenWhisk от автора Priti Desai. Сегодня рассмотрим процесс развертывания OpenWhisk поверх Kubernetes с исправленными командами для работоспособности с актуальными версиями приложений. Также будет описан процесс запуска функ...

Microsoft Edge предлагает высокую производительность Новый браузер созданный на основе проекта Chromium, обеспечивает лучшую совместимость и производительность. Производительность нового Microsoft Edge как минимум на 10% лучше, чем у предыдущей версии. Согласно тестам PCMark, новый браузер Microsoft Edge предлагает улучше...

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

Изображая "цифру" Все знают притчу о трех слепцах, которых попросили ответить на вопрос "Что такое слон?". Каждый из них смог составить описание исходя из того, за какую часть туловища ему удалось потрогать животное. Цельной картины собрать не удалось: один уверял, что слон – это хвост, второ...

[Перевод] Модели глубоких нейронных сетей sequence-to-sequence на PyTorch (Часть 1) Этот туториал содержит материалы полезные для понимания работы глубоких нейронных сетей sequence-to-sequence (seq2seq) и реализации этих моделей с помощью PyTorch 1.8, torchtext 0.9 и spaCy 3.0, под Python 3.8. Материалы расположены в эволюционном порядке: от простой и неточ...

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

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

[Из песочницы] Использование Camunda для удобной оркестровки на основе REST и Workflow Engine (без Java) Привет, Хабр! Представляю вашему вниманию перевод статьи «Use Camunda as an easy-to-use REST-based orchestration and workflow engine (without touching Java)» автора Bernd Rücker. 07.07.2020 г., перевод статьи Bernd Rücker Я часто обсуждаю микросервисную архитектуру с люд...

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

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

Как на Android выровнять горизонт на фото Фотография – кто бы там что ни говорил, это настоящее искусство, которому нужно не только учиться, но и чувствовать его. Поэтому у непрофессионалов (да и у них, справедливо говоря, тоже) довольно часто снимки получаются не совсем такими, какими их планировали изначально. То...

[Перевод] Разворачиваем модель машинного обучения с Docker – Часть 1 Перевод статьи подготовлен в преддверии старта базового и продвинутого курсов по машинному обучению. Расширяем возможности для наших студентов. Теперь в OTUS есть целых два курса по Machine Learning: базовый и продвинутый. Оба курса стартуют в августе, в связи с чем мы приг...

Maltego Часть 5. Твое лицо тебя сдало Здравствуйте, дорогие друзья. Сегодня поговорим о более тяжелой артиллерии в рамках OSINT, а именно, о применении технологии распознавания лиц от Social Links для Maltego. Если не читали предыдущие статьи цикла о Maltego, то сейчас — самое время: Часть 1 — Что такое Malt...

Понимание (всех) «модульных» форматов и инструментов JavaScript Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Understanding (all) JavaScript module formats and tools» автора Dixin. При создании приложения часто возникает желание разделить код на части, логические или функциональные блоки (модули). Однако ...

Рисуем речь: Software Automatic Mouth Прошлогоднюю статью «Рисуем звук» я завершил признанием: «А можно ли нарисовать звук с чистого листа, не обводя спектрограмму аудиозаписи? Скажу честно, у меня не полу­чилось.» Но недавно я узнал про S.A.M. — выпущенный в 1982 г. компанией Don’t Ask Software, он стал первой...

[Перевод] Стратегия Apple: почему iPad не оправдал ожиданий Выдержка из статьи The Verge: 10 лет назад Стив Джобс вышел на сцену, чтобы представить миру iPad. По его же признанию, планшет стал устройством из третьей категории между смартфоном и ноутбуком. В то время нетбуки доминировали в секторе персональных компьютеров… У Apple бы...

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

Vue.js: Хуки жизненного цикла ваших и сторонних компонентов Lifecycle hooks (Хуки жизненного цикла) — это очень важная часть любого компонента. Нам, нашему приложению, часто нужно знать что происходит с компонентом, когда он создан, смонтирован, обновлен или уничтожен. В компоненте мы можем отлавливать эти события используя соотве...

Понимаем красно-черное дерево. Часть 2. Балансировка и вставка Это вторая часть из серии статей "Понимаем красно-черное дерево". Если вы пропустили первую часть, настоятельно рекомендую ознакомиться с ней здесь. Там мы разобрали причину появления кчд и расставили по полочкам некоторые его свойства.В данной части мы разберем вставку и ба...

[Перевод] Подключение геймпада к Raspberry Pi Автор статьи, перевод которой мы сегодня публикуем, Эрик Гебельбекер, недавно собрал робота, основанного на одноплатном компьютере Raspberry Pi. Он хочет сделать так, чтобы роботом можно было бы управлять, пользуясь геймпадом. А для этого геймпад нужно подключить к Raspberry...

Embox на процессоре Эльбрус. Или никогда не забывайте о том, что получили при разведке Данная статья является логическим завершением серии статьей “восхождение на Эльбрус” об ознакомлении Embox с процессорной архитектурой Эльбрус (E2K) . Почему логическим завершением, потому что в результате удалось через telnet запустить приложение, которое выводит на экран ...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

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

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

[Перевод] История интерпретируемости в распознавании изображений Распознавание изображений (т. е. классификация того, какой объект отображается на изображении) является основной задачей в области компьютерного зрения, так как она позволяет использовать различные последующие приложения (автоматическая маркировка фотографий, помощь слабов...

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

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

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

[Из песочницы] Симуляция ПИД-регулятора температуры Поискал я статьи на данном ресурсе на тему ПИД-регуляторов. Много статей. И с объяснением принципов работы таких регуляторов. И с алгоритмами подбора параметров. И с реализацией на конкретных железках и программах. Не увидел одного — симуляции ПИД-регуляторов на моделях, с т...

Как устроены DPU, сопроцессоры для обработки данных Специализированные процессоры ASIC для конкретных областей — один из способов «перезапустить» закон Мура и преодолеть ограничения универсальных CPU общего назначения. Сейчас это очень перспективная область развития микроэлектроники. Собственные проекты есть у Google, Amazon...

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

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

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

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

Свой сервер видеоконференций Jitsi. Часть 1 Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему: Свой сервер видеоконференций Jitsi. Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи ...

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

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

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

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4 Электронные таблицы по-прежнему остаются довольно популярным инструментом для работы с данными, а среди различных процессоров электронных таблиц наиболее популярными являются Google Таблицы. Во-первых, это бесплатный инструмент, во-вторых, функционал Google Таблиц достаточно...

2-х факторная аутентификация пользователей VPN посредством MikroTik и SMS Здравствуйте коллеги! Сегодня, когда накал страстей вокруг «удалёнки» немного спал, большинство админов победило задачу удаленного доступа сотрудников к корпоративной сети, пришло время поделиться моей давней наработкой по повышению безопасности VPN. В этой статье не будет м...

[Перевод] Ассемблер RISC-V для начинающих Если вы не знаете ни одного ассемблера, или, возможно, не имеете большого опыта кодинга как такового, то ассемблер RISC-V может быть одним из лучших вариантов для того, чтобы погрузиться в эту тему. Конечно, материалов по ассемблеру x86 гораздо больше. Больше людей, которые ...

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

Хакатон на 200 человек — что нужно для организации Знаете, почему проекты в крупных компаниях делаются по полгода? Потому что один из самых медленных процессов — это общение с заказчиком для выявления деталей его потребностей. Простое уточнение ТЗ (на гвозди или на клей надо крепить) может занимать до трёх месяцев. Я сейча...

Десятиядерным Intel Comet Lake-S потребуется жидкостное охлаждение На днях уже звучала информация о попытках Intel оптимизировать теплоотвод от процессоров семейства Comet Lake-S. Высокие частоты и 14-нм техпроцесс кажутся не лучшими соседями. Но эксперименты показывают, что для достижения заложенных частот процессорам не обязательно потреб...

[Перевод] Шпаргалка по регулярке Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «Regex Cheat Sheet» автора Emma Bostian. Регулярные выражения или «regex» используются для поиска совпадений в строке. Ищем совпадение по шаблону Используем метод .test() const testString = 'My t...

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

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

Измерение расстояния до объектов с помощью RealSense D435 Задача обнаружения объектов на изображении сегодня является одной из ведущих в области машинного зрения. Ее суть заключается в том, чтобы не только классифицировать объект на снимке, но и указать его точное местоположение. Результаты обнаружения объекта могут быть дополнены...

Распределённое хранение данных в IPFS Cluster Дисклеймер: эта статья рассчитана на понимание основных принципов работы InterPlanetary File System. Если вы не знакомы с IPFS, начните с этой статьи или загляните на ipfs.io. Самый известный и труднопреодолимый недостаток IPFS в скорости её работы. Так как все данные раз...

[Перевод] Почему центр пикселя должен быть в (0,5; 0,5) Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то...

Будни Scrum-Мастера: трансформация команды и себя Бывало ли с вами такое, что вовремя общения, чтения или изучения чего-то будто осеняет, какая-то из старых или нынешних ситуаций в буквальном смысле предстаёт в новом свете? Со мной это постоянно случается, в этот раз при чтении книги “Азбука системного мышления” Донеллы Мед...

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

Snort или Suricata. Часть 3: защищаем офисную сеть В предыдущей статье мы рассказали, как запустить стабильную версию Suricata в Ubuntu 18.04 LTS. Настроить IDS на одном узле и подключить бесплатные наборы правил довольно несложно. Сегодня мы разберемся, как с помощью установленной на виртуальном сервере Suricata защитить ко...

[Из песочницы] Можно ли взломать самолёт — 2 В недавней переведенной статье “Можно ли взломать самолёт” меня возмутили выводы в конце: В заключение, взлом самолёта через GPS, радиоканалы и т.п. теоретически возможен, но потребует невероятного объёма работы, много планирования, координирования действий, много оборудова...

По словам компании Kioxia, она первой начинает поставку твердотельных накопителей с интерфейсом PCIe 4.0 Компания Kioxia объявила о начале поставок твердотельных накопителей с интерфейсом PCIe 4.0, предназначенных для предприятия и центров обработки данных. Речь идет о показанных ранее моделях CM6 и CD6. По словам производителя, он первым начал поставку твердотельных накоп...

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

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

[Из песочницы] Docker Tips: Очистите свою машину от хлама Привет, Хабр! Представляю вашему вниманию перевод статьи "Docker Tips: Clean Up Your Local Machine" автора Luc Juggery. Сегодня мы поговорим о том, как Docker использует дисковое пространство хостовой машины, а также разберемся в том, как это пространство освободи...

Новая серверная для ФГАНУ ЦИТиС от DataDome готова к эксплуатации DataDome завершил проект по реорганизации пространства и созданию серверной для ФГАНУ «Центр информационных технологий и систем органов исполнительной власти». Новая серверная необходима для развития научных проектов организации. В ноябре 2019 года интегратор инженерных сист...

Команда 3dpbm опубликовала электронную книгу о продвинутых материалах в 3D-печати Наши друзья из отраслевого издания 3D Printing Business Media опубликовали бесплатную электронную книгу Advanced Materials AM Focus 2020. Работа посвящена продвинутым расходным материалам, используемым в современных технологиях 3D-печати: технической керамике, композиционным...

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

Telling Lies от автора Her Story выйдет на PS4, Xbox One и Nintendo Switch 28 апреля Одной из лучших мобильных сюжетных игр прошлого года стала Telling Lies от геймдизайнера Сэма Барлоу. В августе прошлого года она вышла одновременно на iOS и в Steam. Теперь же издатель Annapurna Interactive сообщает, что проект появится и на консолях. Произойдет это уже 28 ...

Настройка Gmail API для замены расширения PHP IMAP и работы по протоколу OAuth2 Оказавшись одним из счастливчиков, совершенно не готовым к тому, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth, я прочитал статью "Google хоронит расширение PHP IMAP" и загрустил начал предпринимать действия по ...

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

[Из песочницы] Flutter. Асинхронность и параллельность Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart (и Flutter в частности). TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы ...

Android 11 Developer Preview — что нового У Google есть очень странная традиция, понять суть которой довольно сложно. Вместо того, чтобы сначала провести презентацию новой версии Android, а потом запускать её бета-тест, поисковый гигант делает с точностью до наоборот. В результате тестовая версия обновления выходит...

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

[Перевод] Об изменчивых методах объекта Math в JavaScript Сегодня мы публикуем перевод статьи о математических вычислениях в JavaScript, которая представляет собой письменный вариант выступления её автора на WaffleJS. А само это выступление было чем-то вроде продолжения этой беседы в Twitter. Математическое образование Читать дал...

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

[Перевод] 7 уроков, которые я усвоил за десять лет в разработке Представляем вам перевод статьи JS dev Ray, опубликованной на сайте medium.com. Автор рассказывает о важных вещах, которые он понял за свою карьеру разработчика приложений. По его мнению, эта информация может очень пригодиться начинающим специалистам. Читать дальше →

Добавление собственных пунктов в меню Marlin    Привет всем 3D печатникам и не только!   Сегодня постараюсь в простой форме рассказать, как можно добавить собственный пункт меню в Marlin. На форуме уже была статья на эту тему, но в ней рассматривался случай отмены печати при возникновении проблем в начале печати. Спосо...

[Перевод] Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, «жизненный цикл проекта охватывает всю деятельность проекта». Задачей же разработки ПО является выполнение требований продукта. Если вы хотите научиться создавать и выпускать высококачественное ПО...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

[Из песочницы] Пол Грэм: Хейтеры Перевод последнего на данный момент эссе Пола Грэма с правками Илона Маска, любытно с точки зрения понимания поведенческих паттернов при формировании и высказывания мнения на интернет-ресурсах. Далее от лица Пола. Читать дальше →

Samsung представила виртуальную клавиатуру раньше Apple SelfieType — проекционная клавиатура от Samsung Несмотря на то что Apple довольно скрытная компания, которая старается до последнего держать втайне информацию о новых продуктах, она на постоянной основе сама сливает большую часть своих планов. Речь в данном случае идёт...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

[Перевод] Знакомимся с Web Animations API Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Charlie Gerard «Exploring the Web Animations API». Знакомимся с Web Animations API Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми брау...

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

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

Выпущена новая сборка Microsoft Edge Dev 84.0.502.0 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 84.0.502.0 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Основные новшества: В предупреждение, которое появляется при запуске Edge с п...

[Из песочницы] 5 фич JavaScript, без которых я не мог бы писать код (перевод) Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Kent Dodds «5 JavaScript Features I Couldn't Code Without». Это мой первый перевод, так что буду рад любым замечаниям. 5 фич JavaScript, без которых я не мог бы писать код Прежде чем мы начнем, по...

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

Не те игрушки: как мы научили нейросеть бороться с порно в стримах Всем привет, меня зовут Олег, я занимаюсь компьютерным зрением в команде Видеоаналитики МТС и сегодня расскажу вам, как мы защищаем от небезопасного контента стриминговую платформу WASD.tv, в частности про детектирование порнографии в постановке задачи action recognition. ...

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

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

Почему вам стоит установить VPN на свой смартфон Не все знают, как правильно пользоваться VPN До сих пор широко распространено мнение о том, что VPN нужен только хакерам и компьютерным «гуру». Однако в последнее время количество сайтов и сервисов, недоступных по территориальному признаку, резко выросло (и дело не только в ...

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

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

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

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

[Из песочницы] Кластер из двух узлов – дьявол в деталях Привет, Хабр! Представляю вашему вниманию перевод статьи «Two Nodes — The Devil is in the Details» автора Andrew Beekhof. Многие люди предпочитают кластеры состоящие из двух узлов, потому что они кажутся концептуально более простыми, кроме того еще и на 33% более дешевыми ч...

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

1. Group-IB. Комплексная защита сети. Архитектура TDS Добрый день, коллеги! Сегодня начинаем новый цикл статей, посвященный решениям информационной безопасности от компании Group-IB. Компания работает на рынке информационной безопасности уже более 17 лет, и за это время обросла весьма существенными компетенциями, выполняя про...

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

Декомпиляция node.js в Ghidra Приветствую, Вам когда-нибудь хотелось узнать, как же именно работает программа, которой вы так активно пользуетесь, игра, в которую часто играете, прошивка какого-нибудь устройства, которое что-то делает по расписанию? Если да, то для этого вам потребуется дизассемблер. А ...

Годы идут, долги растут: Как законно не платить по кредиту в кризис? Юристы обнаружили законный способ не платить по кредитам и речь идёт не о банкротстве. Как ни странно, но благодаря сложной экономической ситуации в стране у россиян появилась возможность на законных основаниях не платить по своим кредитам и займам. «Годы идут, долги растут...

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

14 самых популярных Node.js-библиотек в 2020 году Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «14 Most Useful NodeJS Libraries in 2020». В данной статье автор делится своими находками среди многочисленных пакетов Nodejs. Express Быстрый, гибкий, минималистичный, легкий в изучении фреймворк...

История нашего open source: как мы сделали сервис аналитики на Go и выложили его в открытый доступ В настоящее время практически каждая компания в мире собирает статистику о действиях пользователя на web ресурсе. Мотивация понятна — компании хотят знать как используется их продукт/веб сайт и лучше понимать своих пользователей. Конечно на рынке существует большое количеств...

[Перевод] Установка и правильная настройка Docker на Windows Subsystem Linux (WSL) Предварительные требования Прежде чем начать, убедитесь, что ваша система имеет примерно следующую конфигурацию: Windows 10 Version 1803 Build 1734 и выше Ubuntu for WSL 16.0.4 LTS или что-то в этом роде (ваша версия может немного отличаться) Важно, чтобы версия и сборка ...

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

Security Week 09: кто отвечает за безопасность Android? Сразу несколько новостей прошлой недели касались безопасности платформы Android. Наибольший интерес представляет исследование безопасности смартфона Samsung, проведенное командой Google Project Zero. В модели Samsung Galaxy A50 (возможно, и в других тоже, но это не проверяло...

Справочник security-архитектора: обзор подходов к реализации аутентификации и авторизации в микросервисных системах Контейнеризация, CI/CD, оркестрация, микросервисы и agile-процессы – это облако тегов, которое теперь находится в словаре security-инженеров. Микросервисная модель и сопутствующие технологии привели к многообразию подходов в реализации архитектуры безопасности современных ре...

[Из песочницы] Унификация визуальных компонентов. Часть 1. Стили Данная статья будет, прежде всего, полезна разработчикам, которые не работают с готовыми наборами компонентов, такими как, material-ui, а реализуют свои. Например, для продукта разработан дизайн, отражающий то, как должны выглядеть кнопочки, модальные окна и т.п. Чтобы гра...

"Википедия" установила очередной рекорд по количеству статей Когда Джимми Уэйлс основал Wikipedia, он сказал, что его цель состоит в том, чтобы обеспечить «свободный доступ к сумме всех человеческих знаний». Какова же эта сумма? В самой оцифрованной библиотеке есть мнение, что нам нужно порядка 104 миллионов статей, чтобы создать «бэк...

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

[Из песочницы] 3D своими руками. Часть 1: пиксели и линии Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть ...

Как настроить Битрикс 24 Для качественной и грамотной работе команды компании многие руководители используют уникальную программу от известного разработчика «1С Битрикс». С помощью услуг сервера Битрикс 24 можно с удобством управлять офисной работой, осуществлять контроль за работой всей компании и ...

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

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

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

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

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

Новые функции на платформе «IT-волонтер»: собираем обратную связь Команда «Теплицы» обновила платформу «IT-волонтёр». Дизайн стал более легким и современным, добавлены новые элементы и функции, а в интерфейсе акцент сделан на работу над задачей. Это значит, что сотрудники некоммерческих организаций смогут быстрее находить волонтеров, связ...

Хранилище для Веба Доброго времени суток, друзья. Представляю вашему вниманию перевод статьи «Storage for the Web» автора Pete LePage. Существует несколько технологий для хранения данных в браузере. Какая из них лучше? Интернет-соединение может быть плохим или вовсе отсутствовать в опреде...

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

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

Задачи по JavaScript от Microsoft Доброго времени суток, друзья! Представляю вашему вниманию три задания по JS, предложенные участникам Microsoft’s Online Assessment 2019. Microsoft’s Online Assessment — предварительный отбор кандидатов в разработчики. Тех, кто прошел предварительный отбор, приглашают на...

Как синхронизировать уведомления Android с Windows 10 Как синхронизировать уведомления Android с Windows 10? За что владельцы техники Apple любят свои устройства? За отличную экосистему. На Mac OS можно принимать звонки, отвечать на SMS с iPhone, однако даже эта интеграция не идеальна. Владельцы iOS всё еще не могут синхронизир...

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

Обзор пылесоса iRobot Roomba 676. Высокое качество по приемлемой цене Не так давно мы писали о флагманском роботе-пылесосе iRobot Roomba s9+. Всем он был хорош, вот только цена в 100 тысяч рублей многим могла показаться слишком завышенной. Сегодня мы зайдем с другой стороны и посмотрим на младшую модель от этого же производителя – Roomba 676. ...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

Как управлять iPhone или iPad только голосом Голосовое управление в iOS удобно настолько, что его не хочется отключать Apple дальше других продвинулась по части развития инклюзивных технологий. Благодаря этому фирменной техникой компании могут пользоваться люди с нарушениями зрения, с парализованными конечностями и сам...

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

Apple представила обновление Apple Maps в США. В Европе — в 2020 году Apple начала обновление Apple Maps в США ещё в 2018 году, но закончила его только сейчас Несмотря на то что несколько лет с момента своего запуска Apple Maps оставались не просто посредственным, а даже опасным сервисом, который запросто мог завести людей не туда, куда им был...

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

Тестируем ruGPT-3 на новых задачах Рекомендательные системы с нуля, чат-боты и многое другое Погрузившись в пучину текстовых данных, в октябре этого года мы обучили модели ruGPT-3 — модели для русского языка на основе архитектуры от OpenAI. Но на что же способны эти модели? В этой статье мы соберем первые при...

PostgreSQL Antipatterns: навигация по реестру Сегодня не будет никаких сложных кейсов и мудреных алгоритмов на SQL. Все будет очень просто, на уровне Капитана Очевидность — делаем просмотр реестра событий с сортировкой по времени. То есть вот лежит в базе табличка events, а у нее поле ts — ровно то самое время, по кото...

Sapphire представила видеокарты Radeon RX 5500 XT в версиях Pulse и Nitro+ Special Edition Компания Sapphire представила три версии видеокарты Radeon RX 5500 XT: две Pulse Radeon RX 5500 XT, оснащённые 4 и 8 Гбайт памяти, и более продвинутая Nitro+ Radeon RX 5500 XT Special Edition, оснащённая 8 Гбайт памяти. Видеокарты Pulse Radeon RX 5500 XT оснащены системо...

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

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

#видео | Ученые создали подробную 3D карту мозга плодовой мушки Плодовые мушки — частые участники самых разных научных исследований Яркая и красивая карта мозга крохотной плодовой мушки дает возможность увидеть 20 миллионов синапсов, которые связывают 25 миллионов нейронов. На 3D карте можно увидеть только четверть мозга плодовой м...

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

Как на любом Android включить автозаполнение паролей из Android 11 Автозаполнение паролей – штука чрезвычайно удобная. Несмотря на то что первоначально этот инструмент появился именно на iOS, Google довольно быстро смекнула, что Android тоже в нём нуждается, и реализовала его у себя. Правда, получилось у поискового гиганта далеко не так кр...

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

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

Apple выпустила приложение Apple Music для телевизоров Samsung. Как скачать Фирменные сервисы Apple никогда не отличались кросс-платформенностью. Вместо того, чтобы вывести свои службы на массовый рынок, в Купертино предпочитали ограничивать их присутствие только устройствами собственного производства. Первым исключением стал Apple Music для Androi...

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

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

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

Лучшие IT-комедии. Топ 3 сериала Здравствуй, Хабр! Я вернулся! Многие очень тепло приняли мою предыдущую статью про сериал «Mr.Robot». Огромное спасибо вам за это! Как я и обещал, подготовил продолжение цикла и надеюсь, новая статья придётся вам также по душе. Сегодня речь пойдёт о трёх, на мой взгляд, г...

[Перевод] О 30-кратном увеличении параллелизма в Node.js Каков наилучший способ беспроблемного увеличения параллелизма в Node.js-сервисе, который используется в продакшне? Это — вопрос, на который моей команде понадобилось ответить пару месяцев назад. У нас запущено 4000 контейнеров Node (или «воркеров»), обеспечивающих работу на...

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

[Из песочницы] 7 трюков с Rest и Spread операторами при работе c JS объектами Привет, Хабр! Представляю вашему вниманию перевод статьи «7 Tricks with Resting and Spreading JavaScript Objects» автора Joel Thoms. Всем привет, на днях коллега по работе скинул мне ссылку на статью на английском языке в которой перечисляются разные методы работы с rest и ...

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

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

Компания GoodsForecast заняла II место на международном конкурсе по прогнозированию M5 Компания GoodsForecast заняла второе место на крупнейшем международном конкурсе по прогнозированию М5 Forecasting Competition. Пятый по счету конкурс, в котором приняли участие более 5,5 тысяч команд, проходил на платформе для организации конкурсов по исследован...

Искусственный интеллект, машинное и глубокое обучение — в чём разница Сейчас много пишут и говорят об искусственном интеллекте (ИИ). Наряду с другими связанными понятиями — такими, как машинное обучение (machine learning) и глубокое обучение (deep learning). Многие люди склонны неправильно понимать термины, используемые в контексте...

iPad Air получил передовой чип Apple A14 Bionic Ну и конечно Apple представила совершенно новый iPad Air — самый мощный, яркий и универсальный. Он доступен в пяти цветах и оснащён увеличенным дисплеем Liquid Retina 10,9 дюйма на всю переднюю панель. А улучшенные камера и система динамиков, новый датчик Touch ID в верхней ...

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

Анимация схем в SCADA При создании HMI довольно часто встречается задача построить отображение сложной схемы связанных элементов. Это могут быть разветвленные трубопроводные схемы, электроснабжение и т.п. Можно, конечно, ограничиться только отображением ключевых элементов (задвижек, автоматическ...

Как с помощью хакатона столкнуть математиков и ML–щиков, и кто тогда победит Введение Эта статья о том, как мы совместно с роснефтёвой «дочкой» «Самаранефтехимпроект» и Казанским Федеральным Университетом в сентябре 2020 года провели «Хакатон трёх городов», на котором предложили студентам решить классическую задачу сейсмической корреляции отражающих ...

Продвинутое логирование Windows. Ищем mimikatz Всем привет. Сегодня рассмотрим пример, когда злоумышленнику удалось обойти Windows Defender, но не удалось — безопасника. Да, речь опять про mimikatz. Как, запуская mimikatz, обойти Windows Defender, можно почитать тут. А сегодня, как я и обещал, рассмотрим что-нибудь для ...

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

[Из песочницы] Что такое NFC и как он работает. Освежим основы? Здравствуйте, пользователи Хабра! Я представляю вашему вниманию перевод статьи «What is NFC and how does it work» под авторством Robert Triggs. Вроде, казалось бы, зачем автору оригинала писать на эту тему в 2019-м, а мне переводить на пороге 2020? Сегодня NFC обрело свою ре...

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

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

Galaxy S11: всё, что мы знаем о будущих флагманах Samsung, их ценах и дате выпуска Слухи уже давно витают вокруг Galaxy S11 — новой серии массовых флагманов Samsung. И это закономерно: в отличие от Galaxy Fold за $2000 или Galaxy Note 10 Plus за $1100, эти телефоны обещают быть дешевле и вдобавок получат более современную и мощную платформу. Попробуем собр...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Перевод] Распределенные блокировки с применением Redis Привет, Хабр! Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Вы...

Пишем telegram бота на языке R (часть 1): Создаём бота, и отправляем с его помощью сообщения в telegram Аудитория telegram ежедневно растёт с геометрической прогрессией, этому способствует удобство мессенджера, наличие каналов, чатов, и конечно возможность создавать ботов. Боты могут использоваться в совершенно разных целях, от автоматизации коммуникации с вашими клиентами до...

Vivaldi для Android: одна бета — хорошо, а вторая — лучше Всем привет! Разработка современного ПО напоминает снежный ком: добавил одну функцию — получил два запроса на её улучшение, реализовал эти запросы — получил уже четыре предложения по расширению возможностей браузера. Красота! Некогда чаю попить. Но сегодня давайте, всё-та...

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

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

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

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

iOS 13 объединяет все iPhone в один суперкомпьютер. Зачем это нужно Apple объединила все свои устройства в один суперкомпьютер и обучает таким образом Siri Несмотря на то что долгое время Apple считалась компанией одного человека, которым был Стив Джобс, на деле в создании продуктов, конечно, участвовал не только он, но и большое количество ...

OpenID Connect: авторизация внутренних приложений от самописных к стандарту Несколько месяцев назад я занимался реализацией OpenID Connect сервера для управления доступом сотен наших внутренних приложений. От собственных наработок, удобных на меньших масштабах, мы перешли к общепринятому стандарту. Доступ через центральный сервис значительно упрощае...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

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

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

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

Apple разрешила пакетную продажу приложений для Mac и iOS Сегодня ночью компания Apple выпустила первые тестовые сборки iOS 13.4, iPadOS 13.4, watchOS 6.2, tvOS 13.4 и macOS Catalina 10.15.4. Одним из самых интересных нововведений стала продвинутая схема продажи приложений. В будущем разработчики смогут продавать iOS и macOS версии...

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

Всё про налоги для IT-фрилансеров. ИП и самозанятые. Часть 1 Раньше у IT-фрилансеров было только два варианта работать легально: зарегистрировать ИП на УСН или на патенте. С этого года появилась ещё одна альтернатива — стать самозанятым. Пока новый режим действует только в 4 регионах, но в 2020 году его планируют ввести на всей терри...

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

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

Подборка VR-шлемов для промышленных задач Чаще всего люди покупают себе шлем виртуальной реальности (VR) для того, чтобы использовать его для развлечения. Ведь платформы Steam, Oculus Store и Windows всем знакомы по огромному количеству игр! Однако в настоящее время растет спрос на индустриальный VR, возможности кот...

Дизайн, продукт и рок-н-ролл Встречают, как водится, по одежке. И к твоему луку довольно много требований, особенно если ты — самое заметное HR-tech явление страны. Будучи сложным и нетривиальном сервисом, hh.ru бросает дизайнерам множество интересных вызовов, раздает массу уникальных и действительно сл...

[Из песочницы] Многопоточность на Node.js. Event Loop Инфа будет полезна JS-разработчикам, которые хотят глубоко понимать суть работы с Node.js и Event Loop. Вы сможете осознанно и более гибко управлять потоком выполнения программы (web-сервера). Эту статью я составил по материалам своего недавнего доклада для коллег. В конце с...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

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

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

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

Виртуальная АТС. Часть 3: Переводим Asterisk на PjSIP без лишних телодвижений В первой и второй частях цикла статей мы разобрались с установкой IP-АТС (IP-PBX) на работающий под управлением Ubuntu VPS от RuVDS и настройкой основных функций с использованием канального драйвера chan_sip. Этот подход считается устаревшим, и в будущих версиях Asterisk п...

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

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

[Перевод] Продвинутый уровень визуализации данных для Data Science на Python Как сделать крутые, полностью интерактивные графики с помощью одной строки Python Когнитивное искажение о невозвратных затратах (sunk cost fallacy) является одним из многих вредных когнитивных предубеждений, жертвой которых становятся люди. Это относится к нашей тенденции...

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

5 функций приложения «Сообщения» на iOS, которые делают его удобнее Приложение «Сообщения» на iOS стало похожим на настоящий мессенджер iOS 13 при всех её недостатках можно смело назвать одной из самых значимых версий операционной системы с точки зрения развития. Apple проделала большую работу и не только учла пожелания пользовател...

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее запи...

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

[Перевод] Нововведения JavaScript ES2020 с простыми примерами Представляем вам перевод статьи из блога Carlos Caballero на сайте Medium.com. Ранее мы публиковали материал этого автора о функциях ES10, появившихся в 2019 году. Читать дальше →

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

[Перевод] Zero Downtime Deployment и базы данных В этой статье подробно объясняется, как решать проблемы, связанные с совместимостью баз данных при деплое. Мы расскажем, что может произойти с вашими приложениями на проде, если вы попытаетесь выполнить деплой без предварительной подготовки. Затем мы пройдемся по этапам жиз...

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

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

[Перевод] Устанавливаем рабочий стол Linux на Android Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC. В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах. Одной из ключевых технологий, которую применяют многи...

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

Проектируем мультипарадигменный язык программирования. Часть 5 — Особенности логического программирования Продолжаем рассказ о создании мульти-парадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источни...

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

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

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

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

Москвичи могут получить доступ к своей электронной медицинской карте Жители столицы увидят результаты лабораторных и радиологических исследований с 2019 года и других инструментальных исследований (такие, как эндоскопия и ЭКГ) с 2020 года, а также протоколы осмотров врачей в поликлинике с 2017 года, которые включают информацию о жалобах пацие...

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

Безопасность REST API от А до ПИ Введение Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответстви...

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

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

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

Книга «Совершенный софт» Привет, Хаброжители! «Совершенный софт» — это проверенный, структурированный и высокотехнологичный подход к разработке программного обеспечения. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались. Методология Лёве объеди...

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

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

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

В России запущен первый проект в области квантовой химии Компания Nissan и Проект по квантовому машинному обучению Российского квантового центра (РКЦ) объявили о запуске совместного научно-технологического проекта. Проект относится к области применения квантовых вычислений для моделирования химических соединений. Партнеры рас...

LM Soft стала официальным партнером «Програмсоюза» LM Soft получила статус авторизованного реселлера компании «Програмсоюз». Данный статус оформляет совместную деятельность компаний по развитию отечественных технологий управления жизненным циклом сложных технических изделий и систем.

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

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

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

Netflix предлагает бесплатный контент без регистрации Сервис Netflix сделал часть своего оригинального контента бесплатным для просмотра. Бесплатный контент включает в себя несколько фильмов и сериалов, которые можно смотреть полностью без регистрации. Пользователи могут посмотреть первые сезоны сериалов: "Очень странные дела",...

[Перевод] Что нового в C# 9.0 В преддверии старта нового потока курса «C#-разработчик» представляем вашему вниманию обзор нововведений. Среди них — новый метод доступа к свойству — init, не позволяющий изменять свойства после инициализации, with-выражения для изменения свойств объекта прямо здесь и сейча...

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

Цифровой трансформации обучат 50 руководителей Образовательная программа "Руководитель цифровой трансформации" начнется в РАНХиГС в середине марта текущего года, сообщил ComNews представитель Центра подготовки руководителей цифровой трансформации на базе РАНХиГС. Окончание и аттестация намечены на конец ноября 2020 г. П...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

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

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

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

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

Искусственный интеллект Fujitsu справляется с управлением Токийским портом лучше людей Будущее интеллектуальных систем не в мобильных гаджетах, а в реорганизации сложных и масштабных процессов в экономике. В числе первых нужно решить задачи логистики – по данным японских властей ежегодно в чрезвычайно загруженном Токийском заливе возникает 280 аварийных ситуац...

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

[Перевод] Go и кэши CPU Источник: unsplash.com По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике». Мартин Томпсон (создатель LMAX Disruptor) применил ...

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

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

YouTrack теперь с просмотром пул-реквестов в задачах Привет, Хабр! С вами команда YouTrack из JetBrains. У нас отличные новости — начиная с YouTrack 2020.3 в задачах отображаются не только коммиты, связанные с задачами, но и пул-реквесты. В сегодняшнем посте мы расскажем, что это, зачем это, и как это поможет сделать процесс...

GitHub: шаблон Zabbix для мониторинга задач сбора данных в MaxPatrol SIEM Сегодня SIEM – это главный помощник при анализе событий ИБ: трудно представить, сколько бы потребовалось времени, чтобы вручную просматривать логи с множества источников. При этом прекращение сбора данных с источника – достаточно распространенная проблема SIEM. И далеко не...

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

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

Побеждая C двадцатью строками Haskell: пишем свой wc Привет, Хабр. На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам: автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно ме...

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

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

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

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

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

[recovery mode] CRUD операции с Entities в DialogFlow (C#) Вступление Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помог...

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

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