Социальные сети Рунета
Воскресенье, 5 мая 2024

Android-разработчикам: как сократить время реализации тёмной темы с пары месяцев до недели Привет, меня зовут Влад Шипугин, я Android-разработчик в Redmadrobot. В этой статье я хочу поделится опытом реализации темной темы, создания удобного UI Kit, как для разработки, так и для дизайнеров. Я расскажу про использование Material Components и работу с Vector Drawable...

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

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

[Перевод] Введение в ELF-файлы в Linux: понимание и анализ Есть в мире вещи, которые мы принимаем как нечто само собой разумеющееся, хотя они являются истинными шедеврами. Одними из таких вещей являются утилиты Linux, такие, как ls и ps. Хотя они обычно воспринимаются как простые, это оказывается далеко не так, если мы заглянем внут...

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

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

От библиотеки компонентов к дизайн-системе Разработка UI-компонентов — одна из самых затратных задач при разработке фронтенда. Чтобы оптимизировать процессы, некоторые компании поручают её выделенной команде. Мы же решили пойти другим путём: сделать библиотеку, чтобы компоненты туда могли добавлять разработчики из ...

HTB Attended. Инжектим команды в Vim и раскручиваем бинарную уязвимость с помощью ROP-цепочек Для подписчиковВ этой статье мы разберем опасную экплутацию уязвимости в редакторе Vim и несколько способов эксфильтрации данных, а также некторые опасные конфигурации SSH. В качестве вишенки на торте — бинарная уязвимость, эксплуатация которой и позволит захватить хост. А п...

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

AMD выпустила открытую библиотеку FEMFX для создания реалистичной физики Компания AMD сообщила о доступности библиотеки деформируемой физики FEMFX (Finite Element Method — метод конечных элементов), предназначенной для расчета процессов на многоядерных ЦП. Библиотека является частью инициативы GPUOpen. Разработчики могут получить доступ к.....

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

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

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

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

Собираем свою библиотеку для SSR на React Server Side Rendering часто применяется в разных проектах. Существуют крутые фреймворки для React – NextJS и Gatsby. Но в то же время любой фреймворк диктует архитектуру приложения, а это приводит к проблемам в больших приложениях. Поэтому часто можно встретить собственные с...

Автоматизация тестов на Go + Allure Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.В этой статье расскажу:- Как писала интеграционные тесты на Go + Allure- С какими проблемами столкнулась- С какими библиотеками и инструментами работа...

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

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

Интеграция в проект LVGL графической библиотеки для микроконтроллеров LVGL — Light and Versatile Graphics Library также известная как LittleVGL. Библиотека поддерживает большое количество микроконтроллеров, таких как STM32, ESP32 и другие. Мне пока удалось запустить полноценную демо программу на ESP32 и STM32f429 Discovery. Библиотека открыт...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

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

First DI: Первый DI на интерфейсах для Typescript приложений Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библи...

[Перевод] Чем отличаются Dagger, Hilt и Koin под капотом? Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger...

Пишем гибкий VerticalSwipeBehavior Привет, Хабр! Меня зовут Илья Осинцев, я Android-разработчик в компании Apiqa. Под катом вас ждет пример использования ViewDragHelper для создания компонента пользовательского интерфейса аналогичного SwipeDismissBehavior, но работающего вертикально. С появлением Material Des...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

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

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

Пользователи GeForce NOW теперь могут синхронизировать игры с библиотекой Steam Компания NVIDIA объявила о появлении новой функции в облачном сервисе GeForce NOW, которая облегчит жизнь пользователям Steam с большой библиотекой — теперь служба сама сканирует и добавляет в библиотеку доступные игры. Теперь пользователи могут синхронизировать свои библиот...

Ещё 10 игр в Xbox Cloud Gaming получили поддержку сенсорного управления В прошлом месяце Microsoft добавила облачный сервис Xbox Cloud Gaming (в прошлом Project xCloud) в подписку Xbox Game Pass Ultimate, благодаря чему пользователи получили возможность играть в консольные игры на Android-устройствах при помощи потоковой передачи. Однако на мом...

Мини датчик света и удара | nRF52840 В сегодняшней статье хочу расказать о новым датчике освещенности и вибрации. Датчик работает на модуле E73-2G4M08S1C(nRF52840). Поводом к освоению МК стало довольно несложное добавление поддержки в Arduino IDE на основе библиотеки Sandeep Mistry, небольшая стоимость, отличны...

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

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

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

[Из песочницы] Flutter. Как прокачать ваш BLoC Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc. Как можно понять из названия — это какой-то необычный блок, а особенность его в том, что он работает в отдельном Isolate (далее изолят) и не тормозит ваш UI. В че...

[Из песочницы] Актуальные библиотеки визуализации данных для react-разработчиков Привет, Хабр! Представляю вашему вниманию перевод статьи «Data Visualization Libraries for React Developers in 2019» автора Veronika Rovnik. Вот уже несколько лет подряд React не сдаёт позиции и входит в тройку самых любимых библиотек профессиональных разработчиков по всему...

ViennaNET: набор библиотек для backend’а. Часть 2 Сообщество .NET-разработчиков Райффайзенбанка продолжает краткий разбор содержимого ViennaNET. О том, как и зачем мы к этому пришли, можно почитать в первой части. В этой статье пройдемся по еще не рассмотренным библиотекам для работы с распределенными транзакциями, очеред...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

[Из песочницы] Бот для сборов. Собираемся на футбол с новыми технологиями Введение Всем привет. В этой статье я опишу своего чат-бота для сервиса обмена сообщениями telegram и социальной сети VK с использованием NodeJS. На этом месте у многих читателей должно вырваться что-то вроде: "Доколе!" или "Что, опять ?!". Да, похожие публикации уже были и ...

GSoC 2019: Проверка графов на двудольность и трансформеры монад Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Go...

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

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

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

[Из песочницы] Виджеты на Android. Редкая фича, в которой придется разобраться Привет, Хабр! Меня зовут Александр Хакимов, я android-разработчик в компании FINCH. У вас бывало такое, что ваш дизайн был под iOS, а вам приходится адаптировать его под android? Если да, то часто ли ваши дизайнеры используют виджеты? К сожалению, виджет — редкий кейс для ...

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

[Перевод] Имитация рисования от руки на примере RoughJS RoughJS это маленькая (<9 КБ) графическая библиотека JavaScript, позволяющая рисовать в эскизном, рукописном стиле. Она позволяет рисовать на <canvas> и с помощью SVG. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает? Немного ист...

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

[Из песочницы] Материальный Python. Что нового в библиотеке KivyMD Приветствую! Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, котор...

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

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

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

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

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

Open source: CI/CD и тестовая инфраструктура Авито для Android Мы вынесли в open source инфраструктуру Авито для Android: Gradle плагины, эмуляторы и библиотеки для тестов. Наш код будет полезен при автоматизации CI/CD, а также облегчит написание и поддержку автотестов. В этой обзорной статье мы расскажем, по...

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

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

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

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

Потоковая передача колоночных данных с помощью Apache Arrow Перевод статьи подготовлен специально для студентов курса «Data Engineer». За последние несколько недель мы с Nong Li добавили в Apache Arrow бинарный потоковый формат, дополнив уже существующий формат файлов random access/IPC. У нас есть реализации на Java и C++ и привяз...

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

Ускоряем загрузку больших объёмов в PostgreSQL, используя COPY from STDIN binary ...К сожалению Qt драйвер для постгреса не поддерживает функционал, необходимый для быстрой загрузки. Поэтому я написал свою библиотеку на С++ для этого, а теперь хочу с Вами поделиться этим прекрасным методом добавления и самой библиотекой. Читать далее

Дружим STM32 с LCD дисплеем 1604 по I2C шине (библиотека HAL) Привет, Хабр! В этой статье я хотел бы рассказать о своем опыте подключения LCD дисплеев к микроконтроллеру STM32 с использованием библиотеки HAL по I2C шине. Подключать буду дисплей 1602 и 2004. Они оба имеют припаянный I2C адаптер на основе чипа PCF8574T. Отладочной пл...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

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

Сверхсовременные иммутабельные структуры данных Годами эксперты в С++ рассуждают о семантике значений, иммутабельности и разделении ресурсов за счет коммуникации. О новом мире без мьютексов и гонок, без паттернов Command и Observer. На деле все не так просто. Главная проблема по-прежнему в наших структурах данных. Имму...

Специфицируй это. Доклад Яндекса Хорошая спецификация к API помогает клиентам его использовать. Несколько месяцев назад на большом Pytup разработчик Яндекса Александр Брязгин bryazginnn выступил с докладом о том, что собой представляет спецификация REST API на примере OpenAPI + Swagger и зачем нужна такая с...

Aсинхронный PHP Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который позволил значительно увеличить производительность решений на PHP, а не срочно переп...

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

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

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

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим к...

Проверка коллекции header-only C++ библиотек (awesome-hpp) Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем ...

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

Портировать игры на DirectX 12 станет еще проще Компания Microsoft на прошлой неделе выложила в открытый доступ библиотеку D3D12 Translation Layer, которая должна упростить портирование игр на API DirectX 12. D3D12 Translation Layer – это одна из вспомогательных библиотек для переноса графических концептов и команд с API ...

OpenPGP переписывают на Rust: проект Sequoia Секвойя Стагг в роще Олдер-Крик, Калифорния В 2018 году три бывших разработчика GnuPG начали работу над проектом Sequoia — реализацией OpenPGP на Rust. Как известно, OpenPGP — это открытый стандарт шифрования данных, часто используемый для защищённой электронной почты; а G...

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

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

