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

Gotta go fast. Оптимизация запросов содержимого письма по IMAP Всем привет! В прошлой статье я рассказал как можно быстро синхронизировать содержимое ящика в локальном кеше. Здесь же я хочу рассказать об особенностях запроса содержимого писем и как лучше запрашивать контент, не боясь за большой расход трафика. Читать дальше →

Рецепты для хворающих SQL-запросов Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL. За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подска...

Массовая оптимизация запросов PostgreSQL. Кирилл Боровиков (Тензор) В докладе представлены некоторые подходы, которые позволяют следить за производительностью SQL-запросов, когда их миллионы в сутки, а контролируемых серверов PostgreSQL — сотни. Какие технические решения позволяют нам эффективно обрабатывать такой объем информации, и как эт...

[Перевод] Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, ...

PostgreSQL Antipatterns: ударим словарем по тяжелому JOIN Продолжаем серию статей, посвященных исследованию малоизвестных способов улучшения производительности «вроде бы простых» запросов на PostgreSQL: редкая запись долетит до середины JOIN сизифов JOIN массивов вредные JOIN и OR CTE JOIN CTE Не подумайте, что я так сильно не л...

Apache Spark, lazy evaluation и многостраничные SQL запросы Известное об известном: spark работает с “датафреймами” (dataframes), которые являются алгоритмами трансформации. Алгоритм запускается в самый последний момент для того, чтобы "дать больше места" оптимизации и за счет оптимизации максимально эффективно его выполнить. Под кат...

Простые запросы SNMP в Python (с помощью pysnmp) Этот пост предназначен в первую очередь для сотрудников телекома, админов и новичков в разработке, впервые столкнувшихся с необходимостью отправить snmp-запросы к какому-нибудь коммутатору и разобрать полученный ответ. Разберем основы работы с библиотекой pysnmp на примере ...

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

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы Привет, Хабр! В этой статье поделюсь полезным подходом мониторинга в Zabbix — через обнаружение элементов данных в ответе на SQL-запрос. Этот тип мониторинга обычно используется в бизнес-мониторинге, когда собираются показатели производительности бизнес-процесса: количеств...

Создание в SoapUI асинхронного REST MockService с запуском в Portainer Задача: Разработать мок для проверки асинхронного обмена сообщениями с внешней системой.Как пример, рассмотрим некий кейс проверки валидности промокода внешней системой. По шагам:1) Отправляем запрос в сервис внешней системы;Запрос PUT содержит поля (например, в headers...

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

Обзор основных функций Google BigQuery и примеры запросов для маркетинг-анализа Google BigQuery – это быстрое, экономичное и масштабируемое хранилище для работы с Big Data, которое вы можете использовать, если у вас нет возможности или желания содержать собственные серверы. В нем можно писать запросы с помощью SQL-like синтаксиса, стандартных и пользова...

Google Chrome сделает запросы на получение уведомлений менее раздражающими В последней версии браузера Mozilla Firefox разработчики кардинально изменили подход к отображению запросов на получение уведомлений от разных сайтов, посещаемых пользователями в сети Интернет.

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

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

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

SQL Server Plan Guide и другие не самые лучшие практики Обычно посты об оптимизации запросов рассказывают о том, как делать правильные вещи, чтобы помочь оптимизатору запросов выбрать оптимальный план выполнения: использовать SARGable-выражения в WHERE, доставать только те столбцы, которые нужны, использовать правильнопостроенные...

Cross-Origin Read Blocking (CORB) в расширениях для Chrome Если вы когда-то разработали расширение для Chrome, то может оказаться, что оно перестало работать. Причина в том, что начиная аж с прошлого года, в браузере Chrome блокируются Cross-Origin запросы из content-скриптов. Это означает, что если ваше расширение обращается к не...

[Перевод] Контейнерные запросы в CSS Как фронтенд-дизайнер я за последние 6 лет не был так взволнован новой CSS-функцией, как сейчас. Благодаря усилиям Мириам Сюзанны и других умных людей прототип контейнерных запросов можно включить в Chrome CanaryО контейнерных запросах запомнилось много шуток, но они, наконе...

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

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

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

[Перевод] Не стоит пользоваться OFFSET и LIMIT в запросах с разбиением на страницы Прошли те дни, когда не надо было беспокоиться об оптимизации производительности баз данных. Время не стоит на месте. Каждый новый бизнесмен из сферы высоких технологий хочет создать очередной Facebook, стремясь при этом собирать все данные, до которых может дотянуться. Эти ...

Подключение к session в Java и Python. HttpURLConnection и CookieManager (Java). Requests(Python) Допустим, что нам надо подключиться к серверу, авторизоваться и поддерживать сессию. В браузере это выглядит следующим образом: На адрес http://localhost:8080/login отправляется пустой GET запрос. Сервер присылает формочку для заполнения логина и пароля, а также присылает ...

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

PostgreSQL Antipatterns: CTE x CTE По роду деятельности приходится сталкиваться с ситуациями, когда разработчик пишет запрос и думает "база умная, сама со всем справится!" В некоторых случаях (частично от незнания возможностей БД, частично от преждевременных оптимизаций) такой подход приводит к появлению «фр...

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

Об одной уязвимости в… Год назад, 21 марта 2019, в баг баунти программу Mail.Ru на HackerOne пришел очень хороший багрепорт от maxarr. При внедрении нулевого байта (ASCII 0) в POST-параметр одного из API-запросов веб-почты, который возвращал HTTP-редирект, в данных редиректа виднелись куски неин...

[Перевод] В bash безобидная с виду конструкция [[ $var -eq 42 ]] умеет выполнять и произвольный код Знали ли вы о том, что следующий bash-скрипт способен выполнять произвольный код, который предоставит ему пользователь в ответ на запрос скрипта о вводе данных? Читать дальше →

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

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

Google рассказал о топ-запросах 2019 года в Украине Проанализировав миллионы поисковых запросов, компания Google в конце года традиционно объявила какие из них стали наиболее быстрорастущими, что чаще всего искали украинцы и какие вопросы задавали Google в 2019 году. Самым популярным поисковым запросом 2019 года в Google Укра...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Google Dorking или используем Гугл на максимум Вступление Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить...

Код на React и TypeScript, который работает быстро. Доклад Яндекса Евангелисты Svelte и других библиотек любят показывать примеры тормозящих компонентов на React. React и TypeScript дают много возможностей создавать медленный код. После доклада Виктора victor-homyakov вы сможете писать более производительные компоненты без усложнения кода. ...

Куда делось место на сервере Confluence? Или статистика по Confluence вложениям У вас бывало такое на сервере Confluence закончилось место, а вы не знаете кто больше всего загружает вложений? Чтобы узнать это необходим доступ к в бд confluence. С помощью SQL запросом можно узнать полезную статистику по Confluence. Читать дальше →

Как научиться разработке на Python: новый видеокурс Яндекса Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Я...

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

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

[Перевод] Что JavaScript-разработчику следует знать о Curl Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «What JavaScript Developers Should Know About Curl» автора Valery Karpov. Curl — это популярный инструмент командной строки, часто используемый для отправки HTTP-запросов. Curl поддерживает большое...

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

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

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

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

Google представляет топ-запросы 2019 года в Украине Традиционно в конце года мы представляем итоговый рейтинг самых популярных запросов украинских пользователей Google.

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

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

Автор законопроекта о значимых сайтах пригрозил Mail.ru Group и Rambler прокуратурой за игнорирование его запросов Как сообщил депутат Госдумы Антон Горелкин, в октябре он направил в адрес ряда компаний запросы об использовании иностранного оборудования, но так и не получил ответа от Rambler и Mail.ru Group.

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

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

Пишем в PostgreSQL на субсветовой: 1 host, 1 day, 1TB Недавно я рассказал, как с помощью типовых рецептов увеличить производительность SQL-запросов «на чтение» из PostgreSQL-базы. Сегодня же речь пойдет о том, как можно сделать более эффективной запись в БД без использования каких-либо «крутилок» в конфиге — просто правильно ор...

Белые методы в SEO, которые работают в 2020 На нашем рынке основные поисковые системы — Яндекс и Google. Мы должны оптимизировать наш сайт так, чтобы именно он находился по интересующим нас запросам на первых местах. Это и называют находиться в топе в поисковиках. ...

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

PostgreSQL Antipatterns: статистика всему голова Для выбора наиболее эффективного плана выполнения запроса PostgreSQL пользуется накопленной статистикой о распределении значений данных в целевых таблицах. Она обновляется с помощью явного запуска команд ANALYZE и VACUUM ANALYZE или в фоновом режиме процессом autovacuum/auto...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

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

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

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

Биткоин-биржа Kraken сообщила о росте запросов со стороны властей на 49% Американская криптовалютная биржа Kraken поделилась информацией о запросах информации со стороны правоохранителей и властей разных стран. It’s that time again. Here’s a snapshot of our Compliance team’s 2019 Transparency Report. Team America still ahead wit...

Строим Telegram-бот в Яндекс.Облаке Сегодня из подручных материалов мы соберём в Яндекс.Облаке Telegram-бот с использованием Yandex Cloud Functions (или Яндекс-функции — для краткости) и Yandex Object Storage (или Объектное хранилище — для ясности). Код будет на Node.js. Однако, имеется одно пикантное обстоя...

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

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

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

Google раскрыл самые популярные запросы россиян в 2019 году Google рассказал о самых популярных поисковых запросах российских пользователей за 2019 год. Интересы россиян можно разделить на три категории: «События года», «Люди года» и «Сериалы года». Из числа событий, которыми заинтересовались россияне, можно отметить…

Миграция из Oracle в Postgres Зачем переносить данные Тема переноса (миграции) данных из Oracle в Postgres набирает обороты. В РФ количество запросов по переходу на Postgres на волне импортозамещения, сейчас больше, чем когда либо. Oracle — очень качественный, мощный и отлично документированный инструме...

Как настроить SEO для Вашего бизнеса Каждый день в Яндексе и Гугле люди запрашивают более 100 миллиардов запросов по всему миру. Каждый поисковой запрос заставляет поисковую систему искать на него ответ. Для чего нужна оптимизация сайта Чтобы довести Ваш сайт до такого состояния, которое будет соответствовать ...

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

Кривая Эббингауза: как хакнуть свою память и запоминать до 95% информации Уже через час вы забудете до 60% любой полученной только что информации. А через неделю в памяти останется не более 10%. Как ни прискорбно, но это правда. Человеческая память подчиняется определенным паттернам, которые в конце XIX века вывел ученый Эббингауз. А если знать м...

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

[Перевод] Виральный сайт изнутри: 5 миллионов просмотров на Ever Given Как уже знают все читающие эту статью, контейнеровоз Ever Given сел на мель в Суэцком канале на шесть с лишним дней. Он заблокировал маршрут, по которому обычно приходило примерно 10% товаров мировой торговли. Но что более важно (по крайней мере, для этого поста), он также ...

«Подход как к консультантам в магазине»: iOS-разработчик раскритиковал ИТ-рекрутинг в России на своём опыте Автор удивился тестовым заданиям, запросам рекрутеров и сложностям при обсуждении денег, и получил как поддержку, так и непонимание в соцсетях.

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

Кратко о том, как научить МФУ Brother сканировать в Windows Server Эта даже не статья, а заметка о том, как в среде Microsoft Windows Server использовать сетевые функции сканера МФУ Brother. Речь пойдет о полноценной установке драйвера устройства. Будет рассмотрен пример с Brother MFC-L2700DRN. Официально функция сканирования поддерживает...

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

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

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

Django ORM | Оптимизируем запросы Django ORM (Object Relational Mapping) является одной из самых мощных особенностей Django. Это позволяет нам взаимодействовать с базой данных, используя код Python, а не SQL. Для демонстрации опишу такую модель: from django.db import models class Blog(models.Model): ...

PostgreSQL Antipatterns: сизифов JOIN массивов Иногда возникает задача «склеить» внутри SQL-запроса из переданных в качестве параметров линейных массивов целостную выборку с теми же данными «по столбцам». Читать дальше →

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

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

[Перевод] Инструмент для отслеживания DNS-запросов: dnspeep Недавно я создала небольшой инструмент под названием dnspeep, который позволяет понять, какие DNS-запросы отправляет ваш компьютер и какие ответы он получает. Всего мой код занял 250 строк на Rust. В этой статье я расскажу о коде, объясню, для чего он нужен, почему в нём воз...

Google теперь берёт плату с правоохранительных органов за запросы о предоставлении данных пользователей Компания Google начала брать плату с правоохранительных органов за предоставление пользовательских данных. Её размер варьируется от 45 до 245 долларов в зависимости от типа запрошенных данных. Такое решение было принято, чтобы компенсировать расходы на обработку запросов о д...

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

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

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

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

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

OLX опубликовал рейтинг поисковых запросов украинцев за 2019 год, самые популярные запросы — квартира и велосипед, самый популярный гаджет — iPhone 7 [инфографика] Онлайн-сервис OLX опубликовал рейтинг самых популярных поисковых запросов украинцев за 2019 год. Наибольшее количество поисковых запросов в прошлом году пришлось на такие позиции, как: квартира — более 8,1 млн запросов, велосипед — 5,8 млн, диван — 4,88 млн, кроссовки — боле...

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

Google внедряет BERT в поиск на русском языке Google объявил, что самое крупное обновление алгоритмов работы поиска за последние 5 лет – BERT Update – в этом месяце будет внедрено в поиск на русском языке. BERT – это технология предварительного обучения обработке текста на естественном языке. Она анализирует не отдельны...

Dell PowerEdge R740xd – универсальный сервер. Характеристики говорят ЗА! Dell EMC R740xd - это удачное и хорошо зарекомендовавшее себя наследие популярных серверов, продолжающих мощную линейку серверов Dell в корпусе 2U, который прикрыт стильной рамкой. За ней находится настраиваемая система, которая готова выполнить даже самые требовательные за...

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

Microsoft считает, что у VR нет перспектив. История повторится? «Мы откликаемся на запросы наших пользователей, и... знаете что? Никто не спрашивает про VR», — заявил в недавнем интервью геймерскому порталу Stevivor Фил Спенсер (Phil Spencer), глава бренда Xbox и всего игрового направления в Microsoft. Не далее как ...

Геочаты, вредные боты и стеганография: пополняем знания о Telegram Что ты знаешь о геочатах в Telegram? А сможешь различить стеганографию в VideoNote (в народе — кругляши)? Разбираем то самое задание NeoQUEST-2020, которое вызвало больше всего вопросов и восклицаний на наш support! Спойлер: да-да, и здесь тоже будет немного крипты :) Читат...

