Социальные сети Рунета
Четверг, 25 апреля 2024

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

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

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

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

Корпоративный IaaS-дайджест: 25 материалов о виртуализации, инфраструктуре и ИБ Сегодня мы собрали для вас статьи из «Первого блога о корпоративном IaaS»: о виртуализации, кибербезопасности и облачных сервисах. Под катом — кейсы использования облака в различных отраслях, материалы о работе IaaS-провайдера и ответы на вопросы о защите ПД. Читать дальш...

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

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

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

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

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

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

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

Property Injection своими руками (Xamarin/.Net) В данной статье мы рассмотрим, чем отличается Property Injection от Constructor Injection и реализуем первое в дополнение к последнему на базе небольшого DI-контейнера в исходниках. Это обучающий материал начального уровня. Будет полезен тем, кто ещё не знаком с DI-контейне...

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

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

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

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

[Из песочницы] Design by Introspection Что, если бы мы умели располагать атомы один за другим как нам угодно? Ричард ФейнманСколько парадигм программирования вы сможете назвать? Список на этой странице википедии содержит ни много ни мало 76 наименований. Этот список может быть пополнен ещё одним подходом, названн...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

«Нетоскоп» делится результатами научных изысканий На сайте проекта «Нетоскоп» опубликованы результаты научно-исследовательских работ, проведенных в 2017 году в рамках научно-технического сотрудничества. Всего было проведено три НИР, в двух из которых исследовались протоколы, используемые для установки TLS-соединений, а в ...

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

SecaaS как вид облачных услуг и другие стандарты проекта ГОСТ «Защита информации при использовании облачных технологий» В предыдущей статье «Всё по ГОСТу. Защита информации при использовании технологий виртуализации», мы упомянули про разработанный проект ГОСТ «Защита информации при использовании облачных технологий». Несмотря на то, что он уже не первый год лежит без утверждения, мы можем ...

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

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

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

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

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

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

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

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

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

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

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

Управление hardware-продуктом: путь тяжелых компромиссов За последние несколько лет в России появилась и оформилась новая профессия – менеджер по продукту. Конечно, 10 лет назад были специалисты, которые выполняли обязанности менеджера по продукту или эти обязанности были распределены между несколькими людьми. Теперь же на рынке...

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

Технический долг и места его обитания Эта статья — вольный пересказ доклада, который я посетил на конференции GOTO Berlin 2017: A Crystal Ball to Prioritize Technical Debt. Изображения из доклада и права на них принадлежат автору @AdamTornhill. Каждый разработчик в принципе понимает, что такое технический дол...

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

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

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

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

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

[Перевод] О главнейшей причине существования современных JS-фреймворков Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило...

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

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

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

[Перевод] 20 модулей для Node.js, о которых полезно знать Филип Акерман, автор статьи, перевод которой мы сегодня публикуем, говорит, что в последние годы платформа Node.js становится всё популярнее и популярнее. Она часто используется для создания серверных частей веб-приложений, а также для решения других задач, возникающих в про...

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

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

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

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

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

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

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

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

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

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

Познаём Нирвану – универсальную вычислительную платформу Яндекса Машинное обучение превратилось в модный термин, но при работе с большими объёмами данных оно уже много лет является жизненной необходимостью. Яндекс обрабатывает более 200 миллионов запросов ежедневно! Когда-то в интернете было так мало сайтов, что наилучшие из них помещалис...

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

