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

[Перевод] Segregated Witness для чайников Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Д...

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

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

Полный перечень intrinsic-функций в HotSpot в JDK 7, 8, 9 и 10 Интринсик или intrinsic-функция — функция, которую JIT-компилятор может встроить вместо вызова Java- и JNI-кода с целью оптимизации. Важный вывод из этого — intrinsic-функции не доступны в режиме интерпретатора. По умолчанию в HotSpot используется два JIT-компилятора C1 и C2...

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

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

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

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

Обзор нового алгоритма уменьшения размерности UMAP. Действительно ли он лучше и быстрее, чем t-SNE? Привет, Хабр! Задача снижения размерности является одной из важнейших в анализе данных и может возникнуть в двух следующих случаях. Во-первых, в целях визуализации: перед тем, как работать с многомерными данными, исследователю может быть полезно посмотреть на их структуру, у...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Telegram боты. Загружаем файлы больше 50мб Telegram боты позволяют автоматизировать многие процессы. Их использование не ограничивается одним чатом, по сути — бот это всего лишь интерфейс ввода-вывода, который помимо текста также может принимать и передавать файлы: изображения, видео, аудио, документы… Для пользо...

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

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

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

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

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

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

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

Глобальное освещение с использованием трассировки вокселей конусами В этой статье я расскажу о реализации одного из алгоритмов расчёта глобального (переотражённого / ambient) освещения, применяемого в некоторых играх и других продуктах, — Voxel Cone Tracing (VCT). Возможно, кто-то читал старенькую статью ([VCT]) 2011 года или смотрел видео. ...

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