[Перевод] Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB Clickhouse — это столбцовая система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших об...

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

[Из песочницы] Создание отказоустойчивой ИТ инфраструктуры. Часть 1 — подготовка к развёртыванию кластера oVirt 4.3 Вниманию читателей предлагается ознакомиться с принципами построения отказоустойчивой инфраструктуры небольшого предприятия в рамках одного ЦОДа, которые будут детально рассмотрены в небольшом цикле статей. Читать дальше →

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

Оптимизация сервера Minecraft В нашем блоге мы уже рассказывали, как создать свой сервер Minecraft, однако с тех пор прошло 5 лет и многое поменялось. Делимся с вами актуальными способами создания и оптимизации серверной части столь популярной игры. За свою 9-летнюю историю (если считать от даты релиза...

Расчет перцентилей для мониторинга высоконагруженных систем Привет, меня зовут Игорь, и я разработчик решений на Tarantool в Mail.ru Group. Я работаю над витринами маркетинга в реальном времени для Мегафона. При мониторинге часто требуется использовать перцентили. Они позволяют понять, как система работает бóльшую часть времени, в о...

Практика использования Spark SQL или как не наступить на грабли Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Sp...

Google традиционно украсил выдачу по зимним праздникам На днях Google традиционно украсил выдачу по запросам, связанным с зимними праздниками – христианским Рождеством, еврейской Ханукой и африканской Кванзой. Новый год, активно отмечаемый в ряде стран, не получил специального оформления. Результаты поиска по запросам [Christmas...

Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics. Читать дальше →

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

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

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

Кастомизация компонентов Ant Design и оптимизация бандла The Archivist by juliedillon Я Иван Копенков, ведущий фронтенд-разработчик в Mail.ru Cloud Solutions, в статье расскажу, какие есть подходы к кастомизации компонентов UI-библиотеки Ant Design, как это сделали мы, а так же покажу, как удалось полностью избавиться от неисполь...

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

Знание и состояние Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние. Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительно...

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

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

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

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

Яндекс.Карты API, я устал. Я ухожу О последней и других каплях в чаше решения о прекращении использования Яндекс.Карты API. Что случилось? С 1 ноября Яндекс.Карты уменьшили лимиты на бесплатное использование HTTP API Геокодера с 25 000 до 1 000 запросов в сутки. Но не всех об этом уведомили. Читать дальше &...

Алгоритм BERT внедрён в российскую версию Google Поиска Google объявила о начале использования поискового алгоритма BERT для запросов на русском языке. Компания называет его крупнейшим прорывом за последние пять лет и одним из самых грандиозных успехов за всю историю Google Поиска. Технология предварительного обучения обработке ...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

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

Как VDI трансформирует офисную среду Какие проблемы бизнеса помогает решить инфраструктура виртуальных рабочих столов (VDI)? Как компания Parallels сделала эту технологию доступной для небольших организаций и почему не боится конкуренции с Citrix. Читать дальше →

Security Week 51: уязвимости в iOS и процессорах Intel 10 декабря компания Apple выпустила большой набор патчей для macOS, iOS (включая iPadOS) и watchOS. Пожалуй, наиболее опасным из закрытых багов была уязвимость в FaceTime, затрагивающая все мобильные устройства Apple начиная с iPhone 6s и iPad Air 2. Как и в случае с обнаруж...

[Из песочницы] VMware vSAN 6.7 — И грянул гром Заканчивался 2018-й год… Однажды, ясным декабрьским днём, решила наша Компания приобрести новое «железо». Нет, конечно, это не случилось в одночасье. Решение было принято раньше. Намного раньше. Но, как водится, не всегда наши желания совпадают с возможностями акционеров. ...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

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

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

Искусственному интеллекту не хватает специалистов На площадке ICT.Moscow изучили четыре наиболее показательных исследования о применении ИИ в российском бизнесе от KPMG, ВЦИОМ, IDC & ABBYY и РАЭК. Основные выводы: бизнес, особенно крупный, все лучше понимает технологию ИИ, ее возможности и пользу от внедрения, но запрос...

[Из песочницы] stm32. Смотрим в корень Вместо вступления Статья содержит пример ручной оптимизации критического участка прикладной программы применительно к бюджетным микроконтроллерам stm32, повышающий производительность в 5 и более раз по сравнению с библиотечной функцией. Читать дальше →

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

PostgreSQL Antipatterns: вычисление условий в SQL SQL — это не C++, и не JavaScript. Поэтому вычисление логических выражений происходит иначе, и вот это — совсем не одно и то же: WHERE fncondX() AND fncondY()= fncondX() && fncondY() В процессе оптимизации плана исполнения запроса PostgreSQL может произвольным образо...

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

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

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

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

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

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

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

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

Аналитика ИИ в российском бизнесе На площадке ICT.Moscow изучили четыре наиболее показательных исследования о применении ИИ в российском бизнесе от KPMG, ВЦИОМ, IDC & ABBYY и РАЭК. Основные выводы: бизнес, особенно крупный, все лучше понимает технологию ИИ, ее возможности и пользу от внедрения, но запрос...

«СЛАВА ЖПСС!» или вспоминаем про GPSS World Почти семь лет назад я набросал на «Хабре» статью про GPSS-World. И к моему удивлению, время от времени я получаю различные вопросы, связанные с ней. Как же так на дворе уже 2020 год, GPSS World безнадежно устарела, неужели ей кто-то до сих пор пользуется?! Оказывается, п...

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

[Перевод] Что я узнал после более чем 1000 code review За последние 3 года я рассмотрел более 1000 pull (merge) request’ов. За это время я многому научился — в основном тому, как не проверять код, как сделать процесс менее болезненным, что делает код хорошего качества и так далее. Pull request должен делать только одну вещь Это...

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

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

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

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

[Перевод] Node.js, Tor, Puppeteer и Cheerio: анонимный веб-скрапинг Веб-скрапинг — это метод сбора данных с веб-сайтов. Этот термин обычно используется в применении к автоматизированному сбору данных. Сегодня мы поговорим о том, как собирать данные с сайтов анонимно. Причина, по которой некто может захотеть анонимности в деле веб-скрапинга, ...

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

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

[Перевод] DNS-поиск в Kubernetes Прим. перев.: Проблема DNS в Kubernetes, а точнее — настройки параметра ndots, — на удивление популярна, причём уже не первый год. В очередной заметке по этой теме её автор — DevOps-инженер из крупной брокерской компании в Индии — в весьма простой и лаконичной манере рассказ...

Как общаться с Siri на iPhone и iPad текстом (без голосовых команд) Разработчики Apple традиционно уделяют высокое внимание удобству людей с ограниченными возможностями. К примеру, начиная с iOS 11 шорткаты из Универсального доступа теперь можно добавлять в Пункт управления, а сделать запрос для Siri возможно и с клавиатуры. Новая функция на...

[Перевод] Интервью с Мэттью «Oki» О’Коннором об атеросклерозе и его лечении Атеросклероз является основной причиной смерти во всем мире и в настоящее время не имеет эффективного лечения. Современная медицина имеет три основных подхода к этому заболеванию: изменения образа жизни, такие как диета и физические упражнения; лекарства, которые снижают н...

[Из песочницы] Как работают реляционные базы данных (Часть 1) Привет, Хабр! Представляю вашему вниманию перевод статьи "How does a relational database work". Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшог...

[Перевод] Разработка REST API — что такое Contract First? В этой статье мы рассмотрим подход к разработке REST API на основе контракта. При разработке хорошего API REST важно иметь отличные микросервисы. Подход Contract First поможет вам разработать хороший контракт до его реализации. Однако это не так просто! Читать дальше →

Разведка с geo2ip и reverse-whois Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.Этот ме...

Audeze LCD-1: складные и легкие планарно-магнитные наушники Сегодня у нас в тестовой лаборатории самая новая и самая доступная по цене модель Audeze — LCD-1. Она же самая легкая среди всех и единственная складная. Производитель откликнулся на запросы пользователей сделать планарно-магнитные наушники для как можно более универсального...

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

Telegram намерен за 5-7 недель собрать запрошенную SEC информацию о TON Представители Telegram заявили, что им потребуется от пяти до семи недель, чтобы собрать информацию о токенсейле TON, запрошенную Комиссией по ценным бумагам и биржам США (SEC). По информации Inner City Press, ссылающуюся на юридическую фирму Skadden, запрос SEC охватывает 7...

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

Хочу middleware, но не хочу ExpressJS Middleware в случае с HTTP-сервером в Node.JS — это промежуточный код, который выполняется до того, как начнёт выполняться ваш основной код. Это, чаще всего, нужно для того, чтобы сделать какой-то дополнительный тюнинг или проверку входящего запроса. Например, чтобы преврати...

Когда пасует VACUUM — чистим таблицу вручную VACUUM может «зачистить» из таблицы в PostgreSQL только то, что никто не может увидеть — то есть нет ни одного активного запроса, стартовавшего раньше, чем эти записи были изменены. А если такой неприятный тип (продолжительная OLAP-нагрузка на OLTP-базе) все же есть? Как по...

3. Анализ зловредов с помощью форензики Check Point. SandBlast Mobile Добро пожаловать в третью статью нашего цикла по форезнике от Check Point. На этот раз мы рассмотрим SandBlast Mobile. Мобильные устройства уже давно стали частью нашей жизни. В смартфонах наша работа, наш досуг, развлечения, личные данные. Про это знают и злоумышленники. ...

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

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

Власти Швейцарии высказались в пользу выпуска оптовой CBDC Правительство Швейцарии не обнаружило преимуществ от выпуска розничной цифровой валюты центрального банка (CBDC), но признало определенную выгоду от ее оптового варианта. Федеральный совет страны по запросу нижней палаты парламента страны изучил преимущества и риски выпуска ...

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

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

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

Маленькие тонкости java.lang.String Приветствую, перебирая накопленный материал по java.lang.String решил сделать небольшую подборку примеров из эффективного (и не очень) использования. Читать дальше →

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

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

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

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

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

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

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

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

[Из песочницы] 5NO — NodeJS ORM for Postgres Кратко об этом модуле Этот модуль разработан мной для упрощения взаимодействия между Postgres и JS. Я понимаю что есть много подобных модулей, но хотелось сделать что то гибкое и простое в обращение средство для разных нужд. Модуль объединяет в себе три важные функции: вал...

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

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

[Перевод] Самый полезный модуль стандартной библиотеки Python, о котором все постоянно забывают В Python много отличных доступных «из коробки» модулей. Один из самых полезных — collections. Он содержит «специализированные типы для создания контейнеров», являющихся альтернативами универсальным dict, list, set и tuple. Ниже мы рассмотрим три содержащихся в модуле класса...

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

Грабли на пути к keep-alive Увеличение активности обмена данными между микросервисами зачастую является проблемой в архитектуре современных IT решений. Выжать максимум и выжить любой ценой — серьёзный вызов для любой разработки. Поэтому поиск оптимальных решений — это не прекращающийся процесс. В стать...

Исследуем бинарные форматы на примере байткода .class файла Если вас не пугает картинка выше, если вы знаете чем отличается big-endian от little-endian, если вам всегда было интересно как "устроены" бинарные файлы, значит эта статья для ВАС! Читать дальше →

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

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

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

Как в Солнечной галактике Clickhouse выбирали Давным-давно, в далёкой-далёкой Солнечной галактике, ещё до того, как она стала частью вселенной Ростелеком, в небольшом продукте webProxy возникла потребность не только фильтровать сетевой трафик, но и строить по нему статистику с последующим ее хранением. На тот момент кол...

[recovery mode] Базовые возможности LXD — системы контейнеров в Linux LXD — это системный менеджер контейнеров следующего поколения, так гласит источник. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux. Ядро LXD — это привилегированный демон (сервис запущенный с правами ro...

Гайд по реверсу клиент-серверного apk на примере задания NeoQUEST-2020 Сегодня у нас насыщенная программа (еще бы, столько областей кибербезопасности за раз!): рассмотрим декомпиляцию Android-приложения, перехватим трафик для получения URL-адресов, пересоберем apk без исходного кода, поработаем криптоаналитиками и многое другое:) Читать дальш...

Softline создала RPA-решение для обработки заявок в CRM-системе Компания Softline создала RPA-решение, позволяющее автоматизировать процесс первичной обработки заявок в CRM-системе. Робот анализирует запросы на приобретение программного обеспечения, определяет продукт и его количество, выявляет специальные условия, составляет спец...

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

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

(Не)очередной MQTT телеграм бот для IoT Всем привет! Сегодня хочу поделиться опытом разработки универсального телеграм бота для получения информации и управления IoT устройствами посредством протокола MQTT. Почему (не)очередной? Потому что это не просто бот с двумя захардкоженными кнопками для управление лампочк...

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

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

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

[Из песочницы] HTTP Error 503. Service Unavailable: случай в поддержке хостинга Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приве...

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

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

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

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

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

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

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

[Перевод] Бандлинг JavaScript-кода и производительность: передовые методики Сейчас, на рубеже десятилетий, самое время критически переоценить то, что считалось правильным в недалёком прошлом, и выяснить, не потеряло ли оно актуальности в наши дни. Иногда вчерашние передовые методики разработки становятся сегодняшними антипаттернами. Автор статьи,...

[Из песочницы] Как без боли, без капчи и бесплатно привести выписки из ФГИС ЕГРН к человекочитаемому(*) виду Моя зона ответственности — абонентский отдел РСО, полторы сотни тысяч лицевых счетов в трёх районах области. Для бэкграунда расскажу, как я получаю выписки. Начинал работать с Росреестром, что называется, в лоб: открыл Запрос посредством доступа к ФГИС ЕГРН, ввёл ключ, запол...

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

Кто получит главные кинопремии «Оскар 2020» по мнению украинских пользователей Google Как вы помните, уже в ближайшее воскресенье состоится церемония вручения наград премии “Оскар” за заслуги в области кинематографа за 2019 год. Традиционно накануне этого важного события в мире кино компания Google проанализировала запросы украинских пользователей за последни...

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

[Перевод] Связь между C# и C#: REST, gRPC и все, что между Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняш...

Huawei предлагает новый протокол для модернизации Интернета Суть предложения Китая - позволить локальным группам обмениваться данными без запроса IP-адреса у глобальной «диспетчерской». Подробнее об этом читайте на THG.ru.

Vue для самых маленьких a.k.a небольшой блог по всем канонам Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером. Читать дальше →

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

Туториал по Uplift моделированию. Часть 2 В первой части мы познакомились с uplift моделированием и узнали, что метод позволяет выбирать оптимальную стратегию коммуникации с клиентом, а также разобрали особенности сбора данных для обучения модели и несколько базовых алгоритмов. Однако эти подходы не позволяли опти...

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

Телепортация тонн данных в PostgreSQL Сегодня я поделюсь некоторыми полезными архитектурными решениями, которые возникли в процессе развития нашего инструмента массового анализа производительности серверов PostgeSQL, и которые помогают нам сейчас «умещать» полноценный мониторинг и анализ более тысячи хостов в то...

Поднимаем свой инстанс Webogram с проксированием через nginx Привет, Хабр! Недавно я попал в ситуацию, в которой необходимо было работать внутри корпоративной сети с неполным доступом к интернету и как вы можете догадаться по заголовку — Telegram в ней был заблокирован. Уверен, что данная ситуация знакома многим. Я вполне могу обход...

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

ClickHouse – визуально быстрый и наглядный анализ данных в Tabix. Игорь Стрыхарь Предлагаю ознакомиться с расшифровкой доклада 2017 года Игорь Стрыхарь «ClickHouse – визуально быстрый и наглядный анализ данных в Tabix». Веб-интерфейс для ClickHouse в проекте Tabix. Основные возможности: Работает с ClickHouse напрямую из браузера, без необходимости устан...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Из песочницы] OSCP — мой опыт Что это за четыре буквы и кому это вообще надо? Я не буду описывать курс PWK и OSCP экзамен, простой запрос «OSCP review» выдаст вам кучу обзоров, описание формата, рекомендации и структуру курса. Просто поделюсь своим собственным опытом, как я сделал это и какие решения при...

Дайте все №15: новые возможности для НКО и активистов Подборка образовательных и других возможностей от редакции Теплицы. «Как создать онлайн-курс» Теплица социальных технологий приглашает сотрудников некоммерческих организаций пройти короткий интенсивный курс и понять, как переместить обучение в онлайн, создать свой кур...

Гайд для фрилансеров: самые частые вопросы по работе ИП В ноябре мы задумали собрать большой пост с ответами на вопросы о том, как жить, если ты индивидуальный предприниматель (ИП). Мы попросили пользователей Хабра набросать нам вопросы из серии «хотели знать, но боялись спросить». Получился отличный список. Ответить на вопросы ...

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

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

Первые шаги с Fiddler Classic Привет! После знакомства с Charles Proxy большинство из читателей захотело узнать больше про инструменты мониторинга и анализа HTTP/HTTPS трафика. Расскажем про популярный у многих тестировщиков Fiddler. Описать все возможности Fiddler в одной статье вряд ли получится, поэто...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

[Перевод] Как работает Spring Boot Auto-Configuration Глубокое погружение в мир аннотации Spring Boot @Conditional с проработанными примерами реализаций классов доступа к БД Mongo и MySQL. В моем посте «Почему Spring Boot?» было рассмотрено создание Spring Boot приложения, из которого вы едва ли сможете понять, что происходит з...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

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

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

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

«Google Поиск» получил масштабное обновление в России Google Поиск стал умнее благодаря технологии BERT Интуитивность – это то, чего мы в первую очередь ждём от любого продукта. Если пользователь покупает смартфон, он не должен самостоятельно что-то прошивать, чтобы устройство заработало как надо, или искать, где бы скачать ну...

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3) Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами. Как с ними работать, какими инструментами пользуюсь я и т.д. В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщен...

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

