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

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

[Перевод] Локализация в ASP.NET Core Razor Pages — Культуры Привет, хабр! Прямо сейчас OTUS открывает набор на новый поток курса "C# ASP.NET Core разработчик". В связи с этим традиционно делимся с вами полезным переводом и приглашаем записаться на день открытых дверей, в рамках которого можно будет подробно узнать о курсе, а также за...

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

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

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

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

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

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

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

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

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

Debouncing с помощью React Hooks: хук для функций Здравствуйте! Меня зовут Игорь Шамаев, я главный инженер по разработке в команде SmartData. Занимаюсь fullstack-разработкой внутренней аналитической BI-системы. В нашей компании React принят в качестве основного стандарта для построения пользовательских интерфейсов. Как и бо...

[Перевод] Спецификация D-Bus. Часть 1 Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать пер...

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

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

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

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

Разработка «простого генератора напряжения» в соответствии с ГОСТ Р МЭК 61508 (IEC 61508) В данной статье будут рассмотрены необходимые шаги для создания устройства, отвечающего общим требованиям функциональной безопасности (ФБ). А также будет предложена архитектура простейшего «безопасного» (safety) генератора напряжения. Так как управляя напряжением, можно уп...

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

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

[Перевод] JavaFX — еще не умер Примечание переводчика. Недавно я опубликованных на сайте habr переводы на русский язык нескольких уроков по JavaFX,. И один из моих читателей спросил меня: «А этим сейчас вообще кто-то пользуется?» Неделю назад я увидел пост в блоге Стивена Чина (Stephen Chin) и решил, чт...

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

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

JIRA: правила своевременного приготовления вкусного ПО. TLDR 2: управление требованиями Ранее в статье «JIRA: правила своевременного приготовления вкусного ПО. TLDR 1: границы возможностей» была  предпринята попытка унификации общих требований по применению JIRA в случае управления несколькими проектами по разработке заказного программного обеспечения в одном и...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

[Из песочницы] PRESENT — ультралегкое блочное шифрование (перевод оригинальной статьи PRESENT: An Ultra-Lightweight Block Cipher) Привет, Хабр! Привожу тут перевод оригинальной статьи «PRESENT: An Ultra-Lightweight Block Cipher» за авторством Robert B. Weide Богданова, Лендера, Паара, Пошмана, Робшава, Сеурина и Виккелсоя. Аннотация После внедрения AES потребность в новых алгоритмах блочного шифрова...

Создание графики для nes/dendy Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я ис...

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

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

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

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

[Перевод] Понимание CSS Grid: Создание Grid-контейнера Перевод «Understanding CSS Grid: Creating A Grid Container» Рейчел Эндрю Хотя технология CSS Grid стала поддерживаться некоторыми браузерами еще в 2017 году, у многих разработчиков пока не было возможности использовать её в своих проектах. Технология CSS Grid привносит множ...

[Перевод] Docker передает cnab-to-oci в проект CNAB… и что вообще такое CNAB? Прим. перев.: Эта статья — перевод недавнего анонса из мира контейнеров. В прошлом месяце компания Docker объявила о передаче своей очередной разработки в руки более широкого Open Source-сообщества. Речь шла об инструменте конвертации метаданных CNAB-пакета в формат стандарт...

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

[Перевод] Preload в php 7.4: Composer и выбор файлов для предзагрузки Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней. Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков актив...

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

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

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

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

[Перевод] С чего начать изучение Flutter в 2021 году Как и многие мобильные разработчики, мы с нетерпением ждали презентации Flutter и теперь хотим поделиться с читателями Хабра переводом статьи Tadas Petra о том, как можно выстроить свое обучение, если вы хотите познакомиться с Flutter и кроссплатформенными приложениями в 202...

[Перевод] Свойства Min и Max width/height в CSS Перевод «Min and Max Width/Height in CSS» Ахмада Шадида Порой у разработчиков возникает необходимость ограничить ширину элемента относительно родителя, и в то же время, оставить её динамичной. Задав таким образом начальный размер с возможностью расширения при наличии доступ...

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

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

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

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

[Перевод] Разница между @StateObject, @EnvironmentObject и @ObservedObject в SwiftUI Эту неделю я решил посвятить потокам данных в SwiftUI. В этой статье мы обсудим разницу между обертками свойств (property wrappers) @StateObject, @EnvironmentObject, и @ObservedObject, поскольку я знаю, что это самая запутанная тема для новичков в SwiftUI.Зачем нужны обертки...

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

[Перевод] Вышла Vue 3.2 Эта статья — перевод оригинальной статьи Evan You "Vue 3.2 Released!"Мы рады объявить о выпуске Vue.js 3.2 "Quintessential Quintuplets"! Этот релиз включает в себя множество значительных новых функций и улучшений производительности и не содержит критических изменений. Читать...

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

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

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

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

[Перевод] Использование API Gateway в качестве единой точки входа для веб-приложений и API Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок». Введение Преимущества AWS, такие как высокая доступность, масштабируемость и эластичность, уже доказали свою эффективность для SaaS-провайдеров (Software-as-a-Service). При модернизац...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

[Перевод] Canary Deployment в Kubernetes #1: Gitlab CI Мы будем использовать Gitlab CI и ручной GitOps для внедрения и использования Canary-деплоя в Kubernetes Статьи из этого цикла: (эта статья) Canary Deployment при помощи ArgoCI Canary Deployment при помощи Istio Canary Deployment при помощи Jenkins-X Istio Flagger Выполн...

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

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

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

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

Facebook запустит собственную платежную систему После того, как страны «большой семёрки» (Великобритания, Германия, Италия, Канада, США, Франция и Япония) отклонили проект по выпуску в обращение новой криптовалюты Libra, американская социальная сеть Facebook рассматривает возможность создания собственной электронной плате...

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

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

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

Author.today — пираты под флагом копирайта? Так получилось, что у меня хобби - перевод текстов. И когда-то давным-давно я попал в команду перевода “Червя” - веб-сериала о мире, где люди обрели суперсилы, но остались людьми. Подробнее об этой работе вы можете узнать в этой  статье на хабре. У нас сформировалась ко...

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

[Перевод] Что происходит, когда вы выполняете manage.py test? Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране? К...

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

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

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

Oracle: Deterministic functions, result_cache and operators После перевода статьи Oracle: разница между deterministic и result_cache от Steven Feuerstein, хотелось бы дополнить ее действительно важными деталями их устройства. У меня есть серия статей на эти темы, но тут я хотел бы просто все резюмировать и оставить самое важное. Read...

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

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

