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

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

Разрабатываем чат на React с использованием Socket.IO Доброго времени суток, друзья! Хочу поделиться с вами опытом разработки простого чата на React с помощью библиотеки «Socket.IO». Предполагается, что вы знакомы с названной библиотекой. Если не знакомы, то вот соответствующее руководство с примерами создания «тудушки» и ч...

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

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

Используем Gradle и Github Actions для публикации Java проекта в Sonatype Maven Central Repository В данной статье я хочу подробно рассмотреть процесс публикации с нуля Java артефакта через Github Actions в Sonatype Maven Central Repository используя сборщик Gradle. Данную статью решил написать ввиду отсутствия нормального туториала в одном месте. Всю информацию приходил...

Оплата в телеграм боте — Платежи 2.0 — Сбербанк + Telegraf + Node.js Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram. И в этом туториале мы создадим простого бота с Node.js на фреймворке Te...

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

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

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

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

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

Шифрование данных на виртуальном сервере Немного здоровой паранойи еще никому не вредило. Помимо мессенджеров с оконечным шифрованием, шифрованием файлов на смартфонах «из коробки» и обязательным использованием SSL на сайтах, не лишним будет защитить данные на виртуальных серверах. Тем более, современные технолог...

[Перевод] Усложняем Sci-fi-модели процедурно: что такое Greeble и как его использовать Для начала позвольте мне пожаловаться, что «greeble» — ужасное слово, которое нужно изгнать из словаря. Ну, сняв камень с души, перейдём к объяснениям. Greeble — это мелкие повторяющиеся детали, добавляемые к модели, чтобы придать ей ощущение масштаба и определённой эстети...

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

[Перевод] Шесть советов, как сделать правильный игровой туториал Простой вопрос: в какой момент разработки нужно задуматься о туториале? Почти все мои прошлые туториалы — провал. Они часто откладывались на самый конец разработки. Когда до запуска оставалось считанные дни, всегда находился человек, который спрашивал: «А не должны ли мы ...

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

[Перевод] Букварь по дизайну систем (Часть 1 с дополнениями по микросервисам) Несколько лет назад, для закрытия одного их предметов мне довелось перевести данный букварь. Де-факто этот вариант стал официальным переводом. Но развитию этого перевода мешает, тот факт, что он был написан в Google Drive и закрыт на редактирования. Сегодня я уделил время н...

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

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

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

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

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

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

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

Описание основ криптопреобразования AES Доброго времени суток, Хабр! Примерно 3 месяца назад проходил собеседование frontend разработчиком и самый первый вопрос, который мне задали: “Что такое AES?” Ну как бы аморфное представление я все же имел о симметрично блочном шифровании AES, было дело даже использовал в од...

[Перевод] Работаем с двухмерной физикой в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Martin Heinz «Implementing 2D Physics in JavaScript». Давайте немного развлечемся, создавая двухмерные симуляции и визуализации в JS. Создание реалистичной анимации физических процессов может казать...

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

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

Современный стартовый HTML-шаблон Доброго времени суток, друзья! Позвольте представить вам мой новый проект — современный стартовый HTML-шаблон. Данный шаблон является результатом анализа более 100 источников по вопросам, касающимся структуры и содержимого веб-страницы, разделения приложения на компонент...

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

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

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

Краткий гайд по использованию GDB В этом коротком туториале мы рассмотрим базовые приёмы работы с GDB, а также посмотрим как можно (и нужно) подготавливать файлы к отладке для GDB. GDB — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих яз...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

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

[Перевод] Пишем современный маршрутизатор на JavaScript Доброго времени суток, друзья! Простые одностраничные приложения, основанные на React, Vue или чистом JavaScript, окружают нас повсюду. Хороший «одностраничник» предполагает соответствующий механизм маршрутизации. Такие библиотеки, как «navigo» или «react-router», принос...