[Перевод] Ответы на распространённые вопросы о шаблоне render prop Кент С. Доддс, автор материала, перевод которого мы публикуем сегодня, говорит, что недавно группа программистов, с которыми он должен был провести тренинг по React, заинтересовалась шаблоном «render props», который ещё называют шаблоном «функция как потомок» (в разных публи...

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

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

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

Проектирование 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. Это первая часть из трех час...

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

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

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

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

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

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

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

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

React HoC в TypeScript. Типизация без боли Много раз, когда шла речь о переводе React-проектов на TypeScript, я часто слышал, что самую сильную боль вызывает создание HoC’ов (Higher-Order Components — компоненты-обертки). Сегодня я покажу приём, как делать это безболезненно и довольно легко. Данный приём будет поле...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эпизод 0. Hack vs Mac. Xcode build time Эта статья начинает собой цикл из нескольких об использовании Hackintosh в повседневной работе и особенно с IDE Xcode 9 и будет больше интересна разработчикам под языки objc/swift. 
С другой стороны, мой первый хак был собран, когда я не был знаком с этими языками и может пр...

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

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

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

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

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

UE4 и мобильная разработка: мифы и реальность Широко распространено мнение, что Unreal Engine 4 — слишком «тяжелая» технология для мобильных игр. В то же время число проектов, выпущенных на этом движке в мобильных сторах, растёт с каждым днём. Почему все больше разработчиков выбирают для своих проектов UE4? С какими сл...

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

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

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

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

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

[Перевод] Rekit Studio: IDE для React-приложений Сегодня мы публикуем перевод материала Нейта Ванга, создателя Rekit. Здесь он рассказывает о новом стабильном релизе системы, Rekit Studio. Это — полноценная IDE для разработки приложений, созданных с использованием технологий React, Redux и React Router. Он говорит, что его...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Network-дайджест: 20 материалов о сетях, протоколах и битве за Net Neutrality В нашем тематическом дайджесте мы собрали статьи из корпоративного блога VAS Experts, посвященные теории организации сетей, законодательству и разным видам интернет-протоколов. Их мы дополнили постами из нашего блога на Хабре: о сетевом нейтралитете и блокировках. Читать д...

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

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

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

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

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

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

Погружение в шаблоны и приручение GPO Windows В очередной статье из цикла «конспект админа» мне хотелось бы освежить в памяти несколько нюансов использования групповых политик. Заодно поразвлекаемся с созданием своих шаблонов и с автоматизацией работы с этими самыми политиками. Читать дальше →

[Из песочницы] Паттерны проектирования в Cocos2d-x Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk. Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где при...

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

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

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

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

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

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

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

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

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

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

[Из песочницы] Есть ли порох в пороховницах? Hackathon Radio Canada 2018 (Часть первая, собираем команду) В этой статье я хочу представиться, рассказать что толкнуло меня на участие, как я смог собрать команду, какие выводы для себя я вынес и просто поделиться своим опытом участия моем первом хакатоне. Извините коротко не получилось, текста много и не всё по теме. Надеюсь, э...

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

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

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

[Из песочницы] Мониторим каналы связи посредством Juniper RPM и Zabbix На написание статьи меня натолкнул этот материал — Автоматическое переключение маршрута в Juniper SRX. Захотелось немного расширить тему использования RPM. Эта технология является аналогом механизма SLA в мире Cisco, и как и у Cisco предназначена больше не для переключения к...

Умный «фейс-контроль»: алгоритмы машинного обучения для эффективного кэширования данных на SSD Данная статья была представлена на конференции SECR2017, где получила премию Бертрана Мейера за лучший исследовательский доклад. В этом материале руководитель исследовательской лаборатории «Рэйдикс» Светлана Лазарева рассказывает о новом алгоритме заполнения параллельного к...

Реализуем свой оператор в Entity Framework Core Однажды пасмурным мартовским субботним утром я решил посмотреть, как обстоят дела у Майкрософта в благом деле по трансформированию мастодонта Entity Framework в Entity Framework Core. Ровно год назад, когда наша команда начинала новый проект и подбирала ORM, то руки чесались...

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

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

Apple предупредит юзеров об использовании их персональных данных В iOS 11.3 добавили значок для обозначения запросов персональных данных

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

Эффективное использование spot-инстансов AWS Spot-инстансы — это по сути продажа свободных в данный момент ресурсов со отличной скидкой. При этом инстанс могут в любой момент выключить и забрать обратно. В статье я расскажу о особенностях и практике работы с этим предложением от AWS. Читать дальше →

Monster Fishing 2018 0.0.32 Реалистичная рыбалка, где вы будете путешествовать по всему миру. Выбирайте себе различные снасти из многочисленных представленных в игре и начинайте свое приключение. Ловите различных рыб, которых в этой игре представлено более 250 видов взятых со всего мира. Соберите свой ...

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

Анимации в Android по полочкам (Часть 1. Базовые анимации) Всем привет! Сегодня я хочу немного рассказать про анимацию в Android. Думаю для всех достаточно очевидный факт, что анимации могут украсить наше приложение. Но я считаю, что они могут намного больше. Первое это — хорошие анимации даже при скромной графике могут вывести наш...

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

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

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

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

Нечеткий поиск (fuzzy search) в реляционных базах данных Для поиска нужной информации на веб-сайтах и в мобильных приложениях часто используется поиск по словам или фразам, которые пользователь свободно вводит с клавиатуры (а не выбирает например из списка). Естественно, что пользователь может допускать ошибки и опечатки. В этом с...

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

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

[recovery mode] Решаем загадку круглых чисел на графике выборов 2018 Данная статья является ответом на вот эту статью (Анализ результатов президентских выборов 2018 года. На федеральном и региональном уровне). В той статье меня удивила фраза автора: Вместо нормального или логнормального распределения мы видим интересную кривую, с очень стр...

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

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

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

GObject: наследование и интерфейсы В комментариях к прошлой статье часто высказывалось мнение, что система GObject не нужна ввиду наличия C++ и других высокоуровневых языков. Помимо чисто технических моментов, о которых уже поговорили в комментариях, хотелось бы затронуть другой аспект. Вероятно, большинство ...

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

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

Основы программирования на SAS. Урок 1 Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS и...

[Из песочницы] Делаем приём платежей криптовалютой своими руками Привет, Хабр! Время от времени замечаю вопросы о том, как принимать платежи Bitcoin на своём сайте без использования сторонних сервисов. Это достаточно просто, но надо учитывать, что есть подводные камни. В этой статье я постараюсь максимально подробно, без акцента на каком-...

[Из песочницы] Надоевшая почта или как отправлять сообщения с сайта в Telegram через Node.js (Express) После нескольких писем, отправленных с сайта себе на почту, понял что это достаточно неудобно, не современно (возможно), как минимум не прикольно. Задался целью отказаться от использования smtp для формы в пользу api Телеграма. Так как мое приложение работает на ноде, поду...

[Перевод] О стримах и таблицах в Kafka и Stream Processing, часть 1 * Michael G. Noll — активный контрибьютор в Open Source проекты, в том числе в Apache Kafka и Apache Storm. Статья будет полезна в первую очередь тем, кто только знакомится с Apache Kafka и/или потоковой обработкой [Stream Processing]. В этой статье, возможно, в первой из ...

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

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

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

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

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

[BugBounty] Раскрытие 5 миллионов ссылок в приватные чаты Telegram и возможность редактирования любой статьи telegra.ph   Вот уже больше года я пользуюсь мессенджером Telegram: это удобно и, насколько мне казалось, полностью конфиденциально. Так как я исследователь безопасности web-приложений, то должен был проверить соответствующую версию приложения на уязвимости. Я не видел в этом острой ...

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

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

Используем Apple Pay и карту Тройка в качестве пропуска на работу TL;DR В статье описывается процесс создания системы контроля доступа (СКУД), в которой в качестве идентификатора могут использоваться карты Тройка, любые бесконтактные банковские карты EMV, а также телефоны с Apple Pay и Android Pay. Управление системой происходит через Te...

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

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

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

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

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

[Перевод] Перевод книги «Социальная архитектура»: Торговые марки для open source проектов Торговые марки. Что они такое, нужны ли они вам и сколько это стоит? Эти вопросы часто возникают при построении open source проекта. Торговые марки могут быть ключом, который защитит проект от недобросовестных людей. Хотя тут мало что советовать. Поэтому вот мой гид по испол...

PHP ACL. Попытка сделать код безопаснее Приветствую хабрасообщество. Представьте? что вы разрабатываете какой-то продукт в котором есть система модулей. Модули могут писать сторонние разработчики. Далее вы загружаете модули в систему и запускаете код. В такой ситуации часто возникает вопрос — как можно ограничить...

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

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

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

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

Самой посещаемой социальной сетью в Москве в 2017 году была Facebook Департамент информационных технологий (ДИТ) Москвы поделился статистикой использования публичных сетей Wi-Fi. Специалисты изучали входящий и исходящий трафик различных сервисов, а также считали количество запросов к их серверам. Об этих данных пишет «Коммерсан...

[Перевод] Микросервисное безумие пройдет в 2018 году Именно с таким тезисом выступил Дэйв Керр, статья которого собрала за месяц 90 комментариев, вызвала бурные дискуссии на Reddit и Hacker News, а нас заинтересовала настолько, что мы решили срочно ее перевести. Пользуясь случаем, поинтересуемся: хотите ли допечатку основопола...

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

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

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

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

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

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

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

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

Хватит писать отчеты: три идеи для НКО, о чем сказать, когда в штате нет журналиста Некоммерческим организациям стоит как можно меньше писать статьи в формате отчетов. Такой вывод сделал руководитель проекта «Бременские консультанты» Андрей Мисюрев. Специалист рассказал Теплице, как заинтересовать читателя с помощью историй, памяток и работать с поисковыми ...

[Из песочницы] Программирование согласно контракту на JVM Привет, Хабр! Представляю вашему вниманию перевод статьи "Programming by contract on the JVM" автора Nicolas Fränkel. Читать дальше →

Какие мессенджеры и соцсети предпочитают москвичи Наиболее популярным мессенджером среди москвичей является WhatsApp, при этом Telegram уже обогнал по объему трафика традиционно популярный Viber.  Об этом свидетельствуют данные об использовании сетей публичного Wi-Fi города Москвы. WhatsApp является безусловным лидером сред...

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

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

Code Conventions: как мы сохраняем быстрый темп разработки PHP-проекта Привет, Хабр. Меня зовут Евгений Удодов, я сооснователь и технический директор компании Roistat. Хочу поделиться нашим опытом разработки большого и сложного продукта — системы аналитики. TL;DR: Мы выложили на github наш Code Conventions и рассказали в статье о том, как его...

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

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

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

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

«ВКонтакте» объяснила утечку персональных данных использованием ненадёжных VPN-сервисов Разработчики соцсети обнаружили в «слитых» данных ключи доступа к ботам Telegram и историю запросов с сайта ФБР.

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

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

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

Новые контроллеры движения PlayStation VR в патентных заявках от Sony Компания Sony Interactive Entertainment подала заявку на патент новых контроллеров движения PlayStation VR, которые совсем не похожи на текущие разработки и существующие контроллеры. В настоящее время PlayStation VR использует контроллеры Move и камеру PlayStation для отсле...

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

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

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

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

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

SEO оптимизация статьи: актуальный план Осторожно! Лонгрид. Речь пойдет об оптимизации страницы статьи для поисковых систем. Данный материал больше подходит для продвижения в Яндексе. Специально для Хабровцев, в заключении есть список всех разделов применимых к Хабрастатьям. UPD// Эта страница уже в топе Google. ...

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

[Перевод] Самое опасное слово в разработке программного обеспечения «Просто размести это где-нибудь на сервере». «Просто добавь кнопку “Избранного” справа от элемента». «Просто добавь [вставьте здесь сложную опцию] в экране настроек». Использование слова «просто» указывает на множество сделанных допущений. Несколько месяцев назад Брэд Фро...

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

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

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

[Перевод] Менеджерам пора проснуться «Разве у тебя нет цикла, который можно написать?» Самая популярная моя статья называется «Почему ваш программист просто хочет кодировать». К настоящему моменту её прочитали более 62 000 раз. В статье рассказывается о программисте Джейми, который пришёл в компанию перепол...

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

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

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

[Перевод] Уроки, которые можно извлечь из кодовой базы LLVM/Clang От переводчика: в статье, которую я предлагаю вашему вниманию, авторы исследовали кодовую базу LLVM/Clang с помощью инструмента анализа кода CppDepend, позволяющего вычислять различные метрики кода и анализировать большие проекты с целью улучшения качества кода. Время доказ...

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

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

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

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

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

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

Авторы банковского трояна Dridex осваивают новые рынки Dridex известен с 2014 года и является одной из наиболее сложных вредоносных программ в своей категории. Разработка Dridex продолжается - еженедельно выходят новые версии бота, периодически появляются крупные обновления. Так, в начале 2017 года вышла версия Dridex с поддержк...

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

Ускорение перечисления процессов и потоков в ОС Windows Иногда бывает нужно перечислить все процессы или потоки, которые в данный момент работают в ОС Windows. Это может понадобиться по разным причинам. Возможно, мы пишем системную утилиту вроде Process Hacker, а может быть мы хотим как-то реагировать на запуск/остановку новых пр...

Основы информационной безопасности. Часть 4. Стандарты и спецификации Это четвертая статья в цикле статей по теме «основы информационной безопасности». Описанные ранее вопросы: Часть 1: Виды угроз Часть 2: Информация и средства ее защиты Цена ошибки Часть 3: Модели информационной безопасности Специалистам в области информационной безопасн...

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

Умный навесной замок Koogeek Smart Padlock запоминает до 50 отпечатков пальцев и работает год без подзарядки Мы неоднократно писали об умных дверных замках, которые в последнее время пользуются все большей популярностью. Можно вспомнить решения таких производителей, как August Smart и Xiaomi. Компания Koogeek представила не совсем привычный продукт Koogeek Smart Padlock,...

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

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

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

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

[Из песочницы] Приложение Vue.js + Asp.NETCore + TypeScript без Webpack Создаем на Visual Studio 2017 модульное приложение Vue.js + Asp.NETCore + TypeScript без использования Webpack или Broserify. Причем сначала делаем проект с использованием Webpack, а потом без него. Чтобы прочувствовать, от какого счастья мы отказываемся. Материал рассчита...

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

[Перевод] Эксперименты с AR: когда C# встречается с CSS Часто при работе над проектом самые большие технические сложности возникают тогда, когда меньше всего этого ожидаешь. В моём случае это произошло, когда я работала с Google Creative Lab над прототипом эксперимента по переносу песни Грейс Вандервол Moonlight в дополненную ре...

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

От установки AWX до запуска первого плейбука — настройка централизованного управления Ansible Количество серверов в нашей инфраструктуре уже перевалило за 800, хотя еще год назад их было около 500. Для работы с этим всем активно используются решения от Red Hat. Про FreeIPA — для организации и управления доступами для Linux-серверов — мы уже писали, сейчас же я хочу...

[Перевод] Отключение PowerShell и прочие особенности борьбы с Malware. Часть I Кажется не так давно это было, примерно в 2015 году, мы начали слышать о хакерах, не использовавших вредоносных программ внутри периметра атакуемой цели. А использовали они то, что было под рукой – это были различные инструменты, находившиеся на целевом сайте. Это оказалось ...

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

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

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

Автозаполнение Google ежедневно экономит 200 лет ввода Компания Google провела исследование и заявила, что каждый день функция автоматического заполнения текстового запроса в поисковике Google экономит пользователям около 200 лет. Также исследование показало, что в среднем данная функциональность сокращает время ввода прим...

Изучение Spring Framework 100% через практику. Активные туториалы и язык разметки KML. Проект KciTasks (beta) Spring Framework традиционно считается одним из самых сложных и при этом высокооплачиваемых. Однако, существующие подходы к его изучению крайне неэффективны. Я хотел бы предложить вам принципиально новый подход к изучению спринга, который заключается в использовании концеп...

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

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

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

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

Новости Android-разработки, на которые стоит подписаться В этом году Андроиду стукнет 10 лет, но разработка приложений не превратилась в закостеневшую рутину, а продолжает активно меняться: достаточно посмотреть, насколько за год изменилась ситуация с Kotlin. Значит, Android-разработчику надо держать руку на пульсе, следя и за п...

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

[Из песочницы] Угон Телеграм на волнах паники Сегодня очень неоднозначно развивается ситуация вокруг совместного решения Федеральной службы безопасности Российской федерации и Роскомнадзора о блокировке мессенджера «Телеграм». Данное решение опрометчиво по целому ряду причин, и несет в себе больше проблем, чем пользы в ...

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

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

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

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

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

[Из песочницы] Как сдать тест MTCNA (Mikrotik) на 100% Эта статья будет полезна тем, кто впервые собрался получать сертификат от Mikrotik, но боятся «неизведанно» и профукать деньги. Я вчера (14-04-2018) сдал тест на MTCNA на 100% и поделюсь с Вами как я достиг этого. Читать дальше →

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

[Перевод] Шаблоны проектирования в React Шаблоны проектирования, которые возникли и развились в экосистеме React за время её существования, улучшают читабельность и чистоту кода, облегчают повторное использование компонентов. Автор этого материала говорит, что начал работать с React около трёх лет назад. В то врем...

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

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

[Из песочницы] Как быть* компилятором — создание компилятора на JavaScript Привет, Хабр! Представляю вашему вниманию перевод статьи "How to be* a compiler — make a compiler with JavaScript" автора Mariko Kosaka. *Все верно! Быть компилятором — это здорово! Дело было одним замечательным воскресеным днем в Бушвике, Бруклин. В моем местном книжном м...

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

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

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

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

Nokia 9 получит монобровь и станет самым продвинутым флагманом HMD Global в 2018 году iPhone X стал основоположником новой моды на использование моноброви. И свежие утечки предполагают, что этот элемент дизайна будет использоваться даже в Nokia 9 - самом продвинутом флагмане HMD Global в 2018 году. Подробнее об этом читайте на THG.ru.

[Перевод] Иллюстрированное руководство по устройству сети в Kubernetes Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материал...

[Из песочницы] Какие привычки делают меня лучше как разработчика ПО? Привет, Хабр! Представляю вашему вниманию перевод статьи «What habits made me a better Software Engineer?» от Sonny Recio. Наши привычки — это ежедневные шаблоны поведения в жизни. Они могут быть как плохими, так и хорошими. Привычки могут быть жизненно необходимыми, наприм...

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

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

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

[Из песочницы] Самый выразительный. Краткое пособие по языку Red Привет всем! Сегодня я хотел бы рассказать о языке программирования Red. Язык Red является непосредственным преемником более раннего языка REBOL. Оба они малоизвестны в русскоязычном сообществе, что само по себе странно, т.к. указанные языки представляют интерес как с точки...

Создаем TUI на python Привет, Хабр! В этой статье я расскажу про npyscreen — библиотеке для создания текстовых интерфейсов для терминальных и консольных приложений. Читать дальше →

Samsung выпустила SSD с рекордной ёмкостью 30 ТБ Компания Samsung начала массовое производство SSD-накопителя PM1643 с рекордным для форм-фактора 2,5 дюймов объёмом в 30,72 ТБ. Устройство предназначено в первую очередь для использования в корпоративном секторе.  Новый SSD-накопитель PM1643 содержит 32 набора микросхем...

Monster Super League 1.0.18022704 Монстр Суперлиги зовет вас в фэнтезийный мир Astromons, от мило стильный, поймать и собирать монстров всех размеров и форм. Соберите более 550 типов Astromon в монстра Суперлиги. # Я выбираю тебя!  Ловить диких Astromons там в поле, или вызвать их штриховкой загадочны...

[Перевод - recovery mode ] Hyperapp + Parcel В данном посте, мы рассмотрим два новых инструмента из мира фронт-енд разработки. Они оба разработаны с мыслью о простоте и легкости использования. Первый инструмент это очень маленький фронт-енд фреймворк Hyperapp, а второй это бандлер Parcel. Вместе они могут быть лучшим в...

Опыт внедрения «Континент TLS VPN» в кластерной конфигурации Привет, Хабр! Перед нами встала задачи по внедрению продукта компании «Код Безопасности» «Континент TLS VPN». В данной статье мы делимся опытом по внедрению данного продукта Читать дальше →

Haier Asu – “умные” часы с проектором Haier – китайская компания, производящая бытовую технику, телевизоры, мобильные устройства, гироскутеры, кондиционеры и т.д. На MWC 2018, компания представила свою разработку – часы Haier Asu со встроенным проектором, который позволяет отображать дополнительную и...

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

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

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

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

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

Бесплатный вебинар на тему «Создание чат ботов в Facebook» Спикер: Влад Богуцкий, SMM-специалист Линия магазинов EVA, автор блога bogutskiy.org.ua. От спикера На вебинаре расскажу «Как сделать бота в Facebook» для своей бизнес страницы без помощи программиста. Рассмотрим один из сервисов для создания ботов. Про...

LG анонсировала новый смартфон LG V30s с поддержкой ИИ Согласно информации, предоставленной сайтом ETNews, компания LG вскоре покажет обновленную модель смартфона LG V30s. Презентация должна состоятся на Mobile World Congress в этом году. Предположительно, LG V30s будет иметь схожий с оригинальным V30 дизайн с единственным отли...

[Из песочницы] Соревнование Pri-matrix Factorization на DrivenData с 1ТБ данных — как мы заняли 3 место (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Animal detection in the jungle — 1TB+ of data, 90%+ accuracy and 3rd place in the competition". Или чему мы научились, как выигрывать призы в таких соревнованиях, полезные советы + некоторые мелочи TLDR Сут...

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

Cluster of Puppets: опыт использования Amazon ECS в iFunny Несмотря на название, эта статья не имеет ничего общего с системой управления конфигурацией Puppet. Вместе с трендом «распила» больших монолитов на небольшие микросервисы в эксплуатацию веб-приложений пришёл тренд на оркестрацию контейнеров. Сразу после хайпа на Docker подн...

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

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

Язык жестов объединяет людей и животных Ученые обнаружили, что обезьяны видов шимпанзе и бонобо могут общаться на одном языке жестов. Схожие жесты используют и люди. Ученые уже знали, что шимпанзе и бонобо имеют около 90% схожих жестов (по сравнению с примерно 80% для шимпанзе и орангутанов и 60% для шимпанзе и г...

[Из песочницы] Использование Reflection.Emit для предварительной компиляции выражений в MSIL Привет, Хабр! Представляю вашему вниманию перевод статьи "Using Reflection.Emit to Precompile Expressions to MSIL" автора Steve Marsh. Введение Классы в этом проекте позволяют анализировать текстовые выражения, введенные пользователем, и компилировать их на сборк...

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

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

[Перевод] Hyperpilot открыл исходный код своих продуктов на 100% Мы открыли исходный код всех наших продуктов, над которыми работали последний год, и в этом посте я хочу кратко рассказать о них. Последний год Hyperpilot работал в скрытом режиме, поэтому позвольте объяснить, что мы собирались делать. Наша миссия – дать интеллект инфрастру...

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

[Из песочницы] Как я переехал в ЕС: легализация, изучение языка, поиск жилья и работы В статье описывается мой личный опыт. Я расскажу, как осуществил переезд с $1000 в кармане, сколько зарабатывал на первой работе, как открывал ИП и сколько налогов плачу сейчас. Цены указаны с учетом курса: 1 USD = 3.3 PLN Ополе ночью, Польша. Фото: Paweł Uchorczak Около 5 ...

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

Расходные материалы для 3D-принтера. Как правильно выбрать пластик для FDM-печати Данная статья представляет собой перевод, с моей небольшой импровизацией, материала известного европейского сайта 3dprint.com (Guide to Selecting and Buying 3D Printing Filament in 2018)Подробнее...

[Перевод] Смешанная реальность помогает находить места для баз на Марсе 12 апреля 1961 года Юрий Гагарин совершил первый полет в космос. Сегодня — уже 57-ая годовщина этой памятной даты. За эти годы космическая отрасль развилась до того, что люди уже собираются колонизировать Марс. А Microsoft не остается безучастна к этому процессу. Под катом в...

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

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

Нейронная сеть оценит коммерческую недвижимость Для выбора наиболее подходящих аналогов используется нейронная сеть, обрабатывающая информацию о характеристиках объекта, его местоположении, пешеходном трафике, ценовом зонировании, а также близости к более чем 200 категориям POI (point of interest, точки интереса).Сервис а...

Как работает iCloud? Все, что вы должны знать про облако Apple Хранить данные на облаке и всегда иметь их под рукой - лучшее решение для современных гаджетов. В этой статье мы дадим краткий обзор облачного хранилища iCloud и расскажем о его особенностях.

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

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

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

Опыт использования планшета на Windows и его актуальность Привет, Community! Сегодня мне бы хотелось поделиться опытом использования планшета на Windows 10 в 2018 году и рассказать, какие ощущения были после покупки, и с какими трудностями пришлось столкнуться в процессе использования. Итак, речь пойдёт о планшете под названием ...

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

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

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

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

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

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

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

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

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

Google получил от европейцев 650 тыс. запросов на удаление информации "КоммерсантЪ" напоминает, что, согласно постановлению суда Европейского союза, принятому в мае 2014 года, в некоторых случаях пользователь имеет право направлять поисковой системе, такой как Google, запрос на удаление результатов поиска по своему имени. Компания от...

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

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

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

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

«Русал» вложится в инвестфонд Alcinous Как говорится в презентации фонда, поступившей в распоряжение "Коммерсанта", целевой размер фонда сроком жизни десять лет - $100 млн, предполагаемый IRR - 25%, минимальный размер инвестиций в него - $5-10 млн, а якорным инвестором будет "Русал". Генеральн...

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

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

Разработан проект первого национального стандарта для «интернета вещей» Документ разработан в рамках Технического комитета 194 "Кибер-физические системы" на базе РВК при участии ФРИИ, Ассоциации участников рынка интернета вещей и ООО "Телематические решения".Стандарт входит в линейку протоколов LPWAN, которые регулируют перед...

Обзор первого дня Data Science Weekend 2018. Практика машинного обучения, новый подход к соревнованиям и многое другое Привет, Хабр! 2-3 марта на Мансарде наших партнёров, компании Rambler&Co, прошел уже традиционный Data Science Weekend, на котором было множество выступлений специалистов в области работы с данными. В рамках этой статьи расскажем вам о самых интересных моментах первого д...

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

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

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

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

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

О портировании проекта MIPSfpga Перенос программного обеспечения с одной компьютерной архитектуры на другую в принципе, с некоторыми оговорками, дело относительно простое. Здесь на помощь приходят такие общеизвестные инструменты, как autoconf / automake/ libtool / gnulib. Собрать программу из исходников ...

Расширение и использование Linux Crypto API [0] Интро Криптографический API в Linux введён с версии 2.5.45 ядра. С тех пор Crypto API оброс всеми популярными (и не только) международными стандартами: симметричного шифрования: AES, Blowfish, ... хэширования: SHA1/256/512, MD5, ... имитозащиты: hMAC-SHA1/256/512, hMAC-...

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

Улучшение Service Desk при использовании COBIT 5 Онлайн-ресурс ISACA — «COBIT FOCUS» —  опубликовал статью Клаудио Силли (кандидат наук, CISA, CRISC, CISM, CGEIT), посвященную улучшению деятельности Service Desk в компаниях, использующих COBIT 5. «Service Desk играет значительную роль в повседневной р...

Новинки C# 7.2. Span<T> и Memory<T> Доброго времени суток, %habrauser%! Столкнувшись с проблемой замедления работы системы при передачи использовании переменных хранимых в стеке я отправился в гугл и нашел отличное решение использование коллекции Span<T>, которая была добавлена в версии языка C# 7.2. Н...

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

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

[Перевод] Использование шаблона render props вне рендера React представляет новое API (context API), которое использует "паттерн" (шаблон) render props (подробнее). На семинарах, встречах и в твиттере я вижу, что возникает много вопросов об использовании render props вне рендера, например, в обработчиках событий или "хуках" жизнен...

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

[recovery mode] Как создать идеальную дорожную карту продукта и что для этого нужно? Дорожная карта или roadmap в руках умелого менеджера продукта – настоящее стратегическое оружие. Как большинство стратегов умеют грамотно обращаться со своими рабочими инструментами, так и менеджер продукта должен уметь тактически применить дорожную карту и использовать дост...

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

Resolve IP адресов в Linux: понятное и детальное описание Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным п...

Партнера Apple обвинили в использовании несертифицированных запчастей По данный тайваньской газеты Commercial Times, Apple приостановила производство iPhone 8 Plus на заводах китайской компании Wistron. Сообщается, что поводом для этого послужило использование при сборке несертифицированных компонентов.Читать дальше... ProstoMAC.com.| Постоян...

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

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

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

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

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

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

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

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

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

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

Браузер != Браузерный движок Всем привет! В данной статье я хочу поделиться мыслями на счёт создания собственного браузерного движка. Мы рассмотрим текущие браузеры и браузерные движки. Вспомним про Modest и узнаем его нелёгкую судьбу. Это будет цикл статей в которых мы создадим свой собственный минима...

Сервис My PlayStation от Sony позволяет пользоваться PSN через браузер Sony начала развивать сервис PlayStation Network в не совсем привычном направлении. Компания запустила службу My PlayStation, которая позволяет пользоваться отдельными элементами PSN через браузер на ПК и мобильных устройствах. На данный момент нововведение не может...

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

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

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

[Перевод] Проект RealWorld: сравнение фронтенд-фреймворков Материал, перевод которого мы предлагаем сегодня вашему вниманию, представляет собой обновлённую, с учётом положения дел в 2018 году, версию статьи об исследовании фреймворков, которая была опубликована в декабре 2017. Читать дальше →

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

[Из песочницы] Ещё одна статья про кватернионы и углы Эйлера По работе у меня возникла необходимость переводить координаты объекта из углов Эйлера в кватернионы и обратно. В ходе разбирательства пришлось прочитать несколько статей на Хабре, посвященных кватернионам и углам Эйлера, Википедию и просто методички и статьи разных ВУЗов. Д...

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

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

[Перевод] Топ-10 ошибок из 1000+ JavaScript-проектов и рекомендации по их устранению В компании Rollbar, которая занимается созданием инструментов для работы с ошибками в программах, решили проанализировать базу из более чем 1000 проектов на JavaScript и найти в них ошибки, которые встречаются чаще всего. В результате они сформировали список из 10 наиболее ч...

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

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

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

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

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

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

Всё по ГОСТу. Защита информации при использовании технологий виртуализации 01.06.2017 был введен в действие ГОСТ Р 56938-2016 «Защита информации. Защита информации при использовании технологий виртуализации. Общие положения». Как-то так вышло, что обзор данного ГОСТ во множестве нововведений законодательства затерялся и сейчас хотелось бы восполни...

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

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

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

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

Дайджест интересных материалов для мобильного разработчика #245 (26 марта-1 апреля) В нашем новом дайджесте статьи о порхающих велосипедах, собеседованиях и резюме, тестировании и учебных проектах, технологиях и ключевых метриках приложений. Все это и многое другое — под катом! Читать дальше →

Software Transactional Memory на Free-монадах Осознав, что я давно не писал на Хабр ничего полезного о ФП и Haskell, и что имеется вполне отличный повод для технической статьи, — решил тряхнуть стариной. Речь в статье пойдет о Software Trasactional Memory (STM), которую мне удалось реализовать на Free-монадах при участи...

[Из песочницы] Минимизируем код React Redux приложения Мне хотелось поделиться собственными размышлениями и способом построения структуры приложения с использованием react-redux. Так как я относительно недавно стал писать код на JS и поэтому не претендую на истину и на действительно верный способ разработки. Надеюсь эта статья п...

Разработка AI для пошаговой игры на Node.js (часть 1) Всем привет! Прошло целых полтора года с момента написания моей первой статьи на Хабре. С тех пор проект FOTM претерпел ряд изменений. В начале пройдёмся вкратце по всем модернизациям, а затем перейдём к детальному разбору основной фичи — AI. Читать дальше →

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

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

Google: структурированные данные должны быть уникальными для каждой страницы Во время последней видеовстречи для вебмастеров сотрудник Google Джон Мюллер ответил на вопрос касательно использования одной и той же разметки структурированных данных на нескольких страницах сайта. Вопрос к гуглеру звучал так: «Может ли разметка для отзывов использоваться ...

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

Проект «Безаварийное начало» поможет освоить безопасное вождение Компании Continental и Total объявили о запуске проекта «Безаварийное начало» на портале ZeroHero.ru: новая социальная инициатива нацелена прежде всего на начинающих водителей. На портале собраны информационные материалы о безопасном движении на дорогах ...

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

Готовим проект в Sparx Enterprise Architect. Наш рецепт Дорогой Хабр, мы решили поделиться заметками и нашим базовым рецептом о приготовлении проектов в Sparx Enterprise Architect. Причем под проектом мы подразумеваем создание какой-либо информационной системы. Впереди вас ждет рассказ о том, как у нас все организовано – примеры ...

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

[Перевод] [в закладки] Инструменты для тестирования JavaScript-проектов Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тесто...

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

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

[Из песочницы] Learn OpenGL. Урок 4.8 — Продвинутый GLSL Продвинутый GLSL Этот урок не продемонстрирует вам новые продвинутые средства, значительно улучшающие визуальное качество сцены. В этом уроке мы пройдем по более или менее интересным аспектам GLSL и затронем несколько неплохих приёмов, которые могут помочь вам в ваших стрем...

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

Разбор ICO TenX: scam или нет? 2017 год был годом бума криптовалют и ICO. Миллиарды долларов были собраны проектами у большинства из которых был только whitepaper и честное слово. Не было ни юрлиц, ни собственности, ни продукта, ни команды. Я решил пристальнее разобрать проекты собравшие десятки миллионов...

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

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

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

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

Роботизированные картели - новая реальность В феврале 2018 года Московским и Ленинградским УФАС России возбуждены дела по признакам поддержания цен на электронных аукционах компаниями-конкурентами (п.2 ч. 1 статьи 11 Закона о защите конкуренции).В настоящее время антимонопольные органы располагают информацией об испол...

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

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

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

Опять про пустые перечисления в C# На этот пост мня вдохновила свежая статья на Хабре отсылающая к уже давней проблеме (и советующей статье) о том, как же проверить, что IEnumerable является пустым. Однако в оригинальных статьях, авторы больше сфокусировались на том как оформить проверку, предположив, что про...

МВД назвало «ВКонтакте» рассадником наркомании Министерство внутренних дел Российской Федерации провело исследование с целью выявить наиболее популярную социальную сеть для пропаганды потребления наркотических веществ и размещения информации о местах их приобретения. По словам начальника Главного управления по к...

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

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

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

Опыт двух попыток сдачи JNCIE-SP Введение Добрый день или вечер, или даже ночь, дорогие хабравчане. В данной статье хочу поделиться своим опытом, сдачи экспертного экзамена JNCIE-SP. Я обладаю опытом двух сдач, в Москве и Амстердаме. Читать дальше →

Энергонезависимая память NVDIMM для защиты кэша в RAIDIX 4.6 В этой статье мы подробнее расскажем о поддержке энергонезависимой памяти (NVDIMM) в ПО RAIDIX 4.6. Новую версию ПО взяли на вооружение наши ключевые партнеры. Так, управляющее ПО RAIDIX 4.6 уже используется в новой СХД Trinity FlexApp от «Тринити». Персистентная память и...

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

Новый Ultimaker S5     Ultimaker S5. Мощный. Надежный. Универсальный. Ultimaker S5 простой в использовании 3D-принтер, с качеством профессиональной промышленной машины. Встречайте простой в использовании настольный 3D-принтер с большой областью построения, который обеспечивает профе...

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

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

[Перевод] 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: Тра...

BlueStacks – достойная альтернатива App Store Что делать, если необходимо установит приложения из App Store на персональный компьютер? Многие скажут, что это невозможно, другие же начнут искать альтернативы. Идеальным решением проблемы станет использование специальной программы BlueStacks App Player, которая позволит ле...

Миграция с Check Point с R77.30 на R80.10 Здравствуйте коллеги, добро пожаловать на урок по миграции баз данных Check Point R77.30 на R80.10. При использовании продуктов компании Check Point рано или поздно встает задача миграции существующих правил и базы данных объектов по следующим причинам: При покупке но...

Ловко замаскированный зловред для CMS-платформ Исследователи в области безопасности предупреждают администраторов сайтов, работающих на базе CMS-платформ WordPress и Joomla, о появлении нового вредоносного ПО, маскирующегося под нормальные файлы ionCube. Киберпреступники используют зловред, названный ionCube Malware, для...

Алмазное защитное стекло Mirage Diamond Glass появится в смартфонах в следующем году Как известно, сапфировые стёкла из-за дороговизны производства в смартфонах используются крайне редко, если речь идёт именно о защите экрана. Вполне возможно, они так и не станут массовым продуктом, уступив место другому решению. Год назад мы сообщали, что компания Akh...

[Из песочницы] Сравнение Material Design CSS фреймворков Доброго время суток. В статье рассказно о Material Design фреймворках для создания Web-страничек. Если вас интересует тема Material Design, также как и меня, то Добро пожаловать под кат, возможно, откроете для себя что-нибудь новое и интересное. Читать дальше →

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

Алгоритмы подсказки слов в телефонной клавиатуре vs. Защита персональных данных Языковые модели В виртуальных клавиатурах мобильных телефонов повсеместно используются алгоритмы подсказки слов по первым введённым буквам и автоматического исправления опечаток в них. Функция нужная, так как печатать на телефоне неудобно. Однако она часто раздражает пользов...

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

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

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

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

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

Apple Maps получает обновленную информацию об обмене велосипедами Apple Maps получает еще несколько функций, чтобы не отставать от Карт Google. Теперь эти функции включают более полную информацию об обмене байками в различных городах. По данным TechCrunch, благодаря партнерству с Ito World, Apple Maps теперь поддерживает данные о совместно...

[Перевод] Внедрение предметно-ориентированного проектирования в PHP И снова здравствуйте! Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку. А счас пока ...

Устройства с управлением через веб-интерфейс Автор: Николай Хабаров, IoT Google Developer Expert, эксперт по встраиваемым системам, DataArt. В этой статье я расскажу, как создать собственное устройство с веб-интерфейсом, которое будет доступно в локальной сети. Веб-интерфейс будет показывать текущие данные с датчика...

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

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

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

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

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

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

[Перевод] Книга «Безопасность в PHP» (часть 2). Атаки с внедрением кода Книга «Безопасность в PHP» (часть 1) В списке десяти наиболее распространённых видов атак по версии OWASP первые два места занимают атаки с внедрением кода и XSS (межсайтовый скриптинг). Они идут рука об руку, потому что XSS, как и ряд других видов нападений, зависит от усп...

Обзор второго дня Data Science Weekend 2018. Data Engineering, ETL, поисковые сервисы и многое другое Несколько дней назад мы публиковали обзор первого дня Data Science Weekend 2018, который прошел 2-3 марта на Мансарде Rambler&Co. Изучив практику использования алгоритмов машинного обучения, теперь перейдем к обзору второго дня конференции, в течении которого спикеры рас...

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

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

Наш путь ресайза изображений В интернете достаточно статей и проектов для ресайза изображений. Почему же нужна еще одна? В этой статье я расскажу почему нас не удовлетворили текущие решения и пришлось пилить собственное. Читать дальше →

Смарт-динамик Mark II стал второй колонкой Mycroft с фирменным голосовым ассистентом Авторы проекта Mycroft приобрели известность благодаря одноимённой программной платформе для голосового управления по типу Amazon Alexa или Microsoft Cortana. Цифровой ассистент Mycroft изначально ориентирован на дистанционное управление домашней элек...

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

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

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

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

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

ARM предлагает технологию интеграции SIM-карты в чипсет Сегодня компания ARM представила новую технологию Kigen, которая представляет собой электронную SIM-карту (iSIM) встроенную в общий с процессором чипсет. Предполагается, что данная технология будет широко применяться в производстве интернет вещей, что позволит делать их боле...

[Из песочницы] Explicit Proxy c авторизацией по AD Group + Interception Proxy с авторизацией по MAC Во многих организациях структура сети предполагает использование терминальных серверов, персональных компьютеров, а также мобильных устройств. В данной публикации пойдет речь о том, как все это пустить через прокси сервер Squid, не прописывая лишний раз настройки браузера н...

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

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

Пилотный проект по мониторингу городских пространств начался в Москве Одним из победителей программы "Открытые запросы" с решением для обеспечения мониторинга движения пешеходов и велосипедистов столицы "Видеомониторинг использования пешеходных зон и велодорожек Москвы" стала компания "Сервионика" (ГК "АйТе...

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

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

Heatmap Painter Тепловая карта — картограмма, визуально показывающая интенсивность какого-либо точечного показателя в пределах территории на карте. Интенсивность кодируется цветом и прозрачностью. Наверняка вы не раз видели такие картинки. Так вот, что если вам нужно сделать такую картогра...

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

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

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

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

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