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

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 1 Вероятно, фронтенд-разработчикам знакомо нечто подобное: вводишь в поисковике «лучшие JavaScript-фреймворки» и получаешь в ответ целую гору результатов, из которой очень непросто выбрать именно то, что нужно. Что лучше всего подходит для разработки клиентских частей веб-про...

[Перевод] Рассказ о решении проблемы с производительностью Moment.js Moment.js — это одна из самых популярных JavaScript-библиотек для разбора и форматирования дат. В компании WhereTo используют Node.js, поэтому для них применение этой библиотеки было совершенно естественным ходом. Проблем с серверным использованием Moment.js не ожидалось. В ...

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

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

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

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

[Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vu...

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

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

[Перевод] 19 концепций, которые нужно изучить для того, чтобы стать эффективным Angular-разработчиком TODO-приложение во фронтенд-разработке — это то же самое, что «Hello world» в обычном программировании. При создании TODO-приложений можно изучить выполнение CRUD-операций средствами того или иного фреймворка. Но часто подобные проекты лишь весьма поверхностно касаются того,...

Nitter, альтернативный фронтенд для Twitter Nitter — это свободный фронтенд для Twitter, ориентированный на сохранение пользовательской конфиденциальности. Проект написан на языке Nim, и находится в стадии активной разработки, ни одного релиза пока не было. Аналогичным фронтендом для YouTube является Invidious, которы...

[Из песочницы] Типизация REST API для фронтенд разработчика Сегодня широкое распространение имеют следующие подходы для описания взаимодействия браузера и сервера, такие как OpenApi & GraphQL. В этой статье я расскажу о нашей попытке сделать статически типизированное REST API и избавить фронтенд команду от написания кода по нап...

[Перевод] Топ-5 JS-фреймворков для фронтенд-разработки в 2020 году. Часть 2 Публикуем вторую часть перевода материала, посвящённого пятёрке лучших JavaScript-инструментов для разработки клиентских частей веб-проектов. В первой части речь шла о библиотеке React и о фреймворке Angular. Здесь мы обсудим Vue, Ember и Backbone. Читать дальше →

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

Google Drive как хранилище для веб-приложения Предисловие Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище. Но приложение «хостится» на GitHub Pages и не имеет сервер...

Анализ кода ROOT — фреймворка для анализа данных научных исследований Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обз...

Интервью с Александром Макаровым, Yii core team Один из ключевых разработчиков Yii, Александр Макаров(SamDark), выступит на DevConf с докладом про пакетные метрики и я воспользовался возможностью задать несколько интересующих меня вопросов про новую версию Yii, новую ORM, сбор денег на OpenCollective, фулл-тайм open sour...

[Перевод] Что лучше выбрать в 2020 году — React или Vue? JavaScript-фреймворки стали неотъемлемой частью каждого современного веб-проекта. Существует множество подобных фреймворков, в результате разработчикам постоянно приходится задаваться вопросом о том, что выбрать. Искать ответ на этот вопрос придётся и в 2020 году. Если вы ...

Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже *Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью. В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — ...

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

[Из песочницы] Invidious — альтернативный YouTube-фронтенд «Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+. Читать дальше →

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

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

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

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

[Из песочницы] Особенности HttpUrlConnection из java.net Здравствуйте, сегодня постараюсь рассказать о том, как можно отправить запрос и прочитать ответ от HTTP сервера, используя URLConnection из библиотеки JRE. Сейчас изучаем Java в онлайн режиме. Вся наша команда использует Slack для работы и общения. Заинтересовала возможнос...

SonarQube и IntelliJ IDEA: правильная интеграция SonarQube — отличный инструмент для внедрения статического анализа кода в процесс разработки ПО. Он поддерживает как используемую у нас в компании Java, так и большое количество других языков программирования. На данный момент этот инструмент плотно вошёл в нашу жизнь, сле...

Запускаем инспекции IntelliJ IDEA на Jenkins IntelliJ IDEA на сегодня обладает наиболее продвинутым статическим анализатором кода Java, по своим возможностям оставившим далеко позади таких «ветеранов», как Checkstyle и Spotbugs. Её многочисленные «инспекции» проверяют код в различных аспектах, от стиля кодирования до х...

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

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

Как чип Apple T2 помогает в профессиональной работе Вместе с выходом iMac Pro, компания представила обновленное поколение чипов Apple T2. Сегодня эти сопроцессоры успешно применяются в самых последних моделях MacBook Pro, MacBook Air и Mac Mini. Мы уже рассказывали, что из себя представляет Apple T2, и какие задачи на него в...

[Перевод] Ещё 9 проектов для оттачивания Front-End мастерства Введение Независимо от того, являетесь ли вы новичком в программировании или уже опытным разработчиком, в этой отрасли изучение новых концепций и языков/фреймворков является обязательно чтобы успевать за трендами. Возьмем, к примеру, React — код которого, Facebook открыл ...

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

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

Резюме глазами интервьюера Когда я составляла свое первое резюме, процесс отбора на очное интервью мне казался магией. Люди, принимающие решения, представлялись «черными ящиками», которые определяют: кандидат «интересен» или «неинтересен» — по непонятным критериям. Статьи «Как составить резюме» отчас...

[Перевод] Асинхронные Stream в C# 8 Функционал Async/Await появился в C# 5, чтобы улучшить скорость отклика пользовательского интерфейса и веб-доступ к ресурсам. Другими словами, асинхронные методы помогают разработчикам выполнять асинхронные операции, которые не блокируют потоки и возвращают один скалярный ре...

«Шакал»: сжимаем фронтенд Привет! Я — Ваня, лид платформенной команды в Тинькофф Бизнес. Мое любимое занятие — открывать вкладку DevTools и проверять, сколько весят артефакты сайта. В этой статье расскажу, как мы сократили вес приложения на 30% силами платформенной фронтенд-команды за один день без ...

Ускорение MicroPython MicroPython — реализация языка программирования Python для микроконтроллеров, даёт возможность аудитории этого языка, используя знакомый синтаксис и принципы программирования работать с небольшими вычислительными устройствами. В своей работе я использую MicroPython для про...

Внедряем OSGI на платформе Karaf OSGI это не сложно Я много раз встречал мнение, что OSGI это сложно. И более того, у самого когда-то такое мнение было. Году в 2009, если быть точным. На тот момент мы собирали проекты при помощи Maven Tycho, и деплоили их в Equinox. И это действительно было сложнее, чем раз...

[Перевод] Готовимся к Combine Полтора года назад я пел дифирамбы RxSwift. У меня ушло какое-то время, чтобы разобраться в нем, но когда это случилось, пути назад больше не было. Теперь у меня был самый лучший молоток в мире, и будь я проклят, если всё вокруг не казалось мне гвоздём. На летней конферен...

[Перевод] Плюсы и минусы Django Прим. перев.: Эта статья рассчитана в основном на тех кто только выбирает фреймворк для веб-разработки. Опытные разработчики на Django вряд ли узнают что-то новое. Django описывают как «веб-фреймворк для перфекционистов с дедлайнами». Его создали, чтобы переходить от протот...

Предлагаемые изменения в Chromium нарушат работу uBlock Origin Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения нео...

[Перевод] Руководство по React Native для начинающих Android-разработчиков (с примером приложения) Представляем вам перевод статьи Nikhil Sachdeva, опубликованной на hackernoon.com. Автор делится опытом разработки мобильных приложений с помощью React Native и предлагает создать свое приложение, используя этот фреймворк. Я был Android-разработчиком и довольно длительное...

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

[Перевод] Ищем утечки памяти в приложениях на Python Ola! мы продолжаем серию публикаций приуроченных к запуску курса «Web-разработчик на Python» и прямо сейчас делимся с вами переводом еще одной интересной статьи. В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машин...

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

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

[Перевод] Создаем конвейер потоковой обработки данных. Часть 1 Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали! Apache Beam и DataFlow для конвейеров реального времени Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действитель...

Эксперт создал антивирус для macOS на основе игры Всем известно, что под macOS нет вирусов. Именно поэтому использование антивирусов некоторыми владельцами Mac воспринимается их коллегами по цеху как зашоренность и даже измена. Но то ли дело всевозможные троянцы, которые иногда все-таки проникают в систему и ведут подрывну...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

[Из песочницы] AnyStub, библиотека заглушек соединений в Java В отличие от множества платформ Java страдает от недостатка библиотек заглушек соединений. Если вы давно в этом мире, то наверняка должны быть знакомы с WireMock, Betamax или даже Spock. Многие разработчики в тестах используют Mockito для описания поведения объектов, DataJpa...

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

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

[Перевод] Ускорение разведочного анализа данных с использованием библиотеки pandas-profiling Первым делом, приступая к работе с новым набором данных, нужно понять его. Для того чтобы это сделать, нужно, например, выяснить диапазоны значений, принимаемых переменными, их типы, а также узнать о количестве пропущенных значений. Библиотека pandas предоставляет нам множе...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

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

Использование DiagnosticSource в .NET Core: теория DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписывать...

Баг в Libarchive допускает выполнение стороннего кода В библиотеке Libarchive, входящей в состав многих ОС и утилит, обнаружена серьезная уязвимость. Баг позволяет злоумышленнику выполнить код на целевом компьютере, если жертва откроет вредоносный архив. Проблема выявлена только в Linux-версии программы и не затрагивает пользов...

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

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

Выпущена альфа-версия Windows UI Library 3.0 На конференции Ignite 2019 компания Microsoft объявила о выпуске предварительной версии Windows UI Library 3.0. Обновлённая библиотека включает в себя полный стек пользовательского интерфейса, а значит разработчики могут использовать все нативные элементы управления и функц...

AirTest IDE и Image Recognition — автоматизация тестирования мобильных игр на основе распознавания изображений В предыдущей статье мы познакомились с AirTest IDE, но, на всякий случай, давайте повторим: AirTest IDE разработан компанией NetEase и предназначен для "hard-to-automate" приложений, таких как, например, игр. Собственно на них и делается основной упор разработчиками, хотя эт...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

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

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

Исчезающие фреймворки Почему мы используем фреймворки? Angular, React и Vue помогают нам строить сложные веб-приложения: структурировать код, управлять состоянием и разрабатывать сложные интерфейсы. За последнее десятилетие фреймворки стали стандартом. Дорогим стандартом. С тех пор как фреймворки...

Что разработчикам надо знать про бизнес Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менед...

[Перевод] Теория вместо эвристики: становимся лучше как frontend-разработчики Перевод Becoming a better front-end developer using fundamentals instead of heuristics Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы. Эвристика — шаблоны и пров...

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

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

JSON API – работаем по спецификации В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции. Фронтенд с бэкендом взаимодействуют через API. И от того, какой это API, наско...

PHP Xdebug proxy: когда стандартных возможностей Xdebug не хватает Для отладки PHP-программ часто используют Xdebug. Однако стандартных возможностей IDE и Xdebug не всегда достаточно. Часть проблем можно решить с помощью Xdebug proxy — pydbgpproxy, но всё же не все. Поэтому я реализовал PHP Xdebug proxy на базе асинхронного фреймворка amph...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

Apple следует поработать над Apple Music Музыкальная платформа Apple Music была запущена в 2015 году, и с тех пор пользуется большой популярностью среди пользователей. Но, как и любой сервис, Apple Music не лишен недостатков. Один из пользователей портала Reddit решил проработать этот вопрос и составил объемный сп...

[Перевод] Погружение в Jetpack Compose Всем привет. Перед уходом на выходные спешим поделиться с вами еще одним переводом, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Пробуем новый UI-фреймворк для Android-приложений В течение последних нескольких лет, участвуя во мн...

Первый митап по Flutter в Петербурге – 26 сентября Мы в Wrike очень любим Dart и Flutter. На связке Dart+Angular пишем фронтенд основного продукта, SPA Wrike, а флаттер просто бескорыстно любим и создаем на нем внутренние тулы. Два года назад мы придумали русскоязычное сообщество дарт и флаттер разработчиков (сейчас в нем бо...

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

[Перевод] Axios или Fetch: чем пользоваться в 2019 году? Axios — это широко известная JavaScript-библиотека. Она представляет собой HTTP-клиент, основанный на промисах и предназначенный для браузеров и для Node.js. Если вы работали в последние несколько лет JavaScript-программистом, то вы, совершенно определённо, этой библиотекой ...

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

[Перевод] JDK 9/JEP 280: конкатенация строк никогда больше не будет прежней И снова здравствуйте. Как мы уже писали, на следующей неделе стартует новая группа обучения по курсу «Разработчик Java», по устоявшейся традиции делимся с вами переводом интересного материала по теме. Начиная с JDK 9 конкатенация строк претерпела значительные изменения. JE...

[Перевод] Как происходит рендеринг кадра A Plague Tale: Innocence Предисловие Как и в других моих исследованиях, давайте начнём с введения. Сегодня мы рассмотрим последнюю игру французского разработчика Asobo Studio. Впервые я увидел видео этой игры в прошлом году, когда коллега поделился со мной 16-минутным геймплейным трейлером. Моё вни...

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

Создание бэкенд приложения для онлайн чата Apollo, Node.js Некоторое время назад я работал над мобильным приложением, функционал которого включал в себя удобный онлайн-чат. И теперь я решил написать статью с краткой инструкцией, как создать чат, используя apollo server и node.js на бэкенде, а так же react native и apollo client на к...

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

Synet — фреймворк для запуска предварительно обученных нейронных сетей на CPU Введение Здравствуйте, уважаемые хабровчане! Последние два года моей работы в компании Synesis были тесно связаны с процессом создания и развития Synet — открытой библиотеки для запуска предварительно обученных сверточных нейронных сетей на CPU. В процессе этой работы мне...

Drag-&-Drop компоненты для слепых пользователей? Вы шутите? Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед...

Mobile Shell для Windows 10 on ARM делает значительные успехи Microsoft больше официально не выпускает операционную систему для смартфонов, и Windows 10 Mobile прекратит получать обновления безопасности в следующем году. Пока Windows 10 Mobile потихоньку уходит от нас, группа преданных разработчиков перенесла Windows 10 on ARM (полноце...

[Из песочницы] Организация поиска по веб-странице на JavaScript (без jQuery) Пару дней назад получил тестовое задание от компании на вакансию Front-end dev. Конечно же, задание состояло из нескольких пунктов. Но сейчас речь пойдет только об одном из них — организация поиска по странице. Т.е. банальный поиск по введенному в поле тексту (аналог Ctrl+F ...

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Организуем ML-проект с помощью Ocean Вступление За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить ...

Анализ исходного кода RPC фреймворка Apache Dubbo статическим анализатором PVS-Studio Apache Dubbo — один из самых популярных Java проектов на GitHub. И это неудивительно. Он был создан 8 лет назад и широко применяется как высокопроизводительная RPC среда. Конечно, большинство ошибок в его коде давно исправлены и качество кода поддерживается на высоком уровн...

OpenSceneGraph: Интеграция с фреймворком Qt Введение С одной стороны движок OpenSceneGraph и сам по себе обладает развитой подсистемой управления окнами, обработки событий пользовательского ввода, отправки и приема пользовательских сообщений. Об этом мы довольно подробно поговорили в предыдущих статьях этого цикла. ...

Десятки тысяч закупок, прозрачных как стекло: распутываем клубок Наводить порядок в закупках крупного банка непросто. Особенно когда они разведены по двум независимым комплексным системам ERP и СЭД. При объединении ВТБ и ВТБ24 у нас также произошло объединение информационных систем, и теперь единый процесс закупок проходит через них. Что ...

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

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

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

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

WebRTC и видеонаблюдение: как мы победили задержку видео с камер С первых дней работы над системой облачного видеонаблюдения мы столкнулись с проблемой, без решения которой на Ivideon можно было ставить крест – это был наш Эверест, восхождение на который отняло уйму сил, но сейчас мы, наконец-то, воткнули ледоруб в макушку кроссплатформ...

[Перевод] Использование Golang для создания микросервисов в The Economist: ретроспектива Всем привет! Уже 28 мая мы запускаем первую группу по крусу «Разработчик Golang». И сегодня делимся с вами первой публикацией приуроченной к запуску этого курсу. Поехали. Ключевые выдержки The Economist требовалось больше гибкости для распространения контента на все бол...

Геймеры могут разочароваться в консолях Sony PS5 и Xbox нового поколения из-за скорости загрузки игр О приставке Sony PS5 мы знаем не так много, но самый первый достоверный факт относился к накопителю. Ещё весной сама Sony показала, насколько быстрее могут загружаться игры на консоли следующего поколения благодаря сверхбыстрому SSD. После этого немало разработчиков го...

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

[Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели...

React Native: делаем draggable & swipeable список Сегодня трудно кого-то удивить возможностью свайпать элементы списка в мобильных приложениях. В одном нашем react-native приложении тоже была такая функциональность, но недавно возникла необходимость расширить её возможностью перетаскивать элементы списка. А поскольку процес...

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

AMD починила частоты Ryzen 3000 в турбо-режиме и простое Как и ожидалось, компания AMD объявила сегодня о своей безоговорочной победе над проблемой заниженных частот Ryzen 3000 в турбо-режиме. Новые версии BIOS, которые производители материнских плат должны будут распространить в течение ближайших недель, обеспечат увеличение рабо...

Microsoft помогает разработчикам портировать игры под DirectX 12 на Windows 7 Графический интерфейс DirectX 12 является эксклюзивным для операционной системой Windows 10. Именно ради него многие любители компьютерных игр вынуждены переходить на последнюю версию операционной системы Microsoft. Без этого они ещё много лет могли бы спокойно работать на с...

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

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

Проверка проекта CDK с помощью статического анализатора IntelliJ IDEA Я решил потестировать статический анализатор Java-кода IntelliJ IDEA и с его помощью проверил проект The Chemistry Development Kit. Здесь я приведу некоторые ошибки, которые я нашёл. Думаю, что часть из них характерна для Java-программ в целом, поэтому могут быть интересны. ...

Всё больше походит на iPhone. Google продолжает избавляться от «лишних» кнопок в Android Система жестового управления в Android 9 Pie оставляла желать лучшего, но компания Google не стоит на месте. Разработчики из сообщества XDA-Developers раскрыли ещё одно новшество следующей версии операционной системы Android 10 Q.  В Android 9 Pie три привычных кн...

[Перевод] Вышли обновления ML.NET и Model Builder: что нового Мы рады сообщить о выходе обновлений Model Builder и ML.NET. ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. ML.NET предлагает Model Builder (простой инструмент пользовательского интерфейса)...

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

Как в Яндекс.Практикуме побеждали рассинхрон на фронтенде: акробатический номер с Redux-Saga, postMessage и Jupyter Меня зовут Артём Несмиянов, я фулстек-разработчик в Яндекс.Практикуме, занимаюсь в основном фронтендом. Мы верим в то, что учиться программированию, дата-аналитике и другим цифровым ремёслам можно и нужно с удовольствием. И начинать учиться, и продолжать. Любой не махнувший ...

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

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

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

[Перевод] Зачем нам столько мессенджеров? Slack, Signal, Hangouts, Wire, iMessage, Telegram, Facebook Messenger… Зачем нам так много приложений для выполнения одной задачи? Десятилетия назад научные фантасты представляли себе летающие машины, автоматически готовящие еду кухни и возможность позвонить кому угодно на...

[Перевод] Улучшенный sandboxing для Groovy скриптов От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но ...

Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2 В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут. В этой статье мы поговорим про liquibase-maven-plugin ...

[Из песочницы] Основные проблемы разработки современных интерфейсов Привет, Хабр! Представляю вашему вниманию перевод поста Дэна Абрамова «The Elements of UI Engineering» о современных проблемах и задачах, которые должны быть решены в хорошем интерфейсе. Автор разбирает фундаментальные проблемы при разработке интерфейсов, осмысление и решени...

[Перевод] Путь к проверке типов 4 миллионов строк Python-кода. Часть 1 Сегодня мы предлагаем вашему вниманию первую часть перевода материала о том, как в Dropbox занимаются контролем типов Python-кода. В Dropbox много пишут на Python. Это — язык, который мы используем чрезвычайно широко — как для бэкенд-сервисов, так и для настольных клиентс...

Статически безопасная динамическая типизация à la Python Привет, Хабр. На днях в одном моём хобби-проекте возникла задача написания хранилища метрик. Задача сама по себе решается очень просто, но моя проблема с хаскелем (особенно в проектах для собственного развлечения) в том, что невозможно просто взять и решить задачу. Необходим...

Новый Пуск написан с использованием библиотеки Facebook Win1Leaks сообщает, что новое меню Пуск, которое компания Microsoft сейчас активно разрабатывает, будет построено с использованием JаvaScript-библиотеки React. Данный фреймворк изначально разрабатывался для ленты Facebook, потом он также использовался и в Instagram. Теперь ж...

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

[Из песочницы] Система контроля библиотеки на Flask-Potion, Часть 0: готовим всё, что понадобится Введение В своей работе я уже некоторое время использую Flask-Potion — фреймворк, основными достоинствами которого являются: весьма удобная интеграция с SQLAlchemy моделями, автогенерация crud-эндпоинтов, наличие клиента potion-client (весьма удобного, если пишешь API сервис...

[Перевод] Особенности рендеринга в игре Metro: Exodus c raytracing Предисловие После выхода последней игры из серии «Метро» я потратил несколько часов на изучение её внутренней работы и решил поделиться тем, что может показаться интересным с технологической точки зрения. Я не буду проводить подробный анализ или изучать дизассемблированный ...

Как Apple изменит клавиатуру в будущих MacBook Неудачный механизм «бабочка» в MacBook Pro В 2015 году Apple показала широкой аудитории MacBook 12 с новой клавиатурой «бабочка». Сейчас это кажется удивительным, но на презентации представители компании заявили, что новая конструкция клавиатуры стала в разы надежнее, а ход ...

Как писать хороший и понятный код: 3 простых способа для программиста От переводчика: сегодня публикуем для вас статью разработчика из Индии Рави Шанкара Рахана. Он рассказывает о том, что стоит делать, если вы хотите научиться писать простой и понятный код. Статья рекомендуется всем начинающим программистам. Написать простой код несложно...

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

[Перевод] Подготовка к Spring Professional Certification. Часть 1: «Контейнер, IoC, бины» Доброго времени суток, Хабр. Сегодня я решил представить вам перевод цикла статей для подготовки к Spring Professional Certification. Это перевод только первой статьи, если он зайдет аудитории, я продолжу выпуск переводов.   Зачем я это делаю, ведь уже есть куча профильных...

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

[Перевод] 9 советов по использованию библиотеки Cats в Scala Функциональное программирование в Scala может быть нелегко освоить из-за некоторых синтаксических и семантических особенностей языка. В частности, некоторые средства языка и способы реализации задуманного с помощью основных библиотек кажутся очевидными, когда ты с ними знако...

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

Intel имела возможность не допустить столь успешного реванша AMD Самое первое поколение процессоров Intel Core вышло десять лет назад. Эти CPU имели исполнение LGA 1156 и в максимальной конфигурации располагали четырьмя ядрами. Первые шестиядерные процессоры Intel в обычном настольном сегменте появились лишь с приходом поколения Coff...

Apple исправила патч и закрыла дыру во всех платформах В этом месяце компания Apple выпустила четыре обновления для своей мобильной ОС: iOS 13, iOS 13.1, iOS 12.4.2 и iOS 13.1.1. Три из них устраняют по одной уязвимости. Операционные системы macOS (Mojave, High Sierra, Sierra) и watchOS получили одинаковую заплатку, притом единс...

Что за музыка была «зашита» в популярных ОС: кейс Windows Ситуация: на дворе 2003-й год. Кто-то из вашей семьи разговаривает по телефону, чем занимает линию, к которой подключен модем. В ожидании своей очереди и возможности выйти в интернет вы решаете в очередной раз покопаться в библиотеке бесплатной музыки, которую разработчики п...

[Перевод] Современные возможности C++, о которых надо знать всем программистам Автор материала, перевод которого мы сегодня публикуем, говорит, что C++, в его современном виде, если сравнивать его с тем, чем был этот язык несколько лет назад, значительно изменился в лучшую сторону. Конечно, эти изменения произошли далеко не сразу. Например, в былые вре...

На мобильных вышла ретро-RPG с элементами менеджмента Bouncer Story Bouncer Story — это довольно необычный дебютный проект студии Helmi Games. В нем вам предстоит сыграть за вышибалу. Bouncer Story — это RPG с элементами менеджмента в ретро-стилистике, вдохновленная играми 90-х. Помимо самого игрового процесса Bouncer Story выделяется тем, ...

iOS 13 обходит iOS 10 по скорости работы на старых iPhone Apple оказалась права. iOS 13 действительно разгоняет старые iPhone Несмотря на то что на iOS проблема фрагментации отсутствует в принципе, есть отдельная каста так называемых необновленцев. Это пользователи, которые предпочитают либо устанавливать обновления с очень большой...

[Перевод] Организовываем эффективный рабочий процесс веб-разработчиков: Confluence, Airtable и другие инструменты Я работаю фронтенд-разработчиком около двух лет, участвовал в создании самых разных проектов. Один из выученных мной уроков: взаимодействие между разными группами разработчиков, объединенных одной целью, но имеющих различные задачи и степень ответственности, — дело непрос...

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

[Из песочницы] Fish Redux — новая Redux библиотека для Flutter В конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter. Однако, при разработке крупных приложений, немного больших,...

Лёгкое программирование: канбан-доска для GitLab за один рабочий день Рабочий понедельник начался со следующего диалога: Руководитель (P): У тебя в команде не понятно, кто чем занимается. Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проекто...

Xiaomi решила проблему с доступом к Google Assistant на своих смартфонах Полноэкранные жесты управления были представлены в оболочке MIUI 9 для избранных моделей Xiaomi, а теперь доступны широко для самых разных смартфонов производителя. Заработавшие жесты навигации не оставляли возможности для удобного быстрого доступа голосового помощника ...

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

[Перевод] Angular: состояние дел в 2019 году Сейчас лето — то время года, когда во всём мире проводятся различные конференции и другие мероприятия. Программистов в эту пору буквально заваливает новой информацией, которую обычно бывает довольно непросто усвоить. Вселенная фронтенд-разработки напоминает поезд, который д...

Как не запутаться в нейросетях? Инструменты для работы На что способны алгоритмы машинного обучения, мы уже выяснили, что им не под силу – в общих чертах разобрались. В этой статье журналист Теплицы Юлия Каленкова расскажет об инструментах работы с этими алгоритмами. Для машинного обучения действует очевидное правило: сложнее да...

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

Xcode 11 и XCFrameworks: новый формат упаковки фреймворков В жизни многих компаний, которые имеют и развивают свой стек библиотек и компонентов, наступает момент, когда объёмы этого стека становится сложно поддерживать. В случае разработки под платформу iOS, да и в целом, экосистему Apple, есть два варианта подключать библиотеки в ...

OpenSceneGraph: Обработка событий Введение Одной из особенностей языка C++, за которую его часто критикуют — отсутствие в стандарте механизма обработки событий. Между тем данных механизм это один из основных путей взаимодействия одних программных компонентов с другими программными компонентами и аппаратным ...

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

В РКС создается единое инженерное пространство в «цифре» "На входе у нас техническое задание, - объясняет принцип работы единой информационной средыруководитель отдела технологий цифрового проектирования Владислав Скупский, - а на выходе - электронный макет и описание технологического процесса".А между этими двумя ключев...

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

[Перевод] Добавление Quartz в Spring Boot И снова здравствуйте. Специально для студентов курса «Разработчик на Spring Framework» подготовили перевод интересной статьи. В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful ...

Новую проблему с Xiaomi Mi Band пользователям пока придётся решать самим Android 10 постепенно распространяется по рынку, и недавно стало понятно, что у браслетов Xiaomi Mi Band имеются проблемы при работе с новой версией ОС. Если точнее, с MIUI 11.  В частности, пользователи сообщают о проблемах с уведомлениями и вибрацией. К примеру,...

[Перевод] Реализуем UI в iOS: улучшаем, ускоряем, масштабируем Привет! Меня зовут Азат Зулькарняев, я занимаюсь разработкой iOS-приложений в компании Badoo. При создании мобильных приложений большая часть времени уходит на разработку UI, и оптимизация этого процесса всегда является актуальной темой в среде разработчиков. Мой коллега А...

Apple расширит совместные возможности Mac и Apple Watch в macOS 10.15 Возможность разблокировать Mac, просто поднеся к ним Apple Watch, появилась три года назад и с тех пор приобрела широкую популярность среди пользователей. Часы позволяют не только снимать с компьютера блокировку без необходимости вводить пароль, но и подтверждать онлайн-тра...

CLRium #6: Парный доклад про Lock-Free, много теории и практически-полезных знаний Совсем скоро, 29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. На этот раз — по теме многопоточки и конкурентности. Мы уже писали об этом пару раз на Хабре, но сегодня — День Программиста и есть отличный повод дать вам всем компл...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

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

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

Wireshark 3.x: анализ кода под macOS и обзор ошибок Wireshark Foundation выпустила финальную stable-версию популярного сетевого анализатора трафика — Wireshark 3.0.0. В новом релизе устранено несколько багов, реализована возможность анализа новых протоколов и заменен драйвер WinPcap на Npcap. Здесь заканчивается цитирование ...

Микросервисы на php и swoole для конвертации телеграм каналов в RSS В предыдущем посте я рассказал про то, как настроить и использовать php телеграм клиент madelineProto для парсинга постов. Но при использовании библиотеки я столкнулся с несколькими недостатками: Долгая обработка запросов из-за авторизации телеграм клиента; Неудобная нас...

Как самостоятельно починить беспроводные наушники Samsung Galaxy Buds В момент официального анонса нового флагмана Samsung Galaxy S10 почти все внимание публики было обращено исключительно в сторону смартфона. Однако на мероприятии Unpacked в Сан-Франциско южнокорейская компания представила и другой продукт: беспроводные наушники Galaxy Buds,...

Разработчики WordPress частично решили проблему валидности HTML Команда разработчиков WordPress заявила, что версия 5.3 будет использовать улучшенный код, позволяющий частично решить проблему валидности HTML. В частности, улучшение сосредоточено на том, как кодируются теги скриптов и стилей. До внедрения HTML5 было обязательным использов...

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

[Из песочницы] Open Session In View в Spring Boot: Скрытая угроза Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обновления на Spring Boot 2 при старте приложения можете заметить в логе новое предупреждение: spring.jpa.op...

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

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

[Перевод] Вышел ML.NET 1.0 RC. Что нового? ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. Работая с ML.NET, разработчики могут использовать существующие инструменты и навыки для разработки и внедрения AI в свои приложения, создавая по...

Как ускорить разжатие LZ4 в ClickHouse При выполнении запросов в ClickHouse можно обратить внимание, что в профайлере на одном из первых мест часто видна функция LZ_decompress_fast. Почему так происходит? Этот вопрос стал поводом для целого исследования по выбору лучшего алгоритма разжатия. Здесь я публикую иссле...

Apple хотела превратить iPhone в рацию, но не смогла AirPods — самые лучшие беспроводные наушники В арсенале Apple много разных разработок, часть из которых кажется совсем уж невероятной. Взять хотя бы функцию Find My, позволяющую искать даже разряженные устройства путём установки связи с гаджетами проходящих мимо пользо...

Алексей Добрусин, «Гедокорп»: «В медицине РФ нет понимания выгод, которые даст AI» M-Health Congress (MHC): Здравствуйте, Алексей. Скажите, насколько российские медучреждения готовы к использованию ИИ-решений? Интересует и техническое оснащение, и готовность персонала.Алексей Добрусин (А.Д.): Добрый день. К сожалению, сейчас готовность оставляет желать луч...

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

Наша служба и опасна, и трудна, или Zyxel ATP500 Введение Мы писали, мы писали, наши пальчики устали. Почему мы вдруг решили начать с этого детского двустишия? Всё очень просто. В данной статье мы хотели познакомить читателей с возможностями нашего самого современного решения по обеспечению сетевой безопасности – линейкой ...

Defined or Undefined? Нюансы создания массивов в JavaScript Пару месяцев назад я наткнулся на интересный вопрос на stackoverflow, там, если вкратце, человек хотел создать пустую матрицу 5х5, и, используя один способ у него получилось, а используя другой — нет. В развернувшейся дискуссии на этот счёт были приведены интересные мысли. ...

Еще раз о passport.js Недавно мне передали на поддержку проект на express.js. При изучении кода проекта я обнаружил немного запутанную работу с аутентификацией/авторизацией которая базировалась, как и 99,999% случаев, на библиотеке passport.js. Этот код работал и следуя принципу «работет — не тро...

Как использовать функцию Motion Sense на Google Pixel 4 Google Pixel 4 имеет довольно интересные возможности по использованию Google в этом году действительно оказалась щедра на нововведения. Свеженький Google Pixel 4 буквально набит ими практически под завязку. Но самой, пожалуй, интересной является опция под названием Motion Se...

[Перевод] Взаимодействие между компонентами Angular с использованием RxJS Руководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular. В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отн...

ML на Scala с улыбкой, для тех, кто не боится экспериментов Всем привет! Сегодня будем говорить о реализации машинного обучения на Scala. Начну с объяснения, как мы докатились до такой жизни. Итак, наша команда долгое время использовала все возможности машинного обучения на Python. Это удобно, есть много полезных библиотек для подг...

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

ФБР и Конгресс США признали приложение для состаривания FaceApp опасным Приложение FaceApp сделало Тима Кука снова молодым, но в ФБР считают, что это опасно Помните FaceApp? То самое приложение, которое специальным образом обрабатывало наши фотографии и показывало, как мы будем выглядеть в старости. Несмотря на то что в App Store полным-полно по...

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

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

Как работает датчик наклона Нередко в ходе работы над определенными проектами появляется необходимость осуществлять наклоны объекта, повороты, смещения и вибрацию. Для осуществления данных задач необходимо использовать специальные датчики наклона. На сайте http://wreckage.ru/tilt-sensors-ky-020-and-sw-...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

[Перевод] Жизненный цикл кода на Python – модель выполнения CPython Всем привет! Наступила весна, а это значит, что до запуска курса «Разработчик Python» остается меньше месяца. Именно этому курсу и будет посвящена наша сегодняшняя публикация. Задачи: — Узнать о внутреннем устройстве Python; — Понять принципы построения абстрактного син...

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

Реализация сопоставления с образцом в Java Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться. Сопоставление с образцом раскрывают перед разработчиком возможность п...

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

Открываем API для приема p2p-переводов Привет! Мы тут в QIWI открыли API приема переводов. Новый сервис должен решить сразу несколько проблем для тех, кто часто посылает (а особенно — получает) деньги именно посредством p2p-перевода. Во-первых, мы открыли возможности, ранее доступные только для бизнеса, и постар...

[Перевод] Что такое качественная idle-анимация? Разработчики делятся своими любимыми примерами Создание связи игрока с персонажем, раскрытие подробностей его личности, чтобы он был для игрока уникальным — сложная задача, и как решить её всего несколькими простыми движениями? Анимации ожидания (Idle animations), эти небольшие всплески движения, когда игрок ненадолго ...

В новый Firefox добавлена блокировка криптомайнеров Разработчики Mozilla выпустили новую версию браузера Firefox для Windows, macOS, Linux и Android. В релизе 67.0 обозревателя исправлена 21 уязвимость, а также добавлена функция блокировки встроенных криптомайнеров и скриптов, скрытно отслеживающих пользователя по цифровым от...

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

Как Google изменит многозадачность в Android Q Многозадачность на Android прошла долгий путь. За время существования «зеленого робота» разработчики несколько раз меняли систему многозадачности, пока не привели к тому виду, в котором мы ее знаем сейчас. Однако было бы наивно считать, что на этом работа по ее оп...

Представлен PoC атаки на страничный кэш в Windows и Linux Операционные системы Windows и Linux уязвимы для атаки, которая позволяет злоумышленникам перехватывать работу с клавиатурой, нарушать границы песочницы и похищать пароли. К такому выводу пришла команда исследователей, состоящая из ученых, представителей вендоров и специалис...

Какая оболочка для Android-смартфонов самая быстрая EMUI 10 — самая быстрая оболочка для Android. Интересно, почему? Одной из основных характеристик, на которую пользователи Android всегда обращали внимание при выборе нового смартфона, была скорость его работы. Видимо, так в них отзывалась память о временах, когда аппар...

В Drupal залатали баг удаленного выполнения кода Разработчики Drupal сообщили об опасной уязвимости ядра, затрагивающей 7-ю и 8-ю версии CMS. Брешь дает возможность злоумышленнику удаленно выполнить любой PHP-код и перехватить управление сайтом. Создатели CMS оценили баг как в высшей степени критичный и призвали веб-админи...

Photoshop для iPad выйдет в 2020 году без многих важных функций Многие ждали Фотошоп для iPad после релиза iOS 13 Компания Adobe Systems Inc., разработчик популярных программ для работы с графикой, обещала выпустить полноценную версию Photoshop для iPad в 2019 году. Приложение анонсировали осенью 2018 года, и с тех пор многие ждали его п...

PVS-Studio для Visual Studio Многие наши статьи посвящаются чему угодно, но только не самому инструменту PVS-Studio. А ведь мы очень много делаем, чтобы разработчикам было удобно пользоваться нашим инструментом. Но как раз это часто оказывается за кадром. Решил исправить эту ситуацию и рассказать об пл...

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

Видео дня: ранняя сборка Android 10.0 Q С началом 2019 года многие производители продолжают обновлять свои смартфоны до Android 9.0 Pie, а ресурс XDA Developers уже заполучил в свое распоряжение раннюю бета-версию Android 10.0 Q. Пока что неизвестно, какое слово будет скрываться под словом Q, однако мы знаем...

1. Анализ зловредов с помощью форензики Check Point. SandBlast Network Добро пожаловать на новый цикл статей, на этот раз по теме расследования инцидентов, а именно — анализу зловредов с помощью форензики Check Point. Ранее мы публиковали несколько видео уроков по работе в Smart Event, но на этот раз мы рассмотрим отчеты форензики по конкретн...

В Android 10 сломалась функция, о которой вы могли даже не знать Сканер отпечатков может не только снимать блокировку За те полгода, что Google тестировала Android 10, мы узнали об обновлении почти все. Многие функции, которые компания реализовала в новой версии ОС, пришлись пользователям по вкусу. Чего только стоит функция запрета отслеж...

4 прогноза по Windows 10 на 2019 год 2018 год закончился и пора поговорить о том, что ждёт платформу Windows в следующие 12 месяцев. 2018 был безумным годом, и не слишком удачным для системы Windows. Наступает следующий год, в который многие по традиции смотрят с оптимизмом. Если воспользоваться логикой и проан...

Моддеры вернулись к созданию фанатского ремейка Fallout 3 на базе Fallout 4 В прошлом году прекратилась разработка модификации Fallout 4 под названием Capital Wasteland из-за потенциальных проблем с авторскими правами. Мод представляет собой ремейк Fallout 3, но его создатели не могли использовать озвученные реплики оригинальной игры. Тепер...

Что Apple показала на презентации 2 декабря в Нью-Йорке Нью-Йоркское мероприятие, которое Apple провела сегодня ночью, было самым скучным за последнее десятилетие Apple не из тех, кто раздувает из мухи слона. Это видно по тому, как стремительно компания сокращает число презентаций, которые проводятся в течение года. Вместо того, ...

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

Google Photos: находит фотографии по тексту, размещенному ... Буквально на этой неделе сервис Google Photos опубликовал в своем Twitter-е объявление, что начиная с августа месяца пользователи смогут искать (и находить) фотографии по тексту, который находится на самом снимке. Например, если у вас есть фотография с изображением дорожного...

[Перевод] Монорепозитории: пожалуйста не надо От переводчика: Привет, Хабр! Да, это очередная статья о преимуществах и недостатках монорепозиториев. Собирался написать свою статью о том, как мы используем монорепозиторий, как мы переходили с maven на bazel и что из этого получилось. Но пока собирался с мыслями, вышла от...

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

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

Google рассказала, чем так ценна ночная тема на Android Ночная тема появилась в Android только потому, что Google сама убедилась в ее необходимости. Об этом в кулуарах конференции Google I/O 2019 рассказал Самир Самат, вице-президент по продукту Google Play. По его словам, возможность перевести интерфейс смартфона в темные цвета...

BlueStacks Inside — мобильные игры в Steam и других магазинах, скоро Игровая платформа BlueStacks, которая с 2009 года дает игрокам возможность запускать Android-приложения на ПК под управлением Windows и macOS, анонсировала запуск BlueStacks Inside – SDK, с помощью которого разработчики смогут размещать свои проекты в Steam и Discord. Тепер...

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

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

Универсальный держатель для видео- и фотосъемки Периодически возникает необходимость что-либо зафиксировать на видео. И сделать это очень сложно в том случае, если в кадре нужно производить манипуляции двумя руками. Да, можно попросить кого-нибудь помочь, но не всегда для этого есть возможность. При этом съемка «с рук» ли...

Мобильная разработка hh.ru и где она обитает В далеком 2000 году, когда hh.ru был совсем маленьким и ласково назывался “National Job Club”, а доступ к интернету получили всего 3% россиян, у нас, разумеется, не было никакой мобильной разработки. Тогда и смартфоны, в нынешнем их виде, были лишь далекой мечтой. Шли годы, ...

Что нового в обновлении Windows 10 19H1 Microsoft находится на пороге релиза Windows 10 19H1 версии 1903. Ранее предполагалось, что компания выпустит это новое обновление в апреле 2019 года, но обновление было отложено до конца мая.В отличие от обновлений Windows 10 Creators Update и Anniversary Update, в этом обн...

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

[Перевод] Разработка веб-серверов на Golang — от простого к сложному Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения. Эта ...

[Перевод] Полное руководство по switch-выражениям в Java 12 Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением: boolean result = switch(ternaryBool) { ...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

Несколько простых, но полезных советов по работе с геттерами в Vuex Vuex предоставляет удобные инструменты для работы с данными, но некоторые разработчики используют их не всегда по назначению, либо создают избыточные конструкции там, где можно было написать более понятно и ёмко, такое также случается, когда разработчик только знакомится с д...

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

[Из песочницы] Три неочевидных примера использования шаблонизаторов в backend-е С одной стороны, предмет действительно был квадратным. C другой стороны он был круглым. Но с третьей стороны, с которой должен быть треугольник, предмет вышел кривой и косой. — Алешенька идет на совещанку? — в дверь просунулась Леночкина заинтересованная физиономия. — Алеш...

Немного про Google Home Hub, или как я купил фоторамку за 130 Евро Привер Хабр. Концепция «умного дома» и его использования с отдельного экрана давно казалась мне интересной. Одно время я было начал проект с OpenHAB и Raspberry Pi — весьма продвинутая штука, но необходимость настраивать кучу конфигов быстро надоела. И случайно увидев в про...

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

Какие функции iOS 13 Apple отложила до выхода iOS 13.1 Что нового в iOS 13.1 До выхода iOS 13 остаётся всего два дня. Несмотря на то что некоторые нововведения доступны в Golden Master-версии обновления, испытать их все в день релиза обновления будет нельзя. Как оказалось, часть новых функций iOS, представленных на WWDC’2019 эти...

Как диагностировать проблемы интеграции SDK. Опыт команды разработки Yandex Mobile Ads SDK Всем привет! Меня зовут Дмитрий Фисько, я разрабатываю Yandex Mobile Ads SDK. Наша библиотека предназначена для монетизации мобильных приложений на платформе Android и iOS. Сегодня я хочу рассказать вам о том, как мы упростили разбор сложных ошибок интеграции SDK в Android-п...

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

Смартфон Xiaomi Pocophone F1 получил долгожданное обновление Доступный флагманский смартфон Xiaomi Pocophone F1 всем хорош, но у него есть один небольшой минус. В смартфоне не предусмотрена возможность потокового воспроизведения HD-контента из Netflix, Amazon Prime Video и Hulu. А все из-за того, что аппарат не поддерживает защиту Wid...

Анимации в оболочке MIUI 11 станут... медленнее Из имеющихся утечек, слухов и официальных заявлений мы знаем, что оболочка MIUI 11 будет достаточно сильно отличаться от текущей версии. Нам обещают обновлённый дизайн и интерфейс, новые функции и прочее. Теперь же стало известно о ещё одном важном отличии. Начиная с MI...

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

[Из песочницы] Лучшие практики React и советы, которые каждый разработчик должен знать. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «React Best Practices & Tips Every React Developer Should Know Pt.1» автора Alex Devero. React — одна из самых популярных библиотек для построения интерактивных пользовательских интерфейсов. В этой статье я пока...

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

Уязвимый Twitter API ставит под удар тысячи iOS-приложений Устаревший API-интерфейс, который многие iOS-приложения до сих пор используют для авторизации через Twitter, содержит уязвимость, позволяющую из положения «человек посередине» получить токен доступа OAuth и выполнять различные действия в соцсети от имени жертвы. По...

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

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

Не нравится Android 10? Инструкция, как откатиться на Android 9 Pie В большинстве случаев рекомендуется использовать последнюю версию Android (или любой другой операционной системы вне зависимости от устройства). Однако мы живем в то время, когда только единицы выпускают новое ПО без багов или ошибок. В таком случае лучше вернуться к предыду...

Uibook — инструмент для визуального тестирования React-компонентов с медиа-запросами Всем привет! Меня зовут Виталий Ризо, я фронтенд-разработчик в «Амплифере». Мы сделали Uibook — простой инструмент для визуального тестирования React-компонентов с реальными медиа-запросами. Расскажу, как он работает и чем может быть полезен вам. Читать дальше →

Логи не нужны? Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах? Одна...

Apple никогда не вернёт HDMI и слот для SD-карт в свои ноутбуки Пользователи хотят, чтобы Apple вернула старые разъёмы в новые MacBook, но этого не случится Apple не боится принимать непопулярные решения, если считает, что так будет лучше. Чаще всего компании неважно, что подумают или скажут пользователи, которые, как показывает практика...

Книга «Data mining. Извлечение информации из Facebook, Twitter, LinkedIn, Instagram, GitHub» Привет, Хаброжители! В недрах популярных социальных сетей — Twitter, Facebook, LinkedIn и Instagram — скрыты богатейшие залежи информации. Из этой книги исследователи, аналитики и разработчики узнают, как извлекать эти уникальные данные, используя код на Python, Jupyter Not...

Мой опыт подключения LPS331AP к Omega Onion2 Доброго времени суток, хабровчане! Небольшое предисловие Намедни я стал счастливым владельцем одного из самых маленьких одноплатников, работающим на LEDE, и первое, что захотелось сделать (после моргания светодиодом) — домашняя метеостанция, к которой можно получить доступ ...

12-ядерный процессор Ryzen 9 3900X теперь можно взять в аренду Компания Zed-Up, ранее предлагавшая услуги аренды видеокарт, решила добавить в свой ассортимент ещё и процессоры. 12-ядерный Ryzen 9 3900X, который до сих пор можно купить не везде, да и зачастую по изрядно завышенной цене, можно взять в аренду на срок от двух недель до...

Анонс Windows 10 Insider Preview Build 18945 (Fast и Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 18945 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Напоминаем, что разработка этого функционального обновления находится на ранней...

В Apple Arcade добавили 5 новых игр: INMOST, Stela, ShockRods, Mind Symphony и Decoherence В Apple Arcade очередное пополнение. Если абстрагироваться от качества игр, то сам факт того, что компания держит слово и постоянно пополняет библиотеку не может не радовать. В этот раз, например, она добавила 5 новых проектов: Decoherence — это стратегия, в которой вам нуж...

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

Вейвлет-анализ.Часть 3 Введение При проведении CWT анализа средствами библиотеки PyWavelets (бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT) возникают проблемы с визуализацией результата. Предложенная разработчиками тестовая программа по визуализации прив...

Использование REST в ENM Ericsson на Python Здравствуйте. Не так давно Ericsson выпустил новую систему управления Ericsson Network Manager (ENM), которая уже успела появится у некоторых операторов сотовой связи. Было бы интересно разобрать некоторые вопросы по работе с ней и, в этой статье, коснёмся вопроса работы с н...

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

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

[Из песочницы] Обзор нового javascript фреймворка Htmlix В данной статье постараюсь описать все основные возможности нового javascript фреймворка Htmlix, а также рассмотреть принцип его работы на примере создания небольшого приложения. Данное приложение — это страница простого фильтра товаров по категориям, с различными частями ш...

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

Аудиотехнология: как кусочки пластика перемещают с помощью ультразвука и зачем это нужно Технология акустического пинцета известна с 1986 года. Она основана на явлении акустической левитации и использует ультразвуковые волны, чтобы поднимать в воздух объекты величиной в несколько миллиметров. До недавнего времени ученые могли манипулировать лишь одним пластиковы...

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

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

Проверка исходного кода библиотек .NET Core статическим анализатором PVS-Studio Библиотеки .NET Core — один из самых популярных C# проектов на GitHub. Неудивительно, с учётом его широкой известности и используемости. Тем интереснее попробовать выяснить, какие тёмные уголки можно найти в исходном коде этих библиотек, что мы и попробуем сделать с помощью...

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения Продолжаем нашу серию материалов, посвященных открытым инструментам для разработчиков. Сегодня рассказываем о фреймворках и библиотеках для МО — Transformers, Accord.NET и MLflow. Читать дальше →

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

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

[Из песочницы] Скелетная анимация на стороне видеокарты Не так давно Unity представила ECS. В процессе изучения мне стала интерестно, а каким образом можно подружить анимацию и ECS. И в процессе поиска я наткнулся на интересную технику, которую применяли ребята из NORDVEUS в своем демо для доклада Unite Austin 2017. Unite Austin...

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

Асинхронные пользовательские сценарии на чистом Rust без фреймворков и SMS Привет, Хабр! Иногда при разработке сетевых сервисов и пользовательских интерфейсов приходится сталкиваться с достаточно сложными сценариями взаимодействия, содержащими ветвления и циклы. Такие сценарии не укладываются в простую стейт-машину — недостаточно хранить все данны...

Внезапно. «Звёздный» чехол LED Cover для смартфонов Samsung Galaxy S10 отключает NFC Компания Samsung приготовила для своих флагманских смартфонов Galaxy S10 новую линейку аксессуаров, включая «звёздный» чехол LED Cover.  Этот чехол имеет три режима работы, включая «эмоциональный» режим (mood lighting), когда весь чехол пер...

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

Официально: League of Legends выйдет на iOS в следующем году Когда выйдет League of Legends для iOS Популярная игра League of Legends выйдет на iOS и Android в 2020 году, подтвердили сегодня представители компании-разработчика Riot Games. Впервые слухи об этом появились еще в мае, но теперь создатели игры официально сообщили, что Leag...

Анализ производительности запросов в ClickHouse. Доклад Яндекса Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что ...

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

Samsung отложила выпуск Android 10 для своих смартфонов Android 10 для Galaxy S10 выйдет только в следующем году Обновления Android – это одна из немногих вещей, которые не имеют срока годности. Среди производителей смартфонов на базе этой операционки считается нормальным выпустить свежий апдейт через месяц, через квартал и даже ...

Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что ...

[Из песочницы] Редактор блок схем — о дружбе Vue.js и MxGraph С чего все началось? Я фронтенд разработчик, но стремлюсь к развитию, решил написать fullstack приложение и стать миллионером получить бесценный опыт. Так вот, начал планировать бэкенд, выбрал MongoDB для хранения данных, и был готов планировать структуру и связи полей. Н...

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

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

Это Threads — новый мессенджер от Instagram Instagram — главная социальная сеть в 2к19 Мало кто знает, что большая часть функций Instagram, как, по сути, и он сам, были слизаны с другой популярной социальной сети. Ваши любимые сторис, виртуальные маски и даже возможность переписываться в директе – всё это первон...

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

Apple рассказала, зачем нужны Apple Maps и сколько они стоили Apple вложила в Apple Maps миллиарды долларов и всё ещё продолжает вкладывать Каждый новый продукт Apple – это сотни и тысячи часов исследований, разработки и проектирования. Само собой, за всё приходится платить, и чем сложнее проект, тем дороже он стоит на выходе. При этом...

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

Браузер Edge от Microsoft на базе Chrome теперь доступен в macOS Справедливо сказать, что старый браузер Microsoft «Edge» не был самым популярным программным обеспечением в мире. Хотя это была вполне приличная альтернатива браузеру сама по себе из-за нескольких уникальных функций, она не смогла повлиять на пользовательские базы, которые F...

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

ActionDash обновилась до версии 4.0 и теперь включает фокусный режим по расписанию ActionDash — приложение от авторов лаунчера Action Launcher, призванное заменить Digital Wellbeing. Последнее компания Google анонсировала еще несколько лет назад, но темпы его распространения оставляют желать лучшего. ActionDash в свою очередь включает даже больше возможнос...

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

Что из себя представляет Project Catalyst На WWDC 2019 Apple анонсировала Project Catalyst — амбициозный кроссплатформенный проект, который призван увеличить количество новых программ и игр на платформе macOS. Для этого будет использоваться огромная экосистема приложений iOS (пока что только версии для iPad)....

[Из песочницы] Telegram-bot + Google Analytics Приветствую хабравчане. Хочу рассказать о том, как мы прикручивали Google Analytics к телеграмм-боту, с какими столкнулись проблемами, и что в итоге пока не получилось настроить. По старинке Google Analytics устанавливается на сайт с доменом или в приложение с SDK. Погуглив...

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

Google придумала, как облегчить переход с Android на свою новую ОС Операционная система Fuchsia, которой прочат статус преемницы Android, будет по умолчанию поддерживать приложения из Google Play, выяснил 9To5Google. Несмотря на то что пока неизвестны даже примерные сроки выхода Fuchsia на рынок, совершенно очевидно, что Google уже давно р...

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

[Перевод] Заменяют ли Redux хуки React? С тех пор, как в React появились хуки, возникает много вопросов о том, способны ли они заменить Redux. Я полагаю, что хуки и Redux имеют мало общего между собой. Хуки не дают нам неких новых удивительных возможностей по работе с состоянием. Они, вместо этого, расширяют API,...

[Из песочницы] Как работает конфигурация в .NET Core Давайте отложим разговоры о DDD и рефлексии на время. Предлагаю поговорить о простом, об организации настроек приложения. После того как мы с коллегами решили перейти на .NET Core, возник вопрос, как организовать файлы конфигурации, как выполнять трансформации и пр. в новой ...

Google решила сделать Android внешне похожей на iOS Одна из основных претензий к Android со стороны пользователей состоит во внешней несогласованности интерфейса ОС. Речь, конечно, идет о разношерстности иконок игр и приложений, загружаемых из Google Play. Из-за отсутствия четко сформулированных правил разработчики под Andro...

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

Работа с Worker “как хочется“, а не “как можно” В этой статье будет использоваться ГРЯЗНЫЙ, небезопасный, "костыльный", страшный и т. д. метод eval. Слабонервным не читать! Сразу скажу, что некоторые проблемы удобства использования решить не удалось: в коде, который будет передан в worker, нельзя использовать замыкание. ...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

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

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

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

[Перевод] Создаём собственный игровой контроллер Источник вдохновения На игровых выставках разработчики Objects in Space показывали демо своей игры с контроллером на кокпите огромного космического корабля. Он был дополнен загорающимися кнопками, аналоговыми приборами, световыми индикаторами состояния, переключателями и т.д...

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

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

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

[Из песочницы] Parse & Android: рекомендации начинающим разработчикам Аннотация В данной статье я бы хотел поделиться общими впечатлениями от использования BaaS – решения под названием Parse для разработки бэкэнда Android-приложения, рассказать о всех «подводных камнях», с которыми мне пришлось столкнуться в период разработки. Впервые эту плат...

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

В Android Q стало намного проще делиться постами из Twitter и фото из Instagram Если вы когда-нибудь пытались отправить человеку или нескольким людям пост из Instagram, видео из YouTube, изображение из галереи смартфона или пост из Twitter, то должны прекрасно понимать, что я имею ввиду, когда говорю, что придумать что-то менее логичное, чем меню шерин...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

Microsoft рассказала о своём видении современной операционной системы (Windows Core OS) В рамках ежегодной выставки Computex 2019, проходящей в эти дни в Тайбэе, было представлено довольно много новых устройство под управлением Windows 10. По традиции, в своём блоге Microsoft опубликовала пост с рассказом об устройствах, которые представили партнёры. Но, что б...

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

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

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

Мнение: Почему Apple следует вернуть скевоморфизм в iOS 13 В 2013 году Apple кардинально изменила внешний вид своей мобильной операционной системы, сделав большую ставку на минимализм. До ключевого момента перехода на новый стиль, компания использовала скевоморфизм — принцип, который подразумевает имитацию реальных объектов. ...

[Перевод] Обзор Python-пакета Datatable «Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 года, но столько же сейчас создаётся каждые два дня». Эрик Шмидт Datatable — это Python-библиотека для выполнения эффективной многопоточной обработки данных. Datatable поддерживает наб...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 25. Углубленное изучение IPv6 Сегодня мы продолжим изучение протокола IPv6. Этот урок довольно длительный, поэтому не будем терять время и приступим к изучению 3-х тем: автоконфигурация IPv6, настройка и проблемы IPv6 и основы маршрутизации IPv6. Последнюю тему мы посвятим статической маршрутизации и роу...

Путин не хочет передавать операторам частоты для запуска 5G в России Владимир Путин поддержал позицию Совета безопасности по непредоставлению частот Минобороны сотовым операторам для развития сетей 5G в России. По мнению Совбеза, диапазон частот 3,4–3,8 ГГц не может быть использован одновременно мобильными операторами и государственными ведо...

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

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

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

[Перевод] Настройка PHP-FPM: используем pm static для максимальной производительности Я в двух словах расскажу, как лучше всего настроить PHP-FPM, чтобы увеличить пропускную способность, снизить задержку и более стабильно использовать процессорные ресурсы и память. По умолчанию строка PM (process manager, менеджер процессов) в PHP-FPM имеет значение dynamic,...

Samsung откладывает запуск Galaxy Fold по всему миру [обновлено] Сетевые источники сообщают о том, что запуск флагманского смартфона Galaxy Fold, стоимость которого составляет $2000, откладывается по всему миру. Ранее стало известно о том, что компания Samsung решила отложить мероприятие, посвящённое старту продаж Galaxy Fold в Китае. Это...

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

[Перевод] Обработка ошибок в Go Привет, хабровчане! Уже сегодня в ОТУС стартует курс «Разработчик Golang» и мы считаем это отличным поводом, чтобы поделиться еще одной полезной публикацией по теме. Сегодня поговорим о подходе Go к ошибкам. Начнем! Освоение прагматической обработки ошибок в вашем Go-коде...

Дизайн интерфейсов встраиваемых систем Осциллографы Встраиваемые и промышленные системы — моя любимая тема в разработке дизайна. Когда делаешь интерфейс ПО какого-нибудь лазера или яхты — это чистый кайф и творчество. На прошлой неделе я посетил выставки expoelectronica и embeddedday именно как UI разработчик. Ц...

Расчет нулевой гипотезы, на примере анализа зарплат украинских программистов Решил поделиться, да бы и самому не забывать, как можно использовать простые статистические инструменты для анализа данных. В качестве примера использовался анонимный опрос относительно зарплат, стажа и позиций украинских программистов за 2014 и 2019 год. (1) Этапы анализа...

Принципы построения REST JSON API Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно. Зачем Надеюсь, читающий уже понимает, зачем ему во...

Twitter выпустил приложение для Mac, портировав его с iPad Приложение уже можно скачать в Mac App Store Этим летом Apple анонсировала Project Catalyst — амбициозный кроссплатформенный проект, который призван увеличить количество новых программ и игр на платформе macOS. Для этого будет использоваться огромная экосистема приложе...

Фил Шиллер рассказал, почему Apple никогда не выпустит сенсорный Mac У Apple нет в планах сенсорного Mac, и это логично Потребитель сам не знает, что ему нужно, пока ему этого не дать. Такой позиции придерживался Стив Джобс, и, надо сказать, она работала. Однако после его ухода с поста генерального директора Apple политика компании начала пос...

Обзор Apsulov: End of Gods. Шикарно Сегодня мы поговорим о достаточно интересной игре, которая выстроена в жанре хоррора, но при этом обладает весьма интересным сюжетом и нескучными головоломками. Если вы уже устали от ААА-проектов, которые созданы по одному шаблону, то самое время нажать на кнопку загрузки — ...

Не зря потраченные полмиллиона: Чего ждать от Ford Mondeo IV с пробегом 200 000 км – владелец Купленный год назад подержанный «Мондео» приносит радость, однако автомобилист рассказал, каких неприятностей ждать машины, после устранения которых она «не высасывает деньги». Владелец Ford Mondeo IV на YouTube-канале «Будни начинающего автосервиса» рассказал, чего ждать о...

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

Почему Huawei выпустит складной Mate X в России с опозданием Продажи складного Huawei Mate X в России начнутся позднее, чем во всем остальном мире. Эту информацию в четверг, 27 июня, подтвердил представитель отечественного офиса Huawei. Таким образом, аппарат, релиз которого был перенесен с июня на октябрь, появится в российской розн...

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

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

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

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

ok.tech: frontend meetup 4 июня в петербургском офисе Одноклассников пройдет ok.tech: frontend meetup. Вместе с коллегами из OK.ru, Яндекса и mail.ru поговорим про тестирование на основе свойств, эволюцию подходов работы с текстами, познакомимся с новой библиотекой от создателя Emmet Сергея Чикуён...

Apple рассматривала модемные чипы 5G от Samsung, MediaTek и Intel для iPhone 2019 года Qualcomm, Apple и другие поставщики предстанут перед судом на этой неделе, поскольку Qualcomm вступает в схватку с FTC из-за антимонопольного иска, в котором компания обвиняется в использовании антиконкурентной тактики, чтобы оставаться основным поставщиком процессоров для м...

[Из песочницы] Процессоры и маркетинг в компьютерных технологиях Проблема закона Мура. Закат эры микропроцессоров когда нет альтернатив. Журнал Electronics в 1965 году опубликовал широко известную сейчас статью об объединении компонентов интегральных систем, автором которой был Гордон Мур, в будущем основавший корпорацию Intel. В свое вр...

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

[Из песочницы] С чего начать при подборе персонала впервые Я тимлид в небольшой команде разработчиков. Зимой 2018 года один из наших сильных разработчиков ушел в декрет. И я столкнулась с проблемой подбора персонала. Ранее опыта в проведении собеседований и поиске подходящего кандидата у меня не было. Все знания, которые меня были н...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

.NET Core на Linux, DevOps на коне Мы развивали DevOps как могли. Нас было 8 человек, и Вася был самым крутым по Windows. Внезапно Вася ушел, а у меня появилась задача вывести новый проект, который поставляет Windows-разработка. Когда я высыпал на стол весь стек Windows-разработки, то понял, что ситуация — бо...

Apple выпустила iOS 13.1 beta 4 для разработчиков iOS 13.1 выйдет меньше чем через 2 недели после iOS 13 Завершив испытания iOS 13, которая выйдет уже завтра, Apple сосредоточилась на тестировании iOS 13.1, выпустив четвёртую бета-сборку следующего обновления. Установить её на данный момент могут только владельцы совместимы...

Ria — мрачная action RPG для iOS и Android, явно вдохновленная Dark Souls Студия CreateLex представила на мобильных action RPG под названием Ria. Это приключение в открытом мире, в первую очередь вдохновленное серией Dark Souls. По сюжету вы играете за сына бога, которого тот отправляет для спасения всего человечества. Вашей основной задачей будет...

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

Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS История встречи статического анализатора PVS-Studio с кодом операционной системы Haiku уходит в далёкий 2015-й год. Это был интереснейший эксперимент и полезный опыт для команд обоих проектов. Почему эксперимент? Анализатора для Linux тогда не было и не будет ещё полтора год...

Вчера Samsung заново представила Galaxy Fold, а сегодня отменила все ранние предзаказы на этот смартфон в США Вчера компания Samsung наконец-то передпредставила гибкий смартфон Galaxy Fold и объявила дату начала продаж — 6 сентября, то есть сегодня. Как оказалось, перезапуск важного для Samsung устройства сопровождался весьма странным поступком компании. Дело в том, что S...

Более чем в 50% CMS обнаружились проблемы с защитой паролей Исследователи из университета Пирея (University of Piraeus) в Греции сообщили, что более половины систем управления контентом используют устаревшие функции шифрования для защиты пользовательских паролей. Среди уязвимых CMS эксперты назвали WordPress, miniBB, SugarCRM и други...

Xiaomi отказалась от обновления своих смартфонов в России? Кажется, да Вчера у нас на сайте вышел материал о нерегулярных обновлениях смартфонов Meizu, предназначенных для международного рынка. По словам владельцев флагманского Meizu 16th, за целый год производитель удосужился выпустить для него только один патч безопасности. Но, как оказалось...

Не работает поиск на Mac: как перестроить индекс Spotlight на macOS Spotlight на macOS является системным приложением для поиска других программ, документов, контактов, закладок, электронных писем, элементов сторонних приложений и многого другого из одного центрального места на вашем Mac. Для оптимальной своей работы Spotlight использует инд...

Эффективное управление подключениями SignalR Здравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и х...

Искусственная гравитация перестаёт быть фантастикой Искусственная гравитация давно была описана в фантастических романах и показана в фильмах вроде «Космической одиссеи 2001 года». Теоретически возможность создания искусственной гравитации не отрицается. Однако до проектов, которые можно было бы протестировать в условиях ко...

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

[Перевод] Быстрое введение в Svelte с точки зрения разработчика на Angular Svelte — сравнительно новый UI фреймворк, разработанный Ричем Харрисом, который также является автором сборщика Rollup. Скорее всего Svelte покажется совершенно не похожим на то, с чем вы имели дело до этого, но, пожалуй, это даже хорошо. Две самые впечатляющие особенности э...

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

Мы включили TLS 1.3. Почему вам стоит сделать то же самое В начале года, в отчете о проблемах и доступности интернета за 2018-2019 мы уже писали, что распространение TLS 1.3 неизбежно. Некоторое время назад мы сами развернули версию 1.3 протокола Transport Layer Security и, после сбора и анализа данных, наконец, готовы рассказать...

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

Apple рассказала, зачем нужна iPadOS Необходимость выделения из iOS планшетной операционной системы iPadOS возникла далеко не вчера. В этом Крейг Федериги, вице-президент Apple по разработке программного обеспечения, признался в интервью CNET. По его словам, iPad по уровню своих возможностей уже давно вышли из...

[Перевод] Эдвард Сноуден рассказывает, почему он стал информатором Отрывок из книги «Постоянная запись»; как молодой человек, работавший системным администратором, обнаружил посягательства на свободу и решил предать гласности обширную американскую систему слежки за гражданами Когда мне было 22, я устроился на работу в американскую развед...

Использование DiagnosticSource в .NET Core: практика В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется...

Структуры против Классов С самого начала, когда я начинал заниматься программированием, вставал вопрос, что использовать для улучшения быстродействия: структуру или класс; какие массивы лучше использовать и как. По поводу структур, Apple приветствует их использование, объясняя это тем, что они лучше...

Как мы делали платежную систему для криптовалюты: пять основных проблем Привет, Хабр! На связи компания B2Broker, провайдер ликвидности и технологических решений для брокерской и биржевой индустрии. Один из наших продуктов — трейдинговая платформа B2BX.exchange. Когда летом 2017 года мы запускали платформу, то задумались о том, как принимать кри...

Самая большая проблема DevOps – это название Статья в Википедии, посвящённая DevOps, начинается с заявления о том, что DevOps – это слияние слов «разработка» и «эксплуатация». Таким образом, это методология, которая объединяет разработку программного обеспечения (Dev) с эксплуатацией ИТ (Ops). Оно, конечно, верно, есл...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

[Из песочницы] Бизнес-логика в базе данных при помощи SchemaKeeper Цель данной статьи — на примере библиотеки schema-keeper показать инструменты, которые позволяют существенно облегчить процесс разработки баз данных в рамках PHP-проектов, использующих СУБД PostgreSQL. Информация из этой статьи, в первую очередь, будет полезна разработ...

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

Тёмный режим — новый тренд? Тёмный тема – вещь довольно полезная, она станет трендовой в 2019 году. Хотя даже сейчас прослеживается стремление компаний внедрять её в свои сервисы. Конечно, пока проблема заключается в разработчиках сайтов, которые используют лишь один светлый шаблон, однако в будущем, ...

Так все-таки RAML или OAS (Swagger)? В динамичном мире микросервисов измениться может все что угодно — любой компонент можно переписать на другом языке, используя иные фреймворки и архитектуру. Неизменными должны оставаться лишь контракты, для того, чтобы с микросервисом можно было взаимодействовать извне на не...

IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio? Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для ...

Google отложила релиз одного из нововведений Android Q Одним из нововведений Android Q должна была стать функция Scoped Storage. Она создавала индивидуальное пространство на диске для каждого приложения в отдельности, позволяя им использовать доступную память, не посягая на отделы, которые принадлежат другому ПО. Таким образом ...

Новый корпус Nitecore D4 + паяльный стол для SMD Получаю я значит сегодня письмо от 3DToday о том, что давно не писал ничего на сайте. Ну раз надо - написать что то, то не вопрос! Правда за это время мало чего интересного было мной сделано. Вот думаю - писать отдельно о каждой мелочи - жалко Ваше время. А вот совместить дв...

Huawei анонсировала оболочку EMUI 10 В ходе ежегодного мероприятия Huawei Developers Conference, на которой компания делится с разработчиками новостями об аппаратных и программных решениях, Huawei официально анонсировала оболочку EMUI 10. На момент выхода EMUI 8 пользовательская база составляла 90 млн чел...

[Из песочницы] Знакомимся с микросервисным фреймворком Moleculer Привет, %habrauser%! Сегодня я хочу рассказать тебе об одном отличном, на мой взгляд, микросервисном фреймворке Moleculer. Изначально этот фреймворк был написан на Node.js, но в последствии у него появились порты и на других языках таких как Java, Go, Python и .NET и, ск...

Google выпустила AR-режим в Google Maps для всех Несмотря на то что смартфоны Google Pixel не пользуются особой популярностью, именно им Google посвящает большую часть своих программных наработок. Google Camera, Night Sight и даже AR-режим в Google Maps – все это было доступно только на «пиксельных» аппаратах, пока разраб...

Проект Windows 10 на ARM для Windows-смартфонов получил новое обновление Работа, проделанная Microsoft по оптимизации Windows 10 для архитектуры ARM, дает новую жизнь телефонам на Windows. В прошлом году разработчики нашли способы заставить Windows 10 на ARM работать на флагманских телефонах Lumia, а также было опубликовано приложение для автомат...

[По докам] Flutter. Часть 1. Для Android разработчиков Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучени...

Google хочет добавить в Android раздел для хранения документов С появлением Google Pay у пользователей отпала необходимость носить с собой наличные средства, а также банковские и дисконтные карты. Но для полного удобства этого было явно недостаточно. Поэтому, как выяснил XDA, Google решила внедрить в Android защищенный раздел для хране...

ок.tech: Frontend Meetup #2 26 ноября в петербургском офисе Одноклассников пройдёт ок.tech: Frontend Meetup #2. Вместе с коллегами из Одноклассников, ВКонтакте и Hazelcast поговорим про новый фронтенд OK.RU, сделанный на связке React + Graal, обсудим может ли “Lifting State Up” – один из двенадцати ...

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

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

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

[Из песочницы] Поймут даже дети: простое объяснение async/await и промисов в JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi. Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисам...

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

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

Xiaomi вскоре научит MIUI использовать Face Unlock для получения доступа к запароленным приложениям Как сообщают источники, оболочка MIUI для смартфонов Xiaomi вскоре получит одно весьма важное новшество. Речь о том, что функция блокировки доступа к приложениям научится использовать для аутентификации Face Unlock. Когда именно ожидать обновления с новой функцией, пока...

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

Intel пытается убедить пользователей в том, что в реальных задачах её процессоры всё же лучше, чем новейшие Ryzen 3000 Процессоры AMD Ryzen первого и второго поколения получились весьма удачными, а новое поколение ещё сильнее закрепило первенство AMD, если говорить о соотношении цены и производительности. Компания Intel, к сожалению, пока не готова дать пользователям совершенно новые 10...

Список известных проблем, блокирующих обновление до Windows 10 May 2019 Update Microsoft обновила публикацию в блоге о финальной сборке Windows 10 May 2019 Update под номером 18362, добавив туда список известных проблем, блокирующих возможность обновления до новой версии операционной системы. Удивляет тот факт, что Microsoft второй раз умудрилась наст...

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

Вам может хватить 30 приложений на iPhone. Попробуйте Если раньше от установки большого количества приложений на iPhone останавливала нехватка памяти (еще в те времена, когда Apple предлагала максимум 32 ГБ, а все ходили с моделями на 8 ГБ), то сейчас такой проблемы нет: бери себе iPhone с 256/512 ГБ встроенной памяти и загруж...

Блокчейн здесь только для пиара и хайпа? Недавно компания «Ренессанс Страхование» опубликовала статью, в которой рассказала о программном продукте для страхования грузоперевозок. Этот продукт мы разработали на основе платформы Hyperledger Fabric. Вокруг статьи развернулись дискуссии между криптоскептиками и крипт...

Apple вернется к Qualcomm, чтобы в iPhone 2020 была поддержка 5G Хотите так же на айфоне? Мы тоже В этом году Apple и Qualcomm завершили многолетнее противостояние, заключив мировое соглашение. Apple пришлось уступить оппоненту и выплатить ему в качестве компенсации несколько миллиардов долларов. В Купертино восприняли это довольно болезн...

Из Groovy ушёл Cédric Champeau‏ В проекте Apache Groovy перестаёт участвовать один из ключевых участников сообщества, само имя которого у многих ассоциировалось с этим языком. Уходит Седрик Шампо, известный в первую очередь как автор статического компилятора Groovy. Если рассмотреть причины ухода в том ...

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

[Из песочницы] Локальный (offline) npm репозиторий Предыстория Решив продаться задорого, я оказался у работодателя, где интернета нет не только в пром-контуре, но и в деве (ситуация на самом деле нередкая во многих, так сказать, "энтерпрайзах"). Есть IE в консоли, где ты, мой дорогой читатель, можешь конечно посм...

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

[Перевод] Примеры C++ кода до и после Ranges Снова здравствуйте. Перевод следующего материала подготовлен специально для студентов курса «Разработчик C++», занятия по которому стартуют уже 27 июня. Библиотека Ranges была принята в C++20 на совещании стандартного комитета в Сан-Диего в ноябре прошлого года. Библиотек...

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

[Перевод] История Vim и руководство по его эффективному использованию Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона. Первая часть статьи отводится на знакомство с историей Vim как редакт...

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

[Из песочницы] Как я сделал удобной разработку на Vue.js с server-side рендерингом Всем привет! Начну с небольшой предыстории. Свой новый проект я решил попробовать сделать на Vue.js. Мне нужен был серверный рендеринг (SSR), CSS модули, code-splitting и прочие прелести. Разумеется, для повышения производительности разработки нужна была горячая перезагр...

[Перевод] Стандартный браузерный API Payment Request Знаете ли вы о том, что во многих современных браузерах имеется встроенный API, который называется Payment Request? Этот API описан в стандарте W3C, который направлен на поддержку работы с платёжной и контактной информацией. Вот обзор стандарта на ресурсе developers.google.c...

Чего ждать от Android 11? Не успела Android 10 выйти, а весь мир уже вовсю обсуждает Android 11 Обновление для Android в 2020 году будет называться Android 11. И это не спекуляция, а факт, поскольку Google лично подтвердили это название. К тому же, мы недавно сообщали вам о том, какие обновления моби...

Что ты такое? Как мы spoof от human отличали — да еще и победили Недавно прошел ID R&D Voice Antispoofing Challenge, главной задачей которого было создать алгоритм, способный отличить человеческий голос (human) от синтезированной записи (spoof). Я — ML Researcher в Dasha AI и много работаю над распознаванием речи, поэтому и решил поуч...

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

Анонс Windows 10 Insider Preview Build 18941 (Fast и Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 18941 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Напоминаем, что разработка этого функционального обновления находится на ранней...

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

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

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

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

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

Uber выпустил открытый инструмент, обучающий ИИ-системы без написания кода Как пишет TAdviser со ссылкой на издание VentureBeat, Ludwig стал результатом двухлетней работы компании над оптимизацией разработки ИИ-систем для практических проектов. Сам сервис заказа такси задействует этот инструмент для таких задач, как извлечение данных из сканированн...

Смартфоны Xiaomi покупают всё реже. Руководство пока не винит убийцу Вчера компания Xiaomi опубликовала отчет о результатах своей деятельности в третьем квартале 2019 года, в котором доход составил 7,634 млрд долларов. Он вырос на 3,3% по сравнению с предыдущим кварталом. Чистая прибыль Xiaomi за квартал увеличилась на 28,8% и составила ...

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

174 игры в Steam получили поддержку сенсорного управления Логотип игрового сервиса Steam Технология Steam Remote Play позволяет пользователям популярного сервиса играть в игры с компьютера, транслируя их на планшет, смартфон или телевизор. Это очень удобно: телевизор находится в одной комнате, а компьютер в другой. И он занят. При ...

Вулканический поросенок, или SQL своими руками Сбор, хранение, преобразование и презентация данных — основные задачи, стоящие перед инженерами данных (англ. data engineer). Отдел Business Intelligence Badoo в сутки принимает и обрабатывает больше 20 млрд событий, отправляемых с пользовательских устройств, или 2 Тб входя...

Как включить Adobe Flash Player в Google Chrome Что не так с Adobe Flash? Да практически всё. Тяжелая и неповоротливая, эта технология нагружает устройства, на которых ее запускают, заставляя их работать медленнее, чем они способны на самом деле. Долгое время она практически не имела альтернатив, но со временем интерес к...

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

[Перевод] MVC без C: Что изменит SwiftUI в архитектуре приложений? MVC был давним стандартом в паттернах проектирования, используемых для написания iOS приложений. Структура iOS приложений, которые создавались ранее, была основана на одном базовом компоненте, который присутствует везде, и называется он — Controller. На WWDC19 был представле...

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

Решение задания с pwnable.kr 08 — leg, и 10 — shellshock. ARM ассемблер. Уязвимость bash В данной статье вспомним синтаксис ARM ассемблера, разберемся с уязвимостью shellshock, а также решим 8-е и 10-е задания с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьют...

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

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

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

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

[Из песочницы] Ant-карусель на CSS и Javascript С появлением CSS3 появилась возможность совершать анимацию без использования JS-библиотек, таких, например, как jQuery. CSS3 свойство transition позволяет плавно изменять другие свойства элемента (width, height, margin, opacity и пр.), задав в качестве параметров время и зак...

Игровая индустрия с 7 по 13 октября 2019 года В сегодняшнем выпуске: Официальное название новой консоли Sony. Red Dead Redemption 2 грядет на PC. Игроки возвращаются в Bloodborne. Bully 2 была в разработке, но проект заморожен. Все самое интересное из мира игр и игровой индустрии за прошедшую неделю. Официальное наз...

Huawei выпустила Android 10 сразу для трёх своих смартфонов Honor 20, 20 Pro и View 20 стали первыми смартфонами бренда, которые получили Android 10 Какими бы натянутыми ни были отношения Google и Huawei, китайская компания не устаёт отстаивать перед бывшим партнёром интересы своих клиентов, добившись для них не только права на дальн...

Анализ данных на Scala — суровая необходимость или приятная возможность? Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации...

Что в черном ящике. Обзор методов тестирования биллинга Проверка платных сервисов — один из ключевых инженерных вопросов в тестировании Badoo. Наше приложение интегрировано с 70 платёжными провайдерами в 250 странах мира, и баг хотя бы в одном из них может привести к непредсказуемым последствиям.  В этой статье я расскажу о мето...

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса. Напр...

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

Сервис для майнинга Coinhive прекратит работу 8 марта Создатели майнера Coinhive объявили о закрытии проекта. Скрипт, который на пике популярности обеспечивал более 60% добываемой в браузерах криптовалюты, прекратит работу уже 8 марта 2019 года. Напомним, Coinhive — это JavaScript-библиотека, встраиваемая в сайты. Благодаря ей ...

Пользователи не могут войти в почту Google после обновления до macOS 10.14.4 Вчера Apple выпустила macOS 10.14.4 для всех пользователей с такими функциями, как темный режим в Safari, Apple News + и другими. Но как отмечают пользователи, в обновлении также есть одна неприятная ошибка, связанная с аутентификацией учетных записей Gmail через стандартно...

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

Google подтвердила, что новые Pixel 4 будут похожи на iPhone XI Обычно компании стараются хранить в тайне дизайн перспективных смартфонов и как могут открещиваются от разного рода сетевых утечек, однако в Google на этот раз по какой-то причине решили поступить совсем по-другому. В кратком сообщении, опубликованном в Twitter, компани...

[Перевод] Ускоряем JavaScript-код с использованием типа данных Set Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что многие JavaScript-разработчики пользуются, в основном, такими типами данных, как Number, String, Object, Array и Boolean. В большинстве случаев этого вполне достаточно. Но если нужно сдела...

CMake и C++ — братья навек В процессе разработки я люблю менять компиляторы, режимы сборки, версии зависимостей, производить статический анализ, замерять производительность, собирать покрытие, генерировать документацию и т.д. И очень люблю CMake, потому что он позволяет мне делать всё то, что я хочу....

Check Point: оптимизация CPU и RAM Здравствуйте, коллеги! Сегодня я хотел бы обсудить очень актуальную для многих администраторов Check Point тему «Оптимизация CPU и RAM». Нередки случаи, когда шлюз и/или менеджмент сервер потребляют неожиданно много этих ресурсов и хотелось бы понять, куда они “утекают” и ...

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

В Drupal закрыты серьезные бреши Для CMS-системы Drupal версий 7 и 8 вышли обновления, устраняющие два бага удаленного исполнения кода, которые разработчики оценили как критические. Оба они привнесены с появлением в репертуаре Drupal файлов в формате .phar — исполняемых PHP-архивов, поддержка которых была в...

Как и зачем мы оптимизировали алгоритм очистки SLAB-кэшей в ядре Linux Рост популярности контейнеров и их использование в совокупности с контрольными группами выявили серьезную проблему масштабируемости, которая приводит к значительному падению производительности на больших машинах. Проблема в том, что время обхода SLAB-кэшей зависит квадратичн...

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

Всё, что нужно знать о Windows 10X Компания Microsoft представила новую версию Windows 10, которая была перестроена с нуля с использованием Windows 10 Core Technologies. Фактически это новая редакция Windows 10, основанная на Windows Core OS, модульной версии Windows 10, позволяющей создавать операционные си...

Вышло кумулятивное обновление для Windows 10 October 2018 Update версии 17763.316 Microsoft продолжает фиксить Windows 10 October 2018 Update, правда больших проблем с октябрьским обновлением больше нет. Есть небольшие баги, как и у других версий, которые фиксятся практически каждую неделю. Обновление называется KB4487044 и имеет версию 17763.316. Ниже вы...

Так может выглядеть OxygenOS 10 на базе Android 10 Q OnePlus регулярно общается с пользователями, часто используя их идеи и реализуя их в оболочке OxygenOS. Недавно OnePlus провела конкурс на лучшие идеи, победителем которого стал Леандро Тийинк (Leandro Tijink). Его пригласили в штаб-квартиру OnePlus в Шэньчжэне, чтобы о...

Apple вернет механизм «ножницы» в новые MacBook Air и Pro Клавиатурный механизм «бабочка», который Apple ежегодно совершенствовала на протяжении четырех лет, будет заменен продвинутой версией «ножниц». Такое заявление сделал аналитик TF International Securities Минг-Чи Куо, чьи прогнозы отличаются, пожалуй, самой высокой точностью...

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

Статический анализ IntelliJ IDEA против человеческого разума Не так давно я изучал вывод статического анализатора IntelliJ IDEA для Java-кода и наткнулся на интересный случай. Так как соответствующий фрагмент кода не является open source, я его анонимизировал и отвязал от внешних зависимостей. Будем считать, что он выглядел так: priva...

Intel NNP-I — ускоритель искусственного интеллекта, созданный на основе процессора Ice Lake В 2016 году Intel приобрела компанию Nervana Systems, специализирующуюся на технологиях, связанных с искусственным интеллектом. Позже Intel представила платформу Nervana для приложений ИИ, а в 2017 году пообещала выпустить первую в отрасли микросхему для обработки нейро...

Опыт использования Starwind VSAN и EMC ScaleIO (VxFlexOS) + шпаргалка по мини Enterprise СХД (1 часть) Иногда возникает необходимость в организации отказоустойчивого хранилища СХД маленького объема до 20Тб, но с функционалом Enterprise — All-Flash, SSD кэш, MPIO,HA(Activ-Activ) и всё это с бюджетной ценой. Готовые аппаратные решения с данными функциями начинаются от сотен тер...

[recovery mode] Типобезопасная работа с массивами PHP Всем привет, расскажу о собственном велосипеде для удобной работы с массивами в PHP. Type hinting В PHP7 появились подсказки типов (type hinting), что позволило IDE проводить более качественный статический анализ кода, качество нашего кода улучшилось (или правильно говорит ...

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

Киберпреступники два года следили за пользователями iOS Исследователи Google Project Zero обнаружили масштабную кампанию против iOS-пользователей: с 2017 года неизвестные преступники использовали серию уязвимостей в системах iOS 10 по iOS 12, чтобы заражать посетителей сайтов шпионским ПО. Злоумышленники применяли технику водопоя...

Samsung отложила запуск Android 10 для Galaxy S10 Android 10 для Galaxy S10 выйдет с задержкой. Но пользователям Samsung не привыкать Samsung никогда не была особенно расторопной при оптимизации новых версий Android для своих смартфонов, полагая, что полгода в таком деле — не срок. Из-за этого даже флагманы компании п...

[Перевод] Зачем использовать python -m pip И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога. Мариатта — разработчик из Канады, спросила в Тви...

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 2 Сегодня публикуем вторую часть перевода материала, посвящённого статическому анализу больших объёмов серверного Python-кода в Instagram. → Первая часть Читать дальше →

Downhill Masters — необычная гонка на велосипедах для Android Мы привыкли к тому, что большая часть гонок на мотоциклах и велосипедах использует вид сбоку, давая возможность разработчикам играться с виражами и оставляя свободу игроку. Но свежая Downhill Masters выполнена в более привычном виде от третьего лица — то есть, из-за спины гл...

Nike научила iPhone определять ваш размер ноги с помощью ARKit Перспективы дополненной реальности, вопреки восхищению Apple этой технологией, довольно туманны. До сих пор не очень понятно, где и как именно ее можно применять, а единичные находки независимых разработчиков, которые, как правило, не «выстреливают», кажется, толь...

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

Какой могла бы быть официальная веб-версия Apple Music Сервис Apple Music присутствует на всех популярных платформах — Mac, iOS, Android и Windows. Но по какой-то причине музыкальный сервис так и не обзавелся веб-версией. Радует только то, что компания предоставляет разработчикам официальный доступ к API, что позволяет эн...

Анонс Windows 10 Insider Preview Build 18956 (Fast и Skip Ahead) Добрый вечер, друзья! Компания Microsoft выпустила новую предварительную сборку Windows 10 20H1 под номером 18956 для участников программы Windows Insider, использующих каналы Fast и Skip Ahead. Напоминаем, что разработка этого функционального обновления находится на ранней...

Robot Operating System Meetup Russian 2019 В мире робототехники давно и успешно развивается программный фреймворк, позволяющий быстро прототипировать робототехнические системы — Robot Operating System (ROS). Мы в Лаборатории робототехники Сбербанка активно применяем его в разработке собственных проектов. Накопив опр...

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

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

MODX-Дайджест #3 (25 марта – 8 апреля 2019) Свежая, хоть и немного запоздалая, подборка новостей о MODX. В выпуске: долгожданный рефакторинг от Джейсона, пару слов о митапе в Амстердаме, новый сайт modx.com, а так же обновления дополнений, новости и заметки. Приятного чтения! Автор этого дайджеста хорошо так заболел ...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

Google открывает исходный код парсера robots.txt Сегодня компания Google анонсировала черновик RFC стандарта Robots Exclusion Protocol (REP), попутно сделав доступным свой парсер файла robots.txt под лицензией Apache License 2.0. До сегодняшнего дня какого-либо официального стандарта для Robots Exclusion Protocol (REP) и...

[Перевод] Представлен GitHub Package Registry Вышел GitHub Package Registry, сервис управления пакетами, который позволяет легко публиковать публичные или частные пакеты рядом с исходным кодом. Реестр пакетов GitHub полностью интегрирован с GitHub, поэтому вы можете использовать те же инструменты поиска, просмотра и уп...

[Из песочницы] 4 Причины, почему вы должны забыть о Redux в приложениях на React Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегча...

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

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

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

Google устроила показную борьбу с вирусами в Google Play Ищете самый безопасный магазин приложений? Google Play — не ваш выбор Нет ничего зазорного в том, чтобы платить тем, кто делает твою работу за тебя. В современном мире это называется аутсорсинг. Этим пользуются многие компании, отдавая выполнение определённых задач, не...

В Linux хотят защитить ядро от пользовательских процессов Разработчики Linux добавили в операционную систему модуль изоляции ядра, который исключает доступ к ключевым частям кода на пользовательском уровне. Дискуссии о необходимости подобной функции велись несколько лет, а создатели основных сборок ОС успели самостоятельно реализов...

За счёт чего iOS 13 станет быстрее В прошлом году была представлена iOS 12. Разработчики сделали особый упор на производительность и улучшение скорости работы устройств. Эти заявления не были голословными — многие старые iPhone действительно заметно «ускорились» на новой ОС, после откровенно неудачной ...

Топ 10 ошибок в C++ проектах за 2018 год Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых пр...

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

Himax WiseEye WE-I Plus — ускоритель машинного обучения для устройств со сверхнизким энергопотреблением Компания Himax Technologies, специализирующаяся на выпуске микросхем и другой полупроводниковой продукции, представила новинку под названием WiseEye WE-I Plus. По словам производителя, это специализированная интегральная платформа со встроенным ускорителем, который позв...

Балансировка нагрузки в Openstack В крупных облачных системах особенно остро стоит вопрос автоматической балансировки или выравнивания нагрузки на вычислительные ресурсы. Озаботились данным вопросом и в Тиониксе (разработчик и оператор облачных услуг, входим в группу компаний Ростелекома). И, поскольку наш...

Как отключить звук Google Assistant на Android А вы знали, что Google Assistant — единственный голосовой ассистент с ночной темой? Google Assistant – один из лучших голосовых ассистентов. Сказываются обширные языковые познания и практически полное отсутствие проблем с распознаванием человеческой речи. Тем не менее,...

Фотополимерный 3D принтер Anycubic Photon S - первый пришел! Всем привет! Являюсь давним поклонником 3D принтеров Anycubic и с января 2019 присматривался к новому фотополимернику Anycubic Photon S, который сначала появился в магазинах Алиэкспресс, но на мой взгляд за немного космические 45000 руб плюс доставка, а затем, когда о нем ст...

Замена LM8UU на втулки В очередной раз слушая, как во время печати периодически хрустит шариками китайский линейный подшипник, я вспомнил, что где-то в закромах у меня должны лежать специально купленные втулки. Раскопки показали, что втулки действительно есть в наличии.Не откладывая в долгий ящик,...

[Перевод] Там, где сходятся доказательства, факты и воображение В математике, где доказательство – это всё, важны также и факты. Однако факты хороши, только пока хороша модель, а построение моделей – занятие ненадёжное. Так какого количества фактов будет достаточно? Можете ли вы найти следующее число в последовательности? 1, 2, 4, 8 ...

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

Гонка вооружений В мае на Google I/O 2019 было объявлено о новом фреймворке для разработки декларативного UI под Android с названием Jetpack Compose. Через месяц на WWDC 2019 было объявлено о декларативном UI фреймворке под IOS с названием SwiftUI. После этих конференции стало понятно, к ч...

iOS 13 сделала за неделю то, что Android 9 Pie не удалось сделать за год iOS 13 за неделю обошла Android 9 Pie по скорости распространения Зачем нужны обновления? Они исправляют баги, приносят новые и функции и повышают быстродействие, делая уже существующий продукт лучше. Для многих пользователей срок программной поддержки даже стал ключевым кри...

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

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

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

Еще одна ошибка Windows 10 вызывает высокую загрузку процессора и нарушает работу IME Windows 10 KB4515384, выпущенная для всех 10 сентября с исправлениями безопасности и улучшениями качества, страдает от еще одной ошибки. KB4515384 содержит исправления безопасности и исправление ошибки Cortana, приводящей к высокой загрузке ЦП в некоторых системах, но пользо...

[Перевод] Конференция DEFCON 19. Взламываем MMORPG ради веселья и прибыли. Часть 2 Конференция DEFCON 19. Взламываем MMORPG ради веселья и прибыли. Часть 1 Джош Филлипс: как мы говорили, все хаки довольно просты, и их использование иногда не требует никаких навыков, достаточно просто творческого подхода к делу. Для использования «суперсилы» вам не обязате...

5 лучших rar- и zip-архиваторов на Android Один из наиболее распространенных типов файлов, с которыми нам приходится иметь дело — это архивные файлы. Вы наверняка видели их раньше, и они обычно встречаются в форматах zip, rar, 7z, tar и других. Смысл использования архивов состоит в том, чтобы поместить много ф...

How to get Security Log with non-administrative user Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решен...

Отсутствие в macOS поддержки видеокарт Nvidia обусловлено конфликтом между менеджерами Apple и Nvidia Компания Apple на данный момент в своих компьютерах Mac использует исключительно видеокарты с GPU AMD. Но за всю историю линейки Mac купертинский гигант не раз переходил от AMD к Nvidia и обратно. Однако сейчас Apple упорно не хочет добавлять в новейшую версию macOS по...

[Перевод] Демонстрация AresDB: инструмент анализа в реальном времени с открытым исходным кодом на основе GPU от Uber Благодаря анализу в реальном времени мы, сотрудники компании Uber, получаем представление о состоянии дел и эффективности работы и на основе данных решаем, как повысить качество работы на платформе Uber. Например, проектная команда мониторит состояние рынка и выявляет потенц...

Южная Корея отказывается от Windows 10 и переходит на Linux Microsoft перестанет обслуживать Windows 7 14 января 2020 года. После этого техническая помощь и автоматические обновления из Центра обновления Window для этой платформы станут недоступны. Компания рекомендует своим клиентам переходить на Windows 10, но Южная Корея отдала пр...

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

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