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

[Перевод] Создаём максимально недоступный сайт с идеальной оценкой Lighthouse Встроенный инструмент тестирования Google Lighthouse оценивает доступность (accessibility) сайтов по шкале от 0 до 100. Похвально стремиться к максимальной читаемости контента, но оценка 100 не означает, что сайт идеально доступен. Для доказательства я провёл небольшой экспе...

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

[Перевод] Создание игры «Крестики-нолики» при помощи TypeScript, React и Mocha Представляем вам перевод статьи Josh Kuttler, опубликованной на blog.bitsrc.io. Узнайте, как создать приложение «Крестики-нолики», используя React и TypeScript. Простая игра в крестики-нолики создана по модульному принципу и загружена на сайт Bit. Вы можете изменять компо...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

[Перевод] Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания. Привет, кодеры! Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных язык...

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

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

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

[Перевод] 10 советов и приемов, которые помогут вам стать лучшим разработчиком на VueJS Перед вами вольный перевод статьи 10 Tips & Tricks to make you a better VueJS Developer с сайта Dev.to. Автор расскажет нам об интересных и полезных вариантах применения привычных нам средств VueJS. Введение Мне действительно нравится работать с VueJS и каждый раз, когда...

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

[Перевод] MVC в Unity со Scriptable Objects. Часть 1 MVC (Model-View-Controller) — это схема, предполагающая разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента, чтобы каждый из них можно было независимо модифицировать. Разработчик Cem Ugur Karacam поделился своим опытом ...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

[Перевод] История четырёхкратного ускорения React-приложения Почти 60% посетителей сайта покидают его в том случае, если его загрузка занимает более 3 секунд. 80% таких посетителей на сайт уже не возвращается. Это говорит о том, что успех веб-проекта не в последнюю очередь зависит от его скорости. Автор материала, перевод которого мы ...

Тестировать верстку? Легко Статья подготовлена Анной anna-che и Ксенией KseMish. Одной из причин, по которой мы активно взялись за тестирование верстки, стали, как обычно, грабли. Мы с размаху наступили на баг, который стал проявляться после очередного обновления Хрома. Оказалось, что в течение 3-х ...

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

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

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

[Перевод] Обмен данными между React-компонентами с использованием библиотеки RxJS Перед вами перевод статьи Chidume Nnamdi, опубликованной на blog.bitsrc.io. Перевод публикуется с разрешения автора. Появление библиотеки RxJS открыло массу новых возможностей в мире JS. Цель RxJS — достигать многого, используя небольшое количество кода. Прочитав эту стат...

[Из песочницы] Классификация покрова земли при помощи eo-learn. Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи "Land Cover Classification with eo-learn: Part 1" автора Matic Lubej. Предисловие Примерно полгода назад был сделан первый коммит в репозиторий eo-learn на GitHub. Сегодня, eo-learn превратился в замечательную библиоте...

Используем SQLite в Flutter Привет, Хабр! Представляем вашему вниманию перевод статьи «Using SQLite in Flutter». Сохранение данных очень важно для пользователей, так как нецелесообразно грузить одни и те же данные из сети. Разумнее будет сохранить их локально. В этой статье я продемонстрирую как с...

[Из песочницы] Создаем элементы интерфейса программно с помощью PureLayout Привет, Хабр! Представляю вашему вниманию перевод статьи Creating UIViews Constraints Programmatically Using PureLayout автора Aly Yaka. Сегодня я проведу вас через создание простого пользовательского интерфейса мобильного приложения кодом, без использования раскадровок и...

[Перевод] Прокачиваем навыки отладки JavaScript с помощью консольных трюков Перед вами перевод статьи из блога Better Programming на сайте Medium.com. Автор, Indrek Lasn, рассказывает об инструментах для отладки кода, которые предоставляет JavaScript. Читать дальше →

[Перевод] Что нужно знать о массивах JavaScript Представляем вам перевод статьи автора Thomas Lombart, которая была опубликована на сайте medium.freecodecamp.org. Перевод публикуется с разрешения автора. Пример использования метода reduce для сокращения массива Позвольте мне сделать смелое заявление: циклы часто бывают...

AppsCast #13: Accessibility В очередном выпуске AppsCast мы пригласили сразу двух гостей из Додо Пиццы - Михаила Рубанова, iOS разработчика делающего доступные интерфейсы приложения для слабовидящих людей и Армена Хатаяна, который занимается тестированием доступности применяя свой опыт незрячего.

[Из песочницы] Создание Redux-подобного глобального хранилища, используя React Hooks Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay. Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если...

Создаем виджет с помощью пользовательских CSS-свойств: встраиваем кастомную ссылку на сайт NHL Автор курса Нетологии «HTML-верстка», Стас Мельников, показал пример верстки виджета, который можно встроить на сторонний сайт. В прошлый раз мы рассказали, что такое пользовательские свойства, а сейчас на примере сайта NHL покажем, как с их помощью встроить кастомную ссыл...

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

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

[Из песочницы] Когда использовать var, let и const в Javascript [перевод статьи Tyler’а McGinnis] Привет, Хабр! Представляю вашему вниманию перевод статьи «var vs let vs const in JavaScript» автора Tyler McGinnis. В этой статье вы узнаете 2 новых способа для создания переменных в Javascript (ES6), let и const. На протяжении этой статьи мы рассмотрим разницу между var,...

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

[Перевод] Почему в основе каждого нового веб-приложения в PayPal лежит TypeScript? Недавно мы опубликовали материал, в котором Эрик Эллиот критиковал TypeScript. Сегодня мы представляем вашему вниманию перевод статьи Кента Доддса. Тут он рассказывает о том, почему в PayPal перешли с Flow на TypeScript. Читать дальше →

Результаты тестирования процессоров Intel с Hyper-Threading и без с RTX 2080 Ti Коллеги с сайта techspot опубликовали результаты тестирования процессоров Intel с включённой и отключённой функцией Hyper-Threading (в рамках безопасности), и мы решили поделиться с вами результатами тестирования в данной статье

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit. В данной статье я опишу как ...

Сравнительное тестирование PostgreSQL на FreeBSD, CentOS, Ubuntu Debian и openSUSE Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «PostgreSQL benchmark on FreeBSD, CentOS, Ubuntu Debian and openSUSE» автора Martin Kováčik. В ней рассматриваются тесты СУБД PostgreSQL 10.1 в приближенных к реальным условиям средах на различных unix-сис...

[Перевод] Рассказ о том, почему я до сих пор использую jQuery Многие, когда речь заходит о jQuery, говорят так: «Просто пользуйтесь обычным JavaScript. Библиотека jQuery вам не нужна». Что тут сказать? Я не нуждаюсь во многих вещах, но, несмотря на это, хорошо, когда они есть. Так и jQuery. Я в этой библиотеке не нуждаюсь, но её, опред...

Angulareact У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать. Читать дальше →

[Перевод] Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen. В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество сто...

[Перевод] API IntersectionObserver и ленивая загрузка изображений Использование ленивой загрузки изображений для улучшения производительности веб-проектов — востребованная техника оптимизации. Всё дело в том, что изображения — это «тяжёлые» ресурсы, которыми переполнены современные веб-сайты. Мы уже кое-что об этом публиковали. Здесь можно...

[Перевод] Введение в Redis с использованием Spring Boot Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework». В этой статье мы рассмотрим основы использования Redis через Spring Boot с помощью библиотеки Spring Data Redis. Мы создадим приложение, которое демонстрирует, как выполнять CR...

[Перевод] Учебник по JavaFX: основные макеты Перевод статьи «JavaFX Tutorial: Basic layouts» автора Vojtech Ruzicka. Как организовать и разместить GUI компоненты в приложении JavaFX. Это четвертая статья в серии о JavaFX. В предыдущей статье я описал, как использовать FXML и SceneBuilder для создания вашего пользоват...

Мобильный интернет в Украине оказался самым дешёвым в Европе и 4-м по доступности в мире Украинцы любят рассказать, как всё плохо, дорого, а жадные операторы сотовой связи постоянно повышают тарифы и непомерно наживаются на простом народе. Но объективная реальность далека от этих стенаний. Об этом свидетельствуют результаты исследования провайдера Cable.co.uk, к...

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

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

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

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

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

[Из песочницы] Full-stack TypeScript Apps Привет, Хабр! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro. Часть 1: Разработка серверного API с помощью Nest.JS TL;DR: это серия статей о том, как создать веб-приложение TypeScript ...

Как дебажить фронтенд и бекенд: пошаговая инструкция Привет, Хабр! Представляю вам перевод статьи "How to debug javascript in Chrome quick and easy ". В этом посте мы научимся дебажить JavaScript на фронт- и бекенде с помощью Chrome DevTools и VS Code. Читать дальше →

[Перевод] Разбираемся с асинхронностью в JavaScript [Перевод статьи Sukhjinder Arora] Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding Asynchronous JavaScript» автора Sukhjinder Arora. Читать дальше →

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

[Перевод] Что не так с A/B тестированием Мы подготовили для читателей Хабры перевод статьи Майкла Камински, бывшего директора по аналитике в Harry’s. Он рассуждает о том, что не так с A/B тестированием. Комментирует материал Глеб Сологуб, директор по аналитике Skyeng. Понятие A/B-тестирования основано на в корне ...

Ускоряем PHP-коннекторы для Tarantool с помощью Async, Swoole и Parallel В экосистеме PHP на данный момент существует два коннектора для работы с сервером Tarantool ― это официальное расширение PECL tarantool/tarantool-php, написанное на С, и tarantool-php/client, написанный на PHP. Я являюсь автором последнего. В этой статье я хотел бы подели...

Полный перевод инструкции для асессоров Google Как ранжирует Google сайты, как работает его алгоритм? Этими вопросами можно долго мучиться и не находить на них ответа, в то время как давно доступна инструкция Google для асессоров. Безусловно, в ней нет алгоритмов, но есть принципы разметки сайтов в сети. Учитывая требова...

[Из песочницы] UICollectionView всему голова: Изменение представления на лету Привет, Хабр! Представляю вашему вниманию перевод статьи "UICollectionView Tutorial: Changing presentation on the fly". В данной статье мы рассмотрим использование различный способов отображение элементов, а также их переиспользование и динамическое изменение. Зде...

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

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

[Из песочницы] Vue.js render-функции и переходы (перевод статьи Hajime Yamasaki Vukelic) Здравствуй, Хабр! Начать свою деятельность решил с перевода на русский статей, который мне самому принесли большую пользу. Надеюсь, вам пригодятся. Отмечу, что я старался переводить литературно, а не дословно. Первым вашему вниманию представляю перевод статьи «Vue.js rende...

[Перевод] Крошечные компоненты: что может пойти не так? Используем принцип единственной ответственности Представляем вашему вниманию перевод статьи Scott Domes, которая была опубликована на blog.bitsrc.io. Узнайте под катом, почему компоненты должны быть как можно меньше и как принцип единственной ответственности влияет на качество приложений. Фото Austin Kirk с Unsplash Чит...

[Из песочницы] Как хакеры используют Microsoft Excel против самого себя Привет, Хабр! представляю вашему вниманию перевод статьи «How Hackers Turn Microsoft Excel's Own Features Against It» автора Лили Хэй Ньюман. Elena Lacey, getty images Наверняка для многих из нас Microsoft Excel – программа скучная. Она много чего умеет, но всё-таки это н...

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

[Из песочницы] Учебник по JavaFX: начало работы Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka. Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK. Читать дальше →

22 сайта для программиста, которые помогут заговорить на английском Хабр, привет! Сделал подборку из 22-х сайтов для изучения английского языка. Подборка поможет изучить английский легко, без зубрежки и учебников. Приступим! Учить лексику Плагины, мобильные приложения и сайты, которые помогут перевести и запомнить незнакомые термины с ...

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

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

[Перевод] Деплоим ML проект, используя Flask как REST API, и делаем доступным через приложение на Flutter Введение Машинное обучение уже везде и, пожалуй, почти невозможно найти софт, не использующий его прямо или косвенно. Давайте создадим небольшое приложение, способное загружать изображения на сервер для последующего распознавания с помощью ML. А после сделаем их доступными ...

[Из песочницы] TON: рекомендации и лучшие практики Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →

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

[Перевод] Руководство по API Коллекций Vavr VAVR (известная ранее, как Javaslang) — это некоммерческая функциональная библиотека для Java 8+. Она позволяет писать функциональный Scala-подобный код в Java и служит для уменьшения количества кода и повышения его качества. Сайт библиотеки. Под катом — перевод статьи, сис...

TDD приложений на Spring Boot: тонкая настройка тестов и работа с контекстом Третья статья в цикле и небольшое ответвление от основной серии — в этот раз я покажу как устроена и как работает библиотека интеграционного тестирования Spring, что происходит при запуске теста и как можно тонко настраивать приложение и его окружения для теста. Читать дальш...

[Перевод] Крутые фичи Visual Studio 2019 Несколько дней назад мы объявили об общей доступности Visual Studio 2019. Лично я использую Visual Studio 2019 с момента первой внутренней сборки — задолго до выпуска Preview 1 в декабре 2018 года. За это время обнаружилось много маленьких особенностей, которые заставили мен...

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

