Социальные сети Рунета
Пятница, 29 марта 2024

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

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

[Перевод] Vue.js для начинающих, урок 4: рендеринг списков Сегодня, в четвёртом уроке учебного курса по Vue, мы поговорим о том, как выводить на страницу списки элементов. → Vue.js для начинающих, урок 1: экземпляр Vue → Vue.js для начинающих, урок 2: привязка атрибутов → Vue.js для начинающих, урок 3: условный рендеринг Читать д...

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

[Перевод] Vue.js для начинающих, урок 3: условный рендеринг Продолжаем наш учебный курс по Vue, которые порекомендовала Наталья Теплухина, Staff Engineer в Gitlab и Core Team Member фреймворка Vue (Q/A сессия с Наташей прошла в нашем инстаграм, а расшифровку можно прочитать здесь) На третьем уроке речь пойдёт об условном рендеринге....

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

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

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

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

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

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

[Перевод] Интеграция чат-бота Dialogflow с Angular-приложением Существует множество публикаций о разработке чат-ботов с использованием возможностей платформы Dialogflow. Но для выхода на решение, которое применимо на практике, просто создать бота недостаточно. Бота надо подключить к веб-интерфейсу. Это — интересная и сложная задача. Чат...

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

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

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

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

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

PostgreSQL Antipatterns: насколько глубока кроличья нора? пробежимся по иерархии В сложных ERP-системах многие сущности имеют иерархическую природу, когда однородные объекты выстраиваются в дерево отношений «предок — потомок» — это и организационная структура предприятия (все эти филиалы, отделы и рабочие группы), и каталог товаров, и участки работ, и ге...

Автоматизация тестирования: Java или Python? Всем привет! В марте OTUS запускает сразу два курса по автоматизации тестирования: «Python QA Engineer» и «Java QA Engineer». У нас часто спрашивают, какой из этих курсов выбрать, ответить на данный вопрос мы решили переводом статьи от компании SafeBear. Один из самых попу...

[Перевод] Изучаем Metaflow за 10 минут Metaflow — это Python-фреймворк, созданный в Netflix и ориентированный на сферу Data Science. А именно, он предназначен для создания проектов, направленных на работу с данными, и для управления такими проектами. Недавно компания перевела его в разряд опенсорсных. Фреймворк M...

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

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

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

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

[Перевод] REST API на Java без фреймворков Перевод статьи подготовлен специально для студентов курса «Разработчик Java». В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забы...

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

Методы борьбы с legacy-кодом на примере GitLab Можно бесконечно холиварить о том, является ли GitLab хорошим продуктом. Лучше посмотреть на цифры: по итогам раунда инвестирования оценка GitLab составила 2,7 млрд долларов, в то время как предыдущая оценка была $1,1 млрд. Это означает бурный рост и то, что компания будет н...

[Перевод] Теория вероятностей для физически точного рендеринга Введение В рендеринге часто используется вычисление многомерных определённых интегралов: например, для определения видимости пространственных источников освещения (area light), светимости, доходящей до области пикселя, светимости, поступающей за период времени и облучения, ...

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

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

[Перевод] Знакомьтесь с Ember Octane Ember Octane — это новая редакция фреймворка Ember.js, а также лучший способ для команд создавать амбициозные веб-приложения. 20 декабря вышла новая версия Ember 3.15. И это Octane! Любопытно, что это значит для веб-разработки? Этот пост поможет вам сориентироваться. Мы с г...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Comet — PHP-фреймворк для быстрых REST API Два года я писал микросервисы на Go, используя генераторы кода на базе Swagger. Получались довольно компактные и очень быстрые решения. Сейчас использую PHP, поэтому решил найти средства для решения тех же самых задач в экосистеме языка. Знаю и люблю Laravel и Symfony, но т...

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

[Перевод] 23 непростых вопроса для JavaScript-собеседования Хотите подготовиться к собеседованию по JavaScript и ищете вопросы, на которых можно попрактиковаться? Если так — считайте, что ваши поиски окончены. Автор материала, перевод которого мы сегодня публикуем, говорит, что собрал более двух десятков вопросов по JavaScript, предн...

MS Remote Desktop Gateway, HAProxy и перебор пароля Друзья, привет! Существует множество способов подключения из дома к рабочему месту в офисе. Один из них — это использовать Microsoft Remote Desktop Gateway. Это RDP поверх HTTP. Я не хочу здесь затрагивать настройку самого RDGW, не хочу рассуждать, почему он хорош или плох,...

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

[Перевод] О роли фронтенд-разработчика Привет, Хабр! Представляем вашему вниманию перевод статьи фронтенд-разработчика из MediaMonks Рональда Мендеса. Будучи родом из Венесуэлы, Рональд перебрался в Аргентину и построил успешную карьеру, а благодаря своему большому интересу к дизайну и анимации стал одним из член...

[Из песочницы] C++/Qt: пора валить?. Если бы раньше я запускал новый долгоживущий проект, в котором основные функции связаны с большим объёмом вычислений при каком-то взаимодействии с пользователем через графический интерфейс, я бы не задумываясь использовал С++/Qt. Это позволяло использовать один фреймворк/яз...

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

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

[Перевод] Как разобрать URL в JavaScript? Доброго времени суток, друзья! Представляю Вашему вниманию перевод заметки «How to Parse URL in JavaScript: hostname, pathname, query, hash» автора Dmitri Pavlutin. Унифицированный указатель ресурса или, сокращенно, URL — это ссылка на веб-ресурс (веб-страницу, изображ...

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

Интерполяция и дискретизация, зачем они нужны при проективном преобразовании изображения? Привет, Хабр! Сегодня мы очень подробно расскажем о неочевидных моментах в такой, казалось бы, простой операции: исправлении проективных искажений на изображении. Как это часто оказывается в жизни, нам пришлось выбирать, что важнее: качество или скорость. И чтобы достичь нек...

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями п...

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

[Из песочницы] Svelte, исчезающий фреймворк, что всё никак не исчезал Когда я вижу очередную статью о Svelte: RE: Боль и слёзы в Svelte 3 Svelte 3: Переосмысление реактивности Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков Легенда о Фреймворке Всевластия Re: «Сравнение JS-фреймворков: React, Vue и Hyperapp» Исчезающие фр...

Хранилище для Веба Доброго времени суток, друзья. Представляю вашему вниманию перевод статьи «Storage for the Web» автора Pete LePage. Существует несколько технологий для хранения данных в браузере. Какая из них лучше? Интернет-соединение может быть плохим или вовсе отсутствовать в опреде...

Портал госуслуг — самый удобный способ записи к врачу в Подмосковье Как пишет портал  REGNUM , жители Подмосковья хотели бы оперативно связываться с медучреждениями области. Такой вывод сделало независимое агентство MAGRAM Market Research, которое в ноябре 2020 года исследовало предпочтительные способы взаимодействия жителей Подмосковья с ме...

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

Как мы считаем людей с помощью компьютерного зрения Фото из открытых источников Массовые скопления людей создают проблемы в самых разных областях (ритейл, госслужбы, банки, застройщики). Заказчикам необходимо объединять и мониторить информацию о количестве людей во множестве мест: в офисах обслуживания, административных пом...

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

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

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

[Из песочницы] Рендеринг списков в React Native В этой статье я не буду рассказывать что нужно использовать как можно меньше контента для отображения или кэшировать изображения. Нет! Мы будет говорить только о реальной оптимизации списка и не важно что нам нужно отобразит, так как если клиент говорит хочу и все то с ним у...

[Из песочницы] sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи) Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функ...

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

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

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

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

Создание своего Publisher'a в Combine Сегодня я хотел бы показать вам, как создать свой собственный Publisher в новом фреймворке от Apple Combine. Читать дальше →

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru В начале 2017 года в KTS поступила задача - реализовать платформу для онлайн-образования Otus.ru.От нас требовалось как можно быстрее собрать портал, на котором можно было бы посмотреть информацию о курсах. Сделать MVP нужно было как можно быстрее, а современные фронтенд-фре...

178 Тбит/с — новый мировой рекорд скорости интернета Установлен новый рекорд скорости передачи данных в интернете, который составляет 178 терабит в секунду (Тбит/с). Сразу стоит добавить, что в обозримом будущем такая скорость не будет доступна рядовым пользователям. В данный момент самая быстрая доступная скорость для по...

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

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 47-58 Это вторая статья с переводом отдельных глав книги Эндрю Ына «Страсть к машинному обучению». Перевод предыдущих глав вы можете почитать по ссылке. В этой статье речь пойдёт о сквозном (end-to-end) глубоком обучении, а так же автор книги поделится некоторыми способами анал...

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

[Перевод] Framework vs Platform: в чём разница? Привет, Хабр! Представляю вашему вниманию перевод статьи "Framework Vs. Platform What’s The Difference?" автора G. Harris. Исповедуюсь: я педант. Несмотря на личные неудачи на этом поприще, я глубоко верю, что использование правильного языка добавляет множество пре...

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

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

