Как стать автором
Обновить

Разработка

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

TA505 нацелилась на розничную торговлю в США с помощью персонализированных вложений

Блог компании OTUS Информационная безопасность *
Перевод

Обзор

С 15 ноября 2018 года компания Proofpoint начала наблюдать за рассылками электронных писем от определенного агента, направленных на крупные розничные сети, сети ресторанов и продуктовых магазинов, а также другие организации, работающие в сфере производства продуктов питания и напитков. Эти почтовые сообщения пытались доставлять различные виды вредоносных программ, включая Remote Manipulator System (RMS), FlawedAmmyy и другие.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 407
Комментарии 0

Новости

Как прикрутить SQL к чему угодно при помощи Apache Calcite

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *SQL *Apache *Конференции

Сделать свою собственную SQL-базу данных или запускать SQL-запросы в NoSQL-базе данных — кажется, это очень непростая задача.  А если мы говорим о распределенной БД, то сложность возрастает многократно. Но, к счастью, Apache Calcite — фреймворк с открытым кодом — поможет сделать это довольно легко.

Роман Кондаков, Software Engineer в Querify Labs, на конференции HighLoad++ Весна 2021 рассказал об опыте интеграции Apache Calcite в распределенную in-memory-платформу Apache Ignite. Если ваша система распределена, и вы хотите завести в ней SQL, читайте про то, как устроен Apache Calcite и какие есть нюансы его использования для распределенных систем.  Видео его выступления можно посмотреть здесь.

Читать далее
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 7.5K
Комментарии 5

Сложить и расправить. Искусство оригами в робототехнике

Производство и разработка электроники *Дизайн Робототехника Научно-популярное Физика

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 2.3K
Комментарии 5

Создаём инфраструктуру для интеграционных тестов: делаем образы и подводим итоги

Блог компании 2ГИС Тестирование IT-систем *Геоинформационные сервисы *

Это вторая статья из короткого цикла про создание инфраструктуры для автотестов. Первая доступна здесь.

3 года назад команда Fiji решила переизобрести инфраструктуру для интеграционных тестов. Мы перенесли тестовые БД в docker-контейнеры и научились поднимать в Kubernetes контур для автотестирования.

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

Читать дальше
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3.2K
Комментарии 4

Подробное описание операторов RxJS — Часть 1

JavaScript *Angular *TypeScript *
Перевод

Первое, что нужно понять об операторах, - это почему они существуют. Они существуют, потому что observables как тип позволяют нам обрабатывать события (или значения во времени) как множества или набор вещей.

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

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 3.6K
Комментарии 0

Загружаемые изображения для Jetpack Compose с использованием Glide, Coil и Fresco

Блог компании OTUS Программирование *Разработка под Android *
Перевод

Новый современный набор инструментов пользовательского интерфейса Jetpack Compose был анонсирован компанией Google более года назад, и, наконец, в июле была выпущена стабильная версия 1.0. Также многие компании, такие как Twitter, lyft, Square, уже адаптировали Jetpack Compose на своих производственных уровнях, потому что он очень интуитивный, мощный и упрощает всю структуру пользовательского интерфейса, если правильно его использовать. Эта новая парадигма структуры пользовательского интерфейса поменяет в дальнейшем очень многое, также нам придется приложить еще немало усилий для миграции предыдущих вещей, связанных с пользовательским интерфейсом, таких как загрузка изображений из Url. 

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 869
Комментарии 0

Возможности функций, возвращающих другие функции в JavaScript

Блог компании OTUS JavaScript *Программирование *
Перевод

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

Поскольку функции можно передавать куда угодно, мы можем поместить их в аргументы функций.

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Просмотры 5.6K
Комментарии 3

Обход блокировки РКН с помощью магии Service Worker'ов

Информационная безопасность *JavaScript *
Tutorial


Приветствую, Хабр!

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

TL;DR


Суть способа в обыгрывании возможности Service Worker'ов проверять контент на подконтрольных ему страницам. Если воркер не находит определённого текста на странице — происходит редирект. Таким образом вместо заглушки провайдера о том, что сайт заблокирован пользователь переходит на незаблокированный домен.
Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Просмотры 21K
Комментарии 33

Как мы обновляли мобильное приложение для официантов: выбор стека и тест трех версий. Кто победил?

Блог компании r_keeper Разработка мобильных приложений *Разработка под Android *Kotlin *Flutter *

Привет! Меня зовут Сергей Арсёнов, я руковожу мобильной разработкой в компании r_keeper. Хочу рассказать, как мы обновляли мобильное b2b-приложение для официантов и почему выбрали для него не совсем классический стек — Kotlin Multiplatform Mobile + UI на Flutter.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.5K
Комментарии 36