Вторая часть сравнения python и tcl В предыдущей статье была описана реализация задачи сбора данных о звонках с АТС, включающее в себя получение, разбор данных и добавление в БД. Решение данной задачи представлено на двух языках программирования — python и tcl. И вот, как и обещал, представляю код (на двух язы...

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

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

Сборка проектов с dapp. Часть 1: Java Эта статья — начало цикла о сборке dapp'ом приложений на различных языках, платформах, технологических стеках. Предыдущие статьи про dapp (см. ссылки в конце материала) были больше обзорными, описывали возможности dapp. Теперь же пора поговорить более предметно и поделитьс...

[recovery mode] 3CX v15.5 Update 4 Beta — распознавание речи через Microsoft Speech и обновленный Call Flow Designer На этой неделе произошли два приятных события. Во-первых, мы выпустили обновление 3CX v15.5 Update 4 BETA, и во вторых — очередное обновление среды разработки голосовых приложений 3CX Call Flow Designer. Обновление v15.5 Update 4 BETA В v15.5 Update 4 BETA появился перевод ...

[Перевод] Dependency injection От переводчика Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависи...

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

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

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

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

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

WhiteList vs BlackList: как реализовать проверку расширений файлов и не стать жертвой хакеров Нередко, во время анализа защищенности веб-приложений мы сталкиваемся с загрузкой каких-либо файлов на сервер – это могут быть и фотографии учетной записи, и какие-то текстовые документы, и что угодно другое. Существуют расширения файлов, с которыми многие работали и знают...

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

Четырнадцатый отчет Developer Economics У SlashData вышел очередной отчет Developer Economics - ключевые тренды и обобщенный опыт работы от более чем  40,000 разработчиков.

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

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

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

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

[Из песочницы] Почему игровые серверы и чат должны существовать раздельно Привет, Хабр! Представляю вашем вниманию перевод статьи "Why you should run your game servers independently from your chat" Joe Hanson. Разработчики многопользовательских игр часто сталкиваются с дилеммой: Использовать уже существующие игровые серверы (на которых, непоср...

[Перевод] Почему функция Heap32Next() работает так медленно на Windows 7? Если вы занимаетесь системным программированием под Windows, то могли бы заметить, что весьма полезные функции Heap32First/Heap32Next и другие из того же семейства стали работать существенно медленнее начиная с Windows 7. Что же с ними случилось? Давайте перенесёмся в далёк...

Автоматическая векторизация спутниковых снимков: одна модель — два первых места Всем привет! В данной статье хочу поделиться с вами историей о том, как одна и та же архитектура модели принесла сразу две победы в соревновательном машинном обучении на платформе topcoder с интервалом месяц. Речь пойдёт о следующих соревнованиях: Urban 3d mapper — поиск ...

[recovery mode] Разработка голосовых приложений 3CX: введение для начинающих Среда разработки Call Flow Designer Среда разработки 3CX Call Flow Designer (CFD) позволяет администратору АТС создавать сложную логику обработки вызовов (голосовые приложения) в удобном визуальном редакторе — с минимальными навыками программирования или вообще без них. Голо...

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

[Перевод] Эксперимент с бинарным кодом в Glimmer Перевод статьи об эксперименте с бинарным кодом в Glimmer, соавторы публикации: Сара Клаттербак, Чад Хиетала и Том Дейл. Чуть более года назад Ember.js претерпел значительные изменения. В тесном сотрудничестве между инженерами LinkedIn и Open Source сообществом, мы заменили...

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

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

Для заставки в режиме Always-On Display в смартфонах Samsung теперь можно выбрать анимированное изображение Несмотря на то, что Samsung была далеко не первой компанией, которая начала использовать преимущества дисплеев OLED для постоянного отображения какой-то информации, именно корейский гигант активнее всех расширяет возможности технологии Always-On Display. нажмите для ...

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

AudioTubeBot — Telegram бот для загрузки аудио с YouTube. Нововведения AudioTubeBot — Telegram бот для удобного прослушивания аудио с YouTube — новостей, интервью, подкастов, музыки, аудиокниг и т.д. Изначально бот создавался чтобы слушать в фоне различные интервью, главной его фишкой было разделение длинных аудио на части по 50мб(лимит для T...

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

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

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

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

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

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

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

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

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

Веб компоненты. Часть 1: Пользовательские элементы Вступление Данная статья — первая часть из небольшой серии статей о создании веб-компонентов нативными средствами HTML и JS Компонентный подход к разработке веб-приложений опирается на создание независимых модулей кода, которые могут быть использованы повторно, объединяемых ...

[Из песочницы] Почему вы должны дать еще один шанс замыканию Привет, Хабр! Представляю вашему вниманию перевод статьи «Why you should give the Closure function another chance» автора Cristi Salcescu. В JavaScript функции могут быть вложены внутри других функций.Замыкание это когда внутренняя функция имеет доступ к переменным родитель...

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

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

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

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

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

Реализация простой пиксельной игры в блокчейне Ethereum Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскр...

Serverless приложение с реализацией CI/CD на базе AWS и Bitbucket Pipelines В статье рассказывается о развертывании Django приложения в облаке AWS с помощью Bitbucket Pipelines. Тем, кому интересна эта тема, добро пожаловать под кат. Вперед, на мины! Читать дальше →

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

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

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

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

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

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

Преобразователи Time-To-Digital (TDC): что это такое и как они реализованы в FPGA На рисунке — первый в мире спутник квантовой связи «Мо-Цзы», который запустили из Китая в 2016 году, в нем летает TDC, реализованная в FPGA. Объяснить своей девушке (или парню), что такое ADC и DAC, и в каких домашних приборах они используются, может каждый человек, называ...

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

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

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

Генеративное Моделирование и AI В предыдущей главе мы поговорили о классических дискриминативных моделях в машинном обучении и разобрали простейшие примеры таких моделей. Давайте теперь посмотрим на более общую картину. Читать дальше →

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

Учебник Thymeleaf: Глава 15. Подробнее о конфигурации Оглавление 15 Подробнее о конфигурации 15.1 Resolver шаблонов Для нашего виртуального бакалейного магазина Thymes мы выбрали реализацию ITemplateResolver под названием ServletContextTemplateResolver, которая позволила получить шаблоны в качестве ресурсов из контекста сервле...

Предсказание случайности. Изучаем ASLR в Linux и GNU libc, обходим защиту адресного пространства и stack canary Для подписчиковЗа время существования в ядре Linux появилось множество различных механизмов защиты от эксплуатации уязвимостей: в частности, это ASLR и stack canary, противодействующие эксплуатации уязвимостей в приложениях. В данной статье мы внимательно рассмотрим реализац...

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

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

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

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

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

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

Xiaomi Mi 7 получил вырез в экране и настоящий сканер лица, как в iPhone X Изначально Xiaomi планировала представить флагманский смартфон Mi 7 в конце марта, однако делать этого она не стала из-за нехватки времени на реализацию одной из главных особенностей своего нового флагмана. Сегодня, 12 марта, разработчики форума XDA

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

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

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

[Перевод] Генерация и тестирование ядра RISC-V Как я писал в прошлом посте, название моего проекта на GSoC-2016 — «порт RISC-V на Parallella», и первая вещь, которую я должен был сделать, это познакомиться с экосистемой RISC-V. Один из лучших способов это сделать, — посмотреть видео с презентации первого воркшопа RISC-V ...

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

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

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

[Перевод] Непрерывные переходы между общими элементами: из RecyclerView во ViewPager Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфе...

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

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

Lixil выпускает «компактные» солнечные панели шириной 828 мм Компания Lixil начала прием заказов на «компактные» солнечные панели серии G с узкой стороной 826 мм. Панели G позиционируются как решения для домов с полной энергетической автономностью (zero energy house, ZEH), поскольку они позволяют генерировать большое количество э...

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

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

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

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

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

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

VDOM своими руками Привет. У многих frontend-разработчиков бытует мнение, что технология VDOM, которая, в частности, используется в React.js, работает как черный ящик. Так же на просторах npm есть куча библиотек, реализующих эту технологию, однако вот как по мне — так в них черт ногу сломит. С...

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

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

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

[Перевод] Разбираемся в redux-saga: От генераторов действий к сагам Любой redux разработчик расскажет вам, что одной из самых тяжелейших частей разработки приложений являются асинхронные вызовы — как вы будете обрабатывать реквесты, таймауты и другие коллбэки без усложнения redux действий(actions) и редьюсеров(reducers) В этой статье я опи...

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

[Из песочницы] Blockchain на Go. Часть 4: Транзакции, часть 1 Привет, Habr! Представляю вашему вниманию перевод статьи "Building Blockchain in Go. Part 4: Transactions 1". Содержание Blockchain на Go. Часть 1: Прототип Blockchain на Go. Часть 2: Proof-of-Work Blockchain на Go. Часть 3: Постоянная память и интерфейс командной строки ...

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

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

Реализуем промисы на Java Всем доброго времени суток. Сегодня я хочу рассказать о том, как писал реализацию механизма промисов для своего JS движка. Как известно, не так давно вышел новый стандарт ECMA Script 6, и концепция промисов выглядит довольно интересно, а также уже очень много где применяется...

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

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

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

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

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

Релиз CLion 2018.1: новые возможности из С++17, поддержка WSL, CMake Install, плагин для Rust и многое другое Привет, Хабр! Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз. Cначала очень коротко о главном. В этот релиз вошли: Поддержка языка C++ Поддержка возможн...

[Из песочницы] Истинная реализация нейросети с нуля. Часть 2. Распознавание цифр Dispute about eternal Сердечно приветствую всех Хабравчан! С момента выхода первой части "Истинной реализации" (рекомендую ознакомиться) прошло достаточно много времени. Как внятных обучающих статей не было, так и нет, поэтому я решил подарить Вам возможность узна...

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

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

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

[Перевод] Среды запуска контейнеров (container runtimes) Часть 1: Введение в среды запуска контейнеров От переводчика: Это перевод статьи Container runtimes Part 1: An Introduction to Container runtimes. Автор оригинальной публикации: Ian Lewis. Один из терминов, который вы часто слышите, имея дело с контейнерами — «container runtime» (далее «runtime» переводится как «среда ...

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

13 лучших практик по оптимизации XML-карты сайта Создание XML-карты сайта – это важный шаг в оптимизации любого ресурса. В этой статье мы обсудим самые важные моменты, которые нужно знать при работе с файлами Sitemap.

Mikrotik: Балансировка в КПСС и соблюдение скоростного режима В этой статье я хочу поделится своим решением балансировки с применением Классификатора по Сетевым Соединениям (Per Connection Classificator) и маркировкой трафика для QoS. Предисловие На просторах Хабра и интернета я встречал множество реализаций балансировки, включая и PP...

[Перевод] Файл-оборотень: образ картриджа NES и ZIP-файл в одном Этот файл — ROM консоли NES. И одновременно ZIP-файл. Он одновременно полностью функционален и как NES ROM, и как ZIP-файл. Что находится в этом ZIP-файле? Исходный код ROM. Что случится, если скомпилировать этот исходный код? Он создаст NES ROM, который также является ZIP...

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

Простой менеджер ассинхронных задач для Unity 3D Введение Приветствую Вас, уважаемые читатели. В данной статье пойдет речь о реализации простого менеджера асинхронно выполняемых задач для среди разработки Unity3d. Данный менеджер использует в своей основе так называемые Coroutine, которые присутствует в движке. Читать дал...

«Календарь тестировщика». Протестируй безопасность Продолжаем цикл статьей «Календарь тестировщика», в этом месяце поговорим о тестировании безопасности. Многие не знают с чего начать и пугаются сложностей. Иван Румак, тестировщик безопасности веб-приложений в Контуре, поделился основами в поиске уязвимостей. Новички найдут ...

Мобильные устройства изнутри. Снятие блокировки загрузчика планшета Все публикации из серии Мобильные устройства изнутри1.Структура образов разделов, содержащих файловую систему. Часть 1. 2.Разметка памяти, структура файлов описания и разметки памяти. 3.Структура образов разделов, содержащих файловую систему. Часть 2. 4.Что такое GPT? 5.Изме...

Far Cry 5 бесплатно для ПК с видеокартами AMD Radeon RX 580, Vega 56 i Vega 64 Новая акция – это результат сотрудничества AMD со студией Ubisoft, благодаря которой не только ввели оптимизацию для видеокарт Radeon, но и организовали такую вот приятную акцию для покупателей ПК. А именно – при покупке определенных готовых компьютеров с видео...

Анонс Serverless Moscow Meetup #1 Всем привет! Первый митап в России по технологии Serverless пройдет 1-ого марта в Rambler&Co. Мы поговорим о том, что такое Serverless и почему появился этот подход, а также рассмотрим два практических кейса: построение аналитической системы для мобильного приложения и ...

Реализация параллельной быстрой сортировки при помощи ForkJoinPool Где-то чуть меньше года назад во время поиска работы, после окончания курсов в Иннополисе один из потенциальных работодателей дал вот такое задание. Есть 100 млн. чисел, каждое из которых от 0 до 1млрд. Нужно отсортировать по возрастанию. В самом начале программа случайно и...

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

[Из песочницы] VLFs — Забытый враг Привет, Хабр! Представляю вам перевод статьи «VLFs — The Forgotten Foe» автора Monica Rathbun. Сколько из вас проверяет количество файлов виртуального журнала (VLF), которые есть в ваших журналах транзакций? Сейчас, работая консультантом, я вижу что часто это игнорируетс...

GCCGO против «стандартной» реализации Какие Go бенчмарки показывают лучшие результаты, будучи собранными gccgo и почему? Ответы на эти вопросы под катом. Читать дальше →

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

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

[Перевод] Полезные советы по архивированию бэкапов Veeam на магнитную ленту Продолжаем полюбившуюся многим серию статей с рекомендациями от Veeam Support. Один из важных вопросов, возникающих на этапе планирования резервного копирования – как организовать хранение бэкапов? Veeam советует выдерживать размер цепочки в 7 – 14 точек восстановления и х...

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

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

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

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

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

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

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

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

Sawtooth: новая модульная платформа для корпоративного блокчейна Сообщество Hyperledger, поддерживаемое Linux Foundation и развивающее технологии блокчейна для корпоративного применения, представило свою вторую модульную платформу. Сообщество Hyperledger, поддерживаемое Linux Foundation, представило Sawtooth 1.0 – модульную п...

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

[Из песочницы] Немного о физике в почти Agar IO на aicups.ru В соревновании MiniAICup#2 Почти Agar IO надо управлять амёбами, есть еду и других амёб. Для реализации алгоритма управления амёбой напрашиваются потенциальные поля, но есть одно большое НО. Читать дальше →

Что заморозили на feature freeze 8-го апреля закончился комитфест 2018-03. Те патчи, которые не закомичены на нем (и на 3 предыдущих комитфестах) уже не попадут в релиз PostgreSQL 11: произошла заморозка функциональности (feature freeze). Время подводить итоги. Главные новости последнего комитфеста (и ве...

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

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

[Перевод] Квантовая телепортация на языке Q# Скажу сразу: как бы мне этого ни хотелось, квантовая телепортация не позволит перенести мою бабушку из деревни в мою квартиру. Бабуля знает, что мне нравятся всякие квантовые штуки, и решила вместо денег и носков отправить мне на день рождения квантовое состояние. Здесь мы п...

[Перевод] Руководство по SEO JavaScript-сайтов. Часть 2. Проблемы, эксперименты и рекомендации В первой части перевода этой статьи мы говорили о том, как веб-мастер может взглянуть на свой ресурс глазами Google, и о том, над чем стоит поработать, если то, что увидит разработчик сайта, окажется не тем, чего он ждёт. Сегодня, во второй части перевода, Томаш Рудски ра...

Применение Tarantool: хранимые процедуры Перевод статьи с DZone. Оригинал: https://dzone.com/articles/applications-for-tarantool-part-1-stored-procedure. Я хочу поделиться своим опытом создания приложений для Tarantool, и сегодня мы поговорим об установке этой СУБД, о хранении данных и об обращении к ним, а также ...

Цены и варианты Huawei Mediapad M5 и M5 Pro известны до MWC Мы уже предполагаем, что вы уже знаете о том, что компания Huawei готовится представить пару своих планшетов Mediapad на MWC 2018: это Mediapad M5 (8,4-дюймовая и 10,1-дюймовая модели). Подробная информация о Mediapad M5 уже просочилась в сеть, и мы писали об этой версии уст...

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

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

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

Учебник Thymeleaf: Глава 7. Условное выполнение Оглавление 7 Условное выполнение 7.1 Простые условия: «if» (если) и «unless» (если не) Иногда вам понадобится фрагмент шаблона, чтобы появляться только в результате выполнения определенного условия. Читать дальше →

«Акадо Телеком» и Сколтех создадут консорциум по развитию IoT и беспроводной связи «Акадо Телеком» и Сколковский институт науки и технологий (Сколтех) создадут консорциум для реализации совместных проектов в сферах беспроводной связи и Интернета вещей.  Новая структура займется развитием сквозных технологий: подготовкой ученых и инженеров, инфрастр...

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

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

[Перевод] Вышел GitLab 10.5: интеграция с Let’s Encrypt, проверки зависимостей Gemnasium и внешние файлы CI/CD В GitLab 10.5 мы добавили возможность легкого шифрования трафика GitLab и масштабирования управления конвейерами, улучшили безопасность приложений, а также многое другое. Читать дальше →

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

Установка центра сертификации на предприятии. Часть 1 Привет, Хабр! Мы начинаем новую серию статей. Она будет посвящена развертыванию службы сертификатов на предприятии на базе Windows Server 2016 с практическими примерами. Сегодня обозначим вступительные моменты и поговорим о типовых схемах развёртывания иерархии PKI: двухуров...

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

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

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

[Перевод] Дорога на войну: ИИ игр серии Total War С самого основания моей серии видео «AI and Games» на YouTube я исследовал различные реализации ИИ, решающие определённые задачи в дизайне видеоигр, требующие немедленного, реактивного поведения в сочетании с долговременным и стратегическим принятием решений. Популярным жан...

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

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

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

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

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

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

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

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

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

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

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

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

Shortcut Creator 2.5.2 Это приложение позволяет создавать ярлыки на файлы, приложения, настройки, контакты и сообщения. Вы можете задать имя ярлыка и использовать большой выбор инструментов для выбора его иконки — иконку из темы, импортировать ее из файла (и создавать целые коллекции), обрезать из...

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

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

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

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

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

[Перевод] Чего из Rust мне не хватает в C Об авторе. Федерико Мена-Кинтеро — мексиканский программист, один из основателей проекта GNOME, автор книги «Язык программирования Rust» Librsvg достиг переломного момента: внезапно выясняется, что легче портировать некоторые основные части из C на Rust, чем просто добавит...

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

Xiaomi Redmi Note 5 Pro теперь поддерживает жесты как у iPhone X Одна из главных особенностей iPhone X — отсутствие кнопки «Домой». Как физической, так и виртуальной. Это следствие внедрения дисплея с соотношением сторон 18.5:9. Теперь для навигации используются жесты. Аналогичная функция поддерживается и Xiaomi Redmi Note...

Осваиваем теги в приложении «Файлы» В 2013 году вышла OS X Mavericks и привнесла множество полезных улучшений. Одно из них – теги в Finder. С помощью меток производить навигацию по файлам и осуществлять поиск стало куда проще. Начиная с iOS 11 такая возможность появилась и на iPhone и iPad – всё это благодар...

[Перевод] Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры (Часть 3 — Порты и Адаптеры) Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(можно ознако...

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

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

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

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

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

Книга «Node.js в действии. 2-е издание» Второе издание «Node.js в действии» было полностью переработано, чтобы отражать реалии, с которыми теперь сталкивается каждый Node-разработчик. Вы узнаете о системах построения интерфейса и популярных веб-фреймворках Node, а также научитесь строить веб-приложения на базе Ex...

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

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

Linux в одном файле для Macbook TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программ...

Thunkable X – бесплатная браузерная среда разработки мобильных приложений под iOS и Android IDE Thunkable X работает на платформе Thunkable, которая ранее развивалась в качестве альтернативы MIT App Inventor. В настоящее время платформа предлагает две функционально отличающиеся и независимые среды разработки – оригинальную для разработки под Android, совместимую ...

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

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

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

Canon EOS M50: беззеркальная камера, которая умеет снимать видео в 4К В новинке используется CMOS-датчик формата APS-C с разрешением 24,1 Мп и процессор Canon DIGIC 8. Скорость непрерывной съемки у Canon EOS M50 — 10 кадр/с, аппарат умеет записывать видео в разрешении 4К. Для удобства в камере Canon EOS M50 (совместима с линейкой объективов C...

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

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

Android P получит жесты iPhone X Компания Google в статье о поддержке DNS и TLS в Android P Developer Preview случайно раскрыла одну важную деталь интерфейса. Речь идет об отказе от привычных навигационных кнопок в пользу управления жестами. Навигационная панель теперь почти полностью повторяет таковую в ...

[recovery mode] Личный опыт работы с Firebase Cloud Firestore Всем привет! В последнее время все чаще использую Firebase в своих проектах: очень удобно обходится без фактического написания серверной части. Хочу поделиться небольшим опытом работы на стороне фронтенда. В данном случае это Angular, поэтому используется официальная библиот...

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

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

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

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

Джон Мюллер рассказал, как добавить файл Sitemap для более чем 50 тыс. URL В свежем выпуске справочной серии SEO Snippets сотрудник Google Джон Мюллер рассказал, как владельцы сайтов могут отправить файл Sitemap, который содержит более 50 тыс. URL. Как известно, файлы Sitemap ограничены 50 тыс. URL, как же вебмастерам можно обойти этот лимит? По сл...

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

[Из песочницы] Управление интернет модулями Laurent из RouterOS MikroTik Что такое маршрутизаторы Микротик (MikroTik), в наше время известно практически каждому, кто интересуется сетевыми технологиями чуть больше, чем просто пользователь. Благодаря надежной аппаратной части и невысокой стоимости эти роутеры становятся все более популярными не тол...

Финтех-дайджест: 70 россиян обучат цифровой экономике за 650 млн рублей, налоговая США и криптовалюты, чатботы умнеют Прошедшая неделя традиционно была богатой на события в мире финтеха. Отличились многие – как компании, так и страны. Самое интересное мы выделили, представив в этом посте. И никаких апрельских шуток! Обучение, конечно, стоит нынче недешево. Но 650 млн рублей для 70 челов...

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

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

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

Видео дня: двигаем ногами — играем в интерактивный «пинг-понг» GRID Как вам идея поиграть в Pong (аркаду для игровых автоматов, напоминающую 2D-аналог пинг-понга) в паре с другом? А что если попробовать сыграть в Pong ногами? Звучит весьма необычно? А теперь добавьте к этому интерактивность с командным режимом «2 × ...

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

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

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

[Перевод] Флаги в аргументах функций Вы когда-нибудь сталкивались с таким кодом? process(true, false); Эта функция, судя по названию, что-то обрабатывает (process). Но что означают параметры? Какой параметр здесь true, а какой false? По вызывающему коду об этом нельзя судить. Нам придется заглянуть в объявлен...

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

[Перевод] Leakpocalypse: Rust может неприятно удивить Прим. пер.: Кто-то должен был сделать перевод этой статьи, несмотря на то, что она достаточно стара (2015 год), поскольку она показывает очень важную особенность работы с памятью в Rust — с помощью безопасного (не помеченного как unsafe) кода можно создавать утечки памяти. Э...

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

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

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сце...

Новости из страны Go, или что нового в GoLand 2018.1 Привет, Хабр! В конце прошлой недели вышла GoLand 2018.1! Для нашей команды этот релиз особенный, — это первое крупное обновление IDE с момента ее запуска четыре месяца назад. Подсказки при редактировании, и навигация по коду, которыми наша команда гордится, стали еще боле...

[recovery mode] Линкбилдинг для Bing — отличие от Google и важные нюансы SEO в англоязычном сегменте — это не только Google, особенно если ваши потенциальные клиенты живут в США. Несмотря на то, что в мире Google занимает более 80% рынка, в США его доля около 65%. Если вы хотите достучаться до сердец и кошельков граждан самой платежеспособной с...

Переход с AngularJS на Angular: жизнь после AngularJS (3/3) В заключительной части истории про миграцию на Angular мы поделимся избранными местами нашей внутренней документации, помогающими нашим разработчикам освоиться в новом фреймворке. Речь пойдет про особенности новых логики компиляции компонентов, Change Detection и концепции ...

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

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

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

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

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

Что нам стоит Scrum построить: интервью с Agile-коучем Василием Савуновым Всем привет! Сегодня у нас на связи agile-коуч Василий Савунов. Немного поговорим об организации работы команды по системе Scrum, а также получим ценные рекомендации по обучению Scrum и Kanban. Читать дальше →

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

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

Canon добавил 6 новых моделей в серии проекторов XEED и создал для них уникальный короткофокусный объектив 3 ламповых и 3 лазерных проектора расширили сегмент моделей XEED со сменными объективами, в ассортименте которых появился короткофокусный объектив с рекордным диапазоном вертикального смещением 90% При создании новой серии проекторов Canon сумел решить сразу несколько неорди...

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

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

[Перевод] Разработка игр под NES на C. Главы 22-23. Приложение 1 — мапперы и цифровой звук Здесь будет информация, не вошедшая в основной цикл, но слишком ценная, чтобы ее игнорировать. <<< предыдущая следующая >>> Источник Из нашего обсуждения почти полностью выпала тема мапперов — сопроцессоров в картридже. Если надо сделать игру размером боль...

Новый протокол QUIC уязвим перед DDoS-атаками QUIC (Quick UDP Internet Connections) - новый экспериментальный интернет-протокол, разработанный Google для замены старого стека протоколов WWW. QUIC работает поверх всем известных транспортных протоколов типа UDP. Сегодня уже происходит активное внедрение QUIC, в частности,...

Пользователей Telegram заражали через RLO-брешь Исследователи «Лаборатории Касперского» в октябре 2017 года обнаружили, что в Windows-клиенте мессенджера Telegram эксплуатируется RLO-уязвимость. Злоумышленники использовали брешь для рассылки жертвам зараженных файлов. О выявленной проблеме эксперты уведомили раз...

[Перевод] Функциональное программирование с PHP-генераторами Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, ...

Удивительный Angular От переводчиков Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы поговорим о новостях в мире Angular. Мы подготовили для вас наиболее интересные материалы и отобрали список вопросов, который вам должен понравиться. Отметим только, что если вы будете...

Мой опыт использования Google AdWords Express Несколько месяцев назад вернулся к оказанию IT-услуг в своём небольшом городе. Дабы громко заявить о себе первый раз решил попробовать контекстную рекламу в Интернете. Так как в нашей стране Яндекс и все его сервисы заблокированы, то выбор пал на корпорацию Google и его серв...

В Петропавловске представили дорожную карту по реализации концепции Smart City Рассмотрено 38 проектов по 6 направлениям.

Во Франции построят самую большую тропическую оранжерею в мире Территория Северной Франции не отличается особо мягким климатом, даже несмотря на близость всего региона к Гольфстриму. Потому-то это место и выбрали для реализации амбициозного проекта – компания Coldefy & Associates хочет построить вблизи Па-де-Кале самую большую оранжерею...

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

Игра на UWP: расширенный экран-заставка Привет, Хабр! Мы продолжаем нашу экспериментальную серию статей для программистов-самоучек, в которой Алексей Плотников, один из участников нашего сообщества Microsoft Developer, рассказывает о создании игры на UWP. Сегодня поговорим о расширенном экране-заставке. Не забывай...

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

«Цифровые государства»: с чего все началось Иллюстрация: Жан Гранвиль PD Консалтинговая компания Deloitte в конце 2017 года выпустила доклад о технологиях в международном государственном секторе. Главный тренд на 2018 год — то, что исследователи называют symphonic enterprise. Эта концепция подразумевает достижение кум...

[recovery mode] Авторизация с помощью сертификата ssl на nginx + Let's Encrypt Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью. В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и от...

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

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

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

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

[Из песочницы] Истоки мотивация в управлении по Agile и SCRUM Agile и SCRUM – это методики управления проектами, суть которых заключается в принципе «проверять и адаптироваться». Этот процесс заключается в том, что можно и нужно как можно чаще внедрять небольшие готовые вехи продукта, чтобы понимать, создается ли именно то, что нужно р...

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

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

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

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

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

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

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

Microsoft в течение двух лет потратит $500 млн на поддержку стартапов Microsoft анонсировала новую программу, направленную на оказание помощи стартапам в ускорении роста и реализации их продукции. В течение двух ближайших лет компания направит на финансирование программы, получившей название Microsoft for Startups, $500 млн. Microsoft...

Мобильные устройства изнутри. Исследование режимов загрузки планшета YB1-X90L Все публикации из серии Мобильные устройства изнутри1.Структура образов разделов, содержащих файловую систему. Часть 1. 2.Разметка памяти, структура файлов описания и разметки памяти. 3.Структура образов разделов, содержащих файловую систему. Часть 2. 4.Что такое GPT? 5.Изме...

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

Яндекс обновил интерфейс веб-версии Я.Диска Яндекс обновил интерфейс веб-версии Я.Диска и добавил контекстное меню для файлов. Теперь можно открывать контекстное меню нажатием правой кнопки мышки на файлы и папки, выделять сразу несколько файлов, перетаскивать их из папки в папку — как в проводниках на Windows и macOS...

Attention! S in Ethereum stands for Security. Part 3. Solidity in practice Представляем третью часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о том, какими особенностями обладает Solidity и какими уязвимостями они могут обернутьс...

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

Google удалил рекордное количество плохих приложений из Play Маркета в 2017 году Существует не так много онлайн-платформ, которые могут сравниться с размером Play Маркета Google. Предполагается, что в Play Маркет размещено более 3,5 миллионов приложений, и тысячи новых приложений загружаются ежедневно. Учитывая эти цифры, мы не будем точно заявлять, что ...

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

Дайджест новостей из мира PostgreSQL. Выпуск №5 Feature freeze Это, конечно, главное событие для сообщества. То, что не прошло только что закончившийся комитфест, не попадет в версию PostgreSQL 11. Что заморозили на feature freeze Это наша сводка попавших в нее важнейших патчей. Сводка сводкой, а статьи об PostgreSQL ...

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

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

Зачем ритейл и бизнес по доставке товаров переходят на IaaS: обзор кейсов Сектор e-commerce растет во всем мире. Это отражается и на смежных сферах. Например, на доставке товаров. Внедрение ИТ-технологий уже изменило работу курьерских служб и других сервисов доставки. В этой статье поговорим о том, какую роль здесь играет IaaS. Читать дальше →

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

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

Игра на UWP: С чего стоит начать Привет, Хабр! Сегодня мы запускаем экспериментальную серию статей. Вы погрузитесь в реалити-шоу для программистов-самоучек, в котором Алексей Плотников, один из участников нашего сообщества Microsoft Developer, будет рассказывать о том, как он создаёт игру для UWP. Под катом...

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

Bitcoin Wallet 6.21 Bitcoin Wallet — это автономный кошелек для Android. Приложение позволяет Вам совершать финансовые операции. Имеет калькулятор конвертации валют, отображает ваш баланс не только в BTC, но и в указанной ему валюте. Особенности кошелька: ваши адреса bitcoin и закрытые ключи к ...

Квантовые хранилища уже здесь Квантовая память была создана давно, но не отличалась стабильностью и эффективностью. Исследователи из Laboratoire Kastler Brossel (LKB) в Париже преодолели ключевой барьер в производительности квантовой памяти. Их работа позволила обеспечить первое безопасное хранение и из...

Портативная игровая приставка Smach Z Pro демонстрирует производительность в 40 к/с в игре The Witcher 3 Как мы недавно сообщали, вскоре на рынок должна попасть портативная игровая консоль Smach Z Pro, основанная на новеньком гибридном процессоре AMD Ryzen Embedded V1605B. Его параметры схожи с параметрами Ryzen 5 2500U: четыре ядра с частотами 2,0-3,6 ГГц и GPU Vega 8 с 5...

Apple, LG и Valve инвестировали в производителя экранов microLED Панели microLED вполне могут в ближайшем будущем стать обыденностью. Сегодня мы уже писали про эту технологию, когда говорили о Samsung. Теперь же поговорим о других компаниях. Как сообщается, Apple, LG и, что интересно, Valve инвестировали в компанию eMagin, которая к...

Movavi Video Converter — программа, которая поможет уменьшить размер видео без потери качества Movavi Video Converter поможет конвертировать, сжимать и оптимизировать файлы для разных устройств в пару кликов.

[Из песочницы] Распределённая система управления на базе SoC FPGA Реализация связки прошивки ПЛИС, ПО микроконтроллера NIOS и управляющего ПО под Linux на базе Altera Cyclone V SoC с использованием Avalon Mailbox для создания на их основе распределенной системы управления. Читать дальше →

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

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

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

Комиссия по связи США подтвердила существание iPhone X в цвете Blush Gold Первые слухи о том, что компания Apple может расширить цветовую линейку iPhone, добавив в нее цвет Blush Gold, появились еще в прошлом году. Изначально источники утверждали, что новая расцветка станет одной из особенностей iPhone X. Однако этого не произошло. «Юбилейный» iPh...

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

Сервис Google Lens стал доступен пользователям iOS Функция Google Lens, которая изначально была доступной лишь владельцам Pixel и не так давно пришла на другие Android-гаджеты, недолго пробыла в статусе эксклюзива указанной мобильной платформы. Теперь оценить преимущества ПО, предлагающего машинное зрение с пов...

Панель управления услугами. Часть 3. Рекогносцировка В предыдущей части я закончил рассказ про API и стык с фронтендом. В этой статье я расскажу про сам фронтенд и начну с темы, которая обычно раскрывается ближе к концу. Тестирование. Читать дальше →

Дайджест продуктового дизайна, март 2018 Дайджест собирает свежие статьи по дизайну интерфейсов, а также инструменты, паттерны, кейсы и исторические рассказы с 2009 года. Я тщательно фильтрую большой поток подписок, чтобы вы могли прокачать свои профессиональные навыки и лучше решить рабочие задачи. Предыдущие выпу...

Счёт новых комплектов памяти ADATA XPG Spectrix D41 DDR4 идёт на десятки Известный производитель устройств на основе оперативной и флеш-памяти ADATA официально представил модули и комплекты RAM стандарта DDR4, объединённые в серию XPG Spectrix D41. Количество новых предложений на момент релиза составило 30 шт., и их перечень, полага...

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

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

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

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

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

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

Троян Quant Loader распространяется через спам Исследователи предупреждают о новой спам-кампании, которая распространяет троян Quant Loader, загружающий программы-вымогатели и крадущий пароли. Специалисты компании Barracuda наблюдают массовую рассылку электронных писем с архивом, внутри которого находится ярлык с расшире...

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

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

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

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

Wine 3.0 и много плюшек На Хабре незамеченным прошел выход 3-й версии Wine — открытой реализацией Win32 API. Трудно найти другой проект с открытыми исходниками, пожалуй кроме самого ядра, который настолько много значит для пользователей Linux, MacOS, FreeBSD и других POSIX-совместимых ОС. Каждый ус...

[Перевод] Трансляция один-ко-многим: нужен ли медиасервер? TL;DR – ДА. Очередная статья нашего израильского коллеги по WebRTC и звонкам между браузерами переведена для Хабра. Мы в Voximplant разрабатываем собственное решение для организации видеоконференций через сервер и можем сказать что да, все именно так. Peer-to-Peer штука хо...

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

[Перевод] Как работает JS: веб push-уведомления Сегодня публикуем перевод девятой части серии статей, посвящённых применению веб-технологий и JavaScript. В этом материале мы исследуем веб push-уведомления. А именно, поговорим о механизмах, лежащих в их основе, и о том, как осуществляется подписка на уведомления, как устро...

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

Как на iPhone звонить из приложения Телефон на Viber, Skype, WhatsApp и другие мессенджеры С выходом iOS 10 владельцы iPhone получили действительно удобную фичу, позволяющую осуществлять VoIP-вызовы не запуская альтернативные мессенджеры. Всё что нужно знать о бесплатных звонках через приложение «Телефон» на iPhone читайте в этом материале.  Запустите приложение (...

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

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

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

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

Препарирование файлов .XLSX: редактирование файла средствами PL/SQL Часть 1. Введение, стили Часть 2. Строки, разметка Часть 3. Редактирование через PL/SQL Доброго дня. Третья часть разговора про формат XLSX подоспела. Я не случайно начал со внутреннего устройства файла. Не понимая где что находится и как выглядит, сложно понять, для чего я...

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

Вышло приложение Gmail Go для самых бюджетных смартфонов В декабре Google выпустила операционную систему Android Oreo (Go Edition), которая предназначена для бюджетных смартфонов. Она предлагает адаптированные версии приложений и сервисов, которые учитывают ограниченные аппаратные возможности устройств и возможности сотов...

Oppo A71 (2018) с другим «железом» представлен. Складываемый девайс тоже будет? Помимо мощных и достаточно дорогих флагманов на рынок постоянно выходит немало других интересных девайсов. Они достаточно производительны для большинства задач пользователей, но отличаются от самых ярких новинок своими ценами. Один из таких смартфонов — новая версия O...

[Из песочницы] Настройка Sublime Text 3 для работы с VHDL файлами Работа с VHDL в Sublime Text 3 Редактор Sublime Text существенно экономит время при работе с vhdl и verilog файлами. Для тех, кто не работал с редакторами типа Sublime Text, Notepad++ и т.п. опишу основные полезные функции данных редакторов: множественное выделение/редакти...

Интегрируем TeamCity с JIRA – без плагинов и администраторов Мы разрабатываем большое модульное UI-приложение, состоящее из большого количества плагинов с разными циклами релиза. Весь код располагается в одном репозитории, так что к разработчикам постоянно приходит QA-специалист и спрашивает: «А какой компонент поменялся? Какую версию...

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

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

Media Studio 14.23.117 • Более 30 спецэффектов в магазине эффектов • Кодирование до 30Mb/s, сохранение качества HD видео • Обработка производится на устройстве, интернет не требуется • Возможность выйти из приложения, как только процесс был добавлен в очередь, процесс можно отменить в любой ...

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

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

Теперь в Snapchat можно создавать собственные фильтры для лица Компания Snap расширяет возможности разработчиков, чтобы пользователи смогли создавать собственные фильтры для лица. Спустя четыре месяца после выхода приложения Lens Studio, которое позволило всем желающим создавать собственные объекты для дополненной реальности, Snap выпус...

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

[Перевод] Выпуск Rust 1.25 Команда Rust рада сообщить о новой версии Rust: 1.25.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода. Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить: $ rustup update stable...

В Microsoft исправили баг, но не полностью Во вторник стало известно о серьезной ошибке в Windows 10. Уязвимость CVE-2018-0826 позволяет установить произвольные атрибуты доступа к файлу при использовании процедуры SvcMoveFileInheritSecurity. Проблема возникает при перемещении объекта в другой каталог. Операционная си...

Street Fighter IV: Champion Edition выйдет на Android в этом месяце и будет включать эксклюзивного персонажа Многими игроками Street Fighter IV: Champion Edition, вышедшая в прошлом году для iOS, считается лучшим мобильным файтингом. Помимо качественного геймплея она еще и хорошо поддерживалась разработчиками обновлениями с новыми персонажами и нововведениями в режиме мультиплеера....

[Из песочницы] Совершенствуем Redux Привет, Хабр! Представляю вашему вниманию перевод статьи "Redesigning Redux" автора Shawn McKay. Должно ли управление состоянием вызывать проблемы на сегодняшний день? Интуитивно, разработчики видят скрытую правду: управление состоянием куда сложнее, чем должно бы...

[Перевод] Webpack 4, import() и CommonJS В JavaScript много забавного. У одного из самых популярных в мире языков программирования до сих пор нет стабильного синтаксиса разбиения кода на части. То есть в стандарте синтаксис ESM с «import» наперевес уже есть, но в браузерах и ноде он спрятан за флагами, а в вебпаке...

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

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

Производство информационных систем. Часть 3. Реализация проектного решения VII РАЗРАБОТКА ПЛАНА РЕАЛИЗАЦИИ И ВНЕДРЕНИЯ ПРОЕКТНОГО РЕШЕНИЯ Блестящим планам везет на проектировщиков. Скверным планам везет на исполнителей. Веслав Брудзинский. На этом этапе процесс вновь начинает крутиться вокруг руководителя проекта. Снова оценка трудоемкости, опреде...

Huawei P20 Plus получит батарею на 4000 мАч Компания Huawei уже 27 марта планирует показать новую линейку своих мобильных телефонов. Это не слух, а официальная информация, и нам даже известно, что пройдёт презентация в Париже. Производитель планирует показать сразу три смартфона семейства P20, среди которых будет очен...

Анатомия .NET Core: как мы настроили NTLM под Linux Мы продолжаем рассказывать про миграцию мобильного сервиса в ASP.NET Core и Docker. В этой статье будет идти речь про модуль WCF-клиента, упомянутый в предыдущей статье, NTLM-авторизацию и другие проблемы при его миграции. Сейчас расскажем, почему нам пришлось немного изучит...

[Перевод] Золотое правило git rebase Всем привет! Мы тут немного переделали наш курс посвящённый web-разработке и добавили ещё целый месяц изучения JS. Ну и как обычно у нас — рассмотрим что-нибудь интересное, что разбирается у нас на курсе. В данном случае — git rebase. Поехали. Что на самом деле происходит...

Подборка обучалок по AR/VR Виртуальная реальность будет генерировать 25 миллиардов дохода в год к 2021 (Source: Statistica) Зарплата в области VR будет от $75k/год до $200k/год. (Source: MediaJobs.com) Понятие искусственной реальности было впервые введено Майроном Крюгером (англ. Myron Krueger) в ко...

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

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

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

О кодерах, программистах и инженерах-программистах На этот пост меня натолкнули недавние статьи на Хабре "Кто такой программист?" и "Почему Python так хорош в научных вычислениях". Читая комментарии к ним, я неоднократно натыкался на рассуждения с разделением разработчиков на «кодеров», «программистов» и «инженеров-программ...

Применение паттерна observer в Redux и Mobx Паттерн "observer" известен наверное с момента появления самого ооп. Упрощенно можно представить что есть объект который хранит список слушателей и имеет метод "добавить", "удалить" и "оповестить", а внешний код либо подписывается либо оповещает подписчиков class Observable...

Publicis Groupe и Microsoft создадут платформу на основе искусственного интеллекта Marcel определит оптимальные схемы взаимодействия для 80 тыс. сотрудников Publicis Groupe и поможет найти контакт в нужном подразделении медиагруппы для решения конкретных бизнес-задач. Кроме того, платформа позволит сотрудникам использовать совокупные знания, накопленные в ...

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

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

[Из песочницы] REST API Best Practices Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan. REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе чер...

Доступны новые накопительные обновления для Windows 10 (1709, 1703, 1607, 1511, 1507) Сегодня второй вторник февраля, а значит самое время для того, чтобы проверить «Центр обновления Windows» и установить самые свежие обновления для всех поддерживаемых версий операционных систем семейства Windows. В данной новости мы рассмотрим список изменений для Windows 1...

ITSM и дизайн-мышление О применении одного из современных подходов в дизайне к созданию сервисов в своей статье рассказывает Саад Муслики (Saad Mousliki). Что такое дизайн-мышление? Дизайн-мышление — подход к решению проблем, основанный на эмпатии и понимании потребителя, чью проблему р...

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

Sony уменьшила ридер Digital Paper на базе E Ink со стилусом Компания Sony представила уменьшенную версию своего планшета на базе электронных чернил Sony Digital Paper. Ранее она выпускала 13,3-дюймовые ридера, а теперь стала доступна 10,3-дюймовая модель. Если предшественники имели формат A4, то модель с маркировкой Sony DPT-CP1 бли...

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

Погружение в разработку на Ethereum. Часть 4: деплой и дебаг в truffle, ganache, infura В прошлой статье мы рассмотрели разработанное приложение на Ethereum. Но обошли стороной вопрос как происходит процесс разработки. Ясно, что это не просто написание кода, который сразу работает. Большую часть времени придется потратить на то, чтобы доводить код, который “поч...

Как размер APK зависит от метода разработки приложения В этой статье мы сравним размеры одинаковых приложений на Java, Kotlin, React Native и Flutter.

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

Всё об откате. Часть 2. Применим способ на практике! В прошлой части мы узнали, как именно работает система подписывания прошивок. Пришло время закрепить знания! Сегодня мы рассмотрим процесс отката на iPhone 5s с 11.1.2 до 10.3.3. Итак, начнём! Что для этого нужно? iOS c Jailbreak. Либо любая версия iOS c tfp0-уязвимостью...

Почему AR Emoji Galaxy S9 проигрывают Animoji iPhone X AR Emoji — одна из новых функций Galaxy S9 и S9+. Смартфон создаёт аватар пользователя и позволяет обмениваться забавными стикерами с разными эмоциями. Функция работает не лучшим образом, что отметили многие эксперты. О причинах её недостатков рассказали разработчики из Loo...

Новые возможности LISP в nanoCAD 8.5 Поддержка LISP в nanoCAD появилась давно и связывалась в первую очередь со специальной командой LSP, которая открывает LISP-консоль, предназначенную для ввода выражений и анализа переменных: Рис. 1. Окно LISP-консоли Релиз 8.5 сделал следующий важный шаг вперед, теперь вв...

Мега-Учебник Flask, Часть IX: разбиение на страницы (издание 2018) Miguel Grinberg <<< предыдущая следующая >>> Это девятый выпуск серии Mega-Tutorial Flask, в котором я расскажу вам, как разбивать списки в базе данных. Читать дальше →

LG представляет короткофокусный проектор ProBeam LG HF85JS LG Electronics представила на российском рынке короткофокусный проектор ProBeam LG HF85JS. Проектор имеет яркость 1500 люмен, поддержку разрешения FULL HD. LG HF85JS позволяет выводить картинку размером 90″ при установке проектора всего в 8 см от стены. Достато...

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

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

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

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

Анонс AppsConf: 2 дня прикладных, хардкорных и хайповых докладов 8-9 октября в Москве пройдет AppsConf — конференция, посвященная проблемам в мобильной разработке и их решению. Это будет уже третья AppsConf, и теперь мы решили переработать формат и подойти к организации немного с другого угла. Но сначала о важном: Мы ищем докладчико...

Как сжать (уменьшить размер) PDF-файл на Mac (macOS) Формат .pdf идеально подходит для точной передачи текстовой информации, включая форматирование и другие элементы. Еще один очевидный плюс PDF — защита документа паролем. Но есть и один минус — подчас файлы «весом» в 200 КБ при переводе в этот формат разрастаются до...

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

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

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

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

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

Android Nougat – самая популярная версия Android Сегодня стало известно, что Android Nougat стала самой популярной версией операционной системы Google на мобильные устройства. Выпущенная ещё в 2016, она наконец обошла предыдущего лидера – Marshmallow. Android Nougat догнал и перегнал Marshmallow   На данный момент Nougat ...

Что происходит с надкусанным яблоком? Правильно — оно портится Или почему последние МакБуки Про — тот еще адок. Реальная история с недавно-купленным MacBook Pro в компании, который я взял домой для настройки. Итак, по пунктам: Нет USB и Ethernet. Надо было перекинуть файл 600Мб с одного компа на МакПро. Стоят рядом. Как? По медленному ...

Почему не работает один (левый) динамик в iPhone 7, 8, X. Разъяснение C выходом iPhone 7 и iPhone 7 Plus в списке важных опций новых смартфонов Apple не последнее место занимает «захватывающее объемное звучание». Однако его реализация вводит в заблуждение пользователей, которые принимают за стерео-систему две пары декоративных решеток внизу ко...

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

Apple уменьшит «вырез» для камеры TrueDepth только в 2019 году Несмотря на то, что до осенней презентации Apple остается еще больше полугода, в сети уже есть много информации, касающейся новых iPhone. Вместе с этим сетевые источники также активно обсуждают особенности яблочных смартфонов, которые должны выйти в 2019 году.  Читать дальше...

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

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

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

[Из песочницы] Обеспечение автоматизации проверки владения доменом на основе DNS-записей в протоколе ACME [перевод] От переводчика: Это перевод статьи от EFF A Technical Deep Dive: Securing the Automation of ACME DNS Challenge Validation. Автор оригинальной статьи: Joona Hoikkala. Дата оригинальной публикации: 23 февраля 2018 Ранее в этом месяце, Let's Encrypt (бесплатный, автоматизирова...

Простая Kanban-доска для Jira Здесь я расскажу, как сделать канбан-доску для проекта в Jira, пользуясь только QML и JavaScript. С небольшими доработками вместо Jira вы можете использовать любой другой трекер, имеющий REST API. СодержаниеПредыстория Альтернативы для умных и богатых Необходимые оговорки Н...

SpaceX запустила пятидесятую ракету Falcon 9 SpaceX — достаточно молодая компания. Основана она была в 2002 году, а первый успешный запуск ракеты Falcon 1 состоялся лишь в 2008 году. Falcon 9 впервые успешно стартовала в 2010 году. Сегодня SpaceX в очередной раз запустила ракету-носитель Falcon 9. На сей раз на о...

Html страница глазами разработчика приложений. Часть 1: «Подготовка» Передо мной встала задача по обновлению текущего сайта одной компании, и в соответствии тренду выбор пал на landing page с поддержкой мультиязычности. Посмотрев на реализации представленные в интернете я ужаснулась. В теле страницы куча текста! С такой разметкой же невозможн...

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

Windows 10 Build 17643 – Sets, WebDriver, Экранная лупа Как и обычно, компания Microsoft в конце недели выпустила очередную Redstone 5 сборку под номером 17643. Пока идет неразбериха с RTM-версией Redstone 4, Microsoft уже во всю работает над следующим релизом под кодовым названием Redstone 5. В предыдущей сборке усовершенствовал...

Xiaomi анонсировала портативный принтер фотографий дополненной реальности Уверен, многие помнят популярные в 80-90 годы фотоаппараты Polaroid, которые позволяли сделать снимок, что называется, «не отходя от кассы». К слову, компания Polaroid всё еще существует и даже продолжает производить новые модели своих устройств, однако спрос на ...

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

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

Xiaomi Redmi Note 5 Pro получил поддержку важнейшей функции iPhone X Самым главным новшеством iPhone X стал его безрамочный 5,8-дюймовый OLED-экран. Когда компания Apple внедрила его в телефон, то все остальные его особенности была добавлены именно из-за него. Пришлось сделать вырез в верхней его части, отказаться

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

Apple вернет в iPhone 2018 сканер отпечатков и уменьшит вырез До анонса iPhone 2018 еще много времени. Впрочем, утечки позволяют узнать, какими будут новинки от Apple. Ранее ожидался дебют двух iPhone с OLED-дисплеями, а также одного с ЖК-панелью. Но теперь ситуация изменилась. Свежие отчеты свидетельствуют о посредственных продажах iP...

Внимание, обновите Firefox до версии 58.0.1 для закрытия критической уязвимости Mozilla выпустила важное обновление веб-браузера Firefox для исправления критической уязвимости, которая позволяет злоумышленникам удаленно выполнять вредоносный код на компьютерах, на которых установлена ​​уязвимая версия браузера. Критическая уязвимость (CVE-2018-5124) ...

[Перевод] Опасные pickles — вредоносная сериализация в Python Всем привет! Panta rhei и вот уже приближается запуск обновленного курса «Web-разработчик на Python» и у нас остался ещё материал, который мы нашли сильно небезынтересным и коим хотим поделиться с вами. Чем опасны pickles? Эти соленые огурчики крайне опасны. Я даже не зна...

Что будет вместо Windows 10 S? Windows 10 S — необычная версия самой популярной компьютерной операционной системы. Она была представлена в мае минувшего года, и похоже, в будущем ее сменит другое программное решение, которое будет доступно в версиях Home, Enterprise и Pro операционной системы Wind...

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

Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps Сборка образов для Docker на основе базового образа, как правило, предполагает вызов команд в окружении этого базового образа. Например — вызов команды apt-get, которая есть в базовом образе, для установки новых пакетов. Часто возникает необходимость доустановить в базовую...

CQRS. Факты и заблуждения CQRS — это стиль архитектуры, в котором операции чтения отделены от операций записи. Подход сформулировал Грег Янг на основе принципа CQS, предложенного Бертраном Мейером. Чаще всего (но не всегда) CQRS реализуется в ограниченных контекстах (bounded context) приложений, про...

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

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

Дайджест событий для HR-специалистов в IT-области на февраль 2018 В феврале HR-специалисты продолжают встречаться и обсуждать проблемы и вызовы своей индустрии. В Москве состоится вторая конференции DevRelConf, посвященная IT-сообществам, а в Санкт-Петербурге проходит вторая премия IT HR AWARDS — премия дается для HR-проекты, реализованн...

[Перевод] Go: Хороший, плохой, злой У Go есть некоторые замечательные свойства, которым посвящён раздел «Хороший». Но когда речь заходит о применении этого языка не для создания API или сетевых серверов (для чего он и был разработан), а для реализации бизнес-логики, то я считаю Gо слишком неуклюжим и неудобны...

Расчет сроков и стоимости проектов: как это делается и можно ли упростить процесс? Если вы когда-либо занимались разработкой приложений на заказ, то наверняка знакомы с довольно рутинным процессом расчета стоимости и сроков реализации проекта. И ладно бы, если расчет проекта выполнялся лишь единожды, но зачастую потенциальные заказчики не могут уложиться...

Как мы ломали Glusterfs История началась год назад, когда к нам пришёл наш друг, коллега и большой эксперт по энтерпрайз стораджам со словами: «Парни, у меня тут завалялась шикарная хранилка со всеми модными фичами. 90Tb». Особой необходимости мы в ней не видели, но, естественно, отказываться не ...

[Перевод] Что нового в Swift 4.1? Xcode 9.3 и Swift 4.1, наконец-то, уже не являются бета! Данный релиз содержит долгожданные улучшения стандартной библиотеки и самого языка. Если вы не следите за процессом Swift Evolution, то эта статья для Вас. В этой статье вы узнаете о наиболее значительных изменениях,...

SpaceX запустила юбилейную ракету Falcon 9 SpaceX — достаточно молодая компания. Основана она была в 2002 году, а первый успешный запуск ракеты Falcon 1 состоялся лишь в 2008 году. Falcon 9 впервые успешно стартовала в 2010 году. Сегодня SpaceX в очередной раз запустила ракету-носитель Falcon 9. На сей раз на о...

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

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

[Перевод] Защита целостности кода с помощью PGP. Часть 2. Создание мастер-ключа Перед вами перевод второй части серии материалов, посвящённых защите целостности кода с помощью PGP. В прошлый раз мы разобрали основы PGP, а сегодня поговорим о том, как создавать 4096-битные мастер-ключи RSA, и о том, как их защищать. Читать дальше →

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

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

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

Вышла новая версия Solar inCode с функцией анализа исполняемых файлов для macOS Компания Solar Security, разработчик продуктов и сервисов для целевого мониторинга и оперативного управления …

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

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

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

ОАЭ намерены до 2021 года выйти в лидеры блокчейн-индустрии Шейх Мохаммед бин Рашид Аль Мактум, премьер-министр и вице-президент Объединенных Арабских Эмиратов, объявил о запуске блокчейн-стратегии, реализация которой рассчитана до 2021 года. Об этом сообщается на сайте OpenGovAsia. Как подчеркнул шейх Мохаммед, развитие и повсеместн...

[Перевод] Расшифровка сохранённых паролей в MS SQL Server Давным-давно, в далёкой галактике, пред-предыдущий администратор вашего SQL Server задал в нём linked server, используя специально для этой цели созданный аккаунт со сгенерированным паролем. Теперь вам с этим линком нужно что-то сделать, например перенести его на другой SQL ...

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

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

Используем теги в macOS. Все нюансы и тонкости Начиная с OS X Mavericks компания Apple внедрила в систему удобный и простой способ упорядочивания и организации папок и файлов – с помощью тегов. Совершенно неважно, находятся ли файлы на компьютере или в iCloud, найти их можно будет в одно нажатие. Сегодня мы расскажем, ...

Ulefone Power 3S с аккумулятором 6350мАч и распознаванием лиц После запуска первого в мире телефона с процессором Helio P70 (T2 Pro) Ulefone Power 3 компания Ulefone собирается официально представить в рамках мероприятия MWC 2018 еще один интересный аппарат среднего уровня и уже сделала его доступным для официальной предварительной про...

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

Avito Quiz: Golang Привет! Сегодня продолжаем серию мини-квизов в нашем блоге. Этот выпуск (предыдущий здесь) будет посвящен языку Go — будем считать, что это разминка в преддверие GopherCon Russia 2018 (кстати, у нас на этой конференции будет стенд, и мы планируем несколько интересных активно...

Главная особенность iPhone X теперь доступна на других смартфонах Компания Apple добавила в iPhone X, выпущенный осенью прошлого года, множество различных особенностей и функций, выгодно выделяющих его на фоне других мобильных устройств, в том числе выпущенных под этим же брендом. Одной из главных «фишек»

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

Выбираем Yii2 или laravel Введение Я уже писал подобную статью, но она была очень не полной и не снабженной примерами, поэтому я решил взять вторую попытку и попытаться раскрыть данный вопрос наиболее полно! В данной статье, не будут рассматриваться все тонкости разработки на фреймворках, поскольку ...

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

Samsung Galaxy Note 9 вряд ли получит экранный сканер отпечатков У корейской Samsung возникли определённые технические проблемы с реализацией экранного сканера отпечатков в Galaxy Note 8. И информаторы начали говорить о возможности его дебюта лишь в Galaxy Note 9. Но, похоже, что нам вряд ли стоит ждать этого события. Подробнее об этом чи...

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

Биткоин-стартап Luno добавил поддержку Segregated Witness Провайдер криптокошелька и биржи Luno добавил поддержку решения по масштабированию биткоина Segregated Witness (SegWit). Об этом сообщается в блоге компании. По словам представителей Luno, имплементация Segregated Witness в перспективе позволит пользователям уменьшить пример...

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

Российский сайт раздает майнер Monero вместо торрентов Исследователи из Palo Alto Networks обнаружили русскоязычный портал, распространяющий вредоносное ПО. Веб-ресурс b-tor[.]ru, появившийся в июле 2017 года, предлагает скачать более 275 000 разных приложений и файлов. По мнению специалистов, подозрительная активность на сайте ...

TicPods Free стремится стать альтернативой AirPods за $129 для Android С тех пор, как Apple выпустила AirPods в 2016 году, была постоянная охота на сопоставимую альтернативу для телефонов Android. Многие пробовали и терпели неудачу, и теперь Mobvoi делает удар в этой нише с TicPods Free, сообщает ITbukva.com.Mobvoi - это та же компания, которая...

Обновленные AirPods: поддержка команды «Привет, Siri» и защита от влаги? Компания Apple может работать над AirPods второго поколения, сообщает Bloomberg со ссылкой на осведомленные источники. Обновленные наушники, по данным собеседников издания, получат новый процессор, защиту от попадания влаги, а также возможность активации голосового ассисте...

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

NGA — следующий шаг в Zero Trust Forrester Research обсуждает, что организациям следует делать дальше для эффективной реализации стратегии безопасности …

Ребенок заблокировал iPhone на 47 лет Компания Apple добавила в iOS механизм, блокирующий устройство после нескольких неправильных попыток ввода пароля. Изначально iPhone или iPad будет заблокирован на одну минуту, потом на пять минут и т.д. На днях стало известно о том, что именно этот механизм заблокировал iPh...

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

Пишем собственный хитрый thread_pool-диспетчер для SObjectizer-а О чем эта статья? Одной из основных отличительных черт C++ного фреймворка SObjectizer является наличие диспетчеров. Диспетчеры определяют где и как акторы (агенты в терминологии SObjectizer-а) будут обрабатывать свои события: на отдельной нити, на пуле рабочих нитей, на одно...

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

[Перевод] Разрабатываем игру на SVG + React. Часть 1 TL;DR: в этих сериях вы узнаете, как заставить React и Redux управлять SVG элементами для создания игры. Полученные в этой серии знания позволят вам создавать анимацию не только для игр. Вы можете найти окончательный вариант исходного кода, разработанного в этой части, на Gi...

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

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

Dimnie: от гиков с GitHub до корпоративных бухгалтеров Введение В то время как ИБ-сообщество России внимательно наблюдает за новыми атаками известных преступных групп Carbanak, Buhtrap и RTM, в стане финансовых угроз незаметно произошло пополнение. И вызвано оно не появлением совершенно нового банковского трояна, а добавлением ...

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

Drupalgeddon2: началась эксплуатация SA-CORE-2018-002 Drupalgeddon2 все-таки пришел к нам. Что случилось? После безумного анонса «одной из самых страшных уязвимостей Drupal» все замерли в ожидании рабочего эксплойта и через 4 дня даже начали немного грустить, считая, что вся паника была зря, так как никто не мог придумать ни...

Как мы настроили Docker и Kubernetes в TFS Мы продолжаем наш путь к continuous integration (CD) и high availability (HA), основанной на избыточности. В предыдущей серии мы перевели API для мобильного приложения на .NET Core. Следующий логичный шаг для достижения CD — настроить сборку в Docker-контейнер. Сегодня поде...

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

0day язвимость в Adobe Flash Player В Flash Player обнаружена еще одна уязвимость нулевого дня, которая позволяет удаленное выполнение кода. Подробнее об этом читайте на THG.ru.

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

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

Обзор 3D-принтера Stratasys Objet30 Pro: компактный аппарат для профессиональных решений Большинство принтеров для объемной печати не могут похвастаться малыми габаритами. Например, популярная модель ProJet 3500 HDMax от 3D Systems весит 324 кг при размерах 75х120х151 см. Такие устройства занимают много пространства как в обычном офисе, так и конструкторском бюр...

В облачном хранилище OneDrive появилась защита от вирусов-вымогателей Microsoft добавила в облачное хранилище OneDrive функцию «Восстановление файлов» (Files Restore), которая ранее была доступна только владельцам бизнес-аккаунтов. Теперь ею могут пользоваться все, у кого оформлена подписка Office 365. Нововведение позволя...

Центр обновления Windows слегка преобразился Компания Microsoft постоянно что-то меняет в своей операционной системе Windows 10. Недавно в Windows Update добавили 2 полоски для визуального отделения информации и самого обновления. В сборке 17083 это все убрали и стало как раньше. При изменении размера окна боковая инфо...

Коллтрекинг Mango Office: под капотом сервиса В первой статье мы «срывали покровы» и рассказывали, что такое коллтрекинг. Затем подробно разобрали его настройки, теперь — о том, как мы в «Манго Телеком» создавали эту услугу и какой стек технологий используем. Читать дальше →

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

[Из песочницы] Написание Telegram-бота для Habrahabr В этой статье я хочу рассказать о том, как происходило написание Telegram-бота, который мог бы отправлять статьи Habrahabr, сначала на Python, а потом и на Go, и что из этого вышло. Читать дальше →

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

Глава Минкомсвязи заявил, что реализация "закона Яровой" не приведет к значительному росту цен на связь По словам Николая Никифорова, затраты крупных операторов на реализации требований закона в части хранения данных составят десятки миллиардов рублей, но "драматического роста цен точно не будет".

Pygest #22. Релизы, статьи, интересные проекты, пакеты и библиотеки из мира Python [18 января 2018 — 4 февраля 2018] Всем привет! Это уже двадцать второй выпуск дайджеста на Хабрахабр о новостях из мира Python. В этом выпуске вы найдете статьи о MicroPython, сравнение производительности Python, Numba и C ++, основах веб скрапинга и многое другое. Присылайте свои интересные события из ми...

Nokia будет поставлять оборудование для новой оптической сети China Mobile Компания Nokia сообщила, что крупнейший китайский оператор сотовой связи China Mobile выбрал ее в качестве партнера по поставкам оборудования для развертывания региональной оптической транспортной сети. Новая сеть будет поддерживать улучшенные межсетевые соединения с дата-це...

Второе дыхание многомода Вместе с увеличением числа подключаемых к сетям устройств и объемам генерируемых ими данных растут и требования к пропускной способности сетевых инфраструктур. Основную нагрузку по передаче трафика практически во всех сетях сегодня несут волоконно-оптические системы. Причем ...

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

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

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

Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL Designing Schemaless, Uber Engineering’s Scalable Datastore Using MySQL By Jakob Holdgaard Thomsen January 12, 2016 https://eng.uber.com/schemaless-part-one/ Проектирование Schemaless хранилища данных Uber Engineering с использованием MySQL. Это первая часть из трех час...

Как с помощью анализа геоданных предсказать количество вызовов экстренных служб в разных частях города? Попробуйте решить задачу из онлайн-хакатона Geohack.112. Дано: территория Москвы и Московской области была разделена на квадраты размеров от 500 на 500 метров. В качестве исходных данных представлено среднее количество вызовов экстренных служб в день (номера 112, 101, 102, 1...

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

Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так» Здесь вы не увидите ни строчки кода. Мы поговорим об обычных людях — о наших пользователях, точнее о том, как сообщать им, если в системе возникла какая-то непредвиденная ситуация. В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается п...

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

[Перевод] Тонкости value restriction в F# Одной из отличительных особенностей языка F#, по сравнению с более распространёнными языками программирования, является мощный и всеобъемлющий автоматический вывод типов. Благодаря ему в программах на F# вы почти никогда не указываете типы явно, набираете меньше текста, и по...

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