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

[Перевод] Медиа-запросы в адаптивном дизайне 2018 В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие метод...

Релиз Yii 2.0.15 и расширений баз данных с исправленными уязвимостями Сегодня мы выпускаем обновления Yii для нескольких последних версий 2.0.x и официальных расширений поддержки нереляционных баз данных для исправления найденных уязвимостей. Патчи исправляют проблему в методах слоя ActiveRecord: findOne() и findAll(), которые могут допустить ...

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

Объект в футляре или Optional в Java 8 и Java 9: Часть 5: Недосказанное и постер в подарок Это пятая и последняя статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В первой статье было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. Вт...

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

Тернарные операторы и логическое “И” в React.js Всем привет! Вы читаете перевод статьи Donavon West “Conditional Rendering in React using Ternaries and Logical AND” Существуют несколько способов заставить React рендерить то, что вам нужно. Вы можете использовать традиционный оператор if или switch. В этой статье мы рас...

Особенности настройки и запуска PVS-Studio в Docker на примере кода Azure Service Fabric Технологии контейнеризации активно используются для сборки и тестирования программного обеспечения. С появлением PVS-Studio для Linux, пользователям стала доступна возможность добавить статический анализ к другим методам тестирования своего проекта на этой платформе, в том ...

[Из песочницы] Как начать работать с Лямбда-выражениями в Java Привет, Хабр! Представляю вашему вниманию перевод статьи "How to start working with Lambda Expressions in Java" автора Luis Santiago. До того как Лямбда-выражения были добавлены в JDK 8, я использовал их в таких языках как C# и С++. Когда они были добавлены в Java...

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

Hessian-Free оптимизация с помощью TensorFlow Добрый день! Я хочу рассказать про метод оптимизации известный под названием Hessian-Free или Truncated Newton (Усеченный Метод Ньютона) и про его реализацию с помощью библиотеки глубокого обучения — TensorFlow. Он использует преимущества методов оптимизации второго порядка ...

[Перевод] Параллельное программирование в Swift: Operations В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании э...

Google обновил лимиты на количество запросов о сканировании в Search Console На днях Google обновил справочный документ, посвящённый запросам на повторное сканирование страниц. В текущей версии статьи указаны новые лимиты на количество таких заявок. Теперь пользователи смогут подавать до 300 запросов типа «Сканировать только этот URL» в месяц. Ранее ...

Работа с API КОМПАС-3D → Урок 8 → Более сложные методы записи в основную надпись Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. Мы уже рассматривали работу с основной надписью в четвертой ча...

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

[Перевод] Руководство по фоновой работе в Android. Часть 2: Loaders Это вторая из серии статей об инструментах и методах фоновой работы в Android. Ранее уже были рассмотрены AsyncTask, в следующих выпусках — ThreadPools с EventBus, RxJava 2 и корутины в Kotlin. Читать дальше →

Скрипт получения информации из образа Windows Имею серию статей посвящённых теме обслуживания образов Windows командами системы DISM. В моих статьях приводились примеры скриптов на языке интерпретатора командной строки cmd.exe. В результате работы исходный образ Windows (живая система или автономный файл *.wim) изменялс...

DNSCrypt 2.0 и блокировка рекламы В этой статье хотелось бы рассмотреть нововведения Dnscrypt, на конкретном примере, который наверняка окажется для кого-то полезным. Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов...

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

Отслеживаем действия пользователя с помощью CSS В этом посте вы сможете узнать, почему даже с выключенным JavaScript и без плагинов, вы все равно можете отсылать поведенческие данные на сторонний сервер. Также здесь мы рассмотрим метод, как получить поведенческую информацию от пользователей используя только HTML и CSS. В...

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

Индексы в PostgreSQL — 10 В прошлых статьях мы рассмотрели механизм индексирования PostgreSQL и интерфейс методов доступа, а также хеш-индексы, B-деревья, GiST, SP-GiST, GIN, RUM и BRIN. Нам осталось посмотреть на индексы Блума. Bloom Общая идея Классический фильтр Блума — структура данных, позволя...

Ускоряем метод Виолы-Джонса (Viola-Jones) В последнее время метод Виолы-Джонса, который долгое время был основным способом детектирования объектов на изображении, отступает под натиском более новых и совершенных алгоритмов. Тем не менее, актуальность этого метода еще сохраняется и в настоящем времени. Да, каскадный...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 2 В предыдущей статье мы начали рассказывать о том, как можно реализовать асинхронную обработку входящих HTTP-запросов, внутри которой нужно выполнять асинхронные исходящие HTTP-запросы. Мы рассмотрели реализованную на C++ и RESTinio имитацию стороннего сервера, который долго ...

Angular: OAuth2 авторизация, рефрешим токен и HttpInterceptor Доброго времени суток. Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса...

[Перевод] Новшества React 16.3(.0-alpha) React 16.3-alpha опубликован в npm, его уже можно загружать и использовать. Сегодня мы поговорим о самых крупных и интересных нововведениях этого релиза. В частности, речь пойдёт об API Context, о новых методах жизненного цикла, о статическом методе getDerivedStateFromProps,...

Фундаментальная уязвимость HTML при встраивании скриптов Чтобы описать суть проблемы, мне нужно рассказать, как вообще устроен HTML. Вы наверняка в общих чертах представляли себе, но я все равно коротко пробегусь по основным моментам, которые понадобятся для понимания. Если кому-то не терпится, сразу переходите к сути. HTML — это ...