[Из песочницы] Arduino и прерывания таймера Привет, Хабр! Представляю вашему вниманию перевод статьи "Timer interrupts" автора Предисловие Плата Arduino позволяет быстро и минимальными средствами решить самые разные задачи. Но там где нужны произвольные интервалы времени (периодический опрос датчиков, высок...

Клиентские системы аналитики Представьте, что вы начинающий предприниматель, который только что сделал сайт и мобильное приложение (например, для магазина пончиков). Вы хотите подключить пользовательскую аналитику с небольшим бюджетом, но не знаете как. Все вокруг пользуются Mixpanel, Facebook analytics...

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

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

Перевод «Подготовьте ваши приложения к 64-бит требованиям» Перевод статьи Get your apps ready for the 64-bit requirement блога «Android Developers Blog». Современные 64-бит процессоры увеличивают скорость и обогащают опыт ваших пользователей. Добавление 64-бит версии приложения даёт улучшение производительности, открывает пути для...

Библиотека Google делает iOS-приложения более доступными Google опубликовал на GitHub Accessibility Scanner for iOS – новый инструмент, который поможет вам создавать более дружественные к плохо видящим людям приложения.

[Из песочницы] Покупки в Android приложении — Play Billing Library И как это до сих пор на Хабре нет статьи об этом? Не дело, надо исправлять. Есть 2 способа добавить In-App покупки в Android-приложение — старый и новый. До 2017 года все пользовались библиотекой от anjlab, но с июня 2017 года ситуация изменилась, Google выпустила собстве...

Львиная доля приложений и расширений для браузера Chrome не имеет политики конфиденциальности Исследование Duo Security показало, что огромная часть приложений и расширений для браузера Chrome имеют проблемы с безопасностью.  Источник проанализировал более 120 000 приложений и расширений в онлайн-магазине Google из 180 000 имеющихся и пришёл к выв...

[Из песочницы] Как подключить Raspberry PI к Azure IoT: пошаговая инструкция Привет, Хабр! Представляю вашему вниманию перевод статьи Connecting Raspberry PI via Azure IoT: Step-By-Step Tutorial. В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure Io...

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

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

[Перевод] NLog: правила и фильтры NLog: правила и фильтры В Confirmit мы используем библиотеку NLog для логирования в наших .NET-приложениях. Хотя для этот библиотеки существует документация, для меня было сложно понять, как все это работает. В данной статье я попытаюсь объяснить, как правила и фильтры приме...

[Перевод] Приёмы в проектировании пользовательского интерфейса, которые сэкономят время В переводе этой статьи автор приводят ряд советов и приёмов, которые упростят жизнь при проектировании дизайна пользовательского интерфейса. В статье даны сведения о полезных и экономящих время возможностях работы таких программ как Sketch, Adobe Illustrator, Figma, Adobe XD...

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

[Перевод] Программный поиск общего кода с помощью oEmbed Всем доброго времени суток! Хочу поделиться переводом статьи ""Programmatically Discovering Sharing Code With oEmbed" автора Drew McLellan. Введение На многих сайтах размещены мультимедиа и контент, которыми можно поделиться в другой платформе с помощью некоторого HTML-кода...

[Из песочницы] Руководство по организации архитектуры Android приложения Привет, Хабр! Представляю вашему вниманию вольный перевод «Руководство по архитектуре приложения (Guide to app architecture)» из JetPack. Все замечания по переводу прошу оставлять в комментариях, и они будут исправлены. Так же для всех будут полезны комментарии от тех кто ис...

Как мы запускаем новый сайт банка. Часть 1 Привет! Меня зовут Илья Голованов. Мы вместе с командой работаем над новым сайтом Промсвязьбанка. В этой статье я расскажу, какие задачи перед нами стоят, с какими проблемами мы сталкиваемся и к каким решениям приходим. Пока новый вид доступен для 30% страниц (их можно увид...

[Из песочницы] 10 самых распространенных ошибок Spring Framework Привет, Хабр! Представляю вашему вниманию перевод статьи «Top 10 Most Common Spring Framework Mistakes» автора Toni Kukurin. Spring, вероятно, один из самых популярных Java-фреймворков, а также могучий зверь для укрощения. Хотя его базовые концепции довольно легко понять, д...

[Перевод] Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важенЭтот пост — перевод первой статьи ...

Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало...

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 2 Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практики и инструменты». Тестирование развертывания Рассмотренный стиль тестирования —...

[Из песочницы] Краткое введение в рекурсию. JavaScript Перевод: Привет, Хабр! Представляю вашему вниманию перевод статьи "A Quick Intro to Recursion in Javascript" Yazeed Bzadough. Примечание. Рекурсия не единожды обсуждалась на хабре, но данная статья даёт базовое понимание рекурсии. Это будет полезно начинающим разр...

Система хранения HPE Nimble — высокая доступность системы за доступные деньги Издавна считалось, что есть два класса доступности систем хранения данных — операторский и корпоративный. Наивысшим всегда считался операторский — т. н. «пять девяток» (five nines), то есть 99,999% рабочего времени такая система ...

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

[Из песочницы] Ограничения машинного обучения Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart. Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнози...

[Перевод] 9 библиотек веб-компонентов 1. Material components web Обычно заголовок «Material» размещает библиотеку компонентов пользовательского интерфейса прямо наверху рейтингов по количеству звездочек и загрузок. Веб-библиотека Google Material-components — это версия веб-компонента библиотеки Material-UI. По...

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

Qrator Labs исследовала устойчивость национальных сегментов сети интернет в 2019 году Qrator Labs, специализирующаяся на противодействии DDoS-атакам и обеспечении доступности интернет-ресурсов, представила результаты исследования влияния возможных сбоев сетей системообразующих операторов связи на глобальную доступность ...

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

[Перевод] Горизонтальное автомасштабирование подов Kubernetes и Prometheus для высокой доступности и работоспособности инфрастр-ры Салют, хабровчане! Перевод следующей статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes», занятия по которому стартуют уже завтра. Начнем. Автомасштабирование в Kubernetes Автомасштабирование позволяет автоматически увеличив...

Портативный SSD Gnarbox 2.0 стоит от 439 до 799 евро, в зависимости от объема Компания MyGnar объявила о доступности портативных твердотельных накопителей SSD Gnarbox 2.0. Первыми их получили участники сбора средств на сайте Kickstarter, а теперь этом могут сделать все желающие. Твердотельный накопитель Gnarbox 2.0 предназначен для тех, кто рабо...

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

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

[Перевод] Стартап, который использовал ИИ, чтобы разработать лекарство за 21 день И снова здравствуйте. В преддверии запуска курса «Нейронные сети на Python», хотим поделиться с вами переводом интересной статьи о вкладе ИИ в развитие медицины. Компания Insilico Medicine из Гонконга опубликовала исследование, показывающее, что их система глубокого обуче...

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

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

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

opencv4arts: Нарисуй мой город, Винсент OpenCV — библиотека с историей непрерывной разработки в 20 лет. Возраст, когда начинаешь копаться в себе, искать предназначение. Есть ли проекты на ее основе, которые сделали чью-то жизнь лучше, кого-то счастливее? А можешь ли ты сделать это сам? В поисках ответов и желании ...

[Из песочницы] Криптография в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "Java Cryptography" автора Jakob Jenkov. Данная публикация является переводом первой статьи Java Cryptography из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

[Перевод] Microsoft Edge – Универсальный XSS Перевод статьи подготовлен специально для студентов курса «Реверс-инжиниринг». Универсальный XSS (uXSS) – это баг браузера, который дает возможность выполнять код на JavaScript на любом сайте. Кажется, будто XSS есть на всех сайтах и выглядит это очень интересно. Что е...

[Из песочницы] Как создать свое первое веб-приложение с помощью Go Привет, Хабр! Представляю вашему вниманию статьи "How to build your first web application with Go" автора Ayooluwa Isaiah. Это руководство к вашему первому веб-приложению на Go. Мы создадим новостное приложение, которое использует News API для получения новостных с...

Moto. Мокаем AWS Тестирование — это неотъемлемая часть процесса разработки. И иногда разработчикам требуется запустить тесты локально, до того момента коммита изменений. Если приложение использует Amazon Web Services, python библиотека moto идеально для этого подходит. Читать дальше →

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

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

[Из песочницы] Рефакторинга много не бывает Привет, Хабр! Представляю вашему вниманию перевод статьи "Refactoring — oops, I’ve been doing it backwards" автора Джастина Фуллера (Justin Fuller). Я очень завишу от рефакторинга, и не боюсь признать это, но есть только одна проблема: я всегда делал это задом на...

JMeter — швейцарский нож тестировщика (Часть 2) Сегодня расскажу, как мы с помощью JMeter’а наладили процесс кэширования продуктовых страниц, проверили работу мобильного приложения без самого приложения и создали 2000 юзеров в системе без доступа к базе данных. Кто не в курсе, что здесь происходит, читайте первую часть ...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

Web scraping на R, часть 2. Ускорение процесса с помощью параллельных вычислений и использование пакета Rcrawler В прошлой статье я с помощью скрэпинга-парсинга собрал с сайтов IMDB и Кинопоиск оценки фильмов и сравнил их. Репозиторий на Github. Код неплохо справился со своей задачей, однако скрэпинг часто используют для "соскабливания" не пары-тройки страниц, а пары-тройки тысяч и д...

Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt Технология веб-сокет позволяет в веб-приложении или в мобильном приложении реализовать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используют библиотеку socket.io, или же разработчики работают с нативным...

Так что же будет с аутентификацией и паролями? Вторая часть отчета Javelin «Состояние строгой аутентификации» Недавно исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019». Его создатели собрали информацию о том какие способы аутентификации используются в корпоративной среде и пользовательских приложениях, а также...

bear_hug: игры в ASCII-арте на Python3.6+ Для своих игр в ASCII-арте я написал библиотеку bear_hug с очередью событий, коллекцией виджетов, поддержкой ECS и прочими полезными мелочами. В этой статье мы посмотрим, как с её помощью сделать минимальную работающую игру. Читать дальше →

[Перевод] Как посчитать ROI от автоматизации тестирования с Selenium? Перевод статьи подготовлен специально для студентов курса «Python QA Engineer» Кроссбраузерное тестирование – это именно тот тип тестирования, который требует большого количества сил и времени. Тестирование веб-приложения в различных браузерах, на различных операционных си...

[Из песочницы] Тестирование пользовательского функционала вебсайта с помощью Capybara page objects Page Objects могут быть использованы как мощный метод абстракции (изоляции) ваших тестов от технической реализации. Важно помнить, их (Page Objects) можно использовать для увеличения стабильности тестов и поддержания принципа DRY (do not repeat yourself) — посредством инкапс...

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

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

Автомасштабирование и управление ресурсами в Kubernetes (обзор и видео доклада) 27 апреля на конференции Стачка-2019, в рамках секции «DevOps», прозвучал доклад «Автомасштабирование и управление ресурсами в Kubernetes». В нём рассказывается о том, как с помощью K8s обеспечить высокую доступность приложений и гарантировать их максимальную производительно...

[Перевод] Обзор AI & ML решений в 2018 году и прогнозы на 2019 год: Часть 2 — Инструменты и библиотеки, AutoML, RL, этика в AI Всем привет! Представляю вам перевод статьи Analytics Vidhya с обзором событий в области AI / ML в 2018 году и трендов 2019 года. Материал довольно большой, поэтому разделен на 2 части. Надеюсь, что статья заинтересует не только профильных специалистов, но и интересующихся т...

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

[Из песочницы] Самая дорогая ошибка в моей жизни: подробно об атаке на порт SIM-карты Привет, Хабр! Представляю вашему вниманию перевод статьи «The Most Expensive Lesson Of My Life: Details of SIM port hack» автора Sean Coonce. В прошлую среду я потерял более 100000 долларов. Деньги испарились в течение 24 часов в результате «атаки на порт SIM-карты», котора...

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

[Перевод] 12 возможностей ES10 в 12 простых примерах Перед вами перевод статьи из блога Carlos Caballero на сайте Medium.com. Автор расскажет нам о функциях, которые появились в версии ES10 2019 года. ES10 — это версия ECMAScript, актуальная для 2019 года. Она содержит не так много нововведений, как версия ES6, выпущенная в...

Apple запускает Apple Music в Интернете Apple запустила новый веб-интерфейс Apple Music, который доступен всем пользователям в бета-версии. Веб-сайт Apple Music похож на приложение Apple Music на Mac, предлагая выделенные разделы «Для вас», «Обзор» и «Радио», а также списки воспроизведения, рекомендации и многое д...

[Перевод] Подготовка к Spring Professional Certification. Spring Security Эта статья является переводом статьи по подготовке к Spring Professional Certification. В ней будет рассмотрена тема Spring Security и основные вопросы по ней. Ее также можно использовать для подготовки к собеседованию. ↓ Остальные статьи доступны по ссылкам в оглавлении ↓ ...

Лучшее из опыта создания чистых и быстрых Angular приложений На написание этой статьи сподвигли поиски JavaScript front-end разработчиков в свою компанию в Ставрополе. Т.к. длительное время не удавалось найти толкового программиста и тогда мы решили запустить программу стажировки с большим количеством обучающего материала по Angular &...

[Перевод] Лучшие нововведения социальных сетей в 2018 году И снова здравствуйте! Совсем немного времени остается до запуска нашего курса «SMM-специалист», в рамках которого вы узнаете о последних тенденциях и обучитесь работе с самыми актуальными инструментами онлайн-маркетинга для продвинутых специалистов. О трендах 2019 года пог...

[Из песочницы] Почему нельзя установить размер шрифта у посещенной ссылки Привет, Хабр! Представляю Вашему вниманию перевод статьи «Why can’t I set the font size of a visited link?» автора Jim Fisher. Посещенные ссылки отображаются фиолетовым; не посещенные — голубым. Это различие пришло к нам с времен появления веба. Но CSS позволяет нам перен...

[Перевод] Разбираемся с промисами в JavaScript Доброго времени суток, Хабр! Представляю вашему вниманию перевод статьи «Understanding Promises in JavaScript» автора Sukhjinder Arora. Читать дальше →

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

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

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

Вебинары Hewlett Packard Enterprise в августе-октябре 2019 года В ближайшие три месяца специалисты HPE проведут серию вебинаров по защите данных с помощью интеллектуальных систем, облачным системам хранения данных, обеспечению доступности данных, расширению возможностей сетей хранения, интернету вещей и не только. Зарегистрироваться ...

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

[Перевод] Тестирование многопоточного и асинхронного кода Привет! На неделе встала задача написать интеграционный тест для Spring Boot приложения, использующего асинхронное взаимодействие с внешними системами. Освежил много материала про отладку многопоточного кода. Привлекла внимание статья «Testing Multi-Threaded and Asynchronous...

[Из песочницы] Proof-Of-Work эффективен Привет, Хабр! Представляю вашему вниманию перевод статьи «PoW is Efficient» автора Dan Held. Вступление Большинство людей думает, что энергия, потраченная на Proof-Of-Work (далее PoW), тратится впустую. В этой статье я расскажу, почему все основано на энергии, включая деньг...

[Перевод] Ускоряем WebGL/Three.js с помощью OffscreenCanvas и веб-воркеров В этом руководстве я расскажу как с помощью OffscreenCanvas мне удалось вынести весь код работы с WebGL и Three.js в отдельный поток веб-воркера. Это ускорило работу сайта и на слабых устройствах исчезли фризы во время загрузки страницы. Статья основана на личном опыте, к...

Автоматизация тестирования платных сервисов на iOS Для тех, кто интересуется темой автоматизации на iOS, у меня две новости — хорошая и плохая. Хорошая: в iOS-приложении для платных сервисов используется только одна точка интеграции — in-app purchases (встроенные в приложение покупки). Плохая: Apple не предоставляет никаких ...

[Перевод] Новый кодек AV1: ускоряем загрузку видео в браузере В этом руководстве мы научимся использовать видео в Вебе, как это принято в 2019. Chrome и Firefox начали поддерживать новый кодек AV1 — для них видео можно сделать в два раза меньше. Отдельно поговорим, как заменить GIF на видео в AV1 и H.264 — тогда его размер упадёт в 20...

Опубликована спецификация OpenXR 1.0, закладывающая основу открытой экосистемы AR и VR Консорциум Khronos Group, включающий более 140 ведущих компаний-производителей оборудования и программного обеспечения, объявил о ратификации и широкой доступности спецификации OpenXR 1.0 и ее первых реализаций. Разработка OpenXR началась в 2017 году. По определ...

[Перевод] Никогда больше не игнорируйте обучение с подкреплением Привет, Хабр! Представляю вашему вниманию перевод статьи «Don’t Ever Ignore Reinforcement Learning Again» автора Michel Kana, Ph.D. Обучение с учителем и обучение без учителя — это ещё не все. Все это знают. Начните с OpenAI Gym. Собираетесь победить чемпиона мира по шах...

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

Автостопом по доступности: Ссылки для пропуска навигации и секции Привет, Хабр. Предлагаю вашему вниманию перевод статьи «The Hitchhiker’s Guide to Accessibility: Skiplinks and Landmarks» автора Attila Vágó о паре незаменимых инструментов UI и их особенностях. Ссылки для пропуска навигации (далее skiplinks) — невоспетые герои каждого уважа...

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

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

[Перевод] Использование Fastify и Preact для быстрого прототипирования веб-приложений Автор материала, перевод которого мы сегодня публикуем, хочет поделиться рассказом о том, какими технологиями он пользуется для быстрой разработки прототипов веб-приложений. В число этих технологий входят библиотеки Fastify и Preact. Он, кроме того, пользуется библиотекой ht...

WhatsApp Business теперь доступен и для iOS WhatsApp, принадлежащий Facebook, объявил о своем бизнес-приложении еще в сентябре 2017 года и запустил его в следующем году в январе. Но приложение было запущено только на Android, и от WhatsApp не было ни слова о его доступности для iOS. В этом году WhatsApp Business п...

Samsung Galaxy S10 и S10+ на базе Exynos 9820 сравнили по производительности с Xiaomi Mi 9, iPhone XS Max и другими смартфонами На сайте GSM Arena опубликовали результаты тестирования смартфонов Samsung Galaxy S10 и S10+, оснащенных флагманской однокристальной системой Samsung Exynos 9820. Тестирование было проведено с различных популярных бенчмарках, результаты сравнивались с результатами друг...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

Проектирование интернет-магазина для SEO: (теория + чеклист) Что стоит учесть при проектировании интернет-магазина, чтобы не пришлось переделывать пол сайта для начала продвижения. Статья разбита на две части. Теория: о том, что в принципе можно учесть в SEO интернет-магазина и как это работает. Чек-лист: 80 пунктов, по которым легко...

[Из песочницы] Настройка NextCloud + ONLYOFFICE на одном сервере с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Setting up NextCloud and ONLYOFFICE on a single server with Docker». Сложно недооценивать пользу онлайновых пакетов офисных приложений наподобие Google Docs и облачных хранилищ в жизни технически ориентированных люде...

На пути к ядру Питона Привет, Хабр! Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted). Подробнее — под катом. Читать дальше →

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

[Из песочницы] Эффективный сайт стартапа: как понравиться клиентам, партнерам и инвесторам одним сайтом Вот уже три года я консультирую резидентов Технопарка «Сколково» по вопросам маркетинга, видел и анализировал сотни сайтов молодых компаний, а теперь пришло время делиться. Делиться опытом и знаниями о том, как сделать эффективный сайт стартапа — тот, который приведет клие...

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

[Из песочницы] Функциональные компоненты с React Hooks. Чем они лучше? Относительно недавно вышла версия React.js 16.8, с которой нам стали доступны хуки. Концепция хуков позволяет писать полноценные функциональные компоненты, используя все возможности React, и позволяет делать это во многом более удобно, чем мы это делали с помощью классов. М...

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

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

[Из песочницы] 27 вещей, которые я хотел бы узнать заранее, прежде чем начинать программировать Привет, Хабр! Представляю вашему вниманию перевод статьи «27 things I wish I knew when I started programming» автора Ken Mazaika. Заранее, прежде чем начинать программировать, хотелось бы узнать массу вещей, но вот 27 из них, которые приходят на ум. Читать дальше →

[Из песочницы] Рассылка Push-уведомлений с SpringBoot сервера Предисловие Приветствую Вас. Недавно передо мной стала задача — настроить Push-уведомления на сайте. С этим я столкнулся впервые и во много разобраться мне помогла эта статья. В ней же уже есть описание серверной стороны, но, в процессе изучения данной темы я обнаружил более...

Xbox Game Pass для ПК: стоимость и доступные игры Считанные часы остаются до начала брифинга Xbox на выставке E3 2019, однако информация о грядущих анонсах продолжает утекать в сеть. В частности, в Microsoft Store появилась страница Xbox Game Pass для ПК, согласно которой стоимость новой подписки будет составлять $5 в меся...

[Из песочницы] Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker Привет, Хабр! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans. Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небол...

[Из песочницы] Бесконечный и нелепый список того, что вам нужно знать, чтобы безопасно использовать публичные сети Wi-Fi Привет, Хабр! Представляю вашему вниманию перевод статьи «The Complete, Endless, Ridiculous List of Everything You Need to Be Safe on Public Wi-Fi» автора Patrick F. Wilbur. Wi-Fi сети, вебсайты, протоколы, которые мы используем, не обеспечивают нам необходимой безопасност...

Представляем Vepp — новую панель управления сервером и сайтом от ISPsystem Vepp — это наша новая панель для управления сервером и сайтом. Сначала мы хотели просто обновить интерфейс ISPmanager 5, но на этапе проектирования поняли: интерфейсом не обойтись, нужно менять подход к задачам пользователя. Фактически это означало, что надо делать новый пр...

[Из песочницы] Как сэкономить в AWS до полумиллиона долларов? Привет, Хабр! Представляю вашему вниманию перевод статьи «How to reduce your AWS costs? Save up to $500k with these guidelines!» автора George Batschinski. В этой статье мы в подробностях расскажем, как Back4App уменьшила свои расходы в AWS с $55,492 в месяц до $20,074 в ...

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

Google начал показывать панель со статистикой по сайту из Search Console в России Google начал показывать панель со статистикой по сайту из Search Console в результатах поиска в России. Новую функцию заметил Роман Волков, вебмастер сайта https://tehno-rating.ru. В англоязычных странах – США, Великобритании и Австралии – она тестировалась в октябре 2018 го...

[Перевод] Reflective Shadow Maps: Часть 1 Привет, Хабр! Представляю вашему вниманию перевод статьи «Reflective Shadow Maps» автора Eric Polman. Reflective Shadow Maps (RSM) (отражающие карты теней) ― это алгоритм, расширяющий “простые” shadow map. Алгоритм учитывает свет, рассеянный после первого попадания на пов...

Google запустил WP-плагин Site Kit по всему миру Google сообщил, что официальный WordPress-плагин Site Kit вышел из беты и стал доступен владельцам сайтов по всему миру. Версию 1.0 можно скачать по ссылке. С помощью Site Kit можно будет просматривать статистику как по сайту в целом, так и по отдельным страницам. Плагин пок...

[Из песочницы] Быстрая интеграция с 1С: Предприятие В данной статье я расскажу о наиболее простом, на мой взгляд, способе интеграции сторонних приложений с конфигурациями 1С. Статья будет интересна в первую очередь разработчикам, пишущим на .Net Core, PHP и Python. Способов интеграции с 1С известно много, этому даже посвящен...

[Из песочницы] Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания. Итак, поехали. Читать дальше →

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

[Из песочницы] Вам есть, что скрывать Привет, Хабр! Представляю вашему вниманию перевод статьи автора «You don’t have nothing to hide» автора Sharon Flitman. Кажется, приватность в 21м веке становится все более размытым понятием. В не столь далеком прошлом лишь несколько моих друзей знали, где я нахожусь в ...

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

Apple выпускает бета-версию iOS 13.1 для iPhone 11, 11 Pro и Pro Max Сегодня Apple выпустила бета-версию iOS 13.1, которая предназначена для работы с iPhone 11, iPhone 11 Pro и iPhone 11 Pro Max. Новая бета-версия может быть установлена ​​по беспроводной сети после установки соответствующего профиля в Центре разработчиков Apple. С новой бета...

[Из песочницы] Создание адаптивного сайта из того что есть и неинвазивные стили Есть сайт у которого нет мобильной версии и нужно с минимальными затратами времени сделать мобильным пользователям этот сайт приятнее в использовании. Я расскажу о том как ускорить внесение изменений на сайт и рассмотрю инструменты для быстрой верстки на живом сайте не име...

[Из песочницы] Глубокое ранжирование для сравнения двух изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «Image Similarity using Deep Ranking» автора Akarsh Zingade. Алгоритм Deep Ranking Понятия "сходства двух изображений" — введено не было, поэтому давайте введем данное понятие хотя бы в рамках статьи. Сходс...

Разрабатываем приложение, которое отсылает данные другим приложениям (экосистемное приложение) Привет, хаброжители! Это моя вторая статья про разработку своего проекта. Тем, кто не читал предыдущая статейку: она про то, как из одного места (гугл таблицы) автоматически экспортировать данные в другое (ноушн). Сегодня я расскажу, как я писал (и проектировал) библиотеку...

Qrator Labs защитила Универсиаду-2019 от DDoS-атак и взломов Qrator Labs, специализирующаяся на противодействии DDoS-атакам и обеспечении доступности интернет-ресурсов, помогла обеспечить стабильную работу и непрерывную доступность ресурсов единого центра энергоснабжения XXIX Всемирной зимней универсиады 2019 года, прошедшей в Красноя...

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

Apple выпустила третьи бета-версии iOS 12.2 и watchOS 5.2 Сегодня, 19 февраля, Apple выпустила третьи бета-версии iOS 12.2 и watchOS 5.2 для пользователей с учетными записями разработчиков. Выход тестовых сборок обновлений для мобильной и носимой операционных систем состоялся ровно через сутки после обнародования macOS 10.14.4 bet...

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

Garbage Collector. Полный курс + перевод из BOTR В данной статье вы встретите сразу два источника информации: Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь) Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс. Читать дальше →

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

