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

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

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

Отменяемые Promises в EcmaScript6 Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js. В этой статье расскажем, как реализ...

[Из песочницы] Управляем браузером с помощью PHP и Selenium Интро Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium. Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер. С Википедии«Selenium — это инструмент для автоматиза...

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

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

[Перевод] Почему Python так хорош в научных вычислениях Несколько дней назад (Оригинал заметки был опубликован 12 сентября 2017. — Здесь и далее прим. переводчика), я заметил этот твит в своей ленте: I 'still' program in C. Why? Hint: it's not about performance. I wrote an essay to elaborate... appearing at Onward! https://t.co/p...

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

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

[recovery mode] Как написать одностраничное приложение (SPA) с использованием Vue.js Одностраничные приложения (SPA) имеют мнжество преимуществ, таких как скорость, по-настоящему хороший UX, и полный контроль HTML-разметки. Становится всё больше и больше сайтов SPA; всё больше инструментов, которые упрощают процесс разработки SPA. Вы, вероятно уже читали о...

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

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

История ES6-модулей Владислав Власов, инженер-программист в Developer Soft и преподаватель курса Нетологии, специально для блога написал цикл статей о EcmaScript6. В первой части на примерах рассмотрели динамический анализ кода в EcmaScript с помощью Iroh.js, во второй сосредоточились на реализ...

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

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

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

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

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

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

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

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

[recovery mode] Необходима помощь сообщества. «Мир, дружба, жвачка» Так получилось, что некогда возникала необходимость иметь данные по всем телефонным звонкам в одной организации, где для связи использовалась Avaya CM 5.0 (а в последствии 6.0), сейчас уже и эти версии динозавры из прошлого, но это все не важно. Важно то, что еще в 2010 г. ...

Поиск по сайту с Reindexer — это просто. Или как сделать «instant search» по всему Хабрахабр-у Всем привет, В предыдущей статье я писал о том, что мы сделали новую in-memory БД — быструю и с богатыми функциональными возможностями — Reindexer. В этой статье хочу рассказать как при помощи Reindexer можно реализовать полнотекстовый поиск по сайту, написав минимум applica...

[Из песочницы] Геолокация внутри помещений на базе iBeacon. Решение Aruba Meridian Геолокация внутри помещений на основе BLE маячков (BLE beacons) в момент своего появления на рынке привлекла много внимания, в том числе и здесь, на Хабре. Было написано достаточно много хороших статей (на материал которых я буду периодически ссылаться), однако по мере накоп...

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

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

[Из песочницы] Ещё один пример автоматизации или PowerShell + Google Apps Script Лень — двигатель прогресса… Вот и я, найдя немного свободного времени, решил автоматизировать достаточно рутинную для каждого админа задачу — создание и отключение пользователей. Читать дальше →

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

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

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

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