Swagger (OpenAPI 3.0) Swagger - это фреймворк для спецификации RESTful API. Его прелесть заключается в том, что он дает возможность не только интерактивно просматривать спецификацию, но и отправлять запросы – так называемый Swagger UI. Также возможно сгенерировать непосредственно клиента или серв...

[Перевод] Визуализация работы сервис-воркеров (Service Workers) Доброго времени суток, друзья! Вероятно, многие из вас слышали о таком новшестве в экосистеме JavaScript, как сервис-воркеры, которые являются ключевым элементом современной веб-разработки. Сервис-воркеры становятся все более востребованными, в первую очередь, благодаря п...

Настраиваем отказоустойчивость Pi-Hole в связке с Mikrotik В прошлой статье мы внедрили домашний сервер DoH с использованием Pi-Hole, чем не только пофильтровали большое количество рекламы, но и инкапсулировали наши DNS-запросы в HTTPS, что вывело их из поля фильтрации запросов оператором связи.Всем замечательно это решение, но у не...

React, performance и -500 миллисекунд на старте — история наших оптимизаций в цифрах Давайте немного отвлечемся от коронавируса, и поговорим о чем-то техническом. Например, о том, как мы пытались улучшить время холодного старта одного react-приложения и что из этого получилось. Кому интересна тема производительности и быстрого web-а в целом — прошу под кат....