Персонализация товарных рекомендаций на больших данных с помощью Vowpal Wabbit Привет! Меня зовут Никита Учителев. Я представляю отдел Research & Development компании Lamoda. Нас 20+ человек, и мы работаем над различными рекомендациями на сайте и в приложениях, разрабатываем поиск, определяем сортировку товаров в каталогах, обеспечиваем возможность...

[Из песочницы] Перевод руководства по Stream API от Benjamin Winterberg Привет, Хабр! Представляю вашему вниманию перевод статьи "Java 8 Stream Tutorial". Это руководство, основанное на примерах кода, представляет всесторонний обзор потоков в Java 8. При моем первом знакомстве с Stream API, я был озадачен названием, поскольку оно очень созвучно...

[Перевод - recovery mode ] Типичные ошибки при логгировании Привет, Хабр! Я думаю, практически в каждой программе есть логгирование. Более того, в ряде уже неновых приложений (а значит с морем нетривиальных условий) зачастую логи становятся жизненно важными на боевом сервере. Однако, несмотря на всю важность и распространенность подо...

Обзор Plesk – панели управления хостингом и сайтами Plesk — мощный и удобный универсальный инструмент для быстрого и эффективного выполнения всех ежедневных операций по управлению сайтами и веб-приложениями или веб-хостингом. «6% сайтов в мире управляются через панель Plesk» — говорит о платформе компания-разработчик в своём ...

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