[Перевод] Python.org рекомендует: Программирование для НЕпрограммистов Предлагаем вашему вниманию подборку материалов от python.org о том, с чего начать первые шаги в программировании. Если Вы никогда не занимались программированием раньше, эти материалы для вас. Данные туториалы не предполагают, что у вас есть какой-то опыт. (Если у вас уж...

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

Почему Мистер Робот — лучший сериал про IT-индустрию Доброго времени суток, уважаемые читатели Хабра! 23 декабря 2019 года в свет вышла заключительная серия одного из самых популярных сериалов про IT — Мистер Робот. Посмотрев сериал до конца, я твёрдо решил написать статью о сериале на Хабре. Выход этой статьи приурочен к мое...

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

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

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

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

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

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

[Перевод] Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture Начнем сначала В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM. Что делаем API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо н...

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

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

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

Пандас и другие для толстых данных В этой заметке я расскажу о паре простых приемов, полезных при работе с данными, не помещающимися в память локальной машины, но все еще слишком мелкими чтобы называться Большими. Следуя англоязычной аналогии (large but not big), будем называть эти данные толстыми. Речь идет ...

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

Avro serialization в Kafka Здесь опишу пример сериализции данных через Avro и передача в Kafka. Для Avro есть сериализатор данных для Kafka, он использует в своей работе реестр (registry) схем и поддерживает версионность на отдельном развернутом сервере. Здесь будет только сериализатор, а версионность...

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

Anycast против Unicast: что лучше выбирать в каждом случае Про Anycast наверняка многие слышали. При этом методе сетевой адресации и маршрутизации один IP-адрес присваивается нескольким серверам в сети. Эти серверы могут находиться даже в удаленных друг от друга ЦОД. Идея Anycast в том, что, в зависимости от местоположения источника...

[Из песочницы] Введение в Traefik 2.0 Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями. Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо...

[Из песочницы] Ускоряемся в Entity Framework Core Не будь жадиной! При выборке данных выбирать нужно ровно столько сколько нужно за один раз. Никогда не извлекайте все данные из таблицы! Неправильно: using var ctx = new EFCoreTestContext(optionsBuilder.Options); // Мы возвращаем колонку ID с сервера, но ни...

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

Kingston представила скоростные NVMe PCIe SSD KC2500 нового поколения Новинки предлагают высокую скорость обмена данными (до 3500 Мбайт/с), здесь используется интерфейс PCIe Gen3 x4, контроллер Silicon Motion SM2262EN и память 3D TLC NAND. Заявлены функции 256-бит аппаратного шифрования данных AES-XTS и поддержка Microsoft eDrive (для защиты ...

100 теоретических вопросов по JavaScript Доброго времени суток, друзья! Представляю вашему вниманию список из первых 100 вопросов по основам JavaScript из этого репозитория с краткими ответами и ссылками на «Современный учебник по JavaScript» Ильи Кантора (JSR) и MDN. Также в конце имеются ссылки на статьи для п...

Powershell настоящий язык программирования. Скрипт оптимизации рутины в техподдержке Работая в компании IT-аутсорса в качестве руководителя 3 линии поддержки, задумался, как автоматизировать подключение сотрудников по RDP, через VPN к серверам десятков клиентов.Таблички с адресами, паролями и прочими настройками серверов, конечно, хорошо, но поиск клиента и ...

Страшный сон TPM. Взламываем защиту модулей TPM и шифрование BitLocker Для подписчиковМодули TPM часто используются для шифрования дисков с помощью BitLocker даже без ведома пользователя. Система загружается и зашифрованный том разблокируется настолько прозрачно, что пользователь может и не подозревать, что накопитель в его устройстве зашифрова...

[Перевод] Это норма — 2: как запекаются карты нормалей Это вторая часть серии туториалов о картах нормалей. Первая часть находится здесь, но для понимания второй части читать её не обязательно. Общий принцип запекания карты нормалей относительно прост: у нас есть lowpoly-модель с UV-координатами и highpoly-модель; мы переносим...

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

Amazon хочет, чтобы покупатели оплачивали товары взмахом руки По сообщениям сетевых источников, компания Amazon намерена создать терминалы бесконтактной оплаты, которые позволят клиентам покупать товары в магазинах одним взмахом руки, без необходимости использования смартфона или банковской карты. Об этом сообщает издание The Wall Stre...

[Перевод] Symfony и Гексагональная архитектура В данной статье мы коротко пройдемся по теории и на практике разберемся как перевести любое Legacy приложение на гексагональную архитектуру. Повествование будет в контексте фреймворка Symfony и PHP 7.4, но синтаксис приведенных примеров настолько прост что вы без труда пойм...

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

[Перевод] Дизеринг 2: ряд золотого сечения, синий шум и highpass-and-remap В предыдущей части я рассмотрел определение дизеринга и объяснил, как он изменяет характеристики погрешностей простой 1D-дискретизации и функций. В этой части я рассмотрю синий шум, но сначала давайте взглянем на ряд чисел, который я использовал в предыдущей части, и котор...

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

Автоматическое выключение принтера Easy метод! Мой простой способ, ищем такую штук "Xiaomi Mijia умная розетка" через поисковик, покупаем где удобно, я взял за 700 на барахолке (в китае от 560)включаем в розетку в нее принтер, розетка подключается к wi-fi, на телефон ставим MI HOME, настраиваем (туториал на ютубе есть, в...

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

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

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

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

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

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

[Из песочницы] Использование контроллера Arduino для прерываний В данной стать я приведу пример использования arduino контроллера для вызова прерываний программы на C#. Стоит отметить, что в WindowsForms присутствует элемент Timer который включается и выполняет код через определенный промежуток времени. Я решил реализовать подобное...

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

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

[Перевод] Докеризация приложения, построенного на базе React, Express и MongoDB Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как упаковывать в контейнеры Docker веб-приложения, основанные на React, Express и MongoDB. Здесь будут рассмотрены особенности формирования структуры файлов и папок таких проектов, создание файлов D...

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

[Перевод] Рецепты по приготовлению оффлайн-приложений Доброго времени суток, друзья! Представляю вашему вниманию перевод замечательной статьи Джейка Арчибальда «Offline Cookbook», посвященной различным вариантам использования сервис-воркера (ServiceWorker API, далее по тексту — просто воркер) и интерфейса кэширования (Cache ...

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

Борьба за миллисекунды. Как выбрать сервер с наименьшим пингом Для многих задач задержки между клиентом и сервером критически важны, например в онлайн играх, видео/голосовых конференциях, IP телефонии, VPN и т.д. Если сервер будет слишком удален от клиента на уровне IP-сети, то задержки (в народе «пинг», «лаг») будут мешать работе. Ге...

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

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

Автоматизация Для Самых Маленьких. Заметки. RESTful API Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких. Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно. Воздаю хвалы архитекторам современного мира — у нас ест...

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

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

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

[Перевод] Linux: удаление пула блокировок /dev/random Как известно, у /dev/random, криптографически стойкого генератора псевдослучайных чисел (CSPRNG), имеется одна неприятная проблема – блокировки. В данной статье рассказывается, каким образом можно ее решить. За последние несколько месяцев средства генерации случайных чисел...

JavaScript: 250+ практических вопроса (список + викторина + бонус) Доброго времени суток, друзья! Представляю вашему вниманию список из 250+ практических вопроса по JavaScript с подробными (насколько это возможно и уместно в контексте чеклиста) ответами, возможностью проверить свои знания с помощью викторины, состоящей из 30 случайных в...

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

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

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

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

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

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

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

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

[Из песочницы] Защита проекта VBA в MS Excel Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA. Дисклеймер: В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сил...

[Перевод] Учебный проект на Python: интерфейс в 40 строк кода (часть 2) Демонстрация проекта Python с пользовательским интерфейсом никогда не была такой простой. С помощью Streamlit Framework вы можете создавать браузерный пользовательский интерфейс, используя только код Python. В этой статье мы будем создавать пользовательский интерфейс для п...

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

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

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

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

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

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

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

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

Разработка сайтов на Тильде Разработка сайтов на Тильде пользуется спросом среди заказчиков. Заказать такую услугу можно на сайте https://komarovaeee.com/. Все работы выполняет профессионал с большим опытом. Здесь можно заказать разработку лендинг страницы, сайта интернет магазина и других проектов. Ка...

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

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

[Из песочницы] Стилизация Select-Option (почти) без JavaScript Стилизация некоторых стандартных элементов — довольно нетривиальная задача. Разумеется, хороший специалист может стилизовать что угодно, однако всё упирается в сложность этого действия. Для стилизации радиокнопок и чекбоксов потребуется совсем немного времени — идея стилиз...

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

[Из песочницы] Многопоточная сортировка с использованием пула потоков на Java В данном посте будет рассказано, как реализовать сортировку на Java c использованием ExecutorService. Общая суть сортировки в следующем: Массив разбивается на части Каждая часть массива сортируется Идем по упорядоченным массивам, сливаем их в один Здесь применяются иде...

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

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

Нишевый контент: как 10% статей дают 61% конверсий из блога Раньше у нас был блог и читатели. Теперь у нас есть блог, читатели и клиенты из блога. Свою роль здесь сыграли нишевые статьи. Это статьи, где реклама продукта упакована в решение определенной проблемы в узкой нише. Рассказываем, как мы их делаем и сколько клиентов они нам ...

Как я сделал Discord бота для игровой гильдии с помощью .NET Core Всем привет! Недавно я написал Discord бота для World of Warcraft гильдии. Он регулярно забирает данные об игроках с серверов игры и пишет сообщения в Discord о том что к гильдии присоединился новый игрок или о том что гильдию покинул старый игрок. Между собой мы прозвали эт...

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

USB4: все тот же USB? В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой жела...

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

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

Две альтернативы JDBC Примеры для двух неблокирующих библиотек доступа к SQL базам данных — Vert.X SQL и R2DBC. Примеры будут основаны на PostgreSQL и реактивных обертках Java. Начнем с главного: JDBC — это отличный стандарт. Служил и служит верой и правдой. Но новые веяния просят новых решений...

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

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

[Из песочницы] Конфигурация кластера из трех узлов ZooKeeper и брокеров Apache Kafka Доброго времени суток! В этой статье рассмотрим настройку кластера из трех узлов ZooKeeper (служба координации распределенной системы), два из которых — брокеры сообщений Kafka, третий — управляющий. В результате будет реализована следующая схема компонентов: Читать дал...

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

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

[Из песочницы] 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, узнает...

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

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

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

Как вывести сайт под запад в ТОП10, не зная ничего о SEO В этой статье описан личный опыт двух человек: меня и моей коллеги Марии. Опыт людей, у которых совершенно не было знаний в SEO. Во второй половине 2019 года на нас легла ноша в виде продвижения 2-х сайтов проекта Ratatype. Сайтов молодых (рождены в 2019) и на иностранный ры...

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

Настройка аутентификации в сети L2TP с помощью Рутокен ЭЦП 2.0 и Рутокен PKI Проблематика Ещё совсем недавно многие не знали, как это — работать из дома. Пандемия резко изменила ситуацию в мире, все начали адаптироваться к сложившимся обстоятельствам, а именно к тому, что выходить из дома стало просто небезопасно. И многим пришлось быстро организовы...

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

Новый сервер для периферийных вычислений Максимальная конфигурация специализированного сервера Atos BullSequana Edge - CPU Intel Xeon D-2187NT, ОЗУ - 512 Гбайт, SSD - два по 960 Гбайт, два гигабитных и два 10-гигабитных порта, две видеокарты GPU NVidea T436 Гбайт, поддержка беспроводных соединений Wi-Fi, Bluetooth,...

[Из песочницы] Большой туториал по обработке спортивных данных на python Последние пару лет в свободное время занимаюсь триатлоном. Этот вид спорта очень популярен во многих странах мира, в особенности в США, Австралии и Европе. В настоящее время набирает стремительную популярность в России и странах СНГ. Речь идет о вовлечении любителей, не пр...

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

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

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

Программирование ESP32 с использованием JTAG программатора ESP-Prog и ESP-IDF ESP-Prog Всем доброго времени суток. На просторах Али можно найти такой программатор, как ESP-Prog, на чипе FTDI2232H, с виртуальным COM-портом на борту: Среда разработки Как IDE мы будем использовать Visual Studio с плагином VisualGDB. Данный плагин предназначен для раз...

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

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

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

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

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

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

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

Эффект реалистичного перелистывания страниц на JS Представляю вашему вниманию — один из возможных вариантов реализации довольно забавного приема, для создания эффекта реалистичного перелистывания страниц. Демо и документация: nodlik.github.io/StPageFlip Github: github.com/Nodlik/StPageFlip Подобный эффект я реализовывал...

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

Способы защиты RDP Использование управления удаленным рабочим столом – это возможность получить доступ к любому ПК или серверу в любой точке мира. Выполняется RDP-соединение при помощи технологии RDP (Remote Desktop Protocol). Данная функция поддерживается не только настольными компьютерами, н...

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

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

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

Создание зашифрованного диска с «двойным» дном с помощью Veracrypt VeraCrypt — свободный форк TrueCrypt используемый для сквозного шифрования в Windows, Mac OSX и Linux, и позволяет шифровать системный диск, отдельный внутренний или внешний диск или создавать виртуальные диски с использованием файлов-контейнеров. В этой статье мы рассмот...

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

[Перевод] Забудьте о гомоморфном шифровании: теперь у нас есть функциональное шифрование Слышали ли вы о функциональном шифровании (ФШ)? Возможно, вы слышали о нём, и для себя поставили его в один ряд с гомоморфным шифрованием, что не совсем неверно, но и не до конца правильно. Давайте сегодня с вами посмотрим на то, что такое ФШ, разберём пару примеров и то,...

IM-мессенджер на своем сервере со сквозным шифрованием На сегодняшний день, очень много IM-мессенджеров предлагают end-to-end шифрование, но вариантов, которые можно быстро развернуть на своем сервере гораздо меньше. Изучая варианты, мой взгляд упал на Delta Chat, о котором на Хабре уже упоминали — мессенджер без централизов...

[Перевод] Способы использования Math.random() в JavaScript Math.random() — это один из API JavaScript. Это — функция, которая возвращает случайные числа. Диапазон возвращаемых чисел представлен значениями от 0 (включая 0, то есть, она может вернуть 0) до 1 (не включая 1, то есть — единицу она вернуть не может). Math.random(); // во...

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

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

Подробности о Magic: ManaStrike из интервью с разработчиками В ноябре Netmarble анонсировала игру Magic: ManaStrike, которая основана на вселенной ККИ Magic: The Gathering, но не имеет никакого отношения к карточному геймплею. Чуть позже разработчики подтвердили, что грядущий проект — это нечто среднее между автобатлерами и стратегиям...

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

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

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

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

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

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

[Перевод] [теория] Разница между веб-сокетами (WebSockets) и Socket.IO Доброго времени суток, друзья! Веб-сокеты и Socket.IO, вероятно, являются двумя наиболее распространенными средствами коммуникации в режиме реального времени (далее — живое общение). Но чем они отличаются? При построении приложения для живого общения наступает момент, ко...

Райтап In the Shadows Это райтап об одном из заданий, которое мы приготовили для отборочного этапа CTFZone, прошедшего в конце ноября. О процессе подготовки к квалификации можно прочитать здесь. Вы начинаете с двумя файлами: decrypt_flag.py и ntfs_volume.raw. Д...

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

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

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

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

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

Лучшие MMORPG 2019 года: Black Desert Mobile, Rangers of Oblivion и другие MMORPG — самый неоднозначный жанр мобильных игр. С одной стороны, разработчики уже давно поняли, что никакой «знакомый с ПК» опыт здесь не нужен: достаточно добавить знакомых элементов, авто-бой и можно выпускать. С другой, поняли они это в первую очередь из-за самих игроков...

Охотимся на огромных монстров с другими игроками в Tiny Hunters Если вам нравятся аркадные проекты с мультиплеером, то взгляните в сторону Tiny Hunters. Здесь вы будете охотиться с другими игроками на круглых и больших монстров. Для этого в арсенале есть копья, бомбы и гарпуны. Нужно быть осторожным, потому что животное перекатывается и ...

Немецкий суд заставил почтового провайдера Tutanota установить бэкдор Полнотекстовый поиск в зашифрованной почте Для начала немного контекста. Tutanota — один из немногих почтовых сервисов, которые шифруют входящую почту по умолчанию, как Protonmail, Posteo.de и Mailbox.org. То есть почта хранится на серверах в зашифрованном виде. Провайдер ...

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

Liki24.com и Uber запустили в Киеве сервис курьерской доставки медикаментов на дом Компании Liki24.com и Uber объявили о совместном запуске нового сервиса доставки медикаментов для украинцев. Благодаря данному партнерству клиенты сервиса Liki24.com смогут сделать онлайн-заказ безрецептурных лекарств для курьерской доставки, которая будет осуществляться с п...

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

Обзор Creative Stage Air. Портативный саундбар Не так давно мы проводили детальное тестирование Creative Stage, лучшего саундбара для телевизора в ценовом сегменте до 10 000 рублей. Вместе с ним вышла еще и упрошенная версия Creative Stage Air без блока внешнего сабвуфера и рядом конструктивных упрощений. Сегодня мы расс...

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

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

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

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

Как я решил протестировать нагрузочную способность web сервера В одно прекрасное утро вдруг пришла "гениальная" мысль – а не протестировать ли мне что ни будь? Посмотрев по сторонам, на глаза мне попался он - герой этой статьи.Это была вступительная минутка юмора, а если серьёзно то вопрос о тестировании web сервера стоял уже давно....

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

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

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

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

[Из песочницы] Mikrotik RouterOS в Docker Всем доброго времени суток! В данной статье я хочу рассказать об одном OpenSource проекте под названием Docker RouterOS, изначально он был создан в качестве полигона для прогонки интеграционных тестов и ничего более, но со временем, по просьбе пользователей, был добавлен ряд...

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

Пишем веб сервис на Python с помощью FastAPI Знаю, знаю, наверное вы сейчас думаете «что опять?!». Да, на хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами,...

Парочка интересных консольных команд (заметка) Доброго времени суток, друзья! В этой небольшой заметке я хочу поделиться с Вами информацией о некоторых консольных командах, которые можно использовать наряду с console.log(). Полный список консольных команд можно посмотреть здесь. От слов — к делу. Да, для работы будет...

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

Шпаргалка по визуализации данных в Python с помощью Plotly Plotly — библиотека для визуализации данных, состоящая из нескольких частей: Front-End на JS Back-End на Python (за основу взята библиотека Seaborn) Back-End на R В этой простыне все примеры разобраны от совсем простых к более сложным, так что разработчикам с опытом будет...

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

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

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

[Перевод] Оптимизация времени сборки проекта Там, где я работаю (в стартапе Spot.IM, размер которого находится где-то между малым и средним), Webpack используется для сборки различных проектов. После 4 лет работы над нашим основным продуктом, когда в его код внесло вклад столько народа, что и не сосчитать, время его пе...

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

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

Развертывание в Docker и Kubernetes образа StatsD+Grafana В начале моего изучения Docker и Kubernetes мне нехватало простого и понятного примера, с которым можно было бы «поиграться», изучая особенности этой среды. Этой статьей хотелось бы закрыть этот пробел. Здесь я расскажу об интеграции .NET Core приложения с Telegraf и Grafana...

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

[Из песочницы] Telegram-бот для управления инфраструктурой По мотивам статьи Телеграмм-бот для системного администратора (статья не моя, я только прочитал) захотел поделиться опытом создания Telegram-бота на PowerShell для управления серверами приложений. Будет текст, код и немножко картинок. Конструктивная критика приветствуется...

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

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

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

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

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

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

Разработчики зашифрованной почты ProtonMail представили защищенный календарь ProtonCalendar Компания Proton Technologies, которая развивает защищенные почтовый и VPN- сервисы ProtonMail и ProtonVPN, запустила бета-тестирование зашифрованного календаря ProtonCalendar. Об этом разработчики рассказали в официальном блоге. По их словам, ProtonCalendar шифрует на сторон...

[Перевод] Реверс-инжиниринг популярного античита BattlEye BattlEye — это преимущетвенно немецкий сторонний античит, в основном разрабатываемый 32-летним Бастианом Хейко Сутером. Он предоставляет (или пытается предоставить) издателям игр простую в применении систему античита, использующую механизмы общей защиты, а также обнаружение...

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

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

Как сделать работу с Microsoft Remote Desktop лучше Хочу поделиться несколькими советами по настройке удаленного подключения к рабочим местам по RDP. Расскажу как проапгрейдить древний RPC-HTTP до UDP, похвалю и поругаю Windows 10 и AVC, разберу решение нескольких типичных проблем. Считаем, что для подключения используется...

Первый трейлер MMORPG Ember Sword, основанной на блокчейне MMORPG Ember Sword, основанная на блокчейне Ethereum, где игроки могут в полной мере воздействовать на игровой мир, была анонсирована в 2018 году. Еще тогда разработчики сообщили, что планируют релиз в конце 2020 года, и, похоже, что они четко следуют своим планам. Так, был...

[Перевод] Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi. Оборудование Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее ...

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

[Перевод] Разработка веб-приложения для транскрибирования аудиозаписей с использованием Python, Streamlit и AssemblyAI Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как, пользуясь Streamlit, создать веб-приложение, которое позволяет пользователям транскрибировать аудиозаписи, выгружая их на специальный сервер. В проекте будет использован API AssemblyAI, позволяю...

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

Как Амплифер использует Logux — инструмент для связи клиента и сервера Меня зовут Виталий Ризо, я старший фронтенд-разработчик в «Амплифере». Поделюсь, как мы применяем Logux в веб-приложении: организуем обмен данными в реальном времени, уведомления об ошибках без перезагрузки страницы, общение между вкладками браузера и интеграцию с Redux. Чи...

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

ClickHouse + Graphite: как значительно уменьшить потребляемое место на дисках Приветствую, habr. Если кто-то эксплуатирует систему graphite-web и столкнулся с проблемой производительности хранилища whisper (IO, потребляемое дисковое пространство), то шанс того, что был брошен взгляд на ClickHouse в качестве замены, должен стремиться к единице. Данное...

[Из песочницы] Реактивная разработка Telegram бота Доброго времени суток, Habr'овчане. В поисках различной информации по разработке бота для чата Telegram в сети Интернет обнаружил, что все tutorial'ы хоть и достаточно полны различными механиками взаимодействия с библиотекой «telegram-bot-api», никто не пришёл к умозаключен...

Яндекс: найдётся всё… о пользователях “Яндекс” и два крупнейших российских кредитных бюро запустили новый проект по оценке заёмщиков — физических лиц: их скоринговый балл может оцениваться в том числе с помощью данных, которые собирает “Яндекс”. В компании заявили, что обезличенные данные будут обрабатываться а...

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

Пентест вебсайта с помощью Owasp Zap Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универс...

Аппаратный конвертер HDMI-RGB (18/24-bit) Доброго времени суток, Хабр! И снова моя статья будет посвящена видео конвертеру. На этот раз это будет HDMI-RGB. Статью хочу посвятить не конкретно разработке, а одной проблеме с цветами, которая у меня возникла при подключении 18-bit матрицы к 24-bit драйверу. Читать да...

Магазин электроники «Луром» Приобрести качественную электронику для дома на сайте Луром можно через интернет. Данный магазин работает уже не первый год и имеет безупречную репутацию. Главной его задачей является предоставление возможности своим клиентам покупать качественные и надежные электроприборы. ...

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

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

Машинное обучение на языке R с использованием пакета mlr3 Источник: https://mlr3book.mlr-org.com/ Привет, Хабр! В этом сообщении мы рассмотрим самый продуманный на сегодняшний день подход к машинному обучению на языке R — пакет mlr3 и экосистему вокруг него. Данный подход основан на «нормальном» ООП с использованием R6-классов и...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы...

Webpack 5 — Asset Modules Доброго времени суток. Этим постом хочу начать серию статей про новые возможности грядущего webpack 5. Почему я хочу рассказывать про webpack? Как минимум потому, что я принимаю активное участие в его разработке и постоянно копаюсь в его внутренностях. В данном посте хочу ра...

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

Полнодисковое шифрование Windows Linux установленных систем. Зашифрованная мультизагрузка Обновленное свое же руководство по полнодисковому шифрованию в рунете V0.2. Ковбойская стратегия: [A] блочное системное шифрование Windows 7 установленной системы; [B] блочное системное шифрование GNU/Linux (Debian) установленной системы (включая /boot); [C] настройка GR...

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

Букмекерская контора ЛЕОН Услуги онлайн букмекерских контор на сегодняшний день выросли в спросе. Многие беттеры испытали виртуальные услуги этих компаний и поняли, как это легко и удобно. Сделать ставку в любой БК теперь можно просто сидя за компьютером у себя дома. Одной из наиболее популярных на т...

Немного о WebRTC: что где использовать и случай из практики WebRTC — это браузерная технология, предназначенная для передачи потоковых данных между браузерами или приложениями с использованием технологии двухточечной передачи (point-to-point transmission). Эта технология хороша тем, что позволяет устанавливать связь между пользоват...

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

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

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

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

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

Tesla начала поставки электромобиля Model Y на несколько дней раньше графика Первые электромобили Tesla Model Y будут доставлены покупателям уже в эту пятницу, 13 марта. Ранее Tesla заявляла, что поставки этой модели начнутся 15 марта. Покупатели в штате Вашингтон, Фримонте и Сан-Диего (штат Калифорния) подтвердили дату поставки Model Y 13 марта, сог...

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

EDA под другим углом Поговорим не про еду, а про разведочный анализ данных (exploratory data analysis, EDA) который является обязательной прелюдией перед любым суровым ML. Будем честны, процесс довольно занудный, и чтобы выцепить хоть какие-то значимые инсайты про наши данные — требуется потр...

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

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

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

Max Patrol SIEM. Обзор системы управления событиями информационной безопасности Введение Друзья, добрый день. Данную статью я хочу посвятить такому продукту, как MaxPatrol SIEM компании Positive Technologies уже более 17 лет разрабатывающей инновационные решения в области кибербезопасности. В ней я постараюсь кратко описать основные задачи и меропр...

Китай принял свой «пакет Яровой» В конце прошлого года китайское правительство представило новый закон о киберпезопасности, так называемую Многоуровневую схему кибебезопасности (Cybersecurity Muti-Level Protection Scheme, MLPS 2.0). Закон, вступивший в силу в декабре, фактически означает, что правительств...

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

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

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

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

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

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

[Перевод] Создание CI/CD-цепочки и автоматизация работы с Docker Я написала мои первые сайты в конце 90-х. Тогда приводить их в рабочее состояние было очень просто. Был Apache-сервер на каком-нибудь общем хостинге, на этот сервер можно было войти по FTP, написав в браузерной строке нечто вроде ftp://ftp.example.com. Потом надо было ввести...

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

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

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

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

Имя WhatsApp очищено, в громком взломе виновата Apple В недавнем официальном заявлении представитель Организации Объединённых Наций (ООН) заявил, что популярный мессенджер WhatsApp не является безопасным программным обеспечением, так как с его помощью был взломан смартфон Джеффа Безоса (Jeff Bezos), основателя Amazon. Комп...

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

Обзор малоизвестного принтера Tevo Tarantula RS (Tarantula pro) ч.1 Всем доброго времени суток, форумчане.Давно уже пытаюсь написать данный обзор, да все руки никак не доходили, по этому сегодня напишу только одну часть, но и она будет достаточно длинная.Хотел бы сразу указать магазин, где покупался данный аппарат, так как больше в продаже я...

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

Microsoft создаёт «Планетарный компьютер» В преддверии Дня Земли Microsoft анонсировала «Планетарный компьютер», который продолжает экологические инициативы корпорации. Речь идёт о создании новой открытой вычислительной платформы, при помощи который учёные, организации государства смогут быстро получать доступ к да...

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

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

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

Avast уличили в продаже всех данных об активности пользователей в интернете Журналисты PCMag и Motherboard провели собственные расследования, которые показали, что Avast собирает большие объемы данных, включая истории браузера, информацию о просмотре отдельных видео на YouTube, местоположение пользователей в любой момент времени, а также полную исто...

[Перевод] Как в ЦРУ десятилетиями читали зашифрованную переписку союзников и противников Более полувека правительства всех стран доверяли единственной компании сокрытие переписки, которую вели их шпионы, солдаты и дипломаты Эта компания, Crypto AG, первого своего успеха добилась, заключив во время Второй Мировой войны контракт на создание кодирующих машин для ...

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

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

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

Сокеты в ОС Linux В данной статье будет рассмотрено понятие сокета в операционной системе Linux: основные структуры данных, как они работают и можно ли управлять состоянием сокета с помощью приложения. В качестве практики будут рассмотрены инструменты netcat и socat. Читать далее

Нагрузочное тестирование Atlassian Jira, Confluence, Bitbucket Часть 2 Вот здесь можно почитать часть 1 этой статьи. В части 2 мы поговорим о том, как подготовить данные для нагрузочного тестирования с помощью инструмента dc-app-performance-toolkit. Читать дальше →

[Перевод] «Ленивая» загрузка с помощью Intersection Observer API Доброго времени суток, друзья! В данной статье мы познакомимся с Intersection Observer API, новым мощным инструментом для «ленивой» загрузки изображений и других элементов на странице, поддерживаемым всеми современными браузерами. Мы можем использовать этот инструмент для...

[Из песочницы] Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство Введение Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО. Следует отметить, что существует определенная проблема, связанная с невозм...

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

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

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

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

[Перевод] Инстанцирование в Python Допустим, у вас есть класс Foo : class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y Что происходит, когда вы создаёте его объект? f = Foo(1, y=2) Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, не...

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

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

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

3 ловушки, в которые попадают начинающие Data Scientist Вот что может случиться, если плохо знаешь математику. Привет! Это Петр Лукьянченко, автор и руководитель онлайн-курсов «Математика для Data Science» в OTUS. Мы на занятиях любим все иллюстрировать кейсами, поэтому здесь тоже каждую проблему, с которой сталкиваются нович...

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

Почему мой NVMe медленнее SSD? В данной статье мы рассмотрим некоторые нюансы подсистемы ввода-вывода и их влияние на производительность. Пару недель назад я столкнулся с вопросом, почему NVMe на одном сервере медленнее, чем SATA на другом. Посмотрел в характеристики серверов и понял, что это был вопрос...

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

Как мы мигрировали с Oracle JDK и Java Web Start на AdoptOpenJDK и OpenWebStart Доброго времени суток. В данной статье я расскажу о «модернизации» в компании, в которой я работаю, такого инструмента как Java Web Start, а точнее об его замене альтернативным opensource решением. Читать дальше →

[Из песочницы] Программные IP-АТС и нагрузочное тестирование Всем доброго дня! Вот уже несколько лет я занимаюсь IP-телефонией и стал замечать, что хоть и Интернет полон информации, я говорю не только про российский сегмент, но найти иной раз нужную можно только на каком-либо “заброшенном форуме”, а то ее и вовсе нет. Если информации ...

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

Автоматическое заполнение файлами документов Word и подписей к ним с помощью Python и библиотеки docx Рассмотрим пример простой программы на Python с помощью библотекы docx для автоматизации рабочего процесса, а именно автоматической вставки файлов (в данном случае изображений) и их подпись в документах Word (docx).Данная статья будет интересна для начинающих изучающих Pytho...

[recovery mode] Обработка персональных данных для мелкого интернет-магазина Знакомые впечатлились новым штрафом в КоАП в миллион рублей: Статья 13.11. Нарушение законодательства Российской Федерации в области персональных данных 8. Невыполнение оператором при сборе персональных данных… обязанности по обеспечению записи, систематизации, накопления, х...

[Перевод] Как разработать ансамбль Light Gradient Boosted Machine (LightGBM) В преддверии старта нового потока курса «Машинное обучение» представляем вашему вниманию материал о Light Gradient Boosted Machine (далее — LightGBM), библиотеке с открытым исходным кодом, которая предоставляет эффективную и действенную реализацию алгоритма градиентного буст...

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то несомненно задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы: Как можно...

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

[Перевод] Высокопроизводительный TSDB benchmark VictoriaMetrics vs TimescaleDB vs InfluxDB VictoriaMetrics, TimescaleDB и InfluxDB были сравнены в предыдущей статье по набору данных с миллиардом точек данных, принадлежащих 40K уникальным временным рядам. Несколько лет назад была эпоха Zabbix. Каждый bare metal сервер имел не более нескольких показателей – использ...

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

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

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

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

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

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

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

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

Openwrt сниффер витой пары Всем доброго времени суток, моя не большая история началась с того как мы с другом спорили о стандартах 10BASE-T и 100BASE-T о полных и халф-дуплексах в итоге решил на примере готового устройства показать ему что слушать с пар можно. Прочитав статью взял свой старенький TP-...

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

[Перевод] Стилизация контейнеров для содержимого веб-страниц Содержимое веб-страниц должно быть размещено в некоем элементе, ширина которого, ограничивающая ширину содержимого, позволяет пользователям удобно работать с материалами сайта. Такие элементы называют «обёртками» (wrapper) или «контейнерами» (container). Стилизовать контейне...

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

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

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

Обзор Intel Core i5-11600K. Разгон и тесты встроенной графики Сегодня стартовали продажи 11 поколения процессоров Intel семейства Rocket Lake. В нашей «Лаборатории» читатели уже могли ознакомиться с детальным тестированием материнской платы GIGABYTE Z590 AORUS PRO AX. В рамках данного теста мы сравним его с прошлым поколением и здесь ж...

oVirt за 2 часа. Часть 2. Установка менеджера и хостов Эта статья — следующая в цикле по oVirt, начало здесь. Статьи Введение Установка менеджера (ovirt-engine) и гипервизоров (hosts) — Мы здесь Дополнительные настройки Итак, рассмотрим вопросы первичной установки компонентов ovirt-engine и ovirt-host. Читать дальше →

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

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

Самые защищенные мессенджеры на Android Безопасность превыше всего! Миллионы людей ежедневно обмениваются сообщениями по всему миру. Но задумывались ли вы хотя бы раз, что происходит с сообщением, когда вы его отправляете? Перехватывается ли он какими-либо сторонними пользователями? Или, быть может, сервера компан...

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

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

В ядро Linux 5.6 включили VPN WireGuard Сегодня Линус перенёс к себе ветку net-next с VPN-интерфейсами WireGuard. Об этом событии сообщили в списке рассылки WireGuard. В данный момент продолжается сбор кода для нового ядра Linux 5.6. WireGuard — быстрый VPN нового поколения, в котором реализована современная кр...

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

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

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

Microsoft слила данные службы поддержки. 250 миллионов пользователей под угрозой Компания Microsoft призналась в том, что поставила под угрозу данные 250 миллионов пользователей её службы поддержки и сервиса обслуживания клиентов.  Специалисты по информационной безопасности Боб Дьяченко (Bob Diachenko) и Comparitech обнаружили уязвимост...

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

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

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

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

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

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

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

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

Эффективная работа из дома: общее и личное Моё домашнее рабочее место Да, о работе из дома есть уже миллион текстов, в том числе и на Хабре. Но многие советы из них вроде «оденьтесь по-офисному, и тогда будет рабочий настрой» для меня выглядят слишком обобщающими. Люди разные, и одним формальная одежда действительно...

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

Создаём с нуля высоконагруженное приложение на Tarantool В 2013 я пришел в Mail.ru Group, и я решал задачу, в которой мне нужна была очередь. Есть много разных инструментов для построения очередей, но я решил для начала узнать, что уже имеется в компании. Услышал, что есть такой продукт — Tarantool. Узнал, как он устроен, и мне п...

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

Фильтр комментариев по оценке За десять лет чтения Хабра у меня выработалась привычка просматривать самые высокооцененные комментарии к прочитанной статье. Порой в них попадается информация полезнее самой статьи, но не всегда есть желание просматривать условные 100+ комментариев. Конечно, высокая оценка...

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

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

[Из песочницы] Моя реализация кольцевого буфера в NOR flash Предыстория Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), ...

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

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

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

Уникальная программа по созданию фотокалендаря Создать самостоятельно оригинальный и эксклюзивный календарь с фотографиями и интересными изображениями можно при помощи программы «Дизайн Календарей 14.0». Данная программа позволяет реализовать в реальность свои творческие идеи и создать красочный и оригинальный проект. Эт...

Удалил контакты на iPhone — как восстановить? С кем не бывало — хранишь себе спокойно контакты на айфоне, а потом, когда возникает необходимость связаться с человеком, начинаешь судорожно искать его в списке контактов. И не находишь. Куда же он мог деться? Вариантом множество: от ошибки, вызванной синхронизацией, до сл...

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

Самодельные беспроводные оконные датчики: STM32L0 + RFM69 + Android Добрый день, уважаемые хабровчане! Несколько лет назад я купился на красочную рекламу zWave и установил себе оконные датчики, базирующиеся на этом протоколе. К домашнему серверу был подключен USB zWave-Stick, который играл роль контроллера, написан небольшой модуль на Java, ...

Cтримим и кaстим youtube и не только… через raspberry pi c Gotubecast и KODI TubeCast Насколько сложно передавать youtube музыку или видео через телефон или другие портативные, мобильные устройства на вашу Raspberry pi? А если не портативные? А просто управлять медиа контентом через Windows или Linux PC? Оказывается что нет. Я хочу рассмотреть установку, и н...

Опыт использования Artillery Sidewinder x1 в течении полугода Всем доброго времени суток.Вот ссылка на мой же обзор данного принтера. Обзор был выпущен 30 мая. На тот момент принтером я владел уже наверное с месяц. Покупал через авито в магазине Nicesky (так на авито называется магазин, впоследствии узнал уже, что это tevo3dprinter.ru)...

[Перевод] Простая хэш-таблица для GPU Я выложил на Github новый проект A Simple GPU Hash Table. Это простая хэш-таблица для GPU, способная обрабатывать в секунду сотни миллионов вставок. На моём ноутбуке с NVIDIA GTX 1060 код вставляет 64 миллиона случайно сгенерированных пар ключ-значение примерно за 210 мс и...

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

Принтер не видит карту памяти. Замыкание дорожек. Имеем связку из Arduino MEGA 2560 + RAMPS 1.4 + Discount Full Graphic Smart Controller (LCD 12864).Столкнулся я с проблемой - принтер не видит карту памяти.При установке карты памяти в слот, на дисплее отображалась информация, что карта вставлена, но если зайти в меню, то бы...

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

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

QNAP TS-x53D для дома и офиса В последнее время многие пользователи даже в личных целях стали активно покупать серверы NAS для использования в домашних условиях или в условиях небольшого офиса. К примеру, новая линейка NAS-серверов QNAP TS-x53D создана специально для тех, кто хочет хранить большие объемы...

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

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

Давайте сделаем переиспользуемый компонент tree view в Angular Я разрабатываю несколько Angular-библиотек, поэтому люблю делать простые и легко переиспользуемые решения для разработчиков. Недавно один из подписчиков в Твиттере спросил меня, как сделать компонент, который выводил бы его данные в виде иерархического дерева — tree view.&nb...

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

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

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

Как улучшить ваш API сервис на node.js. Часть 1 Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно та...

[Из песочницы] Выход на западный рынок: как взаимодействовать с заказчиками Всем привет! Я – Наталья Лекомцева, коммерческий директор Omega-R. С 2005 года я занимаюсь продажей IT-решений на западный рынок и взаимодействием с иностранными заказчиками, в том числе в формате личных встреч; с 2012 года моя работа связана с поиском ключевых зарубежных...

Как просканировать весь интернет Весь диапазон IPv4 адресов — это 4-миллиарда IP-адресов. Это кажется огромной цифрой, но весь IPv4 интернет можно полностью просканировать на предмет одного TCP-порта за 40 минут, например найти все веб-серверы в мире или все открытые SSH-порты. При этом достаточно одного ...

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

Удобный интернет – ресурс для обмена валюты Найти самый выгодный курс валюты для обмена во Львове можно с помощью уникального сайта https://obmen.lviv.ua/. Он предоставляет полную информацию относительно работы обменного пункта во Львове. Данный пункт достаточно давно осуществляет свою деятельность и имеет самую лучшу...

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

Регистрация и вход в казино Вулкан В онлайн казино Вулкан: http://vullkanclub.net/vhod-registraciya/ вы безусловно сможете заработать реальные деньги, при наличии знаний правили хотя бы минимального опыта, но важно не только заработать, но потом и снять их, чтобы воспользоваться. Что же касается того как вы с...

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

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

MikroTik: L2VPN = EoIP + WireGuard (часть 1) Как позиционируют WireGuard это быстрый VPN нового поколения, в котором реализована современная криптография. Он изначально разрабатывался как более простая и удобная альтернатива существующим VPN. Ну что, давайте протестируем данный протокол на примере Mikrotik. Возьмем вер...

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

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

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

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

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

AirTag взломали и смогли отправить текстовое сообщение через сеть Локатора Сеть приложения Локатор (Find My) с недавнего времени используется Apple для отслеживания местонахождения не только устройств, но и также вещей и предметов, на которых установлен AirTag. Маячок сам подключается к любому ближайшему iPhone, Mac или другому устройству Apple. К...

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

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями п...

Мошенники в 2019 году украли у клиентов банков 6,4 млрд рублей Больше всего операций без согласия клиентов - физических лиц пришлось на операции по оплате товаров и услуг в Интернете (CNP-транзакции), говорится в исследовании.В 2019 году банки возместили пострадавшим только 15% украденных средств - около 1 млрд рублей. Онлайн-банки и мо...

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

[Перевод] Создание псевдотрёхмерной гоночной игры В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun… … и я очень любил Outrun — ско...

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

Зачем нам потребовалось написать свою реализацию MRCP-сервера. Часть 1 Привет, Хабр! Сегодня мы хотели бы поделиться кейсом создания собственного MRCP-сервера. Это протокол передачи данных, используемый серверами для предоставления различных услуг (таких как распознавание речи и синтез речи) для своих клиентов. MRCP опирается на другие протокол...

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

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

Туры на лучшие спортивные события Туризм может быть разным и каждый клиент подыскивает для себя тур, который принесет определенные впечатления и массу удовольствий. Компания TickеtGroup предлагает своим клиентам самый большой ассортимент туров на разные важные спортивные мероприятия и на шоу программы, котор...

В Китае вышла MMORPG Doula Continent: Soul Master Duel, как скачать? Doula Continent: Soul Master Duel — это мобильная MMORPG, которую запустили в Поднебесной. Изначально ожидалось увидеть её в начале июля, но видимо разработчики немного перенесли релиз. Битвы здесь пошаговые, что вероятно становится стандартом в азиатских проектах. Игра полн...

Пароли больше не нужны! Safari в iOS 14 умеет входить на сайты по Face ID и Touch ID Apple предпринимает все для того, чтобы нам нужно было как можно реже использовать пароли. iPhone уже давно можно разблокировать с помощью Face ID, MacBook — отпечатком пальца, а благодаря связке ключей iCloud можно вообще не запоминать пароли на сайтах (они еще и автоматич...

[Из песочницы] Кроссплатформенный многопоточный TCP/IP сервер на C++ Как-то раз встала задача по написанию простого и быстрого многопоточного TCP/IP сервера на C++ и при этом, чтобы работал из под Windows и Linux без требования как-либо изменять код за пределами класса самого сервера. Ранее, на чистом C++ без библиотек вроде Qt, Tcp-сервер не...

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

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

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

Подстава с NVMe на Линуксе Доброго времени суток. Хотел обратить внимание сообщества на характерную особенность Linux при работе с несколькими NVMe SSD в одной системе. Особенно актуально будет для тех кто любит делать из NVMe программные RAID массивы. Надеюсь, что информация приведенная ниже поможет...

Новые шаблоны — IPMI, Mikrotik, MSSQL Статья написана на основе доклада Максима Чудинова, инженера-интегратора Zabbix. В этой статье мы расскажем о некоторых новых шаблонах, добавленных в версию Zabbix 5.0. IPMI Шаблон IPMI работает только с пятой версией системы мониторинга Zabbix, потому что построен на новом...

Как улучшить работу устройств Apple с компьютерами на Windows Как известно, синхронизация данных пользователей iPhone и iPad с компьютерами Mac происходит через фирменный сервис iCloud. Магия экосистемы Apple здесь раскрывается во всей своей красе. Но вот только далеко не все пользователи iPhone покупают себе Mac’и. Подавляющее ...

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

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

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

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

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

[Перевод] В самом популярном фрагменте кода за всю историю StackOverflow ошибка!  Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг. Давным-давно… Еще в 2010 году я ...

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

Klipper + DuetWebControl Привет всем.Многие пользуются Klipper в связке с Octoprint, но, оказывается, уже появился другой интерфейс – DuetWebControl. Мне он очень понравился, как по работе, так и по возможностям. Да, есть недостатки, ввиде отсутствия привычных плагинов, но мне они особо не нужны.Зая...

[Из песочницы] Все о проекте спутниковый интернет Starlink. Часть 1 Проект StarLink компании SpaceX американского миллиардера и энтузиаста космоса Илона Маска хотя и появился достаточно давно, но стал широко обсуждаться в СМИ полтора года назад. Тема спутниковой связи является весьма сложной, так как объединяет в себе не только технические...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

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

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

На StatOnline.ru появилась новая метрика: оценка скорости отклика сайтов Компания REG.RU представила новую метрику аналитического сервиса StatOnline.ru. На сайте впервые систематизирован сбор данных о скорости загрузки сайтов клиентов хостинг-провайдеров, работающих в России. Метрика обновляется ежемесячно. Кроме того, дополнена метрика Uptime: п...

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

Nuxt as fullstack server: frontend + backend API Server (Часть 1) Часть 1: Nuxt as fullstack server: frontend + backend API Server Часть 2: Additional SSR performance with Nuxt fullstack server Разработчики Nuxt предлагают 3 метода доступа к API: Встроенный в Nuxt сервер Connect и использование serverMiddleware Интегрированные фреймво...

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

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

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

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

[Перевод] Как помочь pandas в обработке больших объёмов данных? Библиотека pandas — это один из лучших инструментов для разведочного анализа данных. Но это не означает, что pandas — это универсальное средство, подходящее для решения любых задач. В частности, речь идёт об обработке больших объемов данных. Мне довелось провести очень и оче...

Какой VPN лучше всего скачать на iPhone и iPad Сервисов VPN для iOS очень много. Как выбрать? В наше время VPN уже стал необходимостью. Многие сервисы по-прежнему не работают в России (взять тот же Spotify, который мы с надеждой ждали весь прошлый год), и VPN является самым простым способом получить к ним доступ. Не гово...

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

Как настроить ваш новый iPhone 11, iPhone 11 Pro или iPhone 11 Pro Max Многие сталкиваются с трудностями при настройке iPhone. Но все очень просто Многие предпочитают обновлять свой смартфон в новогодние праздники (или дарить айфоны близким). Но одно дело, если переход происходит с iPhone XS на iPhone 11 Pro, и совсем другое, если до этого у вл...

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

Ищете надежную и проверенную онлайн рендер ферму? Загляните на сайт «AnimaRender» В наше время очень многие компании интересуются рендер фермами. Если вы также ищете в сети информацию по запросу «3ds max рендер ферма», то вы однозначно попали по адресу. Прежде всего, необходимо разобраться, что это такое? Если говорить простыми словами, то это специализир...

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

История разработки SDK для приема платежей в мобильном приложении на Flutter Привет, Хабр!На связи разработчики из Mad Brains. Мы специализируемся на разработке сервисов для мобильных устройств. Имеем опыт в реализации интеграционных решений, собственные продукты в сфере мобильной электронной коммерции, а также входим в 20-ку лучших мобильных раз...

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

4. NGFW для малого бизнеса. VPN Продолжаем наш цикл статей о NGFW для малого бизнеса, напомню что мы рассматриваем новый модельный ряд 1500 серии. В 1 части цикла я упомянул об одной из самых полезных опций при покупке устройства SMB — поставка шлюзов с встроенными лицензиями Mobile Access (от 100 до 200...

Тайны файла подкачки pagefile.sys: полезные артефакты для компьютерного криминалиста В одной крупной финансовой организации произошел неприятный инцидент: злоумышленники проникли в сеть и «пылесосили» всю критически важную информацию — копировали, а затем отправляли данные на свой удаленный ресурс. Криминалистов Group-IB призвали на помощь лишь спустя полг...

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

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

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

Шлюз для UDP между Wi-Fi и LoRa Делаем шлюз между Wi-Fi и LoRa для UDP У меня была детская мечта — выдать каждому бытовому «безВайФайному» устройству билет в сеть, т. е. IP-адрес и порт. Спустя какое-то время я понял, что не стоит откладывать. Надо взять и сделать. Техническое задание Сделать шлюзом M5Sta...

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

Подключение Yandex Database к serverless телеграм боту на Yandex Functions Данная статья является продолжением вот этой статьи. В ней мы рассмотрели создание и настройку yandex cloud functions телеграм бота. А сегодня мы рассмотрим подключение телеграм бота к базе данных и сохранение какой-либо информации о пользователе, с которым общается бот.В ка...

Прозрачная аутентификация в ASP.Net Core на Linux Аутентификация в ASP.Net (Core) — тема довольно избитая, казалось бы, о чем тут еще можно писать. Но по какой-то причине за бортом остается небольшой кусочек — сквозная доменная аутентификация (ntlm, kerberos). Да, когда мы свое приложение хостим на IIS, все понятно — он за...

Руководство по Jetpack Compose Руководство по новому декларативному фреймворку Jetpack Compose от нашего любимого сайта RayWenderlich.com. В этом туториале вы научитесь использовать новую среду, разработанную командой Android, создав приложение с рецептами. Более подробно о новом фреймворке вы можете узна...

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

Amazon представила пять новых проектов в сфере солнечной энергетики Amazon анонсировала пять новых проектов в сфере возобновляемых источников энергии в Китае, Австралии и США. Проекты подтверждают стремление Amazon достичь 80-процентного использования возобновляемых источников энергии до 2024 года и 100-процентного их использования до 2030 г...

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

Ask me anything! Задай вопрос Android-команде Badoo Предлагаем продолжить добрую традицию Ask me anything на Хабре и поговорить про разработку Android-приложений. Сегодня и завтра Android-команда Badoo будет на связи и ответит на любые вопросы о разработке и тестировании приложений с многомиллионной аудиторией, даст советы на...

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

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

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

[Из песочницы] На пути к автоматизации выпуска SSL Достаточно часто нам приходится работать с SSL сертификатами. Давайте вспомним процесс создания и установки сертификата (в общем случае для большинства). Найти провайдера (сайт на котором мы можем купить SSL). Сгенерировать CSR. Отправить его провайдеру. Отправить его прова...

[Из песочницы] Keylogger для Windows с изменением прав в DACL Здесь будет рассмотрено создание Keylogger на базе .Net C# с вызовами системных функций. Сами системные функции в кратце описываются, но лучше прочитать официальную документацию от Microsoft. Ссылка на репозиторий с рабочей сборкой приведена в конце, так же как и ссылка на д...

МТС списывает по 2,5 ГБ в день: Оператор забирает трафик клиентов при выключенном интернете - Сеть Пользователь отметил, что разочаровался в МТС, хотя раньше не верил ни одному плохому отзыву. Но хорошее впечатление закончилось, когда оператор начал списывать гигабайты интернета просто так. Клиент МТС поделился своей печальной историей использования услуг оператора. Дейс...

Покупатели электрокроссоверов предпочитают серый Ford принимает предварительные заказы на новый электрический кроссовер Mustang Mach-E с тех пор, как модель дебютировала на автосалоне в Лос-Анджелесе около полутора месяцев назад. Первая партия электрокаров под названием First Edition, по данным производителя, уже полностью...

Перенос работающего сервера на RAID Жил-был LAMP-сервер на Ubuntu 12.04, который работал на одном диске. Соответственно, возникла задача обеспечить перенос сервера на более отказоустойчивую конфигурацию – RAID1. Товарищи, в ведении которых был данный сервер установили второй диск, а дальнейшее было возложено н...

[Перевод] Опциональная цепочка, объединение с null, и как они меняют наш подход к написанию кода Автор фото — Miguel Á. Padriñán. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Sam Sedighian «Optional Chaining, Null Coalescing and How They Will Change the Way You Write Code». Опциональная цепочка, объединение с null, и как они меняют подхо...

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

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

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

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

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

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

Тинькофф установил инновационный цифровой банкомат и запустил сервис оплаты по QR-кодам Тинькофф объявляет о подключении сервиса оплаты по QR-кодам Системы быстрых платежей (СБП). С 19 декабря сервис доступен в мобильном приложении Тинькофф на iOS, на Android он появится в ближайшее время. Совершить покупку с помощью QR-кода можно в розничных торговых точ...

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

Масштабируем WebSocket соединения на Go Мессенджер Авито – это: 12 m уникальных пользователей в месяц; Версии для всех современных платформ (Web, iOS, Android); Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями). Александр Емелин из ко...

Что хочет знать Магнит о своих покупателях? С завидной периодичностью в новостях встречаются заголовки, связанные с различными утечками персональных данных: Персональные данные миллиона клиентов российских МФО выставлены на продажу в сети Очередная утечка базы данных клиентов, на этот раз от гипермаркета «Лента» Оче...

Surface Hub 2X отложен и, возможно, никогда не увидит свет В мае 2018 года Microsoft представила Surface Hub 2, ставший продолжением весьма успешного Surface Hub. Новинка получила 50,5-дюймовый экран с разрешением 5K, высококлассный процессор, порты USB-C и многое другое, что делает его идеальным вариантом для использования в конфе...

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

Пишем Pixel Art Maker на чистом JavaScript Доброго времени суток, друзья! Предисловие Однажды веб серфинг привел меня к этому. Позже обнаружил статью про то, как это работает. Казалось бы, ничего особенного — Пикачу, нарисованный средствами CSS. Данная техника называется Pixel Art (пиксельное искусство?). Что ...

Как TeamViewer хранит пароли TeamViewer — популярная программа для удалённого доступа к рабочему столу. Поэтому довольно интересно посмотреть, как она хранит пароли. Если вкратце, пароли хранятся в реестре Windows в зашифрованном виде. Для шифрования используется алгоритм AES-128-CBC и секретный ключ ...

Резервирование в MultiSim — что это и как оно работает Привет! Меня зовут Антон Даценко и я отвечаю за развитие корпоративных решений и сервисов в подразделении Билайн Бизнес. Сегодня я расскажу вам, как мы используем технологии резервирования и балансировщик в MultiSIM, для каких клиентов подобный продукт важнее, чем кажется н...

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

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

[Из песочницы] Быстрая разработка Web приложения на Vaadin и Spring Boot Целью данной статьи является систематизация процесса разработки веб приложения на Vaadin 14 с использованием Spring Boot. Перед прочтением данной статьи, рекомендую прочитать следующий материал: Введение в Spring Boot Spring Data JPA Lombok возвращает величие Java Vaadin F...

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

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

Flyingbear ghost 5. Есть за что платить Всем доброго времени суток.Я уверен, что большая часть из вас видела огромную кучу видеообзоров на данный принтер, но мне есть что к ним добавить. Сравнивать буду с конкурентами в ближайшей цене. А конкретно это Tronxy с Core xy и two trees sapphire plus. Сравнений будет не ...

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

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

Поиск и устранение проблем в Postgres с помощью pgCenter. Алексей Лесовский Предлагаю ознакомиться с расшифровкой доклада начала 2019 года Алексея Лесовского — «Поиск и устранение проблем в Postgres с помощью pgCenter» Время от времени при эксплуатации Postgres'а возникают проблемы, и чем быстрее найдены и устранены источники проблемы, тем благодарн...

[Перевод] Голосовое управление Roomba с помощью Alexa и эмулятора Belkin-Wemo Роботом-пылесосом iRobot Roomba можно управлять голосовыми командами, запуская уборку или отправляя пылесос в док-станцию. Я уже рассказывал о том, как «общаться» с Roomba через сервер ioBroker. Сегодня речь пойдёт о системе голосового управления, для которой не нужен подобн...

CAT-интерфейс для трансивера «Радио-76» В предыдущей публикации о трансивере «Радио-76» упоминалось о синтезаторе частоты с CAT-интерфейсом. В этой статье тема CAT-интерфейса будет раскрыта подробней. CAT-интерфейс (Computer Aided Transceiver) предназначен для управления частотой, видами модуляции и другими функ...

Простой классификатор P300 на открытых данных Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, испол...

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

[Из песочницы] Умирает ли RuTracker? Анализируем раздачи Любая деятельность генерирует данные. Чем бы вы ни занимались, у вас наверняка на руках кладезь необработаной полезной информации, ну или хотя бы доступ к его источнику. Сегодня побеждает тот, кто принимает решения, основываясь на объективных данных. Навыки аналитика как ни...

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

[Из песочницы] Вскрытие покажет: Решаем лёгкий crackme и пишем генератор ключа Доброго времени суток читающий. Мне хочется рассказать тебе про алгоритм решения одного лёгкого crackme и поделиться кодом генератора. Это был один из первых crackme, который я решил. На просторах сети найден был наш подопотный. Это сrackme. Естественно, что необходимо изуч...

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

[Перевод] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1 Перевод статьи подготовлен в преддверии старта курса «Symfony Framework». В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентиф...

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

Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching) Доброго времени суток. Деревья выражений, особенно в сочетании с паттерном Visitor, всегда являлись довольно запутанной темой. Поэтому чем больше разнообразной информации по этой теме, чем больше примеров, тем легче интересующимся будет найти что-то, что им понятно и полезно...

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

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

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

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

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