В 1С UX/UI дизайна нет **Всё, что вы знали о UI/UX дизайне в 1С, но боялись спросить. Скорость внедрения как типовых 1С — решений, так и разработанных с «0» — это один из краеугольных камней успеха и эффективности проектной команды, компании. Удовлетворённость клиента (бизнес-заказчика) зависит ...

Java-дайджест за 29 мая 23 мая нашей любимой Java исполнилось 25 лет. Все эти годы один из самых популярных запросов в гугле — когда же Java наконец умрёт? Не дождётесь. К летней конференции JPoint присоединяется сам Джоэл Спольски — один из двух создателей Stack Overflow. Олды должны хорошо пом...

7 лет хайпа нейросетей в графиках и вдохновляющие перспективы Deep Learning 2020-х Новый год все ближе, скоро закончатся 2010-е годы, подарившие миру нашумевший ренессанс нейросетей. Мне не давала покоя и лишала сна простая мысль: «Как можно ретроспективно прикинуть скорость развития нейросетей?» Ибо «Тот, кто знает прошлое — тот знает и будущее». Как бы...

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

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтоб...

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

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

[Из песочницы] Пример SPA «Простые заметки» на Mithril.js Mithril.js — непопулярный инструмент для создания клиентских веб приложений. На Хабре практически нет публикаций по этой теме. В этой заметке я хочу показать, как можно сделать небольшое приложение на Mithril. Приложение будем делать по мотивам вот этой публикации (перевод)...