[Перевод] Тестирование Node.js-проектов. Часть 1. Анатомия тестов и типы тестов Автор материала, первую часть перевода которого мы сегодня публикуем, говорит, что он, как независимый консультант по Node.js, каждый год анализирует более 10 проектов. Его клиенты, что вполне оправданно, просят его обратить особое внимание на тестирование. Несколько месяцев...

Sticky Notes для Windows 10 получает локализованное название Microsoft выпустила новое обновление для приложения Sticky Notes или теперь приложение в разных странах называется по-разному. К примеру, в Италии оно называется «Memo». Компания не изменила название в США и Великобритании. Помимо изменения имени и версии на 3.7.60.0, обновл...

Робот тестирует SAP ERP Мы в Альфастраховании используем SAP ERP как процессную систему урегулирования убытков. И так уж получилось, что мы ее немножко дорабатываем, это неизбежно приводит к возникновению в коде ошибок. Если ошибки доходят до продуктивной системы — это плохо. Этого надо избегать, о...

[Из песочницы] Делаем расширение для браузера, проверяющее результаты ЕГЭ Я, как и любой другой выпускник, переживаю по поводу экзаменов. От баллов, полученных на ЕГЭ зависит слишком многое, поэтому сейчас трудно думать о чем то другом. Чтобы не обновлять сайт check.ege.edu.ru каждые две минуты, я решил написать расширение, которое будет делать э...

Использование DbTool для засеивания (seeding) баз данных в приложениях .NET (Core) Представляем вашему вниманию DbTool — утилиту командной строки для экспорта данных БД в различные форматы и open-source библиотеку Korzh.DbUtils, использование которых может значительно упростить первоначальное "засевание" базы данных в вашем .NET (Core) приложении. С помощь...

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

[Перевод] Интервью — 10 вопросов про Swift. Часть 3 Профессиональная программа «iOS Разработчик» — 5 месяцев Best Practice по разработке мобильных приложений с помощью Swift 5. Лучших выпускников ждут на собеседованиях 12 компаний-партнёров OTUS, поэтому публикуем перевод заключительной статьи из серии «iOS Interview Question...

Все, что нужно знать об iOS App Extensions App Extensions появились в iOS 8 и сделали систему более гибкой, мощной и доступной для пользователей. Приложения могут отображаться в виде виджета в Центре Уведомлений, предлагать свои фильтры для фотографий в Photos, отображать новую системную клавиатуру и многое другое....

Как свести с ума алгоритмы рекламных сетей на сайтах Компания Firefox запустила сервис Track This. С его помощью можно запутать алгоритмы контекстуальной рекламы, после чего сайты перестанут показывать вам релевантную рекламу.

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

Samsung увеличит длину дисплея в Galaxy S11 Зарубежный портал Galaxyclub наткнулся на результаты тестирования неанонсированного смартфона Samsung в бенчмарке HTML5Test. Устройство появилось на сайте под номером SM-G416U и судя по всему, на сайт зашли с долгожданного Galaxy S11. По результатам тестирования было выяснен...

[Из песочницы] Перевод: Стандарт IEEE 802.15.4z. Что нас ждет в будущем? Привет, Хабр! Представляю вашему вниманию перевод статьи «IEEE P802.15. Wireless Personal Area Networks». Перевод статьи: mentor.ieee.org/802.15/documents?is_dcn=coexistence%20document&is_group=004z Файл: 09-Apr-2019 ET Coexistence Document 15.4z Benjamin A. Rolfe (BCA...

Как ездить на такси за чужой счёт — уязвимости на примере одного сервиса После нахождения уязвимостей в мобайл-банкинге украинского банка (пост) я захотел немного сменить направление и перейти от финансовых сервисов к другим. На глаза попалась рекламная статья про обновлённое мобильное приложение такси, его я и выбрал своим подопытным. Здесь и...

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

Веб-версия Outlook превращается в Progressive Web App (PWA) Компания Microsoft работает над превращением Outlook.com в Progressive Web App (PWA), что позволит любому пользователю сервиса установить сайт в качестве веб-приложения на Windows, macOS, Chrome OS, Android и других платформах, поддерживающих PWA. Это будет неплохая альтерн...

9 типовых проблем в сети, которые можно обнаружить с помощью анализа NetFlow (на примере Flowmon) Относительно недавно мы публиковали статью “Сетевой мониторинг и выявления аномальной сетевой активности с помощью решений Flowmon Networks”. Там мы кратко рассмотрели возможности этого продукта и процесс установки. Неожиданно для нас, после статьи и вебинара, поступило бо...

[Перевод] Знакомство с Тестированием в Python. Ч. 3 Друзья, у нас для вас отличные новости. Во-первых на улице наконец-то светит солнышко, а это значит, что весна начинает полноправно вступать в свои права. Вторая новость более профильная — уже 20 марта стартует первое занятие в новом потоке по курсу «Разработчик Python», в с...

Как проверить доступность вводного предложения в iOS Если в вашем приложении с подписками вы используете вводные предложения (триал, оплата по мере использования или предоплата), то прежде чем показать цену на экране оплаты, вам нужно определить доступность вводного предложения для пользователя. Если пользователь до этого уже ...

SwiftUI для прошлого конкурсного задания Telegram Charts (март 2019 года): все просто Сразу начну с замечания о том, что приложение, о котором пойдет речь в этой статье, требует Xcode 11 и MacOS Catalina , если вы хотите использовать Live Previews, и Mojave, если будете пользоваться симулятором. Код приложения находится на Github. В этом году на WWDC 2019,...

В интернете появилась новая энциклопедия – Вики Пользователям интернета теперь доступен аналог Википедии — сайт https://wiki.bio. Энциклопедия включает только самые актуальные на сегодняшний день статьи на темы разного характера: наука, история, философия, спорт, общество и другие. Главная ст...

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

[Из песочницы] Знакомство с Sass модулями Привет, Хабр! Представляю вашему вниманию перевод статьи «Introducing Sass Modules» автора Miriam Suzanne. Недавно в Sass появилась функциональность, которая вам знакома по другим языкам: модульная система. Это большой шаг вперед для @import, одной из наиболее часто использ...

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

[Перевод] Приближающиеся изменения SameSite Cookie в ASP.NET и ASP.NET Core SameSite — это расширение файлов cookie HTTP 2016 года, предназначенное для предотвращения подделки межсайтовых запросов (CSRF). Первоначально его дизайн представлял из себя дополнительную функцию, которую можно использовать, добавив новое свойство SameSite в файлы cookie. У...

[Из песочницы] Упрощаем работу с базами данных в Qt с помощью QSqlRelationalTableModel Доброго времени суток, Хабровчане! В этой статье я хочу рассказать о своем опыте упрощения взаимодействия с базами данных SQL при разработке десктопного приложения с помощью класса QSqlRelationalTableModel кроссплатформенной библиотеки Qt. Пролог С Qt я познакомился еще буд...

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

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

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

Обработка исключений ASP.NET при помощи IRO.Mvc.MvcExceptionHandler Если вы являетесь c# бекенд разработчиком, наверняка рано или поздно появилась необходимость найти унифицированный способ обработки исключительных ситуаций. Хотя, даже если вы довольствуетесь кодом 500 в ответе, эта статья все равно поможет улучшить ваш способ, при этом не...

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

МТС открывает цифровую библиотеку Пользователи нового сервиса теперь могут читать электронные книги, журналы, газеты в едином приложении. В МТС Библиотеке также доступны более 1000 аудиокниг. Благодаря big data МТС, сервис делает персональные рекомендации на основе предпочтений пользователей и истории чтения...

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

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

[Перевод] Будущее внедрения зависимостей в Android Предлагаю вашему вниманию перевод оригинальной статьи от Jamie Sanson Создание Activity до Android 9 Pie Внедрение зависимостей (DI) — это общая модель, по ряду причин используемая во всех формах разработки. Благодаря проекту Dagger, он взят в качестве шаблона, используемог...

[Перевод] 5 продвинутых техник тестирования на Go Всем салют! До старта курса «Разработчик Golang» остается меньше недели и мы продолжаем делиться полезным материалом по теме. Поехали! Go имеет хорошую и надежную встроенную библиотеку для тестирования. Если вы пишите на Go, то вы уже это знаете. В этой статье мы поговори...

Делаем современное веб-приложение с нуля Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт? В этой статье мы попробуем набросать boilerplate простейшего веб-приложения...

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

Тестирование доступности сетей NB-IoT в СПб (август 2019) Некоторое время назад операторы сотовой связи начали экспериментировать с новой технологией радиодоступа – NB-IoT. Напомню на всякий случай, что эта технология предназначена для низкопотребляющих устройств, которым нужно время от времени передавать небольшое количество дан...

[Не] используйте CDN Практически в любой статье или инструменте для оптимизации скорости сайтов есть скромный пункт «используйте CDN». Вообще, CDN – это content delivery network или сеть доставки контента. Мы в компании «Метод Лаб» часто встречаемся с вопросами клиентов по этой теме, некоторые с...

[Из песочницы] Лицензия для проектов с открытым исходным кодом, которая обязывает пользователей «не причинять вред» Привет, Хабр! Представляю вашему вниманию перевод статьи «An Open Source License That Requires Users to Do No Harm» автора Klint Finley. Китай использует технологии распознавания лиц, чтобы вычислять уйгурских мусульман. Военные США используют дроны для убийства подозрева...

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

[Перевод] Криптография в Java. Утилита Keytool Привет, Хабр! Представляю вашему вниманию перевод 10 статьи "Java Keytool" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

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

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

Apple представляет новый бета-сайт iCloud.com со свежим взглядом и напоминаниями В преддверии запуска iOS 13, iPadOS и macOS Catalina Apple обновила свой бета-сайт iCloud.com свежим взглядом и новым приложением Reminders. Бета-версия iCloud.com имеет простой белый интерфейс с небольшими значками, и вместо приложения «Настройки» теперь есть раздел «Настро...

[Перевод] Не только обработка: Как мы сделали из Kafka Streams распределенную базу данных, и что из этого вышло Привет, Хабр! Напоминаем, что вслед за книгой о Kafka мы выпустили не менее интересный труд о библиотеке Kafka Streams API. Пока сообщество только постигает границы возможностей этого мощного инструмента. Так, недавно вышла статья, с переводом которой мы хотим вас позна...

[Из песочницы] Изучить отзывчивый веб-дизайн за 5 минут Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per. В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на след...

Компоненты-агностики в Angular Когда работаешь над библиотекой переиспользуемых компонентов, вопрос API встает особенно остро. С одной стороны, нужно сделать надежное, аккуратное решение, с другой — удовлетворить массу частных случаев. Это относится и к работе с данными, и к внешним особенностям различных...

[Перевод] Авария Boeing 737 Max глазами разработчика ПО Представляю вашему вниманию перевод статьи «How the Boeing 737 Max Disaster Looks to a Software Developer» Грега Трэвиса. Речь пойдет о том, как желание Боинга сэкономить и «срезать углы» для коммерческой выгоды, а также культура «некомпетентности и неэтичности» в сообществе...

[Перевод] Детальный разбор новых возможностей React 16+, часть 1: общие сведения Сегодня мы представляем вам первую часть перевода этого большого материала. Он посвящён детальному разбору новых возможностей React, которые появились в этой библиотеке начиная с версии 16. Автор этого материала уже 5 лет занимается программированием. В прошлом он был дизайн...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

[Перевод] Криптография в Java. Класс Signature Привет, Хабр! Представляю вашему вниманию перевод пятой статьи "Java Signature" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Mac Привет, Хабр! Представляю вашему вниманию перевод четвертой статьи "Java Mac" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

Криптография в Java. Класс MessageDigest Привет, Хабр! Представляю вашему вниманию перевод третьей статьи "Java MessageDigest" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Перевод] Криптография в Java. Класс Certificate Привет, Хабр! Представляю вашему вниманию перевод заключительной статьи "Java Certificate" автора Jakob Jenkov из серии статей для начинающих, желающих освоить основы криптографии в Java. Читать дальше →

[Из песочницы] Пользовательские параметры в Google Analytics, которые не раз нас спасали При настройке аналитики через Google Analytics (GA) нередко без внимания остаются Пользовательские параметры или CD (Custom Dimensions). Это происходит из-за сложности с пониманием их области применения: неясно, как именно CD могут помочь в сборе и анализе данных и каким обр...

[Перевод] Подготовка приложения к Android Q. Часть 2 Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Базовый курс». Также напоминаем о том, что мы продолжаем набор на расширенный курс «Специализация Android-разработчик» О конфиденциальности и безопасности можно прочитать в первой части статьи...

