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

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

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

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

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

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

«В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский. LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. ...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

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

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

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

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

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

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

[Из песочницы] Логическая репликация из PostgreSQL в Erlang Довольно типичная схема при разработке системы, когда основная логика обработки сосредоточена в приложении (в нашем случае Erlang), а данные для работы этого приложения (настройки, профили пользователей и т. д.) в базе данных (PostgreSQL). Приложение Erlang кэширует настройк...

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

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

Искусственный интеллект Nvidia GameGAN воссоздал копию культовой игры Pac-Man, изначально не зная её правил и логики Игра Pac-Man — одна из самых известны в мире. Даже те люди, которые в своей жизни не играли ни в одну видеоигру, наверняка слышали что-то про Pac-Man либо узнают её по визуальной составляющей. Сегодня исполнилось ровно 40 лет с момента выхода Pac-Man на аркадных ...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Nvidia почти полностью отказывается от SLI. В играх поддержку должны будут реализовывать сами разработчики Технологии объединения видеокарт в связки на потребительском рынке практически мертвы. Среди новых видеокарт Nvidia линейки Ampere лишь топовая RTX 3090 имеет разъёмы для создания связки SLI из двух адаптеров, а это значит, что Nvidia вслед за AMD практически отказывает...

Entity Framework Core Привет, друзья. В этот чудесный майский день мы продолжаем трудиться и сегодня хотим рассказать о том, что в мае OTUS запускает полюбившийся всем курс «Разработчик С#», а также отдельный курс по С# ASP. NET Core. Традиционно, в преддверии старта курсов начинаем публиковать п...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

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

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

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

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

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

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

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

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

Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку Всем привет! Идеологически Quarkly – это проект, который призван упростить жизнь веб-разработчикам и веб-дизайнерам. В этом посте я коротко расскажу, за счет чего это возможно. Прежде всего, давайте посмотрим, как выглядит типичный цикл разработки веб-приложения в 2020 году?...

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

Fast Reverse Proxy как альтернатива Ngrok Создание общедоступного URL в сети интернет к вашему локальному проектуЧто такое Ngrok, наверное знает каждый разработчик web приложений, и многие им пользуются. Немного предыстории...Присоединившись к новому большому проекту, над которым работают десятки разработчиков и QA ...

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

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

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

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

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

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

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

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

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

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

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

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

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

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

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

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

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

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

Книга «Паттерны объектно-ориентированного проектирования» Привет, Хаброжители! Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программирован...

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

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

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

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

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

Не пиши одно и то же: как переиспользуемые компоненты React помогут фронтенд-разработчику быстрее создавать приложения Вносить однотипные изменения в три-четыре разных места в JS-коде — искусство, требующее концентрации внимания. Если элементов больше, поддержка кода превращается в муку. Поэтому для долгосрочных или крупных проектов следует писать код так, чтобы его можно было вынести в отд...

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