PyCharm исполнилось 10 лет У PyCharm юбилей. На протяжении десяти лет наша IDE развивалась вместе с Python, отражая изменения в языке и отвечая на запросы Python-разработчиков. Все это время мы стремились сделать PyCharm максимально удобной и эффективной IDE. PyCharm — не просто коммерческий продукт...

[Из песочницы] Python и теория множеств Python и теория множеств В Python есть очень полезный тип данных для работы с множествами – это set. Об этом типе данных, примерах использования, и небольшой выдержке из теории множеств пойдёт речь далее. Читать дальше →

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

Рэнд Фишкин выступил в защиту Jumpshot Глава SparkToro Рэнд Фишкин (Rand Fishkin), который регулярно использовал данные Jumpshot в анализе поисковых запросов Google и постах на тему zero-click тренда, выступил в защиту компании, которая в скором времени будет закрыта. По его мнению, у Jumpshot отличная методологи...

IntelliJ IDEA 2019.3: оптимизация производительности и улучшение качества Привет! В этом релизе мы сосредоточились на производительности и качестве. Вместе с другими командами JetBrains, мы занимались оптимизацией производительности, повышением отзывчивости интерфейса, улучшением существующей функциональности. Чтобы правильно расставить приорит...

Возможности клавиши ⌥Option (Alt) на Mac (macOS), 20 фишек, о которых вы могли не знать Клавиша ⌥Option (Alt) на клавиатуре Mac используется владельцами яблочных компьютеров крайне редко, однако вызвано это, скорее, не столько ее узкой функциональностью, сколько неосведомленностью пользователей. Ниже рассмотрим более десятка примеров «шорткатов» с применением ⌥...

[Перевод] Исчерпывающий путеводитель по тегу iframe Элемент iframe (сокращение от встроенного фрейма), вероятно, является одним из старейших тегов HTML и был представлен ещё в далеком 1997 году в HTML 4.01 Microsoft Internet Explorer. Хотя все современные браузеры поддерживают данный тег, многие разработчики пишут бесконечны...

Антикризисный раздел Хабра А вы знали, что если нажать на Хабре хоткей «/» и ввести запрос в квадратных скобках, то сработает поиск только по ключевым словам? Например, с тегом [covid-19] уже написано более 170 постов — только по одному этому числу можно сделать вывод, что тема вируса волнует наших чи...

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