Российская конференция для разработчиков от Microsoft: Day of the DEVs

Блог компании Microsoft Информационная безопасность *Программирование *Microsoft Azure Конференции

Вы давно ждали и мы сделали крупное российское онлайн-мероприятие для разработчиков от Microsoft в России: Day of the DEVs.

12 октября систематизируем знания в 5 основных направлениях: Hybrid/Multi cloud, Security, OSS, Data&AI для приложений, Продуктивность разработчиков. Ниже подробное описание и ссылка на регистрацию. Выберите интересующий вас трек, зовите коллег и регистрируйтесь!

Подробности и регистрация.

Читать далее
Рейтинг 0
Просмотры 780
Комментарии 0

Архитектура как кот VS Архитектура как кол

Блог компании Работа.ру Программирование *Проектирование и рефакторинг *

Знаете что я больше всего ненавижу? Я люто ненавижу рамки. Ограничения, которые не дают развить мою идею. Вам знакомы эти чувства? Если да, то приглашаю в подкат поговорить.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 4K
Комментарии 5

SSR для Bitrix с Vue.js без Nuxt.js: как не потерять поисковую индексацию

Блог компании Агентство AGIMA JavaScript *

Привет, Хабр!

Я Саша Шутай, backend-тимлид в компании AGIMA. Сейчас расскажу, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента вашего сайта. Рассмотрим технологию серверного рендеринга страниц с помощью Puppeteer, как это всё настроить и быстро запустить для любого веб-приложения.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 3.9K
Комментарии 8

Генераторы на корутинах C++

Блог компании ISPsystem Программирование *C++ *
Tutorial

Я уже пару лет как развлекаюсь написанием различных программ на C++ с использованием корутин. Но до сего момента это были асинхронные приложения. Я активно использовал co_await, но ни разу еще мне не понадобился co_yield. И вот, после трех дней вынужденного ничегонеделанья в больнице, я решил этот пробел восполнить и попробовать написать собственный генератор. А заодно и получше разобраться с promise_type и coroutine_handle

Читать далее
Всего голосов 19: ↑16 и ↓3 +13
Просмотры 6.1K
Комментарии 7

Первое знакомство с JavaScript-библиотекой Solid

Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *
Перевод
Solid — это реактивная JavaScript-библиотека для создания пользовательских интерфейсов без использования виртуальной DOM. Она однократно компилирует шаблоны, превращая их в узлы реальной DOM, а благодаря тщательно спланированным механизмам обновления контента при изменении состояния приложения выполняется только тот код, который необходим для визуализации этого изменения.

При таком подходе компилятор может оптимизировать процесс первого рендеринга страницы, а среда выполнения кода способна оптимизировать процессы обновления страниц. Такое внимание к производительности делает Solid одним из JavaScript-инструментов, показывающих самые высокие результаты в тестированиях производительности.


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

Тех, кому не терпится взглянуть на код готового проекта, приглашаю заглянуть сюда.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Просмотры 8.2K
Комментарии 7

Современная архитектура Electron приложений в 2021

JavaScript *

Я хочу рассказать об архитектуре приложений на Electron: из чего они состоят как работают, какие имеют ограничения и требования.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 5.8K
Комментарии 4

Архитектор решения / инжиниринг

Блог компании OTUS Анализ и проектирование систем *
Перевод

Я не трачу свое время на рассуждения о высоких концепциях; я трачу свое время на решение инженерных и производственных проблем".

- Илон Маск, главный инженер/конструктор SpaceX

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.7K
Комментарии 1

35 вопросов с собеседования JavaScript-разработчика

JavaScript *Интервью
Из песочницы
Перевод

Это перевод статьи, в которой Abdo Amin приводит 35 вопросов на собеседованиях JavaScript-разработчиков, которые он сам задает. К вопросам прилагаются и ответы.

Читать далее
Всего голосов 22: ↑15 и ↓7 +8
Просмотры 15K
Комментарии 12

CI/CD для Dynamics CRM на базе Azure DevOps. Часть 2. Continuous Deployment

.NET *CRM-системы *Microsoft Azure DevOps *

В прошлой статье я рассказал как собрать CI часть пайплайна непрерывной поставки CI/CD на базе Azure DevOps Pipelines для Microsoft Dynamics CRM. Сегодня же поговорим о CD (Continuous Deployment) части.

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 934
Комментарии 0

Запросы в PostgreSQL: 4. Индексное сканирование

Блог компании Postgres Professional PostgreSQL *SQL *

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 4.9K
Комментарии 1