[Перевод] Опенсорсные инструменты и пакеты для работы с HTTP API Мы продолжаем серию статей о создании HTTP API с помощью .NET 5. В предыдущей статье мы рассмотрели создание обнаруживаемых HTTP API с помощью ASP.NET Core 5 Web API. В этой статье мы рассмотрим пакеты и инструменты для работы с HTTP API с открытым исходным кодом. Ну что ж, ...

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

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

[Перевод] 10 интересных репозиториев на GitHub, полезных любому разработчику Представляем вам перевод статьи Simon Holdorf, опубликованной на сайте medium.com. В ней вы найдете ссылки на полезные репозитории, с помощью которых можно прокачать навык разработки ПО. Фото с ресурса Unsplash. Автор: Vishnu R Nair GitHub — это лучшая платформа для обме...

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

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

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

[Перевод] Полигоны Another World: Sega Genesis Перевод пятой статьи из серии от Fabien Sanglard, в этот раз про порт Another World на Sega Genesis. Разработка MegaDrive/Genesis началась сразу после того, как Sega выпустила свою Master System ​​в 1987 году. В то время целью Sega было создание чего-то, что превосходит PC E...

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

Переводчик в Google Assistant теперь доступен на смартфонах Компания Google добавила функцию перевода в режиме реального времени на смартфоны с Android и iOS. Помощник прослушает разговор и покажет перевод на экране. После этого он предложит варианты ответов с помощью Smart Replies. Режим переводчика будет более полезным на телефон...

[Перевод] Delta: Платформа синхронизации данных и обогащения В преддверии запуска нового потока по курсу «Data Engineer» подготовили перевод интересного материала. Обзор Мы поговорим о достаточно популярном паттерне, с помощью которого приложения используют несколько хранилищ данных, где каждое хранилище используется под свои цели,...

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

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

Создание отказоустойчивой ИТ инфраструктуры. Часть 3. Организация маршрутизации на роутерах VyOS Основная цель статьи – показать процесс установки и настройки виртуальных маршрутизаторов VyOS на кластере oVirt, для организации связи на уровне L3 между внутренними и внешними сетями. Также в статье будут рассмотрены вопросы, связанные с особенностями настройки выхода в Ин...

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

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

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

5. Часто задаваемые вопросы по Check Point Maestro (FAQ) Мы опубликовали уже 4 статьи (1, 2, 3 и 4) по Check Point Maestro, где довольно подробно расписали предназначение и различные сценарии использования этого продукта. В связи с этим, нас довольно часто и много спрашивают по поводу данного решения. Большинство задает примерно...

Сколько стоит расписание Основные данные вычислительных экспериментов по реорганизации ярусно-параллельной формы  (ЯПФ) информационных графов алгоритмов (ТГА) приведены в предыдущей публикации. Цель текущей публикации – показать окончательные результаты исследований разработки расписаний выполн...

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

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

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

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

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

[Перевод] Алгоритм сжатия Хаффмана В преддверии старта курса «Алгоритмы для разработчиков» подготовили для вас перевод еще одного полезного материала. Кодирование Хаффмана – это алгоритм сжатия данных, который формулирует основную идею сжатия файлов. В этой статье мы будем говорить о кодировании фиксирован...

Система под контролем: как автоматизировать интеграционные тесты Привет! Меня зовут Ксения Якиль. Я пишу core-сервисы на C и Go в бэкенд-отделе Badoo и Bumble. Наш бэкенд — это высоконагруженная распределённая система, обслуживающая пользователей по всему миру. Она оперирует большими массивами данных и делает всю ту магию, благодаря котор...

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

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

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