SwiftFortuneWheel: «Колесо фортуны» на Swift Must Have в библиотеке инструментов любого iOS-разработчика. SwiftFortuneWheel — вращающееся колесо по типу “Поля чудес” с возможностью добавления секторов (текста, изображения и фона), адаптивным размером, использованием CoreGraphics и CoreAnimations для отрисовки и а...

Обновление для IDE EmBitz 1.11 На официальном форуме появилось обновление для IDE EmBitz 1.11. Оно включает в себя расширенный список поддерживаемых микроконтроллеров STM32, обновленные версии библиотек CMSIS, SPL, HAL и LL, а также текущую версию компилятора gcc-arm-none-eabi-9-2020-q2-update и GDB серве...

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

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

MyApp extends Holiday Я уверен, что среди уважаемой аудитории найдутся те, кто меня поймет. Дело в том, что во всем изобилии популярных библиотек и фреймворков для веб-фронтэнда, лично мне, не нравятся, практически, все альтернативы. В каждом из вариантов я нахожу для себя существенные минусы, к...

Анонсирован выпуск PhysX SDK 5.0 Компания Nvidia анонсировала выпуск новой версии кроссплатформенного программного инструмента для моделирования физических эффектов в компьютерной графике — PhysX SDK 5.0. Первым среди новшеств, реализованных в новой версии PhysX, производитель упоминает поддержк...

[Из песочницы] Бинарные часы «Cyber Watch» Часы на газоразрядных лампах в стиле «Стимпанк» заполонили рынок и сердца людей. Киберпанкам нужен герой, который спасет мир. И им стану я. Мой инструмент – бинарные часы «Cyber Watch». Читать дальше →

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

Вышел Wine 5.0 21 января 2020 года состоялся официальный релиз стабильной версии Wine 5.0 — свободного инструмента для запуска нативных Windows-программ в UNIX-среде. Это альтернативная, свободная реализация Windows API. Рекурсивный акроним WINE означает "Wine Is Not an Emulator"...

Tesseract OCR tips — создание своего словаря для повышения эффективности OCR Это мой первый пост об оптическом распознавании текста (OCR) с использованием Tesseract. Tesserast это очень популярная open source библиотека для OCR поддерживаемая Google, которая дает высокие результаты точности и поддерживает более 100 языков. В этом посте я расскажу как...

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