Hello World из байт-кода для JVM Скомпилируем простенькую программу выводящую "Hello World" и пройдемся по его структуре Не думаю, что статья будет достаточно информативной для тех, кто поверхностно не знает как выглядит байт-код и как с ним работает JVM (например, хотя бы простейшие инструкции (знание об и...

Браузер на страже API-запросов Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защ...

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

Алгоритм Google BERT затрагивает 10% запросов на всех языках Сообщил Дэнни Салливан

Как вернуть отображение вашего голосового запроса к Siri в iOS 14 Возвращаем Siri старый функционал.

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

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

Ленивая инициализация в C# Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения. Необходимость ленивой инициализации может возникнуть по разным причинам: начиная от же...

Принцип DRY на примере Laravel Рассмотрим простой модуль, отвечающий за добавление новых пользователей. И на его примере увидим, какие возможности открывает применение принципа DRY. Для меня принцип DRY (Don't Repeat Yourself) всегда воплощался в двух основных определениях: Дублирование знаний — все...

[Перевод] CSS: полное руководство по функции calc() В CSS есть особая функция calc(), применяемая для выполнения простых вычислений. Вот пример её использования: .main-content {   /* Вычесть 80px из 100vh */   height: calc(100vh - 80px); } Здесь с CSS-кодом, в котором используется calc(), можно поэкспериментировать. Авто...

Blazor: Server и WebAssembly одновременно в одном приложении ASP.NET Core Blazor — это разработанная Microsoft веб-платформа, предназначенная для запуска на стороне клиента в браузере на основе WebAssembly (Blazor WebAssembly) или на стороне сервера в ASP.NET Core (Blazor Server), но две эти модели нельзя использовать одновременно. П...

[Перевод] Как Django может обрабатывать 100 миллионов запросов в день Сегодня я буду писать о Django — фреймворке, который верно служит мне на протяжении последних пяти лет. Он помог мне преуспеть в разработке высоконагруженных решений, используемых сегодня миллионами пользователей. Действительно, Python не очень «быстрый» язык программировани...

[Перевод] Как JIT инлайнит наш C# код (эвристики) Инлайнинг — одна из самых важных оптимизаций в компиляторах. Она не только убирает оверхед от вызова, но и открывает много возможностей для других оптимизаций, например, constant folding, dead code elimination и т.д. Более того, иногда инлайнинг приводит к уменьшению размера...

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

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

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

Google закрывает сервис подбора запросов Google Correlate Инструмент станет недоступен с 15 декабря

О советчиках и советах. Добрый день, коллеги!Прошу прощения – хочется позудеть… толи старею, то ли предновогоднее обострение, как у некоторых… Итак… У нас есть раздел «Вопросы и ответы», в которых жаждущие получить ответ, совет, узнать что-то новое задают вопрос.Вот только ответы на них часто даютс...

CRM 2020 IT-сфера — штука неблагодарная и прогнозы тут такие же, как  с погодой прошлым летом, всё равно замёрзнешь. Или промокнешь. Или солнечный удар жахнет. Но с предсказаниями на 2019, как показало время, у нас вышло неплохо, поэтому мы решили рассказать о трендах CRM 2020, каким...

Microsoft Teams – универсальная платформа для командной работы, часть 2. Казахстан Серия вебинаров по оптимизации бизнес-процессов с помощью технологий Microsoft.

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

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

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

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

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

Игра на WinForms + C# в 16 лет (2 часть) Предыстория Прошло довольно много времени с момента написания предыдущей статьи. Как и обещал я написал вторую часть. Хотелось бы сказать спасибо всем тем, кто давал советы в комментариях, из всех их я смог узнать что-то новое. Ну а для тех кому хочется сразу посмотреть прое...

Google представила топ запросов 2019 года в Казахстане Каким был 2019 год глазами казахстанских пользователей поисковой системы?

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

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

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

Google назвал самые популярные запросы россиян в 2019 году Пользователей интересовало, кто такой Кодзима и как правильно делать вакуум.

Тотальный отказ от ключевых слов? Google против! Google усомнился в скорой переориентации поисковиков на интент запроса пользователя.

Алгоритм Google BERT научился обрабатывать запросы на русском языке Ранее он работал только с английским

45 млн россиян ежемесячно пользуются голосовым помощником Яндекса На сегодняшний день аудитория Алисы составляет 45 млн пользователей ежемесячно.  Как сообщил представитель платформы Яндекс.Диалогов, подводя итоги за 2019 год, Алиса получает более 1 млрд голосовых обращений в месяц. 20% запросов к Яндексу уже осуществляется голосом. З...

Бесшовные A/B-обновления в Android: как они устроены Всем привет. В SberDevices наша команда занимается разработкой различных железок прошивок и для них на базе AOSP. Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновле...

[Из песочницы] Пакетная обработка в JDBC и HIBERNATE Здравствуйте! В этой статье, я кратко расскажу о пакетной обработке SQL (DML) операторов: INSERT, UPDATE, DELETE, как одной из возможностей достижения увеличения производительности. Преимущества В отличии от последовательного выполнения каждого SQL запроса, пакетная обрабо...

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

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

NextDNS вышел из беты — защита приватности, обход госцензуры и блокировка рекламы для всей домашней сети Cервис NextDNS наконец-то вышел из беты и теперь официально предоставляет бесплатные услуги по блокировке рекламы и других вредоносных IP-адресов на уровне DNS. Это простой и эффективный метод защиты: NextDNS автоматически фильтрует трафик, не ведёт логов, шифрует DNS-запр...

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

7 продуктов вреднее конфет Помните, как в детстве нам говорили, что стоит есть поменьше конфет, чтобы не испортить зубы? Оказывается, многие привычные продукты могут быть вредны не меньше, а порой и больше, чем конфеты. Источник

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

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

[Перевод] Рейт лимиты с помощью Python и Redis В этой статье мы рассмотрим некоторые алгоритмы рейт лимитов на основе Python и Redis, начиная с самой простой реализации и заканчивая продвинутым обобщённым алгоритмом контроля скорости передачи ячеек (Generic Cell Rate Algorithm, GCRA). Для взаимодействия с Redis (pip in...

Google рассказал, как изменились поисковые запросы в период пандемии И дал советы брендам с учетом новых тенденций

Google: самые популярные запросы российских пользователей Поиска 2019 г. Россияне следили за Евровидением и «Игрой престолов»

GitHub закрыл репозитории проекта Popcorn Time по запросу Американской ассоциации кинокомпаний GitHub закрыл два репозитория, принадлежащих пиратскому стриминговому сервису Popcorn Time, после получения уведомления о нарушении закона о защите авторских прав в цифровую эпоху (DMCA) от Американской ассоциации кинокомпаний.Popcorn Time представляет собой сервис потоковог...

Настраиваем адаптивное освещение в умном доме Адаптивное освещение — это автоматическая подстройка температуры света в вашем доме в течение дня. Исследователи утверждают, что такой подход плодотворно сказывается на циркадных ритмах тела. В недавнем обновлении iOS 14 такая функция появилась в платформе HomeKit от Apple. ...

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

Multiprocessing и реконсиляция данных из различных источников Привет, Хабр! В условиях многообразия распределенных систем, наличие выверенной информации в целевом хранилище является важным критерием непротиворечивости данных. На этот счет существует немало подходов и методик, а мы остановимся на реконсиляции, теоретические аспекты ...

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

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

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

Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию. Как все начиналось Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Что...

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

Оптимизация интерфейса в Unity без кода В этой статье ведущий UI/UX художник Никита Кандыбин и технический UI художник Ольга Кинчак поделятся эффективными базовыми практиками по оптимизации Unity UI, которые используются в компании Banzai Games при создании игровых интерфейсов, а также укажут на подводные камни ...

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

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

Филамент не прилипает к столу. Как боролся я. История с не прилипанием пластика к столу случается у многих новичков.Расскажу как боролся с этой напастью я.1. Неделю курил матчасть: читал блоги и прочее, что вылезло в Гугле по запросу "PLA не прилипает к столу".2. Записал все возможные косяки и стал пробовать по списку.3...

Apple отвергла обвинения Генпрокурора США в отказе от сотрудничества Компания Apple выступила в понедельник с опровержением заявления Генерального прокурора США Уильяма Барра (William Barr), обвинившего компанию в том, что она не оказала «существенной помощи» в расследовании дела о стрельбе на базе военно-морской авиации США в Пенсаколе (штат...

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование би...

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

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

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

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

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

SQL в DjangoORM Меня зовут Алексей Казаков, я техлид команды «Клиентские коммуникации» в ДомКлик. В большинстве приложений, с которыми мне приходилось иметь дело, при взаимодействии с БД не ограничиваются лишь драйвером, который позволяет выполнять сырые запросы. Для удобства и избавл...

Contact Center AI: третий участник в разговоре – это нормально Наши клиенты и читатели блога знают про Dialogflow – платформу для создания умных ботов. Именно Dialogflow лежит в основе Contact Center AI (далее CCAI) от корпорации добра. Схематично стек технологии равен DialogFlow + WaveNet (text-to-speech) + voice recognition (speech-t...

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

xAPI и IMS Caliper. Или ADL против IMS? Появление xAPI (ADL) не было неожиданным событием. Очень продолжительное время велись обсуждения TinCan'а, огромное количество открытых форумов «кипели» при обсуждении новой спецификации. И только после достаточного обсуждения, ADL выпустила релиз спецификации. Затем, уже ...

[Перевод] Всё, что нужно знать о Progressive Web App (PWA) PWA — прогрессивные веб-приложения. Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору. Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более...

Яндекс убрал из выдачи вкладку с обсуждаемым контентом Она показывалась справа по запросам о фильмах, известных личностях и географических объектах

Яндекс представил большое обновление поиска – «Вега» Поисковик теперь быстрее отвечает на запросы и учитывает сигналы асессоров-экспертов

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

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

R Markdown. Как сделать отчет в условиях неопределенности? Маленький рецепт, который будет полезен при создании динамических отчетов. Достаточно часто встречается ситуация, когда размер и содержание отчетной формы будет зависеть от состава переданных на вход данных. Речь идет именно о story-telling отчете, а не о простом выводе таб...

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

Как трассировка запросов сломала API TL;DR;История провала со счастливым концом о том, как команда узнала о трассировке запросов, AOP, а потом сломала API.ВВедение Благие намерения Невинное началоКаждый проект содержит логирование. Наш проект использовал Lombok и его @Slf4j аннотацию. Мы логировали выполнение б...

Игровые механики на уроке геометрии или векторы на Unity 3D На примере создания 2D игры «Баскетбол», рассмотрим векторы (скорости, сил, локальной и глобальной систем координат). Разберем принципы представления систем координат и представления векторов. А еще, затронем работу с LineRenderer и многокамерность. Читать далее

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

Межсетевой прокси: Доступ в Интернет, Tor, I2P и другие сети через Yggdrasil Путешествуя по обычному интернету мы не задумываемся над доменными зонами: ru, com, org и так далее, потому что все они открываются одинаково. Однако, настроив браузер для открытия сайта в сети I2P, вы не откроете onion-домен из сети Tor. Для этого нужно будет сменить настро...

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

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

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

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

До свидания, Google Fonts. Последний аргумент Шрифты Google Fonts страшно популярны. Их загружают более 42,8 миллиона сайтов, в том числе Хабр. Библиотека Google Fonts содержит 1023 свободных шрифта и программные интерфейсы для их внедрения через CSS. Очень удобно, казалось бы. Во многих статьях отмечалось, в какую ц...

Как бекапить облака? Варианты от Veeam Информация, загруженная в облако, уже никуда и никогда оттуда не пропадет! Именно так можно сформулировать одну из популярнейших IT легенд, восхваляющую незыблемость облаков и суляющую наступление всеобщего счастья от миграции с банальных on-premise серверов. Однако на дел...

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

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

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

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

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

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

[Перевод] Отложенное завершение pod'а при его удалении Задержка выключения pod’а в Kubernetes Это третья часть нашего пути (прим. пер. — ссылка на первую статью) к достижению нулевого времени простоя при обновлении Kubernetes-кластера. Во второй части мы сокращали время простоя, которое возникло из-за принудительного завершения...

Кибератаки на гидроакустические системы: мифы и реальность Приветствую вас, глубокоуважаемые! «Если в ответ на запрос свой-чужой ответить неправильно, второй запрос придет уже на 533-ей частоте» (С) «Все это идет как-то мимо вас. Или сквозь вас. А по мне это идет, как паровой каток. Ни одной целой кости не осталось. » (С) А. и Б. Ст...

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

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

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

[Кейс] Пошагово: как создать эффективную статью в блог интернет-магазина Как две статьи с обратными ссылками помогли сайту проранжироваться по 800 ключевым запросам за 90 дней.

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

Россиянам приходится платить наличными на рынках и в такси Как россияне оплачивают покупкиБольшинство россиян - 76,5% - предпочитают оплачивать товары и услуги безналичным способом. Чаще всего такой способ выбирают в Москве и Санкт-Петербурге - такой ответ дали 81,5% и 78,5% опрошенных соответственно. В городах с населением 100-700 ...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

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

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

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

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

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

Мониторинг запросов в Greenplum Часто при работе с разными базами данных необходимо отслеживать выполнение текущих запросов. В основном это связано с задачами администрирования или аналитики. Средства мониторинга, позволяющие управлять и наблюдать за выполнением запросов, сильно помогают в этом. Я расскажу...

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

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

ASO аудит приложений и универсальные рекомендации Специалисты Сheckaso показали, как делать ASO аудит на примере 12 приложений.

Физика в Unity-проекте на примере мобильного файтинга Физика стала неотъемлемой частью любой современной игры. Будь то простая симуляция ткани или полноценная физика движения транспорта. Не являются исключением и мобильные игры. Однако, настраивая физику для них, нужно оглядываться на ограничения, связанные с относительно низк...

Puma выпустила носки для геймеров с тремя «режимами» за $100 Компания Puma разработала «активные игровые носки» с тремя режимами работы. Их стоимость 105 долларов, они были созданы с учетом запросов консольных геймеров, но подойдут, конечно же, всем.

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

Как просмотр порно влияет на продуктивность работы и учебы В 2010 году компания Nielsen Company анонсировала результаты очень интересного исследования. С помощью провайдеров компания проанализировала запросы более чем 21 миллиона американских компьютеров. Оказалось, что 29% жителей США смотрит порно на работе. Колоссальное число, ...

Three.js и геометрия При использовании для отображения в браузере библиотеки ThreeJS в качестве первого примера обычно выступает куб или какой-либо другой простейший объект, и он создается при помощи предустановленных специальных классов BoxGeometry или SphereGeometry. Затем обычно рассматривает...

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

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

Лучшая стиральная машина. Candy CS4 1051D1/2 Тема бытовой техники довольно обширна и пользователи буквально каждый день выбирают различную технику для своего дома или квартиры, изучают статьи, советы и так далее. Мы решили отбросить в сторону различную шелуху, которая только путает пользователя, и отобрали пять лучших ...

Выбираем плагин для двухфакторной аутентификации в Wordpress Двухфакторная аутентификация значительно повышает уровень безопасности сайта при соблюдении остальных условий (таких как своевременное обновление движка-тем-плагинов, применение практик безопасного программирования и т.п.). Столкнувшись с вопросом подключения Google Authe...

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

Критический RCE-баг во встроенном сервере GoAhead Исследователи из Cisco Talos обнаружили две новые уязвимости в веб-сервере GoAhead компании EmbedThis. Недостатки позволяют не прошедшему аутентификацию злоумышленнику выполнить на устройстве сторонний код или добиться состояния отказа в обслуживании. Проблема может затронут...

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

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

Я иду искать: геопозиционирование хоста по IP-адресу в глобальной сети Интернет на примере криптобиржи Binance В статье рассмотрены методы геопозиционирования сетевых интерфейсов по IP-адресу на примере API-сервиса криптобиржи Binance. Геопозиционирование основано на дистанционно-временных моделях пересчета времени кругового обхода (RTT) в дистанцию и определения примерного местопо...

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

[Из песочницы] О работе ПК на примере Windows 10 и клавиатуры ч. 1 Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Window...

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

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

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

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

Google представила "тихие" уведомления с запросами на показ уведомлений в Chrome 80 Кто обычно запрещают показ уведомлений, получат новый интерфейс автоматически.

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

Выбираем подарки для фантастических женщин Binary heartbeat by Kevin Tong Надо признать, я не умею выбирать подарки. Но люблю научную фантастику (надеюсь, эти два факта не связаны). Как насчет придумать подарки на 8 марта не для настоящих, а для книжных героинь? Заодно вспомнив, какие фантастические романы запомнил...

Домашний веб-сервер на солнечных батареях отработал 15 месяцев: аптайм 95,26% Первый прототип солнечного сервера с контроллером заряда. Фото: solar.lowtechmagazine.com В сентябре 2018 году энтузиаст из Low-tech Magazine запустил проект «низкотехнологичного» веб-сервера. Задача была снизить энергопотребление настолько, чтобы домашнему self-hosted сер...

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

Как восстановить удаленное письмо в приложении «Почта» В iOS есть отличный стандартный почтовый клиент. Он умеет работать со многими популярными сервисами, включая Gmail, Yahoo, iCloud, Outlook и другие. К тому же приложение обладает достаточно удобным интерфейсом и набором функций, которые должны удовлетворить запросы рядового ...

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

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

Александр Плющев про политизацию интернета, цифровизацию власти и роботов, которые заменят журналистов (но это не точно) Известный российский журналист, ведущий программы «Точка» на радио «Эхо Москвы» про интернет и технологии, а также автор колонки в Deutsche Welle Александр Плющев дал «Роскомсвободе» интервью. Он занимается темой интернета с 90-х, поэтому имеет хорошее представление о ра...

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

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

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

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

Опасная уязвимость в популярной библиотеке Sequelize Привет, Хабр! Данная статья будет интересна тем, кто уже использует библиотеку Sequelize или же только собирается с ней работать. Под катом мы расскажем, чем встроенный функционал operatorAliases может быть вреден и как избежать утечки из собственной базы данных. Читать да...

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

Создание Dashboard в Kibana для мониторинга логов Привет, меня зовут Евгений, я тимлид B2B-направления в Ситимобил. Одной из задач нашей команды является поддержка интеграций по заказу такси от партнеров, и для обеспечения стабильного сервиса мы всегда должны понимать, что происходит в наших микросервисах. И для этого над...

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

TOTP (Time-based one-time Password algorithm) С ростом числа угроз кибербезопасности, для разработчиков становится все более и более необходимым обновлять стандарты безопасности веб-приложений и быть при этом уверенными в том, что аккаунты пользователей в безопасности. Для этого в настоящее время многие онлайн-приложени...

Обзор нововведений в C# 10 В данной статье мы рассмотрим новую версию языка C# 10, которая включает в себя небольшой список изменений относительно C# 9. Ниже приведены их описания вместе с поясняющими фрагментами кода. Давайте их рассмотрим. Читать далее

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

Настройка окружения в CLI. WSL / Windows Terminal Есть люди, которые большинство рабочего времени проводят в консоли, есть те, кто пользуются терминалом при необходимости, запуская что-то по инструкциям. Но я думаю, что каждый айтишник, будь он разработчиком, сисадмином, сетевым инженером, или даже senior yaml developer`ом,...

Фрактальная шизофрения Нет, я не болен. По крайней мере так говорит голос в моей голове. Я наркоман. Вот уже более 15 лет я сижу на игле. Употребляю много, жёстко, до оборочного состояния. Докатился до того, что в последнее время не стесняюсь ни друзей, ни жены, ни детей… Двоих детей! Не люблю ба...

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

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

Как собрать образ Oracle DB для Testcontainers Код должен тестироваться на той СУБД, с которой он будет работать. Testcontainers — это такая библиотека, которая позволяет использовать в юнит тестах практически любую СУБД с той же лёгкостью, что embedded базы данных типа HSQLDB или H2. Был бы только Docker образ Именно с...

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

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

Технология Google BERT получила поддержку более 70 новых языков, включая украинский и русский Поисковая система Google сможет использовать алгоритм BERT для обработки сложных запросов пользователей на большем количестве […]

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

DOJ заинтересовалось дорогостоящим приобретением Google Федеральная торговая комиссия (FTC) и Министерство юстиции (DOJ) заинтересовались историей по поводу приобретения Google компании Fitbit. По данным New York Post, обе организации обеспокоены тем, что данное приобретение даст Google доступ к ещё большему количеству персональн...

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

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

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

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

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

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

[Перевод] Не становитесь Data Scientist Когда у меня просят совет о том как попасть в data science, я советую стать разработчиком программного обеспечения. Это мое мнение. Я бы хотел услышать контраргументы в комментариях. Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это сам...

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

Обзор 3D-сканера Creaform MetraSCAN 3D  В этом обзоре познакомим Вас с характеристиками и возможностями универсального портативного 3D-сканера Creaform MetraSCAN 3D 750 Elite. Рассмотрим особенности и области применения устройства.   

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

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

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

Странный баг Safari в iOS 13.4 и macOS 10.15.4 Странным образом Safari теперь не находит в интернете нужный контент, если поисковой запрос в адресной строке содержит знак плюса.

Идеальный скрипт запуска сервера Minecraft Автор очень любит игру, и сам является администратором небольшого сервера «чисто для друзей». Как водится среди любителей, на сервере замодировано все, а это влечёт за собой нестабильность работы и как следствие падения. Так как Powershell автор знает лучше, чем расположен...

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

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

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

Entity Framework Core Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать п...

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

Dell продает подразделение RSA В компании говорят, что стремятся сделать портфель продуктов проще. Стратегии RSA и Dell нацелены на выполнение разных запросов клиентов и опираются на разные бизнес-модели.

PlayStation 4 стала способом продажи наркотиков Федеральное бюро расследований (ФБР) США заявило, что один из пользователей консоли PlayStation 4 применял её онлайн-сервисы для продажи крупных партий наркотиков. Расследователи направили запрос компании Sony.

[Перевод] Пол Грэм: «Дети и стартапы» Я боялся заводить детей до тех пор, пока я их не завел. До этого момента, я относился к детям, как юный Августин к добродетельной жизни. Мне было бы грустно думать, что у меня никогда не будет детей. Но хотел ли я их в тот момент? Нет. Если бы у меня были дети, я стал бы ...

Профессия: тестировщик Тестировщик: Это баг или фича? Разработчик: Пока что это фича. bash.im Инженер по тестированию — моя первая специальность в ИТ-сфере в далёких уже 2010-х, как, пожалуй, и у многих. Это было классическое «войти в айти»: на тот момент имелось только экономическое образование ...

[Перевод] Применение ZIO ZLayer В июле OTUS запускает новый курс «Scala-разработчик», в связи с чем мы подготовили для вас перевод полезного материала. Новая функция ZLayer в ZIO 1.0.0-RC18+ является значительным улучшением старого паттерна модулей, что делает добавление новых сервисов намного быстрее и...

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

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

Первый воркшоп Corporate Rebels в России, 8 апреля В прошлом году мы побывали на воркшопе Corporate Rebels в Амстердаме и подумали, что было бы здорово привезти их в Россию. Основатели компании в свое время уволились из корпораций, устав от бюрократии, и начали изучать опыт успешных, прогрессивных организаций, которых объеди...

[Перевод] Первое знакомство с отладчиком Ghidra и взлом игры Spiderman В середине декабря в твиттер-аккаунте NSA было объявлено о релизе новой ветки Ghidra с долгожданной поддержкой отладки. Теперь с помощью GDB-заглушки и прочих механизмов можно будет выполнять ее пошагово внутри самой Ghidra. Желая отпраздновать это событие, которое совпал...

[Перевод] 3D-печать: краткие советы по переходу от CAD-модели к напечатанному объекту Сообщение от модератора: статья опубликована повторно, т.к. была снята с публикации из-за технической ошибки. Просьба отнестись с пониманием. Спасибо! В основе процесса трехмерной печати – будь это просто увлечение или источник дохода – всегда лежит конструкция изделия. Тем...

Новые угрозы конфиденциальным данным: результаты глобального исследования Acronis Привет, Хабр! Хотим поделиться с вами статистикой, которую удалось собрать в ходе нашего пятого глобального опроса. О том, по какой причине чаще происходили потери данных, каких угроз больше всего боятся пользователи, как часто сегодня делают резервные копии и на какие носит...

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

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

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

SVM. Объяснение с нуля, имплементация и подробный разбор Привет всем, кто выбрал путь ML-самурая! Введение: В данной статье рассмотрим метод опорных векторов (англ. SVM, Support Vector Machine) для задачи классификации. Будет представлена основная идея алгоритма, вывод настройки его весов и разобрана простая реализация своими рука...

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

SDR трансивер SoftRock Ensemble RXTX Данная статья является продолжением серии публикаций про SDR (Software Defined Radio). В двух предыдущих статьях мы разобрались, как работает схема Tayloe, как с помощью схемы Tayloe осуществить синхронный приём АМ сигналов, и как устроен связной SDR-приёмник. В этой публи...

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

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

«Яндекс.Директ» добавил показ рекламы по интересам пользователей в реальном времени Например, если запросы пользователя связаны с отпуском, система сразу покажет ему объявление о распродаже билетов.

Семь руководящих принципов ITIL 4 Год назад компания Axelos представила четвёртую версию ITIL, библиотеки лучших практик управления ИТ-услугами. Один из ключевых её разделов посвящён руководящим принципам ITIL 4 (The ITIL guiding principles). Вместе с потоками создания ценностей и практиками, которые приш...

Какой язык выбрать для работы с данными R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно По запросу R или Python в интернете вы найдёте миллионы статей и километровых обсуждений по теме какой из них лучше, быстрее и удобнее для работы с данными. Но к сожалению особой пользы все эти статьи и споры не несут. Цель этой статьи — сравнить основные приёмы обработки д...

HighLoad++, Михаил Тюленев (MongoDB): Causal consistency: от теории к практике Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге. Подробности и билеты по ссылке. HighLoad++ Siberia 2019. Зал «Красноярск». 25 июня, 12:00. Тезисы и презентация. Бывает, что практические требования конфликтуют с теорией, где не учтены в...

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

Выбираем процессор в 2020 году: Intel или AMD? Прежде чем приступить к сборке нового компьютера или модернизации старого необходимо определиться с маркой процессора, выбор, кажется, невелик, ведь есть всего 2 основных производителя, однако в этом деле много нюансов. Ни один из процессоров не будет универсальным решени...

CP/M: взлет и падение Гэри Килдалла История развития технологий полна неожиданностей, крутых поворотов. Побед и поражений, предательства и верности. Иногда, чтобы добиться успеха, нужно было всего лишь оказаться в нужном месте в нужное время. Или прислушаться к дружескому совету. Сегодня мы расскажем вам о че...

Redis Best Practices, часть 2 Вторая часть цикла переводов «Redis Best Practices» от Redis Labs, и в ней рассмотрены паттерны взаимодействия и паттерны хранения данных. Читать дальше →

VueJS 3: Глобальное состояние с помощью Composition API Новый Composition API позволяет избавиться от Vuex хранилища. Рассмотрим простейший пример, как этого добиться. И рассмотрим за и против. Читать дальше →

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

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

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

YouTube продвигает видео с отрицанием глобального потепления В результате расследования Avaaz было обнаружено, что при запросах «глобальное потепление» и «изменение климата» алгоритм YouTube выдавал ролики с дезинформацией, которые набирали многие миллионы просмотров.

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

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

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

Зачем нужен Google Объектив Экосистема Google состоит из большого количества приложений и сервисов. Настолько большого, что ей, чтобы быть самодостаточной, оказались даже не особенно нужны аппаратные решения. Безусловно, умные колонки Google Nest и смартфоны Google Pixel очень технологичны и удобны, н...

SMARTlife: Какой фотоаппарат Сanon купить в 2020 году?! Несмотря на существенные изменения на рынке фототехники за последние несколько лет, ощущение того, что Canon удается удовлетворять запросы покупателей никуда не девается. Независимо от того, фотографируете вы своих детей или снимаете для коммерческих целей, вероятность того,...

Instagram начнет запрашивать возраст при регистрации в соцсети С 4 декабря 2019 года при регистрации нового профиля в Instagram от пользователей будут требовать добавить свой возраст. Запрос даты рождения поможет защитить несовершеннолетних от показа неподобающего контента.

Концепт Блокнота в Windows 10 Давайте будем честны: Блокнот остается неотъемлемой частью операционной системы Windows, и хотя некоторые считают его просто базовым приложением, на самом деле это гораздо более мощный инструмент, чем думают многие . Это причина того, что Блокнот используется для различных ц...

[Перевод] Go глазами Rust-программиста: первые впечатления В преддверии старта курса «Разработчик Golang» подготовили перевод интересного материала. А каким было ваше первое впечатление от Go? На протяжении последних нескольких недель мне довелось использовать Go в работе. Я впервые использовал Go на более-менее крупном и серьезно...

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

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

Компонент Slider из библиотеки материального дизайна Началось с небольшой детективной истории — разглядывая сайт Material Design, наткнулся на страницу Sliders. В описании говорилось, что данный компонент доступен для Android и даже дана ссылка на Гитхаб. Меня это немножко удивило, так как я ни разу о нём не слышал. Перехожу п...

[Перевод] 8-битный Тьюринг-полный компьютер в Factorio Хочу поделиться своим проектом, созданным в Factorio на основе предлагаемой этой игрой логики. На этот проект меня вдохновил великий ум, записавший пошаговое руководство по созданию практически такой же машины, но в реальном мире. Рекомендую посмотреть его, оно поможет вам ...

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

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

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

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

WhatsApp, Telegram и Signal выдают телефонные номера всех пользователей Синхронизация мессенджера с контактами из адресной книги (contact discovery) — очень удобная функция. Когда новый человек ставит приложение, то в него автоматически добавляется большой список контактов, а если кто-то впервые установил мессенджер, то уведомление об этом при...

9 способов чистить поисковые запросы в Key Collector Дорогие друзья, сегодня я хочу рассказать о том, как эффективно чистить поисковые запросы в программе Key Collector http://www.key-collector.ru/. Чтобы почистить семантическое ядро, я использую следующие способы: Чистка семантического ядра с помощью регулярных выражений. Уд...

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

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

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

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

Как я перестал бояться и полюбил холестерин Сегодня Lifext расскажет: Так ли плох холестерин, как его малюют? Как узнать свой уровень? Что стало с мужчиной, который съедал 25 яиц в день? Триумф и крах обезжиренных диет; А сахар то здесь каким боком? История: тайны судмедэкспертов; Выводы Lifext; Читать дальше &rarr...

Пустые результаты в поиске Windows 10 Усилия Microsoft по интеграции своих облачных сервисов в Windows 10 уже принесли свои «плоды». В функции поиска Windows 10 попали некоторые довольно распространенные проблемы. Поиск Windows в настоящее время возвращает пустые результаты, если вы ищете приложения, файлы или з...

Spelunky как пример хорошего гейм-дизайна Spelunky 2, к сожалению, так и не вышла в 2019 году, да и дату релиза в 2020 еще не объявили. Если вы не играли в первую часть, предлагаю вам пока ознакомиться с этим примером хорошего гейм-дизайна и разобраться, чем же он хорош. В этой статье: как сделать туториал и при э...

[Перевод] Полное визуальное руководство/шпаргалка по CSS Grid Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство. Что такое CSS Grid? Грид — это макет для сайта (его схема, проект...

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

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

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

17 тысяч клиентов обанкротившейся биткоин-биржи QuadrigaCX подали заявки на возврат средств 16 959 клиентов ликвидируемой криптовалютной биржи QuadrigaCX подали запрос ее доверительному управляющему, компании Ernst & Young, на возврат оставленных на счетах средств, оценка которых варьируется от $166,5 млн до $307 млн. Timely update on #QuadrigaCX: victim claim ...

9. Fortinet Getting Started v6.0. Логирование и отчетность Приветствую! Добро пожаловать на девятый урок курса Fortinet Getting Started. На прошлом уроке мы рассмотрели основные механизмы контроля доступа пользователей к различным ресурсам. Теперь перед нами другая задача — необходимо анализировать поведение пользователей в сети, ...

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

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

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