Honeypot vs Deception на примере Xello На Хабре уже есть несколько статей про технологии Honeypot и Deception (1 статья, 2 статья). Однако, до сих пор мы сталкиваемся с непониманием разницы между этими классами средств защиты. Для этого наши коллеги из Xello Deception (первый и пока единственный российский разраб...

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

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

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

[Перевод] Apache Spark 3.1: Spark on Kubernetes теперь общедоступен С выходом Apache Spark 3.1 в марте 2021-го проект Spark on Kubernetes официально перешел в статус общедоступного и готового к эксплуатации. Это стало результатом трехлетней работы быстрорастущего сообщества, участники которого помогали в разработке и внедрении (изначально п...

Как я разработал мобильную игру на Android с использованием React.js и выложил её в Google Play Store В данной статье рассмотрим все этапы разработки: от зарождения идеи до имплементации отдельных частей приложения, в том числе выборочно будут предоставлены некоторые кастомные куски кода.Данная статья может быть полезна тем, кто только задумывается или начинает разрабатывать...

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

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

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

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

[Перевод] Убийства во имя армии США и видеоигр Армия США давно использует видеоигры для обучения и вербовки Два неожиданных союзника: армия США и индустрия видеоигр. Кто бы мог подумать? [перевод статьи из журнала Ars Technica от декабря 2008 г.] Разные подразделения армии США часто появляются в видеоиграх с самого мом...

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

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

Clickhouse — оконные функции, которых нет… Работу с колоночными базами данных я начал с BigQuery. Когда пришлось “переехать” на Clickhouse я был неприятно удивлен фактом отсутствия полноценных оконных функций. Есть, конечно, множество функций по работе с массивами, функций высшего порядка и прочие функции (одна функц...

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

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

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

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

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

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

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

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

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

[Перевод] Руководство по возможностям Java версий 8-14 Здесь есть все, что вам нужно знать о различных версиях и функциях Java. Java 8, Java 11, Java 13, Java 14 — какая разница? Вы можете использовать это руководство, чтобы получить практическую информацию о том, как найти и установить последнюю версию Java, понять различия ме...

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

Почему следует избегать использования JPA/Hibernate в продакшене JPA безусловно самая распространённая технология работы с базами данных на платформе Java. Но она же и наименее пригодна для разработки быстрых и поддерживаемых систем. В этой статье я расскажу почему JPA лучше не использовать в продакшене и что можно использовать вместо неё...

[Перевод] Как достичь Уровня 5 по модели CMM в области QA и тестирования Перевод статьи подготовлен специально для студентов курса Python QA Engineer. В этой статье мы поговорим о том, что такое уровни СММ и как их достичь в QA-процессах, а также рассмотрим доступные и понятные примеры. Для любого процесса, будь то процесс контроля качества,...

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

[Перевод] Что под капотом компиляторных оптимизаций GraalVM? Продолжаем разбираться с работой GraalVM, и на этот раз у нас перевод статьи Aleksandar Prokopec «Under the hood of GraalVM JIT optimizations», изначально опубликованной в блоге на Medium. В статье есть несколько интересных ссылок, позже мы постараемся перевести и эти статьи...

[Перевод] Хорошо подумайте, прежде чем использовать Docker-in-Docker для CI или тестовой среды Docker-in-Docker представляет собой виртуализированную среду Docker-демон, запущенную в самом контейнере для сборки образов контейнера. Основной целью создания Docker-in-Docker была помощь в разработке самого Docker. Многие люди используют его для запуска Jenkins CI. Понач...

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

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

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

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

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

[Перевод] Объединяем функции логическими операторами в C++ В преддверии старта занятий в новом потоке группы «Разработчик С++» подготовили перевод интересного материала. Большинство алгоритмов STL в C++ используют всего лишь одну функцию для выполнения некоторой работы над коллекцией. Например, чтобы извлечь все четные числа из ко...

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

[Перевод - recovery mode ] Zettelkasten: как один немецкий учёный стал невероятно продуктивным Изображение предоставлено автором. Основано на фотографии Патрика Томаса с Ансплэша Это перевод статьи Дэвида Клира о методе ведения заметок Zettelkasten, благодаря которому немецкий социолог Никлас Луман написал более 70 книг и 400 научных статей. Стоит читать, если вы хо...

[Перевод] Привлечение и удержание художников в open-source играх Автор оригинальной статьи — Jetrel. Художник, который активно участвует в проектах Open Source игр. Несколько лет назад он был «арт-директором» игры Battle for Wesnoth. Кроме того, он сделал львиную долю арта для Frogatto and friends и продолжает работать над этой игрой. По...

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

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

Знакомство с pg_probackup. Первая часть Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup. Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличи...

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

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

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

Вы вряд ли угадаете разницу в скорости зарядки Samsung Galaxy S20 Ultra при использовании ЗУ мощностью 25 и 45 Вт Как известно, смартфон Samsung Galaxy S20 Ultra поддерживает 45-ваттную зарядку, но в комплекте с ним поставляется лишь 25-ваттная. Недавно мы узнали, насколько быстро заряжается флагман при использовании более мощного ЗУ. Теперь же у нас есть возможность сравнить эти д...

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

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

Как Youtube и Instagram: интернационализация и локализация приложения на Python Язык Python лежит в основе всемирно известных приложений, таких как Youtube, Instagram и Pinterest. Для продвижения на мировом рынке приложению необходима локализация, то есть адаптация к особенностям той или иной страны, и интернационализация – перевод контента. В статье мы...

Пишем расширение для Burp Suite с помощью Python Привет, Хабр!Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям созда...

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

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

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

[Перевод] Путь к Global Talent Visa в UK В мае 2021го я получил Talent Visa от правительства Великобритании, с одобрения Tech Nation как Exceptional Talent. В этой статье я хотел бы задокументировать свой путь к ней. Быть может это поможет кому-то еще. На Хабре уже была отличная статья на эту тему. Моя статья предс...

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

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

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

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

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

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

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

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр) К сожалению, концепция криптовалют, несмотря на своё изящество, не нашла понимания у основной массы пользователей. "Среднему пользователю" неважно, лежат ли его деньги в распределённом блокчейне или на каком-то конкретном сайте. Для него это всё равно "где-то в сети". Когда ...

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

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

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

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

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

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

[Перевод] Как устроен процесс создания docker-контейнера (от docker run до runc) Перевод статьи подготовлен в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes». За последние несколько месяцев я потратил немало личного времени на изучение работы Linux-контейнеров. В частности, что конкретно делает docker run. В этой статье я соб...

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

[Перевод] Дизайн-токены способны на большее: создаем единый источник информации о компонентах UI Термином «дизайн-система» в IT давно никого не удивишь. Компании систематизируют дизайн продуктов, придумывая свои или используя чужие инструменты для управления стилями, паттернами и компонентами.  Badoo не является исключением: с помощью нашей дизайн-системы Cosmos мы подд...

Как я делал 2D тени в Unity Что первое приходит в голову разработчику инди-игры, когда он сталкивается с необходимостью добавления фичи, представления о реализации которой толком не имеет? Разумеется, он идёт искать следы тех, кто уже прошёл этот путь и удосужился записать свой опыт. Так поступил и я н...

[Перевод] 6 уроков, извлечённых из опыта оптимизации производительности Node.js-сервиса В компании Klarna прилагают большие усилия к тому, чтобы помочь разработчикам в создании высококачественных и безопасных сервисов. Один из инструментов, который предназначен для разработчиков, представляет собой платформу для выполнения A/B-тестов. Важнейшим компонентом этой...

The Layout Engine в Swift Многие iOS разработчики не задумываются как работает механизм отрисовки элементов, установки и обновлении constraints в Auto Layout'e. В этой статье я пробую подробно заглянуть внутрь работы the Layout Engine Читать далее

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

Реальный способ улучшения снимка без фоторедакторов Изначально, статья должна была быть присвоена теме улучшения снимков с помощью приложения для фото на основе алгоритмов искусственного интеллекта (https://play.google.com/store/apps/details?id=wide.android.camera&hl=uk), но разница между стандартным приложением фотокаме...

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

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

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

Про перевод «практики», «практичности» и пр Безусловным лидером и локомотивным вариантом для перевода около-«практичных» фраз являются производные от фраз in practice/practical: Если, например, Volvo начнет меньше акцентировать безопасность своих автомобилей и больше упирать на блестящий стиль, это может оттолкнуть о...

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

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

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

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

Чего ждать от Java в 2020 году? 2020 уже в разгаре, давайте же обсудим, какие изменения в мире Java нас ожидают в этом году. В этой статье перечислю основные тренды Java и JDK. И буду рад дополнениям от читателей в комментариях. Сразу оговорюсь, что статья носит скорее ознакомительный характер. Детали по ...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

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

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

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

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

Так ли страшна Exynos 990? Разница с SoC Snapdragon 865 при обычном использовании минимальна Мы уже не раз убеждались в том, что SoC Exynos 990 однозначно хуже Snapdragon 865, а это значит, что смартфоны Samsung линейки Galaxy A20 на основе первой хуже аналогичных на основе второй. Но тут есть важный нюанс. Основная проблема Exynos 990 — нагрев, троттлин...

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

[Перевод] Мониторинг распределённых систем — опыт Google (перевод главы книги Google SRE) SRE (Site Reliability Engineering) — подход к обеспечению доступности веб-проектов. Считается фреймворком для DevOps и говорит как добиться успеха в применение DevOps-практик. В этой статье перевод Главы 6 Monitoring Distributed Systems книги Site Reliability Engineering о...

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

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

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

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

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

[Перевод] JavaScript tree shaking, like a pro Это перевод статьи об оптимизации и уменьшении размера бандла приложения. Она хороша тем, что тут описаны best practices, советы, которых стоит придерживаться, чтобы тришейкинг работал и выкидывал неиспользуемый код из сборки. Она будет полезной многим, потому что сейчас все...

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

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

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

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

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

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

[Перевод] Как работает гистограмма Prometheus? Перевод статьи подготовлен в преддверии старта курса «Мониторинг и логирование: Zabbix, Prometheus, ELK». Ранее мы рассматривали счетчик (counter), измеритель (gauge) и сводку (summary). Теперь же давайте поговорим о том, как работает гистограмма (histogram) в Prometheus....

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

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

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

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

[Перевод] Создаем план действий с помощью AWS Cloud Adoption Framework Перевод статьи подготовлен специально для студентов курса «Cloud Solution Architecture». Источник Скачать руководство Планы действий AWS CAF помогут вам подготовиться к переходу на облачный стек технологий. Путешествие начинается с того, что ваша команда руководителей...

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

Fortinet Security Fabric на практике. Часть 3. FortiAP Всем привет! В нашей прошлой статье мы рассказали об устройстве FortiSwitch и его основных функциональных возможностях. Вторая часть решения от компании Fortinet для обеспечения защищенного доступа - точки доступа FortiAP. Сегодня мы хотим рассказать о них. В планах - расска...

[Перевод] Безопасная работа с секретами при сборке в Docker Compose Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Когда вы собираете Docker-образ вам могут понадобиться секреты, например, пароль к приватному репозиторию пакетов. Вы не хотите, чтобы этот секрет в конечном итоге оказался в образе, потому ...

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

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

ExtendScript Работа с файлами Всем привет.В предыдущей статье я рассказал, как написать скрипт для Adobe After Effects. Напомню, что наш скрипт создает окно в интерфейсе программы. В этом окне можно вводить и выполнять код Extendscript - язык сценариев для программ Adobe. Теперь хочу предложит вам некото...

[Перевод] Разница между фальшивыми и истинными смещениями в 3D-графике Bump maps (рельефные текстуры), Normal maps (карты нормалей), Displacement и Vector Displacement — вероятно, вы уже сталкивались хотя бы с одним из этих терминов. Несмотря на то, что о них уже есть много информации, похоже, многие путают их различия и последствия использова...

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

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

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

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

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

Основы Bash-скриптинга для непрограммистов. Часть 3 Во второй части статьи мы обсудили файлы скриптов, их параметры и права доступа. Также поговорили про операторы условного выполнения, выбора и циклы. В этой, заключительной части мы рассмотрим функции и планировщик заданий cron. Также приведу различные полезные команды и ссы...

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

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

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

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

[Перевод] Переход к «Meta GSAP»: поиски «идеальной» бесконечной прокрутки Уже послезавтра, 14 мая, стартует новый поток курса Python для веб-разработки, поэтому мы решили поделиться переводом о не совсем очевидной, но интересной области разработки сайтов — анимации анимации. Автор не просто даёт готовый рецепт, но шаг за шагом показывает, как сдел...

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него. BPF сейчас на пике популярности. Технология развивается сем...

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

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

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

Telegram бот на Firebase В основном, про Firebase рассказывают в контексте создания приложений под IOS или Android. Однако, данный инструмент можно использовать и в других областях разработки, например при создании Telegram ботов. В этой статье хочу рассказать и показать насколько Firebase простой и...

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

[Перевод] Цены и затраты на Serverless: AWS Lambda Привет, Хабр! Стараюсь делать переводы лучше и буду рад вашей критике. (Примечание: цены являются точными по состоянию на август 2018 года) В сервисе AWS Lambda существует 263 позиции с уникальными ценниками. Например, они могут называться “Accelerated InterRegion Inbound u...

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

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

Relay атаки Статья расскажет о том, какие Relay атаки существуют на сегодняшний день и как их воспроизводить, какие основные инструменты для проведения данных атак при тестировании на проникновение можно использовать, а также будет рассмотрена Relay атака на Active Directory. Читать дал...

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

Создаем прогрессивное веб-приложение на ReactJS и размещаем его в Netlify и PWA Store Доброго времени суток, друзья! Представляю Вашему вниманию перевод серии статей автора K G Prajwal, посвященных созданию Weather PWA на ReactJS, разворачиванию приложения в Netlify и его загрузке в PWA Store. React React — продукт Facebook. Это очень гибкая и эффективная J...

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

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

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

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

Топ-3 HTML-элемента, которые мы забыли Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 3 HTML elements that we forgot» автора Stas Melnikov. Недавно я прочитал спецификации и понял, что мы используем ограниченный набор HTML-элементов. Поэтому хотел бы рассказать о трёх элементах, которые мы забыли,...

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

IKEv2 туннель между MikroTik и StrongSwan: EAP ms-chapv2 и доступ к сайтам Идея статьи возникла желании пропускать определенные сайты через VPN-туннель напрямую через маршрутизатор. Так как количество устройств дома велико, а пускать весь трафик через VPN неудобно в связи с низкой пропускной способностью туннеля. Статья написана сразу после создани...

Android-смартфоны 2020 года получат эксклюзивную технологию iPhone 11 Apple не удастся сохранить Ultra Wideband в качестве эксклюзивной функции iPhone Несмотря на то что Apple довольно часто предпочитает оттягивать внедрение тех или иных функций iOS до последнего момента, по части инноваций у неё всё более чем в порядке. Кажется, не проходит и...

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

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

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

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

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

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

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

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

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

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

Как мы делали мобильный банк для «Авроры»: особенности разработки для отечественной мобильной ОС Недавно мы закончили разработку приложения для мобильного интернет-банкинга под ОС «Аврора» — единственную российскую мобильную операционную систему. Всего за пару месяцев мы создали приложение, которое дает доступ ко всем основным услугам банка ВТБ. Через приложение можно о...

Трансформация Android-разработки с Jetpack Compose и Корутинами Jetpack Compose — одна из наиболее обсуждаемых тем из серии видео про Android 11, заменивших собой Google IO. Многие ожидают от библиотеки, что она решит проблемы текущего UI-фреймворка Android, содержащего много легаси-кода и неоднозначных архитектурных решений. Другим не м...

Fluentd: почему важно настроить выходной буфер В наше время невозможно представить проект на базе Kubernetes без стека ELK, с помощью которого сохраняются логи как приложений, так и системных компонентов кластера. В своей практике мы используем стек EFK с Fluentd вместо Logstash. Fluentd — это современный универсальный ...

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

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

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

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

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

[Перевод] 9 полезных трюков HTML Приветствую, Хабр! Представляю вашему вниманию перевод статьи «9 Extremely Useful HTML Tricks» автора Klaus. У HTML есть много практических секретов, которые могут вам пригодиться. Но я хочу убедиться, что сайт работает в Internet Explorer и других браузерах. Я использую ...

[Из песочницы] Riak Cloud Storage. Часть 1. Настройка Riak KV Riak CS (Cloud Storage) – лёгкое в использовании программное обеспечение для организации хранилища объектов, работающее поверх Riak KV. Riak (KV) это распределённая NoSQL база данных типа «ключ-значение(key-value)». Riak CS спроектирована так, чтобы обеспечить простоту, дост...

Создаем структуру простого мультиплатформенного бота Регистрация пользователей на мероприятия, автоматический поиск ответов в базе, общение с техподдержкой, обмен контактами — все это часть функций нашего бота Leader-ID. Он «живет» на трёх платформах: VK, Facebook Messenger и Telegram, при этом логика его работы пишется один р...

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

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

Wrike: 5 лет с OKR Тема OKR (Objectives and Key Results) сейчас становится все более популярной в бизнесе. Во многих компаниях рассматривают возможность внедрить у себя эту методологию. Мы в Wrike перешли на OKR в 2015 году, и на тот момент это была достаточно новая и малоизученная тема, по кр...

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

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

Книга «Clojure на производстве» Неделю назад в издательстве "Ридеро" вышла книга "Clojure на производстве". Как ее автор, расскажу о ней подробнее: что внутри и кому она полезна. Общие сведения Это книга о том, как применять Clojure в настоящих условиях: не сортировать списки в олимпиа...

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

[Из песочницы] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта) Это первая статья по в данной теме, всего их планируется 3: * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular) Общение между микро-приложениями Работа с git (deploy, обновления) Оглавление Общая час...

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

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

[Перевод] Как начать заниматься Bug Bounty Друзья, в этом месяце Otus запускает набор на новый курс — «Безопасность приложений». В преддверии старта курса традиционно подготовили для вас перевод полезного материала. Как начать заниматься Bug Bounty? Этот вопрос весьма распространенный, и я продолжаю получать его в ...

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

Автоматизация работы сетевого администратора. Часть 3. Знакомство с Paramiko Всех приветствую, продолжаем рассматривать полезные инструменты для работы сетевого инженера или администратора. Для тех, кто только начал изучение темы с текущей статьи, напомню что мы поговорили о концепции SDN и достаточно подробно рассмотрели инструмент TelnetLib с практ...

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

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

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

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

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

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

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

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

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

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

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

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

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

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

Как реализовать интеграцию с ЕСИА на Java без лишних проблем Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), ― она позволила распознавать личность человека и получать о ней данные в...

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

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

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