Автоматизация действий атакующего, используя metasploit и Python Известно, что метасплойт написан на Ruby и не поддерживает скрипты, написанные на Python. Несмотря на это у метасплойта есть двусторонний RPC–интерфейс, при помощи которого можно запускать задачи. Есть две библиотеки, позволяющие взаимодействовать с remote procedure call (R...

как добавить свой счетчик в PRTG. И кратенько о форматах датчиков с примерами на powershell Почему бы не добавлять в систему мониторинга показатели работы из 1С (да и вообще чего угодно)? По мере изучения оказалось что вывести можно из скриптов, батников, VB скриптов, исполняемых файлов, по SSH, прямым исполнением sql запросов и еще куча способов. Чтобы не получила...

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

[Из песочницы] Amazon S3 + 1С. Часть 1. Интерфейс Всем привет, с вами Низамов Илья и сегодня я начинаю цикл статей по написанию обработки взаимодействия с облаком Amazon s3 из 1С. Обработка Amazon s3 позволяет получат список файлов по фильтру, скачать необходимые файлы с Amazon s3 используя amazon s3 api, отправлять фай...

Основы разработки под Microsoft Exchange Server На форуме TechNet Microsoft каждый день появляются новые вопросы, касающиеся разработки для Exchange\Exchange Online. Актуальными на сегодняшний день являются два метода разработки: с использованием веб-сервисов (EWS Exchange и другие) и без их использования. В этой статье р...

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

Компилятор на JavaScript с использованием ANTLR В начале этого года я присоединилась к команде, работающей над MongoDB Compass — графическим интерфейсом для MongoDB. Пользователи Compass через Intercom запросили инструмент, позволяющий писать запросы к базе данных, используя любой удобный им язык программирования, подд...

Что такое GraphQL и как использовать его в Android Мы все работали с REST API, используя их с первых дней в разработке. Но по мере того, как запросы усложнялись, а сами данные расли, такие API стали все более дорогими как по времени выполнения, так и по потребляемым ресурсам. Требовался фреймворк или слой, который мог бы сде...

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

[Из песочницы] Копирование данных с веб-сайта с помощью R и библиотеки rvest Чтобы проводить анализ данных, необходимо сначала эти данные собрать. Для этой цели есть много разных методов. В этой статье мы будем говорить о копировании данных непосредственно с веб-сайта, или о скрейпинге (scraping). На Хабре есть несколько статей о том, как сделать коп...

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

Анимации в Android по полочкам (Часть 3. «Низкоуровневые» анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. «Низкоуровневые» анимации Часть 4. Анимации переходов Часть 5. Библиотеки для работы с анимацией Все методы рассмотренные в предыдущих частях хороши и удобны, однако если нам нужно анимировать большое количест...

Работа с Anaconda на примере поиска корреляции курсов криптовалют Цель этой статьи — предоставить легкое введение в анализ данных с использованием Anaconda. Мы пройдем через написание простого скрипта Python для извлечения, анализа и визуализации данных по различным криптовалютам. Читать дальше →

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 3 В предыдущей статье мы разобрали реализацию двухпоточного bridge_server-а. На одном потоке асинхронно обрабатываются входящие HTTP-запросы посредством RESTinio. На втором потоке выполняются асинхронные запросы к delay_server-у посредством libcurl в виде curl_multi с использо...

Spring AOP и JavaConfig в плагинах для Atlassian Jira В этой статье разработаем плагин для Atlassian Jira, где с помощью JavaConfig определим бин с областью видимости прототип, залогируем вызовы методов бина, используя AOP, и выведем информацию из внешних бинов (ApplicationProperties, JiraAuthenticationContext и ConstantsManag...

Проблемы при работе с кэшем и способы их решения Привет, Хабр! Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день. Существует мнение, что в прог...

Z̴a҉̠͚l͍̠̫͕̮̟͕g͚o̯̬̣̻F̮̫̣̩͓͟ͅu̯z̡͉͍z̪͈̞̯̳̠ͅi̴̜̹̠̲͇n̰g̱͕̫̹͉͓: использование нестандартных методов размытия пейлоадов   Использование нестандартных техник обфускации пейлоада (полезной нагрузки) при проведении тестирования на проникновение веб-приложений может позволить обходить фильтрацию защитных средств и способствовать реализации вектора атаки. В этой статье я расскажу про т.н. Z̴a҉̠͚l...

Знакомство с облаком: как работают статические методы распределения трафика Распределение нагрузки в облаке IaaS-провайдера помогает эффективно использовать ресурсы виртуальных машин. Существует множество методов распределения нагрузки, но в сегодняшнем материале мы подробно остановимся на одних из самых популярных статических методах: round-robin, ...

Беспроводные локальные сети или как работает Wi-Fi по стандарту IEEE 802.11. Лабораторная работа в Packet Tracer Введение В данной статье в лабораторных работах изучается технология беспроводных локальных сетей по стандарту IEEE 802.11. Стандарт IEEE был разработан институтом инженеров по электротехнике и электронике (Institute of Electrical and Electronic Engineers). Отсюда он и полу...

Моделирование динамических систем: численные методы решения ОДУ Введение Очень кратко рассмотрев основы механики в предыдущей статье, перейдем к практике, ибо даже той краткой теории что была рассмотрена хватит с головой. Итак, задача: Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением во...

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

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

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

Office 365. Пример работы с Microsoft Graph API в Angular5 с помощью ADAL JS. ADAL JS vs MSAL JS В прошлый раз мы обсудили механизм авторизации для работы с Office 365 API (в частности с Microsoft Graph API): при каждом вызове API нужно передать token. Token имеет ограниченный срок жизни token выдает сервис Microsoft, так называемый “Azure AD Authorization Endpoint” п...

[Перевод] Сравнение открытых OLAP-систем Big Data: ClickHouse, Druid и Pinot ClickHouse, Druid и Pinot — три открытых хранилища данных, которые позволяют выполнять аналитические запросы на больших объемах данных с интерактивными задержками. Эта статья — перевод подробного сравнения, выполненного Романом Левентовым. Спойлер ClickHouse Druid или Pin...

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

[Из песочницы] Знакомство с Gjallarhorn.Bindable.WPF (F#) на примере выполнения тестового задания В статьях на русском языке теме использования F# совместно с WPF уделяют немного внимания. Сегодня я попробую познакомить вас с одной из F# библиотек, которая значительно упрощает такую разработку. В качестве демонстрационного примера возьмем одно из тестовых заданий по WPF,...

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

Как ускорили PostgreSQL 10 (В статье использованы примеры и пояснения из книги Nouveaulités de PostgreSQL 10. (с) Dalibo, перевод с французского Игоря Лёвшина, редактор Егор Рогов (оригинал). Примеры проверены, иногда изменены для большей наглядности) Конечно, мы уже ждем не дождемся появления 11-й ве...

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

[Из песочницы] Асинхронная работа с PostgreSQL в C Сегодня захотелось написать небольшую заметку об асинхронной работе с PostgreSQL в C. Мотивы просты: для небольшой утилитки встала необходимость реализовать такой функционал, гугл на тему понятных и рабочих примеров предательски молчал (нашелся только пример в pqxx для C++ —...

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

[Перевод] Node.js + face-recognition.js: простое и надёжное распознавание лиц с помощью глубокого обучения Перевод статьи Node.js + face-recognition.js: Simple and Robust Face Recognition using Deep Learning. В этой статье мы расскажем, как реализовать надёжную систему распознавания лиц с использованием face-recognition.js. Мы искали подходящую Node.js-библиотеку, которая умел...

Алгоритм выбора location в Nginx Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алг...

Документирование API — документация из тестов Пост в продолжение темы экспериментальных решений (https://habrahabr.ru/post/350382/), откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет...

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

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

[Из песочницы] RxJS: Не отписывайся Привет, Хабр! Представляю вашему вниманию перевод статьи "RxJS: Don’t Unsubscribe" автора Ben Lesh. Ну… ладно, просто не отказывайся от подписок. Я часто помогаю кому-нибудь в отладке проблем с их RxJS кодом, в том числе со структурированием приложений, которые н...

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

Гибкий сетевой слой в iOS-приложении Практически любое мобильное приложение взаимодействует с серверами через их API. Перед разработчиком в таком случае стоит задача реализовать сетевой слой своего приложения. Провайдеры того или иного API разрабатывают его интерфейс, зачастую, одинаково, но бывает и так, что A...

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

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

Nemesida WAF: интеллектуальная защита от brute-force атак   Классическими средствами защиты от brute-force являются утилиты типа fail2ban, работающие по принципу: много запросов — один источник. Это не всегда может помочь заблокировать нарушителя, а также может привести к ложным (false-positive блокировкам). В этой статье я напишу...

"Закрученный" лазерный свет - зонд, позволяющий исследовать наноразмерные объекты Группа исследователей из университета Бата (University of Bath) разработала новый метод, позволяющий измерять и изучать структуру наноразмерных объектов. В этом методе используется закрученный особым образом лазерный свет, нацеливаемый на специальную решетку, изготовленную и...

Ищем причины тормозов БД, используя sys schema в MySQL 5.7 Есть у нас веб-приложение. Относительно большое и старое — много-много кода, в котором много-много разных запросов к базе данных. При этом мы не гугл, но несколько тысяч запросов в секунду на сервер БД приходится. Ну и безусловно растёт наше приложение во все стороны — доб...

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 1 Преамбула Наша команда занимается разработкой небольшого, удобного в использовании, встраиваемого, асинхронного HTTP-сервера для современного C++ под названием RESTinio. Начали его делать потому, что нужна была именно асинхронная обработка входящих HTTP-запросов, а ничего го...

[Перевод] Optimistic UI, CQRS and EventSourcing При разработке высоконагруженных веб-приложений для лучшего масштабирования часто применяется такой принцип, как CQRS. Он гласит, что метод должен быть либо командой, выполняющей какое-то действие, либо запросом, возвращающим данные, но не одновременно и тем, и другим. Друг...

Как собирать данные с сайтов: онлайн-сервисы и Python 31 марта 2018 года в Перми состоялся митап Теплицы социальных технологий, посвященный технологии веб-скрейпинга с помощью программного кода. Участники обсудили необходимость сбора данных и рассмотрели сценарии использования собранных данных для исследования проблемы, из...

Cradle: Rave. Два хакатона + конференция, с упором на Big Data & ML, Blockchain, Quantum Computing, DevOps и Mobile На прошлой неделе друзья позвали отдохнуть на неком Cradle:Rave. Судя по названию, это могло быть всё что угодно, включая кислотную вечеринку, поэтому я решил провести некие исследования в интернетах. На Хабре быстро отыскалась статья в блоге Сбертеха с анонсом мероприятия. ...

Поддержка IPv6 в CleanTalk Security для WordPress Недавно мы писали о том что сделали поддержку IPv6 в антиспам плагине. Но не только спамеры начали использовать IPv6, для других видов атак на сайты злоумышленники их тоже используют. Мы реализовали поддержку IPv6 в плагине безопасности для WordPress. Обновлены методы опред...

Google AdWords будет закрывать аккаунты, неактивные более 15 месяцев Начиная с 26 марта, Google AdWords будет закрывать аккаунты, владельцы которых в течение 15 месяцев не покупали рекламу. Это нововведение призвано ускорить работу сервиса и помочь пользователям соблюдать лимиты на количество управляемых аккаунтов. После закрытия аккаунта: Ge...

Aws Lambda Go 1.x, Kinesis, CloudSearch В предыдущей статье я описала как создать простую лямбду на Golang, которая принимает на вход простой объект из двух полей и такой же простой объект отдает на выходе. Теперь немного усложним задачу, подсоединив к лямбде в качестве источника данных Kinesis, а результат обрабо...

[Перевод] Разбор алгоритма консенсуса в Tendermint В этой статье описан алгоритм консенсуса BCA (Byzantine Consensus Algorithm), используемый в Tendermint. Разработанный на основе протокола DLS, он не требует никакого "активного" майнинга, как в Proof-of-Work, и может обеспечить безопасную работу сети при наличии как миниму...

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

[Перевод] Книга Безопасность в PHP (часть 4). Недостаток безопасности на транспортном уровне (HTTPS, TLS и SSL) Книга «Безопасность в PHP» (часть 1) Книга «Безопасность в PHP» (часть 2) Книга «Безопасность в PHP» (часть 3) Связь через интернет между участниками процесса сопряжена с рисками. Когда вы отправляете платёжное поручение в магазин, используя онлайн-сервис, то совершенно точ...

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

[Перевод] Мышление в стиле Ramda: первые шаги Недавно я познакомился с замечательной серией статей "Thinking in Ramda", которые проясняют на простых и ясных примерах способы написания кода в функциональном стиле с использованием библиотеки Ramda. Эти статьи показались мне настолько прекрасными, что я не смог удержаться ...

Веб-компоненты. Часть 2: теневой DOM Вступление Приветствую, коллеги, и представляю вашему вниманию продолжение серии статей о веб-компонентах, первая часть которой доступна вот тут В этой статье речь пойдет о спецификации теневого DOM (shadow DOM) версии от 01.03.2018 г.. Последний черновик спецификации датиро...

Встречаем сервис от Cloudflare на адресах 1.1.1.1 и 1.0.0.1, или «полку публичных DNS прибыло!» Компания Cloudflare представила публичные ДНС на адресах: 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 Утверждается, что используется политика "Privacy first", так что пользователи могут быть спокойны за содержание своих запросов. Сервис интересен тем, что кр...

[Перевод] Как я заработал 200 000 $ в 16 лет Года три назад я опубликовал рассказ о приложении Follow для Twitter, которое сделал еще в старшей школе, и о том, как оно собрало 150 000 скачиваний за два года. В той статье я мимоходом упомянул, что мои первые шаги в программировании — это отдельная, еще более пространная...

[Перевод] Профилирование: измерение и анализ Привет, я Тони Альбрехт (Tony Albrecht), инженер в Riot. Мне нравится профилировать и оптимизировать. В этой статье я расскажу об основах профилирования, а также проанализирую пример С++-кода в ходе его профилирования на Windows-машине. Мы начнём с самого простого и будем п...

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

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

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

Microsoft пока не решила проблему с безопасностью в Skype Исследователь безопасности Штефан Кантак (Stefan Kanthak) обнаружил серьезную брешь в Skype, связанную с модулем обновления, еще в сентябре прошлого года. Однако, как сообщает издание ZDNet, разработчики не могут выпустить хотфикс, не переписав при этом существенную часть ко...

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

[Из песочницы] Сумма сумм арифметических прогрессий Пускай у нас есть некий ряд ячеек, часть которых можно пометить как «занятые»: Нам нужно узнать, сколько всего существует вариантов расположения занятых ячеек. К этой схеме сводится множество задач. Например, разбиение периода из N + 1 календарных дней на l + 1 следующих ...

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

Как адаптировать игру на Unity под iPhone X к апрелю Месяц назад Apple предупредила всех разработчиков, что с апреля все приложения, которые заливаются в App Store, должны быть собраны с использованием последнего iOS 11 SDK. О том, как правильно позиционировать контент, используя новый API, уже давно можно почитать в официал...

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

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

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

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

Пишем DNS proxy на Go Давно хотел решить проблему с рекламой. Наиболее простым способом сделать это на всех устройствах оказалось поднятие своего DNS сервера с блокированием запросов на получений IP адресов рекламных доменов. Читать дальше →

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

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

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

[Из песочницы] ECO Flow в Vivado или работа в режиме редактирования нетлиста Аннотация В статье рассмотрен режим работы Vivado, позволяющий вносить изменения в проект на уровне редактирования списка соединений (в дальнейшем – нетлиста). Описаны как сам режим ECO, так и некоторые нюансы, которые появляются во время работы в нём. Приведён демонстрацион...

Прокачиваем производительность C# с Федерико Луисом Сегодня мы поговорим о производительности в C#, о способах прокачать её до неузнаваемости. Задача этой статьи — продемонстрировать такие способы повышения производительности, которые, при необходимости, вы смогли бы использовать самостоятельно. Однако эти методики не являютс...

[Перевод] Руководство по фоновой работе в Android. Часть 4: RxJava Обработка событий — это цикл. В прошлой части мы говорили об использовании thread pool executors для фоновой работы в Android. Проблема этого подхода оказалась в том, что отправляющий события знает, как должен быть обработан результат. Посмотрим теперь, что предлагает RxJ...

[Перевод] Проектирование пользовательского интерфейса Windows 95 Три года назад мне попалась интересная научная статья сотрудника Microsoft Кента Салливана о процессе и результатах проектирования нового пользовательского интерфейса для Windows 95. С тех пор веб-страница исчезла — одна из причин, почему я такой цифровой Плюшкин. Статья оп...

Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении за...

[Из песочницы] Использование Boost.Asio с Coroutines TS Введение Использование функций обратного вызова (callback) — популярный подход к построению сетевых приложений с использованием библиотеки Boost.Asio (и не только ее). Проблемой этого подхода является ухудшение читабельности и поддерживаемости кода при усложнении логики прот...

Три ЦОДа без швов, или как ВТБ защищает бизнес-системы Розничный бизнес ВТБ обслуживается более 150 системами, и все нужно надежно защищать. Некоторые системы критичны, некоторые плотно привязаны друг к другу — в общем, задача масштабная. В этом посте вы узнаете, как она была решена. Чтобы даже при падении метеорита на один из Ц...

Open GApps теперь поддерживает Android 8.1 ARM + ARM64 Google Apps имеют важное значение в развитии пользовательского ПО. К сожалению, кастомные прошивки, такие как LineageOS, не могут содержать в себе приложения из этого пакета. Несмотря на то, что ОС Android свободно распространяется с открытым исходным кодом, такие приложения...

[Из песочницы] Социальная инженерия как метод атаки «Only for fun» — такой девиз мы часто использовали, атакуя какие-либо системы. За довольно короткий период своей деятельности скопилось большое количество материала. Передо мной встала задача, как его упорядочить. Целью данной статьи не является обучение взлому. Это просто и...

[Из песочницы] Знакомство с новым элементом dialog Привет, Хабр! Представляю вашему вниманию перевод статьи "Meet the New Dialog Element" автора Keith J. Grant. HTML 5.2 представил новый элемент dialog для нативных модальных окон. На первый взгляд, он кажется довольно простым (так и есть), но поигравшись с ним я о...

Generative adversarial networks В прошлой статье мы рассмотрели простейшую линейную генеративную модель PPCA. Вторая генеративная модель, которую мы рассмотрим — Generative Adversarial Networks, сокращенно GAN. В этой статье мы рассмотрим самую базовую версию этой модели, оставив продвинутые версии и сравн...

[Перевод] Разработка игр под NES на C. Главы 14-16. Работа со звуком В этой части базовая информация о работе со звуком. Звуковая подсистема NES весьма низкоуровневая, ее описание весьма запутано и использует специфическую терминологию, так что описание местами может быть не очень внятное. Источник Начало работы со звуком Обзор инструментов,...

#PostgreSQL. Ускоряем деплой в семь раз с помощью «многопоточки» Всем привет! Мы на проекте ГИС ЖКХ используем PostgreSQL и недавно столкнулись с проблемой долгого выполнения SQL скриптов из-за быстрого увеличения объема данных в БД. В феврале 2018 года на PGConf я рассказал, как мы решали эту проблему. Слайды презентации доступны на сайт...

[Перевод] Разработка игр под NES на C. Глава 24. Приложение 2 — работа с банками памяти Завершающая часть цикла. В этой главе рассмотрим работу с маппером MMC3 на примерах <<< предыдущая Источник Раньше мы не использовали переключение банков памяти, но теперь настало время освоить маппер MMC3. Без маппера можно использовать 32 килобайта PRG ROM для ко...

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

Не Dagger'ом едины В последнее время многим программистам очень понравилась библиотека для реализации внедрения зависимостей Dagger2. Хотя, как мне кажется, из-за неочевидной работы под капотом и большим семейством аннотаций Dagger долго заходил в комьюнити. И так получается что сейчас куда не...

Видео дня: демо Futuremark с демонстрацией преимуществ трассировки лучей Вчера компания Nvidia представила технологию RTX, которая принесёт метод трассировки лучей в игры. Microsoft также анонсировала API DirectX Raytracing (DXR), что сделает возможным реализацию технологии на видеокартах, отличных от поколения Volta. Компания Futuremark бы...

[Перевод] Создание игры на Lua и LÖVE — 6 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

[Перевод] Figma web-API — интерфейс, позволяющий подключаться к другим инструментам Первый шаг к открытой дизайн-экосистеме Mobile Dimension публикует перевод оригинальной статьи Figma, посвященной web API. Сегодня мы рады запустить платформу Figma — новый способ улучшить процессы дизайна и проектирования с помощью подключения Figma к другим инструмента...

В шутере Escape from Tarkov свежее обновление: новая локация, оружие, снаряжение и улучшение работы Студия Battlestate Games объявила о выпуске крупного обновления 0.8 для сетевого шутера Escape from Tarkov. В этой версии игры разработчик добавил новую локацию, торговца, а также экспериментальные методы оптимизации клиента и сервера по обработке физики и уменьшени...

[Перевод] Создание игры на Lua и LÖVE — 3 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги 9. Director and Gameplay Loop 10. Coding ...

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

Нагрузочное тестирование «не-HTTP». Ч.2 Gatling В первой части статьи мы провели сравнительный анализ средств нагрузки на Java для JMeter, ушли от XML тест-планов и достигли 30K RPS с одной машины, нагружая «не-HTTP» сервис на примере Apache Thrift. В этой статье рассмотрим еще один инструмент для нагрузочного тестирова...

Keys in React. Готовим правильно Сегодня поговорим об атрибуте key в React. Часто разработчики, которые только начинают использовать React, не придают большого значения атрибуту key. А зря… Что говорит уточка, когда узнала, что ты не используешь key Чтобы представить работу ключей полностью и с различными ...

[Перевод] Генерируем уровни для игры с помощью нейросетей Предисловие За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное ...

Карты "Яндекса" указали на московский офис Google по запросу "говно" Эта ошибка наблюдалась как в веб-версии сервиса, так и в мобильном приложении "Яндекс.Карт". Баг был оперативно устранен, а в "Яндексе" подчеркнули, что он носил случайный характер.

Дополнительные факторы оценки спам активности IP/Email адресов в Anti-Spam/Anti-Fraud API CleanTalk Cloud Anti-Spam в процессе работы, собирает данные о спам активности IP/Email адресов. На основе этих данных формируется база данных спам IP/email. CleanTalk предоставляет несколько API методов для работы с имеющимися у нас данными. Недавно нами были добавлены нов...

Яндекс.Касса обновила Личный кабинет Яндекс.Касса обновила Личный кабинет — в нем появились новые возможности для выставления счетов и работы с данными клиентов. Обновление рассчитано как на крупные, так и на небольшие компании, делая управление продажами намного удобнее. В обновленном Личном кабинете можно буд...

[Из песочницы] Почему не стоит использовать LocalStorage Привет, Хабр! Представляю вашему вниманию перевод статьи "Please Stop Using Local Storage" автора Randall Degges. Все больше разработчиков используют localStorage для хранения данных, в том числе и конфиденциальных, даже не подозревая, что тем самым подвергают свои сайты взл...

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

[Из песочницы] SSO и Kibana: интеграция Kibana со встроенной аутентификацией Windows (Single Sign-On) В этой статье мне хотелось бы поделиться способом настройки технологии единого входа (SSO) в Elastic Stack, использующим X-Pack для аутентификации пользователей и разграничения доступа к данным. Читать дальше →

Специалисты поняли, как похудеть, работая в офисе То, что сидячая работа способствует накоплению лишних килограммов, все знают давно. Ученые проанализировали все причины, которые могут провоцировать такой результат. Они пришли к выводу, что даже трудясь в офисе по 8-9 часов, можно худеть, информирует supreme2.ru. Специалист...

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

Тестирование API сервисов и RSpec Иногда бывает необходимость написать небольшой АПИ сервис, часто в виде прототипа. И часто этот прототип потом так и остаётся в первоначально написанном виде следуя принципу «работает — не трогай». Переписывание даже относительно маленького сервиса сопряжено с возможностью...

Настройка среды разработки: кофейная гуща (Часть 2) Привет, дорогой читатель! В этот раз я хочу поделиться своим результатом настройки персонального окружения для работы с различными PHP-based проектами с использованием Puppet. В данной статье описываются результаты, которые были получены в процессе изучения и написания Puppe...

Git: советы новичкам – часть 3 В финальной части нашей серии статей о работе с Git мы продолжим разговор о ветках, рассмотрим особенности работы с командой push и расскажем, что такое rebase. Первую и вторую статьи серии мы можете прочитать по ссылкам. Читать дальше →

[Из песочницы] Рекомендации по информационной безопасности для малого и среднего бизнеса (SMB) Привет, Хабр! Представляю вашему вниманию перевод и адаптацию статьи "CIS-Controls Implementation Guide for Small- and Medium-Sized Enterprises (SMEs)". Введение Утечки информации о кредитных картах, кража персональных данных, программы-вымогатели (например, Wann...

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

Готовим iOS клиента для GraphQL Я уверен, что каждый из нас хоть когда-то испытывал проблемы с REST API. Вечные баталии с бэком за нужный формат API, несколько запросов на экран и прочее. Согласитесь, что это не редкость, а ежедневная рутина. А еще недавно Tribuna Digital запустила новый проект — Betting...

Зачем сетевым инженерам программирование Интересно обменяться мнениями и опытом применения языков программирования в решении задач сетевого инженера, если вы используете какие-то методы и подходы автоматизации, напишите об этом в комментариях, а я расскажу о некоторых своих наработках в этом направлении. Читать дал...

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

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

[Перевод] Архитектура приложения Angular. Используем NgModules Прим. перев.: для понимания данной статьи необходимо обладать начальными знаниями Angular: что такое компоненты, как создать простейшее SPA приложение и т.д. Если Вы не знакомы с данной темой, то рекомендую для начала ознакомиться с примером создания SPA приложения из оф. до...

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

Автоматизация удаления забытых транзакций Предисловие Достаточно нередко бывают ситуации, когда транзакция в MS SQL Server бывает забытой тем, кто ее запустил. Самый частый пример этому — запуск скрипта в SSMS, где явно открывается транзакция инструкцией begin tran, затем происходит ошибка, а вот commit или rollback...

Отладка Embox на STM32 Добрый день! Ввиду того, что люди спрашивают как загрузить Embox на отладочные платы на базе STM32, мы решили выпустить этот рецепт. Его можно рассматривать как дополнение к статье. Описание будет для отладочной платы STM32F7-Discovery, но в целом оно верно и для других се...

Для обхода блокировок Telegram будет использовать встроенные методы От пользователей не потребуется никаких дополнительных действий

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 3 — Routing & Fetching В предыдущей части туториала мы научили наше изоморфное приложение проксировать запросы к backend api, с помощью сессии передавать начальный стейт между синхронными запросами и осуществлять Server-side rendering с возможностью переиспользования разметки на клиенте (hydrate)....

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

Юнит тесты при использовании корутин в Android приложении Перевод статьи. Оригинал находиться здесь. В этой статье не рассматривается принцип работы корутин. Если вы не знакомы с ними, то рекомендуем прочитать введение в kotlinx git repo. Статья описывает трудности при написании юнит тестов для кода, использующего корутины. В конц...

RequireJS для приложений Vue.js + Asp.NETCore + TypeScript Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript. В качестве системы сборки вместо Webpack используем компилятор TypeScript + Bundler&Minifier (расширение к VS2017). Загрузку модулей приложения в рантайм обеспечивает SystemJS или Requ...

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

Guava, Graal и Partial Escape Analysis На прошлой неделе случился релиз десятки — и хотя Graal был доступен и раньше, теперь он стал ещё доступней — Congratulations, you're running #Graal! — просто добавьте -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler Что конкретно это может нам дать и где можно ожидать...

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

Начинаем работать с Firebase Cloud Storage на Android Работа с облачным хранилищем может быть очень трудной, особенно если вы не знаете, что делать. К счастью, Firebase упрощает ее насколько это вообще возможно. В статье мы обсудим, почему вам нужно использовать Firebase Cloud Storage вместо других облачных сервисов хранения, а...

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

[Перевод] Lightning Network In Depth, part 2: HTLC And Payment Routing В прошлой статье мы с вами подробно разобрали работу платежных каналов, а также несколько различных методов по обеспечению безопасности платежей, проходящих через них, однако этого все еще недостаточно для построения рабочей сети каналов: даже если мы уверены в том, что внут...

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

Готовим Juniper сеть с помощью Ansible В один прекрасный день я решил перейти с обычного rsyslog собирающего логи со всех устройств на что-то другое, выбор и прочее к данной теме мало относится (выбрали Graylog2), но по итогу появилась задача заменить на всех устройства Juniper настройки syslog хоста. В принц...

Splunk Scripted Input. Или как использовать скрипты для получения данных о работе систем и анализировать их в Splunk Ранее мы писали, как можно загрузить логи в Splunk из каталога или с помощью syslog, рассказывали как забирать стандартные виндовые и линуксовые события, но что если нам необходимо получать более гранулярную информацию о работе наших систем? В таком случае на помощь приходя...

Стали известны ограничения Windows на ARM Microsoft прилагает все усилия, чтобы популяризировать Windows 10 на ARM, тем самым конкурируя с Chrome OS и мобильными платформами Android и iOS. На этой неделе компания опубликовала полную документацию для OEM-производителей, планирующих использовать Windows 10 на устройст...

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

[Из песочницы] Централизованное обновление сертификатов Let's Encrypt Всем привет! В этой статье я опишу как мы решали проблему централизованного обновления сертификатов Let's Encrypt и управления инфраструктурой с помощью ansible. В нашем решении мы будем использовать: ansible rsync, rsyncd inotify, incron certbot nginx Читать дальше &rarr...

Вредоносные скрипты EITest обезврежены Совместные усилия Proofpoint, Abuse.ch и канадского исследователя V1rgul3 (@Secu013) увенчались успехом: инфраструктура EITest, которая долгое время использовалась для распространения зловредов через эксплойт и загрузки drive-by, нейтрализована. Исследователям удалось подмен...

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

[Из песочницы] Установка Linux без .ISO и виртуализации Установка Linux без .ISO и виртуализации Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish. 1. Назначение и возможности скриптов radish Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, пос...

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

Владельцы гарнитур Oculus Rift почти день не могли использовать свои устройства Владельцы гарнитур Oculus Rift не могли использовать свои устройства почти целый день из-за административного контроля. Oculus не смогла обновить сертификат безопасности для программного обеспечения. Это означает, что гарнитуры не будут запускать код ключ. Сертификаты безопа...

Excel вместо PowerShell: запросы к AD и системные отчеты «на коленке» В комментариях к предыдущей статье вспомнили про учет в Excel вместо 1С. Что ж, проверим, насколько вы знаете Excel. Сегодня я покажу, как получать данные из Active Directory и работать с ними без макросов и PowerShell — только штатными механизмами Office. Например, можно з...

Три аспекта оптимизации (БД и ПО) Предисловие Довольно часто пользователи, разработчики, администраторы и т д СУБД MS SQL Server встречаются с проблемами производительности БД или СУБД в целом. В данной статье будут даны общие рекомендации по настройке оптимизации как БД, так и всей СУБД в целом. Также буду...

Обновление строк на лету в мобильных приложениях: часть 2 Привет, Хабр! В недавней статье наш коллега Дмитрий Марущенко yojick рассказал о том, как доставлять динамические обновления переводов с сервера на мобильные устройства. В продолжение темы сегодня поговорим о том, как мы используем эти обновлённые переводы в наших приложе...

Делаем дырки в торрентах освобождая место и оставаясь на раздаче (часть 1) Предупреждение: Этот график сделан для скрипта второй части статьи за которую я ещё не брался. Поэтому не очень обращайте внимание на данные в нём. Графики для этой статьи в конце под спойлером. Информацию из этой статьи используйте на свой страх и риск. Мы будем стирать да...

How to: Правильно называем методы-свойства класса Как вы называете парные методы Get/Set? Допускается ли делать их несимметричными? А если для свойства используется глагол Is? А если какой-нибудь модальный глагол вроде Can? Допускается ли вместо Get/Set использовать пары Is/Set? И если есть ограничения, то это ваш сознат...

[Из песочницы] Гейм дизайн в жизнь. Пример разбора механики игры Доброго дня! Немного об авторе: меня зовут Мария, начинающий гейм дизайнер. С этой статьи начинаем цикл статей по применению теории гейм дизайна в жизни. В этой статье попытаемся разобрать механику игры на примере Northgard от студии Shiro Games (находящуюся на стадии ранн...

Основы программирования на SAS Base. Урок 2. Доступ к данным В предыдущей статье мы познакомились с интерфейсом SAS UE, терминологией SAS Base, типами данных, основными требованиях к синтаксису SAS Base, а также рассмотрели распространенные синтаксические ошибки. Сегодня я расскажу, как можно получить доступ к данным различных формат...

ASP.NET Core: Механизмы предотвращения атак 2.0 По встроенным механизмам безопасности ASP .NET Core написано мало статей. Даже официальная документация имеет пробелы. В этой статье мы пройдём по всем основным компонентам, имеющим отношение к безопасности, и разберём, как это работает внутри. Если вы используете старый до...

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

Для борьбы с читерами Valve использует сервер с 3456 процессорами и систему VACnet, основанную на методах глубокого обучения Практически перед всеми разработчиками популярных многопользовательских игр стоит проблема читеров. Её масштабы отличаются в зависимости от проекта, так что некоторые обходятся простым ПО, а некоторым приходится изгаляться другими способами. Как сообщают источники, ком...

Доступно новое накопительное обновление для Windows 10 Fall Creators Update (16299.309) Сегодня второй вторник месяца, а значит самое время проверить центр обновлений Windows и получить свежие накопительное обновления для поддерживаемых версий операционных систем Windows. В этой же статье мы рассмотрим обновление для Windows 10 Fall Creators Update, которое ра...

Как переехать с BuddyBuild на GitLab CI за 4 часа Предыстория Полтора года назад команда iOS FunCorp переехала на новый сервис для простой организации CI в iOS и Android-проектах. До этого мы использовали CI на Bamboo, но с ним было много проблем, поэтому мы совсем отказались от него и перешли на BuddyBuild. Он работал ...

Устройство и механизм работы Prometheus Operator в Kubernetes В основу этой статьи легла наша внутренняя документация для DevOps-инженеров, объясняющая, как работает Prometheus под управлением Prometheus Operator в разворачиваемых и обслуживаемых кластерах Kubernetes. С первого взгляда Prometheus может показаться достаточно сложным ...

Зачем выставлять в Интернет интерфейс управления или атака на Cisco Smart Install Недавно Cisco узнала о некоторых хакерских группировках, которые выбрали своими мишенями коммутаторы Cisco, используя при этом проблему неправильного использования протокола в Cisco Smart Install Client. Несколько инцидентов в разных странах, в том числе некоторые из которых...

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

Как уничтожить Интернет? Помните угрозу анонима уничтожить Интернет? Где хакер грозился «положить» 13 корневых DNS серверов сети Интернет и сделать получение информации, посредством запроса с использованием доменного имени, невозможным? В результате чего любой, кто введёт «http://www.google.com» или...

Программный синтез звука на ранних персональных компьютерах. Часть 1 Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Кроме того, это еще и набор уроков по реализации простых методов звукового синтеза в историческом контексте. Читать дальше →

Telegram будет использовать встроенные методы для обхода блокировок Об этом сообщил Павел Дуров на своей странице в соцсети ВКонтакте

Несколько советов по организации Python-приложения на сервере В этой статье я хочу поделиться несколькими удобными способами организации вашего проекта на рабочем (даже продакшен) сервере. Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии...

Философия SLA: про приоритеты запросов Продолжаю цикл статей про SLA, публикуя то, что не уместилось в основную статью Как написать хороший SLA. Не секрет, что начиная с определённого уровня зрелости в ИТ компании начинают регистрировать запросы в специальных системах, трекерах. Это позволяет понимать, кто и чем ...

Facebook знает о вас всё Facebook получает 98,5% выручки от показа рекламы, и в этом нет ничего плохого. Другое дело, что для того, чтобы показывать вам максимально подходящие объявления, Facebook лезет в вашу жизнь. Любой пользователь Facebook может выкачать из соцсети все свои данные: фотографии, ...

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

В новой версии Joomla исправлено несколько ошибок Новая версия CMS Joomla — 3.8.4 — содержит более ста исправлений и улучшений, некоторые из них закрывают бреши в системе безопасности. Компания исправила три уязвимости, связанные с межсайтовым скриптингом (XSS) — технологией внедрения вредоносного кода на страницы веб-ресур...

[Перевод] Почему фотография Скарлетт Йоханссон заставила PostgresSQL майнить Monero В рамках кампании по защите данных наших клиентов мы в Imperva рассказываем о разных методах атак на БД. Если вы не знакомы с нашим исследовательским проектом StickyDB, почитайте прошлые статьи: часть I и часть II. Там описано устройство сети ханипотов (рис. 1), которая зама...

Баг в WordPress помогает положить сайт Израильский исследователь Барак Тавили (Barak Tawily), известный в Сети как Quitten, обнаружил в WordPress незакрытую уязвимость, позволяющую без особого труда вызвать отказ в обслуживании на сервере. По словам автора находки, данная брешь (CVE-2018-6389) актуальна почти для...

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

Генерация кода во время работы приложения: реальные примеры и техники Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expre...

Три необычных примера использования блокчейна Высказывания о том, что блокчейн исключительно про ICO, криптовалюты, финансовую индустрию, банкинг и создание публичных открытых сетей, начинают терять свою значимость. Например, количество пилотных проектов, проведённых компанией IBM с партнёрами из самых разных отраслей у...

Нечто, похожее на iPhone SE второго поколения, показали на видео iPhone SE второго поколения может получить безрамочный дисплей в стиле iPhone X увеличенной диагонали и поддержку Face ID. На это указывает видеоролик, обнаруженный журналистами японского издания Mac Otaraka в социальной сети Weibo и, предположительно, демонстрирующий пред...

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

Как включить Windows Projected File System на Windows 10 Компания Microsoft недавно представила предварительную сборку Windows 10 под номером 17604 в канале обновление «Ранний доступ». В этом релизе добавляется одна интересная функция под названием Windows Projected File System.Откройте меню Пуск > Служебные — Windows > Пане...

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

Роскомнадзор заблокировал 16 миллионов IP-адресов Amazon и Google Российские операторы связи начали блокировать доступ к мессенджеру Telegram, который отказался поделиться с ФСБ ключами-шифрования. Незадолго до блокировки разработчики сервиса сообщили, что будут использовать встроенные методы обхода блокировок, которые не требуют действий ...

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

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

Сопроводительное письмо. Что стоит писать? Резюме написано. Вакансия мечты найдена. Остается одна маленькая, но порой непосильная задача – написать сопроводительное письмо. О том, что нужно писать, а чего стоит избегать в сопроводительных письмах, поделилась Alison Doyle, специалист по найму в США и основатель сервис...

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

Исследователи разработали метод хищения данных с компьютеров через провода питания Специалисты из израильского Университета имени Бен-Гуриона создали очередной экзотический способ извлечения данных с изолированных ПК. На этот раз эксперты предлагают использовать обычные кабели питания.

Wi-Fi в законе В соответствии с законодательством РФ, с 2014 года все общественные точки доступа Wi-Fi обязаны идентифицировать пользователей. Под действие закона попадают владельцы публичных сетей доступа в интернет, такие как рестораны и кафе, торговые центры, отели, автосалоны и прочие...

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

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

На волнах эффекта Ли: Питонизируем генерацию DAF По статистике 1-4 % населения Земли подвержены дефекту речи, характеризующимся частой пролонгацией звуков (слогов, слов) и/или частыми остановками в речи, нарушающими ритмическое ее течение. В простонародье этот феномен известен как заикание. На данный момент мир не знает п...

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

Triton vs Kao’s Toy Project. Продолжаем хорошую традицию В данной статье речь пойдет про SMT-решатели. Так сложилось, что в исследовательских материалах, посвященных данной теме, появилась хорошая традиция. Уже несколько раз в качестве подопытного алгоритма для SMT-решателей разные исследователи выбирали один и тот же пример – кр...

Моделирование динамических систем: введение в GNU Octave Жили-были умные, но очень жадные люди, которые написали замечательную программу Matlab. Умные они были потому, что программа вышла хорошей, а жадными, потому что очень любили деньги. Так любили, что брали их за свой Matlab не только с дядек серьезных, матлабом деньги зарабат...

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

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

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

[Перевод] UX-исследования и сила доказательств Привет всем! Предлагаю вашему вниманию перевод статьи Dr. Philip Hodgson (@bpusability в Twitter). Он имеет BSc, MA и PhD в экспериментальной психологии. У него за спиной более чем 20-летний опыт работы в качестве исследователя, консультанта и тренера по юзабилити, пользоват...

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

Microsoft считает, что пользователи Windows 10 Mail используют Edge Microsoft тестирует обновление программного обеспечения для Windows 10, которое меняет способ открытия ссылок в письмах из приложения электронной почты Windows. В новой версии ПО ссылка в письме будет открыта только в Edge – фирменном браузере Microsoft. Теперь при наж...

Тестовый пакет iXBT Application Benchmark 2018, часть 6: приложения архивации и FineReader в качестве инструментов для тестирования производительности ПК В пятой статье цикла мы рассмотрим еще три приложения, которые можно использовать для тестирования процессоров и ПК, но нельзя отнести к одной логической группе: это такие относительно распространенные приложения, как Abbyy FineReader 12, WinRAR 5.50 и 7-Zip 18.

Microsoft представила DirectX Raytracing API Вчера Microsoft сделала довольно анонс для разработчиков игр на конференции Games Developer Conference. Речь идёт о DirectX Raytracing API (DXR) для DirectX 12, который позволит дополнить существующие методы визуализации и улучшить качество изображения в играх. Если кто не ...

Как использовать iPhone или iPad с компьютером Windows: обзор программ для совместной работы Apple и Microsoft никогда не отличались большой любовью друг к другу (исключение — случай в конце 90-х), однако это вовсе не означает, что Windows- и iOS-устройства нельзя использовать вместе. К счастью, сейчас есть множество способов примирить между собой Windows и iOS. Вы ...

Swift vs. Kotlin. Отличия важны Этот пост является вольным переводом статьи Swift vs. Kotlin — the differences that matter by Krzysztof Turek Вы наверняка видели это сравнение Swift и Kotlin. Довольно интересное, правда? Я согласен, что в этих языках много схожего, но в этой статье я обращу внимание на не...

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

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

[Из песочницы] СХД NetApp — преемственность поколений, проблемы и способы их решения Кому интересна эта статья К написанию настоящей статьи меня подтолкнул кейс, случившейся c одной уважаемой компанией, которая давно и успешно эксплуатирует решения NetApp для хранения данных. Управление данными средствами NetApp происходит в международном масштабе, в том чис...

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

GetContact 3.2.7 Getcontact – отличное приложение для блокировки спама и определения звонящего. GetContact защитит вас от нежелательных звонков и пропустит только тех звонящих, с кем вам хочется общаться. — Вы можете определять звонки с номеров не из вашего списка контактов — GetCo...

[Из песочницы] Spring Boot. Фоновые задачи и не только Введение В данном туториале я хочу привести пример приложения для отправки email-ов юзерам, основываясь на дате их рождения(например с поздравлениями), используя аннотацию Scheduled. Я решил привести данный пример, т к по моему мнению он включает в себя довольно многие вещи,...

Зачем ездить на Mobile World Congress в Барселону и как все сделать правильно Привет! Меня зовут Катя Франк, я ведущий маркетолог Mobile Dimension. В этой статье я приведу небольшой разбор выставки Mobile World Congress в Барселоне, немного сравню ее с этой же выставкой от GSMA в Шанхае, расскажу, кому в ней стоит участвовать, и как все организовать...

В Android P протокол TLS будет использоваться по умолчанию В новой версии ОС Android, получившей название Android P, все входящие и исходящие соединения будут осуществляться через протокол TLS (Transport Layer Security) — об этом компания сообщила во вторник на официальной странице блога разработчиков ОС. TLS препятствует несанкцион...

Анонс Windows 10 Insider Preview Build 17123 (Fast) Добрый вечер, друзья! Буквально несколько минут назад на быстром канале обновлений стала доступна новая инсайдерская сборка Windows 10 под номером 17123. Мы постепенно приближаемся к релизу следующего крупного обновления, поэтому основные изменения связаны с исправлением на...

[Из песочницы] Создание и хостинг телеграм бота. От А до Я Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания ...

Установка центра сертификации на предприятии. Часть 3 А вот и финальная третья часть нашей серии статей о центре сертификации на предприятии. Сегодня рассмотрим развертывание службы сертификатов на примере Windows Server 2016. Поговорим о подготовке контроллера домена, подготовке веб-сервера, установке корневого и издающего цен...

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

Ассоциативные правила, или пиво с подгузниками Введение в теорию Обучение на ассоциативных правилах (далее Associations rules learning — ARL) представляет из себя, с одной стороны, простой, с другой — довольно часто применимый в реальной жизни метод поиска взаимосвязей (ассоциаций) в датасетах, или, если точнее, айтемс...

Инвентаризация (бизнес-*) процессов через актуализацию должностных инструкций в интересах информационной безопасности Привет, Хабражитель! Предлагаю вниманию статью, объединяющую вещи, на первый взгляд, не имеющих между собой ничего общего: должностные обязанности работников, инвентаризация (бизнес-*)процессов и информационной безопасности. Будут рассмотрены следующие темы: Вместо вступлен...

Похудение по методу «Х» 1.0.1 «Похудение по методу «Х» — это книга №1 авторства Загадочного лайфхакера (фото реальное). В первой части книги вас ждут удивительные открытия и слом стереотипов. Во второй части — сам метод (различные секретные оружия + лайфхаки). В третью часть вошло вся остальная ин...

[Перевод] Learn OpenGL. Урок 5.3 — Карты теней Тень — это отсутствие света. Если лучи от источника света не попадают на объект, так как поглощаются другим объектом, то первый объект находится в тени. Тени добавляют реализма к изображению и дают увидеть взаимное расположение объектов. Благодаря ним сцена приобретает "глу...

Amazon S3 и все-все-все: выбираем объектное хранилище Самые известные на мировом рынке объектные хранилища — это Amazon S3 (Simple Storage Service), Google Cloud Storage и Microsoft Blobs Storage. Они надежны, доступны через интернет и масштабируются до сотен петабайт. Наиболее популярный способ доступа к объектному хранилищу —...

Заметка о новом интерфейсе linux kernel — gpio uapi Начиная с версии ядра 4.6-r1 нам стал доступен новый интерфейс для взаимодействия с подсистемой ядра gpio. Теперь существует три официальных способа работы с gpio и получения от них прерываний. Нет смысла углубляться в потребности для данной подсистемы, для малой части это с...

Изучаем и реализуем алгоритм работы правильного observer паттерна для react компонентов Итак продолжаем развивать observer-паттерн. В предыдущей статье от старого и очень простого паттерна "observer" маленькими шагами мы пришли к mobx и написали его мини-версию. В этой статье мы напишем полноценную версию mobx которая реализует алгоритм обновления зависимостей...

[Из песочницы] Что такое gtag.js в Google Analytics и нужен ли он вам? Вы читаете перевод статьи "What Is gtag.js with Google Analytics and Do I Need It?" автора Amanda Schroeder. Если недавно вы добавляли код отслеживания Google Analytics на сайт, то заметили совершенно другой код счётчика, который выглядит так: Сложилась какая-то ...

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

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

[Перевод] Погружение в службы Android Перевод статьи "Deep Dive into Android Services" от Nazmul Idris. Я оставил оригинальное название автора, хотя это скорее не "погружение", а "знакомство". Думаю, текст будет полезен начинающим разработчикам. Статья отлично дополняет офф. документацию по службам на Android. ...

[Перевод] Создание игры на Lua и LÖVE — 2 Оглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player 7. Player Stats and Attacks 8. Enemies 9. Director and Gameplay Loop 10. Coding Practices 11. Pas...

[Перевод] Сравнение Draft, Gitkube, Helm, Ksonnet, Metaparticle и Skaffold В последнее время Kubernetes пользуется большой популярностью, и разработчики ищут дополнительные способы и методы для развёртывания приложений в кластере этой системы. Даже командная строка kubectl стала восприниматься как инструмент низкого уровня, при этом пользователи п...

Google раскрыл информацию об уязвимости в Windows 10 S Команда Google Project Zero занимается поиском уязвимостей как в продуктах компании Google, так и в продуктах, разрабатываемых другими компаниями. Информация об обнаруженных недостатках передаётся разработчикам, у которых есть 90 дней для устранения проблемы. Если исправлен...

Как и когда использовать интеллектуальное назначение ставок в AdWords В статье автор рассказывает о нюансах работы Smart Bidding и приводит примеры тех ситуаций, когда его нужно использовать, а когда – нет. Сообщение Как и когда использовать интеллектуальное назначение ставок в AdWords появились сначала на Searchengines.ru.

[recovery mode] Классическое наследование в JavaScript. Разбор реализации в Babel, BackboneJS и Ember В этой статье мы поговорим о классическом наследовании в JavaScript, распространённых шаблонах его использования, особенностях и частых ошибках применения. Рассмотрим примеры наследования в Babel, Backbone JS и Ember JS и попытаемся вывести из них ключевые принципы объектно-...

MyTarget реализовал локальный таргетинг по объектам и организациям Рекламная платформа MyTarget обновила локальный таргетинг, добавив поиск по объектам и организациям. Теперь, просто указав адрес/координаты или точку на карте, можно увидеть искомый объект и запустить рекламу для пользователей, которые либо находятся в определенном месте, ли...

Статистика Backblaze, научный подход к анализу надёжности накопителей Фирма Backblaze регулярно публикует статистику по отказам своих жёстких дисков, и даже выложила в свободный доступ полный архов со статистикой S.M.A.R.T параметров всех своих накопителей. В этой статье я покажу как с помощью при помощи лома и какой-то матери с помощью научны...

Последняя версия обновлений для наших суперспособностей. Рецензия на книгу Дэна Роэма «Рисуй, чтобы победить» Зрение — ваша суперспособность. Вы уже обладаете всеми необходимыми инструментами, устройство у вас с рождения, а программное обеспечение включилось, как только вы впервые разомкнули веки. Теперь нужно установить обновления. Так заканчивается новая книга Дэна Роэма "Рисуй, ч...

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

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

Социальные сети следят за вами. Разбираем пример Вконтакте Ни для кого не является секретом, что все крупные социальные сети созданы для заработка - вам подсовывается реклама на основе ваших интересов. Интересуетесь вы автомобилями - получите рекламу об автомобилях, интересуетесь майнингом - получите рекламу ASIC'ов. Уже на протяжен...

Как мы настроили поиск с помощью Elasticsearch и Logstash по данным MSSQL Делимся подробностями, как мы сделали хороший поиск по закрытой корпоративной соцсети в условиях, когда: • данные хранятся в разных колонках таблиц MSSQL, • раньше поиска по ним не было, • а перенести их оттуда нельзя по соображениям информационной безопасности. Критерий хо...

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

Как мы общаемся с React-компонентам при помощи декораторов в TypeScript При разработке приложений на React довольно неудобно создавать независимые друг от друга компоненты, т.к. стандартным способом для обмена данными между ними является "Lifting State Up". Этот подход постепенно загрязняет ненужными свойствами промежуточные компоненты, делая их...

[Перевод] Функция random() у гуглобота работает абсолютно детерминированно Я проводил некоторые эксперименты, как Googlebot разбирает и рендерит JavaScript, и наткнулся на несколько интересных вещей. Первое — то, что функция Math.random() в Googlebot выдаёт полностью детерминированные серии чисел. Я написал маленький скрипт, который использует этот...

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

[Из песочницы] Выгрузка сообщений с использованием Telegram API. С чего начать На просторах интернета можно найти множество описаний и примеров по созданию telegram bot-ов.Но Telegram Bot Api имеет ограниченный функционал. Для решения задачи по выгрузке сообщений из Telegram по ключевому слову необходимо использовать Telegram API. За основу была взята ...

Появился список устройств Xiaomi, которые получат MIUI 10 Xiaomi в настоящее время разрабатывает MIUI 10, поскольку он завершает выпуск MIUI 9 на обещанные устройства. На прошлой неделе компания начала опрос, чтобы позволить своим пользователям выбирать название между MIUI 10 и MIUI X для следующего выпуска MIUI. Недавно появился п...

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

Масштабирование Selenium Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество...

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

Мессенджеры, пора делать следующий шаг В последние пару лет, мессенджеры изменили привычный ход потребления контента, whatsapp, telegram, viber, простите. Теперь весь контент сосредоточен в них, аудитория растет дикими темпами, они многое изменили, но самое главное — им еще предстоит — способ доставки контента,...

Управление трафиком с использованием Fiddler Автор: Ольга Еременко, QA Engineer При тестировании сайтов или мобильных приложений иногда возникает необходимость не только отловить трафик между клиентом и сервером, но и модифицировать его, чтобы посмотреть, как это обработает бэкенд и что поменяется на UI. В таких сл...

Samsung Galaxy S8 и S8+ наконец получили Android Oreo Прошло уже почти полгода с момента релиза Android 8.0, и Samsung наконец-то начала обновлять до нее флагманы 2017 года. Доступ уже получили участники открытого бета-тестирования, а всем остальным предложение обновиться по воздуху прилетит в течение суток. Отметим, что речь ...

Как подписать сообщение алгоритмом ГОСТ Р 34.11/34.10-2001 на Java В этот статье я расскажу, как подписать произвольное сообщение приватным ключом и сертификатом по алгоритму ГОСТ Р 34.11/34.10-2001 присоединённой (attached) подписью на языке Java. Для проекта электронного документооборота мне потребовалось сделать подпись алгоритмом ГОСТ....

[Перевод] Создание игры на Lua и LÖVE — 7 ОглавлениеОглавление Статья 1 Часть 1. Игровой цикл Часть 2. Библиотеки Часть 3. Комнаты и области Часть 4. Упражнения Статья 2 Часть 5. Основы игры Часть 6. Основы класса Player Статья 3 Часть 7. Параметры и атаки игрока Часть 8. Враги Статья 4 Часть 9. Режиссёр и игро...

Java против утечек. Боремся с memory leaks в веб-службе Для подписчиковВ прошлой статье мы рассмотрели утечки памяти, которые возникают при остановках и переустановках веб-приложений, написанных на Java. Речь шла о выводе логов Spring через Log4j2. Сейчас я расскажу, как можно легко и просто получить утечки памяти, используя Log4...

Google тестирует новый блок с интересными находками по теме запроса Англоязычные пользователи заметили, что Google тестирует новый блок «Interesting Finds» («Интересные находки») в результатах мобильного поиска. Он содержит преимущественно AMP-страницы, имеющие отношение к запросу. Новый блок выводится по таким запросам, как [when is mothers...

Создатель Hidden Wallet — о проблемах анонимности биткоина и конфиденциальных транзакций В серии недавних записей в своем блоге на Medium nopara73 рассказал о методах отслеживания транзакций в сети биткоина, стратегиях, которые используют компании по безопасности, и способах уйти от их внимания. Также создатель Hidden Wallet предположил, как новые решения, над к...

Одна «Альфа» хорошо, а две — лучше! Готовимся к продвинутым техникам взлома Wi-Fi Для подписчиковВ прошлых статьях о пентестах точек доступа Wi-Fi мы разобрали базовые техники, а сейчас примемся за более продвинутые. Рассмотрим особенности адаптеров и добавим мощности нашему донглу. Это необходимо, чтобы использовать ускоренные способы взлома, принудитель...

[Из песочницы] Различные стратегии именования в Hibernate Привет, Хабр! Представляю вашему вниманию статью "Different Hibernate Naming Strategy" автора Dhiraj Ray. В этой статье обсуждаются различные стратегии именования, предоставляемые hibernate, а также переход стратегии именования от hibernate.ejb.naming_strategy в h...

Кто такой программист? О времена, о нравы. Сегодня в Тостере увидел тему, в которой человек признавался, что работая java-разработчиком он знает алгебру и геометрию на уровне 6 класса и просил посоветовать учебники. Этот запрос несомненно вызывает уважение — человек хочет учиться. Начнём сначала....

Новый вредонос для Mac использует уникальный способ загрузки Новый зловред для macOS под названием OSX/Shlayer, обнаруженный исследователями из фирмы Intego, маскируется под обновление для Adobe Flash Player. Заражение происходит на сайтах обмена файлами BitTorrent, когда пользователь пытается выбрать magnet-ссылку для скачивания. Пос...

[Перевод] 4 совета по работе с Vue.js Вот несколько советов по работе с Vue.js которые я выработал за последний год. Используйте стрелочные функции в компонентах ES6 подарил нам новый способ объявления функций с удобным биндингом текущей области видимости. При использовании старого способа, this может ссылаться...

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

[Перевод] Сетевая физика в виртуальной реальности Введение Около года назад ко мне обратилась компания Oculus с предложением проспонсировать мои исследования. По сути, они сказали следующее: «Привет, Гленн, существует большой интерес к передаваемой по сети физике для VR, а Вы сделали отличный доклад на GDC. Как считаете, с...

Selfie Flash 1.0.4 BETA Приложение Selfie Flash позволяет снимать яркие и красивые фотографии в темноте, отображая наложение и увеличивая яркость на экране. Selfie Flash работает с любым приложением камеры. Вы можете использовать свое любимое приложение для камеры, чтобы делать снимки или с...

[Перевод] Метод Бенджамина Франклина для чтения книг по программированию Посмотрим правде в глаза, книги по программированию — отстой. Эти общие книги по распределённым системам, науке о данных и так далее — их можно читать бесконечно. Но за редким исключением у практических руководств по языку/фреймворку/СУБД/кексопечке есть нечто общее. Зверюшк...

Таиланд передаст россиянина США по запросу ФБР В Бангкоке задержали гражданина России Сергея Медведева. Мужчину подозревают в организации преступной группировки, осуществляющей хакерские атаки. Таиланд по просьбе сотрудников ФБР передаст россиянина США. Американские спецслужбы провели операцию под названием «Теневая С...

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

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

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

Motorola выпустила Android 8.0 Oreo для десятка своих смартфонов Ещё совсем недавно практически все производители мобильных устройств на Android в один голос заявляли о своевременных обновлениях операционной системы до актуальной версии. Но наступил 2018 год, на подходе уже Android 9, и далеко не все устройства успели получить Android 8.0...

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

Сетевая оптимизация для Unreal Engine 4 Не так давно в официальной группе UE4 в vk я спрашивал, какие темы были бы интересны сообществу, чтобы о них рассказать :) Одним из популярных запросов стала работа с сетью на движке. В начале я не планировал как-то раскрывать или упоминать эту тему, но потом подумал, что о...

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

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

[Из песочницы] Tooltip-ы в Power BI — новый функционал для Desktop В середине марта вышло очередное обновление Power BI Desktop. Microsoft добавил пару интересных функций, в том числе возможность пользователям самим создавать всплывающие подсказки — Tooltips. В этой заметке я покажу простой пример работы с этим функционалом. Читать дальше...

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

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

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

Приручение SphinxSearch с помощью слона Добрый день, хаброжители! Представляю вашему вниманию расширение для PostgreSQL, позволяющее отправлять поисковые запросы на Sphinx из PostgreSQL и получать результаты этих запросов. Подробности реализации и ссылка на репозиторий под катом. Читать дальше →

Универсальные приложения React + Express В прошлой статье рассматривалась библиотека Next.js, которая позволяет разрабатывать универсальные приложения «из коробки». В обсуждении статьи были озвучены существенные недостатки этой библиотеки. Судя по тому, что https://github.com/zeit/next.js/issues/88 бурно обсуждаетс...

5 задач, которые можно автоматизировать с помощью скриптов AdWords Скрипты AdWords – это один из самых подходящих и удобных способов для автоматизации рутинных и повторяющихся задач.

[Из песочницы] Средства миграции данных Android и улучшение поддержки приложений Привет, Хабр! Представляю вашему вниманию перевод статьи «Discover tools for Android data migration and improve your app retention» авторов Sean McQuillan и Prateek Tandon. Пользователи создают учетные записи, активируют их, а затем сохраняются, когда многократно запускают ...

Обход антивируса Kaspersky Total Security На днях я наткнулся на данный весьма интересный проект. Суть заключается в том что данный софт декодирует Login Data от Chrome, Opera Stable (По тому же методу что и Chrome) и выдает все в нам привычный string формат. Читать дальше →

[Перевод] Изучаем KTX для Android Привет, «Хабр»! Прошло почти 9 месяцев с тех пор, как на Google I/O 2017 компания Google анонсировала Kotlin в качестве официального языка разработки под Android. Кто-то использует его как основной инструмент намного дольше, учитывая, что на нём можно было писать уже с серед...

История одного проекта автоматизации, или как реализовать смешанный учет основных средств с помощью одного инструмента К нам в компанию обратился заказчик, перед которым стояла задача инвентаризации ОС. Казалось бы, что может быть проще: берем любое мобильное устройство на Android, заливаем туда ПО DataMobile Invent, цепляем к «1С: Бухгалтерия 3.0» и вуаля, задача решена! Но, как обычно это ...

[Из песочницы] NRF51822: дружим BLE и RTOS Современные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе»...

[Перевод] Современный PHP без фреймворков У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать ...

Throw выражения в C# 7 Всем привет. Продолжаем исследовать новые возможности C# 7. Уже были рассмотрены такие темы как: сопоставление с образцом, локальные функции, кортежи. Сегодня поговорим про Throw. В C# throw всегда был оператором. Поскольку throw — это оператор, а не выражение, существуют к...

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

[Перевод] Туториал по Unreal Engine: Cel Shading Благодаря физически точному рендерингу в Unreal Engine 4 удобно разрабатывать реалистичные игры. Модель рендеринга имитирует взаимодействие света с материалами, что приводит к созданию реалистичной картинки. Однако если вы хотите разработать игру со стилизованным внешним ви...

Плюсы и минусы ведения бизнеса в США: наблюдения после года развития своей компании В прошлом году я рассказывал на Хабре о том, как получил визу О1 и переехал в США развивать собственный бизнес. В комментариях читатели задавали вопросы о том, каково это работать на себя в Америке. И если тогда мой опыт был слишком скудным, чтобы ответить, то теперь после...

Настройка Zones в Solaris 11.3 Введение Моё первое знакомство с контейнерной виртуализацией было с jail в FreeBSD, данный подход позволяет изолировать различные службы в безопасном окружении. Недостаток jail в том, что в нём нет возможности создать собственную сетевую подсистему, в отличии от Zones Solar...

[Перевод] JavaScript ES6 — синтаксис оператора spread (…) Синтаксис оператора spread: Синтаксис оператора spread это просто три точки: … Оператор spread позволяет расширять выражения в тех местах, где предусмотрено использование нескольких аргументов. Эти определения могут быть непонятны без контекста. Давайте рассмотрим нескольк...

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

Как загрузить нестандартный лог в Splunk + логи Fortinet Много ли мы генерируем данных, используя информационные системы каждый день? Огромное количество! Но знаем ли мы все возможности по работе с такими данными? Определенно, нет! В рамках этой статьи мы расскажем какие типы данных мы можем загружать для дальнейшего операционного...

Как быстро заблокировать Mac Если вы используете в работе macOS, то наверняка сталкивались с ситуацией, когда вам нужно было заблокировать компьютер, пока вас не будет на месте. 
Начиная с macOS High Sierra Apple наконец внедрила эту долгожданную функцию. Раньше для этого приходилось использовать разл...

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

Почему Galaxy S7 edge получил обновление до Android Oreo? В обновлении до Android Oreo прошлогодних флагманов от компании Samsung нет ничего удивительного. Его ждали давно, и вот оно, к радости обладателей этих девайсов, стартовало. Тем временем появилось сообщение о получении обновления до Android Oreo одной из версий позапрошлог...

Транскрипция географических названий в Open Street Map. Латвия, Литва, Польша, Эстония Привет всем, кто использует OSM. У каждого из нас свои задачи при работе с картами, однако одним из базовых функционалов конечно является поиск географических объектов, как минимум населенных пунктов, а так же рендеринг карт. Проблема в том, что значение тега name для узлов,...

Управление ИТ-активами: как мифы влияют на проекты (Часть 2) При внедрении ITAM-решений часто приходится сталкиваться с различными мифами. Чтобы проект был успешен, важно разобраться в природе этих ложных представлений клиента, снять все открытые вопросы, избавиться от ненужных заблуждений или убедиться, что это не миф. В предыдущей ...

Самый большой в истории iPhone обзаведётся двумя SIM-картами Компания Apple готовит к выпуску в 2018 году три смартфона — самый большой в истории iPhone, обновлённый iPhone X и менее дорогую модель с некоторыми особенностями флагмана. Об этом сообщило издание Bloomberg со ссылкой на «осведомленные» источники. Рендер ...

Как добавить универсальную папку с последними приложениями в Dock Сегодня мы рассмотрим очередной способ организовать работу в macOS. В этом нам поможет трюк, который добавит в док-панель универсальную папку, которая отображает исключительно последние файлы/приложения. Это может пригодиться тем, кто много работает с файлами. Приступим к...

FPGA для программиста, конечные автоматы (verilog) Стиль описания конечного автомата как образ мышления Когда нужно преодолеть врожденную параллельность FPGA, и появляется желание заставить схему работать последовательно, по алгоритму, на помощь приходят конечные автоматы, про которые написано не мало академических и практич...

[recovery mode] Как мы создавали калькулятор цены ИТ-продуктов и автоматизировали создание спецификаций “Сколько будет стоить ИТ-продукт?” — как часто вы слышите этот вопрос и как быстро можете дать на него ответ? Будь то программное обеспечение, аппаратное обеспечение, создание сайта, услуги разработчиков — в любом случае над расчетом спецификаций придется посидеть и потратит...

DoctrineSolrBundle — поиск по Doctrine entity на базе Solr в Symfony2 DoctrineSolrBundle Добрый день, хочу представить свой symfony 2 бандл для автоматической синхронизации Doctrine entity в Solr и последующим поиском. Бандл предназначен для работы с Solr на уровне Doctrine entity и позволяет избежать написания низкоуровневых запросов в solr. ...

[Из песочницы] Почему Ramda? Пост содержит перевод статьи «Why Ramda?», которую подготовил один из контрибьютеров Скот Сайет. Статья была опубликована 10 Июня 2014 года на сайте и рассказывает о том почему стоит обратить своё внимание на библиотеку Ramda и функциональное программирование в целом. Примеч...

Ботнет JenX внедрился в Grand Theft Auto Исследователи из Radware обнаружили новый ботнет, который использует те же уязвимости, что и боты Satori, для заражения IoT-устройств через сообщество игроков Grand Theft Auto. Satori — это производная версия печально известного ботнета Mirai, который в 2016 году парализовал...

Unity выложила исходный C#-код на Github Возрадуйтесь все, кому хоть раз в силу жизненной необходимости приходилось декомпилировать .NET-код Unity! Теперь код C#-части движка и редактора Unity доступен для изучения на Github. Доступны все основные ветки, начиная с версии 2017.1 и заканчивая свежей 2018.1.0b12. К...

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

Разрешения во время выполнения Всем доброго! Вот мы и добрались теперь и до мобильных: стартовал набор на курс «Разработчик Android». Очередная небольшая веха и совершенно новое направление. Наш преподаватель — Семён Пилунц делится по этому поводу некоторыми своими размышлениями о разреще. Если ваше при...

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

Обновление Play Store до версии 9.5.09 и список изменений Всего пару дней назад мы писали об обновлении Android-клиента (версия 9.4.18) для доступа к фирменному магазину приложений Google Play Store. И вот очередной билд 9.5.09 уже доступен. Вы вряд ли получите его сегодня традиционным методом по воздуху. Это случится позже, но с...

[Из песочницы] Разворачиваем связку Nginx+Php-Fpm+MySQL с magento2 на борту и раскладываем по контейнерам в Docker Добрый день! Все чаще стучась в различные компании разработчиков в качестве DevOps инженера, я получаю приблизительно одни и те же тестовые задания. Они отличаются друг от друга версиями PHP или проектами которые надо запустить. Но в целом они упираются в одну связку это N...

Google ужесточил требования для повторного сканирования Джон Мюллер рекомендует использовать неручные методы сканирования

Дуров пообещал запустить встроенные методы обхода блокировок в Telegram Пользователям не придётся использовать VPN и прокси.

Дуров пообещал запустить встроенные методы обхода блокировок Telegram Пользователям не придётся использовать VPN и прокси.

[Перевод] Туториал: toon-контуры в Unreal Engine 4 Когда говорят о «toon-контурах», то имеют в виду любую технику, которая рендерит линии вокруг объектов. Как и cel shading, контуры помогают игре выглядеть более стилизованной. Они могут создавать ощущение того, что объекты нарисованы красками или чернилами. Примеры такого с...

7 способов использовать groupingBy в Stream API Новичкам зачастую трудно представить выгоду от использования Stream API заместо обычных циклов, под катом несколько примеров, которые помогут вам существенно сжать ваш раздутый код Читать дальше →

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

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

«Алиса» + «Елена» = подруги Проект "Елена", виртуальный ассистент "МегаФона", использующий технологию синтеза и распознавания речи Яндекса SpeechKit, развивается с 2014 года и представляет собой AI-систему, которая предоставляет пользователю консультации по широкому спектру вопросов...

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

Задействовать для простых тестов наследование, полиморфизм и шаблоны? Почему бы и нет… Язык C++ сложен. Но его сложность проистекает из сложности задач, которые решаются с помощью C++. Каждая фича, которая была добавлена в C++, была добавлена не просто так, а для того, чтобы дать возможность справиться к какой-то проблемой. Ну а уж сочетание существующих в C++...

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

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

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

Как провести тендер на разработку сайта Все чаще и чаще к нам обращаются с приглашением принять участие в тендере на разработку сайта. Причем львиная доля запросов выглядят так: “Сколько стоит разработка такого сайта: fb.com. Письмо разослано на 69 веб-студий. Поэтому решил поделиться своим опытом в тендерах. А оп...

Всё про откат. Часть 1. Небольшой ликбез Как известно, Apple не позволяет устанавливать старые версии прошивок. Все это сделано из соображений безопасности, и благодаря такому подходу большинство пользователей могут не беспокоиться за сохранность своих персональных данных. Как именно работает система подписывания...

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

Scrum vs Kanban: в чем разница и что выбрать? Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban. Читать дальше →

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

Amazon разрабатывает собственные микросхемы для ИИ По сообщению The Information, компания Amazon начала разработку собственных специализированных микросхем для приложений искусственного интеллекта (ИИ). Они предназначены для устройств с голосовым помощником Alexa и позволят этим устройствам быстрее реагировать на запрос...

Анонс Windows 10 Build 17101 (Fast) и 17604 (Skip Ahead) Привет, инсайдеры! Как и сообщалось ранее, разработка обновления Redstone 4 выходит на финишную прямую. Начиная с сегодняшнего дня вновь открыт канал Skip Ahead, на котором инсайдеры будут получать первые предварительные сборки Redstone 5, тогда как на канале Fast продолжит...

Хакинтош: обновляемся с macOS Sierra 10.12 до High Sierra 10.13 Всем доброго времени суток, уважаемые коты, дамы и господа. Как-то давно (года два назад) я писал статью по установке хакинтоша на ваш Intel-Based ПК. Статья устарела как мир, но все таки полезное там что-то есть. Например порядок установки будет тем же, если вы замените ус...

Книга «Linux API. Исчерпывающее руководство» Привет, Хаброжители! Недавно у нас вышел фундаментальный труд Майкла Керриска по программным интерфейсам операционной системы Linux. В книге представлено практически полное описание API системного программирования под управлением Linux. Сейчас мы рассмотрим раздел «Потоки ...

Microsoft анонсировала обновление Skype для старых Android-устройств Сегодня компания Microsoft анонсировала обновлённую версию Skype, оптимизированную для старых смартфонов на базе версий Android от 4.0.3 до 5.1. Ожидается, что пользователи начнут получать обновление в ближайшие несколько дней. В целом, концепция этой версии аналогична прил...

[Перевод] Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность. Обработкой естественног...

[recovery mode] Анализ данных — основы и терминология В этой статье я бы хотел обсудить базовые принципы построения практического проекта по (т. н. «интеллектуальному») анализу данных, а также зафиксировать необходимую терминологию, в том числе русскоязычную. Согласно википедии, Анализ данных — это область математики и информа...

[Перевод] Землю унаследуют роботы? Говорят, обещанного три года ждут. Вот и я в комментарии к статье vmb обещала перевести главу из книги Zero Day, но пока собиралась — всю книгу уже перевели. Так что выкладываю тут перевод статьи Марвина Л. Мински о будущем и развитии человека. За наводку на статьи Мински с...

[Из песочницы] Запускаем полноценный кластер на Kubernetes с нуля на Ubuntu 16.04 Уже довольно много написано статей, по установке и запуску Kubernetes, однако, не всё так гладко (я потратил несколько суток на запуск своего кластера). Данная статья призвана дать исчерпывающую информацию не только по установке k8s, но и объяснить каждый шаг: зачем и почем...

25 млрд запросов в час: база данных ServiceNow Двадцать шестого февраля прошла конференция MariaDB M|18, в которой участвовали 330 ИТ-компаний. На конференции выступил представитель ServiceNow. Он поделился кейсом по управлению «85 тысячами БД по всему миру». Среднее количество запросов в час — 25 миллиардов. Как в Servi...

[Из песочницы] Мобильная 3D игра на Unity3D менее чем за 90 часов Приветствую! Сегодня я расскажу вам о своем опыте разработки игры на Unity для платформы Android, менее чем за 90 часов, на примере создания простенького «раннера». В процессе повествования я затрону некоторые детали и ключевые этапы, с описанием всех возможных подводных ка...

[Перевод] Разработка игр под NES на C. Главы 4-6. Рисуем персонажа В этой части рассмотрим работу с графикой: фон и спрайты персонажей. <<< предыдущая следующая >>> Что такое V-blank? PPU — графический процессор — может или отправлять сигнал в телевизор, или получать информацию от процессора, но не одновременно. Так что ед...

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

12NEWS.RU :: Блоги :: Tkeycoin обратилась к методу Алана Тюринга для набора секретной группы разработчиков По информации 12NEWS (Ведущее ИТ-издание по корпоративным системам и приложениям - www.12news.ru), HR-менеджер был бы в шоке, узнав о таком способе набора сотрудников, который применяет проект Tkeycoin DAO. Известно, что в ночь на понедельник в своих соц. каналах была размещ...

Германа Каплуна заподозрили в отвлечении внимания от связанного скандала выводом на IPO акций TMT Investments PLC Известный предприниматель, экс-руководитель РБК Герман Каплун никоим образом не комментирует информацию СМИ о том, что владельцами офшоров, приобретавших акции TMT Investments PLC, могли быть его экс-подчиненные по холдингу, и также близкие родственники. По сути, предпринима...

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

Знакомство с облаком: как работают динамические методы распределения трафика В одном из наших прошлых материалов мы рассказывали про статические методы балансировки нагрузки в облаке IaaS-провайдера. Сегодня на очереди динамические методы: «пчелиный» и «муравьиный» алгоритмы, а также подход Biased Random Sampling. Читать дальше →

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

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

Face unlock и AR в предстоящем обновлении Huawei Mate10 lite (Nova 2i) Компания Huawei заявила, что после следующего обновления прошивки смартфона Huawei Mate10 lite, пользователям будут доступны функции разблокировки экрана с помощью распознавания лица (Face unlock) и возможности дополненной реальности. Huawei Mate10 lite появился в продаже ...

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

[Перевод] Эволюция войны: ИИ игр серии Total War (часть 2) Это вторая часть статьи про искусственный интеллект Total War. В первой части статьи я рассказал об игре Creative Assembly 2000 года Shogun: Total War — игре, изменившей лик стратегий реального времени. В Shogun существует три отдельных слоя систем ИИ: ИИ юнитов, управляющи...

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

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопились некоторые советы и решения, среди которых open-source фреймворк, которыми я хотел бы поделиться. В данной статье мы пройдемся по некоторым принципам, а так же посмотрим на р...

Очевидное благо: как и зачем использовать сервисный подход за рамками ИТ (Часть 3) Продолжаю делиться опытом, как сервисный подход выходит из айтишной сферы (как управление процессами ИТ-обслуживания) и интегрируется с другими внутренними службами компании. Чем полезен сервисный подход и какие «подводные камни» ждут на этом пути я рассказывал. Сегодня – н...

KLD начинает зарабатывать Здравствуйте! Продолжаем эксперименты с пластиком HARZ Labs Dental на принтере KLD 1260. Это высокопрочный полимер, как заявляет производитель, созданный на базе биосовместимого сырья. Данный пластик рекомендуется для печати хирургических шаблонов и мастер-моделей под термо...

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

Splunk + Excel. Что получится? В предыдущих статьях мы много рассказывали о Splunk. Это продукт, который позволяет собирать и анализировать данные с любых IT-систем в режиме реального времени, например, это могут быть результаты работы web-сервера, почтового сервера, Windows, различных приложений и тд. Зн...

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

[Перевод] Введение в квантовые вычисления Привет, Хабр! Совсем недавно мы рассказывали вам о квантовых вычислениях и языке Q#. Сегодня же мы уйдем в теорию еще глубже и рассмотрим историю квантовых вычислений. Кроме того, в этой статье вы найдете 5 требований к квантовому компьютеру. Какими свойствами должна обладат...

Предстоящий 6.1-дюймовый Apple iPhone может стоить всего 550 долларов США Apple еще ничего не подтвердила в отношении линейки iPhone 2018, но мы уже много слышали об этом. В то время как следующая топовая версия в линейки iPhone, вероятно, будет по меньшей мере столь же дорогой, как iPhone X, Apple может сделать сюрприз для пользователей, которые ...

Как работают приложения Сбербанк Онлайн: Workflow API и фрэймворки Много кто пользуется приложением Сбербанк Онлайн, но немногие знают, как оно работает. Настало время приоткрыть завесу тайны – в этой статье мы расскажем о некоторых подходах, которые используем в разработке. Читать дальше →

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

[Перевод] Хуки жизненного цикла Vue.js Хуки жизненного цикла (lifecycle hooks) — важная часть любого серьёзного компонента. Нам часто нужно знать, когда компонент был создан, добавлен в DOM, обновлён или уничтожен. Хуки жизненного цикла показывают нам, как работает «за кулисами» выбранная библиотека. Они часто в...

JavaScript, Java, какая теперь разница? На прошлом JPoint пообещал написать статью про использование GraalVM для смешивания Java и JS. Вот она. В чем проблема? В повседневной практике часто встречаются приложения, состоящие из двух частей: JavaScript-фронтенд и Java-бэкенд. Организация интеропа между ними требу...

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

Разбор перформансных задач с JBreak (часть 4) Разбор последней четвёртой задачи: public double octaPow(double a) { return Math.pow(a, 8); } public double octaPow(double a) { return a * a * a * a * a * a * a * a; } public double octaPow(double a) { return Math.pow(Math.pow(Ma...

Команда ВКонтакте обновила настройки ретаргетинга по API Добавили метод для исключения юзеров из аудитории ретаргетинга

Быстрая чистка семантического ядра: метод «Муравейника» О своём методе рассказывает Андрей Буйлов из агентства «Муравейник».

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

JavaParser. Корёжим код легко и непринуждённо В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами. Сегодня расскажу о JavaParser. JavaParser — это набор инструментов для парсинга, анализа, трансформации и г...

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

[Перевод] Riot Games: анатомия технического долга Привет, меня зовут Билл «LtRandolph» Кларк. Я работаю техническим руководителем команды создания чемпионов LoL. За последние несколько лет я успел поработать в разных отделах разработки League, но единственное, чем я был постоянно одержим — это технический долг. Мне нужно на...

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

Разработка драйвера PCI устройства под Linux В данной статье я рассматриваю процесс написания простого драйвера PCI устройства под OC Linux. Будет кратко изучено устройство программной модели PCI, написание собственно драйвера, тестовой пользовательской программы и запуск всей этой системы. В качестве подопытного вы...

Краткая сводка о заблокированных адресах Здравствуйте, друзья! По просьбе lostpassword решил написать краткую сводку о состоянии блокировки на текущий день. В данной статье используются данные полученные из неофициальной выгрузки РКН. В данной сводке не будут представлены отдельные IP-адреса различных проектов, а б...

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

Google добавила смарт-часам возможности Android P Компания Google выпустила превью для разработчиков своей платформы для смарт-часов Wear OS, ранее известной как Android Wear. Обновление приносит возможности Android P на носимую электронику. Новая версия Wear OS доступна для смарт-часов Huawei Watch 2 Bluetooth, как для мо...

Как именно работает Time Machine? Time Machine — это, безусловно, самый простой способ резервного копирования данных на Mac. Уникальность этой программы в том, что она сохраняет данные с помощью «снимков файловой системы». Но как именно работает этот инструмент? В чём его особенности и есть ли сущест...

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

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

Huawei P20 lite – смартфон за 450 долларов, который покрывает все основные запросы пользователя В 2018 году самым громкими премьерами среди смартфонов можно считать новое поколение трубок Samsung Galaxy S9 и S9 Plus, а также три устройства от Huawei из линейки P20. По мнению редакции портала Allphones.kz смартфон Huawei P20 lite, который самый доступный по цене, нужно ...

СМЭВ 3. Электронная подпись сообщений на Java и КриптоПро Система межведомственного электронного взаимодействия (СМЭВ), задумывалась, как цифровая среда предоставления услуг и исполнения государственных и муниципальных функций в электронной форме. В настоящее время СМЭВ продолжает расширять свои возможности и вовлекать все больш...

Memcached как средство для DoS. Как ошибка в конфиге превратила полезную утилиту в хакерское оружие Для подписчиковВ конце февраля этого года GitHub подвергся мощнейшей DoS-атаке с пиковой мощностью 1 Тбайт/с, которая стала возможна из-за особенностей кеширующей базы данных Memcached. Помимо GitHub, ее используют Facebook, LiveJournal и другие большие сайты. В этой статье ...

#Ускорение4X. Адвокат дьявола Сегодня рассмотрим конкретный прием, который, при честном применении, может решить задачу ускорения до 4X, и дальнейшие статьи можно будет не читать. Этот прием называется «Адвокат дьявола», и цель его применения в нашем случае — снижение сопротивления людей. Сопротивление ...

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

Шпионский троян атакует российские банки Центр по борьбе с киберугрозами ЦБ России (ФинЦЕРТ) предупредил финансово-кредитные организации страны об атаке трояна Dimnie, нацеленной на кражу денег и конфиденциальной информации. Организация сообщила об участившихся случаях рассылки электронных писем со зловредом в каче...

[Перевод] Как использовать getDerivedStateFromProps в React 16.3 (ру субтитры) Вышел перевод нового видео от команды hackage.tv, в котором очень доступно рассказано об использовании методов жизненного цикла в React 16.3 и getDerivedStateFromProps в частности.

Особенности национальной охоты на баги или Bug Bounty по славянски Почему крупнейший мобильный оператор платит за critical bug 3-мя месяцами бесплатного интернета, гос. авиа компания считает паспортные данные и дату рождения не конфиденциальной информацией, а служба доставки №1 в стране по скриншотам отрицает утечку данных? А тем времене...

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

[Из песочницы] Пишем свой BitTorrent-клиент на базе библиотеки Bt Всем привет! В данной статье я расскажу о том, что из себя представляет библиотека Bt, чем она хороша и почему стоит иметь ее в виду, если для решения каких-то задач планируется использовать BitTorrent. Затем, в качестве демонстрации базовых функций и основного API, мы реали...

Android P не даст приложениям использовать камеру и микрофон без ведома пользователя В обновлении (02/21) было обнаружено еще одно сообщение с открытым исходным кодом, в котором говорится, что Android P закроет свободный доступ к микрофону устройства. Разработчики XDA выяснили, что эта функция, направленная на повышение конфиденциальности, будет действовать ...

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

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

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

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

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

Вертим логи как хотим ― анализ журналов в системах Windows Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим. В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируем...

[Из песочницы] Операция «Ы» и новая библиотека ABI Рад приветствовать тебя, дорогой читатель! В данной статье пойдет речь о новой библиотеке «ABI Model Pattern». Наверное, было бы логично предоставить какой-то пример, чтобы показать все возможности этой библиотеки, но вот и нетушки… Сейчас я опишу только достаточный минимум...

Большая часть владельцев умных акустических систем не использует и половины возможностей этих устройств Специалисты LoupVentures, которые недавно определили, что по возможностям голосового ИИ акустическая система Apple HomePod уступает всем своим основным конкурентам, провели опрос, чтобы понять, как вообще люди используют подобные устройства. Всего было опрошено 520 чел...

Вопросы совместимости Tibero и Oracle. Часть 2. Разработка Java приложений Мы продолжаем цикл статей разработчиков приложений для баз данных. Эта статья затронет тему использования Tibero в Java приложениях использующих JDBC и Hibernate, а также фреймворк Spring Roo. Читать дальше →

[Из песочницы] Обзор кейсов интересных внедрений Big Data в компаниях финансового сектора Кейсы практического применения Больших данных в компаниях финансового сектора Зачем эта статья? В данном обзоре рассматриваются случаи внедрения и применения Больших данных в реальной жизни на примере «живых» проектов. По некоторым, особенно интересным, во всех смыслах, кей...

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

tdlib-ruby: как сделать Telegram-клиент на Ruby Одна из особенностей мессенджера Telegram — широкие возможности API (Bot API и Telegram API). Команда Telegram пошла ещё дальше и выпустила библиотеку TDLib (Telegram Database Library), позволяющую разрабатывать альтернативные клиенты Telegram и не задумываться о низкоуровн...

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

Анимации в Android по полочкам (Часть 2. Комплексные анимации) Часть 1. Базовые анимации Часть 2. Комплексные анимации Часть 3. Ещё больше анимаций Часть 4. Анимации переходов Приведённые в предыдущей части инструменты были относительно низкоуровневыми и в Android есть куда более простые способы добиться красивых анимаций не прибегая к...

3 года «права на забвение»: Google раскрыла статистику запросов на «удаление» информации Месяц назад в своем блоге компания Google представила статистику по реализации так называемого права на забвение за последние 3 года. Всего с 2014 по 2017 год компания получила 2,5 млн запросов на удаление информации из поисковой выдачи. Подробнее о том, что такое «право на...

Дуров: Telegram будет сам обходить блокировку Telegram будет самостоятельно обходить блокировку «Роскомнадзора». Об этом Павел Дуров, основатель мессенджера, написал на своей странице в социальной сети «ВКонтакте». По его словам, встроенные в приложение инструменты не потребуют совершения каких-либо действий от самих ...

5 полезных функций в Wordstat Яндекса, которыми вы не пользуетесь Всем привет! Давайте угадаю, каждый из вас хотя бы раз пользовался инструментом Wordstat от Яндекса. Угадал? Не нужно оваций — это было сделать не сложно =) . Еще легче предугать то, что многие не пользуются или даже не знают те полезные функции сервиса, про которые я расска...

«Убийца Siri» от Google появится в России в ближайшее время В ближайшие месяцы Google Ассистент заработает на русском языке. С таким заявлением выступили официальные представители Google в России. В настоящее время продукт находится на завершающей стадии тестирования и ждет, когда в Google Play появится достаточно совместимых прило...

Обзор web-доступа к системе управления проектами Pilot-ICE Введение Зачем нужен web-доступ к системе управления проектами? Был ли с вами случай: когда вы забывали флешку, когда шли к заказчику или клиенту? Или оказывалось, что файл на флешке оказался другой версии? Согласно истории, именно это побудило Дрю Хьюстона, создать Dropbox....

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

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

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

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

[Перевод] Blockchain на Go. Часть 5: Адреса Содержание Blockchain на Go. Часть 1: Прототип Blockchain на Go. Часть 2: Proof-of-Work Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки Blockchain на Go. Часть 4: Транзакции, часть 1 Blockchain на Go. Часть 5: Адреса Blockchain на Go. Часть 6: Тра...

Samsung подтвердила одну из главных особенностей Galaxy S9 Galaxy S9 и S9+ все-таки получат поддержку технологии распознавания лиц, обеспеченную аппаратной системой сканирования. Это следует из описания новейшего процессора Exynos 9810 от Samsung, который, согласно информации из открытых источников, ляжет в основу флагманских смарт...

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

[Перевод] Защита от креативного злоупотребления HSTS HTTP Strict Transport Security (HSTS) — это стандарт безопасности, который позволяет веб-сайту объявить себя доступным только по безопасным соединениям, а браузерам передаётся информация для редиректа. Веб-браузеры с поддержкой HSTS ещё и не позволяют пользователям игнориров...

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

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

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

Некоторые Galaxy Note 8 начали обновляться до Android Oreo Менее чем через месяц после релиза стабильной версии Android Oreo для Galaxy S8 и S8+ она стала доступна владельцам Galaxy Note 8. На этот раз в роли распространителя апдейта выступил американский оператор AT&T, выпустивший обновление для моделей на базе чипа Snapdrago...

Состоялся релиз Firefox 59 После выхода Firefox 57, который получил название Quantum, организация Mozilla продолжает работу по улучшению собственного веб-браузера. Сегодня состоялся релиз Firefox 59, в котором разработчики ещё улучшили производительность и добавили несколько полезных функций, которые...

[Из песочницы] Gaijin Engineer in Tokyo Статья 26 марта об иммиграции в Чили разожгла во мне интерес касательно эмиграции в "экзотические" страны. В комментариях к ней же кто-то посоветовал Gaijin Engineer in Tokyo, которая открыла любопытный инсайд на жизнь иностранца в Японии. Я порою рассматриваю эту страну как...

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

Долгожданные клановые войны в сегодняшнем обновлении Clash Royale В сегодняшнем обновлении Supercell добавляет одно из важнейших обновлений для Clash Royale за всю историю игры — клановые войны. Стоит отметить, что этот режим перекочует из другого еще более популярного проекта студии — Clash of Clans. Там два клана на подготовительном этап...

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

Дуров прокомментировал решение суда о блокировке Telegram в России Глава Telegram Павел Дуров прокомментировал решение Таганского районного суда Москвы о блокировке мессенджера в России. Своё сообщение он опубликовал на странице во Вконтакте. «Таганский суд Москвы вынес решение о блокировке Telegram на территории РФ. Что стоит иметь в виду ...

[Перевод] Понимая зависимости От переводчика Мы должны внедрять, а не фантазировать! (Рина Зеленая, к/ф «Девушка без адреса») К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке. Краеугольный ...

9 простых и эффективных способов снять стресс Эффективность этих элементарных методов подтверждена исследованиями.

Графическая библиотека Vulkan 1.1 доступна для разработчиков в Android P В новой версии Android P для разработчиков станет доступна графическая библиотека Vulkan 1.1, в ней сильно оптимизирована и переработана работа с 2D и 3D графикой. Пользователи смогут почуствовать на себе все преимущества новой библиотеки, как только разработчики игр выпуст...

[Из песочницы] Как объяснить родственникам кто вы в мире ИТ на примере булочек Привет, Хабр! Представляю вашему вниманию перевод статьи "How to Explain Your Tech Job to Your Family" автора Mischa von Nachtigal. Список метафор, которые с легкостью помогут вам передать суть вашей профессии в ИТ за обеденным столом. Итак поехали! Читать даль...

Смартфон Samsung Galaxy J2 Pro появился в версии без интернет-доступа В начале года Samsung представила обновлённую версию смартфона Galaxy J2 Pro — модель 2018 года издания. Не прошло и четырёх месяцев, как южнокорейский производитель подготовил ещё одну модификацию Galaxy J2 Pro, предназначенную для местного рынка. Однако...

Сканеры штрих-кода для ЕГАИС: мифы и реальность, критерии выбора В прошлой статье мы писали о новой версии ЕГАИС 3.0 и введении обязательного помарочного учета алкогольной продукции на территории России. Сейчас предприниматели не на шутку озадачены проблемой автоматизации в соответствии с законом. Существует куча мифов о том, какое считы...

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

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

Total Filamentarno! под микроскопом Рассмотрим под микроскопом новый пластик от компании Filamentarno!. Он принадлежит к самой приятной для рассматривания категории пластиков - армированных углеволокном.Для начала измерим диаметр прутка. Прошу прощения за неудачный выбор цвета измеренных значений. Открытие кар...

Ботнеты пошли в атаку Корпорация Microsoft опубликовала отчет об угрозах информационной безопасности Security Intelligence Report за период с февраля 2017 года. Отчет посвящен трем темам: ботнетам, популярным методам хакерских атак и вирусам-вымогателям. Широкое распространение ботнетов и ви...

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

Drupal 8 + Varnish: Кешируем HTML правильно Drupal 8 – это самый свежий релиз CMS Drupal. Varnish – это HTTP reverse proxy cache, надстройка над вебприложением, которая позволяет кешировать HTTP ответы в ОЗУ сервера. Когда мы ставим Varnish перед Drupal’ом (либо любым другим вебприложением), схема обработки входящего...

[Перевод] Вышел React v.16.3.0 Несколько дней назад, мы написали пост о приближающихся изменениях в наших lifecycle-методах, где также затронули стратегию постепенной миграции (обновления). В React 16.3.0 мы добавили несколько новых lifecycle-методов для помощи в этой миграции. Мы также предоставили новое...

Telegram будет использовать встроенные методы обхода блокировок Таганский суд Москвы удовлетворил ходатайство Роскомнадзора о немедленной блокировке мессенджера Telegram, который отказался поделиться ключами-шифрования с ФСБ. В ближайшее время провайдеры начнут блокировать доменные имена telegram.org, web.telegram.org, t.me и IP-адреса с...

Динамическое изменение иконки приложения в iOS Начиная с iOS 10.3 вы можете менять иконки приложения прямо из кода. В этом статья мы рассмотрим простой пример кода, который реализует эту возможность.

[Перевод] Защита целостности кода с помощью PGP. Часть 1. Базовые концепции и инструменты Если вы пишете код, который попадает в общедоступные репозитории, вам может пригодиться PGP. В этой серии статей, перевод первой из которых мы публикуем сегодня, будут рассмотрены вопросы использования PGP для обеспечения целостности кода программного обеспечения. Эти матери...

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

Бывшая учительница рассказала, почему ходит голой перед своими детьми Мать четырёх детей из Британии ходит перед ними обнажённой. По её мнению, такая откровенность поможет детям вырасти без комплексов. Бывшая учительница Дебора Ходж шокировала интернет своими методами воспитания детей. 44-летняя женщина не стесняется быть обнажённой в присут...

Безопасно ускоряем Erlang приложение c помощью NIF на Rust В статье освещен вопрос интеграции Erlang и Rust на примере реализации вероятностной структуры данных Бёртона Блума, позволяющей проверить принадлежность элемента множеству с необходимой точностью. Читать дальше →

Анонс Windows 10 Insider Preview Build 17650 (Skip Ahead) Доброе утро, друзья! Компания Microsoft продолжает работу над следующим крупным обновлением для Windows 10, разрабатываемым под кодовым названием Redstone 5. Сегодня инсайдерам на канале Skip Ahead стала доступна новая сборка системы под номером 17650, так что не забудьте п...

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

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

Операционные системы с нуля; уровень 1 (старшая половина) Настало время следующей части. Это вторая половина перевода лабы №1. В этом выпуске мы будем писать драйверы периферии (таймер, GPIO, UART), реализуем протокол XMODEM и одну утилитку. Используя всё это мы напишем командную оболочку для нашего ядра и загрузчик, который позво...

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

Подводные камни Service Workers В этом коротеньком очерке я опишу те вещи о service workers, о которых я бы хотел прочесть год или хотя бы полгода назад и тем самым избежать очень долгого и мучительного периода отладки приложения. Если вы попали сюда по запросу типа «какого черта мой сервис воркер не рабо...

Онлайн шутер на Unreal Engine 4 за 90 часов (видео создания + исходники) Привет, харб! Примерно год назад я выкладывал статью о том, как я в прямом эфире создал выживалку за 150 часов. На этот раз хочу представить вам сетевой шутер, который я создал за 25 заходов по 3 — 4 часа. Всего вышло около 90 часов и в итоге мы создали онлайн шутер, в котор...

Разбор перформансных задач с JBreak (Часть 2) Только поутихли страсти с первой части разбора, вышедшей на прошлой неделе, как публикую продолжение: сегодня речь пойдёт о второй задаче. Код второй задачи: String format(String user, String grade, String company, String message) { return String.format( ...

В разрезе: новостной агрегатор на Android с бэкендом. Распределённые системы обработки сообщений (Spark, Storm) Вводная часть (со ссылками на все статьи) Основным компонентом системы, который обрабатывает сырые данные с «пауков», выполняет обогащение данных, их индексацию и последующий поиск является система обработки сообщений, т.к. только подобные системы могут адекватно реагиров...

[Перевод] ES6: полезные советы и неочевидные приёмы Стандарт EcmaScript 2015 (ES6) существует уже несколько лет. Он принёс с собой множество новых возможностей, разные способы использования которых далеко не всегда очевидны. Вот обзор некоторых из этих возможностей с примерами и комментариями. Читать дальше →

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

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

Samsung остановила обновления Galaxy S8 до Android Oreo На прошлой неделе компания Samsung выкатила долгожданное обновление Android 8.0 Oreo для Galaxy S8 и Galaxy S8 Plus. Предварительно данное обновление получили члены программы бета-тестирования, а позже его утвердили и сделали доступным для других пользователей, но не сразу д...

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

Где скачать и как поиграть в Playerunknown’s Battlegrounds (PUBG) для Android уже сегодня? Мобильная версия многопользовательской онлайн-игры в жанре королевской битвы, разрабатываемой и издаваемой студией PUBG Corporation, дочерней компанией корейского издателя Bluehole. Ссылки на все нужные источники: Скачать .apk PUBG от Timi Studio — Облако Mail или GDrive (1....

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

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

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

[Перевод] Разработка игр под NES на C. Главы 7-10. Работа с джойстиком. Коллизии спрайтов Плавно движемся к написанию игры. В этой части описана работа с джойстиками и коллизиями спрайтов. <<< предыдущая следующая >>> Источник Пользовательский ввод Работа с джойстиками довольно простая. Нажатия кнопок первого джойстика читаются по адресу $4016,...

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

Понимание lvalue и rvalue в C и С++ Eli Bendersky, Understanding of lvalues and rvalues in C and C++ (https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c) От переводчика: предлагаю Вашему вниманию перевод интересной статьи об lvalue и rvalue в языках C/C++. Тема не нова, но з...

Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети Изображение с сайта getwallpapers.com История В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой ...

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

Зачем Герман Каплун отвлекает внимание СМИ от вывода на IPO акций TMT Investments PLC? Отдельные российские бизнесмены, по всей видимости, поднаторели в применении эффективного метода под названием «переключение внимания». В частности, СМИ удалось установить, что бывший владелец РБК, а ныне управляющий партнер фонда TMT Investments PLC Герман Каплун использует...

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

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

Секционирование в PostgreSQL 10 и не только У многих достижений версии PostgreSQL 10 прописка в разделе Секционирование (Partitioning). И это справедливо: очевидно, что при переходе от 9.6 к 10 произошел мощный технологический скачок. В предыдущих версиях секции строили и управляли ими, теми средствами, что уже имели...

Изобретен метод кражи данных через кабель питания компьютера Ученые из Университета имени Бен-Гуриона в Негеве, Израиль разработали способ хищения пользовательских данных через кабель питания компьютера. В опубликованной статье описывается схема установки вредоносного программного обеспечения PowerHammer, которое регулирует нагр...

Let's Encrypt отложил выпуск wildcard-сертификатов из-за проблем безопасности Статистика Let's Encrypt 4 января 2018 года центр сертификации Let's Encrypt начал тестирование конечной точки программных интерфейсов для автоматической выдачи wildcard-сертификатов. Эти сертификаты выдаются только в новой версии автоматизированной среды управления сертиф...

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