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

Собираем приложение Qt в WebAssembly в Windows Как известно, приложения написанные на Qt, который является кросс платформенными запускаются от desktop, мобильных, интернет вещей, до микроконтроллеров. Один из вариантов это сборка приложения Qt в WebAssembly — которое позволит Вам запускать его в браузере у пользовател...

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

Быстрое чтение CSV в C# (fast read CSV) Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД...

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

[Из песочницы] Как использовать консоль JavaScript: выход за пределы console.log () Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal. Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов,...

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

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

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

[Перевод] Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой ...

Книга «Bash и кибербезопасность: атака, защита и анализ из командной строки Linux» Привет, Хаброжители! Командная строка может стать идеальным инструментом для обеспечения кибербезопасности. Невероятная гибкость и абсолютная доступность превращают стандартный интерфейс командной строки (CLI) в фундаментальное решение, если у вас есть соответствующий опыт....

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

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

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

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

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

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

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

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

[Перевод] 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2 В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не т...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

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

[Из песочницы] Бакалавриат в США: Нетрадиционный путь в топ-вузики Прочитала я пару статей на хабре после того как прошла по ссылке со стороннего ресурса и мне как-то грустно стало так как я сама учусь в топ-университете в США и знаю нескольких из России. habr.com/ru/post/469275 habr.com/ru/post/230789 Однако, моя история не совсем станд...

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

Руководство по использованию Tarantool Cartridge в Kubernetes Привет, меня зовут Иван, и сегодня я расскажу как управлять приложением Tarantool Cartridge в кластере Kubernetes при помощи Tarantool Operator. Мы пройдем полный цикл от разработки до эксплуатации: Подготовим инструменты Создадим тестовое приложение Упакуем его в docker У...

Автоматизация тестирования ПО QIWI-терминалов Привет, Хабр! Сегодня поговорим на специфическую тему: автоматизация тестирования ПО для терминалов самообслуживания QIWI. В теме автоматизации тестирования есть области, которые исхожены вдоль и поперек несколько раз, например, тестирование веб-сервисов. Для таких област...

Обзор блока питания Chieftec Polaris PPS-750FC мощностью 750 Вт. Больше «золота»! Компания Chieftec в последнее время активно обновляет свой модельный ряд блоков питания, предлагая все новые и новые линейки. Так, пару-тройку лет назад появились решения линейки Proton, а недавно Photon c RGB-подсветкой и доступные...

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

[Перевод] Flutter вот-вот завоюет Web Современные Web-сайты пишутся на HTML, JavaScript и CSS (и этот сайт в том числе). Наверно, вы сейчас прочитали это и подумали «да это же очевидно». А если я вам скажу, что можно написать сайт без использования этих трех технологий, у вас наверняка возникнут вопросы… Читать ...

2. Check Point SandBlast Agent Management Platform. Интерфейс веб-консоли управления и установка агента Продолжаем изучать новую облачную платформу Check Point Management Platform для управления средством защиты пользовательских компьютеров — SandBlast Agent. В предыдущей статье мы описали основные составляющие SandBlast Agent, познакомились с архитектурой Check Point Infini...

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

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

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

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

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

[Из песочницы] UX-исследование ДБО: наш опыт, ошибки и открытия Привет. Я Денис Элиановский, дизайн-директор в JTC и руководитель в Opium Pro. Мы работаем в очень узких сегментах рынка IT, связанных с финансами и документооборотом. Вы точно ещё не слышали об этих компаниях и сегодня мало что о них узнаете, ведь эта статья про UX-исследов...

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

[Перевод] Запускаем несколько терминалов Linux в одном окне Linux предлагает множество способов разбить окно терминала на несколько мини-экранов, что позволяет обеспечить в определенном смысле «многозадачный» режим работы. Это можно сделать как минимум пятью разными способами. Казалось бы, что может быть лучше тёплого мерцания терм...

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

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

Добавляем в Jupyter Notebooks красоту и интерактивность Многие используют в своей работе Jupyter Notebooks. Но с ростом сложности проекта появляются проблемы. В блокноте появляются ячейки с красными пометками для самого себя «перед запуском укажи число...» или «задай количество итераций исходя из...». Какой-то откат к командной с...

Сенсорный терминал для суровых условий Устройства Advantech TPC — это тонкие клиенты для запуска приложений человеко-машинного интерфейса (англ. Human-machine interface, HMI). Представляют из себя полноценный x86 компьютер с пассивным охлаждением, встроенный в защищенный монитор с тачскрином. HMI-терминалы пре...

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

Мониторинг Tarantool: логи, метрики и их обработка Tarantool — это платформа in-memory вычислений с гибкой схемой данных. На её основе можно создать распределённое хранилище, веб-сервер, высоконагруженное приложение или, в конце концов, сервис, включающий в себя всё вышеперечисленное. Но какой бы ни была ваша промышленная за...

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

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

NoVerify: PHP-линтер, который работает быстро Для PHP есть хорошие утилиты статического анализа: PHPStan, Psalm, Phan, Exakat. Линтеры хорошо выполняют свою работу, но очень медленно, потому что почти все написаны на PHP (или Java). Для личного использования или небольшого проекта это нормально, но для сайта с миллионам...

YouTrack 2019.3: обновленный список задач и многое другое Меня зовут Лена, и я принесла вам YouTrack. Вы наверняка слышали про этот сервис трекинга задач от JetBrains, а если нет — время познакомиться! Мы выпустили новую версию и вот что происходит: появились новые функции и улучшения практически для всех сценариев использования Yo...

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

Opener 2020: Самый сок Введение На протяжении всего апреля мы с командой после учёбы и работы решали увлекательные задачи в рамках конкурса Opener от компании Itransition. Вместе с конкурсом закончился наш лучший месяц на самоизоляции. Теперь, отдохнув, я готов спокойно поделиться этим опытом с ва...

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

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

Eyecon (Айекон): удобная звонилка с определителем номеров Особенности, преимущества и принцип работы приложения Айекон. Если наскучило стандартное приложение для совершения звонков, в Google Play всегда...

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

[Перевод] Решаем мини-игру про взлом протокола в Cyberpunk 2077 за 50 строк на Python Если вы хотя бы отдалённо интересуетесь играми и не прожили последнюю пару лет в тайге, то, вероятно, слышали что-нибудь о Cyberpunk 2077. После долгого ожидания она наконец вышла! И в ней есть мини-игра про взлом! И чем больше получишь в ней очков, тем ценнее приз! Может л...

Все новые функции Windows 10, которые Microsoft анонсировала на Build 2020 На конференции разработчиков Build 2020 Microsoft представила разработчикам и потребителям широкий спектр анонсов для Windows 10, Microsoft Edge, Linux и многих других. Вот некоторые из функций, анонсированных для операционной системы Windows 10. Разработка приложений UWP и ...

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

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

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

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

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

[Перевод] Trusted Types — новый способ защиты кода веб-приложений от XSS-атак Компания Google разработала API, которое позволяет современным веб-приложениям защитить свой фронтенд от XSS-атак, а конкретнее — от JavaScript инъекций в DOM (DOM-Based Cross Site Scripting). Межсайтовый скриптинг (XSS) — наиболее распространённый тип атак, связанных с уяз...

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

Обзор комплекта корпусных вентиляторов AeroCool Edge 14 Pro: полная свобода Штатные системы охлаждения корпусов обычно предлагают пару-тройку вентиляторов, выполненных в классическом черном цвете без определенных изысков и за редким исключением с цветной подсветкой. Придать им «жизни» обещает новая модель AeroCool Edge 14. Для удобства использования...

[Перевод] Дзен Go Оценивая свою работу, я недавно много размышлял о том, как мне писать хороший код. Учитывая, что никто не интересуется тем, как писать плохой код, возникает вопрос: как узнать, что ты написал на Go хороший код? Если есть какая-то шкала между хорошо и плохо, то как понять, ...

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

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

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

Опубликованы изменения в правилах полетов беспилотников Опубликовано, а значит, вступило в силу Постановление Правительства Российской Федерации от 03.02.2020 № 74 «О внесении изменений в Федеральные правила использования воздушного пространства Российской Федерации». Рассмотрим важные для пилотов БВС моменты Постановления, попут...