IoT там, где вы не ждали. Разработка и тестирование (часть 1) Применением IoT в фитнес-трекерах, колонках, пылесосах уже никого не удивишь. Думали ли вы, что различные датчики можно установить в мусорные контейнеры и мусоровозы для контроля вывоза мусора? Звучит странно и вызывает вопрос: «А зачем?». Анатолию Коровину случилось порабо...

Шесть рецептов для начинающего тимлида: как всё успевать и развивать команду Привет! Меня зовут Дмитрий Ли, я тимлид одной из команд разработки бэкенда в Badoo. Когда я впервые стал тимлидом, я стал активно посещать конференции и читать умные книги об управлении командой. Однако в моей работе после этого менялось немногое. Я читал о том, каким я д...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

[Перевод] Лёгкий способ сделать крохотный USB-хаб для Raspberry Pi Перевод статьи с сайта самодельщика Retrocution Бывало у вас такое, что вам не хватает USB-портов при создании проекта на Raspberry Pi Zero? Притом внешние USB-хабы или HATS не подходили из-за ограничений по размеру? Если да, или если вы просто ищете себе интересный проек...

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

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

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

[Из песочницы] Вторая часть перевода книги Дэвида Кушнера «Masters of Doom». Главы 6-12 Закончен и выложен на Ваш суд перевод книги Дэвида Кушнера «Masters of DOOM». Как полностью подготовленный для печати вариант, так и исходный код, в случае, если кто-то решит внести свои изменения. Когда брался за перевод — было интересно узнать подлинную историю одной и...