[Из песочницы] Практичный гайд по переменным окружения в Go Привет, Хабр! Представляю вашему вниманию перевод статьи A no-nonsense guide to environment variables in Go автора Enda Phelan. Переменные окружения — лучший способ хранения конфигурации приложения, поскольку они могут быть заданы на системном уровне. Это один из принципов ...

[recovery mode] Модель натурального ряда чисел и отдельного числа. Контуры В комментариях к опубликованным ранее работам автора было высказано много замечаний и пожеланий. Я благодарю всех читателей — хабровчан и прочих за внимание к работам и тем более за комментарии. Многих читателей не устраивал стиль изложения, подача материала, нечеткость о...

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

[Из песочницы] 40 лучших инструментов и ресурсов Laravel Привет, Хабр! Представляю вашему вниманию подборку, которая является переводом оригинальной статьи с моего блога. Если есть идеи что добавить в подборку — буду рад пообщаться в комментах. Наслаждайтесь! Читать дальше →

[Перевод] Почему простой дизайн сайта лучше с научной точки зрения Исследование, проведенное Google, имело два ключевых вывода: • Пользователю нужно всего 1/50 до 1/20 секунды, чтобы оценить, красивый сайт или нет. • «Визуально сложные» сайты оцениваются как менее красивые, чем их простые аналоги. Другими словами, исследование показало ...

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

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

[Перевод] Создание пиксельной туманности при помощи шума и Median Cut Я хотел, чтобы в моей игре The Last Boundary была туманность. Они потрясающе выглядят и космос без них не космос, а просто разбросанные по фону белые пиксели. Но так как игру я делаю в стиле «пиксель-арт», то мне нужно было как-то заставить мою библиотеку шума генерировать п...

[Из песочницы] Система Управления Тесткейсами QuAck — простые радости тестирования Привет, Хабр! Представляю вашему вниманию перевод статьи «QuAck — the joy of testing» автора Aziz Namazov. Сегодня я затрону непростую тему жизненного цикла программного обеспечения. Тема эта достаточно сложная и многогранна, включающая в себя все этапы, начиная от дизайн...

[Перевод] Итак, вы хотите стать аналитиком в области сетевой безопасности… Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». Вы интересуетесь развитием методов взлома и хотите поделиться своими открытиями с сообществом информационной безопасности? В этой статье я дам некоторые рекомендац...

[Из песочницы] Что такое программное обеспечение и почему так важно это понимать? Привет, Хабр! Представляю вашему вниманию перевод статьи «What is software and why is understanding it important?» автора Эдриана Бонфьюеса (Adrian Bbonfues). Позвольте мне перефразировать слова Марка Андреессена (Marc Andreessen) «программное обеспечение пожирает мир» в «...

[Перевод] Новости из мира OpenStreetMap №456 (09.04.2019-15.04.2019) Карта Заметок, классифицирует заметки OSM на основе содержимого 1 | Leaflet | Map data OpenStreetMap contributors, ODbL — Imagery openstreetmap.de Карты [1] Участник miche101 представил Карту заметок, инструмент, который пытается классифицировать заметки, публикуемые на с...

[Из песочницы] Делаем простой Circuit Breaker на базе кеша в Spring Эта статья для тех, кто использует в своем приложении эффективный кеш и хочет простым добавлением 1 класса в проект добавить стабильности не только приложению, но и всему окружению. Если вы узнали себя, читайте дальше. Что такое Circuit Breaker Читать дальше →

VPN99 1.9 VPN99 – простой и безопасный способ обойти блокировку любых ресурсов. Свободный и безопасный доступ к мессенжерам, приложениям видео и мультимедиа, защита соединения Wi-Fi, конфиденциальность пребывания в сети, доступность социальных сетей. Возможности приложения VPN99:...

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

Отчет о состоянии сетевой безопасности и доступности интернета в 2018-2019 годах Qrator Labs представляет отчет о состоянии сетевой безопасности в 2018-2019 годах.

[Из песочницы] Восстановление когнитивных способностей 100 пациентов (перевод статьи Дейла Бредесена) Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи Дейла Бредесена, директора отдела нейродегенеративных заболеваний медицинского факультета Калифорнийского университета в Лос-Анджелесе (UCLA), автора «The End of Alzheimer's: The First Program to Prevent...

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

CI/CD с помощью AWS и Bamboo Наша команда состоит из одного разработчика и одного DevOps инженера. Я отвечаю за разворачивание приложения в кластере Amazon ECS. В качестве CI/CD сервера я использую Bamboo. В этой статье я подробно расскажу, как я осуществляю разворачивание приложения в dev-среде. Чита...

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

Проект Collage: как бороться с интернет-цензурой с помощью пользовательского контента Группа ученых из технологического университета штата Джорджия опубликовала концепцию нового инструмента обхода блокировок. Проект получил название Collage, и его концепция предполагает использование так называемого user-generated content. Мы представляем вашему вниманию ос...

[Перевод] Разработка приложения для потокового вещания с помощью Node.js и React Автор материала, перевод которого мы сегодня публикуем, говорит, что работает над приложением, которое позволяет организовывать потоковое вещание (стриминг) того, что происходит на рабочем столе пользователя. Приложение принимает от стримера поток в формате RTMP и преобра...

[Из песочницы] Ревизия уровней доступа пользователей с помощью Power BI на примере CMS Битрикс (БУС) В статье показан пример применения Power BI для анализа доступов пользователей на сайте под управлением 1С-Битрикс. Читать дальше →

С 9 по 30 сентября будет проводиться альфа-тестирование Gem4me MarketSpace С 2016 года европейская группа компаний Gem4me Group of Companies развивает свой проект Gem4me. Этот мессенджер доступен пользователям в онлайн-магазинах приложений AppStore, Google Play и на Desktop. На его базе в 2018 году компания приступила к развитию инновационного мар...

[Перевод] Распределенные системы. Паттерны проектирования. Обзор книги Здравствуйте, коллеги. Сегодня мы публикуем перевод очередного обзора с сайта Бена Нейдела — этот сайт наверняка заинтересует вас и в оригинале. На сей раз мы поговорим о книге "Распределенные системы. Паттерны проектирования", которая дополняет вышедшую у нас в начале этого...

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

[Перевод] Сервисная сеть, «Плоскость данных» и «Плоскости управления» (Service mesh data plane vs. control plane) Привет, Хабр! Представляю вашему вниманию перевод статьи «Service mesh data plane vs control plane» автора Matt Klein. В этот раз «захотелось и перевелось» описание обоих компонентов service mesh, data plane и control plane. Это описание мне показалось самым понятным и ин...

[Перевод] Интеграционные тесты баз данных с помощью Spring Boot и Testcontainers 1. Обзор С помощью Spring Data JPA можно легко создавать запросы к БД и тестировать их с помощью встроенной базы данных H2. Но иногда тестирование на реальной базе данных намного более полезно, особенно если мы используем запросы, привязанные к конкретной реализации БД. В эт...

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

Разработка монолитной Unix подобной OS — Библиотека С В предыдущей статье мы научились запускать Hello World ядро и написали пару функций для работы со строками. Теперь пришло время расширить библиотеку С чтобы можно было реализовать kprintf и другие необходимые функции. Поехали! Читать дальше →

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

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

[Из песочницы] WWDC19: Приступим к работе с Test Plan для XCTest Привет, Хабр! Представляю вашему вниманию перевод статьи «WWDC19: Getting Started with Test Plan for XCTest» автора Shashikant Jagtap. На прошедшей конференции WWDC компания Apple показала новые классные фичи для разработчиков. В Xcode 11 так же добавлено несколько потряс...

Vengeance LPX ddr4 объемом 32 ГБ Новый DDR4 серии Vengeance LPX в модулях по 32 ГБ. Можно оснастить стандартную систему четырьмя слотами памяти с 128 ГБ или даже материнской платой с 256 ГБ. По словам Corsair, впервые такие модули становятся широко доступными для потребителей. Первоначально они такж...

Julia: пользовательские типы В этой статье рассмотрим добавление в программу на Julia пользовательского типа данных и перегрузку стандартных функций для удобной работы с новым типом. Читать дальше →

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

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

Особенности тестирования Mobile Web приложений Привет, хабражитель. Тестирование Mobile Web в чем-то похоже на тестирование Desktop Web. С одной стороны это те же HTML, CSS, JavaScript и прочие прелести, которые мы привыкли видеть. Те же проблемные места и типичные баги. С другой стороны, отличия все же имеются. В этой...

Intel объявила о доступности 28-ядерного процессора Xeon W-3175X Компания Intel объявила о начале продаж мощного 28-ядерного процессора Intel Xeon W-3175X с разблокированным множителем, предназначенного для работы с наиболее ресурсоемкими многопоточными приложениями и задачами. Подробнее об этом читайте на THG.ru.

Radio by Deezer – приложение для бесплатного прослушивания более 30000 радиостанций Разработчики из компании Access Industries не стали заострять свое внимание исключительно на сервисе потоковой музыки Deezer и на днях выпустили приложение Radio by Deezer. Оно, в свою очередь, предоставляет бесплатный доступ к более чем 30000 радиостанций по всему миру. Инт...

«Уделяя внимание вопросам доступности, вы получаете крайне преданных пользователей»: интервью с Джоном Фоксом (Netflix) Известно, что accessibility — это важно, но далеко не все уделяют доступности своего приложения достаточное внимание. Ещё известно, что появление компании NeXT и её последующая покупка Apple — важный эпизод карьеры Стива Джобса, но мало кто лично писал софт для компьютеро...

Flutter: локализация приложений средствами Android Studio Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много. Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы. Эта статья не претендует на полноту охвата вопр...

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

[Перевод] Почему люди не используют формальные методы? На Software Engineering Stack Exchange я увидел такой вопрос: «Что мешает широкому внедрению формальных методов?» Вопрос был закрыт как предвзятый, а большинство ответов представляли собой комментарии типа «Слишком дорого!!!» или «Сайт — это не самолёт!!!» В каком-то смысле ...

[Перевод] Вышла Preview-версия XAML Hot Reload для Xamarin.Forms На прошлой неделе на Xamarin Developer Summit мы анонсировали «Горячую перезагрузку (Hot Reload) XAML для Xamarin.Forms», которая позволяет вносить изменения в пользовательский интерфейс XAML и просматривать их в режиме реального времени, не требуя другой сборки и развертыва...

Разработка цифровых продуктов с помощью ментальных моделей Привет, Хабр! Предлагаю вашему вниманию перевод статьи Designing Digital Products with Mental Models автора дизайнера Тима Шеинера. Лучший способ добиться взаимопонимания в проектной команде. Перевод — это сложно Когда-то, путешествуя по Индии, я купил недорогую книжку — ...

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

Intel на Mobile World Congress 2019 На выставке MWC 2019 компания Intel представила новейшие разработки для сетей 5G и рассказала о том, как инженеры компании создают технологическую основу для обработки, перемещения и хранения данных в эпоху 5G. На мероприятии было сделано несколько крупных анонсов, которые п...

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

WebTotem или как мы хотим сделать интернет безопаснее Бесплатный сервис для мониторинга и защиты веб-сайтов. Идея В 2017 году наша команда ЦАРКА начала разрабатывать инструмент для мониторинга всего кибер-пространства в национальной доменной зоне .KZ, а это было порядка 140 000 веб-сайтов. Задача сложная: нужно было операт...

[Из песочницы] Как сойти за хорошего программиста Привет, Хабр! Представляю вашему вниманию перевод статьи «How To Fake Being a Good Programmer» автора Stan Sootla. Программисты – это, своего рода, волшебники: слегка потрепанные персонажи-бедняки, которые умеют превращать кофе в строчки кода. Я не владею магией, я всего ...

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

Роскомнадзор заказал автоматизированную систему контроля за поисковиками и VPN 19 марта 2019 года на сайте госзакупок размещён тендер на разработку «автоматизированной системы контроля выполнения требований статьи 15.8 федерального закона от 27.07.2006 №149-ФЗ „Об информации, информационных технологиях и о защите информации”». Заказ разместило подвед...

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

[Из песочницы] Как разработать ещё один платформер с помощью Unity. Ещё один туториал Привет, Хабр! Под катом вас ждёт ещё одна статья, которая расскажет о том, как я поставил себе цель запрограммировать игру, основываясь на переводе статьи на Хабр под названием Паттерны дизайна уровней для 2D-игр. Статья имеет много текста (как обычного, так и исходного) и м...

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

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

[Перевод] Кеширование в Laravel: основы плюс tips&tricks Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содер...

Что будет с аутентификацией и паролями? Перевод отчета Javelin «Состояние строгой аутентификации» с комментариями Спойлер из заголовка отчета «Количество случаев использования строгой аутентификации выросло благодаря угрозам новых рисков и требованиям регуляторов». Исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019»...

Приложения для электронных книг на операционной системе Android. Часть 5. Облачные хранилища и плееры В этой, последней, части статьи о приложениях для электронных книг на операционной системе Android будут рассмотрены две темы: Облачные хранилища и Аудиоплееры. Бонус: список бесплатных библиотек с каталогами OPDS. Краткое содержание предыдущих четырёх частей статьиВ 1-ой ч...