Три способа обновить запрос в Jira из ScriptRunner, используя Jira Java API В этой статье будут рассмотрены три способа обновления запроса в Jira, используя Jira Java API. Я буду использовать следующие методы Jira Java API: Issue.setCustomFieldValue(CustomField customField, Object value) CustomField.updateValue(FieldLayoutItem fieldLayoutItem, Is...

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

[Перевод] Быстрый запуск Github репозитория c Angular CLI в вашем браузере На Github находится множество демок, примеров, прототипов и реальных приложений, написанных на Angular. Тем не менее, клонирование и инициализация проекта может занять много времени, что затрудняет его совместное использование и просмотр. Именно поэтому была создана сред...

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

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

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

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

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” п...

Python, Delphi и C++ глазами учёного Статья про использование Python в научных вычислениях подтолкнула меня написать эту статью. Это история, случившаяся со мной и с коллегами 6 лет назад. На тот момент я уже достаточно подразобрался с Delphi и Python, но только теперь я ощущаю что достаточно поработал с C/C++,...

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

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

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

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

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

[Перевод] Как создать нейросеть всего из 30 строк JavaScript-кода Перевод How to create a Neural Network in JavaScript in only 30 lines of code. В этой статье мы рассмотрим, как можно создать и обучить нейросеть с помощью библиотеки Synaptic.js, позволяющей проводить глубокое обучение в связке Node.js с браузером. Давайте создадим прост...

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

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

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

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

[Из песочницы] Уязвимость​ ​ технологии​ ​ системы​ ​ идентификации пользователей​ ​ в ​ ​ публичных​ ​ wi-fi​ ​ сетях Развитие информационных технологий непременно сопровождается противоправным использованием этих технологий. В статье рассматривается исследование безопасности беспроводных сетей на примере сети Московского метрополитена. Результатом исследования является получение доступа к ...

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

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

[Из песочницы] Arduino для начинающих Arduino для начинающих. Часть 1 Предисловие Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного. Введение Было бы не плохо начать со з...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Swift Package Manager Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager. К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. Swift...

Как ARKit изменит кино. На примере из фильма “Звонок” Внедрение технологии ARKit (платформа дополненной реальности от Apple) идет не так быстро, как того хотелось бы купертиновцам. Есть ряд демок, приложений и игр, но особой популярности они не снискали. Тем не менее, за AR, как технологией, скорее всего, большое будущее. В дан...

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

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

Google в России заблокирован Роскомнадзором? К сожалению, оперативно следить за актуальной информацией и дезинформацией получается все труднее. Интернет уже давно не устроен по принципу один ресурс — один IP, один сервис — одна проверка. На сегодняшний день поступает большой поток жалоб, что не работают Google заклад...

Автоэнкодер в задачах кластеризации политических событий Я не люблю читать статьи, смотрю demo и кодДемо TensorBoard Projector Работает в Chrome. Открываем и нажимаем на Bookmarks в нижнем правом углу. В верхнем правом углу можем фильтровать классы. В конце статьи есть GIF картинки с примерами использования. Проект на GitHub ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образо...

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

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

Google leanback — забота большого брата Добрый день, читатели Хабра. Хотел бы поделиться своим опытом разработки приложения для Android TV на примере DetailsFragment. Есть официальные примеры тут и официальная документация тут. Что сподвигло меня выразить свое мнение? Это то, что официальные примеры не отвечают...

[Из песочницы] Как я парсил БД C-Tree, разработанную 34 года назад Прилетела мне недавно задача дополнить функционал одной довольно старой програмки (исходного кода программы нет). По сути нужно было просто сканить периодически БД, анализировать информацию и на основе этого совершать рассылки. Вся сложность оказалась в том, что приложение ...

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

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

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

Ардуированная кофемашина Привет, обитатели ХабраХабр! Возможно, по сути статьи я ошибся ресурсом, за мое 9 летнее отсутствие появился некий geektimes, возможно, я должен написать это там, но напишу сюда — на хабрахабр. Если не прав — не бейте ногами. Я люблю делать простые как топор вещи, но одно...

Разработка изоморфного RealWorld приложения с SSR и Progressive Enhancement. Часть 2 — Hello World В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hel...

Найден обход для хищения данных с смарт-кредитки Fuze Специалист по безопасности Майк Райан рассказал Forbes о найденном им обходе защиты банковской смарт-мультикарты Fuze, позволяющей пользователям хранить на одном "пластике" данные 30 дебетовых и кредитных карт. Все, что понадобится злоумышленнику - это физический доступ к ка...

[Из песочницы] Большой комок грязи Привет, Хабр! Представляю вашему вниманию перевод статьи "Big Ball of Mud" авторов Brian Foote и Joseph Yoder. От переводчика: Статья Big Ball of Mud написана Брайаном Футе и Джозефом Йодером летом 1999 года. Она рассказывает о наиболее распространённых антипаттер...

[Перевод] Робот JD Humanoid и службы Microsoft Cognitive Services Сегодня мы расскажем вам об одном интересном проекте. В нем использовались службы Microsoft Cognitive Services, которые позволяют с легкостью применять технологию искусственного интеллекта путем вызова REST API (и не нужно никакое обучение). И все это на примере милого робот...

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

Редактор TECO: EMACS, я твой отец Впервые про TECO я прочитал в пародийной статье Real Programmers Don't Use Pascal, написанной незадолго до моего рождения. Там было написано, что настоящие программисты не используют новомодные редакторы EMACS и VI: Нет, Настоящий Программист хочет редактор вида «Просил? Так...

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

[Перевод] Полезные советы IT-администратору: развертывание различных ОС с помощью Windows Deployment Services Мой коллега Гэри Уильямс – системный администратор с большим опытом работы – поделился советами о том, как можно использовать Windows Deployment Services для развертывания не только ОС Windows. И сегодня я предлагаю его рекомендации вашему вниманию. Windows Deployment Servi...

Строгая типизация для приложений Vue.js на TypeScript Вопрос: Каковы самые слабые места Vue? Oтвет: На данный момент, наверное, недружественность к типизации. Наш API разрабатывался без планирования поддержки типизированных языков (типа TypeScript), но мы сделали большие улучшения в 2.5. Вопрос: Тони Хор (Tony Hoare) назвал n...

[recovery mode] Интеграция 3CX с собственной CRM-системой: генератор шаблонов CRM Начиная с v15.5 SP2 в АТС 3CX появился механизм серверной CRM интеграции. Он позволяет передать входящий Caller ID в CRM-систему и найти в ней соответствующую запись о клиенте. При этом 3CX получает имя и фамилию клиента из CRM, добавляет их в корпоративную адресную книгу АТ...

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

Книга «UNIX. Профессиональное программирование. 3-е изд.» Всем привет! Мы переиздали классический труд Уильяма Стивенсона и Стивена Раго с исправленными опечатками перевода в твердой обложке. Эта книга заслуженно пользуется популярностью у серьезных программистов во всем мире, поскольку содержит самую важную и практическую информ...

[Перевод] Blazor: Техническое введение Сегодня команда ASP.NET анонсировала, что проект Blazor был перемещён в репозиторий организации ASP.NET. Мы начинаем стадию эксперимента, чтобы понять сможем ли мы развить Blazor в поддерживаемый продукт. Это большой шаг вперёд! Что такое Blazor? Это фреймворк для браузерны...

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

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

Модульное тестирование интерфейсов в Headless Chrome. Лекция Яндекса Чтобы непрерывно улучшать большие клиентские интерфейсы, нужна мощная система автотестов. Разработчик Яндекса Дмитрий Андриянов dima117 кое-что про это знает — пару месяцев назад он поделился своим опытом на Я.Субботнике в Нижнем Новгороде. — Сегодня я расскажу, как мы в ...

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

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

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

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

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

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

[Перевод] Как легко начать писать на PowerShell или несложная автоматизация для управления Active Directory Изучить основы PowerShell Данная статья представляет собой текстовую версию урока из нашего бесплатного видеокурса PowerShell и Основы Active Directory (для получения полного доступа используйте секретное слово «blog»). Данный видеокурс оказался необычайно популярным по в...

[Перевод] Кодинг без клавиатуры: создание игры hands-free Dig Dog — это забавная маленькая видеоигра. Можно назвать её "Spelunky для детей", и не стоит считать это сомнительным комплиментом. Dig Dog, недавно выпущенная для iOS, Xbox, Windows и Mac, отказалась от некоторых сложных элементов жанра, имеет плавное управление и обладает...

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

[Из песочницы] Создание несимметричной сетки с помощью Grid Layout На данный момент, по данным Can I Use, 84% браузеров поддерживает Grid Layout. С каждым месяцем это число растет. А ведь буквально недавно этот модуль находился за флагом. Поэтому если Вы еще не знакомы с теми возможностями, которые он предоставляет, то самое время это исп...

[Из песочницы] Научиться программировать становится сложнее Привет, Хабр! Представляю вашему вниманию перевод статьи Аллена Б. Дауни, автора таких книг как Think Python, Think Java, Think Bayes и других, опубликованной в личном блоге автора. Я написал несколько книг, в которых c использованием языка программирования Python объясняют...

[Из песочницы] Учимся быть фуллстек разработчиками. Пишем приложение на React/Redux/Webpack/ASP.NET Core 2.0/EF Core Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть...

[Перевод] Зомби, которые съедают вашу память Что бы вы там себе не думали, а зомби существуют. И они действительно едят мозги. Не человеческие, правда, а компьютерные. Я говорю сейчас о зомби-процессах и потребляемых ими ресурсах. Это будет душераздирающая история о потерянных и снова найденных 32 ГБ оперативной памяти...

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

Олимпиада «ИТМО ВКонтакте»: выходные в Санкт-Петербурге и +10 баллов к ЕГЭ Учебный год перевалил за экватор, а это значит, что для выпускников школ все более остро встает вопрос об экзаменах и поступлении в вузы. Конечно, самый надежный вариант стать студентом любого российского университета — получить максимум баллов ЕГЭ. Однако баллы — не всегда ...

[Из песочницы] Создание простого RESTful API с Java Spark Что вы изучите Вы изучите как можно определять обобщенные контроллеры с помощью функциональных интерфейсов Java 8. Пример кода на GitHub. Читать дальше →

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

«Holey beep»: найдена критическая уязвимость в «бипере» Linux В модуле beep операционной системы Linux обнаружена уязвимость, позволяющая запускать побочные эффекты файлов и просматривать их типы, не имея на то соответствующих прав. Расскажем, в чем суть проблемы и как варианты её решения предложило ИТ-сообщество. Читать дальше →

[Перевод] Заметки о развертывании Ruby on Rails Deployment в Google Cloud Kubernetes Engine Я использую Google Cloud с Kubernetes Engine в течение 2 месяцев. На самом деле мне не понадобилось и месяца, чтобы уложить все в голове, но потребовалось еще столько же, чтобы разобраться с некоторыми неприятностями. TL;DR: Google делает довольно хорошую работу, поэтому AWS...

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

Check Point R80.20. Что будет нового? Еще далеко не все успели перейти на R80.10, как Check Point объявил о скором релизе новой версии ОС — Gaia R80.20. Безусловно это хорошая новость. Предполагаемая дата официального релиза — конец второго квартала 2018 года (т.е. летом). Более того, запущена программа EA (ea...

Объект в футляре или 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. В этой статье мы рас...

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

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

[Перевод] Ускоренный курс по ассемблерам Это перевод одной из статей Lin Clark. Если вы не читали остальные, мы рекомендуем начать с начала. Чтобы понять, как работает WebAssembly, неплохо понимать, что такое код на ассемблере и как компиляторы его генерируют. В статье о JIT я сравнивала взаимодействие с компьюте...

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

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

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

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

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

[Из песочницы] Room: Один ко многим Всем привет. На дворе 2018 и уже почти год как Google активно работает над Architecture Components. Неплохая документация и примеры позволяют начать использование новых компонентов без каких-либо проблем и сложностей. Но всегда есть ложка дегтя в бочке меда кода. Заметки ниж...

[Из песочницы] Алгоритм Пинг-Понг или критика Обратной Польской Нотации Данная статья написана в силу возмущения тем, что в наших ВУЗах студентов простому разбору математических выражений обучают на основе как раз Обратной Польской Нотации (ОПН), что является откровенным извращением нормальной человеческой логики. Источником описания ОПН будет...

SASS: Оптимизируем media screen Приветствую! Примерно месяц назад я написал статью, в которой выдвинул идею об оптимизации @media screen. Идея заключается в том, чтобы иметь возможность писать значения для всех экранов в одну строку. Более подробно можете почитать по ссылке. Большинство комментариев — это...

[Из песочницы] Описание прототипа моего игрового мультиплейерного сервера Привет, Хабр. Рад представить свою первую статью: описание прототипа игрового мультиплейерного сервера. → Исходный код (под лицензией Apache 2.0) Содержание: Архитектура обработки входящих запросов Краткое описание прочих моментов Модули и взаимодействия основных классо...

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

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

Информационная архитектура и технология DITA. По мотивам лекции в Яндексе Darwin Information Typing Architecture (DITA) — XML-технология для автоматизации процессов, связанных с технической документацией. За время существования DITA накопилось большое количество разнообразных возможностей, подходов к организации контента, а также конкретных механи...

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

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

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

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

Google Maps API позволит разработчикам игр получить доступ к картам Google Компания Google имеет множество различных сервисов. Один из них — карты. Трудно не согласиться с тем, что карты Google лучше любых конкурирующих сервисов. Однако они могут стать еще лучше с помощью нового Google Maps API для игр. Теперь на основе карт Google разработ...

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

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

Как настроить Apple Pay на всех устройствах Россия находится на первом месте в мире по числу транзакций с помощью платежной системы Apple Pay. Если вы еще не настроили эту опцию, самое время это сделать. Тем более оплачивать покупки можно не только с iPhone, но и с Apple Watch или MacBook Pro. Рассмотрим процесс нас...

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

Как написать генератор случайных чисел и можно ли предсказать Math.random? Вы когда-нибудь задумывались, как работает Math.random()? Что такое случайное число и как оно получается? А представьте вопрос на собеседовании — напишите свой генератор случайных чисел в пару строк кода. И так, что же это такое, случайность и возможно ли ее предсказать? ...

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

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

Как оптимизировать DevOps с помощью машинного обучения Популярная сегодня методология разработки программного обеспечения DevOps (development и operations) нацелена на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. Характерно, что в ходе DevOps генер...

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

Скоро игры в Google Play можно будет запускать без установки Об этой возможности Google рассказывала еще в прошлом году, но она вводилась довольно медленно и работала только с приложениями. Сейчас же ограниченное число игр в Google Play можно запустить, не устанавливая их. Instant Apps на данный момент позволяет оценить Clash Royale, ...

[Из песочницы] GDPR. Практические советы Все слышали о General Data Protection Regulation (GDPR) (Regulation (EU) 2016/679), который вступает в силу 25 мая 2018 года. Штрафы большие и придётся соответствовать. Как и любой официальный документ, он написан сухо и может трактоваться по-разному. За последние полгода пр...

Splunk – Установка агентов для сбора логов Windows и Linux Нам часто задают вопросы о том, как загрузить различные данные в Splunk. Одними из самых распространенных источников, представляющих интерес, оказались логи Windows и Linux, которые позволяют отслеживать неполадки операционных систем и управлять ими. Загружая данные в Splunk...

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

Доступные новые предварительные сборки Windows 10 SDK и Windows Server Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK Build 17095, которую можно использовать с инсайдеркой сборкой Windows 10 под 17093 или более новой. Данная версия SDK включает в себя исправления ошибок и некоторые изменения в API. Важно отмет...

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

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

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

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

Let’s Encrypt начал выдавать wildcard сертификаты Let’s Encrypt перешагнул важную веху — с 14 марта каждый может получить бесплатный SSL/TLS сертификат вида *.example.com. Пример установленного сертификата: https://subdomain.baur.im https://any-text.baur.im Читать дальше →

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

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

LL(*) парсер с использованием Rust макросов Wow. Such Rust. Much macro. © картинка - Твиттер аккаунт Servo Язык Rust стремительно набирает обороты. Кто-то пророчит ему стать заменой C/C++, кому-то он просто нравится. Я скорее принадлежу ко второй группе. Разработчики стараются сделать его удобным и безопасным. В нем ...

Что такое EVPN/VXLAN В этой статье я расскажу — что такое EVPN/VXLAN и почему особенности этой технологии кажутся мне привлекательными для применения в ЦОД. Я не буду глубоко погружать вас в технические детали, а остановлюсь на них лишь в той мере, в которой это необходимо для знакомства с техно...

List.of() и все, все, все… Здравствуйте, хаброжители. Наконец дошли руки написать что-то на хабр. Первая статья была немного скучной и узкоспециализированной. Поэтому я пишу в песочницу во второй раз. (UPD но почему то попал не в песочницу оО) На этот раз речь пойдет о нововведениях Java. А именно п...

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

[Перевод] Кончина программной инженерии и последний методист Disclaimer: Это перевод статьи профессора Бертрана Мейера из блога Communications of the ACM. Статья относительно недавняя (по сравнению с предыдущим переводом). А профессор Бертран Мейер, представлять которого не нужно, является почетным доктором и заведующим кафедрой ИТМО,...

Экспресс-оценка сложности алгоритма (+разбор задачи c Joker 2017 и DotNext 2017 Moscow) Для любого практического применения log(n) можно считать константой. Просто в некоторых компаниях эта константа больше, чем у вас. © народная мудростьПоловину жизни я учу программировать. В том числе учу разработчиков делать быструю оценку вычислительной сложности алгоритма....

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

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

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

Демонстрация новой док-станции Samsung DeX Pad для Galaxy S9 В Сети появился видеоролик, в котором нам демонстрируют в работе новую док-станцию Samsung DeX Pad для смартфона Galaxy S9. Напомним, главным отличием новой док-станция является то, что в ней смартфон лежит горизонтально, а его экран становится тачпадом. То есть вам...

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

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

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

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

3 распространенные ошибки в дизайне, которые легко исправить О рубрике #logomachine_help Всем привет! В сообществе Логомашины ВКонтакте есть рубрика, в рамках которой мы даем подписчикам советы по дизайну. Мы показываем, что можно изменить в графике, чтобы дизайн выглядел аккуратнее и понятнее. Сегодня на примере участников нашей ру...

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

Android-приложение поверх других приложений В 2013-году Facebook выпустил функцию Chat Heads для своего мессенджера, который позволяет вести переписку, не открывая сам мессенджер путем нажатия на маленькое круглое окошко, которое всегда висит на дисплее даже поверх других приложений: Facebook одним из первых продемо...

[Из песочницы] Как написать обмен с 50 поставщиками и не сойти с ума Поставщики бывают разные. Одни готовы подстроиться под наш формат — другие нет; одни обмениваются SOAP'ом — другие REST'ом; одни работают с кодами товаров — другие с идентификаторами предложений; одни готовы отдать статус по заказу — другие нет; у одних есть справочники, эле...

[Из песочницы] FastReport.Mono. Часть 1: Запуск демонстрационного Web-отчета В связи с тем, что официальная документация FastReport.Mono устарела, и даже не понятно к какой версии дистрибутива Debian она относится (могу предположить, что к 6 или младше), решил написать более-менее вменяемую инструкцию по установке демонстрационного Web-интерфейса для...

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

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

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

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

[Из песочницы] Парсеры, обработка текста. Просто о сложном. CFG, BNF, LL(k), LR(k), PEG и другие страшные слова Наверное, каждому программисту приходилось сталкиваться с задачами вида «прочитать что-то в формате А и произвести с ним некие манипуляции». Будь то json, логи nginx, cfg, sql, yaml, csv или что-то еще. Хорошо, когда можно воспользоваться библиотекой, однако, по разным причи...

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

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

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

Открытый вебинар «Примеры паттернов» Доброго дня! Намедни наш замечательный Виталий Чибриков в рамках его курса «Разработчик Java» провёл открытый урок, где разобрал в чём же польза паттернов в проектировании и вне, на примере нескольких из них в формате: постановка проблемы, решение и пример для каждого. Е...

«Чип-головоломка»: по заказу DARPA будет разработан невзламываемый процессор В начале этого года информация о процессорных уязвимостях Meltdown и Spectre стала первой громкой темой кибербезопасности 2018 года. Незащищенность кэша программных команд чипов Intel, AMD и Arm, выпущенных за последние 20 лет, привела к целой плеяде судебных тяжб и до сих п...

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

Устройство спецэффектов для игр под NES. Часть 1 Существует несколько серий статей про программирование под NES, одна из них уже даже переведена на русский язык на хабре. Однако ни одна из них не заходит дальше обзора базовых возможностей консоли – рассматривается общая архитектура консоли, основы ассемблера, вкратце расск...

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

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

[Перевод] Система типов в математике Время от времени мне встречаются вопросы по математике, которые в каком-то смысле можно назвать «грамматически неверными». Пример. «Интервал является замкнутым или открытым?» Пример. «Является ли группой?» Пример. «Каков ряд Фурье для ?» А вот ещё более глупые примеры. ...

[Перевод] Ричард Хэмминг: Глава 8. Искуственный интеллект-III «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

Как выбрать PoE-коммутатор для проектов разного масштаба. Примеры из практики Видеонаблюдение, Wi-Fi сети и даже кассовое оборудование: в нашем портфолио есть проекты, под которые закупалась не одна сотня наших PoE-коммутаторов. Мы хотим рассказать вам о применении PoE оборудования, некоторых нюансах при его подборе — а самое вкусненькое мы припасли, ...

Эксплойт для Drupalgeddon 2 загружен на IoT-ботнет Операторы ботнета, составленного из серверов и смарт-устройств, добавили в его арсенал эксплойт для недавно опубликованной уязвимости удаленного выполнения кода в CMS-системе Drupal. Заплатки для этой весьма опасной бреши, прозванной Drupalgeddon 2, были выпущены в конце мар...

Телеграм бот для удаления спама Решил написать эту публикацию т.к. устал объяснять одно и то же людям, которые хотят использовать моего телеграм бота @daysandbox_bot. Итак, несколько месяцев назад я разработал бота для удаления спама по очень простому признаку: если человек зашёл в чат и провёл в нём менее...

Введение в Postman “Разработка API сложна, Postman делает её лёгкой” © Postdot Technologies, IncКогда видишь описание инструментов Postman — захватывает дух, просыпается чувство всевластия над своим будущим детищем. Кажется, что и взрощенные в прошлом "монстры" наконец-то падут перед тобой! В...

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

[Из песочницы] Руководство инструктора к книге «Программирование: Принципы и практика с использованием C++» Привет, Хабр! Представляю вашему вниманию перевод статьи "Instructor’s Guide for Programming" автора Бьярне Страуструпа (дата последнего посещения: 20.12.2017). От переводчика Бьярн Страуструп известен как разработчик языка программирования C++. Книги его авторства...

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

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

Разработка Rich Text Editor: проблемы и решения Текстовые редакторы, как тип программного обеспечения, появились чуть позже чем динозавры, и вероятнее всего это был вообще первый софт, с которым вы столкнулись в своей жизни, возможно кто-то даже застал MS-DOS Editor. Однако с переходом большой части ПО в браузеры актуал...

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

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

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

Улучшить взаимодействие с интерфейсом с помощью анимаций Практические советы и примеры доработки дизайна.

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

Интеграция Google Pay Привет, Хабр! Меня зовут Игорь, я Android-разработчик в команде Trinity Digital. Сегодня я хочу рассказать о классном инструменте — Google Pay API. Итак, если в вашем приложении можно совершать покупки, и при этом вы используете не In-app Billing (за процессинг отвечает...

О чем не пишут в документации, или тонкости рефакторинга на .Net Core Всем привет! Этим материалом мы открываем цикл из нескольких статей, посвященных длинной истории о том, как мы пришли с одной стороны к CD, а с другой — к high availability, основанной на избыточности. Начнем по порядку. У нас есть API для мобильного приложения, которое нахо...

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

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

Простой статический сайт на Webpack 4 После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как ин...

Релиз PVS-Studio для macOS: 64 weaknesses в XNU Kernel Новая версия PVS-Studio 6.23 работает под управлением macOS и позволяет проверять проекты, написанные на языке C и C++. К этому событию наша команда решила приурочить проверку XNU Kernel. PVS-Studio для macOS С выходом версии анализатора для macOS, PVS-Studio можно смело на...

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

TOП-10: разбор лучших докладов HolyJS 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов (бесплатно доступных на YouTube), делаю короткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке...

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

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

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

Пятничный JS: минус без минуса И вновь я приветствую всех в моей традиционной рубрике. Сегодня вы узнаете, что же такого особенного произошло 31 декабря 1969 года, ровно за миллисекунду до полуночи. Точнее, вы узнаете не только лишь это, но только к этому примеру я смог подобрать картинку, а развлекательн...

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

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

[Перевод] Регулярные выражения: никакой магии Код этого поста, как и сам пост, выложен на github. До недавнего времени регулярные выражения казались мне какой-то магией. Я никак не мог понять, как можно определить, соответствует ли строка заданному регулярному выражению. А теперь я это понял! Ниже представлена реализа...

[Перевод] Упрощение кода с помощью if constexpr в C++17 Несколько новых возможностей C++17 позволяют написать более компактный и ясный код. Это особенно важно при шаблонном мета-программировании, результат которого часто выглядит жутко… Например если вы хотите выразить if, который вычисляется во время компиляции, вы будете вынужд...

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

[Перевод] Как спрятать DNS-запросы от любопытных глаз провайдера Настройка 1.1.1.1 от Cloudflare и других DNS-сервисов по-прежнему требует навыков работы в командной строке Шифрование трафика между вашим устройством и DNS-сервисом помешает посторонним лицам отслеживать трафик или подменить адрес Смерть сетевого нейтралитета и ослаблени...

[Перевод] Реализация быстрых 2D-теней в Unity с помощью 1D shadow mapping Введение Недавно я приступил к реализации системы 2D-теней в Unity, которую можно было бы использовать в настоящей игре. Как известно профессиональным разработчикам, есть большая разница между тем, чего можно достичь в техническом демо и тем, что применимо для интеграции в ...

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

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

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

Microsoft устранила два опасных бага в Outlook Февральский набор обновлений от Microsoft закрывает 50 уязвимостей, в том числе бреши в Windows, Office, Internet Explorer, Edge и JavaScript-движке ChakraCore. Четырнадцать уязвимостей оценены как критические, 34 — как опасные. Две серьезные бреши были обнаружены в Outlook....

[Перевод] Разработка на Blockchain — что изменится для разработчиков? Эта статья является переводом поста Винсента Чена (Vincent Chen) и Рамона Рекуэро (Ramon Recuero), цели которого очень схожи с теми, что преследуем и мы, и написанного для таких разработчиков, которых мы хотели бы видеть на своих мероприятиях. Введение Если вы читаете этот ...

[Из песочницы] Обобщаем анимацию таблиц в iOS приложениях Пользователи хотят видеть изменения Анимированное обновление списков всегда было непростой задачей в iOS. Что неприятно, это всегда было рутинной задачей. Приложения крупных компаний, таких как Facebook, Twitter, Instagram, VK, используют таблицы. Более того, почти каждое...

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

История взлома одного WordPress плагина — или о том, как вы допускаете уязвимости в своих проектах Давным давно, когда я был молод и писал сайты на PHP, я написал SEO плагин для маскировки внешних ссылок для Wordpress. Поскольку с воображением у меня плохо, то назвал его WP-NoExternalLinks. За всю историю у него было 360.000 установок и, кажется, до 50.000 активных устано...

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

[Перевод] HoleyBeep: объяснение и эксплоит В былые времена люди использовали \a для генерирования неприятных «гудков» из спикеров системных блоков. Это было особенно неудобно, если хотелось генерировать более сложные звуковые последовательности вроде 8-битной музыки. Поэтому Джонатан Найтингейл написал программу be...

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

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

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

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

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

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

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

Тренинг FastTrack. «Сетевые основы». «Понимание модели OSI». Часть вторая. Эдди Мартин. Декабрь, 2012 Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий. ...

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

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

PHP 5.x – старикам здесь (не) место Индустрия хостинга неразрывно связана с PHP, на котором полностью или частично написаны более 80% сайтов в Internet. Это сильно влияет на разработку любого софта, предназначенного для работы с хостингом — в том числе такого, как контрольная панель Plesk. Мы делаем продукт дл...

Как Digital Health-проектам работать с ЕГИСЗ? К сожалению, текст этого документа написан сложно и, чтобы его прочитать, нужно "перевести" его на человеческий язык. Александр Константинов, генеральный директор компании ONDOC сделал "расшифровку" этого документа.ПравилаТеперь Digital Health проекты мог...

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

Прошли обыски в офисе фирмы, использовавшей данные 50 млн пользователей Facebook без их ведома В минувшую пятницу сотрудники Управления комиссара по информации Великобритании (Information Commissioner’s Office, ICO) провели обыски в центральном офисе фирмы Cambridge Analytica, предоставляющей политические консалтинговые услуги. Её обвиняют в манипу...

Ни Galaxy S9, ни Galaxy Note9 не получат подэкранные дактилоскопические датчики Подэкранные дактилоскопические датчики приписывают до анонса новым флагманским смартфонам Samsung в течение последних двух лет. Источники подтверждают, что сразу несколько поставщиков (LSI, Qualcomm, EJS Tech, Beyond Eyes и Synaptics) в течение пары лет действительно...

Security Week 11: сомнительные новости банковской направленности, убийца майнеров, имитация банка Новость А вот любопытная свеженькая находка наших коллег. Некие предприимчивые товарищи решили снабдить публику необычными новостями. Впрочем, новости были так себе: не очень свежий эксплойт IE да троян Buhtrap, известный с 2014 года. И все это добро вывесили на ряд российск...

[Из песочницы] GObject: основы GObject — часть библиотеки GLib, реализующая объекто-ориентированнные расширения для чистого Си. Подобная концепция, помимо самой GLib, используется в таких проектах, как GStreamer, GSettings, ATK, Pango и весь проект GNOME в целом, а также в большом количестве прикладных пр...

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

Учебник Thymeleaf: Глава 2. Хорошая виртуальная бакалейная лавка Thymes Оглавление 2 Хорошая виртуальная бакалейная лавка Thymes Исходный код примеров, показанных в этом и будущих главах руководства, можно найти в репозитории Good Thymes Virtual Grocery GitHub https://github.com/thymeleaf/thymeleafexamples-gtvg. 2.1 Вебсайт для бакалейной лавк...

10 мифов о LoRaWAN LoRaWAN – одна из самых востребованных LPWAN сетей в мире. Эта технология появилась сравнительно недавно, поэтому вокруг нее еще полно заблуждений. В этой статье даются ответы на самые важные вопросы и развеиваются основные мифы, сопровождающую LoRaWAN. Заблуждение #...

Обнаружен новый RaaS-вымогатель Эксперты Bleeping Computer проанализировали образец вымогательского ПО Data Keeper, найденный на компьютере одной из жертв на прошлой неделе. По словам репортера, данная программа-шифровальщик начала продвигаться в дарквебе как RaaS-услуга (Ransomware-as-a-Service) совсем не...

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

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

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

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

UX-кинотеатр – Эмоции. Чувства. Интервью Перед нами стоит задача улучшать продукты банка с учетом пользовательского опыта. Можно решить эту задачу, протестировав всё приложение, и написать отчёт на несколько сотен страниц с рекомендациями по исправлению. По времени эта работа займёт где-то 3-4 месяца (кошмар, Agi...

[Перевод] Почему SQLite не использует Git Содержание 1. Введение 1.1. Правки 2. Несколько причин, почему SQLite не использует Git 2.1. Git затрудняет поиск потомков после коммита 2.2. Ментальная модель Git излишне сложна 2.3. Git не отслеживает исторические названия ветвей 2.4. Git требует дополнительной админист...

[Перевод] Ручной шифр LS47 Данный шифр является небольшим усовершенствованием шифра ElsieFour, который разработал Алан Камински (Alan Kaminsky) [1]. В этом варианте используются 7x7 символов вместо оригинальных 6x6, которых едва-едва хватает даже на латинский алфавит. Дополнительно описан простой алго...

TP-Link T2600G-28MPS: работа с PoE, LLDP и Voice VLAN Около полугода назад мы опубликовали пример построения Wi-Fi сети на базе нашего беспроводного оборудования: точек доступа и контроллера. Сегодня расскажем в деталях о коммутаторе T2600G-28MPS уровня 2+, который может использоваться для построения проводных сегментов сети, о...

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

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

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

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

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

Microsoft закрыла уязвимость Outlook апрельским патчем Microsoft закрыла брешь в безопасности Outlook спустя год после ее обнаружения. Обновление было выпущено в апрельский «вторник патчей» вместе с исправлениями для 66 других уязвимостей. Баг в защите Outlook позволял киберпреступникам узнавать IP-адрес жертвы, имя до...

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

[Из песочницы] UX-дизайн в России и СНГ «под микроскопом» Пожалуй, начнем с небольшого ликбеза касательно главного объекта данной темы. А именно – с понятия UX-дизайна! В переводе с английского User Experience означает «пользовательский опыт». То, какие впечатления испытывают пользователи при взаимодействии с разработанным дизайн...

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

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

Раздаем ключи на бета-тест Synthetik Студия low Fire Games выпускает свою первую игру под названием Synthetik. Релиз намечен на 15 марта в Steam и itch.io, но у нас уже есть несколько (ровно сто) ключей для бета-теста, которые мы вам готовы отдать прямо сейчас. Если вы фанат добротных инди-игр, любите «рогалики...

Расширяем функционал Ansible с помощью модулей Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов. В статье о раширении функциональности Ansible мы част...

Эксперты обнаружили уязвимость iOS при синхронизации с iTunes Синхронизация iPhone с iTunes по Wi-Fi может использоваться как уязвимость iOS для получения доступа к устройству сторонними лицами. К соответствующему выводу по результатам исследования пришли специалисты компании Symantec. По их словам, при синхронизации по Wi-Fi устрой...

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

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

TOП-10. Разбор лучших докладов в свободном доступе. Heisenbug 2017 Moscow Действуем по старой схеме: я для вас отсматриваю подряд 10 докладов, делаю краткое описание содержимого, чтобы неинтересное можно было выбросить. Кроме того, с сайтов собираю ссылки на слайды и описания. Полученное сортирую и выдаю в порядке увеличения рейтинга — то есть в с...

Ускорение сборки JavaScript-кода с использованием webpack 2–3 Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры. Иван Сосн...

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

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

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

Полиция в США пыталась разблокировать смартфон убитого его же отпечатком пальца Полиция штата Флорида намеревалась разблокировать смартфон умершего его же отпечатком пальца после неудачных попыток взломать устройство другими способами. Об этом написало издание Tampa Bay Times.  23 марта полицейские города Ларго застрелили 30-летнего Лайнуса Филлипа...

Conduit — легковесный service mesh для Kubernetes В конце прошлого года компания Buoyant, уже прославившаяся выпуском одного из популярнейших решений категории service mesh (т.е. «сетки», обеспечивающей взаимодействие между сервисами) — Linkerd, — анонсировала своё второе детище под названием Conduit. Можно было бы удивитьс...

[Перевод] Без new: Указатели будут удалены из C++ Две недели назад в Джэксонвилле встречался комитет стандарта ISO C++. Сегодня я хочу представить короткую сводку и написать о революционном решении, принятом на собрании в Джэксонвилле. Для получения дополнительной информации я рекомендую к прочтению статью C++ больше не буд...

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

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

Восстание одной маленькой своенравной нейросети, или как сделать codewar-игру за 3 дня На день рождения FirstVDS мы уже третий раз запускаем квест. Раньше он был только для админов, в этом году решили добавить задание для программистов. По сюжету игрок провалил обучение нейросети Нексы и накликал восстание машин. В итоговом задании админы, программисты и про...

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

Безопасность технологий: виртуальные машины против контейнеров Какая технология является более безопасной? Многие думают, что виртуальные машины во многом преобладают данными качествами. В теории да, но на практике…есть сомнения. Зачастую мы слышим такие громкие заявления вроде «HTTPS хорошо защищенный», или «HTTP не защищенный». Но чт...

Способ управления цветовыми схемами приложения под iOS Даже для самого что ни на есть начинающего разработчика (скорее, на которого и рассчитан данный очерк), надеюсь, не секрет, что в коде не должно присутствовать никаких т.н. «hardcoded»-значений и прочих всяких там «magic numbers». Почему – тоже, надеюсь, понятно, а если нет,...

В Серове продолжаются нападения на собак. Осторожно! Фото 18+ На улице Пристанционной в поселке Энергетиков продолжаются жестокие убийства собак. В пятницу, 9 февраля, был найден выводок щенков и рядом с ними лежала… голова их матери. Как рассказывает волонтер зоозащиты Татьяна Лапшина, об этом ЧП написала девушка, попросившая помощи. ...

[Перевод] Использование ReSwift: написание приложения Memory Game Примечание. В этой статье используются Xcode 8 и Swift 3. По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения. Для iOS разработчиков доступны более эффективные архитектурные п...

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

Те, кто за последний год заменил аккумулятор в iPhone по полной цене, возможно, получат компенсацию. Но это не точно Как известно, после начала скандала с намеренным замедлением смартфонов компания Apple начала искать пути выхода, включая возможности задобрить клиентов. Кроме прочего, с 79 до 29 долларов была снижена стоимость замены аккумулятора в iPhone. Однако это предложение зар...

PowerShell Empire: продвинутая пост-эксплуатация Windows систем   PowerShell Empire — это уникальный пост-эксплуатационный PowerShell агент, построенный на базе крипто-надежных соединений и гибкой архитектуры. Empire предоставляет возможность запускать PowerShell агенты без необходимости использования powershell.exe, с быстрым запу...

[Перевод] Машина времени на Java В мире существует множество клёвых маленьких библиотек, которые как бы и не знаменитые, но очень полезные. Идея в том, чтобы потихоньку знакомить Хабр с такими вещами под тэгом #javalifehacker. Сегодня речь пойдёт о time-test, в котором всего 16 коммитов, но их хватает. Авто...

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

Venus Optics скоро представит макрообъектив с креплением Nikon F Как мы уже сообщали, в мае ожидается анонс пяти объективов Laowa. По данным источника, одной из новинок станет объектив для макросъемки Laowa 100mm f/2.8 2:1 с креплением Nikon F. Полнокадровый объектив, предназначенный для зеркальных камер японского производителя, б...

[Перевод] Поговорим о юзернеймах Пару недель назад я выпустил django-registration 2.4.1. Сборки 2.4.x станут последними в версии django-registration 2.x, дальше будут выходить только исправления багов. Основная ветка сейчас готовится к версии 3.0, откуда планируется удалить кучу устаревшего хлама, накопивше...

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

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

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

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

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

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

[Перевод] Как передать полиморфный объект в алгоритм STL Как мы можем прочесть в первой главе книги Effective C++, язык С++ является по сути своей объединением 4 разных частей: Процедурная часть, доставшаяся в наследство от языка С Объектно-ориентировання часть STL, пытающийся следовать функциональной парадигме Шаблоны Эти чет...

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

#промо: Alpari Invest — приложение для инвестиций на iPhone Инвестиции в наше время — это возможность получить дополнительный заработок. Можно выбрать криптовалюты и столкнуться с проблемами ввода фиатов, конвертации и вывода средств. Можно использовать банковские вклады для приумножения своих средств, но почти весь доход съест инф...

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

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

Исходный код System Shock выложен в открытый доступ под GPL Исключительно хорошая новость: исходный код культовой игры System Shock (в версии для PowerMac) официально выложен под GNU General Public License v3.0. Игра была выпущена в 1994 году и написана на C. Как известно, автор оригинальной игры, студия Looking Glass Studios, пре...

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

Что такое PAT? Лабораторная работа в Packet Tracer Введение PAT (Port Address Translation) — технология трансляции адресов с использованием портов. Данная технология решает проблему доставки возвратных пакетов. Так как количество белых IP ограничено нам необходимо экономить эти адреса. Помня об этом, была создана технология ...

Управление ИТ-активами: как мифы влияют на проекты Все счастливые проекты похожи друг на друга, каждый несчастливый проект несчастлив по-своему. 6 лет занимаюсь внедрением и автоматизацией бизнес-процессов, из них 3 года – внедрением ITAM-решений. В проектах по автоматизации процессов управления ИТ-активами постоянно боремся...

Дыра в движке Drupal позволяет легко захватывать сайты Анонсируя выпуск патчей, разработчики Drupal предупредили в конце марта 2018 г., что эксплойты могут быть готовы в пределах нескольких часов после того, как информация об этом баге будет раскрыта публично.Баг, получивший индекс CVE-2018-7600, позволяет злоумышленнику запуска...

Проверяй входящие данные. Исходная причина уязвимости и атаки на Cisco IOS В пятницу 6 апреля 2018 началась мощная атака на оборудование Cisco. Много пишут о том, что главная причина, по которой эта атака успешна, это открытые во внешние сети сервисные порты Cisco Smart Install. Эти порты открыты по умолчанию. А люди в массе своей оставляют то...

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

Контроллер Control4 CA-1 предназначен для домашней автоматизации U.S. MSRP, the CA-1 enables new opportunities for Control4 dealers to offer smart home experiences to a broader market via home builders, MDU developers, and hotel operators. Компания Control4, специализирующаяся на решениях для умного дома, сообщила о выпуске устройс...

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

[Перевод] От JavaScript к Rust и обратно: рассказ о wasm-bindgen Мы уже видели насколько WebAssembly быстро компилируется, ускоряет js библиотеки и генерирует более компактные бинарники. У нас даже есть общее представление как наладить взаимодействие не только между сообществами Rust и JavaScript, но и с сообществами других языков. В про...

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

Как я blakecoin майнер делал Не знаю кому как, а меня прошедший 2017 год шокировал стремительным взлетом биткоина. Сейчас, конечно, ажиотаж уже ушел, а в 17-м году про криптовалюты говорили и писали все кому не лень. Я видел, что люди пытаются зарабатывать на криптовалютах. Кто как умеет. Кто-то на в...

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

[Из песочницы] Font (ещё более) Awesome — узорное изобретение Привет, Хабр! Представляю вашему вниманию перевод статьи "Font (More) Awesome — an iconic invention" автора Pubudu Dodangoda. Создаёте ли вы веб-сайт, мобильное или настольное приложение, есть несколько вещей, которых вам не удастся избежать. Правильное использован...

[Из песочницы] Можно ли использовать CQRS паттерн в GO? Паттерн (CQRS — Command and Query Responsibility Segregation) разделяющей в своей основе команды по чтению данных от команд по их модификации или добавлению по средствам различных интерфейсов. Это позволяет достичь максимальную производительность, масштабируемость и безопасн...

Изучаем параллельные вычисления с OpenMPI и суперкомпьютером на примере взлома соседского WiFi Во время написания диссертации одним из направлением исследований было распараллеливание поиска в пространстве состояний на вычислительных кластерах. У меня был доступ к вычислительному кластеру, но не было практики в программировании для кластеров (или HPC — High Performanc...

Автоматизация при разработке платформы «1С: Предприятие» В этой статье пойдет речь о том, как мы автоматизируем процессы разработки и тестирования технологической платформы «1С:Предприятие 8». Платформа «1С:Предприятие 8» — набор инструментов для создания бизнес-приложений и среда их выполнения. Это большой (более десятка миллионо...

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

Разработка для Sailfish OS: использование средств геолокации Здравствуйте! Данная статья является продолжением цикла статей, посвящённых разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдёт о том, как можно реализовать в приложении получение информации о географическом положении устройства, отображение ка...

[Перевод] Конференция DEFCON 21. “Секретная жизнь SIM карт”. Эрик Батлер, Карл Кошер Меня зовут Эрик Батлер, а это Карл Кошер, и мы хотим поговорить с Вами о чтении, создании, загрузке и использовании кода на SIM-картах. Этот проект стартовал в прошлом году, когда я узнал о мероприятии Tourcamp 2012, лагере хакеров на побережье штата Вашингтон, таком выездно...

[Перевод] Ричард Хэмминг: Глава 29. Вы получаете то, что вы измеряете «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, н...

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

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

Как выбирать и контролировать журналистов(копирайтеров) при написании статей для информационных сайтов Сегодня я расскажу о том как контролировать журналистов(копирайтеров) при написании статей для информационных сайтов. В первую очередь нужно разделять журналиста и копирайтера. Журналист это тот кто продумывает текст и пишет интересную статью. Коприайтер это тот кто НАБИРАЕТ...

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

Apple открыла код «невероятной» СУБД Исходный код СУБД можно найти на GitHub по адресу github.com/apple/foundationdb. Компания приглашает разработчиков просмотреть код на предмет выявления недостатков и предложения улучшений.Пользователи интернета отреагировали на новость с большим энтузиазмом. "Это НЕВЕРО...

На Galaxy S9 запустили чистую версию Android Oreo Поддержка модульной основы Project Treble позволяет запускать на Galaxy S9 и S9+ чистую версию Android 8.0 Oreo, убедились разработчики с сайта XDA. Энтузиастам удалось портировать ОС с открытым исходным кодом (AOSP) для флагманских смартфонов корейского производителя, обес...

Обзор Be quiet! Straight Power 11 650W. Модульный блок питания 80Plus Gold В начале текущего года компания Be quiet! анонсировала обновление серии модульных блоков питания Straight Power выпуском уже 11 поколения. В данных блоках питания используются только высококачественные компоненты, используется оптимизированный монтаж компонентов, установлен ...

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

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

[Из песочницы] Пишем плагин к Microsoft DNS server для защиты от IDN spoofing IDN spoofing — это генерация доменных имён «похожих» на выбранное, обычно применяемая с целью заставить пользователя перейти по ссылке на ресурс злоумышленника. Далее рассмотрим более конкретный вариант атаки. Представим, что атакуемая компания владеет доменом organization....

Американский университет шпионит за студентами Наше месторасположение постоянно отслеживается, в основном через мобильные телефоны, датчики и камеры. Это просто реальность жизни. Но каковы последствия? В The Fortune попытались дать ответ на этот вопрос. То, что мы не видим, это “большие данные” махинаций, кот...

Apple напомнила о предстоящих нововведениях в Mac App Store Apple в очередной раз напомнила разработчикам о предстоящих нововведениях в Mac App Store. C 1 июня все новые приложения и обновления существующих программ должны поддерживать 64-битную архитектуру. Кроме того, Apple также рассказала о нововведении пользователям. Со вчера...

Что такое сайдчейны? 1 Что такое сайдчейны? Сайдчейны (от англ. side chain – боковая цепь) — находящаяся на стадии активного развития технология, позволяющие токенам и другим цифровым активам одного блокчейна безопасным образом использоваться в другом блокчейне и затем (в случае необходимо...

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

Google прекращает поддержку технологии Domain fronting Разработчики приложений больше не смогут использовать Google для обхода различных блокировок. Служба хостинга сайтов и web-приложений Google App Engine прекращает использование технологии Domain fronting, которая позволяет обходить интернет-цензуры со стороны правительства. ...

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

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

Интеграция Asterisk и Битрикс24 В сети есть разные варианты интеграции IP-АТС Asterisk и CRM Битрикс24, но мы, все таки, решили написать свою. По функционалу все стандартно: Кликом на ссылку с номером телефона клиента в Битрикс24, Asterisk соединяет внутренний номер пользователя, от имени которого это...

Другая реальность финансового рынка «Нашей задачей было исследование возможности и потенциала HoloLens для игроков финансового рынка», — рассказали нам ребята из dxFeed. А мы не удержались и хотим рассказать про это вам. Disclaimer: данная статья не призвана научить вас разработке под HoloLens на Unity. Для...

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

[Перевод] 8-битный компьютер с BASIC и VGA-выходом на Arduino C помощью Arduino можно собрать 8-битный ретро-компьютер с Basic (похожий на ZX Spectrum) с выводом цветного изображения на VGA-монитор. Кроме того, этот проект можно использовать как простой способ вывода текстовых сообщений на монитор. Сама по себе, идея использовать A...

MathOps или математика в мониторинге То, о чем я хочу рассказать, началось 30 декабря 2010 года, когда компания Etsy выложила на GitHub первый коммит своей системы StatsD. Эта, сейчас уже, суперпопулярная система, написанная на JavaScript (хипстеры ликуют), в которую можно отправлять метрики, замеры исполнения ...

[Перевод] Почему подводят персонажи Всем привет! Запускаем завтра курс «Проектирование UX/UI», что немного волнительно, т.к. второй не совсем программерский курс, да ещё и радикально отличающийся от такого же первого (Digital маркетинг). В общем ждём старта и первых отзывов от наших студентов, а пока что очер...

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

Модель для интернет-маркетинга и сбора данных Вы читаете перевод статьи Авинаша Кошика: Digital Marketing and Measurement Model. Что отличает победителей от неудачников в веб-аналитике? Победители, прежде чем подумать о данных или инструментах, создают хорошо структурированную модель интернет-маркетинга и сбора данных. ...

Intel привнесёт 5G-связь в ноутбуки в 2019 году Корпорация Intel в преддверии выставки Mobile World Congress (MWC) 2018 рассказала о планах по выводу на рынок портативных компьютеров с поддержкой мобильной связи пятого поколения (5G). В создании ноутбуков и гибридных гаджетов с поддержкой 5G, как сообщается, прим...

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

Применяем Deep Watershed Transform в соревновании Kaggle Data Science Bowl 2018 Применяем Deep Watershed Transform в соревновании Kaggle Data Science Bowl 2018 Представляем вам перевод статьи по ссылке и оригинальный докеризированный код. Данное решение позволяет попасть примерно в топ-100 на приватном лидерборде на втором этапе конкурса среди общего чи...

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

Применение сверточных нейронных сетей для задач NLP Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор све...

Fluent Terminal – современный PowerShell Пользователь Felix на сайте GitHub выпустил по сути альфа-версию PowerShell на UWP-платформе. По сути, благодаря этой программе можно увидеть, как будут в будущем выглядеть системные программы, тот же PowerShell или Командная строка, если ее конечно вообще не выпилят.Чтобы п...

Apache Ignite 2.4 — Distributed Database and Caching Platform 12 марта 2018 г., спустя 4 месяца после прошлой версии, вышел Apache Ignite 2.4. Этот релиз примечателен целым рядом нововведений: поддержка Java 9, множественные оптимизации и улучшения SQL, поддержка платформой нейронных сетей, новый подход к построению топологии при работ...

Примеры фото и видео на камеру Samsung Galaxy S9+ Вчера Samsung представила новое поколение флагманов, о которых будут говорить, их будут сравнивать и они станут своеобразным эталоном в мире Android. Кстати, у вас есть шанс выиграть Galaxy S9+, приняв участие в конкурсе, который проводится на нашем официальном канале. Именн...

Gesturizer: 3D-touch и жесты в iOS приложения Жесты на мобильных устройствах, выполняемые стилусом или пальцем, могут быть эффективнее и удобнее стандартных взаимодействий с кнопками и меню в зависимости от контекста и задачи. Однако, необходимость запоминания жестов и связанных с ними команд вызывают некоторые трудност...

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

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

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

Ace Stream Engine 3.1.29.0 Откройте для себя новый высококачественный уровень мультимедийного пространства в сети Интернет с программным обеспечением Ace Stream: — наслаждаетесь онлайн просмотром огромного количества трансляций, с наилучшем аудиовизуальным качеством в Интернете (ТВ-каналы, пользоват...

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

За что ругают Hercules ? Друзья, всем привет!Полтора месяца назад, грубо говоря, только узнал, что такое 3D принтер. Ковырялся с самособранной прюшей (собрал не я) из акрила, термоклея, каках и палок. Понял, что 3D печать это хобби, причем отдельное и самостоятельное! А по-сколько я увлекаюсь электр...

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

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

Прошивка ESP8266 (ESP-01), через RURAMPS4D (без дополнительных устройств) Владельцы RURAMPS4D интересуются, можно ли прошить wifi модуль ESP8266 используя только Arduino Due и RURAMPS4D. Да можно. И в этой статья я расскажу как это сделать. Проброс портов на Arduino Due Разъем для модуля ESP8266 (ESP-01) на плате RURAMPS4D подключен к Serial2, в ...

Asus представила две модели Zenfone 5: козырек, ZeniMoji и 90% экрана на передней панели На MWC прошла одна из самых долгожданных презентаций, в рамках которой тайваньский производитель представил новую линейку смартфонов, Asus Zenfone 5, состоящую из трех устройств: Zenfone 5 Lite – упрощенная и уменьшенная версия флагмана, а Zenfone 5 и Zenfone 5Z отличаются л...

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

Анатомическая метафора кода. Где у кода мускулы Размышлял как-то о коде, программировании и всём таком; бродили всякие мысли. А что если взять, например, и заставить двух разработчиков написать несложные программы по одному ТЗ. Программисты одинакового уровня. Пишут независимо друг от друга. Код у них, естественно, получи...

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

[Перевод] Продвинутая работа с JSON в MySQL У MySQL нет возможности напрямую индексировать документы JSON, но есть альтернатива: генерируемые столбцы. С момента введения поддержки типа данных JSON в MySQL 5.7.8 не хватает одной вещи: способности индексировать значения JSON. Для того, чтобы обойти это ограничение, можн...

DSP на Java Java — язык программирования общего назначения. Общего назначения — значит можно писать почти любые программы. Вот я и попытался написать программу, которую обычно пишут на С или C++. Под катом я попытаюсь рассказать, как я декодировал спутниковые снимки с Метеор-М №2. Чита...

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

Новые подробности о смартфоне LG G7 ThinQ Недавно в сеть попали рендеры будущей новинки от LG – LG G7 ThinQ. Они показывают, что на боковых гранях будут располагаться кнопки. С правой стороны – кнопка питания, с левой – кнопка, отвечающая за использование голосового помощника Google Assistant. Данн...

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

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

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

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

Система мониторинга как точка проникновения на компьютеры предприятия Это продолжение памятки про систему мониторинга Zabbix, опубликованной недавно в нашем блоге. Выражаем огромную благодарность пользователю Shodin, который внес значительный вклад в исследование и написал данную статью. Системы мониторинга — это очень практичный компонент д...

AAEON запускает мелкосерийное производство ИИ-платформ Intel Примерно полтора года назад компания Intel стала собственником израильской компании Movidius. Разработки Movidius пришлись ко времени. Компания разработала процессор Myriad для обработки визуальной информации в реальном масштабе времени. Подобные решения ложатся в о...

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

Повесть о том, как один инженер HTTP/2 Client разгонял На примере «JEP 110: HTTP/2 Client» (который в будущем появится в JDK) Сергей Куксенко из Oracle показывает, как команда его запускала, где смотрела и что крутила, чтобы сделать его быстрее. Предлагаем вам расшифровку его доклада с JPoint 2017. В целом речь тут пойдет не п...

[Перевод] Мышление в стиле Ramda: частичное применение (каррирование) Данный пост — это третья часть серии статей о функциональном программировании под названием «Мышление в стиле Ramda». 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объек...

«Google Таблицы» теперь поддерживают макросы Можно создать последовательность действий и сохранить её для дальнейшего использования.

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

В Москве заработал мобильный оператор Virgin Стоимость тарифных планов Virgin варьируется от 350 руб. до 2 тыс. руб. в зависимости от условий. Тарифы Virgin по столичным меркам довольно дорогими. Сети оператора Теле2 используются также в проектах по предоставлению услуг сотовой связи Сбербанка и "Тинькофф банка&qu...

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

Удостоверяющий Центр на базе OpenSSL, SQLite3 и Tcl/Tk Если прогуляться по просторам Хабрахабра, то можно найти различные публикации на тему создания цифровых сертификатов, организации Центров сертификации (ЦС) или даже Удостоверяющих Центров (УЦ) на базе OpenSSL. В основном эти статьи в той или иной мере полноты описывают испо...

[Перевод] Мышление в стиле Ramda: Декларативное программирование 1. Первые шаги 2. Сочетаем функции 3. Частичное применение (каррирование) 4. Декларативное программирование 5. Бесточечная нотация 6. Неизменяемость и объекты 7. Неизменяемость и массивы 8. Линзы 9. Заключение Данный пост является четвёртой частью серии о функциональном про...

В популярных умных камерах обнаружены серьёзные уязвимости Эксперты "Лаборатории Касперского", сообщившие об уязвимостях, передали подробную информацию производителю устройств (Hanwha Techwin): к настоящему моменту часть из них закрыта, оставшиеся будут исправлены в ближайшее время.Исследованные умные камеры отличаются одн...

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

Почему вам, скорее всего, не нужен фитнес-трекер, но вы всё равно его купите. На примере Fitbit Blaze Данная статья получилась большой. По сути, она состоит из двух отдельных материалов, связанных между собой […]

ZTE Axon 9: изображения и характеристики в сети. Запуск приближается? Флагман компании ZTE смартфон Axon 7, выпущенный в 2016 году, получил хороший прием от аудитории и критиков. Когда его поклонники с нетерпением ждали появления преемника модели, китайский производитель выпустил смартфон ZTE Axon 7s. А в январе текущего года генеральный дирек...

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

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

Первые слухи о смартфоне Samsung Galaxy S10 Прошло всего несколько недель с тех пор, как Samsung выпустила свои флагманы Galaxy S9 и Galaxy S9 Plus, но в сети уже во всю “гуляют” слухи о преемнике этих смартфонов –  Samsung Galaxy S10. Как ожидается, Samsung Galaxy S10 будет поддерживать функцию Fac...

Побеждаем Android Camera2 API с помощью RxJava2 (часть 2) Это вторая часть статьи, в которой я показываю, как использование RxJava2 помогает строить логику поверх асинхронного API. В качестве такого интерфейса я выбрал Android Camera2 API (и не пожалел!). Этот API не только асинхронен, но и таит в себе неочевидные особенности реа...

How-to: смена основного домена в G Suite для всей компании и с сохранением всех данных Появилась необходимость сменить основной домен компании в G Suite с .ru на .com с сохранением всех данных, календарей, псевдонимов и доступов на сторонние ресурсы. Информации о переезде в интернете не очень много, а точнее, кроме справки самого Google, вообще ничего не наш...

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

Wanhao D7/ улучшаем nanodlp/ Доброго времени дорогие друзья. Давно не писал о проделанном с моим WanhaoD7 и вот появилось немного времени рассказать об очередном улучшении для "NANODLP". Своим принтаком я управляю посредством "nanodlp", что крайне удобно и позволяет оставлять печать без занятости компью...

DDoS с участием memcached: PoC-коды и противоядия За последнюю неделю на DDoS-фронте произошло неприятное событие, которого следовало ожидать. В открытом доступе появились первые PoC-коды, облегчающие проведение мощнейших атак с memcached-плечом. Один из этих инструментов, по свидетельству Bleeping Computer, представляет со...

Программа Total Software Deployment Total Software Deployment — это специальный инструмент, для управления удаленным развертыванием программного обеспечения корпоративных сетей. Он дает возможность оперативно просканировать все компьютеры на базе MS Windows, на которые в дальнейшем можно будет удаленно у...

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

[Перевод] Learn OpenGL. Урок 4.6 — Кубические карты Кубические карты До сих пор нам приходилось пользоваться лишь двухмерными текстурами, однако, OpenGL поддерживает гораздо больше типов текстур. И в этом уроке мы рассмотрим тип текстурной карты, на самом деле, представляющий собой комбинацию нескольких отдельных текстур – э...

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

Веб установщик на чистом WINAPI с поддержкой Hi DPI и векторным лого В наше время это, наверно, одно из основных применений для приложений написанных на чистом WINAPI. Писать что-то серьёзнее нескольких простых окон на чистом WINAPI уже не так весело, а вот маленький установщик – самое то. Так как на дворе 2018 год, писать просто приложение ...

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

Запуск солнечного паруса 2.0 на околоземную орбиту состоится этим летом Американская некоммерческая организация Planetary Society, занимающаяся проектами в областях астрономии, планетарных наук и исследовании космоса, собирается провести этим летом испытания LightSail 2 – новой версии солнечного паруса, который в дальнейшем может использоватьс...

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

Migrate API и с чем его едят. На примере миграции форума Drupal 7. Часть 1 Данное руководство является переводом статьи. Хотелось бы поделиться своим опытом миграции форума с Drupal 7 на Drupal 8, а также рассказать о проблемах, с которым пришлось столкнуться во время этого процесса, а также об инструментах, которые я использовал. Кроме этого я р...

Android 9.0 Developer Preview будет представлен уже в середине марта Не секрет, что новые версии ОС практически всегда сначала появляются в редакции Developer Preview. Таким образом компании убивают сразу двух зайцев: демонстрируют возможности новой ОС разработчикам ПО (чтобы к моменту официального развертывания те уже были во всеоружии), а т...

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

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

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

[Перевод] Операторы ?., ?? и |>: будущие возможности JavaScript, которые вам понравятся Джастин Фуллер, автор материала, перевод которого мы сегодня публикуем, предлагает рассмотреть три новых возможности, появление которых ожидается в JavaScript в обозримом будущем. Сначала он расскажет о процессе развития JS, а после этого представит обзор этих возможностей и...

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

Обнаружены новые образцы шпионского софта разработчика Hacking Team Hacking Team получила известность, реализуя шпионское ПО правоохранительным органам и спецслужбам. Remote Control System (RCS), флагманский продукт компании, позволяет скачивать файлы с инфицированного компьютера, перехватывать письма и сообщения, удаленно управлять веб-каме...

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

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

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

В Ярославле водитель наехал на упавшую женщину, как только на светофоре ему загорелся «зеленый». ВИДЕО В Ярославле водитель за рулем белой lada Granta наехал на упавшую на пешеходном переходе женщину, как только ему загорелся «зеленый» свет на светофоре. Об этом сообщают РИА «Новости». Таким водителям везде должен быть «красный». Иллюстрация с сайта pixabay.com. Судя по видео...

Разворачиваем автоматизацию за пару часов: PHPUnit, Selenium, Composer Привет, Хабр! Меня зовут Виталий Котов, я работаю в Badoo, в отделе QA. Большую часть времени занимаюсь автоматизацией тестирования. Недавно я столкнулся с задачей максимально быстро развернуть Selenium-тесты для одного из наших проектов. Условие было простое: код должен леж...

Меловой леттеринг для «чайников» на примере работы над арт-объектом Это история личного опыта одного UX-дизайнера, который полюбил леттеринг ещё нечётко зная, что это такое. Я расскажу о том, что такое леттеринг в современном дизайне на примере своей работы над арт-объектом; о трудностях, с которыми я столкнулась и как их решила; о грифель...

Троян Stresspaint скрывается в приложении для рисования За последнюю неделю группа кибермошенников заразила более 40 тыс. пользователей вредоносным ПО, похитив куки их сеансов в Google и учетные данные Facebook. Новый троян преступники замаскировали под программу для антистресс-рисования под названием Relieve Stress Paint. Исслед...

Семинар «Разработка vs Эксплуатация. Почему ни Agile, ни DevOps – это не волшебная пилюля», 22 марта, Москва Мы запускаем новое направление Университетов DataLine — семинары по поддержке интернет-проектов и взаимодействию разработки и эксплуатации. Новым будет и формат — теперь мы будем вести онлайн-трансляции со всех наших семинаров! Дата: 22 марта в Москве. Тема: «Разработка...

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

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

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

[Перевод] Обучение с подкреплением никогда не работало TL;DR: Обучение с подкреплением (RL) всегда было сложным. Не волнуйтесь, если стандартные техники глубинного обучения не срабатывают. В статье Алекса Ирпана хорошо изложены многие современные проблемы глубинного RL. Но большинство из них не новые — они существовали всегда. ...

Дуров подвел первые итоги блокировки Telegram и пообещал платить гранты администраторам VPN-сервисов "Как показали последние сутки, в своей войне с прогрессом надзорные органы России готовы блокировать миллионы IP-адресов облачных хостингов, не считаясь с потерями посторонних проектов", - написал Дуров, призвав всех брать с него пример и спонсировать сервисы обхода блокиров...

В Яндекс.Браузере для Windows появилась Алиса Команда разработчиков голосового помощника «Алиса» интегрировала свой сервис в десктопную версию «Яндекс.Браузера». Отныне, чтобы воспользоваться возможностями «Алисы» вовсе необязательно устанавливать дополнительное приложение для Windows.  Голосовой помощник в «Яндекс...

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

[Перевод] Cжатие и улучшение рукописных конспектов Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла. Исходное изображение и результат: Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1] Примечание: описанный...

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

Mozilla разработала открытый шлюз для Интернета вещей Apple, Google, Amazon, Samsung — у каждой из этих компаний собственные стандарты и программы для управления «умными» устройствами собственной марки. В результате они зачастую могут общаться только со своими «родственниками» производства той же фирмы. Смарт-колонка Apple Ho...

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

Путь IT-менеджера (часть #1) Привет! Меня зовут Алексей и я предлагаю сразу перейти на “ты”. Один мой друг разрешил опубликовать его историю про путь в руководители, что я и делаю с небольшими литературными изменениями. Все совпадения и имена совершенно случайны. Текст написан от первого лица. Ровно та...

Пробрасываем вызовы Steam API из Wine в GNU/Linux и обратно с помощью Nim У игроков на платформе GNU/Linux множество проблем. Одна из них — необходимость устанавливать отдельный клиент Steam для каждой Windows игры из Steam. Ситуация усугубляется необходимостью установки ещё и родного клиента Steam для портированных и кроссплатформенных игр. Но ч...

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

Обзор Flexiroam — отличная альтернатива роумингу за границей Скоро пора отпусков и нужно заранее позаботиться об Интернете за границей. Тут у нас есть два варианта: либо использовать дорогущий роуминг, либо купить местную «симку» и чувствовать себя примерно как дома. Однако есть и третий вариант - микрочип Flexiroam, с собственными та...

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

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

Обзор Samsung DeX – как превратить смартфон в компьютер Эра смартфонов началась более десяти лет назад, но уже тогда многие пользователи понимали что у них в кармане лежит не просто телефон, а полноценный компьютер. Не удивительно, что производители стали выпускать различные варианты устройств для использования смартфона в роли н...

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

[Из песочницы] Что будет если объединить ArrayList и LinkedList? Приветствую вас! После изучения коллекций, а именно такие реализации List, как ArrayList и LinkedList, возникла идея, а почему бы не объединить эти структуры данных в одну и посмотреть, что из этого получится. Зачем это нужно? Проблема ArrayList — у него есть начальный раз...

Новое решение для поддержания доступности ИТ-инфраструктуры: Veeam Availability Orchestrator Практически каждый день мы узнаем о том, что в очередной компании произошел серьезный сбой в работе ИТ-инфраструктуры, который привел к серьезным финансовым и репутационным потерям. Системный сбой – первое, что приходит на ум, когда просчитываются возможные риски для работы ...

Windows 10 April Update и проблемы при обновлении Похоже, что April Update – это действительно официальное название нового обновления, в браузере Edge пользователи сборки 17134 обнаружили на главной надпись April Update. Страницу можно перевести на русских язык в настройках MSN и здесь нас встречает уже апрельское обновлени...

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

Apple Watch лишатся поддержки многих приложений в watchOS 5 Приложения для Apple Watch, построенные на базе SDK watchOS 1, перестанут поддерживаться в watchOS 5. Соответствующее предупреждение появилось в системе после выхода предварительной версии watchOS 4.3.1. При запуске устаревающих программ часы с установленной бета-сборкой р...

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

[Из песочницы] Тестирование проектов C/C++ с помощью Python Введение Хорошо известна возможность интеграции Python и C / C++. Как правило, этот прием используется для ускорения программ на Python или с целью подстройки программ на C / C++. Я хотел бы осветить возможность использование python для тестирования кода на C/C++ в IDE без п...

Использование rrd4j для OpenHab2 persistence OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет. Важной особенностью OpenHab являет...

Конвертация React в Angular с использованием универсального абстрактного дерева. Proof of Concept Вступление Доброго времени суток, меня зовут Владимир Миленко, я Frontend-разработчик в компании Lightspeed, и сегодня мы поговорим о проблеме отсутствия компонентов в том или ином фреймворке и попытках автоматически конвертировать их. Предыстория Исторически сложилось, что...

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

Простой способ установить Mikrotik RouterOS в любом облаке Многие облачные провайдеры не позволяют загружать ISO-файлы и не предоставляют никакой возможности для установки ОС отличных от тех что предусмотрены самим облаком. В этой статье я расскажу вам как избежать данное ограничение и как просто в 5 шагов можно установить Mikrotik ...

Итоги #Конкурс_Ultimaker Добрый день, дорогие друзья! Сегодня мы, iGo3D Russia, хотим подвести итоги нашего конкурса на лучший обзор применения 3D-принтеров семейства Ultimaker (Ultimaker 2, Ultimaker 2 Go, Ultimaker 2 Extended, Ultimaker 2+, Ultimaker 2+ Extended, Ultimaker 3, Ultimaker 3 Extended...

[Перевод] Ошибочное понимание принципа DRY Я знаю, о чём вы подумали: «Ещё одна скучная статья про DRY? Нам их мало, что ли?». Возможно, вы правы. Но я встречаю слишком много разработчиков (junior и senior), применяющих DRY так, словно они охотятся на ведьм. Либо совершенно непредсказуемо, либо везде, где можно. Та...

Стал доступен Windows 10 SDK Preview Build 17110 Сегодня компания Microsoft выпустила новую предварительную сборку Windows 10 SDK под номером 17110, которую вы можете использовать вместе с последней доступной инсайдерской сборкой Windows 10 Redstone 4. Эта версия SDK включает в себя несколько новых функций: В состав SDK ...

[Из песочницы] Почему ранний возврат из функций так важен? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описани...

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

Развязываем игровой код с помощью паттерна Command, и дебажим, летая на машине времени Привет! Я пишу статьи, посвященные архитектуре в игровой разработке. В этой статье я хочу разобрать паттерн Команда (Command). Он многогранен, и может быть применен по-разному. Но я покажу, как сделать мой любимый трюк — машина времени для отладки изменений гейм стейта. Эта...

Автоматизация обновлений CleanTalk Anti-Spam для WordPress Если вы обслуживаете пару-тройку сайтов, то обновление плагинов не вызывает каких-то сложностей. Сложности появляются, если вы обслуживаете несколько десятков, а то и сотен сайтов. CleanTalk Антиспам требует частых обновлений (нам приходится выпускать новую версию раз в 1-...

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

Знакомство с гео-библиотекой S2 от Google и примеры использования Привет, Хабр! Меня зовут Марко, я работаю в Badoo в команде «Платформа». Не так давно на GopherCon Russia 2018 я рассказывал, как работать с координатами. Для тех, кто не любит смотреть видео (и всех интересующихся, конечно), публикую текстовый вариант своего доклада. Вв...

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

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

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

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