Xiaomi, Oppo и Vivo представили полноценный аналог AirDrop На Android появился настоящий аналог AirDrop Несмотря на свою универсальность и открытость, Android никогда не имела полноценной экосистемы. Конечно, с приложениями, облачными хранилищами и прочими сервисами у операционной системы Google проблем никогда не было. Но когда реч...

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

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

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

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

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

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

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

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

[Перевод] Перевод OWASP API Security Top 10 Эта статья - перевод OWASP API Security Top 10, опубликованного в 2019 году. Проект состоит из десяти наиболее актуальных рисков безопасности API. Полная версия документа на русском языке опубликована здесь. Читать далее

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

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

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

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

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

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

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

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

Правила своевременного приготовления вкусного программного обеспечения. Часть 1: границы возможностей Ранее в статье «JIRA как средство от бессонницы и нервных срывов» был предложен вариант применения JIRA для управления проектом по разработке программного обеспечения в интересах крупного государственного заказчика. Однако неосторожное обращение со средствами автоматизации у...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

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

Настройка BGP для обхода блокировок, версия 3.1. И немного Q&amp;A Близится кожаная свадьба Роскомнадзора с Телеграмом, именно 16 апреля 2018 года начался крестовый поход, ставший фактически символом уничтожения интернета в России, хотя в глобальной войне, начавшейся в 2012 году, он был всего лишь ярким эпизодом. Ковровые блокировки в испол...

Как украсть Macbook У меня несколько раз воровали макбуки и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат мо...

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