[Из песочницы] Игра с открытым API: Swagger Play В данной статье я хочу рассказать, как использовать Swagger модуль для Play Framework, с примерами из реальной жизни. Я расскажу: Как прикрутить последнюю версию Swagger-Play (модуль Play, позволяющий использовать аннотации swagger-api и генерировать на их основе документ...

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

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

Java-дайджест за 6 марта Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotlin, раньше работал в ZeroTurnaround. Подкаст помогает вести Кирилл Толкачёв, в остал...

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

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

Khronos Group выпустила Vulkan 1.2 Предыдущее обновление было выпущено компанией аж в 2018 году. Спустя два года, Khronos Group обновила Vulkan до версии 1.2. Обновление получила новые расширения API и улучшила функциональность ускорения графического процессора. Vulkan 1.2 интегрирует 23 расширения в баз...

Дайджест интересных материалов для мобильного разработчика #330 (20 — 26 января) В новом дайджесте — локализация и гиперкубы, библиотеки и декларативные фреймворки, приложения, чтобы побороть зависимость от приложений, Flutter, Unity, подписки, AI для поиска уязвимостей в коде и многое другое. Читать дальше →

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

Наблюдательный пост пессимиста: технические и концептуальные решения в системе мониторинга Lamoda Всем привет! Меня зовут Александр Афенов, я работаю в Lamoda. Эта статья по мотивам моего доклада с HighLoad 2019, запись которого лежит тут. Раньше я был тимлидом, и в моем ведении была пара критикал-сервисов. И если в них что-то шло не так, это останавливало реальные бизн...

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

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

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

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

ViennaNET: набор библиотек для backend’а Всем привет! Мы сообщество .NET-разработчиков Райффайзенбанка и мы хотим рассказать про набор инфраструктурных библиотек на .NET Core для быстрого создания микросервисов с единой экосистемой. Вывели его в Open Source! Читать дальше →

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

Инструменты создания бэкапов PostgreSQL. Андрей Сальников (Data Egret) Предлагаю ознакомиться с рашифровкой доклада Андрей Сальников из Data Egret "Инструменты создания бэкапов PostgreSQL" . В конце обновленная сводная таблица по инстрментам Данный доклад посвящен доступным инструментам бэкапирования PostgreSQL. Логические backup, бин...

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

VKWave — фреймворк для разработки ботов ВКонтакте Привет, Хабр! Сегодня я хочу рассказать о замечательной библиотеке для разработке ботов ВКонтакте с помощью языка программирования Python. VKWave VKWave — это фреймворк для разработки ботов ВКонтакте, написанный с помощью asyncio. Основные цели проекта — дать возможность ра...

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

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

[Из песочницы] Пишем простую игру на python Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter, но если вы не знаете что это такое, советую почитать данную статью. Первое, что нам нужно, это начальная структура, окошко, у меня оно будет выглядеть так: f...

Вечное сияние чистого .NET Когда 10 лет назад я начинал работу с .NET Framework 3,5 (язык версии 3.0), для меня его функциональность была крайне ограничена, так как начинал я с SharePoint 2010. Постепенно изучив более широкий круг технологий и следя за развитием .NET, я могу отметить его огромный рост...

Как установить ARCore на любой Андроид Уверен, что вам не раз доводилось слышать или даже пользоваться дополненной реальностью. Те самые животные в 3D от Google, о которых мы много писали, работают именно на базе этой технологии. Но дело в том, что запустить дополненную реальность на Android-смартфоне просто так...

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

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

Обновление библиотеки Xbox Game Pass Новые игры должны быть добавлены 25 февраля. Как обычно, какие-то игры должны покинуть Game Pass, на которые придут новые. Их можно заполучить со скидкой в 20%, пока они не покинут библиотеку Xbox Game Pass. Библиотеку покинут: The Elder Scrolls IV: Oblivion, Fallout 3...

BFCache, или Туда и обратно. Доклад Яндекса Люди пользуются кнопкой возврата на предыдущую страницу в браузере очень часто — возможно, чаще, чем вы думаете. А если так, то зачем сразу выбрасывать страницу из памяти браузера, а спустя секунду тратить время и трафик на её повторное открытие? Чтобы пользователь мог быстр...

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

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

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

[Перевод] Matlab vs. Julia vs. Python Я использовал MATLAB более 25 лет. (А до этого я даже использовал MATRIXx, земля ему пухом.) Это не первый язык, на котором я научился программировать, но это тот язык, с которым я достиг математического совершеннолетия. Знание MATLAB было полезным для моей карьеры. Тем не ...

Что нового в RxJava 3 Весной 2020 года вышла свежая версия фреймворка RxJava – RxJava 3. Давайте рассмотрим, в чем заключаются основные изменения, как можно перейти с RxJava 2 на новую версию и стоит ли вообще мигрировать. Отметим, что в новой версии нет глобальных изменений, но появилась подде...

12 марта в библиотеку Xbox Game Pass добавят 20 игр от Bethesda Всего несколько дней назад Microsoft завершила покупку ZeniMax Media, получив контроль сразу над восемью игровыми студиями, входящими в холдинг. Теперь же компания объявила, что уже завтра, 12 марта 2021 года, в библиотеке Xbox Game Pass станут доступны 20 культовых игр от ...

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

[Перевод] Микросервисы на Java: практическое руководство Вы можете использовать это руководство, чтобы понять что такое Java микросервисы, как вы их разрабатывать и создавать. А также получить обзор библиотек для разработки Java микросервисов. Примечание: Статья ~ 7000 слов, вероятно, не стоит читать ее на мобильном устройстве. До...

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

Google запустил инструмент для создания коротких промо-видео для YouTube Google представил бета-версию нового инструмента YouTube Video Builder, с помощью которого компании смогут создавать короткие промо-видео для YouTube. Новый инструмент доступен на бесплатной основе. Воспользоваться им могут компании любого размера. YouTube Video Builder аним...

Настройка GeoIP ACL в HAProxy в два шага Hello Planets by Augustinas Raginskis Иногда возникает задача управления трафиком в зависимости от географического положения клиента. Возможные области применения — блокировка некоторых локаций либо перенаправление трафика на итоговый сервер в зависимости от локации клиент...

[Из песочницы] Создание арт-объекта для Burning Man Здравствуйте. Меня зовут Сергей, и в этой статье я расскажу о том, как мы сделали арт-объект для мероприятия Burning Man. Я расскажу о технической стороне, не касаясь самого мероприятия. Ну, почти не касаясь. Читать дальше →

Игра Mount Blade II: Bannerlord выпустила новый контент в Steam Самая популярная игра в библиотеке Steam в этом году Mount & Blade II: Bannerlord добавила два новых контента для пользователей. Два тестовых дополнения: альфа и бета. Альфа версия игры предложит полную свободу действий, разработчикам и пользователям кто занимается созда...

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

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

[Перевод] Графический интерфейс на Python за 5 минут Python легко использовать. В нем вы можете найти огромное количество библиотек для чего угодно. И это его основное преимущество. Из нескольких строк кода вы ничего не сделаете. Если вам нужны скрипты для личного пользования или для технически подкованной аудитории, то вам ...

[Перевод] Стек технологий Shiro Games Наш игровой движок Heaps.io и набор инструментов и технологий, на котором он основан, являются результатом опыта, накопленного за двадцать лет, посвященных созданию игр: сначала в компании Motion-Twin (создатели Dead Cells), а с 2012 года в Shiro Games (Evoland, Northgard и ...

Упрощение разработки приложений для Windows На сегодняшней конференции Microsoft Ingine компания поделилась информацией о прогрессе в упрощении разработки приложений для Windows и новых возможностях для разработчиков. Project Reunion Project Reunion — единая платформа приложений, унифицирующая доступ к существующим A...

Поддержка Touch в JavaScript Какие проблемы могут быть у frontend-программиста, если тестировщик запустит его приложение на iPad с новой трекпад-клавиатурой, Windows-планшете, с неопределенным состоянием “режима планшета” или ноутбуке с подключенным к нему телевизором c поддержкой Multi-touch? Это дале...

[recovery mode] Как мы обеспечивали рост Ситимобила Меня зовут Иван, я руководитель серверной разработки в Ситимобил. Сегодня я расскажу о том, что собой представляет эта самая серверная разработка, с какими проблемами мы сталкивались и как планируем развиваться. Читать дальше →

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

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

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

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

Как получить по индексу элемент из бинарного дерева за приемлемое время? Привет, Хабр! Полгода назад я задумался, как можно было бы получить элемент из бинарного дерева за O(log(N)). Ответ пришёл довольно быстро — Lazy Propagation. Но реализовать это в коде я поленился. Сейчас надо сдавать дипломный проект в университете, поэтому я занимаюсь чем...

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

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

Xiaomi Mi A2 получает обновление до Android 10 Xiaomi Mi A2 на сегодняшний день бестселлером не является, но и определенную популярность все же заработал. Доступное устройство на чистом Android One, не отягощенное излишествами, с довольно неплохой камерой… В общем всё прилично, вот только выпущена модель летом 2018-го с ...

Как проходит собеседование Junior фронтенд-разработчика Меня зовут Максим Чеченёв, я фронтенд-разработчик уже почти девять лет. Работаю в компании MessageBird в Амстердаме и наставником на курсе «Веб-разработчик» в Яндекс.Практикуме. Ещё я веду канал в телеграме «Сеньор Разработчик». Прежде чем стать сеньором и начать собеседова...

Дайджест интересных материалов для мобильного разработчика #291 (26 января-2 февраля) В этом выпуске нашего дайджеста — бинарная совместимость, разбор SwiftUI, ошибки пиксель-арта, традиционный уже ад инди-разработчика, Flutter с нуля до прода, бесплатные книги и SDK для роботов. Добро пожаловать!

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

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

NVIDIA GeForce Now добавила в библиотеку 30 игр На этой неделе NVIDIA пополнила библиотеку новыми играми. Добавлено 30 игр, в их числе игры от разработчика Ubisoft, GSC Game, Piranha Bytes, Digitalmindsoft и многих других. Библиотеку пополнили: франшиза Assassin’s Creed (Deluxe Edition, Remastered, Brotherhood, Revelat...

Настоящая оптимизация на C/C++ Это продолжение двух постов (первый, второй). В этот раз оптимизация будет произведена на реальной задаче, с правильно построенной методологией тестирования. Задачу возьмем из нашумевшего поста «Алгоритм перевода числа (байтов) в приставку СИ», она интересна тем, что на перв...

Как я писал полудецентрализованную криптовалюту на PHP. (Часть 1 — Сбор библиотек) Предисловие Вы наверно помните прошлую статью, в которой я разрабатывал централизованную криптовалюту. Идея была, как Вы знаете, плохой. Я решил перезапустить линейку этих туториалов, но уже более менее нормальной, чем было в прошлые разы. В этой линейке постараемся «пережев...

Dapp. Vue.js + ethers.js В этой статье я попытаюсь максимально кратко и информативно пройтись по всем пунктам создания создания полноценного Децентрализованного приложения в сети Ethereum используя JavaScript фреймворк - Vue для создания веб-приложения и библиотеку ethers.js для общения со смарт кон...

Microsoft выпустила пакет совместимости с OpenCL и OpenGL для Windows 10 На этой неделе Microsoft выпустила «Пакет обеспечения совместимости с OpenCL и OpenGL» для Windows 10, который позволяет запускать приложения с аппаратным ускорением для повышения производительности, если на устройстве не установлены необходимые драйверы OpenCL или OpenGL, ...

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

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

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

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

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

[Из песочницы] 6 советов для успешного Code Review Привет, Хабр! Представляю Вашему вниманию перевод статьи «6 Tips To A Successful Code Review». Сode review во все времена являлся основополагающей практикой, отвечающей за создание чистого и поддерживаемого кода. Частенько разработчики пренебрегают и недооценивают code revie...

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

[Перевод] Уходя уходи: почему не стоит принимать контроффер Привет, Хабр! Меня зовут Женя Остроумова, и я рекрутёр_ка. Сегодня поговорим с вами про контрофферы. Читать дальше →

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

Интервью с Сергеем Жуком — автором книг и скринкастов по ReactPHP Мир IT полон интересных людей, что стало причиной создание проекта MoreView где я беру интервью у разных людей и познаю IT. Я достаточно давно связал свою жизнь с PHP и уже брал интервью у разработчика фреймворка Yii. Чуть более 7 лет назад в мир ворвался асинхронный PHP с б...

Как в Яндекс.Облаке устроено Virtual Private Cloud и как наши пользователи помогают нам внедрять полезные функции Привет, меня зовут Костя Крамлих, я ведущий разработчик подразделения Virtual Private Cloud в Яндекс.Облаке. Я занимаюсь виртуальной сетью, и, как можно догадаться, в этой статье расскажу об устройстве Virtual Private Cloud (VPC) в целом и виртуальной сети в частности. А ещё...

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

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

Делаем игру с управлением улыбкой Привет! Меня зовут Иван Шафран, недавно я присоединился к команде видео ВКонтакте в роли программиста-разработчика для Android. Участвую в создании как продуктовых приложений, так и SDK. Время от времени я посещаю хакатоны, где можно реализовывать любые безумные идеи. Сегодн...

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

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

[Из песочницы] Бот Telegram для пиццерии на Python с помощью telebot Вступление На Хабре уже есть статья о Telegram боте, написанном на Python с помощью telebot. Признаться, свое знакомство с чат-ботами в недавно разблокированном мессенджере я начинал с этой статьи. Моя писанина — это дополнение, включающее в себя работу с Inline кнопками и б...

В Windows 10 2004 и 20H2 обнаружена проблема с совместимостью Thunderbolt NVMe SSD В настоящее время некоторые устройства не получают обновление до Windows 10 October 2020 Update или Windows 10 May 2020 Update из-за обнаруженной проблемы с совместимостью драйверов при подключении внешнего накопителя Thunderbolt NVMe SSD. Microsoft и Intel уже работают над...

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

Хакатоны. Как выжать максимум и выжить Доброго всем времени суток! Меня зовут Александр Михалин — я .NET разработчик в компании “Рексофт”. За моей спиной 7 хакатонов, причем один в качестве члена жюри. Я не спал 8 ночей, выпил 52 чашки кофе, 15 банок редбулла, со мной в команде побывали 24 человека. Сегодня я х...

Автоматизация тестирования мобильных приложений. Часть 2: предусловия, верификация элементов и независимость шагов Меня зовут Дмитрий Макаренко, я Mobile QA Engineer в Badoo и Bumble: занимаюсь тестированием новой функциональности в наших приложениях вручную и покрытием её автотестами. За последние два года подход к автоматизации тестирования в нашей компании сильно изменился. Колич...

Компания AMD объявила о поддержке проекта аппаратного ускорения машинного обучения в Windows 10 Вчера компания AMD объявила о поддержке проекта аппаратного ускорения машинного обучения (МО) в Windows 10. Это позволит пользователям систем на платформе AMD, включая разработчиков ПО и тех, кто изучает программирование, участвовать в проектах машинного обучения и сове...

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

TWS-наушники Xiaomi Mi Air 2S c беспроводной зарядкой Китайская компания Xiaomi представила новые беспроводные наушники с названием Mi Air 2S. Наушники получили такой же внешний вид как и прошедшая версия Mi Air 2, но с другими характеристиками. Новой серии наушников обновили чипсет и добавили новую технологию бинарной переда...

iOS in-app purchases: Конфигурация и добавление в проект Всем привет, меня зовут Виталий, я основатель Adapty. Подписки — один из способов монетизировать приложение. С их помощью вы можете дать пользователю возможность получить постоянный доступ к обновляемому контенту в приложении или же к предоставляемому сервису. В отличие от о...

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

VINTEO Server — корпоративная видеоконференцсвязь высшего класса. Установка, настройка, полное описание В прошлой статье, Обучение, переговоры, консультации удалённо — Часть 2: Vinteo Server — 3 месяца бесплатной видеоконференцсвязи, я немного описал особенности и функционал уникального российского решения ВКС Vinteo Server. Эта статья является подробным руководством по устано...

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

Stadia Pro предлагает три новые игры в апреле Новый месяц, новые бесплатные игры. Подписчики Stadia Pro на данный момент получили доступ к нескольким играм. Это Destiny 2: The Collection, GRID, GYLT, Metro Exodus, Steamworld Dig 2, Steamworld Quest и Thumper. С 31 марта Thumper и Metro Exodus, должны покинуть библиотеку...

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

Security Week 03: принципы ответственного багрепорта Седьмого января команда Google Project Zero, специализирующаяся на поиске уязвимостей в ПО, сообщила об изменениях в правилах раскрытия информации об обнаруженных багах (новость, пост в блоге). В 2020 году Project Zero будет раскрывать информацию об уязвимостях через 90 дней...

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

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

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

Microsoft выпускает первую сборку Windows 10 21H1 Сегодня Microsoft выпускает первую сборку обновления Windows 10 21H1 для инсайдеров в канале Dev (Fast Ring) программы Windows Insider. Windows 10 Build 20150 относится к ветви RS_PRERELEASE, и это первая сборка из ветви разработки Iron. Ранее Microsoft подтвердила, что «Iro...

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

Как мы фрод из избы выносили Меня зовут Никита, я backend-разработчик из команды антифрода в Ситимобил. Сегодня я поделюсь с вами историей о том, как мы выносили наш сервис из монолита в отдельный сервис, как вообще пришли к этому решению и с какими проблемами столкнулись. Читать дальше →

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Унифицируем арсенал Gatling Тестирование производительности — это непрерывный процесс оптимизации, контроля быстродействия систем и подтверждения их отказоустойчивости как на стадии моделирования и проектирования, так и на каждой итерации внесения изменений. Сейчас в Тинькофф мы активно занимаемся разв...

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

Загрузка и обработка изображений в .NET Core В этой статье я хочу рассказать о своём опыте реализации механизма загрузки изображений в .NET Core приложении с последующим их ресайзом и сохранением в файловой системе. Для обработки изображений я использовал кроссплатформенную библиотеку ImageSharp от Six Labors. Существу...

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

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

Микрофронтенды: разделяй и властвуй Всем привет! Меня зовут Аня, я фронтенд-разработчик в Delivery Club. Хочу рассказать про использование микрофронтендов. Поговорим о том, что же это за зверь такой — микрофронтенд, почему мы решили использовать этот подход в своих проектах и с какими проблемами столкнулись ...

Мы сократили время разработки нового сценария публикации объявления с 6 дней до 42 секунд Всем привет! Меня зовут Артем Пескишев, я iOS-разработчик в Авито. Хочу рассказать, как мы завели управляемый с бэкенда сценарий публикации новых объявлений в наших мобильных приложениях. Разберём, что такое пошаговые сценарии в приложениях и какие пробл...

Новогодний IMaskjs 6 — React Native, Pipes, ESM Всем привет! Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную...

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

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

Хакеры используют .NET библиотеку для создания вредоносных файлов Excel Группировка Epic Manchego использует в атаках специальные файлы Excel, созданные для обхода защитных механизмов, обнаружили аналитики NVISO Labs. Такие файлы создаются не через Microsoft Office, а с использованием .NET библиотеки EPPlus.

Xiaomi будет устанавливать Google Phone и Messages на все свои телефоны, поставляемые в Европу и большинство стран мира Фирменная оболочка компании Xiaomi, широко известная как MIUI, вызывает у пользователей разные впечатления. Одним она нравится и кажется удобной, другие ее не приемлют категорически. По сравнению с чистой ОС Android на Pixel, MIUI обеспечивает совершенно другой пользовательс...

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

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

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

Разработчики теперь могут разместить расширения для Edge Chromium в Microsoft Edge Addons Microsoft начала принимать заявки от разработчиков на публикацию расширений для нового браузера Egde Chromium в собственном магазине Microsoft Edge Addons. Отмечается, что если у разработчиков уже существует версия расширения для Chromium, то, вероятнее всего, для портирова...

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

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

Активисты построили в Minecraft свободную «Библиотеку без цензуры» Студия BlockWorks, коллектив художников и дизайнеров, построила в игре Minecraft глобальную цифровую библиотеку «The Uncensored Library»(Библиотека без цензуры). Ее открытие состоялось 12 марта, во Всемирный день борьбы с киберцензурой, и это не просто масштабный игровой объ...

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

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

[Перевод] Разработка MQ JMS приложения на Spring Boot Разработчики приложений, работающие на Java, при использовании интерфейса JMS, часто предпочитают работать со Spring Framework. Spring может упростить написание кода новых приложений, предоставляя шаблоны для общих паттернов (templates for common patterns) и успешно исполь...

[Из песочницы] MVP для Android — преимущества использования Moxy в качестве вспомогательной библиотеки В данной статье описываются преимущества использования Moxy в качестве вспомогательной библиотеки при использовании MVP для Android-приложения. Важно: здесь не сравнивается MVP с другими архитектурными подходами типа MVVM, MVI и т.п. В статье описывается почему, если в качес...

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

[Из песочницы] Как завести pet project и не получить выгоды TL;DRСтатья описывает использование pet project как способ поддержания и улучшения навыков. Автор создал PHP библиотеку для установки ФИАС из XML файлов. Цель Я редко меняю места работы, поэтому, учитывая естественное стремление каждой организации к фиксированным процессам,...

Принимаем платежи по Системе быстрых платежей (СБП) Всем привет! Меня зовут Тамара, я работаю в Тинькофф и отвечаю за торговый эквайринг и онлайн-кассы. Недавно на рынке появился новый способ оплаты покупок — по QR-коду через Систему быстрых платежей (СБП). Однако пока в сети мало информации о том, как все работает. В этой ст...

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

«Дружба» Windows 10 и iPad Pro стала более крепкой В 2006 году компания Apple отказалась от архитектуры IBM PowerPC в пользу чипов от Intel, это позволило запускать на MacBook’ах операционную систему Windows. Идея была реализована с помощью Boot Camp Assistant, который устанавливал «окна» на отдельный раздел. Теперь с...

WebRTC на Android: как включить аппаратное кодирование на множестве устройств Для видеозвонков в Badoo мы используем стандарт WebRTC и кодек H.264. Если верить документации, этот кодек должен без проблем работать на любых устройствах Android начиная с Android 5.0. Но на практике всё оказалось не совсем так. В этой статье я расскажу про особенности реа...

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

Имитируем сетевые проблемы в Linux Всем привет, меня зовут Саша, я руковожу тестированием бэкенда в FunCorp. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость ...

Вышла новая версия BIOS AMD AGESA 1.0.0.5 для платформы AM4 Производители материнский плат начинают выпуск новой прошивки BIOS AGESA 1.0.0.5. MSI стала первым из них. Обновление добавляет совместимость с будущим процессорами 3000 серии Ryzen. BIOS AMD AGESA 1.0.0.5 уже доступна на официальном сайте компании MSI для некоторых матери...

Google работает над “инкрементальной” файловой системой Incremental File System позволит запускать приложения еще во время загрузки бинарных файлов и ресурсов.

Облачный игровой сервис GeForce Now теперь доступен глобально После семи лет доработки, тестирования и сбора отзывов бета-тестеров компания NVIDIA наконец представила финальную версию своего облачного игрового сервиса Geforce Now, который теперь доступен всем. Geforce Now поддерживает трансляцию игр на PC, Mac, Android и NVIDIA Shield,...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

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

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

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

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

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

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

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

Пробуем запустить GAN сети в OpenVINO Репозиторий моделей Open Model Zoo библиотеки OpenVINO содержит много самых разных глубоких нейронных сетей из области компьютерного зрения (и не только). Но нам пока не встретилось GAN моделей, которые генерировали бы новые данные из шума. В этой статье мы создадим такую мо...

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

ПАО «Городские инновационные технологии» и фонд Гранта Агасьяна проведут конкурс «Лидеры ЖКХ 2020» Цель проекта – вовлечь в сферу ЖКХ талантливых молодых управленцев и предпринимателей и помочь им реализовать собственные проекты на благо населения. В конкурсе могут принимать участие лица в возрасте до 40 лет из любого региона РФ, заинтересованные в создании собственной с...

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

[Перевод] Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python Всем привет. В преддверии старта курса «Нейронные сети на Python» подготовили для вас перевод еще одного интересного материала. Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2019 году Привет. Меня зовут Вадим и я занимаюсь развитием IT-тусовок в Ростове. В 2016 году spasibo_kep написал статью "Едем в город южный: как живут разработчики в Ростове-на-Дoну" о Ростовском IT. Пришло время её обновить, тем более, что Ростов в 2019 году стал 4ым в Рос...

MediaTek анонсировала два новых чипсета Helio G88 и Helio G96 Компания MediaTek анонсировала два новых игровых чипсета Helio G88 и Helio G96 для мобильных устройств. Обе платформы могут поддерживать дисплеи с высокой частотой обновления экрана, на Helio G96 до 120 Гц и разрешением FHD+, также указана поддержка AMOLED-дисплеев. Helio G8...

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

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

Михаил Салосин. Golang Meetup. Использование Go в бэкенде приложения «Смотри+ Михаил Салосин (далее – МС): – Всем привет! Меня зовут Михаил. Я работаю бэкенд-разработчиком в компании MC2 Software, и я расскажу об использовании Go в бэкенде мобильного приложения «Смотри+». Кто-нибудь из присутствующих любит хоккей? Тогда это приложение для вас. О...

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

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

[Перевод] Java: свертывание многострочных логов в однострочный лог с помощью Spirng и логгера Logback или Log4j2 Logback и Log4j2 – одни из самых известных фреймворков логирования в JAVA. Фреймворк Logback используется только совместно с библиотекой SLF4J, которая представляет собой интерфейс для систем протоколирования событий. Log4j2 представляет собой вторую, улучшенную версию логге...

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

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

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

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

Между дизайн-системой и Server Driven UI Введение (как устроена разработка в ivi) Всем привет! Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде "UX". Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество прово...

Quartet 9: Allegro | TypeScript Когда создавалась библиотека для валидации данных quartet были поставленны следующие цели-ориентиры: TypeScript Краткость и простота Производительность В этой статье я хотел бы рассмотреть ориентированность quartet на TypeScript. Читать дальше →

[Из песочницы] Производственный календарь своими руками в Postgresql Здравствуйте, меня зовут Виктор и я разработчик в компании Gems Development. Я хочу рассказать, как мы реализовывали создание и заполнение производственного календаря в Postgresql. Рабочий процесс зависит от официальных государственных и международных праздников. В корпора...

[Из песочницы] Формат таблиц в pandas Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным. Например, в excel для этого используется у...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

Android: обнаружение Frida, отключение проверки на root и Android 11 Для подписчиковСегодня в выпуске: восемь способов обнаружить внедрение Frida в приложение, три совета, как защитить нативные библиотеки от реверса, отключение проверки на root в подопытном приложении, защита от метарефлексии в Android 11, принцип работы Huawei Quick Apps, а ...

iOS 14 может подсказать, насколько надежны ваши пароли на сайтах В дополнение к переработанному главному экрану с виджетами, библиотеке приложений и таким функциям, как CarKey, в iOS 14 и iPadOS 14 также появились важные усовершенствования в «Связке ключей» iCloud. Теперь в разделе «Пароли», помимо, собственно, самих паролей, есть отдель...

Windows 11 поддерживает установку любых Android-приложений через файлы APK Во время анонса Windows 11 Microsoft заявила, что пользователи этой ОС смогут устанавливать любые Android-программы через магазин приложений Amazon Appstore, интегрированный в Windows Store. Но, как оказалось сейчас, пользователи не ограничены лишь Amazon Appstore &ndas...

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

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

[Из песочницы] Кастомные SwiftLint Rules Привет, Habr! Меня зовут Алексей, я iOS Developer в компании FINCH. Скоро Новый год — самое время чтобы начать жить по-другому, а поможет в этом такая классная штука как SwiftLint. В статье я расскажу, почему ее обязательно нужно внедрять во все проекты, включая legacy и pet...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

Lua на STM32 Привет! Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор ...

Приложение «Ваш телефон» на Windows 10 поможет управлять музыкой на смартфоне Если у вас компьютер под управлением Windows 10, приложение «Ваш телефон» может оказаться весьма полезным: он позволяет объединить компьютер и смартфон, позволит звонить людям, отправлять и видеть сообщения и многое другое непосредственно с монитора. Теперь Microsoft собирае...

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

Представляем .NET 5 Preview 1 В конце прошлого года мы выпустили .NET Core 3.0 и 3.1. В этих версиях добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для кроссплатформенного обмена сообщениями на основе контрактов. Мы такж...

В iOS 13.3 появились активные углы. Зачем они нужны и как включить iOS 13.3 совершенствует работу с мышью на iPad iOS 13, несмотря на множество недоработок, стала во многом знаковой версией операционной системы от Apple. Именно при её разработке компания фактически пошла против своих убеждений и добавила в iPad поддержку мыши, тем самым при...

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

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

Fastify.js — не только самый быстрый веб-фреймворк для node.js Последние 10 лет среди веб-фреймворков для node.js самой большой популярностью пользуется Express.js. Всем, кто с ним работал, известно, что сложные приложения на Express.js бывает сложно структурировать. Но, как говорится, привычка — вторая натура. От Express.js бывает слож...

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

[recovery mode] Proxmox VE обновился до 6.4: теперь с Single File Restore и Live Restore Proxmox Virtual Environment (в просторечии - Promxox VE, PVE, или даже "прокс") обновился до версии 6.4, и список изменений в очередной раз радует. Эта версия включает весьма интересные новые функции, такие, как восстановление в реальном времени (Live Restore) и восстановлен...

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

23 минуты. Оправдание тугодумов Я всегда думал, что я – тупой. Точнее, что я — тугодум. Проявлялось это просто: на совещаниях и обсуждениях я не мог быстро придумывать решение задачи. Все чего-то говорят, иногда умное, а я – сижу и молчу. Даже как-то неудобно было. Все остальные тоже думали, что я тупой....

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

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

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

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

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

iOS 14 всего лишь копирует Android После выхода оболочки MIUI 12 на базе операционной системы Android 10 многие заговорили о том, что она стала очень похожа на iOS 13. Теперь же, после презентации iOS 14, заговорили о том, что Apple скопировала то, что давно есть в Android. Одним из основных моментов iOS...

Google выпускает обновленную библиотеку в YouTube Music Сервис YouTube Music был представлен два года назад. Хотя Google создавал его как музыкальный проигрыватель по умолчанию для Android, он пока не смог полностью заменить своего предшественника – Google Play Music. Прежде всего из-за отсутствия бесшовного интерфейса. Но ...

Переходим на Python 3. Как попрощаться с Python 2.7 и кодить дальше Для подписчиковВ этом году анонсирован последний выпуск Python 2.7, после чего Python Software Foundation перестанет поддерживать ветку 2.7. Множество популярных библиотек и фреймворков тоже прекращают официальную поддержку Python 2, а целый ряд дистрибутивов Linux уже не вк...

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

Трудно быть Колей, или практики обмена знаниями в Latech Всем привет! Меня зовут Александр Афенов, я тимлид команды Order Processing в компании Lamoda. Сегодня я хочу вам рассказать о практиках обмена знаниями: какие проблемы эти практики решают, как мы к ним пришли, и как они влияют на жизнь разработчика. Читать дальше →

CGI в домашних условиях при помощи Unreal Engine и iPhone Всем привет! Меня зовут Василий Мазалов, я работаю старшим видеомонтажером в компании Pixonic. Наш отдел занимается созданием видео-креативов для маркетинга и комьюнити: роликов для страниц в сторы, обзорных видео игровых нововведений и прочего контента. Когда я не создаю к...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

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

Сервис NVIDIA GeForce Now добавляет в библиотеку 18 игр Библиотека NVIDIA GeForce Now каждый четверг добавляет игры. В этот раз компания NVIDIA добавила 18 игр, включая бейсбольный симулятор Super Mega Baseball 3 и пошаговую ролевую игру ATOM RPG Trudograd. Список игр ATOM RPG Trudograd Super Mega Baseball 3 Aven Colony Ba...

Как я искал хелпдеск среди 15 решений и… не нашёл Этой статьи не должно было быть: вроде как и Хабр не жалобная книга, и у меня частная история далеко не хабровской компании. Но именно на Хабре я получил не очень корректное отношение одной компании и познакомился аж с двумя другими в самый подходящий момент — в момент, когд...

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

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

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

Планы команды IntelliJ Platform на 2020 год Сегодня мы хотели бы рассказать о некоторых из текущих проектов команды IntelliJ Platform, которые затронут IntelliJ IDEA и другие IDE на базе нашей платформы. Результаты этих проектов будут выпускаться в течение следующего года; некоторые из них попадут уже в релиз 2020.1, ...

Зачем нужна библиотека приложений в iOS 14 Помимо виджетов, одной из главных фишек iOS 14 стала библиотека приложений (App Library). Это новая функция, которая автоматически группирует все приложения на iPhone. Больше не нужно самостоятельно создавать папки, и у вас не будет 10-15 рабочих столов с приложениями, кото...

Чиним сериализацию объектов в Kotlin раз и навсегда Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable. Этот способ выглядит абсолютно правильным, однако его поддержка может о...

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

Microsoft анонсировала WinUI 3 Preview 1 Microsoft выпустила публичную версию WinUI 3 Preview 1 (библиотека для создания пользовательского интерфейса приложений). В компании утверждают, что это самая передовая разработка на данный момент. Она помогает использовать новые дизайнерские элементы в универсальных програ...

Дайджест интересных материалов для мобильного разработчика #290 (20-26 января) В новом дайджесте — локализация и гиперкубы, библиотеки и декларативные фреймворки, приложения, чтобы побороть зависимость от приложений, Flutter, Unity, подписки, AI для поиска уязвимостей в коде и многое другое.

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

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

Распределённая команда и тимлид на удалёнке Привет, меня зовут Григорий. Я работаю тимлидом распределённой команды в Positive Technologies. Это мой рассказ, как я стал лидом распределённой команды, с какими проблемами сталкивался, как их решал и какой опыт получил. Мотивами к написанию статьи стали два факта: во-первы...

В некотором царстве, не в «спринговом» государстве. Доклад Яндекса Spring — мощный Java-фреймворк, доступный в опенсорсе. Я решил рассказать, для каких задач на бэкенде Spring оказывается полезным и какие у него плюсы-минусы в сравнении с другими библиотеками: Guice и Dagger 2. Рассмотрим инъекцию зависимостей и инверсию управления — вы узн...

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

Дайджест интересных материалов для мобильного разработчика #325 (2 — 8 декабря) Новый дайджест о кроссплатформенной разработке, о лучших приложениях 2019 года, о минимализме в дизайне и темных темах, о перспективах AR-очков, библиотеках и даже цвете 2020 года. Читать дальше →

Как добавить виджеты из iOS 14 на любой Android Думаю, никто не возьмётся спорить с тем, что подход Apple к развитию iOS лучше подхода Google. Бесспорно, меня тоже раздражают ограничения, которые в Купертино навязывают пользователям своей операционки, но, если взять только качество реализации обновлений, новых функций и ...

Приложение Apple TV теперь доступно на некоторых телевизорах LG 2019 года LG объявила о том, что приложение Apple TV и сопутствующий потоковый сервис «Apple TV» + теперь доступны на некоторых телевизорах LG 2019 года в США и более чем в 80 других странах. Добавление приложения «Apple TV» в линейку телевизоров LG 2019 года следует за дебютом CES но...

[Перевод] Почему мы перешли с Webpack на Vite Миссия Replit — сделать программирование более доступным. Мы предоставляем людям бесплатные вычисления в облаке, чтобы они могли создавать приложения на любом устройстве. Одним из самых популярных способов создания приложений в Интернете на сегодняшний день является React....

Модули в JavaScript Фронтенд-разработчики каждый день используют модули. Это может быть функция из локального файла или сторонняя библиотека из node_modules. Сегодня я кратко расскажу об основных модульных системах в JavaScript и некоторых нюансах их использования. Читать дальше →

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

Spiral: высокопроизводительный PHP/Go фреймворк Привет, Хабр. Меня зовут Антон Титов, CTO компании Spiral Scout. Сегодня я хотел бы рассказать вам про нашего PHP-слона. А точнее про вторую версию опен-сорсного full-stack PHP/Go фреймворка — Spiral. Spiral — это компонентный full-stack фреймворк, разрабатываемый нашей к...

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

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

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

Facebook объявил о покупке Giphy Facebook покупает один из самых популярных поисковиков по GIF в интернете – Giphy. По данным Axios, стоимость сделки составила $400 млн. Согласно официальному заявлению Facebook, сотрудники стартапа присоединятся к команде Instagram. Библиотека Giphy будет интегрирована с In...

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

[Перевод] Что принёс нам Pandas 1.0 9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25. Первый мажорный релиз содержит множество замечательных нововведений, в том числе улучшенное автоматическое суммирование датафреймов, больше форматов вывода, новые типы данных и даже новый сайт док...

[Перевод] Marshmallow vs. Pydantic: две лучшие библиотеки для сериализации и валидации данных на Python Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pyd...

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

Intel рассказала о возможностях инструментария разработки oneAPI в играх и анонсировала скорую поддержку GPU В рамках проведения конференции Virtual Game Developers Conference (GDC) 2020 корпорация Intel устроила онлайн-презентацию, в которой подробно рассказывается о возможностях её инструментария для разработки oneAPI Rendering Toolkit, ориентированного на применение в играх. В с...

ELK, SIEM, Open Distro: Составление отчетов Чтобы защитить вашу корпоративную сеть от угроз и атак, вы всегда должны выполнять тест на уязвимости в своей системе. Для того, чтобы их исправить. Итак, как вы понимаете, работа с отчетами очень важна для любого SOC, потому что она дает обзор уязвимостей, которые могут быт...

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

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

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

Apple открыла iOS 14 для всех смелых и отважных. Публичное бета-тестирование стартовало Компания Apple открыла сегодня публичное бета-тестирование новых версий операционных систем iOS 14 и iPadOS 14, которые приносят множество новых функций.  Apple представила публике iOS 14 и iPadOS 14 на конференции для разработчиков WWDC в конце июня. С того време...

[Из песочницы] Создание системы антифрода в такси с нуля Добрый день. Меня зовут Никита Башун, работаю дата-аналитиком в группе компаний «Везёт». Мой рассказ будет о том, как мы командой из трёх человек с нуля создавали систему антифрода для сервиса заказа поездок. Читать дальше →

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

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

Коротко: конкурс для Java- и Kotlin-разработчиков 300 тысяч рублей за первое место, возможность присоединиться к сильной команде.

Трассировка лучей, недорого — сервис Nvidia GeForce Now наконец запущен Мы уже сообщали о том, что сервис потоковой трансляции игр Nvidia GeForce Now, который с осени прошлого года был в стадии бета-тестирования в России, должен скоро стать доступен всех желающих. Бета-тестирование сервиса закончилось вчера, теперь он доступен во всех стра...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

Playwright — драматургия от Microsoft и новый инструмент для тестирования Я десять лет тестирую и пишу код, а последние четыре года — тестирую доклады в программном комитете конференции Heisenbug. Сегодня расскажу о сквозных тестах, кросс-браузерности и ощущениях от использования Playwright версии 0.10.0. Из конца в конец Зачем нужны сквозные (...

Как странный код скрывает ошибки? Анализ TensorFlow.NET Статический анализ – крайне полезный инструмент для любого разработчика, так как помогает вовремя отыскать не только ошибки, но и просто подозрительные и странные фрагменты кода, которые могут вызвать недоумение у программистов, которым пришлось бы работать с ним в будущем....

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

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

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

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

Европейская команда разработчиков выпустила глобальную тестовую прошивку MIUI 12 На прошлой неделе Xiaomi анонсировала последнюю версию пользовательского интерфейса MIUI 12 на базе Android для своих смартфонов Mi и Redmi. Обновление приносит множество полезных функций, о некоторых которых мы уже рассказывали на прошлой неделе. Недавно Xiaomi уже начала в...

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

В Google Translate появились новые языки С 2016 года компания Google не добавляла в переводчик не одного языка. Теперь разработчики компаний Google обновили сервис переводчики тем самым добавив новые языки. Теперь Google переводчик обзавелся следующими языками: татарский, одия, киньяруанда, туркменский и уйгурский...

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

Алгоритмы быстрой обработки HTTP-строк В HTTP/2 появилась компрессия стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок. Задача становится критичной, если HTTP-парсер должен обрабатывать интенсивный злон...

[Из песочницы] Аналитика для Telegram-ботов, написанных на Python На данный момент бум на создание телеграмм-ботов начал сходить, но тема их создания не теряет актуальности. Написано множество библиотек для облегчение взаимодействия с Telegram Bot API, но после создания бота я так и не нашёл скрипта(библиотеки) для получения статистики бот...

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

Краткие заметки embed-программиста: дублирование секции в памяти микроконтроллера Начальные условия Есть устройство на базе микроконтроллера (для примера будет взят stm32f405rgt6). При включении оно настраивает свою периферию на основе предпочтений пользователя или настроек по-умолчанию. Пользователь может менять настройки во время работы устройства (как ...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

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

[Перевод] Как Replit отжимает мой open-source проект «Я думаю, вам следует закрыть проект и прекратить работать над ним. Я привлеку наших адвокатов в понедельник, если к тому времени вы не выполнитте условия. [...] Мы были крошечной компанией, когда вы стажировались у нас [...] К счастью, сейчас мы намного больше, и, что очень...

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

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

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

План начинающего тестера: от “Войти в IT” до “Я — Инженер!” Всем привет! Меня зовут Валентин и я работаю инженером по тестированию в компании Exness. Очень часто слышу вопрос о том, насколько сейчас возможно стать тестировщиком программного обеспечения. В этой статье я постараюсь ответить на данный вопрос. Читать дальше →

Android Dev Podcast #107: Новости Получился очень текучий выпуск: то библиотеки текут от дыр в безопасности, то Coroutine Flow заполняет пустоши зависимостей в других либах, то анимации при помощи Compose позволяют любознательным экспериментаторам осуществлять плавные переходы, то гитхаб тушит подгорание, пр...

Android Dev Podcast #108: Новости Получился очень текучий выпуск: то библиотеки текут от дыр в безопасности, то Coroutine Flow заполняет пустоши зависимостей в других либах, то анимации при помощи Compose позволяют любознательным экспериментаторам осуществлять плавные переходы, то гитхаб тушит подгорание, пр...

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

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Android-смартфонам вернут функцию записи звонков Google Phone – это предустановленное приложение на смартфонах Google Pixel, устройствах, которые выходят в рамках программы Android One, а также смартфонах Xiaomi, продаваемых в Европе. Теперь стало известно, что Google работает над добавлением встроенной поддержки записи…

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

[Из песочницы] Особенности выпуска Unreal Engine 4 игры на iOS Приветствую. В этой статье я перечислю трудности и неочевидные моменты, с которыми лично я столкнулся при выпуске игры на iOS, а также их решения. Игра начинала создаваться на Unreal Engine 4.18, сейчас последний билд в магазине использует UE 4.24. Сначала игра была выпуще...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

Повышение привилегий в Windows клиенте EA Origin (CVE-2019-19247 и CVE-2019-19248) Приветствую всех, кто решил прочитать мою новую статью с разбором уязвимостей. В прошлый раз небольшим циклом из трех статей я рассказал об уязвимостях в Steam (1, 2 и 3). В данной статье я расскажу об уязвимостях похожего продукта — Origin, который тоже является лаунчером д...

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

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

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

[Перевод] Символы Unicode: о чём должен знать каждый разработчик Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Зат...

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

Вредоносные Python-библиотеки воровали ключи SSH и GPG Из PyPI были удалены две вредоносные библиотеки, пойманные на краже ключей SSH и GPG из проектов разработчиков. Одна из библиотек оставалась незамеченной почти год.

WhatsApp позволяет добавлять контакты через QR-код WhatsApp продолжает работу над приложением добавляя разные фишки и функции. Недавно была добавлена тема Dark Mode для ОС iOS и Android. Теперь в приложение появилась возможность добавить контакты через QR-код. Новая функция WhatsApp доступна в бета-версии для смартфонов...

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

Почему на телефоне не получается смотреть животных в 3D от Google Помните свой первый AR? Это был совершенно новый опыт. Даже если это было что-то невнятное в плохом качестве, оно все равно было вписано в реальный мир. Это действительно было интересно и необычно. Сейчас мы уже немного привыкли к этому, но все равно всегда рады поиграться ...

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

Капля в море: Запуск Drupal в Kubernetes Я работаю в компании Initlab. Мы специализируемся на разработке и поддержке Drupal проектов. У нас есть продукт для быстрого создания Ecommerce решений, основанный на Drupal. В 2019 году мы начали решать задачу построения масштабируемой и отказоустойчивой инфраструктуры для...

Веб-компоненты в реальном проекте Всем привет! Меня зовут Артур, я работаю frontend-разработчиком в Exness. Не так давно мы перевели один из наших проектов на веб-компоненты. Расскажу, с какими проблемами пришлось столкнуться, и о том, как многие концепции, к которым мы привыкли при работе с фреймворками, л...

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

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

Свыше 700 библиотек в RubyGems похищали данные биткоин-кошельков Неизвестные хакеры загрузили в репозиторий RubyGems 725 вредоносных библиотек, ворующих данные из буфера обмена пользователей. Об этом сообщили исследователи ReversingLabs. CSO: RubyGems typosquatting attack hits Ruby developers with trojanized packages: https://t.co/tVk75CS...

ВКонтакте снова выкладывает KPHP Привет! Сейчас будет дежавю. Мы снова выложили на GitHub наш PHP-компилятор — KPHP. Он проделал большой путь, и чтобы рассказать о нём, сначала телепортируемся на шесть лет назад. Поясню для тех, кто не в теме: платформа ВКонтакте изначально была написана на PHP. Со времене...

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

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

[Из песочницы] Unity, ECS, Actors: как поднять FPS в своей игре в три раза, когда оптимизировать уже нечего → Что такое ECS → Что такое Actors Не раз слышал, как хорош шаблон ECS, и что Jobs и Burst из библиотеки Unity — решение всех проблем с быстродействием. Чтобы не добавлять каждый раз слово «наверное» и «может», рассуждая о быстродействии кода, решил проверить всё лично. М...

[Из песочницы] Использование 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 Я часто обсуждаю микросервисную архитектуру с люд...

Xудшие практики для Ansible. Георгий Шуклин Приветствую всех! Меня зовут Георгий. Я работаю в компании servers.com. Я пришел рассказать про Ansible: про хороший Ansible и про плохой Ansible в основном, т. е. про то, как люди могут плохо делать на Ansible. Читать дальше →

Roslyn API, или из-за чего PVS-Studio очень долго проект анализировал Многие ли из вас использовали сторонние библиотеки при написании кода? Вопрос риторический, ведь без применения сторонних библиотек разработка некоторых продуктов затягивалась бы на очень-очень большое время, потому что для решения каждой проблемы приходилось бы "изобретать ...

FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты Если вы iOS- или Android-разработчик и дизайн вашего проекта разрабатывается в Figma, то скорее всего вы сталкиваетесь с проблемами при экспорте ресурсов: цвета выгрузить нельзя, а иконки и картинки экспортировать неудобно. В этой статье я расскажу, как можно облегчить себ...

Процессоры Loongson 3A4000 сравнимы с 28-нм CPU AMD на архитектуре Excavator После торжественного представления ранее на этой неделе нового поколения процессоров китайской компании Loongson новинки прописались на сайте разработчика, что дало нам возможность узнать о них чуть больше из первых рук. Но начнём мы с того, что Loongson заявила о достижении...

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

GraphView: графики для Android GraphView — простая Android-библиотека для рисования графиков. При этом для отображения настраивается практически все — цвет градиента и его наличие, размер и цвет точек, цвет линий и их толщина и пр. Библиотека: https://github.com/NsAveek/GraphView

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

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

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

Все «тайны» настройки софта для модулей и периферии OpenCPN После публикации статьи Использование OpenCPN для автоматизации производства / Хабр (habr.com) в личной почте были вопросы по настройке программного обеспечения на собранном устройстве. В этой статье будут более детально и последовательно приведены все необходимые конфигура...

Звонилка от Google теперь доступна для установки почти ... Обычно в контексте обзоров различных смартфонов добавление приложения «Телефон» от Google рассматривается как минус. Главным недостатком считается отсутствие возможности записи разговоров прямо в приложении.       Однако многим все же нравитс...

[Перевод] Аутентификация REST API с помощью Spring Security и MongoDB Всем привет! Уходя на выходные делимся с вами статьей, которая была переведена в преддверии старта курса «Разработчик на Spring Framework». В прошлых статьях мы создавали RESTful веб-сервис, теперь же мы поговорим о безопасности Вступление В предыдущем посте мы рассмотр...

[Перевод] 10 топовых плагинов для IntelliJ IDEA, которые ты не должен пропустить Хотя IntelliJ IDEA является полноценной IDE (Интегрированная среда разработки), вы наверняка захотите ее персонализировать. В JetBrains Marketplace есть множество плагинов с полезными функциями, которые могут удовлетворить ваши личные или деловые потребности.Библиотека огром...

PostgreSQL 13: happy pagination WITH TIES На прошедшей неделе вышло сразу две статьи (от Hubert 'depesz' Lubaczewski и автора самого патча Alvaro Herrera), посвященные реализованной в грядущей версии PostgreSQL 13 поддержке опции WITH TIES из стандарта SQL:2008: OFFSET start { ROW | ROWS } FETCH { FIRST | NEXT } [ c...

Более миллиарда пользователей Windows под угрозой. Официально Компания Microsoft предупредила пользователей операционной системы Windows о двух критических уязвимостях, которые пока не закрыты и в настоящий момент вовсю используются хакерами.  Данные уязвимости присутствуют в Windows 7, 8.1 и всех поддерживаемых верси...

Microsoft показала, как будут работать приложения на смартфоне Surface Duo Смартфон с двумя дисплеями Surface Duo представляет собой не только один из самых амбициозных проектов Microsoft последнего времени, но также является первым шагом гиганта программного обеспечения на рынке Android-устройств. Поскольку смартфон должен появиться в конце года, ...

Что такое «чистый код» в 2020-м? «Чистый код» и чистый кот Разработчиков хлебом не корми, дай поспорить о чистоте кода: например, недавно шумиху навёл пост Дэна Абрамова «Goodbye, Clean Code». Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — «Clean Code»...

Activision Blizzard отзывает игры с сервиса GeForce Now Запуск Nvidia GeForce Now позволяет играть любую из библиотеки которая запускается с удаленного сервера. Многие разработчики игр предоставили свои проекты, но не Activision Blizzard. Студия Activision Blizzard отказалась от сервиса потоковой передачи игр NVIDIA GeForce Now...

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

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

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

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

КОМПАС-3D v18 Home. Мини-курс проектирования под 3D-печать. От основ моделирования к 3D-проектированию сверху вниз Во многих статьях про 3D-печать подробно разбирается работа 3D-принтера и процесс печати, а создание 3D-модели описывается одной фразой, как будто это элементарное действие (что, конечно, совсем не так). Мы сделали мини-курс по 3D-моделированию, который учитывает особенности...

AGSkeletonLoading: экраны-скелеты для Android AGSkeletonLoading — библиотека для Android, организующая показ скелетона, пустого состояния для таблицы с данными, которые вот-вот должны загрузиться. Можно использовать разные цвета, настраивать мерцание, количество элементов в скелетоне и т.п. Исходники: https://gith...

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

CalyxOS: лучший способ очистить Android от следов Google Android Open Source Project — свободный проект. Однако в него очень глубоко проникла корпорация Google. К сожалению, всё больше API и библиотек Android теперь доступны только на смартфонах с предустановленными приложениями Google Apps (GApps). Таким способом Google эффектив...

Xbox 360 Controller Emulator (X360CE) 4.17.15.0 – эмулятор геймпада Xbox 360 Microsoft всячески продвигает свои геймпады не только на консолях собственного производства (есть также и сторонние), но и на ПК. Ни для кого не секрет, что по умолчанию практически все игры на компьютерах имеют поддержку геймпадов от Microsoft, но вот проблема заключается в...

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

Новый год, новый браузер: Microsoft Edge вышел из стадии предварительной оценки и теперь доступен для загрузки Чуть более года назад мы объявили о намерении перестроить Microsoft Edge на основе проекта с открытым исходным кодом Chromium. Это было нужно для того, чтобы улучшить совместимость для всех пользователей, уменьшить фрагментацию для веб-разработчиков и установить партнерски...

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

[Из песочницы] Разработка круговых интерфейсов Оглавление Введение Классификация круговых интерфейсов Принципы проектирования кругового интерфейса Основы анимации кругового интерфейса Библиотека классов на JavaScript для реализации круговых интерфейсов Введение Круговой интерфейс – это графический интерфейс, элементы кот...

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

Google Stadia добавит еще три игры в свою библиотеку на этой неделе Google продолжает заниматься разработкой бета-версии Stadia. Новые игры появляются на сервисе с момента запуска, еще три будут добавлены на этой неделе, сообщает ITbukva.com. Еще четыре были подтверждены на 2020 год, но достаточно ли этого, чтобы сделать службу привлекательн...

Google объяснила, почему Android до сих пор не умеет делать скриншот всей страницы Функциональность Android всегда была шире, чем у iOS. Шторка уведомлений, пункт управления, виджеты, замена штатных приложений сторонними – все эти и многие другие возможности появились на Android раньше и только потом, спустя время, перекочевали на iOS. Так продолжалось до...

Топ факапов Циан Всем добра!  Меня зовут Никита, я тимлид команды инженеров Циан. Одной из моих обязанностей в компании является снижение количества инцидентов, связанных с инфраструктурой на проде, до нуля. То, о чем пойдет речь далее, принесло нам много боли, и цель этой статьи — не дать ...

[Из песочницы] Комбинаторика в Python Стандартная библиотека python, начиная с версии 2.2, предоставляет множество средств для генерирования комбинаторных объектов, но в интернете мне не удалось найти ни одной статьи, которая подробно рассказывала бы о работе с ними. Поэтому я решил исправить это упущение. Читат...

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

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

Microsoft обновляет Media Creation Tool до получения сборки Windows 10 Build 19041.450 Ищете быстрый и простой способ обновить свой компьютер до последней версии Windows 10, включая накопительные обновления, которые были выпущены в этом месяце? Теперь вы можете использовать Media Creation Tool для выполнения этой работы или даже создать установочный носитель с...

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

Инди-приключение Forager теперь точно доступно на iOS, немного информации про Android-версию На прошлой неделе мы писали о том, что разработчик HopFrog готовится выпустить инди-приключение под названием Forager на iOS раньше намеченного срока (2021 год). Но по какой-то причине после этого релиз оттянули на неопределённый срок. Теперь же мы можем сказать с уверенност...

Создаем готовый для опенсорса проект на Angular в пару кликов Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но в...

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

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

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

Как проходит собеседование Python-разработчика: вопросы для джуниоров и мидлов Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Яндекс.Практикуме. Около 12 лет я занимаюсь разработкой, из них девять — на Python. За это ...

iOS 14 позволит запускать демо-версии приложений без установки Консервативный подход Apple к развитию iOS никогда не воспринимался пользователями однозначно. Одни горячо поддерживали компанию, соглашаясь с её строгостью в отношении разработчиков стороннего софта и явным нежеланием спешить с расширением функциональных возможностей ОС. Д...

Сортировки кучей: n-нарные пирамиды Сортировку кучей (она же — пирамидальная сортировка) на Хабре уже поминали добрым словом не раз и не два, но это всегда была достаточно общеизвестная информация. Обычную бинарную кучу знают все, но ведь в теории алгоритмов также есть: n-нарная куча; куча куч, основанная на...

Реверс API Сбербанка Зачем У меня есть pet-project, приложение для учета финансов. На мой взгляд одной из ключевых проблем подобных приложений является ручной ввод баланса. У банков, в частности сбера, есть информация о транзакциях которые я совершаю и даже есть неплохая аналитика. Но Банков н...

Магазин Epic Games Store добавила поддержку "Список желаний" Разработчики сервиса Epic Games Store добавили новую функцию в магазин. Теперь у пользователей появилась возможность добавлять понравившиеся проекты в "Список желаний". Добавление этой функции связано с многочисленными жалобами пользователей. Новая функция позволит отслеж...

[Перевод] Flutter: 11 вещей, которые нужно помнить для вашего следующего проекта Создание нового проекта на Flutter - это благословение - свежая кодовая база, никакого легаси кода (пока что), null safety, самые последние версии ваших любимых библиотек и так далее. Однако, в то же время, необходимо принять критические решения в самом начале, которые будут...

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

Как мы технически обеспечиваем работу офисов ABBYY во время карантина Хабр, привет! Меня зовут Олег, и я отвечаю за IT-службу в группе компаний ABBYY. Больше месяца назад сотрудники ABBYY по всему миру начали работать и жить только дома. Больше никакого опенспейса и командировок. Поменялась ли моя работа? Нет. Хотя вообще-то да, но она изменил...

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

Функция «Коллекции» теперь включена по умолчанию в Microsoft Edge Canary и Dev Функция «Коллекции» теперь по умолчанию включена для всех пользователей инсайдерских сборок Microsoft Edge Chromium на каналах Canary и Dev. Об этом Microsoft объявила в своём блоге. Мы разработали «Коллекции», основываясь на том, что вы делаете в Интернете. Это универсальн...

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

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

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

Обновление прошивки видеокамеры Canon XF705 расширяет возможности записи в XF-AVC и MP4 Компания Canon Europe объявила о выпуске обновленной прошивки для видеокамеры XF705. Обновление расширяет опции записи в XF-AVC и MP4, а также добавляет поддержку HDR при съемке с высокой частотой кадров. Оно является бесплатным. Снимаем короткометражку на видеокамеру...

Картинки как коробки — что внутри? Доклад в Яндексе Картинки и видео — это «чёрные ящики», внутри которых лежит много интересного и непонятного. Но можно заглянуть внутрь некоторых форматов, всё там поменять и посмотреть, что из этого получится. Полина Гуртовая из компании «Злые марсиане» выступила на нашей конференции «Я&n...

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

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

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

Издатель 2K Games удалил свои проекты из библиотеки NVIDIA GeForce NOW Новый сервис компании NVIDIA GeForce NOW предлагает играть в игры с удаленных серверов, не используя ресурсы вашего компьютера. Многие разработчики решили отказаться от сервиса NVIDIA и отзывают свои игры из библиотеки GeForce NOW. До сегодняшнего дня такими были: Ac...

Изучаем React: 300+ вопросов для подготовки к собеседованию Доброго времени суток, друзья! Представляю вашему вниманию первую версию репозитория с большим количеством вопросов (с ответами, разумеется) по React и связанным с ним технологиям. А много — это сколько? Это 322. Почему первая версия? Потому что будет еще и вторая, прим...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

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

Time назвал Nintendo Switch и Xbox Adaptive Controller одними из самых важных гаджетов десятилетия Журнал Time назвал Nintendo Switch одним из 10 лучших гаджетов за последние 10 лет. В конце года журнал Time выделил лучшие гаджеты за последние 10 лет, от iPad 2010 года до адаптивного контроллера Xbox 2018 года. И во второй раз за это десятилетие издание отметило Nintendo ...

100 плагинов для Revit или как мы оптимизировали проектирование систем электроснабжения Привет, Хабр! Меня зовут Алексей Новиков, уже 5 лет я занимаюсь информационным моделированием систем электроснабжения в компании STEP LOGIC.  Раньше основной ценностью работы проектировщика был комплект чертежей, сейчас – это информационная модель, которая является прод...

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

[Перевод] Flutter. Весеннее обновление 2020 Привет! Меня зовут Евгений Сатуров, я Flutter-разработчик Surf и основатель Flutter Dev Podcast. Ниже перевод статьи Tim Sneath и Patrick Sosinski с моими комментариями. Полмиллиона разработчиков, 50 тысяч приложений, взрывной рост и обновлённый релизный цикл. Последние м...

ruleguard: динамические проверки для Go В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard, которая адаптирует gogrep для использования внутри линтеров. Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте rulegua...

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

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

Принцип подстановки Лисков Всем привет, меня зовут Константин. Я занимаюсь разработкой на Java в Tinkoff.ru и люблю SOLID. В этой статье мы сформулируем принцип подстановки Лисков, покажем его связь с принципом Открытости-Закрытости, узнаем, как правильно формировать иерархию наследования и ответим на...

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

Как мы стартовали Vivid Money для iOS Всем привет! Меня зовут Илья. Я - iOS техлид в Vivid Money. Мы больше года занимались разработкой нашего финтех-продукта и теперь готовы поделиться с сообществом приобретенным опытом и знаниями.Это вступительная статья, в которой я поверхностно затрону несколько технических ...

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

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

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

Го в Go! Как команда PHP взялась писать микросервисы Всем привет! Меня зовут Алексей Скоробогатый, я системный архитектор в Lamoda. В феврале 2019 года я выступал на Go Meetup еще на позиции тимлида команды Core. Сегодня хочу представить расшифровку своего доклада, который вы также можете посмотреть. Наша команда называется Co...

[Перевод] Делаем ионизатор воздуха менее, чем за $10 Перевод статьи из блога индийского инженера Амальдева В. Этот проект вызревал у меня в голове порядка двух лет, и я всё никак не мог им заняться. В проекте нет ничего сложного или слишком технологичного. Любой человек, умеющий мастерить что-либо руками, должен с ним справ...

Respawn планирует добавить кросс-поддержку для Apex Legends Когда вышла видеоигра Apex Legends, шли слухи о добавлении поддержки кроссплатформенного многопользовательского развития. Такая поддержка помогла бы игрокам с разных платформ играть вместе. На данный момент такие игры, как Fortnite и Call of Duty: Modern Warfare поддержива...

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

Proxmox Backup Server: интеграция с Proxmox VE и базовые операции В середине июле этого года мы рассказывали о том, что была представлена бета-версия Proxmox Backup Server (PBS). В день холостяков, 11.11.2020 в 11:11, Proxmox Server Solutions GmbH опубликовали релиз версии 1.0.1, что не прошло незамеченным. Взглянем детально, как использо...

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2 В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang. Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В эт...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

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

Zabbix: мониторим всё подряд (на примере Redis'а) Zabbix — замечательный продукт для администраторов крупных программно-аппаратных комплексов. Он настолько хорош, что может использоваться не только крупным бизнесом, но и средне-малым бизнесом, и даже в pet-проекте. В общем, у меня есть небольшой опыт работы с Zabbix'ом и я ...

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

Анонс Windows 10 Insider Preview Build 19546 (Ранний доступ) Доброй ночи, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 под номером 19546 для участников программы Windows Insider, использующих канал «Ранний доступ» (Fast Ring). Полный номер сборки: 19546.1000.rs_prerelease.200110-1443. Напоминаем, что н...

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

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

[Перевод] Реализуем машинное обучение на iOS-устройстве с использованием Core ML, Swift и Neural Engine Привет, хабр! В преддверии старта продвинутого курса «Разработчик iOS», мы традиционно подготовили для вас перевод полезного материала. Введение Core ML — это библиотека машинного обучения, выпущенная в свет Apple на WWDC 2017. Она позволяет iOS разработчикам добавлять ...

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

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

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

Главный конкурент WhatsApp получил массу улучшений Приложение для обмена сообщениями Telegram получило важное обновление, которое доступно пользователям Android и iOS. Обновление принесло несколько важных изменений, включая редактор тем версии 2.0. После установки обновления вы можете выбрать пользовательские цвета для...

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

Keyboa: клавиатуры на максималках для ботов в Telegram Боты - одна из особенностей Telegram, сделавших мессенджер столь популярным. А его встроенные клавиатуры дают разработчикам большую свободу взаимодействия с пользователями.Keyboa помогает создавать встроенные клавиатуры любой сложности для ботов, разработанных на базе pyTele...

Установка простого приложения (например Superset) в microk8s используя metallb и helm Snaps являются кросс-дистрибутивными, независимыми и простыми в установке приложениями, упакованными со всеми их зависимостями для запуска во всех основных дистрибутивах Linux. Snaps безопасны — они ограничены и не ставят под угрозу всю систему. Они работают под разными уров...

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

WOA Deployer v3 позволяет запускать Windows 10 на Raspberry Pi Raspberry Pi 4 предлагает гораздо большую производительность, дополнительные параметры ввода/вывода, в отличие от Raspberry Pi 3. В 2019 году в сети появились новости о возможности хакинга Raspberry Pi для загрузки настольной версии Windows 10 на ARM. Проект достиг большего ...

Android: социальный мониторинг и советы от Microsoft Для подписчиковСегодня в выпуске: анализ приложения «Социальный мониторинг», рассказ о том, как новые версии Android экономят заряд батареи, статья о вредности System.exit(), советы, как сократить размер приложения, реализация обновления приложения через само приложение, над...

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