Приложение «Ваш телефон» для Windows 10 теперь поддерживает ввод с помощью пера Старший программный менеджер Microsoft Аналь Отеро Диаз (Analy Otero Diaz) в своём Twitter объявила о выходе нового обновления для приложения «Ваш телефон» на Windows 10, которое принесло с собой поддержку ввода с помощью пера или стилуса в функции «Экран телефона». Hey #Wi...

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

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

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

Flutter + arduino nano 33 BLE sense = очень простой BLE sensor В этой статье я хочу рассказать как сделать очень простую bluetooth метеостанцию (куда уж без нее :) ) и написать мобильное приложение на Flutter для нее. Читать дальше →

[Из песочницы] Программист-фанатик. Конспект часть 1. Почему нужно быть худшим и не слушать советы родителей Дошли руки до книги Чеда Фаулера «Программист-фанатик». Я решил написать конспект книги, отжав из нее всю воду, а воды было предостаточно. Конспект позволит тем, кто не читал книгу ранее, познакомиться с идеями изложенными в ней. Читать дальше →

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

И целого байта мало… (Часть #3) Итак, друзья, 1-е апреля прошло, пора раскрывать карты, что же такое "2B or not 2B" на самом деле. Это совместный текст от автора работы jin_x и уже знакомого вам деда unbeliever Обязательно скачайте архив с работой на Pouet и прочитайте вводную (первоапрельскую...

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

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

[Перевод] Введение в gRPC на Rust В статье будет показано как создать gRPC сервер и клиент на Rust. Для большей наглядности клиент будет также Telegram ботом. В итоге будет получена следующая архитектура: Статья является не всеобъемлющим руководством по gRPC в Rust, а скорее практическим гайдом, демонстриру...

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

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

Смерть Кощея в списке рекомендаций (можно ли сделать уютным и безопасным Ютюб?) Вступление коротко: хочу рассказать про онлайн плеер Ютюб для Андроида с локальными плейлистами, каналами и рекомендациями. Вступление развернутое: Некоторое время назад я столкнулся ровно с такой проблемой, как и автор замечательного приложения Channel Whitelist, и определ...

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

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

[Перевод] Вышел Windows Terminal Preview v0.8 Выпущена новая версия Windows Terminal. Терминал можно загрузить из Microsoft Store или со страницы выпусков на GitHub. Давайте перейдем к просмотру нововведений! Поиск В Терминал добавлена функция поиска. По умолчанию, для вызова строки поиска, используется комбинация клав...

Ах, эти строки Это текстовая версия моего доклада "Ах, эти строки" на конференции JPoint-2020. Дабы не тратить время читателей зря, сразу расставим все точки над "ё". О чём статья? Статья об эффективном (или не очень) использовании строк. Для кого статья? Статья для раз...

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

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

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

Microsoft представила SDK Preview для Surface Duo и Windows 10X Microsoft объявила о выпуске предварительной версии набора средств разработки (SDK) для Surface Duo, а также о скором выходе SDK Preview для Windows 10X. Кроме этого, компания представляет предложения новых веб-стандартов для веб-сайтов и PWA-приложений, призванных обеспечи...

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

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

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

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

Запустить Linux в браузере — поможет эмулятор jor1k (со встроенными Monkey Island, Doom и Frontier Elite II) В материале говорим о возможностях этого открытого инструмента и его технических параметрах. Также расскажем об аналогичных проектах, разрабатываемых в этой сфере. В предыдущих сериях: «Смеха ради»: для чего могут понадобиться программные инструменты, у которых нет «боево...

Официально: Apple переходит на собственные ARM-процессоры Apple в рамках ежегодной конференции разработчиков WWDC 2020 официально объявила о планах перевести устройства линейки Mac на ARM-процессоры Apple Silicon собственного производства. Главным преимуществом ARM-чипов является низкое энергопотребление, при этом производительнос...

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

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

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

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

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

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

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

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

Количество загрузок приложения Google Stadia превысилj 1 миллион Google Stadia была запущена в ноябре 2019 года, с тех пор о количестве пользователей не было никакой информации. По данным аналитической компании Sensor Tower приложение Google Stadia превысило около 1 миллиона загрузок на операционных системах iOS и Android. Но приложение...

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

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

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

[Перевод] Асинхронные задания в Django с Celery Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме. К примеру, в вашем приложении пользователь...

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

[Перевод] Управление жестами: Обработка визуальных перекрытий. Часть 2 В преддверии старта продвинутого курса по Android-разработке продолжаем делиться с вами серией полезных переводов. Вы читаете вторую статью из серии об управлении жестами. Первую часть вы можете найти здесь. В первой части серии мы узнали, как расположить ваше приложение ...

[Перевод] Устанавливаем рабочий стол Linux на Android Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC. В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах. Одной из ключевых технологий, которую применяют многи...

Использование Graylog и NLog для сбора логов от приложений на C#. Личный опыт КДПВ Хабр, приветствую! Описанное ниже ни в коем случае не tutorial или best practice. Я решил всего лишь агрегировать и задокументировать свои достижения в поставленном вопросе. Надеюсь, содержимое данной статьи позволит ищущим информацию по логированию почерпнуть что-т...

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

Новое приложение «Медузы». Почему Flutter? Технический директор Борис Горячев рассказывает, как «Медуза» работала над ним целый год и почему оно написано на Flutter 12 мая состоялся релиз новых мобильных приложений «Медузы» — почти через два года после того, как мы решили их переписать. Почему так долго? Почему не на...

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

Sentry удаленный мониторинг багов в фронтенд приложениях React Мы изучаем использование Sentry с React. Эта статья является частью серии, начинающейся с сообщения об ошибках Sentry на примере: Часть 1. Читать дальше →

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

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

В iOS 14 можно менять приложения по умолчанию — как это будет работать? Одна из ключевых новых функций iOS 14 и iPadOS 14, которую практически не показывали во время презентации на WWDC, заключается в том, что Apple позволила пользователям изменять приложения электронной почты и веб-браузера по умолчанию. Тем не менее, эта функциональность пока...

[Перевод] Ansible против Puppet Ansible и Puppet представляют собой системы управления конфигурациями (SCM), необходимые для построения повторяющихся инфраструктур. Ansible отличается простотой использования, имеет безагентную архитектуру (не требует установки агента/клиента на целевую систему) и YAML-по...

Несовместимо с устройством: как устанавливать на Android несовместимые приложения? Если вы хотите скачать из Google Play новую крутую игру или опробовать популярный стриминговый сервис, но вдруг оказывается, что выбранное приложение несовместимо с вашим устройством или не поддерживается в вашей стране – да, это разочарование. Но не спешите с выводами и не ...

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

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

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

Blitz: относительное время для TextView Библиотека для Android-приложения от нашего читателя. Blitz — устанавливает в TextView относительное время (например, «5 минут назад»). Киллер-фичей является автоматический апдейт строки со временем — по прошествии, скажем, минуты время обновится самостоятель...

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

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

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

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

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

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

Обновление Windows 10 KB4532693 теперь вызывает сбои загрузки Windows 10 KB4532693, представляющая собой исправление безопасности, по-видимому, стала серьезным источником горя для тысяч пользователей. По некоторым сведениям, это обновление удаляет файлы, в то время как другие сообщают, что Microsoft переместила все данные рабочего стол...

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

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

17 мгновений IT. Личный опыт самоорганизации от руководителя отдела Почему 17, спросите вы? Потому что мой путь в ИТ начался именно 17 лет назад. При этом последнее десятилетие я работаю в компании «Инфосистемы Джет», где произошло мое профессиональное становление. Но сегодня я расскажу не о перипетиях корпоративной жизни, а о самовоспитан...

Инфографика средствами Excel и PowerPoint. Часть 2 Не жди поездку в Гагры! Давид Маркович, сериал «Ликвидация» Всем привет! За время карантина все, наверное, не по разу прочитали о том, как плодотворно А.С. Пушкин провел свой период «заточения», названный впоследствии «Болдинской осенью», поэтому не буду объяснять, что имен...

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

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

Microsoft выпустила программу для восстановления потерянных или удалённых данных Компания Microsoft выпустила полезную программу для пользователей Windows 10, которые случайно удалили или каким-то другим образом потеряли данные.Приложение Windows File Recovery доступно для бесплатной загрузки в онлайн-магазине приложений Microsoft Store.Инструмент исполь...

[Перевод] Подмена DLL (DLL hijacking) Всем привет. Прямо сейчас в OTUS открыт набор на апрельский запуск обновленного курса «Реверс-инжиниринг». В преддверии старта курса мы традиционно подготовили перевод интересного материала. В операционной системе Windows приложения и службы при запуске ищут DLL, необходим...

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

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

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Rust глазами Python-разработчика Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу...

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

Сфотографируйте свои уши, чтобы получить лучший звук от Logitech G Logitech G запускает поддержку нового приложения Immerse, которое позволяет настраивать персональный игровой звук для лучшего погружения. Приложение должно позволить более четко слышать звуки игры, такие как крупномасштабные сражения или приближающиеся шаги. Immerse исп...

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

[Из песочницы] Внесите эти изменения, чтобы соответствовать стандартам доступности веб-дизайна Привет, Хабр! Предлагаю Вашему вниманию перевод статьи «Make These Changes to Meet Web Design Accessibility Standards» автора Richard Pilton Что такое доступность? Доступность (всё чаще мы её так и называем Accessibility) — это дизайн продуктов, устройств или услуг, которые...

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

Microsoft рассказала о разработке приложений для Windows 10X и Surface Duo Microsoft поделилась новой информацией о разработке приложений для грядущей операционной системы Windows 10X, а также рассказала, как разработчики могут адаптировать Android-приложения для поддержки Surface Duo. Складные устройства с двумя экранами предоставляют новые спосо...

Легко и непринужденно деплоим приложения на Tarantool Cartridge (часть 2) Совсем недавно мы рассказывали о том, как деплоить приложения, написанные на Tarantool Cartridge. Но на деплое эксплуатация не заканчивается, поэтому сегодня мы обновим наше приложение и разберемся с тем, как управлять топологией, шардированием и авторизацией, а также измен...

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

Xiaomi добавит функции Google Camera в MIUI Фирменная прошивка MIUI то и дело получает от компании Xiaomi новый дизайн, функции и возможности, и, естественно, MIUI 12 не стала исключением.Согласно новым данным, в ближайшее время MIUI 12 получит несколько новых функций, которые повторяют возможности приложения Google C...

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

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

[Перевод] Raspberry Pi, Python и полив комнатных растений У меня не складываются отношения с комнатными растениями. Дело в том, что я забываю их поливать. Зная это, я начал размышлять о том, что кто-то, наверняка, уже нашёл способ автоматизации полива. Как оказалось, способов таких существует очень много. А именно, речь идёт о реше...

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

Приложение от Galileosky сообщит водителю любые данные Компания Galileosky создала мобильное приложение, которое показывает водителю данные на экране смартфона или планшета. Оно отображает нужную информацию с GPS/ГЛОНАСС терминала Galileosky в режиме реального времени. Обычно терминалы ...

[Из песочницы] Базовые команды Linux для тестировщиков и не только Предисловие Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обы...

Центробанк собирается запустить «убийцу» Apple Pay и Google Pay Как пишет CNews со ссылкой на РБК, оплата будет осуществляться по технологии NFC, как это происходит в системах Apple Pay, Samsung Pay и Google Pay, а также при бесконтактной оплате банковскими картами.Внедрение уже обсуждается с Национальной системой платежных карт (НСПК), ...

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

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

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

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

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

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

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

Как присоединиться к Clubhouse, если нет iPhone? Мы поможем Сегодня о Clubhouse не слышал разве что глухой. Новомодная социальная сеть для любителей голосовых сообщений набирает невиданные обороты, а конкуренты в лице Twitter и Facebook обещают представить свои аналоги в кратчайшие сроки. ‎Clubhouse: Drop-in audio chat (Free, App St...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

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

Генерация под контролем: как обуздать мощные языковые модели Intro Если вы не проспали последние пару-тройку лет, то вы, конечно, слышали от трансформерах — архитектуре из каноничной Attention is all you need. Почему трансформеры так хороши? Например, они избегают рекуррентности, что дает им возможность эффективно создавать такое пред...

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

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

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

Epic Games хочет выпустить Fortnite в Google Play, но не платить 30% комиссии Недавно стало известно, что компания Epic Games хочет распространять свою королевскую битву Fortnite в Google Play, не платя при этом стандартную комиссию в 30%. Google тут же публично отказала. Она заявила, что Play Store зависит от существующих условий, поскольку это позво...

Мониторинг многопоточных приложений Node.JS В этой статье мы разберем особенности мониторинга многопоточного Node.JS приложения на примере нашего коллектора для сервиса мониторинга и анализа логов серверов PostgreSQL. Читать дальше →

На следующей неделе новый Windows Terminal получит ретро-режим в стиле CRT, поиск и многое другое В прошлом году Microsoft выпустила новое приложение командной строки Windows Terminal для Windows 10. С тех пор разработчики без устали обновляют и совершенствует ПО. На подходе очередное обновление, оно выйдет уже на следующей неделе и принесет заметное визуальное изменение...

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

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

Зависла программа на Mac, как принудительно закрыть (завершить процесс): 3 способа В случае подвисания какого-нибудь приложения на Mac необходимо принудительно его завершить. Это поможет быстро закрыть программу или перезагрузить её, позволив избежать перезагрузки всей системы macOS. В данном материале мы расскажем о всех основных способах принудительного ...

GitHub выпустил бету своего приложения для Android Сейчас приложение доступно ограниченному числу разработчиков, подписавшимся на лист ожидания бета-версии Android.

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

Sentry — трекинг java exception в Java Sentry — трекинг java exception в Java Стандартно Java разработчики мониторят ошибки, exception через логи. Но есть и другой способ, а именно отправка exception в Sentry. Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях. Преимущества использ...

6 приложений для занятий спортом дома В России бушует COVID-19, и лучший способ борьбы с ним — сидеть дома и стараться не высовываться. Задача несложная, но из-за отсутствия движения многие (и мы тоже!) начали обрастать жирком, а в зал уже не сходишь и даже на пробежку не выйти. Редакция Хабра неделю пробовала...

Простой способ вернуть сервисы Google на смартфоны Huawei и Honor Ранее в этом году власти США запретили компании Huawei использовать в своих смартфонах набор сервисов Google Mobile Services, включая Google Play, Google Maps и прочие популярные приложения. Компания Huawei начала активно дорабатывать свою собственную операционную систе...

Как установить Android 11 на свой телефон, если это вообще возможно Время пришло! Мы ждали этого уже несколько месяцев и вот наконец-то Google выкатила Android 11 для всех. Теперь он стал по-настоящему массовым и для его установки не надо принимать участие ни в каких программах тестирования, а достаточно просто скачать его на поддерживаемый...

Чек-лист для тестирования числового поля При тестировании встречаются как интересные задачки с замудреной логикой, так и простые, вроде проверки простой строки или числового поля. Для простых полей можно один раз написать чек-лист проверок, а потом переиспользовать, лишь немного меняя под «своё» поле. Сегодня мы р...

Производство Material иконок для MacOSX приложения Home Assistant на Electron В первой серии я заварил умный дом на Home Assistant. В процессе я влюбился в Home Assistant и подумал, не написать ли десктопное приложение для этой системы. У Home Assitant есть прекрасный web-интерфейс и показалось разумным завернуть его в Electron, чтобы получить красиву...

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

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

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

Маркетинг на рынке США: как SaaS-стартапу заработать десятки тысяч долларов с помощью AppSumo.com В русскоязычном интернете нет недостатка в статьях по выводу продукта на Product Hunt и другие похожие сервисы, но не так много материалов по использованию ресурса AppSumo. Я решил поделиться своим опытом продвижения продукта на американском рынке с помощью этого сервиса. ...

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

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

Почему Android и iOS никогда не изменятся кардинально Знаете, я часто пишу о том, что нам нужны новые операционные системы с совсем иным интерфейсом. Android и iOS жутко надоели, как и Windows, macOS и Linux. Все эти системы какими были на этапе зарождения, такими и остаются. Основная идея операционной системы — предоста...

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

Гореть, но не сгорать – гореть, чтобы светить Привет, хабровчане. В преддверии старта курса «Team Lead 2.0», хотим поговорить о профессиональном выгорании. О профессиональном выгорании хотя бы краем уха слышал каждый второй, но по-настоящему понять, что это такое необходимо, чтобы сохранить самое важное, что у нас ес...

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

«Сбербанк Онлайн» вошел в тройку самых популярных приложений России Сбербанк Онлайн поднялся на третье место в рейтинге App Store — после WhatsApp и Instagram. В прошлом году приложение заняло четвертое место.

Скрытые функции Samsung на One UI, о которых надо знать Нам каждый раз говорят, что та или иная операционная система очень удобная и интуитивно понятная. Вот только это не так. Иначе, почему тогда каждый раз есть, о чем рассказать в статье, вроде этой? Уверен, что многие из вас скажут что-то, вроде ”Вау, вот оказывается, как мож...

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

Выпускники семестрового курса «Разработка приложений на iOS», Технопарк Mail.ru Свои дипломные проекты в этом сезоне защитила новая группа выпускников семестрового курса «Разработка на iOS» Технопарка (МГТУ им. Баумана). Это был экспериментальный семестр, все занятия проходили онлайн. Преподаватели выбрали четыре самых интересных решения, о которых мы х...

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

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

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

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

[Из песочницы] Есть ли жизнь после Windows или куда развиваться виндовому системному администратору/инженеру в 2020 году? Вступление 2019 год медленно, но верно подходит к своему логическому завершению. IT-отрасль продолжает активно развиваться радуя нас большим количеством новых технологий и попутно пополняя наш словарный запас новыми определениями: Big Data, AI, Machine Learning (ML), IoT, 5...

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

Microsoft добавила в Windows 10 неотключаемую рекламу своих продуктов Корпорация Microsoft интегрировала в свою ОС рекламу, которая предлагает пользователям скачать и установить один из продуктов компании. На данный момент реклама показывается лишь тем юзерам, кто работает с приложениями Mail и Calendar — встроенные инструменты Windows. Не...

Разбираем ресурсы Twisted Metal 4 (PSX) в Ghidra. Часть 1 Всем привет, В данной статье я расскажу о реверс-инжиниринге ресурсов игры Twisted Metal 4 для первой Playstation. В качестве основного инструмента я буду использовать Ghidra. Наверняка вы слышали об игровой серии Twisted Metal. А кому-то, наверное, довелось и поиграть (мне...

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

[Перевод] Непрерывная интеграция и развертывание настольных приложений с GitHub Actions Из общения с разработчиками настольных приложений мы узнали, что многие хотят узнать, как быстро настраивать рабочие процессы непрерывной интеграции и непрерывного развертывания (CI/CD) для WPF и Windows Forms, чтобы пользоваться многими преимуществами пайплайнов CI/CD, таки...

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

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

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

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

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

Web-приложения на Flask: как бороться с циклическими импортами Flask – один из самых популярных фреймворков Python, но некоторые ошибки при его использовании могут привести к определенным затруднениям. В этой статье мы расскажем о том, как не допустить возникновения циклических импортов в проекте. Читать дальше →

Как работать с Tarantool на Golang вместо Lua Ядро Tarantool-а написано на C, а вся бизнес-логика создаётся на Lua. Это не самый сложный язык, но и не самый популярный. Поэтому сегодня я расскажу, как начать работать с Tarantool, написав всего три строчки кода на Lua. А всё остальное приложение написано на Golang. Чтоб...

Простой графический интерфейс для M5Stack (Arduino) Привет! Сегодня мы познакомимся с такой штукой как M5 UI. Благодаря M5 UI Вы можете с помощью пары строк кода подключать всевозможные поля, кнопки, ползунки и переключатели, создавать условные слоя. Несмотря на то, что процесс подключения элементов UI очень прост, Вы также м...

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

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

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

Tinder знает о вашей интимной жизни больше, чем ваши друзья Сегодня в центре нашего внимания Tinder — самое популярное мобильное приложение для знакомств (57 миллионов пользователей на начало 2020 года, из которых 5,9 млн. имеют платную подписку. Это приложение работает на основе данных о местоположении, подбирая желающих познакоми...

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

Новинка популярного производителя показала, на что способна Отлично зарекомендовавший себя сетевой информатор Мукул Шарма (Mukul Sharma) на своей страничке сообщил о скором выходе нового  смартфона компании Vivo. Смартфон проходит под модельным номером Vivo 1920, он был замечен в базе данных BIS (Бюро индийских стандартов)...

FAST VP в СХД Unity: как это работает Сегодня речь пойдет об интересной технологии, реализованной в СХД Unity/Unity XT, – FAST VP. Если вы впервые услышали о Unity, то по ссылке в конце статьи можно ознакомиться с характеристиками системы. В проектной команде Dell EMC я работал над FAST VP более года. Сегодня хо...

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

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

Как платить телефонами Huawei и Honor при помощи Mir Pay С тех пор, как США запретили Huawei использовать сервисы Google на своих смартфонах, их владельцы почувствовали, каково это – быть в полной изоляции. Их лишили возможности не только скачивать софт из Google Play, но и многих других обыденных вещей, привычных рядовому пользо...

Локализация React приложении Всем привет! До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон). Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то ...

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

В App Store появится реклама российских приложений Компания Apple расширила возможности своей рекламной платформы Apple Search Ads. В скором времени разработчики из России могут продвигать свои приложения в App Store.

Как я искал нормальный RDP-клиент и нашел целых три Remote Desktop Protocol — один из самых распространенных протоколов для удаленного управления, потому что он используется для работы с операционными системами Windows, которые часто незаменимы в корпоративной среде. Естественно, самый распространенный способ подключения к ...

1000 и 1 пост: с Днём рождения, Хабр ❤ 26 мая — День рождения Хабра. А ещё вышла наша 1000-ая публикация, которой могло бы не быть, если бы Хабр не был тем, который он есть. В этой статье мы расскажем о нашем пути и о наших выводах, которые удалось сделать за 4 года ведения блога. Но это ниже, под катом. А здесь ...

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

Битва снифферов: Charles vs Proxyman Привет, меня зовут Даша, я работаю тестировщицей клиентского мобильного приложения в компании Ozon.Сегодня поговорим о снифферах в тестировании мобильных приложений –– программах для перехвата, анализа и модификации трафика. Пожалуй, самый популярный сниффер из тех, о которы...

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

[Перевод] PEP 257 на русском. (Соглашение о Docstrings) Привет, Хабр. Бывают моменты, когда тебе хочется максимально погрузиться в язык и понять все его тонкости. В случае Python один из лучших способов это сделать — читать на официальном сайте документацию и PEP-ы. В своё время я этого не делал, поскольку не мог понять многих «т...

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

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

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

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

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

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

После удаления Telegram входит в учетную запись без верификации даже после смены пароля После удаления приложения Telegram с Вашего macOs устройства стандартным путем (переносом из папки Applications в корзину) — в нем остаются файлы. Скриншот файлов Это какая-то часть переписки, информация об аккаунте и т.д. Вещи на первый взгляд не страшные — все, что ест...

[Из песочницы] Сохранение значений в .Net приложение на этапе сборки Появилась у меня необходимость при сборке приложения передать внутрь набор констант для использования их на рантайме. Например, мы хотим «зашить» в приложение некое строковое значение которое будет известно в момент сборки. В мире C++ я решал подобные штуки очень просто с и...

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

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

Топ-20 самых загружаемых приложений 2019 года: TikTok ворвался в тройку лидеров Тренд на приложения в категории коротких видео уже очевиден — Likee тоже вошла в рейтинг сразу на шестое место.

Anker анонсирует первую внешнюю вспышку для смартфонов Apple iPhone 11 и 11 Pro, сертифицированную по программе MFi Китайский производитель аксессуаров для смартфонов Anker анонсировал светодиодную вспышку, рассчитанную на подключение к смартфонам Apple iPhone 11 и 11 Pro с помощью кабеля Lightning. Важной особенностью новинки является наличие сертификата Made for iPhone (MFi). О воз...

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

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

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

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

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

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

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

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

Как я интегрировал POS-терминал и ФР IKKM-Touch в 1С: предприятие Пошаговая инструкция ответит на большинство вопросов по подключению устройства 2в1 к платформе 1С (даже если ответит не на все, с удовольствием разберем оставшееся в комментариях), покажет возможные варианты подключения и режимы, драйвера и необходимый софт под катом. Чит...

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

Microsoft вдвое увеличила скорость ввода и вывода за счет накопителей Seagate Exos 2X14 Exos 2X14, новый жесткий диск корпоративного класса компании Seagate, ― это первый накопитель, выполненный по революционной технологии MACH.2 Multi-Actuator. В настоящее время проводится его тестирование в центрах обработки данных нескольких компаний. По сравнению с накопите...

Миграция с MySQL на PostgreSQL Публикация основана на докладе тренера и инженера технической поддержки Zabbix Александра Петрова-Гаврилова. Многих волнует вопрос о том как мигрировать с MySQL на PostgreSQL и воспользоваться преимуществами TimescaleDB. Зачем мигрировать Первый вопрос, который обычно воз...

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

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

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

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

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

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

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

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

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

Microsoft предложила решение проблемы, из-за которой пользователи Windows 11 не могли перейти на канал Beta На прошлой неделе операционная система Windows 11 стала доступна инсайдерам на канале Beta. Однако некоторые пользователи столкнулись с проблемой, из-за которой в соответствующем разделе в «Параметрах» попросту отсутствовала возможность переключения каналов в программе Wind...

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

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

OSSSpeechKit: голосовой ввод и вывод OSSSpeechKit — обертка для AVFoundation и Apple Speech, упрощающая реализацию голосового ввода и вывода. Поддерживает 37 языков, в том числе и русский. Например: import OSSSpeechKit ..... // Declare an instance of OSSSpeechKit let speechKit = OSSSpeech.shared // Set th...

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

Swift.assert — жизнь после релиза Как часто вы используете Swift.assert() в вашем коде? Я, честно, использую довольно часто (Если это плохая практика, то, пожалуйста, напишите в комментариях — почему это плохо?). В моем коде часто можно встретить, например, такой вызов: Swift.assert(Thread.isMainThread) Не ...

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

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

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

Как я не стал продакт-менеджером после обучения в Product Univercity Морейниса и Черника Всем привет. Решил написать свою первую статью на VC, но главреда меня забанил, потому что я попросил поставить плюсики друзей, а перед этим три раза дешёвая рабочая сила снимала мою публикацию по каким-то неведомым причинам, и описать свой опыт поиска работы продакт-менедж...

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

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

В приложении Facebook появился тихий режим Facebook добавил в мобильное приложение соцсети тихий режим (Quiet Mode), который позволяет приостановить «большинство» push-оповещений. Новая настройка добавлена на панель «Your Time on Facebook», которая была запущена в ноябре 2018 года в рамках общеотраслевой инициативы, ...

«Калькулятор» на iPhone: скрытые возможности стандартного iOS-приложения «Калькулятор» – одно из системных приложений в iOS, на которое владельцы «яблочных» смартфонов в большинстве своем практически не обращают внимание. Для тех, кто имеет дело с постоянными расчетами и вычислениями, мобильный калькулятор служит, скорее, экстренной заменой, но д...

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

[Из песочницы] STM32 с чистого листа Нельзя доверять коду, который вы не написали полностью сами. — Кен ТомпсонПожалуй, моя самая любимая цитата. Именно она и стала причиной по которой я решил нырнуть в самую глубь кроличьей норы. Свой путь в мир программирования я начал совсем недавно, прошло всего около месяц...

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

[Перевод] Создание пайплайнов CI с помощью Tekton (внутри Kubernetes). Часть 2/2 Создание пайплайнов CI с помощью Tekton (Часть 2/2) В этой статье мы собираемся продолжить создание пайплайна CI с Tekton. В первой части мы установили Tekton на локальный кластер kind и определили нашу первую задачу, которая клонирует репозиторий GitHub и запускает тесты пр...

Лучшие ASMR-приложения на Android Хотите попробовать ASMR на своем смартфоне? Еще каких-то лет пять назад ASMR-контент был мало кому интересен. Сегодня же ASMR — это целый жанр со своими поклонниками и ненавистниками. Принято считать, что в основном контент подобного рода «обитает» лишь на ст...

Облако Mail.ru Cloud Solutions помогло Burger King ускорить обработку заказов через приложения в 2 раза Mail.ru Group и Burger King объявляют о сотрудничестве в сфере облачных технологий. Цифровые решения Burger King — мобильное приложение и терминалы обслуживания — переведены в облачную среду Mail.ru Cloud Solutions ...

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

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

Как работают мобильные кошельки на примере приложения «Mir Pay» Как известно, в 2015 году мы запустили в эксплуатацию платежную систему «Мир», и карты «Мир» в России принимаются повсеместно. Это, конечно, очень здорово, но сейчас набирает популярность использование мобильных кошельков для оплаты покупок. Согласно статистике, в 2019 году ...

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

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

Представляем приложение Microsoft Family Safety Автор статьи: Лиат Бен-Зур, корпоративный вице-президент, Modern Life, Search and Devices Сегодня мы рады сообщить, что приложение Microsoft Family Safety, разработанное для защиты вашей семьи в цифровом и реальном мире, доступно для скачивания на iOS и Android. В течение...

Приложение Unagrande YogaClub теперь доступно на Android Приложение для занятий йогой Unagrande YogaClub стало доступно для пользователей Android. Ранее его можно было скачать только на устройствах на базе iOS. Сбросить вес, расслабиться, улучшить самочувствие, и достичь видимых результатов уже после нескольких занятий стало воз...

Как активировать Windows 10 21H1 Мы уже как-то писали, что Microsoft начала подготовку к запуску Windows 10 21H1 (19043) с появлением обновления KB4598291. К сожалению, установка тогда была довольно сложна, но с выходом патча KB4601319 установка упростилась в разы и теперь необходимо просто прописать команд...

[Перевод] Видеозвонки с виртуальным фоном и опенсорсные инструменты Сейчас, когда многие из нас находятся на карантине из-за COVID-19, видеозвонки стали куда более частым явлением, чем раньше. В частности, сервис ZOOM неожиданно стал очень популярным. Вероятно, самой интересной возможностью Zoom является поддержка виртуального фона (Virtual ...

[Перевод] [в закладки] Работа с изображениями в веб Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background ...

Google позволил пользователям iPhone выполнять поиск с помощью Siri Google обновил своё поисковое приложение для iOS, позволив пользователям iPhone выполнять поиск через голосового помощника Siri. Для этого достаточно добавить соответствующую команду в Siri Shortcuts. Как создать Siri Shortcut для приложения Google: Убедитесь, что у вас уста...

Подарок всем под Ёлочку Или всё-таки под Елочку? Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию! И не просто теория или скрипты из командной строки, а настоящая рабочая программа, которую можно использовать как на компе так и на телефоне. Читать дальше →

Как работает Windows 10 на Raspberry Pi 4 и Pi 3 Разработчики наконец установили оптимизированную для ARM версию Windows 10 на Raspberry Pi 4 после того, как некоторым людям удалось запустить ее на Raspberry Pi 3 в первой половине 2019 года. Raspberry Pi 4 и Pi 3 официально поддерживают версию Windows 10 для IoT Core, кото...

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

Как описать 100 Gitlab джоб в 100 строк В продолжение предыдущей статьи про инструменты деплоя в Kubernetes, хочу рассказать вам про то как можно использовать Jsonnet для упрощения описания джоб в вашем .gitlab-ci.yml Дано Есть монорепа, в которой: 10 Dockerfiles 30 описанных деплоев 3 окружения: devel, staging...

Как восстановить удаленные данные на Android-устройстве (или хотя бы попытаться) Наверняка каждый по случайности удалял какой-нибудь важный файл: фото, документ или что-нибудь еще. Но в случае с Android это не значит, что все потеряно. Теоретически есть возможность восстановить что угодно. Шансы зависят от типа файла, способа удаления и... везения. Про...

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

Автозагрузка модулей с использованием динамического импорта Недавно в Node.js была анонсирована поддержка ECMAScript-модулей, а в ES2020 появилась поддержка динамических импортов. В рамках данной статьи я расскажу о реализации очевидного кейса использования динамических импортов — с неизвестными заранее названиями директорий. Читать...

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

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio поп...

Как сделать так, чтобы твоими приложениями пользовались во всем мире: 10 советов от СЕО Wachanga Знакомьтесь: Максим Колпаков и его крутой стартап Wachanga — платформа для развития семьи. Ребята умудряются стремительно расти в узкой нише, привлекать инвестиции, создавать новые приложения за несколько недель и бесконечно экспериментировать. Максим поделится выводами ...

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

Smartcat Serge: пример continuous localization Smartcat Serge — пример проекта с использованием полностью автоматизированного подхода к непрерывной локализации (continuous localization) с помощью платформы Smartcat. Это предварительно настроенный контейнер Docker с инструментом автоматизации локализации из командно...

5 лучших тем для MIUI 11, которые выглядят потрясающе Одна из приятных особенностей оболочки MIUI — это возможность полностью настроить общий интерфейс вашего смартфона, применяя темы MIUI. Сегодня мы подобрали ТОП-5 лучших тем для MIUI, которые вы можете установить на своем смартфоне. Новая версия MIUI, известная также как MIU...

Генерация URL с параметрами на коленке и best practice Как-то я увидел в проекте соседней команды код, который генерировал строку с URL-параметрами для последующей вставки в iframe src-атрибут. Эта статья может показаться лишней, очевидной или слишком простой, но раз такое встречается в живой природе, об этом не стоит молчать, а...

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

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

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

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

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

[Перевод] Автогенерация секретов в Helm Auto-Generated Helm Secrets Команда Kubernetes aaS от Mail.ru перевела короткую заметку о том, как автоматически генерировать секреты Helm при обновлении. Далее текст от автора статьи — технического директора Intoware, компании-разработчика SaaS-решений. Контейнеры — это...

Microsoft объявила о релизе унифицированного приложения Office для iOS и Android Компания Microsoft объявила об официальном релизе унифицированной версии Office для Android и iOS, которая объединяет в себе Word, Excel и PowerPoint. Напомним, что публичное бета-тестирование приложения проводилось с ноября прошлого года. Новый Office объединил все основны...

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

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

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

Простой веб сервер для SPA/PWA за «5 минут» Как создать Простой веб-сервер, используя только стандартные инструкции nodejs Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA п...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

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

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

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

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

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

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

Google хоронит расширение PHP IMAP Google сообщил владельцам G Suite аккаунтов о том, что с 15 феврался 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth. Для IMAP-авторизации разработчикам предлагается использовать способ автризации под названием SASL XOAUTH2. Но дело в том...

Hack The Box. Прохождение Control. SQL инъекция и LPE через права на службу Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. В данной статье проникаем в систему через SQL инъекцию, копаемся в истории командной строки и повышаем свои привилегии благодаря имеющимся правам на службу. Подключение к лаборатории ос...

В России создали приложение для электронного паспорта Об этом в беседе с корреспондентом ТАСС сказал вице-премьер РФ Дмитрий Чернышенко."Там все уже создано (приложение для электронного паспорта - прим. ТАСС), вопрос в сертификации и криптозащите ключей электронных квалифицированных подписей <...> У нас, по-моему, не...

Позиция win-win: улучшаем пользовательский опыт и делаем онлайн-бизнес счастливее Рынок e-commerce в России растет быстро. По данным Яндекс.Кассы, с 2015 по 2020 год малый и средний бизнес вырос в объеме продаж на 148%, в 2 раза увеличилось количество платежей и стал выше средний чек. Если предприниматель опытный и не вчера вышел с бизнесом в онлайн, то о...

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

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

Как разблокировать iPhone через Face ID после неудачной попытки (без ввода пароля) Как известно, после неудачной попытки идентификации с помощью функции распознавания лица Face ID система принудительно попросит подтвердить личность вводом код-пароля. Однако, есть возможно и дальше попробовать использование сканера Face ID для разблокировки экрана iPhone ил...

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

[Перевод] Пионер программирования компьютеров Тони Брукер скончался в возрасте 94 лет Познакомившись с Аланом Тьюрингом, Брукер отправился работать в Манчестерский университет и написал язык программирования для первого коммерческого компьютера Тони Брукер, справа, с коллегами из Университета Эссекса в 1972 году Тони Брукер, математик и специалист по информ...

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

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

Google сломала поиск в Google Play В Google Play сломался поиск, а Google нет до этого дела Google Play – каталог с большими перспективами. Учитывая аудиторию пользователей Android, магазин приложений Google мог бы без особого труда заткнуть за пояс App Store не только по количеству загрузок, но и по объёмам ...

[Перевод] Изготовление контроллера терминала IBM 3270 IBM 3270 – это терминал компьютерного мейнфрейма. Я давно восхищаюсь мейнфреймами от IBM, и особенно этими терминалами. У ранних моделей, 3278 и 3279, была уникальная эстетика, а их блочная система работы заметно отличается от той, которой пользовались вездесущие терминалы с...

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

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

Mail.ru Group и Burger King объявили о сотрудничестве в сфере облачных технологий Mail.ru Group и Burger King объявили о сотрудничестве в сфере облачных технологий. Цифровые решения Burger King – мобильное приложение и терминалы обслуживания – переведены в облачную среду Mail.ru Cloud Solutions (MCS).  Digital-каналы обеспечивают Burger King до 40% выручк...

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

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

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

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

Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux Данная статья приурочена к старту бета-теста PVS-Studio C# для Linux, а также плагина для Rider. По такому прекрасному поводу с помощью данных инструментов была проведена проверка исходного кода продукта Nethermind и в данной статье мы посмотрим на интересные, а иногда и за...

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

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

Google добавил новые инструменты в AI-приложение Google Lens Google добавил новые инструменты в AI-приложение Google Lens. Среди новых функций Google выделила возможности копирования рукописного текста с листа бумаги и его последующей вставки на другое устройство. Подробнее об этом читайте на THG.ru.

Windows 10 появятся новые значки приложений Microsoft Компания Microsoft представила новые иконки для 100 своих самых популярных приложений. В рамках редизайна под названием «Fluent Design», ряд значков для различных приложений Microsoft, получат новые цвета, материалы и отделку. Новый образ был разработан для единого и це...

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

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

Huawei представила пользовательский интерфейс EMUI 11: что нового? Китайский производитель смартфонов Huawei открыл сегодня свою ежегодную конференцию разработчиков Huawei Developer Conference (HDC) в Дунгуане, Китай. В ходе мероприятия компания представила публике EMUI 11 — последнюю версию фирменного скина для Android. Хотя последняя верс...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

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

Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле Привет, Хабр. Итак, в прошлый раз мы эмпирически доказали, что на хаскеле можно довольно легко написать этакий игрушечный wc, который при этом существенно быстрее реализации wc из GNU Coreutils. Понятное дело, что это не совсем честное сравнение: наша программа не умеет ниче...

Как мы подружили Flutter с CallKit Call Directory Привет! В этом лонгриде я расскажу о том, как мы в Voximplant пришли к реализации собственного Flutter плагина для использования CallKit во Flutter приложении, и в итоге оказались первыми, кто сделал поддержку блокировки/определения номеров через Call Directory для Flutter....

MskDotNet Meetup 19/11 Вместе с сообществом MskDotNet встретились на онлайн-митапе 19 ноября. Поделились историей создания Dependency Pipeline — готового решения для стандартного DI-механизма .NET Core. Рассказали о переиспользовании модулей приложения при прототипировании, а после обсудили эту те...

Check Point Remote Access VPN — бесплатный курс по настройке удаленного доступа Приветствую, друзья! Добро пожаловать на наш очередной новый курс! Как я и обещал, курс Getting Started был не последним. На этот раз мы будем обсуждать не менее важную тему — Remote Access VPN (т.е. удаленный доступ). С помощью этого курса вы сможете быстро познакомиться ...

Компьютер научился распознавать написанный пальцем в воздухе текст Компьютер научился распознавать написанный пальцем в воздухе текст. Это можно использовать для ввода данных при использовании шлема виртуальной реальности (VR).

RedmiBook 13 умещается на листе бумаги А4 В Сети появилось новое изображение ноутбука RedmiBook 13, премьера которого назначена на 10 декабря. Новинка представлена китайскими СМИ как самый «премиальный ноутбук Redmi», и на это указывает новое оформление крышки – с названием бренда (не исключен...

Почему я сделал личный проект учёта трат на Git+JS Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы: Зачем мне приложение учёта трат? Почему это личный проект? Почему проект на Git+JS? 1. Зачем мне приложение учёта трат? Как и многие другие люди...

И снова про embedded: ищем баги в проекте Embox Embox – это кросс-платформенная мультизадачная операционная система реального времени для встраиваемых систем. Она рассчитана на работу в условиях невысоких вычислительных ресурсов и позволяет запускать Linux-приложения на микроконтроллерах без использования самого Linux. К...

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

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

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

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

[Из песочницы] Ускорение сборки проекта на CMake+GCC: предварительная компиляция заголовочных файлов Есть несколько причин, почему проект на С++ в среднем собирается дольше сравнимых по величине проектов на других языках, например на Java или C#. Соответственно, есть и несколько способов уменьшить время сборки. Одним из самых известных является использование предварительной...

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

Google начали отключать доступ к Google Play Music для ... Поспешите! Совсем скоро Google Play Music перестанет работать.     Мы уже давно знаем, что Google готовится закрывать свой сервис Play Music. Причем разговоры об этом ведутся уже несколько месяцев, но никаких резких действий компания до сих пор не предпринимала. Д...

Ролики-мислиды: почему они работают? Если в ролике об игре показан геймплей, которого в рекламируемой игре на самом деле нет, — перед вами ролик-мислид. Вам наверняка встречались такие! За счёт чего они работают и приносят желаемое разработчикам и издателям? Мы попытались докопаться до сути и найти ответы на эт...

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

[Из песочницы] Зачем ограничивать наследование с помощью final? Вы наверняка слышали это знаменитое высказывание от GoF: «Предпочитайте композицию наследованию класса». И дальше, как правило, шли длинные размышления на тему того, как статически определяемое наследование не настолько гибко по сравнению с динамической композицией. Гибкост...

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

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

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

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

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

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

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

В Android 11 Google отберет у пользователей свободу использования камеры В новой версии Android пользователям будет сложнее делать хорошие фотографии! Эту новость можно было назвать и так — это тоже было бы правдой. Главное, что теперь возможности каждого, у кого установлен Android 11, будут чуть более скудными. Скорее всего, это связано с...

Про кластер серверов 1С Кластер — это разновидность параллельной или распределённой системы, которая: 1. состоит из нескольких связанных между собой компьютеров; 2. используется как единый, унифицированный компьютерный ресурс Gregory F. Pfister, «In search of clusters». Дано: есть бизнес-прило...

Продлен срок въезда в РФ по приложению «Путешествую без COVID-19» Граждане государств, входящих в состав Евразийского экономического союза (ЕАЭС), могут въезжать в Россию через Республику Армения и Республику Беларусь в упрощенном порядке с использованием специального мобильного приложения "Путешествую без COVID-19".Приложение уп...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

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

DJI уже месяц не может пропатчить приложения DJI Fly для Android 10 Компания DJI столкнулась со сложностями с поддержкой их приложением DJI FLY операционной системы Android 10 на некоторых телефонах. Первые сообщения о невозможности запустить приложение появились в Play Market приблизительно 8 декабря (по крайней мере то, что мне видно в...

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

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

SwayWM — сам себе UnixPorn Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux. Читать дальше →

Организация деплоя в множество k8s окружений с помощью helmfile Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя. О самом helmfile и примерах его использования можно почитать в readme и best practices guide....

Скринкаст терминала с помощью asciinema Вы наверняка знакомы с asciinema (github), это удобный опенсорсный инструмент для записи действий в терминале. Записи сохраняются в простом для чтения текстовом формате, поэтому весят совсем немного, а веб-плеер по сути воспроизводит текст из терминала вместо видео, так чт...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

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

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

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

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

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

Android TV добавляет рекламные баннеры различных шоу на ... Google направляет на Android TV, возможно, больше внимания, чем на любой другой свой продукт. Как еще объяснить, что модифицированная версия Зеленого робота обрастает новыми фичами почти каждую неделю?   Читать также: Google расширяют функциональность YouTube для Androi...

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

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

[Перевод] Микросервисы со Spring Boot. Часть 4. Использование Ribbon для балансировки нагрузки Это часть 4 серии о микросервисных архитектурах, в которой мы сосредоточимся на использовании Ribbon для балансировки нагрузки. Это статья входит в серию статей «Микросервисы со Spring Boot»: Часть 1. Начало работы с архитектурой микросервисов Часть 2. Создание микросерви...

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

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

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

Как работает Object Tracking на YOLO и DeepSort Object Tracking — очень интересное направление, которое изучается и эволюционирует не первый десяток лет. Сейчас многие разработки в этой области построены на глубоком обучении, которое имеет преимущество над стандартными алгоритмами, так как нейронные сети могут аппроксимир...

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

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

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

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

Стримим и кастим youtube и не только… (часть 2) Raspicast, Mps-Youtube и Youtube-viewer Продолжим обследование "звездных" клиентов по стримингу медиа контента не попавших в первую часть. И "кастингу" как возможности передавать ролики через другие устройства на Raspberry Pi. Есть еще несколько простых способов сделать это! Встречаем Raspicas...

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

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

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

Как включить шифрование в JetBrains Projector Projector — это способ запускать IntelliJ IDEA на удалённом сервере. Недавно я писал об этом статью, но умолчал о важной для любого параноика вещи — шифровании данных на вебсокете. Генерация и подкладывание ключей — довольно муторный кусок работы. Тут придётся познакомиться ...

Использование RabbitMQ вместе с MonsterMQ часть 5 В предыдущей части мы улучшили нашу систему логгирования. Вместо использования обменника типа fanout мы использовали обменник типа direct, позволившему нам выборочно принимать сообщения. Не смотря на улучшения, наша система до сих пор имеет ограничения, например мы не можем...

Собираем C++ с bazel Введение и мотивация В последнее время на Хабре появляются посты про то, что cmake и c++ — друзья, приводятся примеры, как собирать header-only библиотеки и не только, но нет обзора хоть сколько-нибудь новых систем сборки — bazel, buck, gn и других. Если вы, как и я, пишете ...

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

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

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

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

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

Angular: еще один способ отписываться Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil. Со временем я все чаще стал использовать свой де...

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

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

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

5 альтернатив Node.js — и есть ли в этом смысл Node.js — не безупречный продукт, у него есть недостатки (использование JS?), некоторые из них тянулись еще с раннего этапа разработки из-за ошибочных решений, принятых Райаном Далем, о которых немного вспомнили в статье Как создатель node.js сам разочаровался в нем. Как э...

Что такое Windows PowerShell и с чем его едят? Часть 3: передача параметров в скрипты и функции, создание командлетов Во второй части цикла рассматривались основы языка программирования PowerShell, а сейчас стоит разобраться с использованием написанного на нем кода для задач администрирования. Самый очевидный способ это сделать — запустить сценарий. Кроме него существует возможность созда...

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

Apple выпустила приложение Apple Music для телевизоров Samsung. Как скачать Фирменные сервисы Apple никогда не отличались кросс-платформенностью. Вместо того, чтобы вывести свои службы на массовый рынок, в Купертино предпочитали ограничивать их присутствие только устройствами собственного производства. Первым исключением стал Apple Music для Androi...

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

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

Windows Native Applications и сервис Acronis Active Restore Сегодня продолжаем рассказ о том, как мы вместе с ребятами из Университета Иннополис разрабатываем технологию Active Restore, чтобы позволить пользователю как можно раньше начать работу на своей машине после сбоя. Речь пойдет о нативных приложениях Windows, включая особеннос...

В VK добавили Callback кнопки для ботов . Доброго времени суток, уважаемые жителя Хабра) Мой первый пост. Будет кратко, емко и надеюсь актуально. 9го июля ВК выкатил callback кнопки для чат-ботов. Телеграм напрягся сделал это в 199... давно. Самая популярная библиотека для разработки чат-ботов под ВК на Python — v...

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

WorkBox: ваш toolkit в мире сервис-воркеров Всем привет! Меня зовут Святослав. Я лидирую разработку сервисов оформления ипотеки в компании Домклик. Не так давно наша компания взяла курс на внедрение философии Progressive Web Application в наших клиентских сервисах.Одним из важных аспектов PWA является использован...

[Перевод] Классификация изображений на Android с помощью TensorFlow Lite и сервиса Azure Custom Vision Классификация изображений позволяет нашим приложениям Xamarin распознавать объекты на фотографиях. Все более и более распространенной становится возможность сделать фотографию и распознать ее содержимое. Мы можем наблюдать это в наших банковских приложениях при внесении мо...

[Перевод] Глубокое обучение на Kotlin: альфа-версия KotlinDL Привет, друзья!Сегодня мы расскажем о первой предварительной версии KotlinDL (v.0.1.0) — высокоуровневого фреймворка для глубокого обучения, похожего на Keras, но написанного на Kotlin. В нем есть простые API для создания, тренировки и развертывания моделей глубоко...

Обзор материнской платы Azerty H55 под сокет 1156 - лучше поздно... В статье произведен краткий обзор материнской платы Azerty H55 под сокет 1156. Сделаны выводы об обоснованности ее приобретения и возможных вариантах применения.

Мониторинг ошибок с помощью Sentry во фронтенд-приложениях, написанных на JavaScript: Часть 1 Сервис Sentry позволяет удаленно мониторить баги в фронтенд-приложениях, написанных на JavaScript. Попытка устранить проблемы в фронтенд-приложениях на JavaScript может оказаться непростой задачкой, поскольку они возникают в браузере пользователя, к чему, зачастую, у вас не...

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

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

Графика в терминале Эта история началась, когда я узнал о существовании bpytop. Меня поразила детализация графиков и я начал разбираться как это сделано. Оказалось, что для вывода графиков использовались символы алфавита Брайля, представляющие из себя комбинацию из 8 точек: 2 точки в ширину и 4...

Google Play может позволить бесплатный просмотр фильмов, но с рекламой Google давно предлагает возможность покупать или брать напрокат фильмы и телепередачи в Play Store. С 2012 года этот раздел доступен в нескольких странах. Ценовая стратегия со временем не менялась, поэтому многие по-прежнему считают ее относительно дорогостоящим сервисом. Но...

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

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

Чистим Dock и делаем приложение без xCode Мы сделаем программу для запуска приложений из панели статуса. Вам понадобится terminal, Swift версии 3.1 или выше и любой текстовый редактор. Я проверял работу на macOS Sierra 10.12.6 и macOS Catalina 10.15. Читать дальше →

React Native для самых маленьких. Опыт мобильной разработки Однажды, в одной продуктовой команде захотели разработать мобильное приложение, чтобы проверить гипотезу востребованности продукта и его удобства для пользователей. И то, что в команде не было мобильных разработчиков, не помешало. Два фронтенд-разработчика взяли React Native...

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

Как получить полную информацию по всем доступным командам командной строки Windows У Microsoft есть объемный мануал по всем командам командной строки.

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

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

AI на минималках 2: Генератор стихов на Prolog AI на минималках 2: Генератор стихов на Prolog На картинке — четверостишье, сгенерированное моей программой. Оказывается "стихи" писать легко, нужно только знать несколько необходимых ингредиентов: размер, ритм, рифма. "Стихи" в кавычках, потому что в на...

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

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

Project Reunion призван упростить разработку UWP и Win32-приложений для Windows 10 В рамках конференции Build 2020 компания Microsoft анонсировала проект Project Reunion, призванный сократить разрыв между разработкой Win32 и UWP-приложений путём объединения Windows API и UWP API. Этот шаг позволит разработчикам модернизировать и создавать приложения, рабо...

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

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

Сервис на языке Dart: введение, инфраструктура бэкэнд Оглавление 1. Введение 2. Backend 2.1. Инфраструктура. 2.2. Доменное имя. SSL. 2.3. Серверное приложение на Dart. … 3. Web 3.1. Заглушка «Under construction» … 4. Mobile … Введение Меня, Flutter-разработч...

Отправляем письма с помощью asyncio и aiohttp из Django приложения Всем привет! Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отп...

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

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

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

TrueConf выпустила аппаратный ВКС-терминал Компания TrueConf выпустила свой первый аппаратный ВКС-терминал, работающий на открытых протоколах SIP и H.323. Терминал обеспечивает видеосвязь качества FullHD, обладает передовыми возможностями и позиционируется как доступная замена ...

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

Microsoft, остановись. В системный поиск Windows 10 пробралась реклама Компания Microsoft продолжает добавлять всё больше рекламы в свою операционную систему Windows 10.  На днях компания начала рекламировать пользователям браузер Google Chrome свой фирменный Edge через сервис Outlook.com. Теперь реклама Edge появилась в системном по...

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

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

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

[Из песочницы] Как я осуществил свою мечту, побывав в российском офисе Microsoft Всем привет! Живу в Саратове с родителями. У меня аутизм. Я ИТ-самоучка с 10-ти летним опытом самообразования и работы. Системное администрирование, администрирование мобильных устройств и веб-разработка — это то, что я учу и над чем я часто практикуюсь. 2019 год получился в...

Ретушь на Айфоне: лучшие iOS-приложения для ретуширования фотографий Ретуширование уже давно является стандартной практикой в профессиональной фотографии, однако для улучшения внешнего вида на фото не обязательно осваивать Photoshop. На самом деле достаточно лишь установить хорошее приложение для ретуширования фотографий и немного попрактиков...

Project Loom: виртуальные потоки в Java уже близко Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много интересных метафор, которые я собираюсь бессовестно использовать теперь без ссылки на первоисточник. Со своей сто...

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

5 малоизвестных возможностей JSON.stringify() Доброго времени суток, друзья! В этой небольшой заметке я хочу рассказать вам о некоторых редко используемых возможностях JSON.stringify(). Возможно, они окажутся вам полезными. JSON.stringify() часто используется при отладке для преобразования объекта или обычной стро...

Дополняем чек-лист тестирования при обновлении иконки и сплеша в мобильных приложениях Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро со...

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

OSINT или как посмотреть на свою сеть глазами хакера Добрый день! Сегодня я вам расскажу какую информацию об организации можно обнаружить в открытых источниках и как ей может воспользоваться потенциальный злоумышленник. Многие из вас наверняка слышали об OSINT (Open Source INTelligence, перечень мероприятий, направленный на ...

Полный провал: Galaxy S20 Ultra проиграл iPhone 11 Pro в тесте камер Galaxy S20 Ultra стоит 1400 долларов, но сливает iPhone 11 Pro за 1000 долларов Высокие цены – это одна из особенностей современных флагманов. Заданный Apple тренд довольно быстро подхватили остальные производители, на примере iPhone X убедившись, что есть довольно обширная ...

9 советов по повышению производительности Vue В этой статье собрано девять советов о том как повысить производительность вашего приложения на Vue, увеличить скорость отображения и уменьшить размер бандла. Читать дальше →

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

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

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

Как построить ракетный ускоритель для скриптов PowerCLI  Рано или поздно любой системный администратор VMware доходит до автоматизации рутинных задач. Начинается все с командной строки, потом идет PowerShell или VMware PowerCLI. Допустим, вы освоили PowerShell чуть дальше запуска ISE и использования стандартных командлетов из мод...

4 способа выбрать (выделить) файлы на Mac (macOS) Большинство — если практически не все — взаимодействия с файлами на Mac происходят в специализированном приложении Finder. Конечно, базовые вещи вроде «выбрать и скопировать / вставить» знает каждый пользователь. Но операционка Apple предлагает и множество других удобных спо...

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