Оценочный уровень доверия (ОУД4) и ГОСТ Р ИСО/МЭК 15408-3-2013. Введение Привет, Хабр!В настоящее время в ИТ индустрии крайне актуальна тема построения процесса безопасной разработки ПО (по англ. «Secure SDLC» или «Secure software development life cycle»). Некоторые организации и команды самостоятельно приходят к необходимости такого процесса в с...

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

Переводчик на iPhone: Как пользоваться встроенной программой Перевод в iOS В iOS 14 (обзор всех новых функций) компания Apple добавила новое приложение «Перевод». Нетрудно догадаться, хотя бы по названию, что программа предназначена для перевода с одного языка на другой. Приложение «Перевод» имеет несколько полезных функций, которые окажутся удобны...

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

Эксперимент в распознавании рукописных текстов на кириллице. Часть 2 Всем привет! В этой части хочу рассказать как мы использовали модель NomeroffNet предназначенного для распознавания автомобильных номеров, распознать рукописные записи. В предедущей статье я поделился опытом в использовании моделей SimpleHTR и LineHTR для распознавания рукоп...

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

[Перевод] «Привет, мир»: разбираем каждый шаг хэш-алгоритма SHA-256 SHA-2 (Secure Hash Algorithm), в семейство которого входит SHA-256, — это один самых известных и часто используемых алгоритмов хэширования. В тексте подробно покажем каждый шаг работы этого алгоритма на реальном примере. SHA-2 отличается безопасностью (его тяжелее взломать,...

«Google Переводчик» поможет вам лучше понимать иностранную речь Google Translate научится переводить диалоги Удобство приложений и сервисов Google действительно сложно переоценить. YouTube, Google Maps, Google Assistant, Google Search – каждый из этих и многих других продуктов поискового гиганта считается лучшим в своём роде. Но успех пр...

Склонение слов и инициалов в Delphi/Freepascal Добрый, предновогодний день всем! В этой статье я бы хотел рассказать, как мне пришлось вернуться в legacy-проект на паскале, причем буквально перед тем, как навсегда распрощаться и с ним, и с лазарусом, и с отсутствием темной темы из коробки. В прошлый раз я объяснял, что н...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

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

SVGator.com на практике Как мы пришли к SVGator.com Digital-рынок сегодня насыщен хорошими решениями, тренды не стоят на месте, одним из доминантных признаков качества становится анимация интерфейса. В рамках разработки группы продуктов Своё и банковских сервисов Россельхозбанка мы с командой рассм...

[Из песочницы] Играй как гейм-дизайнер "Играй как гейм-дизайнер" — одна из самых популярных рекомендаций для тех, кто делает свои первые шаги в профессии. Что же на самом деле скрывается за этими словами? Авторы книг и статей рекомендуют играть как можно больше, играть в игры разных жанров, играть не то...

SoC Exynos 990 оправдана? Тест показал, что с автономностью у такой версии всё тоже не так страшно Вчера мы убедились в том, что актуальные флагманы Samsung на платформе Exynos 990 при обычном использовании без «тяжёлых» игр работают условно так же быстро, как и модификации на Snapdragon 865. При этом мы знаем, что у первых остаются проблемы с автономност...

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

[Перевод] Wasm или не Wasm? Мы, в компании Linkurious, занимаемся работой над Linkurious Enterprise. Это — веб-платформа, которая, используя возможности графов и средства их визуализации, призвана помогать компаниям и органам власти, расположенным по всему миру, бороться с финансовыми преступлениями. ...

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

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

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

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

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

[Из песочницы] Краткое сравнение архитектуры SDS или поиск подходящей платформы хранения (GlusterVsCephVsVirtuozzoStorage) Данная статья написана для того, чтобы помочь выбрать для себя подходящее решение и понять отличия между такими SDS как Gluster, Ceph и Vstorage (Virtuozzo). В тексте используются ссылки на статьи с более детальным раскрытием тех или иных проблем, поэтому описания будут мак...

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

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

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

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

Разница между cPanel и Plesk Obsidian Мы продолжаем рассказывать об удобных многофункциональных веб-консолях (панелях управления хостингом и сайтами), которые вы можете приобрести у нас вместе с VPS — об условиях приобретения читайте в конце статьи. Некоторые сравнения-обзоры консолей, которые есть в нашем арсен...

[Из песочницы] 5 причин, по которым моушн дизайн помогает вам общаться с людьми Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Reasons Motion Graphics Help You Connect With People» автора Katy French. Оригинал статьи: Katy French | Перевод статьи сделал моушн дизайнер Игорь Царёв Мы большие поклонники моушн дизайна. Это не потому, что о...

[Перевод] Как создавать предметы генеративного искусства с помощью L-систем на языке Python Мы уже писали о поле течений, при помощи которого можно генеративно рисовать невероятно красивые, завораживающие линии. Сегодня, к старту курса о Fullstack-разработке на Python, мы решили продолжить тему. Представляем перевод статьи, автор которой рассказывает, как генериров...

Лучше своими руками: как мы сделали мобильное приложение Perekrestok.ru inhouse Привет! Меня зовут Мария Тимофеева, я директор по продукту онлайн-супермаркета Perekrestok.ru. К выходу нашего нового мобильного приложения мы решили рассказать, как делали текущую версию, сколько багов собрали и как пришли к выводу, что в нашем случае inhouse-разработка ока...

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

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

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

[Перевод] 7 способов повысить эффективность автоматизации тестирования в Agile разработке Перевод статьи подготовлен в преддверии старта курса «Java QA Engineer». Разработка программного обеспечения — процесс сложный. Еще на заре разработки программного обеспечения как дисциплины архитекторы поняли, что без структуры управления этот процесс превращается в хао...

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

Внедрение зависимостей – проще, чем кажется? Привет, Хабр! У нас готовится к выходу второе издание легендарной книги Марка Симана, «Внедрение зависимостей в .NET» Поэтому сегодня мы решили кратко освежить тему внедрения зависимостей для специалистов по .NET и C# и предлагаем перевод статьи Грэма Даунса, где эта пар...

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

Тестирование в Kotlin при помощи Spock Цель статьи заключается в том, чтобы показать какие возникают трудности при использовании Spock с Kotlin, какие есть пути их разрешения и ответить на вопрос, стоит ли использовать Spock, если вы разрабатываете на Kotlin. Подробности под катом. Читать дальше →

Анатомия юнит-теста Эта статья является конспектом книги «Принципы юнит-тестирования». Материал статьи посвящен структуре юнит-теста.В этой статье рассмотрим структуру типичного юнит-теста, которая обычно описывается паттерном AAA (arrange, act, assert — подготовка, действие и проверка). З...

[Из песочницы] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:...

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

[Перевод] Sysbench и распределение случайных величин Перевод статьи подготовлен специально для студентов курса «Базы данных». То, что вы, возможно, не знали о генерации случайных чисел в sysbench Sysbench — это популярный инструмент для тестирования производительности. Первоначально он был написан Петром Зайцевым в начале ...

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

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

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

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

Создание шутера с LeoECS. Часть 1 Друзья, это первая статья по фреймворку LeoECS из предстоящей серии, которая позволит вам быстрее понять, как работать с LeoECS в Unity и решить некоторые виды проблем, возникающих на практике. Все советы, изложенные в них, не представляют собою какой-то свод правил, способы...

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

[Перевод] Terraform, моно-репозитории и compliance as code Всем привет. OTUS открыл набор в новую группу по курсу «Инфраструктурная платформа на основе Kubernetes», в связи с этим мы подготовили перевод интересного материала по теме. Возможно, вы один из тех, кто использует terraform для Infrastructure as a Code, и вам интересно...

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

Компания ZTE Corporation создала уникальное решение SuperDSS Компания ZTE Corporation (0763.HK / 000063.SZ), крупный международный поставщик телекоммуникационных решений, а также корпоративных и потребительских технологий для мобильного Интернета, представила свою разработку SuperDSS — уникальное решение для динамического распре...

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

Опыт создания продукта в России, или Как создавался “народный” беспроводной пылесос Всем привет! Андрей – предприниматель, CIO, CEO и кайтер. Несколько лет назад я пошел по пути создания и запуска собственного продукта «с нуля» на отечественном рынке (беспроводной пылесос). В этой статье хочу поделиться своим опытом с начинающими и действующими предпринимат...

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

Сбер запускает сервис речевых технологий До конца года доступ к сервису, разработанному командой SberDevices, будет бесплатным.SmartSpeech можно использовать на сайтах, в приложениях или умных устройствах для озвучивания контента и команд или голосового ввода. Также используемые в сервисе технологии синтеза и распо...

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

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

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

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

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

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

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

3.  Континент 4 Getting Started. Контроль доступа Приветствую читателей в третьей статье цикла Континент Getting Started, где рассказывается о UTM решении от компании Код Безопасности. В прошлой статье был описан процесс установки узла безопасности и произведена его первоначальная настройка. В этой статье мы более подробно ...

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

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

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

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

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

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

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

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

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

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

[Перевод] Делаем машину для намотки тороидальных катушек на базе Arduino Перевод с сайта Electric DIY Lab Всем привет, представляю вам изготовленную мною машину для намотки тороидальных катушек на базе Arduino. Машина автоматически наматывает проволоку и поворачивает тороид. В качестве интерфейса я использовал энкодер и ЖК-экран 16×2. Пользова...

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

Парсер командной строки на .NET5 Сегодня мы собираемся показать вам, как начать парсинг аргументов командной строки. Кстати, это один пост из серии статей о .NET 5. У нас есть еще много интересного.Приложения командной строки, также известные как консольные приложения, - это программы, созданные для использ...

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

Cisco Webex преодолевает языковой барьер. Онлайн-перевод с английского на русский уже возможен С марта 2020 года пользователи Webex начинают использовать перевод в режиме реального времени с английского на более сотни языков, в том числе русский. Основанный на технологиях машинного интеллекта, онлайн-переводчик для Cisco Webex дополняет функцию транскрипции speech-to-...

[Перевод] Мягкие частицы в WebGL и OpenGL ES Системы частиц это одни из самых простых способов сделать 3D сцену визуально богаче. В одном из наших Android приложений 3D Buddha Live Wallpaper достаточно простая сцена, которой было бы неплохо добавить чуть больше деталей. И когда мы думали как добавить разнообразия изобр...

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

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

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

[Перевод] Как выполняются арт-тесты для игр Введение Меня зовут Джонджо Хемменс, я художник по окружениям (Environment Artist) и только начинаю свой путь в индустрии видеоигр. В этой статье я объясню, что такое арт-тесты, покажу примеры успешных тестов с ArtStation, расскажу о правилах и этикете, а также процитирую с...

«Образование для образованных». Проработка книги На неделе прочитал книгу "Образование для образованных 2020", написанную Левенчуком А.И. Впечатление о ней у меня сложилось двоякое. Статья будет полезна людям, желающим её прочитать. Дальше я расскажу, чего ожидать от прочтения, а чего не стоит. Читать далее

Собеседование php-developer в 2020 Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому...

WireGuard Server на Windows Подозреваю, что я не один такой, кто держит дома в режиме 24/7 маленький и тихий системный блок с Windows в качестве сервера, на который можно зайти по RDP (с того же смартфона) и несколько переживает в связи с количеством «неслучайных» попыток к нему подключиться. Кому инте...

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

[Перевод] Kha vs HTML5: Компилируем JavaScript в C++ Предлагаю вашему вниманию перевод доклада Роберта Конрада с прошедшего в октябре прошлого года HaxeUp Sessions 2019 Linz. Данный доклад посвящен процессу портирования на консоли игры CrossCode, изначально написанной на HTML5. Если вам понравится перевод, то рекомендую также ...

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

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

Принцип единственной ответственности: глубокое погружение Про принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые ...

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

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

[Из песочницы] Оптимизация загрузки изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «How to optimize image loading on your website». Если на сайте много красивых изображений, то это здорово, но они могут значительно ухудшить время загрузки и как результат — пострадает SEO, а многие пользователи будут...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

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

[Из песочницы] [Перевод] От пиратства к опенсорс: моя история Привет, Хабр! Предлагаю Вашему вниманию перевод статьи "From piracy to open-source: my story" автора Jakob Attkinson. Я рос с компьютером с 6 лет. Хотя я и был рожден в довольно небогатой семье, мой отец осознавал мощный потенциал технологий и хотел быть уверенны...

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

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

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

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

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

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

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

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

Полный обзор 3D принтера QIDI Tech X-Maker, на что он способен в опытных руках Сегодня поговорим о QIDI Technologies X-Maker, бюджетном 3D принтере с закрытой рабочей камерой, который будет интересен новичкам, продвинутым мейкерам, малому бизнесу, а также студентам, преподавателям. Этим устройством китайская компания QIDI Technology продолжает свою тра...

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

Летом состоится релиз приключения Peaky Blinders: Mastermind по мотивам сериала «Острые козырьки» Студия FuturLab и издатель Curve Digital анонсировали игру Peaky Blinders: Mastermand. Это приключение с элементами головоломки по мотивам сериала «Острые козырьки». Отмечается, что в написании сценария участвовал Стивен Найт, автор самого шоу. История в игре будет совпадат...

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

Halt and Catch Fire — команда, заслужившая экранизацию Приветствую всех Хабрачан и Хабрачанок! Спасибо всем вам за такую поддержку! Мы вместе прошли долгий и интересный путь по вселенным всех ключевых фильмов и сериалов в мире IT. Мы вместе пытались разобраться в сериале «Мистер Робот», вместе обсуждали лучшие комедии о нас с в...

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

[Перевод] Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)". 1.1 Что такое Decision Tree? 1.1.1 Пример Decision Tree Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В ...

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

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

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

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