IBM MQ и JMeter: Первый контакт Привет, Хабр! Это приквел моей предыдущей публикации и в то же время ремейк статьи Автоматизированное тестирование сервисов, использующих протокол MQ с помощью JMeter. На этот раз расскажу о своем опыте примирения JMeter и IBM MQ для счастливого тестирования приложений на ...

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

Создаём библиотеку по последнему слову техники Привет, Хабр. Это статья о том как написать Hello world по последнему слову техники. В конце мы получим hello world библиотеку которая: Использует typescript Заботится о codestyle Генерирует доку Проводит тесты Читать дальше →

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

Основные понятия стандартной библиотеки С++ Данная статья определяет основные понятия стандартной библиотеки С++. Она приводится для того чтобы на неё ссылаться в дальнейшем. Наибольшей частью стандартной библиотеки С++ является библиотека STL (Standard Template Library – Стандартная Библиотека Шаблонов). Библиотека S...

Внедряем Sign in with Apple — систему авторизации от Apple Привет, Хабр! Этим летом на конференции WWDC 2019 Apple представила собственную систему авторизации Sign in with Apple  и сделала ее обязательной для всех приложений в App Store, которые используют вход через соцсети. Исключение составляют образовательные, корпоративные, пр...

[Из песочницы] Кастомный виджет googleTranslate для сайта Перед тем как преступить к написанию данной статьи, я решил посетить страницу где генерируется Google Translate Widget, чтобы узнать о возможных изменениях и увидел данное сообщение: Получить доступ к переводчику сайтов больше нельзя. Это никак не отразится на тех, кто уже у...

[Перевод] Неопределённое поведение и правда не определено Термином «неопределённое поведение» в языке C и C++ обозначают ситуацию, в которой буквально «чего только не бывает». Исторически, к неопределённому поведению относили случаи, когда прежние компиляторы для C (и архитектуры на нём) вели себя несовместимым образом, и комитет п...

Интересные материалы: 06.05 В первом дайджесте на этой неделе мы представляем .NET 5, вопросы доступности и тонкое искусство разработки.

[Перевод] Пишем чистый и масштабируемый JavaScript-код: 12 советов Язык JavaScript родом из раннего веба. Сначала на нём писали простые скрипты, которые «оживляли» страницы сайтов. Теперь же JS превратился в полноценный язык программирования, который можно использовать даже для разработки серверных проектов. Современные веб-приложения силь...

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

Как мы запускаем новый сайт банка. Часть 2 Прошло полгода с момента публикации первой статьи о работе над сайтом банка. За это время Промсвязьбанк превратился в ПСБ, моя команда пополнилась еще тремя сильными спецами, мы запустили 300+ новых страниц на сайте, увеличив фокусные показатели и получив обратную связь от ...

[Из песочницы] Способы создания гистограмм с помощью Python За последний год я сталкивалась с необходимостью рисования гистограмм и столбчатых диаграмм достаточно часто для того, чтобы появилось желание и возможность об этом написать. Кроме того, мне самой довольно сильно не хватало подобной информации. В этой статье приведен обзор 3...

Блокчейн: что нам стоит PoC построить? Глаза боятся, а руки чешутся! В прошлых статьях мы разобрались с технологиями, на которых строятся блокчейны (Что нам стоит блокчейн построить?) и кейсами, которые можно с их помощью реализовать (Что нам стоит кейс построить?). Настало время поработать руками! Для реализаци...

[Перевод] 39 новых фич, которые будут доступны в Java 12 Из замечательного интервью на Хабре: «Саймон Риттер — человек, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Cont...

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

Как мы тестировали drag&drop в HTML5 Так или иначе, все сталкивались с ситуациями, когда в банальной обстановке вдруг происходило что-то необычное. Примерно такой случай произошел с нами при тестировании нового приложения на проверенном сто раз окружении. Сюрпризом для нас стало использование некоторых возможно...

Плагин вебинаров 3CX для вашего сайта Wordpress Представляем новый плагин 3CX Webinars для сайта Wordpress! Плагин позволяет публиковать на вашем сайте список вебинаров, которые создаются в веб-клиенте 3CX. Посетители сайте регистрируются на вебинары через онлайн-форму плагина. Внешний вид плагина можно кастомизировать ч...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

[Из песочницы] Какую роль могут сыграть технологии в древнем искусстве смешивания специй? Привет, Хабр! Представляю вашему вниманию перевод статьи «AI and spices: Would you put cumin on a pizza?» автора Dhruti Shah. Что общего между тосканской курицей, стейком-бурбоном и новоорлеанской колбасой? Все они представляют собой новые ароматы специй, разработанные кру...

[Из песочницы] «Статья про минет»: ученые обработали 109 часов орального секса, чтобы разработать ИИ, который сосет член Привет, Хабр! Представляю вашему вниманию перевод статьи Саманты Коул (Samantha Cole) c motherboard.vice.com. Анонимные специалисты по машинному обучению написали «статью про минет», чтобы сделать эту машинку для отсоса более реалистичной. Autoblow AI, секс-игрушка для поль...

Rotten Tomatoes изменил отображение рейтинга «ожидания фильмов» после того, как пользователи ополчились против Captain Marvel Известный сайт-агрегатор рецензий Rotten Tomatoes изменил систему отображения пользовательского рейтинга фильмов. Говоря конкретнее, создатели сайта скорректировали показатель «ожидания фильма» (параметр Want To See), а также отключили комментарии на страницах тех картин, ко...

Сбербанк запустил онлайн-переводы за рубеж. Это может снизить спрос на криптовалюты в РФ Сбербанк добавил возможность переводов за границу через мобильное приложение с комиссией в 1%. Это может снизить спрос на криптовалюты в качестве способа перевода средств за рубеж, считает глава международной процессинговой компании Chronopay Павел Врублевский. «Сбербан...

[Перевод] Комбинирование Signed Distance Fields в 2D В предыдущем туториале мы научились создавать и перемещать простые фигуры с помощью функций расстояний со знаком. В этой статье мы научимся комбинировать несколько фигур для создания более сложных полей расстояний. Большинству описанных здесь техник я научился из библиотеки ...

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

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

[recovery mode] Бесплатные ссылки, или чем заняться на досуге владельцу сайта Эта статья будет полезна владельцам бизнеса, которые занимаются продвижением своего сайта самостоятельно, но в “пассивном режиме”: в свободное время понемногу изучают вопрос, пытаются вникнуть в разные аспекты, пробуют разные способы и сервисы. Иными словами, не ставят жестк...

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

[Перевод] Новости из мира OpenStreetMap № 472 (30.07.2019-05.08.2019) How to carve OSM data into a slade plate – by Harald Hartmann 1 | Foto Harald Hartmann | Map data OpenStreetmap contributors Картографирование Продолжаются дискуссии (в Twitter, в списке рассылки) вокруг онлайн-редактора от Facebook — RapiD'a. Если вы хотите серьезно погр...

Из-за шатдауна правительства США не продлены более 80 сертификатов TLS Сертификат DigiCert, используемый веб-сайтом Апелляционного суда США, истёк 5 января 2019 года и не был продлён. На сайте размещены ссылки на систему подачи документов и PACER (система публичного доступа к судебным электронным записям) Согласно исследованию Netcraft, десят...