[Перевод] Мониторинг Kubernetes с помощью Prometheus и Thanos Поздравляем! Вам удалось убедить ваше начальство в миграции приложений на микросервисную архитектуру с использованием контейнеров и Kubernetes.Вы очень довольны и все идет по плану. Вы создаете свой первый кластер Kubernetes (у всех основных облачных провайдеров: Azure, AWS ...

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

Гарнитура Google Glass Enterprise Edition 2 стала доступна для разработчиков Компания Google сделала гарнитуру дополненной реальности Google Glass Enterprise Edition 2 доступной для покупки разработчиками. Это произошло примерно через девять месяцев после того, как эта модель была представлена и стала доступна через партнеров Google, внедряющих ...

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

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

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

Сделано не в США Китайская компания продолжает отвечать на давление со стороны США. "СХД Huawei OceanStor Dorado V6 - первое наше решение такого класса, созданное под лозунгом No A. В нем нет ни одного компонента, изготавливаемого американской фирмой, и нет ни одного компонента, лицензи...

Как стать топовым разработчиком на Android Научиться разрабатывать приложения для Android может каждый Каждый день вы пользуетесь десятками приложений на своем Android. И наверняка вам приходило в голову начать тоже заниматься созданием приложений. На самом деле мобильная разработка — дело довольно сложное, по ...

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

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

Шпаргалка по JS-методам для работы с DOM Основные источники DOM Living Standart HTML Living Standart Document Object Model (DOM) Level 3 Core Specification DOM Parsing and Serialization Введение JavaScript предоставляет множество методов для работы с Document Object Model или сокращенно DOM (объектной моделью до...

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

[Из песочницы] Гибкие методологии: взгляд со стороны бизнеса (часть 1) Подавляющее большинство из нас прекрасно знакомы с гибкими методологиями разработки, читали agile-манифест, работали по scrum или kanban. Некоторые — успешно внедряют в своих отделах те или иные agile-практики, иные — пропагандируют отказ от них в пользу других методологий. ...

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

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

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

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

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

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

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

Неочевидные факты о коллекциях в Magento 2 Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Сегодня мы рассмотрим коллекции в Magento 2 (далее — M2). Несмотря на кажущуюся простоту реализации и интуитивно понятное назначение, эта сущность таит в себе несколько неочевидных подводных камней, которые влияют на...

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

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

Новая функция Android 11 стала головной болью для разработчиков Scoped Storage? Боль или не боль? Android 11 — достаточно крупное обновление. Google планирует показать его уже в мае этого года, а само обновление начнет распространяться уже в сентябре. Главными нововведениями станут улучшенная темная тема, упрощенная передача файлов...

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

Я не понимаю, что хочу. Как пользователю сформулировать требования к CRM «Когда кто-то трогает крестик, должен плакать персиковый медвежонок»*, — это, пожалуй, самое милое требование из тех, что мне приходилось встречать (но, к счастью, не реализовывать). Оно было сформулировано сотрудницей с 12 годами опыта работы в одной компании. Вы поняли, чт...

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

Современный курс по Node.js в 2020 Дорогие товарищи инженеры, сообщество Метархия представляет вашему вниманию современный курс по Node.js, который включает глубокий разбор всех возможностей и аспектов платформы. Основной упор делается на то, как создавать надежные высоконагруженные сервера приложений и API ...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

[Перевод] Как мы оптимизировали наш DNS-сервер с помощью инструментов GO В преддверии старта нового потока по курсу «Разработчик Golang» подготовили перевод интересного материала. Наш авторитетный DNS-сервер используют десятки тысяч веб-сайтов. Мы ежедневно отвечаем на миллионы запросов. В наши дни DNS-атаки становятся все более и более распрос...

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

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

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

Фронтенд митап Facebook и AvitoTech Привет! Меня зовут Александр Зубов, я отвечаю за фронтенд архитектуру Авито. Хочу пригласить вас на митап по фронтенду, который мы проводим в нашем офисе вместе с сообществом Facebook Developer Circle: Moscow. Митап пройдёт 5 марта. Будем говори...

[Перевод] Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Автоматизация рабочего процесса Java-проекта с помощью модифицированной модели ветвления Gitflow Ключевые выводы Gitflow — это совместная модель ветвления, которая пытается использовать мощность, скорость и простоту ветвления Git. Этот метод хорошо работал в ситуации, котор...

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

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

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

НКО могут воспользоваться сервисом киберзащиты Deflect бесплатно Команда проекта паллиативной помощи фонда Адвита, ЛГБТ-сообщества «Парни Плюс», Центра защиты прав СМИ, редакция Eltuz используют Deflect для предотвращения DDoS-атак. Почему общественные и правозащитные организации выбрали этот сервис для киберзащиты – в нашей статье. ...

Вебинар «Как использовать данные на всех уровнях управления компанией» Как использовать данные на всех уровнях управления компанией. Операционный BI и управление по KPI Спикер – Антон Терехов, коммерческий директор группы компаний RU-CENTER, CEO и основатель SHOPOLOG.ru и Phenomen.org, ex. CMO OZON.ru. Более 18 лет занимается электронной ком...

Карьера в 2021 году: 4 плюса работы в стартапе + вакансии для разработчиков и маркетологов Всем привет! Я много пишу на Хабре о развитии своих проектов. Один из них – стартап Linguix.com, это AI-based writing assistant, то есть продукт, который помогает не-носителям английского языка писать без ошибок (вот как это работает). Мы развиваем проект уже два года, и за ...

Подробности о процессоре VIA CenTaur, грядущем конкуренте Intel Xeon и AMD EPYC В конце ноября VIA неожиданно для всех сообщила, что её «дочка» CenTaur работает над совершенно новым x86-процессором, который, как утверждает компания, является первым CPU со встроенным ИИ-блоком. Сегодня же VIA поделилась подробностями внутренней архитектуре процессора. То...

Бесплатный вебинар «1000 и 1 интересный пост о вашем бизнесе» Вам нужно создавать посты, чтобы привлекать клиентов из социальных сетей. Когда вы начинаете писать текст для поста, сразу возникают вопросы: Как cделать пост интересным и вовлекающим Как рассказать о бизнесе, товаре или услуге в сотый раз без ...

Интеграция в стиле BPM Привет, Хабр! Наша компания специализируется на разработке программных решений класса ERP, в составе которых львиную долю занимают транзакционные системы с огромным объемом бизнес-логики и документооборотом а-ля СЭД. Современные версии наших продуктов базируются на техноло...

Разрабатываем первое мобильное приложение на Flutter от Google Flutter — фреймворк от Google В последнее время программированием интересуются всё больше пользователей. Наверняка и вас заинтересовала эта тема. Мы каждый день используем мобильные приложения гигантов рынка, и многих волнует вопрос — «Как же им удается созд...

Google официально объявляет о запуске бета-версии Android 11 Google недавно выпустила рекламный ролик, в котором всем желающим предлагается посмотреть онлайн-релиз Android 11 Beta. Бета-версии новых систем Android обычно выпускаются на конференции Google I/O. Однако, этот год немного отличается из-за пандемии коронавируса. Google I/O ...

Книга «Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.» Привет, Хаброжители! Если вы побаиваетесь конкурентного и многопоточного программирования, эта книга написана для вас. Стивен Клири предоставляет в ваше распоряжение 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования. К...

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

Принцип SRP на примере Laravel Принцип SRP (Принцип Единой Ответственности) — один из основополагающих принципов написания поддерживаемого кода. В этой статье я покажу как применить данный принцип на примере языка PHP и фреймворка Laravel. Часто, описывая модель разработки MVC (MVP, MVVM или другие M**),...

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

[Перевод] Разбираемся в моделях кода архитектуры x64 «Какой моделью кода мне воспользоваться?» — часто возникающий, но нечасто разбираемый вопрос при написании кода для архитектуры х64. Тем не менее, это довольно интересная проблема, и для понимания генерируемого компиляторами машинного кода х64 полезно иметь представление о м...

Google выпустила бета-версию Android 11. Скачать можно уже сейчас Компания Google, наконец, выпустила бета-версию Android 11 для разработчиков. Developer Preview, как правило, предназначены для тестирования и адаптации приложений разработчиками под новую версию операционной системы. На сайте обновления Google разделила нововведения на 3 р...

Apple заменит «Сообщения» на Mac новым приложением из iOS 14 На днях мы писали о том, что в этом году некоторые хакеры и блогеры могли получить доступ к ранней сборке iOS 14. Этим обуславливается большое количество утечек, скриншотов и другой информации о новой версии мобильной операционной системы Apple. Особо находчивые начали взаи...

React и Vue без npm и сборки Когда все начинают знакомство с React или Vue, как с двумя самыми популярными фреймворками для frontend, конечно-же все используем магические команды npm install, npm build. И только после этого папочку 'public' Мы деплоим «куда надо». Но есть и другой (я бы назвал его извр...

Первые шаги в BI-аналитике. Роль Data Engineering Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, ...

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

Windows 10X будет работать с большинством приложением Win32 Компания Microsoft поделилась очередной информацией относительно операционной системы Windows 10X для устройств с двумя экранами и гибких устройств. Данная версия Windows 10 создана на более современном ядре без устаревших компонентов, чтобы работать быстрее и надёжнее. Из-з...

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

В Apple ужесточили правила для издателей и разработчиков игр Отныне каждое такое приложение должно отдельно устанавливаться из App Store, а игровые онлайн-сервисы станут лишь их каталогами. Компания Apple пересмотрела правила своего магазина приложений App Store перед выходом операционной системы iOS 14. Изменения коснутся облачных...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

Бесплатная электронная книга на русском: Blazor для разработчиков ASP.NET Web Forms Привет, Хабр! Как многие знают, мы очень активно развиваем платформу Blazor, клиентскую платформу веб-интерфейса, основанную на C#, а не на JavaScript. С помощью Blazor вы можете писать собственную клиентскую логику и компоненты пользовательского интерфейса на C#, компилиров...

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

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

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

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

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

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

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

NocoDB, open-source аналог Airtable Airtable — классный инструмент, заслуживший признание у бизнеса по всему миру. Возможность работать с базами данных в удобном no-code интерфейсе с разными представлениями и типами данных не нова, но если в Spreadsheets (где таблица даже не является базой) данные приходилос...

DevSecOps: как мы внедряли PT Application Inspector в наш продуктовый конвейер Привет! Меня зовут Тимур Гильмуллин, я работаю в отделе технологий и процессов разработки Positive Technologies. Неформально наш отдел называют DevOps-отделом, мы занимаемся автоматизацией различных процессов и помогаем разработчикам и тестировщикам в нашей компании.Я и мой ...

Microsoft 365 — это не просто переименованный Office 365. Сервис получил новые функции Компания Microsoft официально объявила о том, что в апреле она полностью обновит Office 365 — сервиса на базе системы подписки, который предоставляет доступ к свежим версиям офисных приложений Microsoft. Новое название сервиса — Microsoft 365. Пользователям ...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 2. Добавляем компонент Привет всем! Всем тем, кто хочет узнать о Blazor немного больше. Сегодня мы продолжим создание нашего сайта для пиццерии, а именно, создадим web api контроллер и попробуем отобразить данные которые поступают из него на компоненте Blazor. Поскольку наше приложение о пицце, т...

Security Week 09: кто отвечает за безопасность Android? Сразу несколько новостей прошлой недели касались безопасности платформы Android. Наибольший интерес представляет исследование безопасности смартфона Samsung, проведенное командой Google Project Zero. В модели Samsung Galaxy A50 (возможно, и в других тоже, но это не проверяло...

[Перевод] Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 2 В преддверии старта курса "iOS Developer. Basic" продолжаем публиковать серию полезных переводов, а также приглашаем записаться на бесплатный демо-урок по теме: "Result Type".Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного р...

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

Приложения Android стали доступны для Windows 10 Компания Microsoft запустила очень полезное новшество операционной системы Windows 10 для пользователей смартфонов. В приложении Your Phone (Ваш телефон) заработала функция «приложения Android на ПК».  Ранее эта функция Your Phone предлагалась только у...

Digital Adoption Platform от WalkMe поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Системный интегратор и разработчик Navicon, как авторизованный партнер WalkMe в России, вывел на рынок главную разработку вендора. Digital Adoption Platform (DAP) WalkMe — это решение, которое создает эффективную среду взаимодействия ...

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

ЦРПТ запустил бесплатный электронный документооборот в системе маркировки "Сервис ЭДО Лайт бесплатный для всех участников системы "Честный знак". В первую очередь он предназначен для малых предприятий, которые еще не пользуются коммерческими сервисами электронного документооборота", - говорится в сообщении оператора.В пресс-слу...

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

В Android 11 появится дополнительный экран блокировки для детей (или от детей?) Вторая версия Android 11 Developer Preview, которая предназначена для ознакомления разработчиков с новыми возможностями мобильной операционной системы Google, содержит намек на присутствует в Android дополнительного экрана блокировки. Источник пишет о том, что в исходно...

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

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

[Из песочницы] Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ Собственный софт-процессор на ПЛИС с компилятором языка высокого уровня или Песнь о МышЕ — опыт адаптации компилятора языка высокого уровня к стековому процессорному ядру. Распространенной проблемой для софт-процессоров является отсутствие средств разработки для них, особен...

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

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

Microsoft говорит, что большинство приложений Win32 будут работать на Windows 10X 11 февраля Microsoft поделилась подробностями о Windows 10X для двухэкранных и различных сторонних складных устройств. По слухам, Windows 10X не будет ограничиваться только приложениями из магазина, а операционная система сможет запускать UWP, PWA, веб-приложения и даже прил...

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

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

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

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

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

Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии Предлагаю всем, кто посвятил свою жизнь искусству, пройти обучение от Art Business Academy. Master of Art Business — это программа для менеджеров, которые хотят стать успешными в арт-индустрии. «Master of Art Business» 25 учебных занят...

5 мифов об IT-бизнесе с Китаем после коронавируса Отвечает руководитель Департамента продаж и маркетинга ICL Техно Ильдар Вагизов. Миф №1. Взаимоотношения с китайскими партнерами у российских IT-компаний прекратились из-за эпидемии коронавируса Российские компании сотрудничают с поставщиками и партнерами по всему миру, в то...

[Перевод] Пол Грэм: Как писать полезное (на Хабр) (часть 1) Каким должно быть эссе? Многие сказали бы — убедительным. Так нас учили… Но я думаю, что мы можем стремиться к чему-то более амбициозному: эссе должно быть полезным. Прежде всего эссе должно быть корректным. Но недостаточно просто быть корректным. Легко сделать...

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

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

[Из песочницы] Самописный таймер в виде функции для промышленного контроллера Simatic S7-1200 Еще для серии S7-300 и S7-400 под Step 7 классических версий предлагаемых разработчику таймеров вполне хватало — это и стандартные таймеры IEC, реализованные в виде функциональных блоков, и таймеры S5 (которые, к слову, до сих пор существуют для серии S7-1500). Однако в ряде...

Масштабная утечка: что нового будет в iOS 14 Мы уже выяснили, что обновления – самый надёжный источник информации о новых продуктах Apple. Ведь если Евразийская экономическая комиссия в основном сливает только названия аппаратных новинок, обозначая примерный список устройств, которые следует ждать в ближайшее время, т...

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

6. NGFW для малого бизнеса. Smart-1 Cloud Приветствую всех, кто продолжает читать цикл о новом поколении NGFW Check Point семейства SMB (1500 cерия). В 5 части мы рассмотрели решение SMP (портал управления для SMB шлюзов). Сегодня же хотелось бы рассказать о портале Smart-1 Cloud, он позиционирует себя как решени...

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

Google приостановила рассылку обновления Chrome для Android ... Google приостановила развертывание Chrome 79, который был только что выпущен. Главной фишкой версии должна была стать новая система защиты от фишинга. Пользователи, обновившие приложение, обнаружили ошибку, которая привела к удалению данных из некоторых приложений. Выявленна...

Google почти полностью избавилась от приложений Android с доступом к звонкам и сообщениям Компания Google рассказала о том, как боролась в онлайн-магазине Google Play с вредоносными приложениями и недобросовестными разработчиками в 2019 году.  Команда Google продолжила совершенствовать свои правила по безопасности, особенно требования к приложениям для...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

Google выпустила аналог TikTok для iOS Tangi — аналог TikTok от Google По правде говоря, я возмущён как владелец Android-аппарата. Мне приходится смириться с той мыслью, что Google выпустила приложение первым делом для iOS, а не для Android. Мне до сих пор кажется это крайне странным, что компания, которая ...

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

Nvidia CUDA можно использовать на GPU Intel. Для этого понадобится инструмент ZLUDA Платформа Nvidia CUDA существует на рынке уже почти 15 лет. Это программный комплекс, представляющий собой расширение языка программирования C, и предназначенный для неграфических вычислений на GPU.  При этом CUDA всегда была эксклюзивом карт Nvidia...

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

Windows 10 работает на iPhone Хотели бы вы сделать так, чтобы Ваш iPhone мог гораздо большее, чем просто запускать приложения магазина Apple? Группа независимых разработчиков работает над похожим приложением. UTM – это новое приложение, которое использует QEMU (программное обеспечение для виртуализации) ...

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

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

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

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

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

Банковские приложения в опасности Данные основаны на результатах анализа четырнадцати мобильных приложений семи банков России и стран СНГ (для Google Play и App Store) экспертами Positive Technologies в 2019 г. Согласно результатам исследования, ни одно приложение не обладало приемлемым уровнем защищенности....

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

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

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

Что такое OpenVINO? Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, каф...

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

Microsoft ♥️ Python Традиционно считается, что Microsoft хорошо поддерживает языки программирования на платформе .NET: C# или F#. Но это не совсем так — облако Azure поддерживает целый спектр языков, среди которых Python занимает почетное место. А если речь заходит о машинном обучении, то Pytho...

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

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

Как работают и где применяются бессерверные вычисления (Function-as-a-Service) Serverless-вычисления и работающие на их основе решения Function-as-a-Service помогают разработчикам развивать продукты, ориентируясь на бизнес-фичи. Мы поэкспериментировали с этими технологиями и пришли к выводу, что для боевого применения существующие решения сыроваты. Пой...

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

Оживляем гексапода. Часть первая В прошлой статье мы поделились опытом создания гексапода с использованием технологии 3D печати. Теперь речь пойдет о программной составляющей, которая позволила его оживить. Первоначально планировалось изложить всю информацию в одной статье, но в процессе написания стало по...

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

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

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

Пишем Grafana reverse proxy на Go Очень хотелось назвать статью «Proxy-сервис на Go в 3 строчки», но я выше этого. В действительности так и есть, основную логику можно уместить в трёх строках. Для нетерпеливых и тех, кто хочет увидеть самую суть: proxy := httputil.NewSingleHostReverseProxy(url) r.Header.Se...

Как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций 11 мая CEO Last.Backend Саша Калошин выйдет в прямой эфир и будет отвечать на ваши вопросы о tech-стартапах, инвестициях и управлении командой в формате живого интервью. Вы можете задать ему свой вопрос в комментариях и спикер ответит вам в прямом эфире. Зачем приходить н...

Медленное движение «влево» в автоматизации тестирования Похоже, что стремление «сдвинуть» тестирование влево, к началу конвейера, в сторону разработчиков для ускорения разработки приложений и их развертывания зашло в определённый тупик. Недавний опрос, проведённый компанией Perforce (специализируется на разработке сре...

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

[Из песочницы] Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring Boot vs Spring MVC vs Spring — Как они сравниваются? Spring, Spring Boot, Spring MVC, везде есть слово “spring”! Давайте пройдемся где и когда вы можете применять каждый из этих инструментов В этой статье, вы увидите обзоры: Spring, Spring MVC, и Spring Boot, узнает...

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

[Перевод] Zork и Z-Machine: как разработчики перенесли игру с мейнфреймов на 8-битные домашние компьютеры Компьютерные игры существуют почти столько же, сколько и сами компьютеры. Хотя в это трудно поверить, текстовая адвенчура Zork была Fortnite-ом своего времени. Но Zork был ещё и чем-то большим. Ради портируемости и экономии пространства сам Zork был написан на Zork Implemen...

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

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

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

Totum — open source конструктор CRM/ERP и произвольных учетных систем (PHP + PgSQL) В двух словах — продвинутые таблицы. Ориентирован на отдельных разработчиков или микрокоманды из двух-трех человек. Подходит начинающим разработчикам и бизнес-аналитикам, желающим превратить свое понимание бизнеса в готовое решение или быстро разработать проект под конкретн...

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

21 апреля Live! Badoo Localization Meetup Всем привет! Я Алексей Тимин, отвечаю за техническую часть системы локализации в Badoo. У нас 150 000 фраз и текстов, переведённых на 52 языка для нескольких приложений. У каждого приложения свои особенности аудитории, определенный стиль общения с пользователем, версии дл...

[Перевод] Как описать архитектуру продукта по нотации C4 Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотри...

Google выпустила последнюю бета-версию Android 11 Стабильная версия Android 11 будет представлена совсем скоро. Если точнее, по слухам, нас ждет совместная презентация с 5 поколением Pixel, которая намечена на октябрь этого года. Понимая, что нужно доводить прошивку до идеала, Googleрешила выпустить последнюю, третью по сче...

В чём камера iPhone SE 2 лучше, чем у любого другого iPhone После детального разбора iPhone SE второго поколения стало известно, что в нем установлена такая же камера, как в iPhone 8. Для многих это стало тревожным звоночком, ведь до этого ходили слухи, что Apple установила в iPhone SE 2 модуль камеры от iPhone XR. Однако это не пом...

GitHub выпустил «неправильное» приложение под Android, разработчики недовольны Команда крупнейшего сервиса хостинга IT-проектов и их совместной разработки GitHub, с октября 2018 года принадлежащего Microsoft, сообщила о выпуске официального приложения для мобильных устройств на основе операционной системы Android.  На данный момент в Go...

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

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

VK Mini Apps: топ-5 приложений для бизнеса Команда Вконтакте для бизнеса нашла на платформе VK Mini Apps 5 полезных приложений для продвижения бизнеса: аналитика сообществ, рассылки, анонсы мероприятий, работа с отзывами и конструктор промостраниц.

[Перевод] Hyper-V для разработчиков под Windows 10 Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.   Microsoft Hype...

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

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

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

Мастер-класс Гарретта Джонстона Хватит выживать! Пора возрождаться. Сегодняшний кризис — переломный момент для всей человеческой истории. И пора прекратить мыслить в категории — выживание. Переходите на уровень «возрождения» своего бизнеса. Как это сделать? Решит...

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

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

Старт работы с Excel на C# В современном мире разработки приложений не редко встает необходимость работы с Excel документами. Чаще всего это разного рода отчеты, но иногда xls/x файлы используются в качестве хранилища данных. Например, если пользователь должен иметь возможность загрузить данные в прил...

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

15 февраля Badoo PHP Meetup #4. Легаси Привет! 15 февраля, в субботу, приглашаем на очередную встречу сообщества PHP-разработчиков в офисе Badoo.  Митап будет целиком и полностью посвящен легаси, и вот почему. Мы часто слышим утверждения из разряда «о легаси все уже сказано», «о чем там рассказывать», «ну ест...

Google разрабатывает свой аналог AirDrop для Android Google не смогла перенести AirDrop на Android, но создала свой аналог Перекрёстное внедрение новых функций – совершенно стандартная практика, к которой в процессе совершенствования своих операционных систем прибегает и Apple, и Google. Сегодня одно нововведение появляется на...

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

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

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

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

Отложенный Alpha blending В этой статье я хочу поговорить о методах смешивания растеризуемой геометрии. Классические модели смешивания полупрозрачных объектов — Alpha, Additive, Multiplicative — объединяет один и тот же принцип отрисовки: последовательно рисуем один примитив за другим, смешивая получ...

Apple добавит новые промокоды на подписки в App Store, чтобы сделать скидки Вскоре после запуска App Store разработчики начали практиковать создание промокодов для своих приложений. Например, во время различных промоакций так можно было скачать платное приложение бесплатно — в том числе и мы публиковали подобные истории. Количество промокодов обычн...

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

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

Разработчики КОМПАС – конструкторы или программисты? В названии статьи кроется маленькая провокация, ведь ясно, что без программистов софт сам себя не напишет. Другой вопрос: кто определяет логику и удобство работы системы, ее развитие. Недавно на Форуме пользователей ПО АСКОН в очередной раз начались разговоры о том, что разр...

[Из песочницы] Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA) В данной статье будет описан процесс подключение oled дисплея с контроллером ssd1306 разрешением 128x64 к микроконтроллеру stm32f103C8T6 по интерфейсу SPI. Также мне хотелось добиться максимальной скорости обновления дисплея, поэтому целесообразно использовать DMA, а програм...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

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

Почему мы выбрали Kotlin целевым языком компании. Часть 1: Ретроспектива Компания ДомКлик существует с 2015 года, и за это время мы успели сменить целевой язык для разработки ключевых сервисов с Java на Kotlin. Меня зовут Александр Коцюруба, я IT Lead в компании ДомКлик. Отвечая на вопрос, почему мы перешли на Kotlin, я опубликую два материала:...

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

nodejs: менеджеры процессов и ES6-модули В мире серверного JavaScript'а я — новичок с чистым, практически незамутнённым разумом. Поэтому когда я узнал о существовании менеджеров процессов, а конкретно — о pm2, то сразу же попробовал применить его для запуска какого-нибудь простейшего backend-сервиса на nodejs в цел...

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Apple выпустила обновлённую сборку macOS 10.15.4 и watchOS 6.2.1 macOS уже давно может считаться взрослой операционной системой даже на фоне iOS, которой в этом году исполняется 13 лет. Поэтому в течение года для настольной платформы выходят в основном малозначительные обновления, которые либо несут минимум новых функций, либо не несут и...

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

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

Нам мало CAP. Да здравствует PACELC Если вы когда-нибудь сталкивались с распределёнными СУБД или системами обработки данных, то слышали о двух теоремах CAP и PACELC, определяющих грани возможных конфигураций этих систем. Споры об их универсальности не утихают до сих пор, однако, альтернативы, способные полнос...

Основные фабрики по производству iPhone всё ещё не возобновили работу В связи со вспышкой коронавируса в Китае в Сети ходит немало слухов и якобы проверенных данных касательно ситуации с производством смартфонов Apple. Есть и противоречащие друг другу данные. Но сегодня свою информацию опубликовал известный аналитик Минг-Чи Куо (Ming-Chi...

Как работает 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, кото...

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

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

Concurrent Mode в React: адаптируем веб-приложения под устройства и скорость интернета В этой статье я расскажу о конкурентном режиме в React. Разберёмся, что это: какие есть особенности, какие новые инструменты появились и как с их помощью оптимизировать работу веб-приложений, чтобы у пользователей всё летало. Конкурентный режим — новая фишка в React. Его зад...

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

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

Как научиться разработке на Python: новый видеокурс Яндекса Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Я...

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

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

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

Онлайн-митап «Как создавать и продвигать digital-продукт: пошаговая инструкция разработки web и mobile» 4 июня в 16:00 приходите на онлайн-митап, на котором топ-менеджеры AGIMA и ведущие партнеры AGIMA Partners’ Club поделятся своим опытом и расскажут, как создать продукт, как управлять командами, какие инструменты продвижения использовать. По...

Версионирование API или единая кодовая база для всех версий За 21 год существования в SuperJob разработали три версии реализации API для интеграций с бэкендом. Во время разработки последней они решили пересмотреть подход к версионированию. Сейчас в актуальной реализации порядка 379 эндпойнтов, более 900 моделей сущностей и 11 поддерж...

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

[Из песочницы] Логирование в микросервисной среде .Net на практике Логирование является очень важным инструментом разработчика, но при создании распределённых систем оно становится камнем, который нужно заложить прямо в фундамент вашего приложения, иначе сложность разработки микросервисов очень быстро даст о себе знать. В .Net Core 3 доба...

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

Таким может быть интерфейс Android на устройствах с двумя экранами Как работает Android с двумя экранами? Компания Microsoft в октябре прошлого года представила миру ряд новинок. Среди них оказался и Surface Duo — это первый смартфон компании на Android. Но это не единственная его особенность, ведь аппарат имеет два экрана, которые сп...

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

Почему я не люблю приложения с подпиской А вы считали, сколько тратите на подписки в месяц? Приложения, которые работают по модели подписки, стали одним из самых противоречивых событий за последние несколько лет. Разработчики очень любят эту модель, потому что она дает им самое ценное: постоянный доход. Это не толь...

Navicon поможет удаленными сотрудникам адаптироваться к сложным бизнес-приложениям Digital Adoption Platform WalkMe - это решение, которое создает эффективную среду взаимодействия между сотрудниками и бизнес-приложениями предприятия. Востребованность решения стремительно возросла в феврале-марте текущего года, когда многие организации оказались вынуждены п...

Apple и Google стараются остановить распространение ложной информации о коронавирусе Согласно сообщениям зарубежных СМИ, чтобы остановить распространение ложной информации, Apple начала жестко контролировать приложения, так или иначе связанные с коронавирусом. Apple заявила, что приложения, связанные с коронавирусом COVID-19, могут публиковаться Всемирн...

Платформа Microsoft Ad Monetization закроется 1 июня 2020 года Microsoft объявила, что платформа Ad Monetization, с помощью которой разработчики могли монетизировать свои UWP-приложения, закроется 1 июля 2020 года. Компания предлагает разработчикам уже сейчас начать переходить на другие рекламные платформы. После этого заявления в сооб...

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

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

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

Как перемещать сразу несколько иконок приложений на iPhone или iPad (видео) Начиная с iOS 11 разработчики Apple реализовали мультитач-функцию, которая позволяет перемещать иконки приложений группами, собирая их в группу со всего экрана произвольным образом. Сделать это довольно просто и наверняка такая возможность окажется полезной для многих пользо...

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

Firefox готовит большое обновление Android-приложения, ... Mozilla решил «создать новое браузерное приложение для Android, чтобы браузер был быстрее и надежнее, чем его текущая стабильная версия». Компания также хотела, чтобы приложение было основано на собственном движке мобильного браузера GeckoView, что позволило бы п...

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

Языковые модели как двигатель прогресса: необычные применения для GPT-3 В начале лета разработчики из OpenAI представили языковую модель GPT-3, созданную для написания связного текста на основе заданного материала. Её обучали на 570 гигабайтах содержимого веб-страниц, википедии и художественной литературы, что почти в 15 раз превышает объем да...

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

IT-компания Embedika создала сервис сравнения документов Compare Компания Embedika представила бесплатный сервис сравнения документов Compare. Инструмент сравнивает две версии одного документа и показывает различия: что добавлено, изменено или удалено.  Что такое Compare Compare работает с документами в форматах PDF, DOC и...

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

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

Концепт торрент-клиента в стиле Windows 10 Если вы используете Windows 10 и ищете современный торрент-клиент, вы, вероятно, заметили, что приложений с современным дизайном практически нет. Это связано с тем, что, несмотря на множество приложений BitTorrent, которые вы можете загрузить прямо сейчас, ни одно из них не ...

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

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

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

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

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

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

ADAM-6700 —универсальный модуль связи с объектом на базе Linux Модули серии ADAM — самый узнаваемый продукт нашей компании. Запущенные в далеком 1992 году, они постоянно развиваются, сохраняя классический узнаваемый дизайн. Сегодня это мощные многофункциональные устройства, совмещающие в себе сразу несколько классов приборов для решен...

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

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

«Лаборатория Касперского» тестирует корпоративное устройство Об этом пишет "КоммерсантЪ" со ссылкой на слова руководителя направления по развитию бизнеса KasperskyOS Григория Сизова. По словам Сизова, сейчас компания разрабатывает концепцию, изучает бизнес-модели и ведет переговоры с производителями чипсетов и вендоров, а в ...

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

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

Создаем CRUD API на Express и MySQL: часть вторая Всем привет. В преддверии старта курса «Разработчик Node.js», хотим поделиться продолжением материала, который был написан нашим внештатным автором. Всем еще раз привет. Мы возвращаемся к созданию приложения на Node.js и MySQL для небольшого todo — приложения на Node.js ...

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

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

Разведка с geo2ip и reverse-whois Разведка сетевых ресурсов компании главным образом заключается в брутфорсе поддоменов с последующим ресолвом найденных сетевых блоков. Далее могут быть найдены новые домены 2 уровня и процедура повторяется снова. Это позволяет найти новые IP-адреса на каждой итерации.Этот ме...

[Из песочницы] 10 строк кода, которые уменьшат боль от вашего проекта на Vue … или знакомство с плагинами Vue JS на примере интегрированной шины событий Пара слов о… Всем привет! Сразу оговорюсь. Я очень люблю VueJS, активно пишу на нем уже больше 2-х лет и не считаю, что разработка на нем может причинить боль хоть в какой-то значимой степени :) С д...

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

[По докам] Flutter. Часть 4. Для веб-разработчиков Начинаем новую неделю с очередной интерпретации официальной документации Flutter в формате «вопрос-ответ». 4-я часть освещает в сравнительном стиле Flutter для веб-разработчиков. Она целиком посвящена вёрстке и вышла не такой объёмной, как предыдущие. Традиционно рекомендую ...

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

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

Tangi — аналог TikTok от Google с обучающими видео Tangi — аналог TikTok от Google Как же так получается, что Google выпускает приложение не для Android, а для iOS? Компания выпустила аналог TikTok под названием Tangi. Ещё 6 дней назад разработчики приложения опубликовали пресс-релиз на официальном сайте Google, однако...

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

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

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

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

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

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

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

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

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

Рецепты для хворающих SQL-запросов Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL. За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подска...

Разработчик СЭД Documentolog стал резидентом Сколково Российская “дочка” казахстанского разработчика систем электронного документооборота Documentolog стала резидентом Сколково. Компани продолжит развивать свои продукты, а также создаст центр исследований и разработок для совершенствования высокотехнологичной информацион...

Обезл***вание д***ных — это не просто рандомизация В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования. К...

Agile для ERP — антикризисный подход В ходе онлайн-конференции лидеры компании Infor рассказали об облачной стратегии и новых подходах к внедрению бизнес-приложений. Компания Infor провела в онлайне свою европейскую конференцию Infor Inspire. Открывая мероприятие, глава компании Кевин Самуэльсон сообщил, что...

Huawei выпустила пакет сервисов HMS Core 4.0 Huawei, среди приоритетных задач которой на 2020 год создание собственной экосистемы, объявила о выходе набора сервисов Huawei Mobile Services 4.0. Декларируется, что они позволят разработчикам программного обеспечения ускорить и повысить эффективность создания мобильных при...

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

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

Huawei поняла, как обойти запрет Google Huawei нашла способ обойти ограничение Google 15 мая прошлого года Министерство торговли США внесло Huawei в “черный список”. В это же время президент США Дональд Трамп подписал указ, запрещающий американским компаниям использовать оборудование, представляющее угрозу национа...

Мечтатели 1 августа. LIVE трансляция. Участие бесплатно. Кризис — не повод отказаться от мечты. Это лучшее время, чтобы действовать! В мире происходит тотальная смена основных парадигм: бизнеса, общества, спроса, предложения. На одной площадке со...

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

[Перевод] Волшебная отвёртка для дальневосточной сборки Excel 97 Группа строений кампуса Microsoft от №16 до №18 многие годы служила домом для команды разработчиков Microsoft Office. Когда они переехали в строение №37, все машины в старой лаборатории выключили и перевели в новую лабораторию здания 37. На тот момент Office 97 уже был оч...

Selenium vs Puppeteer vs Cypress vs Playwright Всем привет. Я qa automation engineer уже 14 лет и 9 из них мне так или иначе приходилось работать с автоматизацией веб-приложении (и не только). Я писала свои автотесты на C#, Java, и Js. Сейчас я хотела бы поделиться опытом, как я выбираю фреймворк для тестирования веб при...

Ambarella показала на CES 2020 новую робототехническую платформу Компания Ambarell, специализирующаяся на разработке процессоров для машинного зрения, продемонстрировала на выставке CES 2020 свою новую робототехническую платформу. Основанная на архитектуре Ambarella CVflow, она нацелена на использование в автоматически управляемых тр...

Как сервис Estimate помогает автоматизировать процесс оценки и узнать стоимость IT-проекта Как для бизнеса, так и для IT-компании оценка – один из самых важных этапов в начале работы над проектом. Бизнес готов сотрудничать с тем подрядчиком, который назовет стоимость объективно, прозрачно и быстро, в идеале – немедленно. При этом на рынке существует значительный ...

Как подружить PyTorch и C++. Используем TorchScript Около года назад разработчики PyTorch представили сообществу TorchScript — инструмент, который позволяет с помощью пары строк кода и нескольких щелчков мыши сделать из пайплайна на питоне отчуждаемое решение, которое можно встроить в систему на C++. Ниже я делюсь опытом его ...

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

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

[Перевод] Исчерпывающий путеводитель по тегу iframe Элемент iframe (сокращение от встроенного фрейма), вероятно, является одним из старейших тегов HTML и был представлен ещё в далеком 1997 году в HTML 4.01 Microsoft Internet Explorer. Хотя все современные браузеры поддерживают данный тег, многие разработчики пишут бесконечны...

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

Метафизика Dependency Injection Dependency Injection — это часто используемая техника в объектно-ориентированном программировании, предназначенная для уменьшения связанности компонентов. При правильном применении, помимо достижения этой цели, она может привнести поистине магические качества вашим приложе...

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

28 лет спустя. Microsoft хоронит Visual Basic Компания Microsoft раскрыла свои планы по поводу языка программирования Visual Basic. Многие разработчики начинали Visual Basic но, судя по всему, дни этого языка сочтены.  В официальном блоге команды .NET сообщается, что Microsoft не планирует больше развивать да...

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

«Ну, покати!» или CI/CD мобильных приложений на основе контракта Всем привет! Меня зовут Дмитрий, я релиз-инженер в команде CI/CD Speed Авито. Вот уже несколько лет мы с коллегами отвечаем за всё, что связано с релизами наших мобильных приложений и не только. Про наши «релизные поезда» и как мы к этому шли уже оче...

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

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

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

Fluid Components — новый подход к документам и продуктам Microsoft Office Компания Microsoft представила новый подход к документам и продуктам Microsoft Office, который именуется Fluid Components. Компоненты фреймворка могут как кубики Lego соединяться вместе в различных приложениях и в веб-среде. Компоненты — это таблицы, графики, списки, являющ...

Microsoft рассказала об использовании машинного обучения для поиска багов в ПО Для поиска ошибок в программном обеспечении и сервисах компания Microsoft использует модель машинного обучения. По словам Скотта Кристиансена, старшего программного менеджера по безопасности, 47 тысяч разработчиков ежемесячно генерируют около 30 тысяч багов, и отслеживать и...

Технический обзор архитектуры СХД Infinidat InfiniBox – модерновая система хранения, сразу попавшая в правую часть магического квадрата. В чем ее уникальность? Краткая предыстория Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель...

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

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

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

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

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

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

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

Интервью с разработчиками Genshin Impact: игра вышла, что дальше? Издатель miHoYo выпустил своё творение, ролевую игру Genshin Impact, на смартфоны, PC и PlayStation 4. Такое синергию редко можно увидеть в жанре экшен-RPG. Издание Twinfinite взяло интервью у разработчиков, чем мы и спешим с вами поделиться. Почему Genshin Impact разработа...

Gartner: компаниям нужно сделать перезагрузку своей бизнес-стратегии в условиях пандемии COVID-19 По мере вступления пандемии COVID-19 в новые фазы руководителям бизнеса следует сделать «перезагрузку» стратегии, взяв прицел на устойчивость, указывает Gartner. Важно, чтобы высшее звено руководства принимало стратегические решения ...

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

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

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

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

Современный веб не готов к складным смартфонам Не так давно компания Samsung продемонстрировала нам, на что способны её работники в вопросе разработке в какой-то степени революционных продуктов. Galaxy Fold стал первым в мире складным телефоном с гибким экраном. С тех пор были выпущены Huawei Mate X, Galaxy Z Flip, Moto...

Бизнес-процессы на прокачку: как Process Intelligence помогает компаниям определить, что, где и когда автоматизировать Как вы, возможно, слышали, в прошлом году ABBYY приобрела компанию TimelinePI – разработчика платформ Process Intelligence. Теперь, помимо интеллектуальной обработки информации, продукты ABBYY помогают компаниям решать новый класс задач – анализировать бизнес-процессы, пони...

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

Как проверить, поддерживает ли приложение процессор M1 Основной причиной отказа пользователей от покупки новых Mac на базе архитектуры ARM, стала проблема совместимости старых приложений, разработанных для Intel, с процессором M1. Ну, по крайней мере, их эта мифическая несовместимость очень сильно беспокоит и не даёт покоя. Вед...

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

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

ФАС хочет обязать разработчиков ОС отвечать за предустановку российского ПО Федеральная антимонопольная служба РФ предлагает обязать Apple, Google и Microsoft наравне с производителями смартфонов, планшетов и компьютеров отвечать за предустановку российских приложений и программ на используемые в России устройства. Также ведомство хочет, чтобы разра...

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

Запускаем трансфлективный TFT дисплей на SSD1283A с помощью STM32 Введение Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой о...

В iOS 14 появится функция, похожа на Android Slices iOS 14, судя по многочисленным утечкам, принесёт немало новых функций. Об одной из них сегодня поведал ресурс 9to5mac. Источник сообщает, что в новой версии операционной системы появится пока ещё безымянная функция, позволяющая запускать приложения без их предварительно...

Instagram убирал кнопку IGTV с главной страницы TechCrunch попытался выяснить: у приложения проблемы или всё же дело в чём-то другом? Ведь из более чем миллиарда пользователей Instagram за 18 месяцев с момента запуска его загрузили максимум 7 млн. К слову, TikTok может похва...

Реактивное программирование на Java: как, зачем и стоит ли? Часть I Идея реактивного программирования появилась сравнительно недавно, лет 10 назад. Что вызвало популярность этого относительно нового подхода и почему сейчас он в тренде, рассказал на конференции РИТ++ 2020 эксперт и тренер Luxoft Training Владимир Сонькин. В режиме мастер...

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

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

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

Знание и состояние Сердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние. Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительно...

Почему приложение запрашивает разрешение на поиск устройств в локальной сети в iOS 14 В iOS 14 Apple серьезно пересмотрела подход к конфиденциальности пользователей. Мало того, что компания добавила в обновление продвинутые возможности Safari для предотвращения отслеживания хакерами и рекламодателями, так теперь iPhone или iPad показывает оранжевую или зелен...

[Перевод] Как написать собственную файловую систему на языке Rust Исходные данные и результаты работы программ должны где-то храниться для дальнейшего использования. Их хранение нужно организовать так, чтобы мы могли быстро получить нужную информацию. За эту задачу отвечает Файловая система (FS): она предоставляет абстракцию для устройств,...

Браузер на страже API-запросов Команде разработчиков, создающей одностраничное приложение (SPA), рано или поздно придётся столкнуться с ограничениями браузерной безопасности. С одной стороны, нужно сделать так, чтобы фронтенд-сторона могла беспрепятственно общаться с бэкенд API-сервером, а с другой — защ...

Бывший топ-менеджер Intel возглавил серверный бизнес AMD Дэн Макнамара будет отвечать за внедрение процессоров Epyc второго поколения для расширения использования высокопроизводительных серверных решений AMD.

Новая эра веб-разработки или «всё уже есть» Ты никогда не решишь проблему, если будешь думать так же, как те, кто ее создал. Альберт Эйнштейн В далеком 1989 году британский ученый Тим Бернерс-Ли создал системы обмена документами Enquire, которая и стала прототипом глобальной сети интернет. Где были им представлены ря...

Android Flash Tool — сервис для простой и быстрой ... Google создала сервис Android Flash Tool, задача которого упростить процесс прошивки Android-устройств. Совместим он с компьютерами, работающими под управлением Windows, macOS, Linux и Chrome OS. Позиционируется онлайн-приложение как более простая и комфортная альтернатива б...

[Перевод] GPT-2 в картинках (визуализация языковых моделей Трансформера) В 2019 году мы стали свидетелями блистательного использования машинного обучения. Модель GPT-2 от OpenAI продемонстрировала впечатляющую способность писать связные и эмоциональные тексты, превосходящие наши представления о том, что могут генерировать современные языковые мо...

Google представила технологию беспроводной передачи файлов Nearby Share — аналог AirDrop для Android Компания Google начала внедрение Nearby Share — новой технологии для Android-смартфонов, которая позволяет делиться фотографиями, файлами, ссылками и прочим контентом с другими пользователями Android-смартфонов, находящихся рядом. Принцип работы технологии очень похож на фун...

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

ClickHouse для продвинутых пользователей в вопросах и ответах В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как мы используем систему управления базами данных и какие сложности у нас...

CI/CD на AWS, Azure и Gitlab. Новый курс от OTUS Внимание! Данная статья не является инженерной и предназначается читателям, которые интересуются образованием в области CI/CD. Вероятнее всего, если Вы не заинтересованы в обучении, данный материал не будет Вам интересен. Если вы разработчик или администратор, отвечающий ...

Пользователей PlayStation 5 ждёт «фальшивое 4K» и проблемы с играми на старте? Новые слухи пока не радуют Мы точно знаем, что по сухим цифрам консоль Sony PlayStation 5 менее производительна, чем Xbox Series X. При этом большинство разработчиков нахваливает именно приставку Sony, упоминая то сверхбыстрый SSD, то уникальные возможности контроллера DualSense. Однако всё же у ...

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

WhatsApp прощается с многими смартфонами на базе Android и iOS Следующая информация будет полезна тем, кто по-прежнему использует старые смартфоны под управлением операционных систем iOS и Android, при этом продолжает использовать сервис обмена сообщениями WhatsApp. Популярная платформа обмена сообщениями, которая принадлежит ...

Apache Kafka для чайников Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на W...

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

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

Intel случайно признала, что её новейшие 10-нанометровые процессоры медленнее 14-нанометровых со старой архитектурой Мобильные процессоры Intel Ice Lake и Comet Lake уже несколько месяцев доступны в многочисленных ноутбуках. Оба семейства относятся к десятому поколению процессоров Core, но это совершенно разные CPU. Процессоры Comet Lake производятся по 14-нанометровому техпроцессу, и...

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

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

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

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

Украина запустила мобильное приложение для доступа к госуслугам К моменту запуска приложения в нём в цифровом виде доступны водительские права и свидетельства регистрации транспортных средств украинцев. Чтобы получить электронные версии своих документов, нужно загрузить приложение и авторизоваться. Они появятся в приложении автоматически...

Это мог быть очередной JavaScript-фреймворк Прошлым летом, в процессе подготовки статьи для Хабра, я не поленился упаковать свой шаблон для бэкэнд-приложений на Node.js в npm-пакет, сделав из него cli-утилиту для быстрого старта. Никаких надежд на то, что этим пакетом будет пользоваться кто-то, кроме меня, не было изн...

Apple и Google заставят чистить смартфоны для России В прошлом декабре в России был окончательно принят так называемый «закон против Apple», запрещающий продавать смартфоны, компьютеры и умные телевизоры без российского ПО.  Теперь Федеральная антимонопольная служба предложила распространить его тр...

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

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

PlayStation 5 и Xbox Series X очень мощные Крупные издатели видеоигр уже получили свои модели PlayStation 5 и Xbox Series X для разработки нового контента и тестов. Некоторые из разработчиков решили поделиться своими впечатлениями. Например, генеральный директор студии Tequila Works заявил, что консоли нового поколен...

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

Huawei запустила сервис HMS Core 4.0 для разработчиков Компания HUAWEI запустила набор сервисов HMS Core 4.0, которая позволит разработчикам приложений повысить эффективность и скорость разработки приложений, а также улучшить их монетизацию. HMS Core — это платформа, которая обеспечивает широкую базу ...

KeyDB как [потенциальная] замена Redis На хабре не нашлось обзоров «более быстрой альтернативы Redis» — KeyDB. Получив достаточно свежий опыт его использования, хочется восполнить этот пробел. Предыстория достаточно банальна: однажды с большим наплывом трафика была зафиксирована значительная деградация произво...

Руководство Instagram хочет выпустить версию для iPad, но не может Несмотря на широкую популярность iPad, для многих разработчиков он никогда не представлял такого же интереса, как iPhone. Поэтому некоторые приложения из ассортимента App Store по-прежнему доступны только в версии для смартфонов. Конечно, у пользователей планшетных компьюте...

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

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

У Intel не получилось, как у AMD. Чипсеты H410 и B460 не поддерживают новые процессоры Rocket Lake Новый Core i9-11900K против старого Core i9-10900K. Первые тесты показывают, что разница в ядрах не даёт новичку выигрывать Процессоры Intel Rocket Lake-S, которые выйдут в этом квартале, как известно, используют сокет LGA 1200. Более того, они...

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

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

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

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

Самые провальные продукты 2019 года Mate 30 Pro не имеет сервисов Google Чем нам запомнился 2019 год? Конечно, большими событиями, ведь именно в этом году стали появляться в продаже первые гибкие смартфоны и первые 5G-смартфоны. Но не обошлось и без неудачных продуктов, которые мы рассмотрим в этом материале. ...

Эволюция декларативных UI-фреймворков: от динозавров к Jetpack Compose Проект Jetpack Compose привлёк много внимания в Android-мире, ещё когда был в альфа-версии. А недавно добрался до беты — так что теперь всем Android-разработчикам пора понимать, что он собой представляет. Поэтому мы сделали для Хабра текстовую версию доклада Матвея Малькова...

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

Прогноз CW: Пять тенденций в корпоративных облачных стратегиях в 2020 году Главными направлениями для ИТ-директоров, занятых поиском инноваций в облачных сервисах, станут архитектура гибридных облачных сред и обучение ИТ-персонала управлению и работе с ними. Облачные вычисления становятся основной моделью при модернизации корпоративных ИТ-портфе...

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

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

Facebook приобрела приложение на искусственном интеллекте Технология программы позволяет распознать определённую вещь для дальнейшего поиска её аналогов в Сети. Выкупленная разработка имеет название GrokStyle, создание которой началось ещё в 2015 году Кавитом Балом и Шоном Беллом. Основатели приложения смогли заинтересовать мебель...

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

[Из песочницы] Где найти фриланс, который будет приносить удовольствие? (Спойлер: не Upwork) В нулевых «предпринимательство» стало словом десятилетия, когда взрослые люди, независимо от возраста, открыли для себя мир удаленной работы. Этот шаг принес ощущение свободы в жизни многих людей, и его влияние не теряет своей силы и сегодня. Сейчас снова происходит сдвиг в...

Бесплатное iOS-приложение Swift Playgrounds для изучения программирования стало доступно для платформы Mac Компания Apple выпустила приложение Swift Playgrounds для обучения программированию на планшете iPad еще в 2016 году. И только спустя четыре года разработчики решили, что оно также может пригодиться обладателям фирменных ноутбуков и ПК и опубликовала соответствующую версию в...

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

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

C 1 ноября WhatsApp перестанет работать на 43 моделях смартфонов. Список Разработчики мессенджера WhatsApp примерно раз в год пересматривают поддерживаемые операционные системы. Последний раз это случилось в декабре 2020 года, и вот сейчас – новый пересмотр: с 1 ноября текущего года приложение перестанет работать на смартфона...

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

Apple покупает приложение для прогноза погоды Dark Sky Apple приобрела приложение для прогноза погоды Dark Sky, которое высоко ценится благодаря своим радиолокационным картам и точности своих гиперлокальных, поминутных прогнозов погоды. Как и следовало ожидать, оно будет доступно в iOS App Store, но версии для Android и Wea...

Huawei рассказала об успехах за 2019 год и о прогнозах на ... Вчера компания Huawei провела масштабную презентацию, посвященную анонсу серии Huawei P40 в Китае. После пресс-мероприятия журналистам удалось пообщаться в формате онлайн с главой мобильного подразделения компании Ю Чэндун. Они решили расспросить о ситуации на рынке и в...

Актуальна ли Tizen OS в 2020 году? Актуален ли смартфон на Tizen в 2020 году? Операционная система Tizen начала своё существование в далеком 2011 году, когда LiMo Foundation и Linux Foundation официально заявили о запуске платформы Tizen с открытым исходным кодом для широкого спектра устройств. Возможность ра...

Как сократить расходы на базы данных в 2 раза Руководите или отвечаете за работу ИТ-подразделения компании? Устали от регулярных потерь производительности, инцидентов и вливаний бюджетов в инфраструктуру баз данных? 19 декабря (четверг) в 15:00 по Мск пройдет последний в эт...

Что такое платформа как услуга (PaaS)? В модели «Платформа как услуга» (PaaS) разработчики, по сути, арендуют все, что им нужно для создания приложения, полагаясь на облачного провайдера для средств разработки, инфраструктуры и операционных систем. Это одна из трех сервисных моделей облачных вычислений. PaaS знач...

Более 100 млн Android-устройств могут быть под угрозой из-за шпионского приложения Исследовательская группа VPNpro заявила, что приложения китайского разработчика QuVideo могут шпионить за пользователями.Наиболее популярным приложением QuVideo является программа для редактирования видео VivaVideo. Интересно, что еще в 2017 году индийское правительство отне...

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

[Перевод] Не стоит пользоваться OFFSET и LIMIT в запросах с разбиением на страницы Прошли те дни, когда не надо было беспокоиться об оптимизации производительности баз данных. Время не стоит на месте. Каждый новый бизнесмен из сферы высоких технологий хочет создать очередной Facebook, стремясь при этом собирать все данные, до которых может дотянуться. Эти ...

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

ВКонтакте появилась новая механика создания интерактивных стикеров для историй ВКонтакте расширила возможности мини-приложений на платформе VK Mini Apps. Теперь разработчики могут создавать собственные интерактивные стикеры для историй. Оформление и функциональность не ограничены — с помощью таких стикеров можно прямо в историях собирать обратную связь...

Переводчик Google для Android поумнел Одной из самых часто используемых функций современных смартфонов является перевод иностранных языков. Зачастую смартфон помогает понять то, что без него было бы сделать практически невозможно. Для этих целей часто используется приложение Google Translate. Компания Googl...

Молчание вентиляторов. Google Colab, Javascript и TensorflowJS Google Colab — это бесплатный облачный сервис на основе Jupyter Notebook. Google Colab предоставляет всё необходимое для машинного обучения прямо в браузере, даёт бесплатный доступ к невероятно быстрым GPU и TPU. Заранее предупрежу, что у н...

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

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

Функцией Live Caption теперь можно пользоваться на Google ... Еще в мае Google анонсировал функцию Live Caption. Эта функция предназначалась исключительно для недавно выпущенных Pixel и Pixel 4 XL. Тем не менее, американский гигант решил добавить ее в прошивки прошлогоднего Pixel 3 и «новенького» Pixel 3A.     Бу...

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

На смартфонах теперь тоже можно будет обновлять драйверы «видеокарты» Ну что, теперь мы будем обновлять графические драйверы и на наших смартфонах. В декабре Qualcomm рассказала, что SoC Snapdragon 865 и Snapdragon 765/765G стали первыми платформами с поддержкой функции отдельного обновления драйверов для GPU. Тогда же сообщалось, что вс...

Популярные блокировщики рекламы уличили в сборе личных данных Ресурс BuzzFeedNews провел расследование и обнаружил, что ряд популярных блокировщиков рекламы и VPN-сервисов тесно связан с аналитической компанией Sensor Tower. Эта фирма, а точнее созданная ей платформа, представляет многим разработчикам и прочим клиентам данные об аудито...

Надоел Google Play Store? Вот вам лучшие альтернативы Не обязательно использовать Play Store для того, чтобы скачивать приложения Если вы пользуетесь Android довольно давно, то знаете, что это довольно открытая операционная система, позволяющая модифицировать буквально все, что угодно. Но вот приложения для Android (если мы не ...

Будни DevOps: cобираем gcc 9.3.1 под CentOS 8 В «Северстали» внедрены большие корпоративные системы, такие как SAP или QMET, но есть и много разных задач, которые закрывает собственная разработка, и задачи у этой разработки редко бывают простыми. А значит, и требования к инструментам разработки ...

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

Платформа Visary: как мы пришли к микросервисам и low-code Давайте знакомиться. Мы Научно-производственный центр «БизнесАвтоматика» — российский разработчик интеллектуальных информационно-аналитических систем. Сегодня мы хотим рассказать о нашей ключевой разработке — платформе Visary. На ней реализованы десятки информационных систем...

Fintech на практике: как Quadcode технологии для трейдинга и банкинга разрабатывает Привет, самое хардовое IT комьюнити Рунета, я Саша, главный архитектор в компании Quadcode. Мы пришли на Хабр для того, чтобы показать “кухню” Fintech - варимся мы во всем этом много лет, поэтому уже можем поделиться опытом. В блоге будем рассказывать об архитектурах, технол...

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

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

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

Google выпустит новый мессенджер на основе Gmail, Google Drive и Hangouts Google хочет создать новый мессенджер, но только для корпораций Google очень любит экспериментировать с интеграцией своих сервисов друг с другом. В рамках этой инициативы компания уже встроила Google Assistant в браузер Chrome, снабдила сервис «Google Фото» технологией распо...

В каком приложении для iOS тратят больше всего на встроенные покупки? Это не Fortnite Когда очень надо оплатить YouTube Premium В последнее время многие разработчики предпочитают использовать в своих приложениях модель со встроенными покупками, а саму программу размещать в App Store совершенно бесплатно. Насколько эта модель выгоднее классического способа про...

[Перевод] Устранение бага в Factorio: не ошибается тот, кто ничего не делает В недавних примечаниях к патчам была строка «Исправлена ошибка создания земли под игроком при создании земли в другом месте». Подробнее об этом можно прочитать здесь. Некоторых пользователей Reddit заинтересовало, как вообще мог возникнуть такой баг, они попросили объяснить ...

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

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

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

Panasonic представил комплексное решение TOUGHBOOK Omnia для ускоренной разработки бизнес-приложений Компания Panasonic представила комплексное решение TOUGHBOOK Omnia на базе языка программирования MCL для ускоренной разработки программного обеспечения. Решение позволяет пользователям Panasonic TOUGHBOOK эффективно управлять проектами цифровой трансформации и сократить вре...

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

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

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

Как подключиться к VPN на Android: 5 простых шагов Узнайте как подключиться к VPN на Android!  Платформа Андроид, наравне с iOS занимает ведущее место на рынке операционных систем мобильных устройств и гаджетов. Если Вы, являясь обладателем устройства Андроид, хотите загрузить приложение, заблокированное или недоступное...

Граф знаний в Поиске: построение из нескольких источников Я хочу рассказать о том, что такое граф знаний и об одном из способов его построения из нескольких тематических источников. Большое количество запросов в поиске содержат единственную сущность — объект, про который спрашивает пользователь. Это могут быть запросы про каких...

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

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

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

Эти популярные приложения Android опасны и имеют свои тёмные секреты Эксперты по безопасности обнаружили в онлайн-магазине приложений Google Play целых 24 популярных приложения для Android, которые несут опасность для пользователей и имеют свои «тёмные секреты».  Общее количество установок приложений уже превысило 382 м...

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

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

Какие смартфоны гарантированно обновятся до Android 11 Смартфоны Realme стали первыми претендентами на обновление до Android 11 Ради чего большинство пользователей покупает флагманские смартфоны на Android? Явно не ради быстродействия или камеры, потому что у современных аппаратов в ценовом сегменте от 25 тысяч рублей они плюс-м...

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

Apple выпустит новое приложение для Windows 10: что это будет? Летом 2019 года Apple пошла на довольно неожиданный шаг и отказалась от поддержки приложения iTunes. Это произошло после выхода беты macOS Catalina, где функции iTunes взял на себя Finder. Однако если на Mac онлайн-магазин с музыкой и фильмами, а также её ключевые функции к...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

Как превратить собственные данные в клиентские сервисы Данные — основа бизнеса современной компании. Использование современной ИТ-инфраструктуры по сервисной модели помогает не только сохранить собственные данные, но и оперативно создать совершенно новые сервисы для клиентов ...

Apple выпустила iOS 13.4.5 beta 2 для разработчиков Вслед за iPhone SE 2020, чей анонс состоялся несколько часов назад, Apple выпустила вторую бета-версию iOS 13.4.5. На самом деле выхода этого обновления ждали ещё вчера, но, скорее всего, в Купертино решили приурочить запуск нового аппарата к запуску свежей сборки iOS. Это ...

Во ВКонтакте появились «Близкие друзья» Команда ВКонтакте объявила о запуске новой полезной функции социальной сети. Пользователи теперь могут создать список людей «Близкие друзья», которым особенно доверяют, и делиться сокровенным на стене профиля именно с ними. Чтобы запись увидели лишь избранн...

Что случится с вашими фотографиями, если вы удалите Google Фото Пропадут ли ваши фото, если вы удалите приложение от Google? Приложение Google Фото предустановлено на практически всех смартфонах под управлением Android. Но даже если производитель по каким-либо причинам заменил его на свое собственное, то большинство пользователей все-рав...

Sony и Microsoft будут разрабатывать камеры с AI Компании Sony и Microsoft сообщили о совместном проекте по созданию камер с поддержкой искусственного интеллекта. Кому они понадобятся? Два техногиганта будут работать над внедрением возможностей искусственного интеллекта Microsoft Azure в новый сенсор изображения Sony IMX50...

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

[Перевод] Четыре приема быстрой разработки на Unity3D Уже долгое время Unity3D — мой любимый инструмент разработки игр, которым я пользуюсь уже более 8 лет — и для профессиональных продуктов, и для личных проектов, и при обучении программированию и гейм-дизайну. Более того, я писал на Unity почти на всех гейм-дже...

С февраля пользователи не смогут устанавливать на Mac непроверенные приложения Компания Appe предупредила сторонних разработчиков приложений для macOS, которые предпочитают не размещаться в Mac App Store, о необходимости проверить их утилиты на наличие багов и ошибок. Сделать это нужно до 3 февраля. В противном случае macOS Catalina запретит установку ...

Как настроить телефон Android после покупки Вы только что купили Android-смартфон и не знаете с чего начать? Вам кажется, что надо было брать iPhone? Android — что-то сложное и непонятное? Это нормально, ведь операционная система Android во многом гораздо более функциональна и сложна в сравнении с iOS, которая ...

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

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

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

Arc — система контроля версий для монорепозитория. Доклад Яндекса Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, ли...

Универсальное ТЗ для Wi-Fi, с пояснениями ТЗ должно быть простым, понятным и проверяемым. Вы такое видели? Каких только ТЗ я не встречал за 12 лет в этой теме. Классические пункты — это “бесшовный роуминг” и “устойчивое 100% покрытие всей площади”. Понятно, что все мы хотим прекрасной связи. Какими же словами опис...

Создаем graphql бекенд на Golang Сегодня мы будем разрабатывать приложение на Golang + GraphQL. Мы часто используем GraphQL на своих проектах и знаем о нем немало, использовали его вместе с различными языками программирования: Javascript, Ruby и теперь руки дошли и до того чтобы попробовать связку Golang G...

Приложение «Ваш телефон» позволяет перетаскивать файлы с ПК на телефон Приложение «Ваш телефон» в Windows 10 предлагает связь между вашим ПК и смартфоном с Android 7 или более новой версии, а также iPhone. За последние несколько лет приложение для телефона стало популярным, и теперь оно получает еще одну полезную функцию, которая поможет вам св...

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

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

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

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

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

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

Как устроиться в IT-компанию Привет! Меня зовут Тим Чаптыков, я работаю в VK — руковожу командой разработки раздела сообщений на вебе. Мы отвечаем за мессенджер на vk.com, в мобильной версии сайта и в VK Messenger (приложение для компьютера). Последние&n...

Motorola RAZR 2019 обновляют до Android 10 Гибкий смартфон Motorola RAZR 2019 наконец обновляют до последней версии Android. Это придаст устройству новые интересные возможности. По словам разработчиков, вместе с Android 10 интерфейс гаджета получает более лаконичный и понятный вид. Вместе с тем расширяется функционал...

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

Как включить 3D-звук в играх в Windows 7/8/10 Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вс...

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