[Перевод] WebRTC для любопытных (часть 1) Данный материал - это вольный перевод онлайн-книги webrtcforthecurious.com. Вся книга будет разбита на отдельные статьи, которые будут выходить в разное время. В основном я это сделал для себя в будущем, так как в свободное от работы время почти целиком и полностью занимаюсь...

[Перевод] Почему стоит начать использовать FastAPI прямо сейчас Привет, Хабровчане! В преддверии старта занятий в группах базового и продвинутого курсов «Разработчик Python», мы подготовили для вас еще один полезный перевод. Python всегда был популярен для разработки легковесных веб-приложений благодаря потрясающим фреймворкам, таким к...

Клин клином: использование вируса PIV5 для создания вакцины против MERS-CoV и, возможно, против SARS-CoV-2 Учитывая сложившиеся обстоятельства, вовсе неудивительно, что научное сообщество сконцентрировало все свои силы на поиск и разработку методик и инструментов для борьбы с распространяющимся вирусом. Сегодня мы рассмотрим исследование, в котором ученые из Американского общес...

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

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

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

[Перевод] Быстрый поиск файлов От переводчика: предлагаю вашему вниманию перевод очень старой статьи, опубликованной 15 января 1983 года. Несмотря на столь внушительный возраст, статья показалась мне интересной, и возможно, что она будет полезной для кого-то и сегодня. На эту статью, кстати, ссылается раз...

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