Межпланетная файловая система — Простой блог в IPFS при помощи XSLT Существует проблема: У сайта в IPFS нет возможности использовать серверные скрипты для формирования страницы. Если использовать генерацию страниц перед загрузкой то добавив новый пункт меню в каждую страницу мы изменим хеш этих страниц. Так что всю сборку страниц нужно произ...

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

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

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

[Перевод] Портирование API на TypeScript как способ решения проблем React-фронтенд Execute Program перевели с JavaScript на TypeScript. А бэкенд, написанный на Ruby, трогать не стали. Однако проблемы, связанные с этим бэкендом, заставили разработчиков проекта задуматься о переходе с Ruby на TypeScript. Перевод материала, который мы сегодня п...

[Перевод] Python-пакеты для Data Science Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуетс...

Мобильное приложение MelBet: следим и зарабатываем на киберспорте Приложение MelBet — это самый быстрый способ получить доступ к букмекерской конторе MelBet на мобильном устройстве. Оно доступно для устройств, работающих как на базе ОС Android так и iOS. С программой вы можете не только управлять своими ставками, но и следить за актуальным...

В Новосибирске провели эксперимент для ЦЕРН На самом большом и мощном в мире ускорителе идёт подготовка к модернизации, которая начнется в 2024 году и продлится ориентировочно до 2028 года. Задача учёных — провести глубокую модернизацию установки, создав коллайдер, светимость которого в пять раз превысит существующую....

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

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

Самая сложная задача в Computer Vision Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить. У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинг...

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

Как сохранить страницу сайта в Safari на iPhone (iPad) для чтения без Интернета: 5 способов В этом материале мы расскажем об одной очень полезной фиче, позволяющей сохранять веб-страницы в штатном браузере Safari на iPhone и iPad для дальнейшего просмотра без интернет-соединения. ♥ ПО ТЕМЕ: Как быстро переводить сайты (веб-страницы) в Safari на iPhone и iPad: 3 спо...

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

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

[Перевод] Методика развёртывания проектов, применяемая в Slack Вывод нового релиза проекта в продакшн требует тщательного соблюдения баланса между скоростью развёртывания и надёжностью решения. В компании Slack ценят быстрые итерации, короткие циклы обратной связи, оперативную реакцию на обращения пользователей. Кроме того, в компании и...

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

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

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

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

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

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

Собираем «цепочки» с помощью window functions Иногда при анализе данных возникает задача выделения «цепочек» в выборке — то есть упорядоченных последовательностей записей, для каждой из которых выполняется некоторое условие. Это может быть как условие от данных самой записи, так и сложное выражение относительно одной и...

Выращиваем ИИ — Генетические алгоритмы: введение (сгенерированое изображение) Существует множество способов создать искусственную нейронную сеть или даже "искусственный интеллект". Но все эти способы обескураживают, от части сложностью которую я не до конца понимаю, отчасти от того, что все сводится к математиче...

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

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

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

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

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

[Перевод] Как получить размеры экрана, окна и веб-страницы в JavaScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод небольшой заметки «How to Get the Screen, Window, and Web Page Sizes in JavaScript» автора Dmitri Pavlutin. Для определения ориентации окна браузера (ландшафтной или портретной) можно сравнить его ширину...

Путеводитель по Metasploit. Разбираем примеры использования знаменитого фреймворка Для подписчиковMetasploit Framework — самый масштабный и распиаренный из всех фреймворков для эксплуатации и постэксплуатации. Однако вводной статьи по нему в «Хакере» не было, а если и была, то так давно, что не считается. Я расскажу, как именно этот фреймворк использует мо...

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

[Перевод] Sktime: унифицированная библиотека Python для машинного обучения и работы с временными рядами Всем привет. В преддверии старта базового и продвинутого курсов «Математика для Data Science», мы подготовили перевод еще одного интересного материала. Решение задач из области data science на Python – это непросто Почему? Существующие инструменты плохо подходят для реше...