Читаем вконтакте через RSS Возможно, я сильно отстал от жизни, но я практически не пользуюсь соцсетями, а собирать информацию об обновлениях интересующих меня сайтов предпочитаю через RSS. Но совсем от соцсетей не избавиться, некоторые полностью перешли туда, закинув сайты (ну или rss-каналы на этих с...

Chrome Audit на 500: Часть 1. Лендинг В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение. Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нес...

[Из песочницы] Переносим проект с Swift 4.2 на Swift 5.0 Привет, Хабр! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee. Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают ...

CSS переменные и цветовая тема для сайта в несколько строк Один из способов использовать CSS переменные уже сегодня Создадим сайт который динамически поддерживает светлую, тёмную и цветовые темы. Интерактивное демо Создаём базовый цвет который будет меняться. Привязываем его к data-theme на html. html[data-theme='green'] { --...

[Из песочницы] Комплексный подход к визуализации событий безопасности и измерению её эффективности Привет, Хабр! Представляем вашему вниманию перевод статьи "A Full-Scale Security Visualization Effectiveness Measurement and Presentation Approach". От автора перевода Визуализация оказывает неоценимую помощь экспертам в получении выводов и знаний об объекте исследований,...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

[Перевод] Как мы при помощи WebAssembly в 20 раз веб-приложение ускорили В этой статье рассматривается кейс по ускорению браузерного приложения через замену вычислений JavaScript на WebAssembly. Читать дальше →

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 1/2: Progressive Web App Наверное, все близкие к веб-разработке люди уже наслышаны о Progressive Web App. Ещё бы! Эта технология практически уравняла веб и мобильную разработку с точки зрения распространения продуктов и вовлечённости пользователей. Да, современный фронтенд, написанный, например, ...

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

Самостоятельное продвижение сайтов «без воды» В результате вы получите: Самостоятельно подготовленные и проверенные куратором: Семантическое ядро (список запросов для продвижения) Кластеризацию (группировка ключевых слов) Приоритизацию (автоматический выбор лучших групп слов) SEO-аудит сайта ...

Весь мир в кармане или как сделать мобильную карту за пару дней В прошлой статье я рассказывал о том, как можно быстро сделать Web-звонилку. А что если поставить более амбициозную задачу — собрать своё собственное приложение с картой, без рекламы и с блэк-джеком? А если всего за пару дней? Давайте сделаем это! Прошу под кат. Читать дал...

Pentaho Data Integration (PDI), Python и глубокое обучение Привет, Хабр! Представляю вашему вниманию перевод статьи «Pentaho Data Integration (PDI), Python and Deep Learning». Глубокое Обучение (DL) — почему вокруг него столько шума? По данным Zion Market Research, рынок глубокого обучения (DL) увеличится с 2,3 млрд долларов в 201...

UsabilityLab представила рейтинг iOS-приложений банков UsabilityLab провела исследование удобства банковских приложений на iOS. Компания исследовала удобство, доступность и функциональность банковских приложений.

Скорость загрузки сайтов в e-commerce: анализ 48 топовых интернет-магазинов России Скорость загрузки сайта — больная тема для e-commerce. И если с десктопными версиями все более-менее нормально, то с мобайлом беда. Мы проанализировали крупнейшие интернет-магазины России с помощью сервиса Google PageSpeed Insights по 39 переменным — в разрезе сфер деятель...

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

Тепловая карта кликов — как пользователи ведут себя на сайте Сегодня у нас в руках множество инструментов, исследований и статей по ux/ui и том как сайт будут читать и идентифицировать. Но главный вопрос остаётся открытым. А знаете ли именно вы, куда пользователи вашего (или сделанного вами) сайта тыкают? Сегодня поговорим о кнопках ...

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

Qrator Labs: Исследование устойчивости национальных сегментов сети интернет в 2019 году Qrator Labs представляет результаты исследования влияния возможных сбоев сетей системообразующих операторов связи на глобальную доступность национальных сегментов интернета. Данное исследование объясняет каким образом отказ одной автономной системы ...

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

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

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

От веба до приложения за один DeepLink Android-приложения являются отражением сайта или сервиса и зачастую представляют собой сходный функционал в удобной оболочке. Из-за этого становится насущным вопрос навигации между страничкой в вебе и установленным клиентом. Для решения этой проблемы были изобретены диплин...

[Перевод] RabbitMQ против Kafka: отказоустойчивость и высокая доступность В прошлой статье мы рассмотрели кластеризацию RabbitMQ для обеспечения отказоустойчивости и высокой доступности. Теперь глубоко покопаемся в Apache Kafka. Здесь единицей репликации является раздел (partition). У каждого топика один или несколько разделов. В каждом разделе...

[Перевод] Postgres в ретроспективе Предлагаем вашему вниманию перевод статьи Джозефа Хеллерштейна «Looking Back at Postgres», опубликованной в соответствии с международной лицензией Creative Commons «С указанием авторства» версии 4.0 (CC-BY 4.0). Авторы оставляют за собой право распространять эту работу на ли...

[Перевод] Windows Subsystem for Linux (WSL) версии 2: как это будет? (FAQ) Под катом расположен перевод опубликованного FAQ'а о деталях будущей WSL второй версии (автор — Craig Loewen). Затронутые вопросы: WSL 2 использует Hyper-V? Будет ли WSL 2 доступна на Windows 10 Home? Что будет с WSL 1? Она будет заброшена? Будет ли возможность одновремен...

[Перевод] Визуализация работы PEG парсера В прошлый раз получился простой генератор парсера PEG. Сейчас же я покажу, что на самом деле делает сгенерированный парсер при разборе программы. Я погрузился в ретро-мир ASCII-арта, в частности, библиотеку с именем «curses», которая доступна в стандартной поставке Python дл...

[Из песочницы] Учебное пособие по TensorFlow: 10 минутное практическое занятие по TensorFlow для начинающих [перевод] Привет, Хабр! Представляю вашему вниманию перевод статьи "TensorFlow Tutorial: 10 minutes Practical TensorFlow lesson for quick learners" автора Ankit Sachan. Этот туториал по TensorFlow предназначен для тех, кто имеет общее представление о машинном обучении и пыта...

[Перевод] Деанонимизация через Clickjacking в 2019 году Я хотел бы поделиться с вами результатами моих исследований текущего положения дел в процессе деанонимизации с помощью техники clickjacking. Под деанонимизацией я подразумеваю возможность вредоносного веб-сайта раскрыть личность посетителя, включая его полное имя и, возможно...

Псевдо Lens Flare Привет, Хабр! Представляю вашему вниманию перевод статьи «Pseudo Lens Flare» автора John Chapman. Lens flare (блики на линзах) ― это фотографический артефакт, возникающий при рассеивании и преломлении света в системе линз. Хотя он является артефактом, существует множество...

Отчет о состоянии сетевой безопасности в 2018-2019 годах Qrator Labs, специализирующаяся на противодействии DDoS-атакам и обеспечении доступности интернет-ресурсов, представляет отчет о состоянии сетевой безопасности в 2018-2019 годах.

[Перевод] Настало ли время для URL, содержащих эмодзи? Домены с эмодзи существуют уже много лет, но до сих пор не обрели популярность [К сожалению, редактор Хабра не позволяет вставлять в текст эмодзи. Эмодзи-ссылки можно найти в оригинальном тексте статьи (копия статьи на сайта Archive) / прим. перев.] Если вы введёте в адре...

Управление M5Stack через BLE Интро Уже сравнительно давно микроконтроллер ESP32 стал неким стандартом для множества DIY проектов. И действительно, возможность работы с Wi-Fi, Bluetooth, встроенная энергонезависимая память, а так же большое число выводов позволяют сделать массу интересных проектов. В эт...

[Из песочницы] Angular. Понимание @Input, @Output и EventEmitter Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding @Input, @Output and EventEmitter in Angular» автора foolishneo. Приветствую всех желающих накапливать информацию о тонкостях работы фреймворка Angular. Сегодня посчитал нужным лучше изучить информацию,...

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

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

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

VueJs + VueRouter + modal. Очередной велосипед Добрый день. В этой статье я разберу способ, который позволяет при смене адреса показывать модальное окно для наших нужд. Я знаю, что есть собственное решение для компонента «modal» на официальном сайте. Вдобавок к этому на Хабре есть много других статей, посвященных теме мо...

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

Физические безумства Добрый день, уважаемый читатель! Я, начинающий Java-программист, долгое время не мог освоиться с библиотекой Box2D. Во-первых, из-за того, что она написана для C++, и по ней нет документации, а синтаксис Си я не знаю. Во-вторых, из-за того, что подробные уроки по этой библио...

Опыт перевода Maven-проекта на Multi-Release Jar: уже можно, но ещё сложно У меня есть маленькая библиотека StreamEx, которая расширяет возможности Java 8 Stream API. Библиотеку я традиционно собираю через Maven, и по большей части меня всё устраивает. Однако вот захотелось экспериментов. Некоторые вещи в библиотеке должны работать по-разному в раз...

[Перевод] Удалённая разработка в VS Code: ваша жизнь никогда не будет прежней У нас в TestMace Visual Studio Code является одним из самых популярных инструментов. И тем более отрадно, что он развивается семимильными шагами. Вашему вниманию предлагается перевод статьи об еще одной вкусной фиче, которая доступна пока только в VS Code Insiders. Согласен,...

Apple MacBook Air 2019 256 Гбайт оснащен более медленным SSD, чем модель 2018 года MacBook Air 2019 года, обновленный на прошлой неделе, похоже, имеет более медленный SSD, чем MacBook Air 2018 года, согласно тестированию французского сайта Consomac. Используя тестирование с помощью теста производительности Blackmagic Disk Speed, сайт обнаружил, что скорост...

Пять перспективных языков программирования со светлым будущим (3 года спустя) В 2016-м году я опубликовал перевод статьи про 5 перспективных языков программирования, в которой прогнозировался их рост в ближайшие 2-3 года. Зачастую прогнозы так и остаются прогнозами, без последующего анализа. Но я решил, что это непорядок. И посколько 3 года уже проле...

[Из песочницы] Thimble (Mozilla) переезжает на Glitch С середины декабря 2018 года на сайте проекта Thimble от Mozilla появилось объявление о переезде на платформу проекта Glitch. Переезд должен полностью состояться до 16 декабря 2019 года. Обе платформы уже обсуждались на Хабре. Статьи о Thimble – статья 1, статья 2. Статья о ...

Microsoft готовит новый календарь в Windows 10 Microsoft работает над обновленным приложением «Календарь» для Windows 10 с новым оформлением, которое пользователи смогут активировать с помощью переключателя в настройках.Итальянский сайт Aggiornamentilumia сумел получить более раннюю версию обновленного приложения и опубл...

[Из песочницы] Пишем telegram бота на python с помощью библиотеки telebot Лирическое отступление Боты сегодня — это многофункциональный инструмент, как для бизнеса, так и для развлечений. Лично я считаю, что за ними будущее. Конечно, прочитав эту статью, вы не сможете создавать большие проекты, но заинтересоваться и начать — вполне. Установка и н...

Еще один вариант среды для разработки WordPress (docker, wp-cli) Есть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки. Очень хотелось после запуска контейнера видет...

Apple прекратила продажи книги Designed by Apple in California, которая стоила от 200 долларов В ноябре 2016 года компания Apple представила книгу Designed by Apple in California, которую продавала за 200 либо 300 долларов. Книга представляет собой просто набор качественных фотографий различных продуктов купертинского гиганта, начиная с iMac 1998 года. Н...

[Перевод] Бег с протезами: некстген симуляция движения человека с помощью мышц, костей и нейросети Сотрудники Сеульского университета опубликовали исследование о симуляции движения двуногих персонажей на основе работы суставов и мышечных сокращений, использующей нейросеть с Deep Reinforcement Learning. Под катом перевод краткого обзора. Читать дальше →

Официальный тизер Xiaomi Mi Note 10 намекает на 108 Мп камеру Предстоящим смартфоном Xiaomi должен стать Mi Note 10. Не так давно новинка, наряду с моделью Pro, прошла очередную сертификацию, что подтверждает её доступность и за пределами Китая. На этот раз компания опубликовала новый тизер, который кажется довольно знакомым. Подробнее...

[Из песочницы] Создаем прототип для Sentiment Analysis с помощью Python и TextBlob Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоем...

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

[Из песочницы] Lock с приоритетами в .NET Каждый программист, использующий более одного потока в своей программе, сталкивался с примитивами синхронизации. В контексте .NET их очень и очень много, перечислять не буду, за меня это уже сделал MSDN. Мне приходилось пользоваться многими из этих примитивов, и они прекрас...

Dark Mode в iOS 13 Одной из главных новых функций iOS 13 является системный параметр Dark Mode, который соответствует функции Dark Mode, которую мы получили в macOS Mojave в прошлом году. Включение темного режима можно выполнить с помощью приложения «Настройки» на iPhone (или iPad) в разделе «...

Проблемы использования сервиса Яндекс.Метрика В последние дни наблюдаем весьма странное поведение сервиса Яндекс.Метрика. Некоторые сайты, в которых нужно вводить/выбирать пользовательские данные, стали вести себя не очень адекватно. При полной очистке истории браузера проблема пропадает, однако далее всё возобновляется...

Индекс доступности мобильной связи Информационно-аналитическое агентство Content Review опубликовало результаты исследования тарифов операторов РФ и рассчитанный на их основе индекс доступности связи по итогам первой половины 2019 года. В ходе ...

Функция оповещения о камерах в Google Maps заработала в России Когда в 2013 году Google купила разработчика Waze, многие ожидали, что некоторые ключевые функции приложения в скором времени появятся в Google Maps. Хотя компания и заявляла, что обе команды разработчиков останутся раздельными, через несколько месяцев пользователи популярн...

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

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

[Перевод] UDB. Что же это такое? Часть 3. Datapath FIFO Продолжаем делать перевод фирменной документации фирмы Cypress на блоки UDB. Тем более, что всё очень удачно совпадает. Для продолжения практической статьи по UDB понадобится использование FIFO, а в теоретической части мы подобрались как раз к их описанию. Поэтому начинаем...

Открытые библиотеки для визуализации аудиоконтента Мы изучили несколько тематических тредов на GitHub, Hacker News и Reddit, посвященных инструментам для визуализации аудиоконтента. Рассказываем о часто упоминаемых открытых библиотеках и решениях, которые пригодятся разработчикам веб-приложений или игр. Читать дальше →

Возьму 2 сайта на продвижение за 10 000 рублей   В качестве акции возьму 2 коммерческих сайта на продвижение в Яндексе и Гугле.  Регион продвижения — Москва и Питер. Срок продвижения — 4-5 месяцев. Оплата — 10 000 рублей за весь срок продвижения (4-5 месяцев) Результат продвижения — увеличен...

Доступность видеокарт GeForce RTX 2060 SUPER и GeForce RTX 2070 SUPER, 3 новых G-SYNC совместимых монитора, выход приложения FrameView и другие новости GeForce

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

[Перевод] Service mesh для микросервисов. Часть III. Более глубокий взгляд на Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Это третья статья из серии публикаций, посвященных  Kubernetes и технологии service mesh (также известной как «сеть микросервисов» и «mesh-сеть микросервисов»). В ...

[Перевод] Кто несет ответственность за качество тестирования приложения? 10 причин попадания ошибки в продакшен Подготовили для вас перевод статьи Дмитрия Ярыгина, QA Engineer с опытом работы в крупных проектах мира более 8 лет, преподавателя курса «Mobile QA Engineer» в OTUS. Интересно развиваться в данном направлении? Приглашаем пройти бесплатный двухдневный интенсив «Введение в авт...

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

[Из песочницы] Забота о себе во время написания кода Привет, Хабр! Представляю Вашему вниманию перевод статьи «Developer health — taking care of yourself as you code» автора Christopher Kad. Недавно мне поставили диагноз «тендинит», и, конечно, в этом нет ничего особенного, и его можно вылечить, но я понял, что не слишком хор...

HTTPS не всегда такой безопасный, как кажется. Уязвимости найдены у 5,5% сайтов HTTPS Один из топовых сайтов Alexa (центральный кружок), защищённый HTTPS, с поддоменами (серым) и зависимостями (белым), среди которых есть уязвимые (штриховая заливка) В наше время значок защищённого соединения HTTPS стал стандартным и даже необходимым атрибутом любого серьёзн...

[Перевод] Аппаратные «характеристики» в .NET Core (теперь не только SIMD) Введение Несколько лет назад, мы решили, что настало время поддержать SIMD код в .NET. Мы представили пространство имен System.Numerics с типами Vector2, Vector3,Vector4 и Vector<T>. Эти типы представляют API общего назначения для создания, доступа и оперирования векто...

Как мы YouTube Live с Zoom интегрировали Всем привет! Это вторая часть серии статей от IT-команды сервиса бронирования отелей Ostrovok.ru об организации онлайн-трансляции корпоративных презентаций и мероприятий в одном отдельно взятом помещении. В первой статье мы рассказали о том, как решили проблему плохого зву...

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

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

Делаем процесс разработки тяжеловесного программного обеспечения под микроконтроллеры более удобным (нет) Сейчас уже никого не удивить микроконтроллерами с энергонезависимой (чаще всего Flash) памятью объемом 512 килобайт и более. Их стоимость постепенно снижается, а доступность напротив, растет. Наличие такого объема энергонезависимой памяти дает возможность писать «тяжелые» по...

[Перевод] Асинхронный PHP. Зачем? Асинхронное программирование сегодня востребовано, особенно в веб-разработке, где отзывчивость приложения особенно важна. Никому не хочется ждать, пока приложение «отвиснет», пусть даже в это время оно выполняет запрос к базе данных, отправляет электронное письмо или работ...

Падение органического трафика из Google 2018–2019: кто виноват и что делать Как сделать так, чтобы в результате очередных обновлений Google ваш сайт не пострадал?

[Перевод] Sketch + Node.js: генерируем иконки для множества платформ и брендов Нет ничего проще, чем добавить иконку в проект: нужно всего лишь написать дизайнеру, он экспортирует её из Sketch и пришлет вам нужный вариант, а вы используете ее у себя в коде. Если же у вас с десяток проектов, несколько платформ и множество А/Б-тестов на дизайн, то дост...

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

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

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

Ssh-chat Привет, Хабр. Console chat отличная вещь, но для фронтендеров, а что если вы хотите такой же, но для бэкэнда. Если да, то эта статья для вас. Но какой инструмент часто используют в бэкенде? Правильно ssh, так что представляю sshchat Читать дальше →

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

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

Суд США полностью легализовал скрапинг сайтов и запретил ему технически препятствовать Вчера Апелляционный суд 9-го округа США принял решение (pdf), что скрапинг публичных сайтов не противоречит закону CFAA (Computer Fraud and Abuse Act). Это действительно важное решение. Суд не только легализовал эту практику, но запретил мешать конкурентам снимать информаци...

Решение задания с pwnable.kr 11-coin1, 12-blackjack, 13-lotto. Ошибки в логике приложений В данной статье рассмотрим решения 3-х заданий с сайта pwnable.kr. Организационная информацияСпециально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях: ...

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

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

10 причин, чтобы выбрать решение для SAP HANA от НРЕ. Часть 2 В предыдущей статье мы начали говорить о 10 причинах, чтобы выбрать решение от компании Hewlett Packard Enterprise для SAP HANA и остановились на технических причинах. Предлагаю взглянуть на процесс выбора решения под SAP HANA «глазами вендора». Очень бы хотелось, чтобы эт...

[Перевод] Анонсировано расширение Azure IoT Edge Tools (Preview) Мы рады объявить о доступности preview-версии нового расширения для Visual Studio 2019 — Azure IoT Edge Tools. Расширение предоставляет богатый набор функций для поддержки разработки решений IoT Edge с использованием Visual Studio 2019: Читать дальше →

Google обновил инструмент для проверки расширенных результатов Команда Google Webmasters сообщила в Twitter об обновлении инструмента для проверки расширенных результатов (Rich Results Test). Теперь в нём можно выбрать агента пользователя – для десктопов или для смартфонов: Робота Googlebot для смартфонов рекомендуется выбирать в двух с...

[Перевод] Двустороннее связывание Angular, чуть больше понимания От переводчикаОт переводчика: два года назад я начал свой первый проект на Angular(2+), имея большой и успешный бэкграунд AngularJS. Переход потребовал заметного форматирования мышления, поскольку слишком много на A1 и A2+ делается «чуть-чуть по другому». Болезненность перех...

AERODISK Engine: Катастрофоустойчивость. Часть 2. Метрокластер Привет, читатели Хабра! В прошлой статье мы рассказали о простом средстве катастрофоустойчивости в системах хранения AERODISK ENGINE – о репликации. В этой статье мы погрузимся в более сложную и интересную тему – метрокластер, то есть средство автоматизированной защиты от к...

Правда про парсинг сайтов, или «все интернет-магазины делают это» В этой статье я постараюсь наиболее просто рассказать о парсинге сайтов и его основных нюансах. Моя компания занимается парсингом сайтов уже более трёх лет и ежедневно мы парсим около 300 сайтов. Я обычно открыто пишу об этом в соц.сетях (плюс мы много чего из итогов парсинг...

WordPress представила функцию платной подписки на контент CMS-платформа WordPress объявила о запуске новой функции Reccuring Payments, которая позволяет реализовать на сайте платную подписку на контент. Новая функция доступна для издателей, использующих WordPress на платной основе, а также для WP-сайтов с собственным хостингом, кот...

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

[Перевод] Есть ли что-то общее у разных песен-хитов? Если выполнить вход на Spotify.me, то можно получить персонализированную сводку того, как Spotify понимает вас через музыку, которую вы слушаете на этом сайте Spotify. Это круто! Я слушаю много музыки и люблю работать с данными, поэтому это вдохновило меня на попытку анали...

Обучение моделей TensorFlow с помощью Службы машинного обучения Azure Для глубокого обучения нейронных сетей (DNN) с помощью TensorFlow служба «Машинное обучение Azure» предоставляет пользовательский класс TensorFlow средства оценки Estimator. Средство оценки TensorFlow в пакете Azure SDK (не следует путать с классом tf.estimator.Estimator) по...

[Перевод] 5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе. Голос Чуи Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и...

Задачи, которые решают программные роботы (RPA) в банковском секторе В настоящий момент финансовый сектор лидирует в использовании RPA. Наши партнеры подготовили перевод статьи о том, как банки используют эту технологию в своих процессах. По данным консалтинговой компании Gartner, выручка от программного обеспечения RPA в 2018 году выросла н...

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

[Из песочницы] 10 понятий для дизайнера в 2019-м Среда работы UI/UX дизайнеров стремительно расширяется и растет: появляется уйма новых продуктов и инструментов для разработки интерфейсов, крутых возможностей благодаря развитию гибких языков программирования и, конечно же, в дизайнерскую экосферу внедряется множество новых...

Новый сервис подсказок для поиска в hh.ru Поисковые подсказки — это здорово. Как часто мы набираем полный адрес сайта в адресной строке? А название товара в интернет-магазине? Для таких коротких запросов обычно хватает ввести несколько символов, если подсказки поиска хороши. И если вы не обладаете двадцатью пальцами...

[Перевод] Механизмы расширяемых расширений в JavaScript Здравствуйте, коллеги! Напоминаем, что не так давно у нас вышло 3-е издание легендарной книги «Выразительный JavaScript» (Eloquent JavaScript) — на русском языке напечатано впервые, хотя качественные переводы предыдущих изданий встречались в Интернете. Тем не менее, ни J...

Сайт Google для операционной системы Fuchsia ненадолго появился в сети Сайт Fuchsia.dev, созданный Google для операционной системы Fuchsia, ненадолго появился в сети. На это первым обратил внимание пользователь Reddit под именем Mishudark.  Прежде чем сайт убрали из публичного доступа, Mishudark успел сделать достаточно скриншотов и п...

EMUI 9.1 доступна для смартфонов Huawei P20 и P20 Pro за пределами Китая Huawei обещала выпустить оболочку EMUI 9.1 для смартфонов Huawei P20 в июле, и выпустила. Как пишет источник, обновление уже стало распространяться за пределами Китая. EMUI 9.1 по-прежнему базируется на Android 9 Pie, но несет в себе массу улучшений: графический пользов...

Расчет странового коэффициента УЕФА В футболе есть два популярных турнира: Лига Чемпионов и Лига Европы. На основании их результатов рассчитывается так называемый Рейтинг футбольных ассоциаций. На базе этого рейтинга в дальнейшем определяется, какое количество команд от каждой страны будет участвовать в посл...

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

Вышла новая версия флагманского слайдера Xiaomi Mi Mix 3 Компания Xiaomi сообщила о появлении в продажу еще одной версии своего флагманского смартфона Xiaomi Mi Mix 3, который выполнен в форм-факторе слайдера.  Смартфон Xiaomi Mi Mix 3 был представлен в октябре прошлого года, продажи начались 1 ноября, однако изначально ...

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

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

#видео | Дешевый робот Doggo способен выполнять трюки не хуже роботов Boston Dynamics Студенты Стэндфордского университета представили четвероногого робота Doggo, предназначенного для самостоятельной сборки. При желании его может собрать любой желающий, используя доступные в продаже компоненты, открытое программное обеспечение, а также документацию, которую ...

Не New Relic’ом одним: взгляд на Datadog и Atatus В среде SRE-/DevOps-инженеров никого не удивишь, что однажды появляется клиент (или система мониторинга) и сообщает, что «всё пропало»: сайт не работает, оплаты не проходят, жизнь — тлен… Как бы ни хотелось помочь в такой ситуации, сделать это без простого и понятного инст...

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

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

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Множественные эксперименты: теория и практика В современном мире сложно представить развитие продукта без A/B-тестирования. Чтобы успешно запустить продукт или новую функциональность — надо грамотно спроектировать A/B, рассчитать и интерпретировать его результаты. Иногда нам требуется тестирование более чем для двух гру...

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

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

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

[Перевод] Fluent 1.0: гибкая система локализации Fluent — семейство спецификаций, реализаций и практик для локализации, разработанной Mozilla. Сейчас она применяется в браузере Firefox. Используя Fluent, переводчики могут писать более естественные переводы на родном языке. Сегодня мы представляем спецификацию формата фай...

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

Расписание приема лекарств и уведомление о результатах анализов: Разрабатывается приложение-персональный медицинский ассистент На форуме «БИОТЕХМЕД» «БАРС Груп», дочерняя компания Национального Центра Информатизации, раскрыла свои планы по созданию нового мобильного приложения для пациентов государственных и частных медицинских организаций – «Медитус». Оно разрабатывается в соответствии с целями нац...

[Из песочницы] Всё что вам нужно знать о Node.js Привет, Хабр! Представляю вашему вниманию перевод статьи "Everything you need to know about Node.js" автора Jorge Ramón. В наши дни платформа Node.js является одной из самых популярных платформ для построения эффективных и масштабируемых REST API's. Она так же под...

[Перевод - recovery mode ] Django 3.0 будет асинхронным Andrew Godwin опубликовал DEP 0009: Async-capable Django 9 мая, а 21 июля он был принят техническим советом Django, так что можно надеяться, что к выходу Django 3.0 успеют сделать что-нибудь интересное. Он уже упоминался где-то в комментариях Хабра, но я решил донести эту но...

[Перевод] Чем занимается геймдизайнер? Привет, Хабр! Представляю вам перевод статьи "What Does a Game Designer do?" автора Kai Wüest. Kai Wüest — продюсер из Исландии, работавший раньше тестировщиком, а затем — геймдизайнером. День в роли геймдизайнера Легендарный геймдизайнер. Человек, миф, легенда, стоящая за ...

На сайте поставщика расширений для Magento нашли скиммер Компания Extendware, создатель расширений для сайтов на базе CMS Magento, пострадала от атаки взломщиков. Злоумышленники внедрили скиммер на сайт организации и могли также заразить ее продукцию. Преступники присутствовали в инфраструктуре Extendware с 4 октября. Вредоносный ...

Не всплывай! Прерываемые транзишены в iOS Вас тоже бесят всплывающие окна в приложениях? В этой статье я покажу, как интерактивно скрывать и показывать всплывающие окна, делать анимацию прерываемой и не бесить своих клиентов. Читать дальше →

[Из песочницы] Как сделать поддержку PCRE2 для Apache 2.4 Хочу поделится своим опытом перевода Apache 2.4 на PCRE2, так как даже PHP 7 уже давно поддерживает библиотеку PCRE2, а open source Apache Software Foundation все еще нет. Конечно я сейчас наверно опережаю релиз Apache с поддержкой PCRE2, так как я использую исходники с гита...

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

[Перевод] 7 полезных сайтов и приложений для изучения английского Интересный факт – 20% населения планеты хотя бы на каком-то уровне говорит на английском языке, а его носителями являются всего 5% населения. При этом, этот язык – пожалуй, главный в интернете. По статистике, на нем написано 55,5% всего размещенного онлайн-контента. Так ...

Опыт использования BDD в тестировании CUBA Platform Около семи лет назад Dan North в своей статье описал практическое применение BDD подхода, который позволяет сделать процесс разработки более понятным и управляемым путем налаживания внутренних коммуникаций. Индустрия с каждым днем проявляет всё больший интерес к этой методол...

На сайте покажут расположение камер Чтобы узнать, где размещены комплексы фотовидеофиксации, необходимо перейти с главной страницы сайта в раздел "Комплексы фотовидеофиксации на дорогах" и выбрать субъект Российской Федерации, а затем на интерактивной карте найти интересующую область."В связи с ...

[Перевод] Laravel Event Projector и концепция порождения событий Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» Фрек ван дер Хертен (Freek Van der Herten) и команда Spatie долго трудились над Laravel Event Projector, пакетом, позволяющим применять концепцию порождения событий (Event Sourcing) во фре...

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

Решение задания с pwnable.kr 06 — random и 09 — mistake В данной статье узнаем как перехватить данные, передаваемые между библиотечной функцией и программой, вспомним про файловые дескрипторы и решим 6-е и 9-е задания c сайта pwnable.kr. Читать дальше →

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

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

Подключение Micrometer для веб-приложения на Java Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга. В этой статье я расскажу, как подключить Micrometer для spring web приложения и экспортировать данные в Prometheus (хороший пост о нем). Так как мое при...

[Перевод] Пошаговое руководство по настройке DNS-сервера BIND в chroot среде для Red Hat (RHEL / CentOS) 7 Перевод статьи подготовлен для студентов курса «Безопасность Linux». Интересно развиваться в данном направлении? Смотрите запись трансляции мастер-класса Ивана Пискунова «Безопасность в Linux в сравнении с Windows и MacOS» В этой статье я расскажу о шагах по настройке DNS-с...

Самая доступная связь в России (май 2019 г.) Информационно-аналитическое агентство Content Review публикует результаты исследования тарифов операторов РФ и рассчитанный на их основе индекс доступности связи по итогам первой половины 2019 года. В ходе исследования были зафиксированы тарифы восьми операторов во всех реги...

[Перевод] Рекомендации по созданию приложений на React Native. Часть 1 Добрый день, хабровчане. Сегодня делимся с вами переводом статьи, перевод которой был подготовлен специально для первого запуска курса «ReactJS/React Native-разработчик». Приятного прочтения. Если вы новичок в мире React Native, то вы знаете, что в нем есть некоторые по...

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

[Из песочницы] Разработка VPN-плагина «Континент-АП» для ОС Sailfish Введение Я работаю программистом в отделе разработки и тестирования средств защиты мобильных платформ компании «Код безопасности». Перед командой мобильной разработки была поставлена задача портировать кроссплатформенную библиотеку абонентского пункта «Континент-АП», которая...

[Перевод] Как работают методы persist, merge из JPA и методы save, update, saveOrUpdate из Hibernate Добрый день, друзья. Перевод статьи подготовлен специально для студентов курса "Разработчик Java". Введение В этой статье я собираюсь показать вам, как работают методы persist, merge из JPA и сравнить их с методами save, update, saveOrUpdate из Hibernate. Хотя лучше испол...

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

Как убедить всех, что у тебя защищённый ЦОД? Преамбула. Статья носит исключительно информационный характер. Предназначена для потенциальных клиентов ЦОД, которые слышали про 152-ФЗ, 149-ФЗ, хотят потратить бюджетные средства и не знают, что такие схемы бывают. Для удобства восприятия материала автор будет излагать схем...

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

Тестируем SQL Server код с tSQLt FYI: эта статья представляет собой дополненную версию моего доклада на SQA Days #25. Опираясь на свой опыт общения с коллегами, могу утверждать: тестирование кода в БД не является распространённой практикой. Это может нести в себе потенциальную опасность. Логику в БД пишут ...

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

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

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

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

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