Huawei P40 Pro против Xiaomi Mi 10 Pro — какой смартфон быстрее? Huawei P40 Pro — это лучший камерофон на сегодняшний день, если ориентироваться на рейтинг DxOMark. Правда, там пока нет свежего флагмана Samsung. Xiaomi Mi 10 Pro отстаёт от лидера всего на четыре балла, при этом в этом году флагман Xiaomi вполне сопостав...

[Перевод] Руководство по FFmpeg libav Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg в качестве библиотеки (в дальнейшем в тексте — libav, т.е. library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая,...

Python &amp;amp; EEL. Делаем просто на Python’е и красиво на JS Тема красивых интерфейсов была и будет актуальна всегда, кто-то использует для создания графических приложений C#, кто-то использует Java, кто-то уходит в дебри C++, ну а кто-то извращается с Python, используя tkinter или PyQT. Существуют различные технологии, позволяющие со...

Установка Ispconfig3 на ubuntu 20.04 (nginx+php-fpm+mysql) ISPConfig - бесплатная панель управления хостингом с открытым исходным кодом c возможностью управлять несколькими серверами из одной панели управления. Это один из лучших вариантов для веб-студий, хостинг-компаний, а так же для всех, кто ищет бесплатную панель управления хос...

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

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

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

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19] RFID – это технология для бесконтактных радио-меток, используем...

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

[Перевод] 10 практических рекомендаций по безопасности образов Docker. Часть 1 Перевод статьи подготовлен специально для студентов курса «Безопасность Linux». В этой статье мы хотели бы сосредоточиться на Docker и обсудить советы и рекомендации, которые обеспечивают более безопасный и качественный процесс обработки образов Docker. Итак, начнем с н...

Google представила новый режим для «Google Переводчика» Google представила обновление Google Переводчика, которое изменит восприятие сервиса «Google Переводчик» — явно не тот сервис, которому нужны постоянные обновления. Нет, конечно, повышение точности интерпретации языков или понимания контекста, от которого может напряму...

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

Где логика?! История тестирования одного микросервиса Эта статья — расшифровка доклада Дениса Кудряшова, QA-инженера Leroy Merlin, с конференции QA Meeting Point 2020. Денис рассказал, как столкнулся со сложной логикой, реализованной в сервисе, применил подход Control Flow Testing, и что из этого вышло. Из текста вы узнаете, мо...

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

[Из песочницы] Почему разработчики такие медленные: распространенные проблемы и их решения Привет, Хабр! Представляю вашему вниманию перевод статьи Why Development Teams are Slow: Common Software Jams and Solutions автора Эрика Эллиота. Если вы больше любите слушать, чем читать, то в аудио формате перевод доступен на Яндекс.Музыке и в Apple Podcasts Давайте ра...

Все собеседования и найм работников у нас теперь удаленные В Parallels 10 офисов по всему миру: в России, США, Европе, Китае, Японии, Австралии, Лондоне и других странах. Поэтому масштабы нынешнего коронакалипсиса стали нам понятны достаточно рано. В компании еще в феврале этого года всем сотрудникам рекомендовали «припарковать» з...

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

[Перевод] Cloudflare PHP API Binding Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Для тех разработчиков, которые используют PHP 7.0 или выше, Cloudflare предоставляет PHP API биндинг. Он поддерживает последнюю четвертую версию API Cloudflare. Вы можете использовать этот S...

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

[Перевод] Печатная плата с ракеты Сатурн-5 – обратная разработка с пояснениями Перевод статьи из блога Кена Ширрифа В лунных миссиях «Аполлон» ракетой Сатурн-5 управлял передовой бортовой компьютер, разработанный в IBM. Система собиралась из гибридных модулей, похожих на интегральные схемы, но содержавшие отдельные компоненты. Я провёл обратную разраб...

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

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

[Перевод] «Kubernetes увеличил задержку в 10 раз»: кто же в этом виноват? Прим. перев.: Эта статья, написанная Galo Navarro, что занимает должность Principal Software Engineer в европейской компании Adevinta, — увлекательное и поучительное «расследование» в области эксплуатации инфраструктуры. Её оригинальное название было немного дополнено в пере...

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