[Перевод] 5 JavaScript-библиотек для работы со строками Работа со строками может оказаться непростым делом из-за того, что она подразумевает решение множества разноплановых задач. Например, для простого приведения строки к «верблюжьему» стилю понадобится несколько строк кода: function camelize(str) {   return str.replace(/(?:^\w...

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

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

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

[Перевод] Что делает реактивную систему хорошей? Этот пост является вторым в серии статей об авто-трекинге — новой системе реактивности в Ember.js. Я также обсуждаю концепцию реактивности в целом, и как она проявляется в JavaScript. От переводчика: Крис Гарретт — работает в компании LinkedIn и является одним из core-контри...

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

Сравниваем производительность C# и C++ в задачах обработки изображений Бытует мнение, что C# не место в вычислительных задачах, и мнение это вполне обоснованное: JIT-компилятор вынужден компилировать и оптимизировать код на лету в процессе выполнения программы с минимальными задержками, у него попросту нет возможности потратить больше вычислите...

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

ТОП-5 моих любимых браузеров для телефона Обычно при покупке смартфона на Android в нем установлено два браузера. Первым, конечно, является Google Chrome, а вторым фирменный браузер производителя смартфона. Зачем он нужен не очень понятно, но это правило хорошего тона — он должен быть и компания должна его ка...

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

[Перевод] Распределенные блокировки с применением Redis Привет, Хабр! Сегодня мы предлагаем вашему вниманию перевод сложной статьи о реализации распределенных блокировок средствами Redis и предлагаем поговорить о перспективности Redis как темы. Анализ рассматриваемого алгоритма Redlock от Мартина Клеппмана, автора книги "Вы...

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

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

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

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

Качественная картинка на экране любого разрешения: Xbox Series X поддерживает технологию Variable Rate Shading Лоуренс Хриб (Larry Hryb) — директор по программированию игровой сети Microsoft Xbox Live — сообщил интересную подробность о консоли Xbox Series X: как оказалось, она поддерживает технологию переменной частоты затенения (Variable Rate Shading, VRS). Это позв...

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

WhatsApp, Telegram и Signal выдают телефонные номера всех пользователей Синхронизация мессенджера с контактами из адресной книги (contact discovery) — очень удобная функция. Когда новый человек ставит приложение, то в него автоматически добавляется большой список контактов, а если кто-то впервые установил мессенджер, то уведомление об этом при...

NeoML: машинное обучение от ABBYY ABBYY открыла свой фреймворк машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ML-моделей. Основной фокус в ней сделан на простом и эффективном запуске готовых моделей на различных платформах. Даже если э...

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

Vivaldi 3.1 — Заметные радости Привет, Хабр! При работе на компьютере в сети мы больше всего времени проводим в браузере, а главная задача, которую мы при этом решаем — получение или создание информации. Собственно, всё просто. Но только на словах. А на самом деле за этими простыми описаниями стоит оче...

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

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

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

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

Фронтенд-разработка в компании: что это и как сделать её эффективной Мы в компании КОРУС Консалтинг СНГ уже больше десяти лет занимаемся организацией разработки веб-сервисов для наших заказчиков. У нас за плечами уже несколько десятков серьёзных проектов в банковской сфере, некоторые из них получили международное признание. За последние дв...

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

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

[Из песочницы] Android Remote Debugger — удаленная отладка Android приложений Отладка является важным этапом разработки программного обеспечения. Поиск и исправление ошибок позволяет разрабатывать качественные продукты. В данной статье я хочу поговорить об отладке только Android приложений. Android Studio предоставляет нам различные инструменты профил...

Работающая геймификация: Octalysis Framework Привет, Xабр! Меня зовут Роман, и я продакт! В последнее время много увлекаюсь темой геймификации в digital-продуктах. Это понятие уже давно является популярным, и, наверное, не существует человека из мира IT, кто бы ни разу не сталкивался с этой темой в той или иной форме. ...

Библиотека ttf2mesh — преобразование TrueType шрифтов в сетку Многим известна проблема трёхмерной графики — отсутствие легковесных кроссплатформенных решений в вопросе вывода текста. Большинство реализаций позволяет использовать выбранный шрифт в виде текстуры. Публикуемая библиотека ttf2mesh реализует другой способ — она преобразует в...

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

Визуализация промисов и Async/Await Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie. Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в про...

3D-аркада в браузере: как мы сделали игру на React + Redux Привет, Хабр! В не такие уж далёкие годы, на первом курсе «программистского» факультета, мне нравилось задавать товарищам по учёбе вопрос: «Зачем вы вообще пошли сюда учиться?» Точной статистики ответов я, конечно, не вёл, но доподлинно помню: больше половины хотели делать и...

Визуализация сложных данных с использованием D3 и React Существует много возможныx вариантов реализации сложных графиков в ваших проектах. Я за несколько лет попробовал все возможные варианты. Сначала это были готовые библиотеки типа AmCharts 4. AmCharts сразу же оказался большим и неповоротливым. После этого были более гибкие и ...

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

7 трюков для работы в Safari на iPhone и iPad Не все знают, что в Safari есть множество скрытых функций В iPhone и iPad длительное нажатие часто инициирует другое действие в приложении, которое не сразу очевидно — например, когда у иконки программы появляется всплывающее контекстное меню для ее удаления или упоряд...

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

[Перевод] Создание карандашного эффекта в SVG Моя игра Dragons Abound создаёт карты в векторном графическом формате SVG. Векторная графика имеет множество особенностей (например, зум без потерь), что удобно для карт. Также векторная графика хороша для создания чётких линий, например, чернильных контуров: С другой стор...

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

Загрузка обновлений в Windows 10 стала проще с новым Media Creation Tool Обновить до последней версии Windows 10 через Центр обновления Windows не всегда получается, так как ваш компьютер может не загружать обновления. Центр обновления Windows не всегда является самым надежным способом загрузки и установки обновлений Windows 10. Что касается обно...

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

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

SwiftUI 2020. Что изменилось? Приветствую вас, жители Хабра и все интересующиеся разработкой под IOS. На связи Анна Жаркова, Senior iOS/Android разработчик компании Usetech Сегодня мы поговорим о тех изменениях и новшествах, которые нам представляет Apple на WWDC 2020. А именно про доработанную и даже пе...

[Из песочницы] Как я избавился от тысячи вкладок… … и опоздал на 3 года. В идеале должно быть так: пользователь запускает браузер, и браузер показывает то, что нужно пользователю. Но пока такого не реализовали приходится пользоваться поисковыми системами. В идеале должно быть так: пользователь открывает поисковую систему, в...

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

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

[Перевод] 6 хитростей Python, о которых никто не рассказывает новичкам В наши дни Python — это самый популярный в мире язык программирования. Одна из причин этого кроется в том, что разработчики с удовольствием пишут на Python. Это выгодно отличает Python от других языков. Python завоёвывает сердца новичков и опытных программистов простотой си...

[Перевод] 10 расширений для VS Code, без которых я не могу программировать VS Code — мой любимый редактор кода. Это — самый популярный из существующих редакторов, возможности которого можно расширять практически до бесконечности. И, что удивительно, разработала его компания Microsoft. Я полагаю, что ни один из других редакторов и ни одна из других ...

[Перевод] The Ember Times — Выпуск 129 От переводчика: Хотя в последнее время js-фреймворк Ember переживает новый период роста, в русскоязычном js-сообществе сохраняется мнение, что его уже никто не использует и он переживает упадок, повторяя путь Backbone. Отчасти причиной этому является отсутствие материалов н...

[Перевод] Браузеру Firefox – 15 лет: взлёт, падение и ренессанс с упором на конфиденциальность Браузер от Mozilla дебютировал 9 ноября 2004 года, и стал феноменом перед тем, как уступить Chrome. Теперь он упирает на конфиденциальность пользователей и автономность. Велика вероятность того, что вы читаете эту статью в браузере Chrome от Google, занимающем 65% мирового...

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

Более 50% российских компаний освоят IoT-технологии до 2021 года По прогнозу IDC, среднегодовой темп роста рынка Интернет вещей в период c 2018 года до конца 2023 года составит 19,7%.Говоря о целях стратегии и инвестиций в Интернет вещей, больше трети респондентов отмечают повышение уровня безопасности в организации. Почти треть опрошенны...

[Из песочницы] 5 причин, по которым моушн дизайн помогает вам общаться с людьми Привет, Хабр! Представляю вашему вниманию перевод статьи «5 Reasons Motion Graphics Help You Connect With People» автора Katy French. Оригинал статьи: Katy French | Перевод статьи сделал моушн дизайнер Игорь Царёв Мы большие поклонники моушн дизайна. Это не потому, что о...

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

Svelte: знакомимся с Действиями Недавно на Хабре появилась статья от @sanReal, где Александр рассказал о том, каким приёмам и каким возможностям Svelte он научился на собственном опыте. Я был немного удивлён не увидев в его списке упоминания одного из самых мощных инструментов фреймворка — Действий. К тому...

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

[Из песочницы] Как подружить Electron и Webix Введение Доброе время суток! Хотелось поделиться с Вами личным опытом создания десктопного приложения на JavaScript с использованием связки Electron и Webix. Такая связка позволяет ускорить процесс верстки интерфейса, особо не тратя время на разметку и прочие web штуки, кото...

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

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

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

[Перевод] Полезные советы по Python, которых вы ещё не встречали Написано очень много статей, посвящённых интересным возможностям Python. В них идёт речь о распаковке списков и кортежей в переменные, о частичном применении функций, о работе с итерируемыми объектами. Но в Python есть гораздо больше всего интересного. Автор статьи, перевод ...

[Перевод] 5 самых старых нерешенных задач Математики о простых числах Математика была предметом, который веками бросал вызов величайшим умам в истории человечества. Пожалуй, одной из наиболее исследуемых областей Математики является изучение простых чисел. Наши размышления о закономерностях в простых числах привели к некоторым сложнейшим проб...

[Из песочницы] Функциональные опции на стероидах Привет, Хабр! Представляю вашему вниманию перевод статьи Functional options on steroids от автора Márk Sági-Kazár. Функциональные опции — это парадигма в Go для чистых и расширяемых API. Она популяризирована Дейвом Чейни и Робом Пайком. Этот пост о практиках, которые появ...

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

Snort или Suricata. Часть 1: выбираем бесплатную IDS/IPS для защиты корпоративной сети Когда-то для защиты локальной сети было достаточно обыкновенного межсетевого экрана и антивирусных программ, но против атак современных хакеров и расплодившейся в последнее время малвари такой набор уже недостаточно эффективен. Старый-добрый firewall анализирует только загол...

Авалония для самых маленьких В свежем превью Rider, помимо прочего, появилась поддержка Авалонии. Авалония — это самый крупный .NET фреймворк для разработки кроссплатформенного UI, и его поддержка в IDE — отличный повод наконец разобраться, как писать десктопные приложения для любых платформ. В этой ст...

Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM 5 марта 2020 года в офисе OZON прошёл очередной митап Московского отделения сообщества OWASP. Кажется, что получилось здорово, а краткий отчёт с материалами встречи был недавно опубликован на Хабре. В этом же посте представлен доклад oxdef. Продолжая серию экспресс-докладов...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

[Перевод] Стилизация контейнеров для содержимого веб-страниц Содержимое веб-страниц должно быть размещено в некоем элементе, ширина которого, ограничивающая ширину содержимого, позволяет пользователям удобно работать с материалами сайта. Такие элементы называют «обёртками» (wrapper) или «контейнерами» (container). Стилизовать контейне...

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

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

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

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

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

Потрошим Windows 10. Легкий способ собрать свой дистрибутив Windows Для подписчиковСборка собственных дистрибутивов ОС — любимое развлечение линуксоидов. Считается, что пользователи Windows лишены столь привлекательной возможности проводить свободное время. Но это не так: существуют способы как минимум выпилить из дистрибутива Windows 10 лиш...

Почему мои коллеги/сотрудники ведут себя как @%§? Не за горами очередной старт курса для руководителей разработки «Team Lead 2.0». В связи с этим мы провели открытый урок под названием «Почему мои коллеги/сотрудники ведут себя как @%§?». На вебинаре поговорили о том, что заставляет людей вести себя некорректно, почему люди ...

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

Видеоурок Теплицы: плагин Mate Translate как альтернатива переводчику от Google Все мы знаем Google Translate. Это действительно очень удобный инструмент, но у Вовы Ломова возник вопрос: а есть ли какая-то альтернатива этому переводчику? Естественно круг поиска был ограничен рядом важных критериев: бесплатно, просто, онлайн, работает в браузере. И Вова ...

Google Chrome для Android удаляет данные других приложений Сбросились приложения на Android? Виноват Google Chrome Почему одно приложение не может вмешиваться в работу другого? Это просто соображения безопасности. Только представьте, что будет, если мобильный клиент «ВКонтакте» сможет получить доступ к Google Pay и скопировать данны...

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

Книга «Профессиональный TypeScript. Разработка масштабируемых JavaScript-приложений» Любой программист, работающий с языком с динамической типизацией, подтвердит, что задача масштабирования кода невероятно сложна и требует большой команды инженеров. Вот почему Facebook, Google и Microsoft придумали статическую типизацию для динамически типизированного кода....

Переход с OpenVPN на WireGuard для объединения сетей в одну сеть L2 Хотел бы поделиться опытом объединения сетей в трех географически удаленных квартирах, в каждой из которых в качестве шлюза используются роутеры с OpenWRT, в одну общую сеть. При выборе способа объединения сетей между L3 с маршрутизацией подсетей и L2 с бриджингом, когда в...

Khronos Group опубликовала спецификации OpenCL 3.0 Консорциум Khronos Group опубликовал предварительные спецификации фреймворка OpenCL 3.0. Данная версия призвана значительно расширить функциональные возможности платформы с целью увеличения гибкости развертывания проектов с разными задачами. OpenCL 3.0 представляет собой фре...

Laravel-Дайджест (8–14 июня 2020) Подборка новых статей по фреймворку Laravel. Тайны Eloquent-отношений. Долгожданная загрузка файлов в Livewire. Планировщик задач без крона от Spatie. Уроки по созданию Блога, Новостного сайта и гибкой Корзины. Тесты, трейты и TDD. Фото: Erika Heidi Читать дальше →

Сайт Роскомнадзора обнародовал список пабликов и СМИ, публикующих фейки Реестр источников и авторов фейковых новостей начал публиковать Роскомнадзор. Как отмечает «КоммерсантЪ», список составляется по представлению Генпрокуратуры, он позволит блокировать и удалять информацию, которая наносит вред и является ложной. На данный момент в списке Роск...

Как загрузить новый Microsoft Edge на Windows 10 Переделанный браузер Microsoft Edge наконец-то появился с современным дизайном, поддержкой расширений Google Chrome и многим другим. В этом руководстве мы поможем вам загрузить и установить новый Chromium Microsoft Edge в Windows 10 и Windows 7. Еще в декабре 2019 года Micro...

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

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

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

Это самый защищенный бесплатный браузер для iPhone и iPad Что мы хотим видеть в идеальном браузере? В первую очередь, конечно, же, скорость. Скорость открытия и способ отображения страницы играет чуть ли не самую важную роль при выборе браузера. Немаловажен и набор функций: если приложение элементарно не умеет ставить закладку, он...

Цены на Китайские принтеры на TaoBao Сегодня мы хотели бы поговорить на интересную тему. А именно, какие 3D принтеры популярны на территории Китая, и какие цены имеют популярные в России модели 3D принтеров.Мы сравнили 2 самые популярные платформы для розничных онлайн покупок. Это - известный многим TaoBao и Ji...

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

Outline эффект с использованием RenderFeature в Unity URP В Universal Render Pipeline, создавая свои RendererFeature, можно легко расширить возможности отрисовки. Добавление новых проходов в конвеер рендеринга позволяет создавать различные эффекты. В этой статье, используя ScriptableRendererFeature и ScriptableRenderPass, создадим ...

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

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

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

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

[Перевод] Бандлинг JavaScript-кода и производительность: передовые методики Сейчас, на рубеже десятилетий, самое время критически переоценить то, что считалось правильным в недалёком прошлом, и выяснить, не потеряло ли оно актуальности в наши дни. Иногда вчерашние передовые методики разработки становятся сегодняшними антипаттернами. Автор статьи,...

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

[Из песочницы] Погружение в Delta Lake: принудительное применение и эволюция схемы Привет, Хабр! Представляю вашему вниманию перевод статьи «Diving Into Delta Lake: Schema Enforcement & Evolution» авторов Burak Yavuz, Brenner Heintz and Denny Lee. Данные, как и наш опыт, постоянно накапливаются и развиваются. Чтобы не отставать, наши ментальные модели ми...

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

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

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

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

Руководство по Jetpack Compose Руководство по новому декларативному фреймворку Jetpack Compose от нашего любимого сайта RayWenderlich.com. В этом туториале вы научитесь использовать новую среду, разработанную командой Android, создав приложение с рецептами. Более подробно о новом фреймворке вы можете узна...

[Перевод] Связь между C# и C#: REST, gRPC и все, что между Существует много способов связи между клиентом C# и сервером C#. Некоторые из них надежные, другие нет. Некоторые очень быстрые, другие нет. Важно знать различные варианты, чтобы вы могли решить, что лучше для вас. В этой статье будут рассмотрены самые популярные на сегодняш...

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

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

9 способов чистить поисковые запросы в Key Collector Дорогие друзья, сегодня я хочу рассказать о том, как эффективно чистить поисковые запросы в программе Key Collector http://www.key-collector.ru/. Чтобы почистить семантическое ядро, я использую следующие способы: Чистка семантического ядра с помощью регулярных выражений. Уд...

[Перевод] HTTP-заголовок Feature-Policy и контроль поведения веб-страниц в браузерах Существует одна совершенно бесподобная методика, позволяющая держать производительность веб-проекта под контролем. Она заключается во внедрении в процесс разработки механизмов, результаты работы которых хорошо заметны. Эти механизмы нацелены на то, чтобы всегда напоминать пр...

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

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

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

XML сайты в результатах поиска Что такое XML сайт XML сайт это сайт страницы которого являются простыми XML файлами с MIME типом "text/xml". Они содержат только уникальные данные для этой страницы. В таком XML файле задаётся ссылка на XSLT шаблон который преобразует XML в HTML или в XHTML в брау...

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

[Перевод] 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше S...

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

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

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

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

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

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

5 спорных моментов, убранных из Scrum Сам по себе фреймворк Scrum уже давно перестал быть инновацией. Появившись задолго до подписания Agile-манифеста, Scrum сегодня неразрывно связан с миром гибких подходов. Основой фреймворка уже довольно давно является «Руководство по Scrum» (Scrum Guide). С момен...

Управление Mac в мире Windows Большинство организаций используют System Center Configuration Manager для автоматизации процессов системного администрирования. Одна незадача: базовая функциональность SCCM ограничена для macOS. Поскольку с каждым годом количество «яблочной» техники в компаниях растет, пр...

[Перевод] Отпечаток браузера: что это, как работает, нарушает ли закон и как защититься. Часть 1 От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме. Что такое отпечатки браузера? Это метод, используемый сайтами и сервиса...

[Из песочницы] A* pathfinding на C#: двоичные кучи и борьба с аллокациями Сегодня мы разбираем один из популярнейших алгоритмов поиска пути. Работать будем с двумерным массивом целочисленных координат. Сначала кратко ознакомимся с методами обхода графов, напишем собственно поиск пути, а затем перейдём к самому вкусному: оптимизации быстродействия...

[Перевод] Python: 18 задач на вывод символов по заданному шаблону Подготовка к техническому собеседованию по Python — нелёгкая задача. На таком собеседовании вам, вполне возможно, встретятся задачи на вывод символов по заданным шаблонам. Если вы хотите научиться решать такие задачи — вам может пригодиться подборка способов их решения, прив...

[Из песочницы] Простой Telegram-бот на Flask с информированием о погоде Всем привет, в этой статье я расскажу как сделать простейшего телеграмм бота на Python для отправки текущей погоды в Москве. Статья расчитана на новичков в Python, которые бы хотели узнать больше о том, как взаимодействовать с внешними сервисами по API. Технологии и API: Py...

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

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

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

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

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

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

Минсвязи предложило отдать государству «золотую акцию» в СП операторов по 5G Об этом заявил журналистам замминистра связи Олег Иванов в кулуарах форума RIW-2019."Я предлагаю рассмотреть возможность, например, “золотой акции” или каких-либо других форм контроля государства над этим совместным предприятием. Думаю, что это будет обсужда...

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

Новая платформа Google сокращает затраты на обучение ИИ-модулей Фреймворк SEED RL построен на платформе TensorFlow 2.0 и использует комбинацию графических и тензорных модулей для централизации модели логического вывода. Вывод затем выполняется с использованием компонента, который обучает модель.Этот компонент, как заявляют в Google, може...

Docker для фронтендера. Часть 2. Что ты такое? Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019. В предыдущей части я постарался ответить на вопрос, зачем фронтенд-разработчику может понадобиться Docker. Сегодня попытаюсь простым языком рассказать, что это за инструмент,...

Микрочип позволит обнаружить COVID-19. Чипирование началось? Новая разработка исследователей из США позволит невероятно быстро выявлять инфицированных коронавирсом. Пандемия COVID-19 продолжает свое шествие по планете. По официальным данным в нашей стране в день регистрируют в среднем 8 тысяч случаев заражения коронавирусной инфекцией...

[Из песочницы] Docker Tips: Очистите свою машину от хлама Привет, Хабр! Представляю вашему вниманию перевод статьи "Docker Tips: Clean Up Your Local Machine" автора Luc Juggery. Сегодня мы поговорим о том, как Docker использует дисковое пространство хостовой машины, а также разберемся в том, как это пространство освободи...

[Перевод] 5 дел, которые можно сделать для того, чтобы подготовиться к приходу Vue 3.0 В 2019 году популярность фреймворка Vue невероятно сильно выросла. Количество еженедельных загрузок Vue удвоилось: в прошлом году это было 600 тысяч, а теперь это 1.2 миллиона. Долгожданная третья версия Vue, следующая итерация фреймворка, должна выйти где-то в первом кварта...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Как напечатать пружину? Часть 1 Захотел напечатать небольшую пружинку на 3D-принтере, и для начала решил поискать в Интернете способы печати подобных вещей. Сразу отмечу, что я не будут рассматривать практичность или применимость напечатанных пружин. В данной статье я опишу несколько способов 3D-печати пру...

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

[Из песочницы] 6 GitHub проектов для веб-разработчиков, на которые стоит взглянуть Привет, Хабр! Представляю вам перевод статьи 6 Github Repos for web developers you should have a look at автора lampewebdev. Однажды я пролистывал ленту dev.to и наткнулся на пост 6 GitHub проектов для быстрой прокачки знаний. Я согласен с автором, что список действительно...

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

Laravel. Локализованный роутинг Привет, Хабр! Хочу рассказать вам о том, как в одном проекте возникла проблема с роутингом и как мы её решали. Сначала наш проект был самым обычным сайтом. Сайт развивался, аудитория расширялась и возникла необходимость поддержки мультиязычности. Проект был на базе фреймвор...

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

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

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

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

Ловим утечки памяти в С/С++ Приветствую вас, Хабровчане! Сегодня я хочу немного приоткрыть свет над тем, как бороться с утечкой памяти в Си или С++. На Хабре уже существует две статьи, а именно: Боремся с утечками памяти (C++ CRT) и Утечки памяти в С++: Visual Leak Detector. Однако я считаю, что они н...

Почему Flutter побеждает? Последний год я так или иначе пишу приложения на Flutter для iOS и Android. До этого у меня был и есть 5 летний опыт работы с Xamarin. Это были замечательные 5 лет. Благодаря Xamarin и моей любви к этому фреймворку я, в принципе, перешел в стан разработчиков, этот инструмент...

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

[Перевод] Локальное хранилище или куки? Безопасное хранение JWT на клиенте JWT (JSON Web Token) — это замечательный стандарт, основанный на формате JSON, позволяющий создавать токены доступа, обычно используемые для аутентификации в клиент-серверных приложениях. При использовании этих токенов возникает вопрос о том, как безопасно хранить их во фрон...

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

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

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

[Перевод] Питонистический подход к циклам for: range() и enumerate() Автор заметки, перевод которой мы сегодня публикуем, хочет рассказать о некоторых особенностях использования циклов for в Python. Цикл for — это один из краеугольных камней программирования. С этими циклами будущие программисты знакомятся в самом начале учёбы и, после пер...

PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой Как стоит поступить (а как точно не надо), если в «многомиллионной» активно используемой таблице PostgreSQL нужно обновить большое количество записей — проинициализировать значение нового поля или скорректировать ошибки в существующих записях? А при этом сохранить свое время...

[Из песочницы] Кому на Руси жить хорошо? Как мы искали самый “зеленый” город с помощью OpenStreetMap и Overpass API У каждой карты есть легенда: именно она говорит читателю о том, что и каким образом на ней обозначено. Домам соответствуют многоугольники серого цвета, дорогам — отрезки и кривые, территории парков и скверов заливаются светло-зеленым и украшаются пиктограммой дерева. А к нек...

Выступает DMN, дирижирует ZeeBe: как использовать бизнес-правила в микросервисах Меня зовут Николай Первухин, я Senior Java Developer в Райффайзенбанке. Так сложилось, что единожды попробовав бизнес-процессы на Camunda, я стал адептом этой технологии и стараюсь ее применять в проектах со сложной логикой. Действительно сама идея подкупает: рисуешь процесс...

Ремесло и успех в IT С интересом читаю статьи про бизнес в IT, хотел поддержать в комментариях автора Так ли просто организовать свой бизнес ИТ-специалисту, но потом понял, что хочу высказаться более развёрнуто. Представлюсь как на встрече анонимных алкоголиков. Я — IT-ремесленник. Из 27 лет ст...

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

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

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

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

Парочка интересных консольных команд (заметка) Доброго времени суток, друзья! В этой небольшой заметке я хочу поделиться с Вами информацией о некоторых консольных командах, которые можно использовать наряду с console.log(). Полный список консольных команд можно посмотреть здесь. От слов — к делу. Да, для работы будет...

Все новое в следующем крупном обновлении Windows 10 Следующее большое обновление «20H1» для Windows 10 было завершено, как мы уже знаем, но Microsoft планирует протестировать обновление еще несколько месяцев, прежде чем распространять его среди широкой публики. В ноябре 2019 года Microsoft заявила, что Windows 10 20H1 будет и...

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

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

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

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

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

Laravel-Дайджест (22–28 июня 2020) Подборка новых статей по фреймворку Laravel. Научимся авторизировать пользователя через Гейты и Политики. Перепишем проект с веб-сокетов на Livewire. Поработаем с аутентификацией через JWT, SPA+Sanctum и Socialite+Facebook. Задеплоим приложение в Kubernetes. Читать дальше &...

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

Microsoft подготавливает обновление Windows 10 20H1 Microsoft работает над обновлением для Windows 10 под кодовым названием «20H1». В пятницу компания выпустила новую сборку Windows 10 Build 19041.153 с различными исправлениями и улучшениями. Windows 10 Build 19041.153 устраняет проблему, которая препятствует загрузке содержи...

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

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

[Перевод] Vim с поддержкой YAML для Kubernetes Прим. перев.: оригинальную статью написал Josh Rosso — архитектор из VMware, ранее работавший в таких компаниях, как CoreOS и Heptio, а также являющийся соавтором Kubernetes alb-ingress-controller. Автор делится небольшим рецептом, который может оказаться очень полезным для ...

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

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

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

[Перевод] Используем PowerShell для работы с REST API Многие из вас наверняка работают с разнообразными инфраструктурами, используя REST API. А поскольку все более широкие слои населения для автоматизации рутинных задач осваивают PowerShell, то почему бы и не начать применять его для работы с REST API? Сегодня вашему вниманию ...

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

Как настроить ваш новый iPhone 11, iPhone 11 Pro или iPhone 11 Pro Max Многие сталкиваются с трудностями при настройке iPhone. Но все очень просто Многие предпочитают обновлять свой смартфон в новогодние праздники (или дарить айфоны близким). Но одно дело, если переход происходит с iPhone XS на iPhone 11 Pro, и совсем другое, если до этого у вл...

[Перевод] Алгоритм быстрого и простого объёмного рендеринга Недавно я написал небольшой ShaderToy, выполняющий простой объёмный рендеринг, а затем решил опубликовать пост с объяснением его работы. Сам интерактивный ShaderToy можно посмотреть здесь. Если вы читаете с телефона или ноутбука, то рекомендую посмотреть эту быструю версию....

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

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

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

Как конкуренты могут легко заблокировать ваш сайт Недавно мы столкнулись с ситуацией, когда ряд антивирусов (Касперский, Quttera, McAfee, Norton Safe Web, Bitdefender и несколько менее известных) начали блокировать наш сайт. Изучение ситуации привело меня к понимаю, что попасть в список блокировки крайне просто, достаточно ...

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

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

Microsoft выпускает новый Office 2019 Build 12325.20012 Microsoft выпустила новую версию Office для Office Insiders в Windows. Новая сборка 12325.20012 представила несколько новых функций в Outlook. Еще одной новой функцией является возможность переключения между несколькими панелями с помощью пользовательского интерфейса с вклад...

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

Честный отзыв про отзывы на IT-волонтере Как работает система отзывов в Интернете на выполненную работу? Зачем нужен отзыв на it-волонтере? В этой статье рассказываю про свой опыт работы на платформе, впечатления о работе с авторами задачи и отзывы на мою работу. О платформе «IT-волонтер» «IT-волонтер» – это...

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

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

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

[Из песочницы] Геокодирование. Как привязать 250 тысяч адресов к координатам за 10 минут? Привет, Хабр! В этой статье я хотел бы поделиться опытом решения маленькой проблемы с большим количеством адресов. Если вы когда-либо работали с API геокодирования или пользовались онлайн инструментами, то думаю вы разделяете мою боль ожидания результата в течение несколь...

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

[Из песочницы] Тестирование JavaScript кода с Jest для чайников. Часть 1 Здравствуй, Хабр! Данное руководство является первой частью в запланированном цикле статей про такой замечательный фреймворк для тестирования как Jest. Материал будет полезен новичкам и тем, кто только знакомится с тестированием, и хотел бы изучить этот фреймворк. В первой ч...

Самые популярные структуры данных Что такое структура данных? Проще говоря, структура данных — это контейнер, в котором хранятся данные в определенной компоновке (формате, или способе организации их в памяти). Эта «компоновка» позволяет структуре данных быть эффективной в одних операциях и неэффективной в др...

[Перевод] Что делать, когда CSS блокирует парсинг страницы? Недавно я проводил аудит одного сайта и наткнулся на паттерн preload/polyfill, который уже видел у нескольких клиентов. В наши дни использование этого паттерна, ранее популярного, не рекомендуется. Однако его полезно рассмотреть для того, чтобы проиллюстрировать важность ост...

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

PIndastrial shield — модуль питания и интерфейса RS-485 для Raspberry PI Существует множество проектов, где в качестве основы системы используется Raspberry PI, но имеется ряд сложностей с обеспечением питания и взаимодействия с внешними устройствами. Я хотел бы поделиться опытом создания небольшого шилда для миникомпьютера, упрощающего его прим...

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

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

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

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

ILUШA vs Dynamixel. Выбор сервопривода с обратной связью Сервопривод отечественного производства Илюша. Мы разрабатываем робот для сбора мячей для гольфа. Для открытия люка сброса мячей нам требуется сервопривод. Мы опробовали огромное количество и сегодня хотим рассказать Вам об очень интересном аналоге Dynamixel который более...

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

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

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

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

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

Релиз InterSystems IRIS 2020.1 В конце марта вышла новая версия платформы данных InterSystems IRIS 2020.1. Даже пандемия коронавируса не предотвратила релиз. Из важного в новом релизе — повышение быстродействия ядра, генерация REST-приложения по спецификации OpenAPI 2.0, шардинг для объектов, новый вид П...

Growth Hacking: запуск команд роста О чем пойдет речь на митапе На примере наших и партнерских кейсов поговорим о том, как использовать инструменты дизайн-мышления, Lean Startup и Agile-фреймворки для поиска точек роста, активации сотрудников в теме инноваций и пред...

Решение нескольких задач от Amazon на примере JavaScript Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang. В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений. После ознакомления с ...

Российские учёные на порядок улучшили алгоритмы обработки изображений Томский государственный университет (ТГУ) сообщает о разработке передового метода анализа сигналов и изображений в сложных телекоммуникационных и навигационных системах, на которые воздействуют случайные помехи. Утверждается, что предложенная технология позволяет повысить то...

Неисповедимы пути контента или про CDN замолвим слово Дисклеймер: Данная статья не несет в себе сведений ранее неизвестных читателям, знакомым с понятием CDN, а носит характер обзора технологии Первая веб-страница появилась в 1990 году и имела размер в считанные байты. С тех пор контент масштабируется как качественно, так и ко...

[Перевод] Мой новый стек веб-технологий для 2020 года Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому...

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

[Перевод] Взлом Wi-Fi-сетей, защищённых WPA и WPA2 Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать о том, как взломать Wi-Fi-сеть, для защиты которой используются протоколы WPA и WPA2. Статья написана исключительно в ознакомительных целях Читать дальше →

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться н...

[Из песочницы] Императивный подход к реактивным данным на примере Jetbrains KTor и R2DBC Статья об использовании реактивного доступа к базам данных из корутин. Spring все упрощает, но это плохо сказывается на понимании реальных процессов работы приложения. Для демонстрации был выбран фреймворк KTor (просто потому, что мне нравится смотреть на то, что делает JetB...

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

Как защитные механизмы Safari портят жизнь рекламодателям Safari — настоящая боль для рекламодателей Обеспечение конфиденциальности пользователей – один из столпов, на которых Apple удалось выстроить свой авторитет. Чтобы выполнить данное обещание, компании зачастую приходится идти не только против самой себя, добровольно соз...

Выпущена новая сборка Microsoft Edge Dev 81.0.416.3 Компания Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 81.0.416.3 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Вероятнее всего, это последняя сборка с номером версии 81 в ветке De...

Хаос зависимостей в Python Знакомы ли вы с историей Python packaging? Ориентируетесь ли в форматах пакетов? Знаете ли, что распутывать клубок зависимостей придется даже когда кажется, что вот оно чудо — zero dependency? Уверен, что знакомы со всем этим не так хорошо, как автор библиотеки DepHell. М...

Браузер Chrome будет автоматически блокировать назойливую видеорекламу Главная задача Google — вытеснить из браузера Chrome сторонние блокировщики, такие как uBlock Origin и AdBlock Plus Форматы видеорекламы, которые блокируются с 5 августа 2020 года. Источник: Google Разработчики браузера Chromium расширили набор правил для встроенного блоки...

FOSS News №3 — обзор новостей свободного и открытого ПО за 10-16 февраля 2020 года Всем привет! Продолжаем обзор новостей свободного и открытого ПО. Всё традиционно – новости о внедрениях, открытии исходников, новых программах и бонус, небольшой интерактив в конце чтобы познакомиться с программными предпочтениями друг друга. В выпуске №3 за 10-16 февра...

Статический генератор сайтов Hugo. Фронтенд реалии В 2020 практически весь мир фронтенда заполонили Javascript фреймворки. Только и слышно о React, Angular, Vue и иногда в далеких просторах можно услышать тихий шепот «Svelte». Разработчики умело используют эти инструменты для создания крутых продуктов, но есть и «динозавры» ...

Компания CBS разрешила пользователям Linux посмотреть сериал «Звёздный путь», спасибо ей за это В январе любители научной фантастики порадовались продолжению культового сериала Star Trek. Новый сезон называется «Звёздный путь: Пикар» (рейтинг IMDB зашкаливает: 8,70). Но радость оказалась недолгой. Во-первых, для просмотра требуется подписка на онлайн-сервис CBS All Acc...

[Перевод] Будущее интерактивного дизайна в руках Когда я смотрю фантастические фильмы или ролики о том, какие гаджеты и техника нас будет окружать через 10-20-30 лет, то чаще всего вижу разные прозрачные экраны, голограммы или проекции на руку, лоб или пупок. Чтобы всем этим управлять нужен всего-то один палец. Всё выгляди...

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

Про перевод «сфер» Про «сферы» Не знаю, как вас, а меня корёжит, когда «в сфере» переводят на английский in the sphere. В этой статье я как раз поговорю об этих всяких сферах и сразу дам спойлер — слова sphere вы нигде в примерах не увидите. Примерно в половине случаев эта фраза вообще не пере...

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

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Цифро-аналоговое и смешанное моделирование в PADS Professional Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих...

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе д...

Microsoft вернёт деньги за Cyberpunk 2077 для Xbox, но не будет удалять игру из магазина Microsoft заявила, что все геймеры, которые приобрели цифровую версию игры Cyberpunk 2077 для Xbox через Microsoft Store, смогут оформить возврат средств независимо от количества часов, проведённых в игре. Удалять Cyberpunk 2077 из магазина компания не планирует. Ранее офор...

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

Как мигрировать с mocha на jest в 14 простых шагов — и зачем Уже давно я заглядывался на фреймворк для тестирования jest, в котором есть огромное количество всяких вкусных фишек, одна из которых — многопоточное выполнение тестов. При условии того, что у меня был проект на 5000 юнит тестов, миграция обещала быть крайне полезной. Далее...

HMI на основе Node-red и Scadavis.io В настоящее время в связи с ростом популярности концепции IoT и развитем сопутствующих технологий многие производители программного обеспечения для промышленной автоматизации используют это в своих продуктах. Доступ к SCADA-системам через web-интерефейс — идея и реализация н...

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

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

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

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

[Перевод] Как сделать ваш код на Python быстрым и асинхронным с Sanic Всем привет, в этой статье я расскажу о создании простых асинхронных проектов на фреймворке Sanic. Читать далее

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

12 скрытых возможностей Google Chrome на Android Я уже приводил примеры браузеров для Android. Из очень много и есть из чего выбрать. Хотя, многие построены на одном движке и из-за этого мало чем отличаются, кроме расположения органов управления. Сейчас мы будет говорить про один браузер, но именно он имеет столько малоиз...

На iOS вышла фэнтезийная action RPG Vengeance в стиле Diablo Разработчик Dmitry Torba выпустил на iOS action RPG под названием Vengeance, которая доступна на Android уже несколько месяцев. Это одиночное приключение, в которое вы можете отправиться, выбрав один из 7 классов персонажей, у каждого из которых есть по 4 навыка. В процессе...

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

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

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

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

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

[Из песочницы] Что такое NFC и как он работает. Освежим основы? Здравствуйте, пользователи Хабра! Я представляю вашему вниманию перевод статьи «What is NFC and how does it work» под авторством Robert Triggs. Вроде, казалось бы, зачем автору оригинала писать на эту тему в 2019-м, а мне переводить на пороге 2020? Сегодня NFC обрело свою ре...

Составлен рейтинг самых «горячих» смартфонов 2021 года В рейтинг вошли только модели, оснащённые Qualcomm Snapdragon 888, Snapdragon 870, Snapdragon 865 и Snapdragon 865 Plus. Эти чипы обеспечивают самую высокую производительность и являются самым популярным выбором для смартфонов субфлагманского и флагманского уровней. Самым «г...

Выпущена новая сборка Microsoft Edge Dev 83.0.478.5 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.478.5 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Эта сборка является кандидатом на выпуск на канале Beta, и она немного новее,...

В ядро Linux 5.6 включили VPN WireGuard Сегодня Линус перенёс к себе ветку net-next с VPN-интерфейсами WireGuard. Об этом событии сообщили в списке рассылки WireGuard. В данный момент продолжается сбор кода для нового ядра Linux 5.6. WireGuard — быстрый VPN нового поколения, в котором реализована современная кр...

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

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

Laravel-Дайджест (29 июня – 5 июля 2020) Подборка новых статей по фреймворку Laravel. Разберемся как работает шифрование во фреймворке. Аутентифицируем пользователя по отпечатку пальца. Развернём приложение по методу zero-downtime. Спарсим данные с сайтов и выведем в удобной для себя форме. И устроим видео-стриминг...

В Chrome для Android появится поддержка Google Assistant Скоро в Chrome появится Google Assistant Приложения и сервисы Google, являющиеся составными частями единой экосистемы, на самом деле практически никак не связаны между собой. Тем не менее, поисковый гигант ведёт давнюю работу по исправлению этого недостатка, стараясь совмест...

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

Анализ международных документов по управлению рисками информационной безопасности. Часть 1 Друзья, в предыдущей публикации мы рассмотрели нормативные документы по защите информации в российской кредитно-финансовой сфере, некоторые из которых ссылаются на методологии оценки и управления рисками ИБ. Вообще, если говорить с позиции бизнеса, управление информационной ...

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

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

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

Огромное обновление Firefox для Android Mozilla представила обновленный браузер Firefox для Android. Он содержит множество новых функций и оптимизаций. Большинство из них пришли непосредственно из настольной версии браузера. Компания хочет обеспечить бесперебойную работу на разных платформах. В результате Fir...

Galaxy S9 обновится до Android 10 в феврале Компания Samsung опубликовала roadmap, в соответствии с которым существующие аппараты будут получать Android 10. Например, владельцы модификаций Galaxy S9 и S9+ смогут загрузить апдейт в феврале этого года. А пользователи телефонов Galaxy A70, A50 и A80 – в апреле. В списке...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

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

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

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

Автоматизируем ведение большого количества пользователей в AD Автоматизируем ведение большого количества пользователей в AD: Добрый день! В этой статье я бы хотел описать применённое мной практическое решение по автоматизации одной рутинной задачи второй линии технической поддержки одного крупного предприятия. Имеем два территориаль...

Windows 10 KB4556799 вызывает проблемы сети и BSOD Windows 10 KB4556799 вызывает множество новых проблем для некоторых конфигураций ПК. Помимо проблем со звуком, временного профиля пользователя и падений FPS, последнее накопительное обновление Windows 10 также вызывает у некоторых пользователей «Синий экран смерти», различны...

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

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

Фреймворконезависимый фронтенд GoF, Чистая архитектура, Совершенный код — настольные книги «true программиста». Но в мире фронтенда многие идеи из этих книг недоступны. По крайней мере сходство с реальным миром найти очень сложно. Может быть современный фронтенд опережает время? Может быть «функциональное...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

Обновление Microsoft Edge сломало одну из базовых функций браузера. Сбоит открытие вкладок при запуске, и не только Компания Microsoft на днях  выпустила большое обновление фирменного браузера Edge 91. Однако это обновление оказалось проблемным.  Как сообщалось ранее, в Edge 91 появилось навязчивое предложение обновить настройки браузера и перейти на Microsoft Bring в каче...

Как сбросить пароль при выходе в Windows: самый простой способ Существует много способов вернуть доступ к операционной системе, если пароль забыт. Узнать пароль при входе нельзя, но зайти в систему можно: делимся одним из самых простых методов без использования стороннего софта.

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

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

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

Compositional Layout в iOS 13. Основы Добрый день, На практике iOS разработчик часто сталкивается с задачей показа большого количества информации в виде списка или в виде коллекции, как правило, для этого отлично подходят UITableView или UICollectionView. Также часто встречается задача реализации экрана, который...

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

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

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

Microsoft выпустит антивирус Defender для iOS. Зачем? Несмотря на то что для iPhone практически всегда существовала процедура джейлбрейка, позволявшая взломать iOS, именно он считался самым защищённым смартфоном на рынке. Ни один аппарат под управлением Android не мог составить ему конкуренцию, когда речь заходила о безопаснос...

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

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

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

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

Новое обновление Windows 10 может замедлить работу вашего ПК В 2018 году Microsoft изменила движок своего преемника Internet Explorer «Edge», чтобы использовать те же функции, что и Google Chrome. Edge на базе Chromium был выпущен в январе 2020 года для ОС Windows 10, Windows 8.1, Windows 7 и macOS. В прошлом месяце Microsoft также на...

[Перевод] 5 инструментов геймдизайнера, которые помогут вашей игре Видеоигры существуют более 50 лет. За это время технологии скакнули от текстовой The Oregon Trail до фотореалистичной Red Dead Redemption 2. Не говоря уже о VR-тайтлах вроде Half-Life: Alyx, которая выходит в конце марта. И все же, игровая индустрии еще очень молодая. Пос...

Как работает система Marketplace efficiency для сервисов доставки продуктов Привет, Хабр! Меня зовут Артём Селихов, я Product manager в команде СберМаркета, и я отвечаю за управление программными продуктами для операционных процессов, которые мы разрабатываем для наших партнеров — курьеров и экспертов по закупке. В первом посте мы уже рассказывали...

Как добавить иконки сайтов на вкладки Safari на iPhone, iPad и Mac (macOS) Отличительной особенностью браузера Safari является отсутствие иконок страниц на открытых пользователем вкладках. Некоторым это может показаться не слишком удобным, так как при открытии множества страниц, найти нужную по цветному ярлыку легче, чем по ее названию. ♥ ПО ТЕМЕ: ...

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

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

Три в одном, или Как мы переехали в новый ЦОД, обновили ПО и сделали Disaster Recovery Переместить большой объем данных не останавливая работу серверов — задача посложнее, чем построить с нуля новую архитектуру. Надо понимать, что, как, когда и куда, а еще организовать переезд так, чтобы не тормозить уже существующие бизнес-процессы. Мы смогли найти программны...

Забудьте про RGB и HEX В CSS существует несколько способов представления цветов. Один из них — система HSL. В этой статье я покажу вам, какие возможности она открывает для верстальщика. Читать дальше →

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

Невероятные 8192 ядра CUDA. Таким, судя по всему, будет новый монструозный GPU Nvidia Несколько дней назад в Сети засветились неизвестные графические адаптеры Nvidia с невероятным количеством исполнительных блоков. Мы видели две разные карты со 108 и 118 блоками CU, что означает наличие 6912 и 7552 ядер CUDA соответственно, при условии, что количество яд...

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

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

[Перевод] Конференция DEFCON 27. Твой автомобиль – мой автомобиль. Часть 1 Брифинг выступления: Для многих из нас автомобиль – одна из самых дорогих покупок, которую мы когда-либо совершали. В мире, где все вещи взаимосвязаны, вполне естественно хотеть удаленно контролировать свою машину: получать напоминания, где мы ее припарковали, проверять, н...

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

[Из песочницы] Умеем ли мы готовить Java, Kotlin RestController? Практически любой программист на java в своей жизни писал RestController, но мало кто задумывается правильно ли он это делает. Даже если вы опытный программист, у вас могут возникнуть вопросы на которые я постараюсь ответить. В статье будут затронуты такие фреймворки как spr...

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

[Перевод] Ода Excel: 34 года волшебства Примечание: статья была написана в 2019 году, а в этом Microsoft Excel отмечает уже 35-летний юбилей. Чему инструмент, выдержавший проверку временем, может научить нас в эпоху «софта, который пожирает мир»? В статье я хочу показать вам, как фундаментальные принципы, стоящи...

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

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

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

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

Почему пользователи Windows 7 все еще могут обновиться до Windows 10 бесплатно? Еще в июле 2015 года, когда компания запустила Windows 10, Microsoft позволила пользователям Windows 7 и Windows 8.1 обновляться совершенно бесплатно до новой версии ОС, если переход выполнялся в течение первого года доступности.Теоретически, это предложение о бесплатном обн...

Готовы ли читатели AppleInsider.ru купить iPhone совсем без разъёмов Беспроводная зарядка может стать единственным способом зарядить iPhone уже через два года Беспроводное будущее, в которое Apple пригласила нас в 2016 году, когда представила первые AirPods, так и не наступило. Прошло уже три года, аудитория тех, кто предпочитает беспроводные...

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

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

Paralives — инди-проект для тех, кто играл в The Sims исключительно ради строительства The Sims — одна из самых популярных серий игр в жанре симулятора жизни с большим количеством возможностей, существующая с 2000 года. Конкуренты появлялись в течение всех этих 20 лет, но ни одному и близко не удалось подобраться к тому, что предлагали игры от EA. Однако сейч...

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

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

PlayStation на Android и iPhone. Sony выпустила новое мобильное приложение Компания Sony объявила о выпуске обновлённого приложения PlayStation App. Это приложение-компаньон для мобильных устройств на основе Android и iOS.  Как отмечает Sony, обновленное приложение PlayStation App призвано «улучшить вашу игру» на PS4 и PS5 и ...

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

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

Match-3 Framework – это «просто» Один из наших новых проектов, которые мы сейчас разрабатываем — игра в жанре Match-3. В этой статье расскажем о некоторых интересных технологических решениях, которые мы для нее используем. Речь пойдет о разрабатываемом фреймворке для Match-3 игр (M3Engine) и прилагающемся к...

Как справиться с декомпозицией задач и не перестараться Всем привет! Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объекто...

[Перевод] Пол Грэм: «Главная идея в вашей голове» (The Top Idea in Your Mind) Недавно я понял, что недооценивал важность того, о чем люди думают в душе по утрам. Я и раньше знал, что в это время в голову часто приходят отличные идеи. Теперь я скажу больше: вряд ли вы сможете сделать что-то действительно выдающееся, если не будете думать об этом в душе...

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

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

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

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

Обеспечить удалёнку и не облажаться. Советы ИТ-директору Сегодня главная проблема компаний, особенно крупных, заключается в том, что отправка нескольких тысяч сотрудников на удалённую работу — это трудная задача как для ИБ, так и для ИТ-службы в целом. Вы можете отправить людей домой, сделать VPN, но подключение к корпоративной ...

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

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

[Перевод] Как подключить OLED дисплей к Raspberry Pi Pico — быстрый старт У Raspberry Pi Pico несколько функциональных ограничений, включая отсутствие модуля беспроводной связи. Но, в целом, это отличная плата для реализации самых разных проектов. Одно из ее достоинств — простота подключения дисплея. Она позволяет работать с Pico Display или Pico...

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

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

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

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

Какими бывают читы: обзор самых популярных хаков на примере CS:GO Сколько существуют компьютерные игры, столько же существуют и читы - способы обойти игровые механики и получить преимущество. Читы активно используются и в синглплеерных играх - позволяют быстрее пройти игру или просто развлекаться в "режиме бога". Но куда любопытнее феномен...

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

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

В браузере Apple Safari устранены уязвимости, позволявшие следить за пользователями Исследователи Google, работающие в сфере информационной безопасности, обнаружили в веб-браузере Apple Safari несколько уязвимостей, которые могли использоваться злоумышленниками для слежки за пользователями.

[Перевод] Использование паттерна BFF для создания общих типов в бэкенде и фронтенде Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ...

«Лаборатория Касперского» выпускает два решения на базе собственной безопасной ОС Одно из решений - Kaspersky IoT Secure Gateway - предназначено для защиты IoT-инфраструктуры и безопасного подключения устройств интернета вещей к облаку. Задача второго - KasperskyOS for Thin Client - стать основой для доверенной и управляемой инфраструктуры тонких клиенто...

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

Превращаем EditText в SearchEditText Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям о...

[Перевод] Как обойти капчу-слайдер с помощью JS и Puppeteer Друзья, предлагаю вашему вниманию перевод статьи "How to bypass “slider CAPTCHA” with JS and Puppeteer" автора Filip Vitas. Спам для владельца сайта – огромная проблема. С другой стороны, капчи сводят меня с ума и ухудшают пользовательский опыт. Капчи отстой. Скаж...

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

Быстрые и эффективные способы получить алмазы в Free Fire Хотели вы когда-нибудь получить много алмазов в королевской битве Free Fire? Предвкушая ответ, можем вас обрадовать, ведь в этой статьей мы расскажем о самых эффективных способах сделать это как за вкладывание реальных денег, так и совершенно бесплатно. Но почему игроку нужн...

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

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

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

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

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

Как перенести музыку из Apple Music и Яндекс.Музыки в Spotify Спустя много лет ожидания музыкальный сервис Spotify наконец-то официально запустился в России. С одной стороны, наверное, уже поздновато, поскольку большинство пользователей давно организовали свою медиатеку в других сервисах. У моих коллег, например, вся музыка уже нескол...

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

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

Список дел для iPhone и адронный коллайдер: приложения дня в App Store Каждый день мы мониторим App Store и десятки сайтов со скидками, чтобы выбрать лучшие приложения и опубликовать и здесь. Сегодня вот можно урвать сборник радиостанций с новостями, to-do-менеджер для айфона и интересную игру, с которой вы окажетесь в адронном колайдере. Если...

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

В браузер Atom пришла Маруся Разработчики браузера Atom, за которым стоит Mail.ru Group, объявили о выпуске важного обновления. В браузере Atom появились функции голосового управления благодаря интеграции с цифровым помощником Марусей.  Марусю можно попросить открыть нужный сайт, рассказать н...

[Перевод] Keras Functional API в TensorFlow В Keras есть два API для быстрого построения архитектур нейронных сетей Sequential и Functional. Если первый позволяет строить только последовательные архитектуры нейронных сетей, то с помощью Functional API можно задать нейронную сеть в виде произвольного направленного ац...

[Перевод] 21 извлеченный урок за 21 год программирования Доброго времени суток, друзья! 7 апреля 2020 года. Сегодня для меня очень важный день. Сегодня исполняется ровно 21 год с того момента, как я начал писать код (делать это профессионально, зарабатывать этим себе на хлеб). Кажется, что это было только вчера… сегодня я — че...

Что обязательно должно быть в Samsung Galaxy S30 До выхода Samsung Galaxy S30 (или S21, что мне нравится намного больше) осталось примерно полгода. Кажется, что это еще очень не скоро, но не спешите так думать. Это как раз то время, за которое можно все продумать и внести коррективы в прототипы устройства нового поколения...

Нейросеть GPT-3 вела мотивационный блог на английском и всем понравилось. Чем это грозит копирайтерам и писателям Компания OpenAI, которую несколько лет назад основал Илон Маск, в июне выпустила новый алгоритм нейросети GPT-3. На сегодня это самая совершенная система, которая умеет работать с естественными языками. Ее возможности просто колоссальны. С помощью GPT-3 можно создавать л...

Выпущена новая сборка Microsoft Edge Dev 83.0.474.0 Microsoft выпустила новую сборку Microsoft Edge на базе Chromium под номером 83.0.474.0 для канала Dev, которая принесла с собой несколько новых функций, а также различные исправления и улучшения. Это она из последних сборок в рамках версии 83. Основные новшества: Теперь из...

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

[Перевод] Использование современных графических форматов в веб-проектах Эдди Османи, в статье «Цена JavaScript в 2018 году», озвучил одну ценную мысль: время, необходимое на обработку скрипта размером 200 Кб, и на обработку изображения, имеющего такой же размер, серьёзно различается. Дело в том, что при обработке кода браузеру нужно проделать бо...

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

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

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

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

Что ожидается в Windows 10 версии 21H1 Вот-вот недавно вышло обновление системы Windows 10 версии 20H2, которое почти не отличается от выпущенного в первом полугодии May 2020 Update (версия 2004). Если принцип выпуска обновлений не изменится, версия Windows 10 21H1 появится весной 2021 года. Однако, слухи утвержд...

Защита документов от копирования Существует 1000 и один способ защиты электронных документов от несанкционированного копирования. Но как только документ переходит в аналоговое состояние (согласно ГОСТ Р 52292–2004 «Информационная технология. Электронный обмен информацией. Термины и определения», понятие «ан...

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

Пентест вебсайта с помощью Owasp Zap Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универс...

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

В iOS 14 и macOS Big Sur появится поддержка DNS-over-HTTPS. Что это такое и зачем нужно Безопасность пользователей всегда была для Apple главным приоритетом, который она ставила выше своих и тем более чужих интересов. Несмотря на это, мало кто ожидал, что в Купертино смогут вот так запросто подорвать сложившуюся в интернете экономическую модель, запретив межса...

[Перевод] Стилизация старого доброго элемента button Кнопка — это один из тех элементов, которые чаще всего используются на веб-страницах. Тег <button></button> может быть применён для запуска некоего процесса вроде вывода данных, открытия модального окна, отправки формы и так далее. В материале, перевод которого м...

Radeon RX 5600 XT приписывают GPU от Radeon RX 5700 и выход в январе О видеокартах Radeon RX 5600 и RX 5600 XT последнее время всё больше слухов и утечек. Наиболее интересно то, что сертификационные данные указывают на существование версий с 6 и 8 ГБ памяти для каждой из этих моделей. Но на самом деле не обязательно, что данные карты буд...

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

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

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

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

Как передать файлы с Android на iPhone и обратно Нас часто спрашивают, как передать файлы с Android на iPhone или с iPhone на Android. Такой вопрос вполне понятен, так как разные операционные системы имеют между собой мало точек соприкосновения, и поэтому передача файлов превращается в пляску с бубнами. Проблема еще в том...

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

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

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