Социальные сети Рунета
Понедельник, 6 мая 2024

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

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

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

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

[Из песочницы] Интеграция ClangFormat и Notepad++ ClangFormat является одним из лучших инструментов для автоматического форматирования исходных кодов на языках C, C++, Java, JavaScript, Objective-C, C#. Существуют плагины для популярных сред разработки (IDE), но часто нужно быстро отформатировать файл или часть файла с исхо...

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

Как создать Python wrapper и не сойти с ума Недавно на Хабре прочитал статью про очень полезный инструмент, и так как я уже давно искал какой-то проект, чтобы начать контрибьютить, решил посмотреть, что там есть на гитхабе и чем можно помочь. Одно из issue было на счет создания обертки (дальше буду использовать wrappe...

Вариант клонирования БД для разработки/тестирования Вкратце опишу как организовал клонирование БД (создание нескольких экземпляров БД из одного бэкапа) на текущем проекте. Способ позволяет сэкономить время и место на жестком диске. Ситуация: есть толстая БД (скажем, сотня Гб). Хочется иметь эту базу со всеми данными отдельно...

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

Инфраструктура сборки проекта с docker На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториа...

Две стороны WebView: о быстром запуске проектов и краже персональных данных Привет, Хабр! Меня зовут Евгений, я Full Stack JS разработчик, текущий стек Node.js + React + React Native. В разработке я более 10 лет. В мобильной разработке пробовал разные инструменты от Cordova до React Native. Получив опыт работы с Cardova, я понял, что мне хотелось ...

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

Битва L2TP, RRAS vs SoftEther «Украденная с запада картинка для привлечения внимания» В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь по...

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

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

Знакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux PVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux. Установка Установить PVS-Studio под Linux можно разными...

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

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

Контейнер – на конвейер: CRI-O теперь по умолчанию в OpenShift Container Platform 4 Платформа Red Hat OpenShift Container Platform 4 позволяет поставить на поток создание хостов для развертывания контейнеров, в том числе в инфраструктуре поставщиков облачных сервисов, на платформах виртуализации или в bare-metal системах. Чтобы создать в полном смысле облач...

Управление семисегментным дисплеем с помощью ПЛИС Привет, Хабр! Хочу внести свою посильную лепту в продвижение ПЛИС. В этой статье я постараюсь объяснить, как на языке VHDL описать устройство, управляющее семисегментным дисплеем. Но перед тем как начать, хочу кратко рассказать о том как я пришел к ПЛИС и почему я выбрал язы...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

Курс по C++ в CS центре, вторая часть Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса. Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Scienc...

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

[Перевод] Ищем утечки памяти в приложениях на Python Ola! мы продолжаем серию публикаций приуроченных к запуску курса «Web-разработчик на Python» и прямо сейчас делимся с вами переводом еще одной интересной статьи. В Zendesk мы используем Python для создания продуктов с машинным обучением. В приложениях с использованием машин...

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

Больше статистики сайта в своём маленьком хранилище Анализируя статистику сайта, мы получаем представление о том, что происходит с ним. Результаты мы сопоставляем с другими знаниями о продукте или сервисе и этим улучшаем наш опыт. Когда анализ первых результатов завершён, прошло осмысление иформации и сделаны выводы, начинае...

Построение микросервисной архитектуры на Golang и gRPC, часть 2 (docker) Пришло время заняться контейнерами Прежде всего, мы используем новейший образ Linux Alpine. Linux Alpine — это легкий дистрибутив Linux, разработанный и оптимизированный для запуска веб-приложений в Docker. Другими словами, Linux Alpine обладает достаточным количеством зави...

[Из песочницы] 50 оттенков безопасности Друпала Для хеширования паролей используется модифицированная версия phpass, от которой на официальном сайте открестились. Но менять механизм не спешат [#1845004]. Не желают даже предоставить возможность выбора механизма хеширования [#2939888]. Число итераций для стойкости хеширова...

Скачать Windows 10 November 2019 Update (ISO) ISO-образы Windows 10 November 2019 Update уже доступны, что позволяет пользователям быстро обновиться с любой версии Windows.Вы можете загрузить ISO-образ Windows 10 November 2019 Update, если хотите установить ОС с нуля. ISO-образы Windows 10 доступны на веб-сайте загрузки...

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

Как создать ссылку на сайт в виде QR-кода на iOS iOS, несмотря на более ранний релиз, развивалась далеко не так стремительно, как Android. К примеру, долгое время в iPhone не было встроенного сканера QR-кодов и пользователям приходилось прибегать к помощи сторонних приложений, которые умели с ними работать. Однако по мере...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

(Статический) Подбор оптимальных контейнеров в программах на C++ Здравствуйте. Сегодня хотелось бы поговорить снова про статический анализ. И снова про C++. Только в отличие от PVS-Studio мы будем искать не какие-то ошибки в наших программах (хотя они ищут не только ошибки), а места, которые написаны недостаточно оптимально. И одним из та...

Docker-compose. Как дождаться готовности контейнера Введение Существует много статей про запуск контейнеров и написание docker-compose.yml. Но для меня долгое время оставался не ясным вопрос, как правильно поступить, если какой-то контейнер не должен запускаться до тех пор, пока другой контейнер не будет готов обрабатывать ег...

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

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

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

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

5 способов полезного использования Raspberry Pi. Часть вторая Привет Хабр. В первой части были рассмотрены 5 способов использования Raspberry Pi. Тема оказалась достаточно интересной, и сегодня я рассмотрю еще несколько вариантов того, как можно с пользой использовать этот микрокомпьютер. Фото с сайта learn.adafruit.com Как и в пре...

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

[Из песочницы] Использование Conditional в Spring В этом материале я хочу описать очень полезную, и часто используемую аннотацию Conditional и интерфейс Condition. Контекст Spring — это огромный контейнер различных бинов, как самого спринга, так и пользовательских. Всегда хочется иметь гибкие инструменты управления этим зо...

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

[Из песочницы] Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их Привет, Хабр! Предлагаю вашему вниманию перевод статьи «Top 20 C++ multithreading mistakes and how to avoid them» автора Deb Haldar. Сцена из фильма «Петля времени (2012) Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разраб...

Как скачать ISO-образ Windows 10 November 2019 Update с сайта Microsoft Хоть и состоялся релиз Windows 10 November 2019 Update, даже вышли официальные программы по обновлению до версии 1909, но хотелось бы скачать официальный ISO-образ с сайта Microsoft и такой способ имеется. Стоит сразу отметить, что для обладателей современной версии Windows ...

[Перевод] Анимация подчёркивания ссылок на чистом CSS Одно из преимуществ создания моего личного сайта с нуля вместо использования готовой темы заключается в том, что я начинаю с настроек браузера по умолчанию и постепенно добавляю собственные расцветки. Я стараюсь удержать сайт от раздувания, но и персонализация — важное дело....

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

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

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

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

Много иероглифов – много нейросетей: как построить эффективную систему распознавания для большого числа классов? В прошлых статьях уже писали о том, как у нас устроены технологии распознавания текста: Навигатор по серии постов Распознавание текста в ABBYY FineReader (1/2) Распознавание текста в ABBYY FineReader (2/2) Примерно так же до 2018 года было устроено распознавание японских и ...

Загрузка контроллеров без использования консоли Arduino IDE Введение При работе с контроллерами распределенной системы довольно часто приходится перезагружать контроллеры. Использование консоли Arduino IDE для перезагрузки заказчиком не очень удобно, поскольку для каждого типа контроллеров необходимо настраивать (или проверять) тип ...

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

Совместное использование экрана Skype доступно в веб-версии Команда Skype предоставила возможность совместного использования экрана в веб-версии Skype.Во время разговора по Skype с помощью этой поддержки вы сможете показывать презентацию PowerPoint своему коллеге или даже делать покупки в Интернете с вашим близким другом. Просто нажм...

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

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

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

Что лучше для продвижения в другой стране – отдельный домен, поддомен или папка? Вопрос пользователя: Есть англоязычный сайт “site.com”. Необходимо сделать русскоязычный сайт для продвижения по России и СНГ, в Яндексе и в Гугле. Что выбрать: отдельный домен “site.ru”, поддомен “ru.site.com” или папку “site.com/ru...

Доменные имена с валидным SSL для локальных Docker-контейнеров Использование Docker в процессе разработки стало уже стандартом де-факто. Запускать приложение со всеми его зависимостями, используя всего одну команду — становится всё более и более привычным действием. Если приложение предоставляет доступ используя web-интерфейс или какое...

Использование werf для выката комплексных Helm-чартов Статья посвящена разработке Helm-чартов для Kubernetes с использованием готовых решений из репозиториев чартов. При таком подходе пользователь применяет рецепты сообщества или свои собственные, обеспечивая своевременное обновление типовых компонентов всех своих проектов и ...

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

[Перевод] Улучшенный sandboxing для Groovy скриптов От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но ...

Совместное использование экрана Skype приходит в Интернет Команда Skype предоставила возможность совместного использования экрана в веб-версии Skype.Во время разговора по Skype с помощью этой поддержки вы сможете показывать презентацию PowerPoint своему коллеге или даже делать покупки в Интернете с вашим близким другом. Просто нажм...

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

LG и NAVER разработали браузер с функцией «многозадачность» для использования на двойном экране смартфонов Компания «LG Electronics» (LG) и NAVER - крупнейший оператор поисковых систем в Южной Корее разработали браузер «Whale», который оптимизирован для использования на двойном экране смартфонов компании LG, что выводит многозадачность на совершенно новый уровень, сообщает ITbukv...

Виртуальная машина на ESP8266 для запуска игр VM, написанная неуверенной рукой гуманитария в среде программирования Arduino с использованием быдлокода и велосипедов. А еще есть компилятор для нее из си-подобного языка, написанный на JavaScript теми же методами. Да. Уже можно спешить в комментарии, бросать камни. Ну а те...

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

В PUBG Mobile появилась новая система выявления читеров в реальном времени Одна из главных проблем PUBG Mobile (да и многих других мобильных мультиплеерных игр) — читеры. Это приводит к тому, что разработчикам, вместо развития игры, приходится изрядное количество времени тратить на борьбу с ними. Недавно в PUBG Mobile представили новую систему, ко...

[Перевод] Представляем .NET 5 6 мая было объявлено, что следующим после .NET Core 3.0 релизом будет .NET 5. Это будет следующий большой релиз в семействе .NET. В будущем останется только один .NET, и вы сможете использовать его для разработки под Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAs...

[Из песочницы] Сравнение: Svelte и React На сайте React'a есть туториал, в котором описывается разработка игры Tic Tac Toe. Я решил повторить разработку этой игры на Svelte. Статья охватывает только первую половину туториала, до реализации истории ходов. Для целей ознакомления с фреймворком этого вполне достаточно....

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...

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

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

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

Mkcert: валидные HTTPS-сертификаты для localhost В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost. Традиционно есть два решения. Читат...

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

Что такое VPN и как его выбрать За тремя буквами VPN стоит термин Virtual Private Network («виртуальная частная сеть»), объединяющий в себе технологии, которые позволяют организовать между вашим устройством и интернет-сервером защищённое соединение. Таким образом получается безопасное движение данных через...

Практикум RHEL 8 Beta: Устанавливаем Microsoft SQL Server Microsoft SQL Server 2017 был доступен для полноценного использования под RHEL 7 с октября 2017 года, и при работе над RHEL 8 Beta Red Hat тесно сотрудничала с Microsoft, чтобы повысить производительность и обеспечить поддержку большего числа языков программирования и прикла...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

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

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

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

[Перевод] Jupyter Notebook в Netflix В последнее время Jupyter Notebook стал очень популярен среди специалистов Data Science, став де-факто стандартом для быстрого прототипирования и анализа данных. В Netflix, стараемся раздвинуть границы его возможностей еще дальше, переосмысливая то, чем может быть Notebook, ...

[Перевод] Создание современных облачных приложений с использованием Pulumi и .NET Core Мы рады объявить о поддержке .NET Core для Pulumi! Это объявление означает, что вы можете декларировать облачную инфраструктуру — включая все в Azure, например Kubernetes, Functions, AppService, Виртуальные машины, CosmosDB и другое, — используя ваш любимый язык .NET, включа...

W3C и FIDO Alliance завершили разработку веб-стандарта для безопасного входа без пароля Консорциум World Wide Web (W3C) и FIDO Alliance объявили, что спецификация Web Authentication (WebAuthn) теперь является официальным веб-стандартом. Как сказано в совместном пресс-релизе, «это улучшение является важным шагом вперед в деле повышения безопасности и ...

Переводим на DoH домашнюю сеть, или еще один щелчок по носу фильтрации После сравнительно недавнего анонса компанией Mozilla запуска поддержки DNS-over-HTTPS (DoH) в продакшн в сети не утихают споры, зло это или благо. По моим ощущениям, позиция "зло" базируется в основном на том, что при этом манипуляция вашими DNS-запросами даже в полезных дл...

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

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

Reaktive — мультиплатформенная библиотека для реактивного Kotlin Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный ...

[Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным. Существует несколько способов реализовать анимацию в iOS. Вероятно, са...

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

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

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

[Из песочницы] Коренные микробы С 2007 года моя судьба связана с микробами: вот уже 13 лет они меня не отпускают. По моим прикидкам, это гораздо больше, чем 10 000 часов — что-то около 30 000. Как и с любой областью знаний, в определенный момент мозг начинает подкидывать новые идейки. Об одной из них я и х...

[Перевод] Цена TypeScript В 2017-2019 годах можно было наблюдать серьёзный рост TypeScript. Происходило это по вполне понятным причинам. В этом языке есть много хорошего. Почти половина респондентов исследования State of JavaScript 2018 года уже пробовали TypeScript и собираются писать на нём в будущ...

Устанавливаем Kali Linux с графическим интерфейсом на виртуальный сервер TL;DR в статье описывается установка Kali Linux с графической средой на виртуальный сервер с ISO-образа по VNC. Такой системой можно пользоваться как полноценным десктопом. Большинство хостеров предоставляют только консольный доступ к виртуальным серверам и ограниченный в...

Обектно ориентированное програмирование в графических языках Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный чело...

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

[Перевод] Не потерял ли GraphQL актуальности в эпоху HTTP/2? Недавно Фил Стерджен опубликовал твит, который сильно задел любителей GraphQL. В этом твите речь шла о том, что GraphQL — это, по определению, технология, которая противоречит сущности HTTP/2. О том, что уже вышел стандарт HTTP/3, и о том, что автор твита не очень понимает т...

Мониторинг окружающей среды в серверном помещении (Bolid + Zabbix) Наверное самым простым способом для ИТ-специалиста при решении задачи мониторинга окружающей среды в серверном помещении будет использование специализированных контроллеров с выдачей данных по SNMP (например, NetBotz или NetPing). Но для тех кто не боится трудностей и хочет ...

Запуск SAP GUI из браузера Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться. Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник...

[Из песочницы] Как я боролся с Shared Element Transition и написал свою первую opensource библиотeку Нет повести печальнее на свете, чем повесть о ViewPager’e и SET’e Хочется предупредить, что автор ‒ новичок андроид, поэтому статья содержит столько технических неточностей, что вас, скорее, нужно предупредить о том, что в статье могут встретиться технически достоверные...

Правила выбора JS-фреймворка TL;DR В статье не рассматриваются JS-фреймвёрки из списка TOP-3 При разработке на JS-фреймвёрке не из списка TOP-3 приходится решать на порядок больше технических вопросов, чем это ожидается в начале разработки История основана на реальных событиях Читать дальше →

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal Здравствуйте уважаемые читатели Хабра! Этой публикацией я хочу начать цикл статей про развертывание полноценной среды оркестрации контейнерами Kubernetes, которая будет готова к эксплуатации и запуску приложений. Я хочу рассказать не просто про то, как развернуть кластер Ku...

Личный опыт и выводы после смены профессии с дизайнера на программиста О чем эта статья По сути статья о том каким образом мой образ мысли должен был поменяться при смене профессии, понимание контекста и того на какие моменты стоит обращать внимание, а так же насколько сильно выбор "что же мне учить" влияет на последубщие годы развития личной к...

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

Почему я пока не готов хранить важные файлы в iCloud Drive iCloud Drive удобная штука, но в нем нет многих важных функций Мне нравится iCloud Drive. Он здорово интегрирован в macOS и iOS, и я давно переместил туда большинство своих документов из Dropbox (за исключением общих папок). Однако я всегда ищу новые способы для резервного к...

[Перевод] Kubernetes: сборка образов Docker в кластере Чтобы собирать образы Docker в контейнере и при этом обойтись без Docker, можно использовать kaniko. Давайте узнаем, как запускать kaniko локально и в кластере Kubernetes. Дальше будет многабукаф Читать дальше →

[Перевод] Сверхпростое логгирование в Javascript — два декоратора, и готово Вам еще не надоело писать logger.info('ServiceName.methodName.') и logger.info('ServiceName.methodName -> done.') на каждый чих? Может вы, так же как и я, неоднократно задумывались о том, чтобы это дело автоматизировать? В данной статье рассказ пойдет о class-logger, как...

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

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

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

Telegram бот для персонализированной подборки статей с хабра Для вопросов в стиле "зачем?" есть более старая статья — Натуральный Geektimes — делаем пространство чище. Статей много, по субъективным причинам некоторые не нравятся, а некоторые, наоборот, жалко пропускать. Хочется оптимизировать этот процесс и экономить время. В вышеупом...

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

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

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

[Перевод] Преимущества и недостатки HugePages Перевод статьи подготовлен для студентов курса «Администратор Linux». Ранее я рассказал о том, как проверить и включить использование Hugepages в Linux. Эта статья будет полезна, только если у вас действительно есть, где использовать Hugepages. Я встречал множество людей, ...

Использование API HTMS для работы с реляционно-сетевой базой данных Введение В статье «Реляционно-сетевая модель данных» была предложена новая концепция моделирования данных HTMS, являющаяся развитием канонической реляционной модели. В настоящем материале будет показано на примерах, как ее можно практически использовать с применением API лог...

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

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

Мультимедиа центр «Kodi» и Yocto Project Введение в Yocto Project Yocto Project — это совместный Open Source проект для упрощения разработки дистрибутивов для встраиваемых систем. Yocto содержит большое количество шаблонов, метаданных и инструментальных средств сборки. В Yocto Project вы можете подключить большо...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

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

В Bing Webmaster Tools появилась возможность проверки сайта через Google Search Console Инструменты Bing для вебмастеров пополнились возможностью проверки сайтов и их импорта через Google Search Console. Похоже, что две поисковые системы пытаются объединиться в стремлении привлечь большее количество веб-мастеров к использованию Bing Webmaster Tools. После входа...

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

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

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

Как и зачем мы оптимизировали алгоритм очистки SLAB-кэшей в ядре Linux Рост популярности контейнеров и их использование в совокупности с контрольными группами выявили серьезную проблему масштабируемости, которая приводит к значительному падению производительности на больших машинах. Проблема в том, что время обхода SLAB-кэшей зависит квадратичн...

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

[Из песочницы] Делим Laravel на компоненты Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании оч...

[Перевод] Серверный рендеринг в бессерверной среде Автор материала, перевод которого мы публикуем, является одним из основателей проекта Webiny — бессерверной CMS, основанной на React, GraphQL и Node.js. Он говорит, что поддержка многоарендной бессерверной облачной платформы — это дело, которому свойственны особенные задачи....

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

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

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

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

Запускаем systemd в контейнере Мы давно следим за темой использования systemd в контейнерах. Еще в 2014 году наш инженер по безопасности Дэниел Уолш (Daniel Walsh) написал статью Running systemd within a Docker Container, а еще через пару лет – другую, которая называлась Running systemd in a non-privilege...

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

Электрические самокаты оказались не такими уж «зелеными» Электрические самокаты набирают популярность. Их сторонники любят утверждать, что это экологически чистый транспорт, однако новое исследование показало, что совместное использование (прокат) электрических самокатов вреднее для нашей планеты, чем может показаться на перв...

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

Осторожно — Docker контейнер Redis запускает криптомайнер Это будет очень короткая статья о человеческой жадности и предупреждение о надобности проверять любой опен- и не опен-сорс. Сегодня утром я случайно и с удивлением увидел на графиках моего хостинга 100% загруженность процессора. При том, что он не минимальной конфигурации, ...

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

В Google Optimize теперь доступны мультистраничные эксперименты Google сообщил о запуске мультистраничных экспериментов в инструменте для A/B-тестирования и персонализации сайтов Google Optimize. Теперь при создании экспериментов или персонализаций пользователи сервиса смогут добавить в них дополнительные страницы, чтобы расширить их охв...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

[Перевод] (Не очень) скрытые издержки общей кодовой базы iOS и Android До недавнего времени у Dropbox была техническая стратегия использовать общий код C++ для мобильных приложений iOS и Android. Идея понятна: написать код один раз на C++ вместо его дублирования отдельно на Java и Objective C. Мы приняли эту стратегию ещё в 2013 году, когда гру...

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

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

Как автоматически увеличивать шрифт на определенных сайтах в Safari на Mac В Сети и сегодня достаточно часто встречаются сайты, читать которые без лупы просто невозможно. К счастью, в «яблочном» браузере Safari есть очень удобная опция для таких случаев. ПО ТЕМЕ: 10 способов повышения скорости и производительности Safari на Mac.   Как увеличит...

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

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

Republic в Kubernetes: переезд десятилетия Скандальные, важные и просто очень крутые материалы выходят в СМИ не каждый день, да и со 100% точностью спрогнозировать успешность той или иной статьи не возьмётся ни один редактор. Максимум, чем располагает коллектив — на уровне чутья сказать, «крепкий» материал или же «...

Class Template Argument Deduction Стандарт C++17 добавил в язык новую фичу: Class Template Argument Deduction (CTAD). Вместе с новыми возможностями в C++ традиционно добавились и новые способы отстрела собственных конечностей. В этой статье мы будем разбираться, что из себя представляет CTAD, для чего испол...

GitLab Shell Runner. Конкурентный запуск тестируемых сервисов при помощи Docker Compose Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов ...

5 способов полезного использования Raspberry Pi Привет Хабр. Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для исп...

Филамент в подарок!  В данной распродаже участвует пластик Winbo ABS весом 0.5 кгABS пластик от компании Winbo - это один из распространенных расходных материалов для 3D-печати. Он очень хорошо поддается механической обработке. Готовое изделие легко окрашивается. Готовую модель можно так же пом...

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

Как стать невидимкой на карте. В Google Maps появился режим «Инкогнито» без какого-либо отслеживания действий Google начала широкое распространение режима «Инкогнито» для карт Google Maps на Android. Извещение о начале развертывания обновления появилось вчера на соответствующей страничке официального сайта техподдержки Google. Режим «Инкогнито» хорошо знаком пользователям браузера C...

[Из песочницы] Как я сделал удобной разработку на Vue.js с server-side рендерингом Всем привет! Начну с небольшой предыстории. Свой новый проект я решил попробовать сделать на Vue.js. Мне нужен был серверный рендеринг (SSR), CSS модули, code-splitting и прочие прелести. Разумеется, для повышения производительности разработки нужна была горячая перезагр...

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

Что есть что и кто есть кто на рынке защиты от DDoS «Мальчик, который делал нам сайт, уже настроил защиту от DDoS». «У нас же стоит защита от DDoS, почему сайт лег?» «Сколько-сколько тысяч хочет Qrator?» Чтобы нормально отвечать на такие вопросы заказчика/начальника, неплохо бы знать, что скрывается за названием «защита от D...

Как скачать официальные ISO-образы Windows 10 May 2019 Update с сайта Microsoft Довольно частенько меня стали спрашивать по поводу того, где взять официальные образы Windows 10 May 2019 Update. В принципе, в Сети полно всевозможных трекеров, где можно быстро и удобно взять оригинальные образы, хотя и есть небольшой риск. Сразу отмечу, что я против пират...

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

[Перевод] Тестирование инфраструктуры как код с помощью Pulumi. Часть 1 Добрый день, друзья. В преддверии старта нового потока по курсу «DevOps практики и инструменты» делимся с вами новым переводом. Поехали. Использование Pulumi и языков программирования общего назначения для инфраструктурного кода (Infrastructure as Code) дает много преимущ...

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

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

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

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

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

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

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

Видеозвонки, WebRTC и браузер: как это работает и как согреть «замерзающую» трансляцию Для большинства из нас видеосвязь в браузере — нечто вроде черного ящика. Есть изображение собеседника на экране, звук, возможность общения. Но что происходит там, внутри? Об этом сегодня и поговорим. Статья сделана на основе доклада нашего сотрудника, Кирилла Рогового....

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

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

Официальный сайт Huawei HongMeng OS оказался подделкой. Финальная версия ОС задержится до 2020 Вчера появилась информация о запуске официального сайта новой операционной системы HongMeng, на котором представлена различная информация, включая последние новости о грядущим компиляторе Huawei Ark. Изначально возникли вопросы из-за дизайна сайта, а такж...

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

Кто такие Premier Field Engineer (Development) в Microsoft и с чем их едят Для большинства Microsoft – это “Гигант из Redmond”, компания, которая производит windows/office, в которой работают одни программисты. Для более ITшных товарищей лицо Microsoft — это бывшие евангелисты Microsoft, рассказывающие со сцены о прекрасном мире. Для кого-то этим л...

Официально: Huawei отменила запуск складного Mate X 2019 год обещал стать знаковым этапом в истории развития смартфонов, которые впервые получили гибкую конструкцию. Конечно, их все еще нельзя было носить на запястье как браслет, но их дисплей уже стал достаточно гибким, чтобы складывать его пополам. К сожалению, технология ...

Ошибка с миграцией локали ru-RU в Google Chrome и как от нее избавиться Это статья о том, как я боролся с последствиями некорректной миграции «ru-RU» на «ru» в Google Chrome. Это статья для тех, у кого Chrome выглядит примерно так: или, говоря простым языком, упрямо продолжает отображать сайты на русском языке несмотря на то что везде в наст...

Security Week 17: атаки по цепи поставок В начале апреля мы обсуждали атаку ShadowHammer на ноутбуки Asus как пример вредоносной кампании с использованием цепочки поставщиков. Атаки на supply chain представляют особый интерес для исследователей и особую опасность для бизнеса именно потому, что компрометируют довере...

Расширение Application Guard доступно для Chrome и Firefox Microsoft для браузеров Chrome и Firefox выпустило расширение Windows Defender Application Guard, которое перенаправляет вас в безопасный контейнер браузера Edge, если сайт окажется подозрительным или вредоносным. При переходе на доверенный сайт, вы снова вернетесь в ваш бр...

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

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

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

Безопасность контейнеров в CI/CD На дворе наступила осень, во всю бушует техноутопия. Технологии стремительно рвутся вперед. Мы носим в кармане компьютер, вычислительная мощность которого в сотни миллионов раз больше мощности компьютеров, управляющих полетами на Луну. С помощью Youtube VR мы можем плавать в...

Google рассказала, как создавать приложения на Android «Разработка Android-приложений на языке Kotlin» – это бесплатный онлайн-курс, который компания Google разработала совместно с образовательной организацией Udacity для того, чтобы любой желающий мог пройти самостоятельное обучение и постичь азы (и не только) программирования...

Зеркало 1xbet На просторах интернета можно найти действительно огромное количество разнообразных букмекерских контор, которые предлагают делать ставки, и соответственно, дают возможность зарабатывать реальные деньги. К сожалению, не все они одинаково удобные, честные и надежные, поэтому к...

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

Эволюция H2 — оконные функции, CTE, JSON/XML во встраиваемой базе данных Есть open source проекты которые стали коммерчески успешным мейнстримом, как например PostgreSQL/Elasticsearch. Другие, к примеру RethinkDB, проиграли на рынке и остановили разработку. А проект H2 database встраиваемой базы данных, написанной на языке java, развивается и здр...

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

[Перевод] Ленивая инициализация в Spring Boot 2.2 От переводчика: поскольку Spring Framework является одним из основных фреймворков, на которых мы строим CUBA, то новости о новых возможностях Spring не проходят незаметно для нас. Ленивая инициализация — один из способов уменьшить время первой загрузки приложения, что в наш...

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

Упрощенный доступ к данным внутренней FAT12 для STM32 В предыдущей статье был рассмотрен вариант использования микроконтроллера STM32F103C8T6 как flash накопителя с внутренней файловой системой FAT12. Теперь можно рассмотреть, каким образом получить данные из нашей внутренней файловой системы. К примеру нам необходимо хранить н...

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

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

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

Samsung подтвердила дату презентации Galaxy S10 О новых флагманах от Samsung ходят слухи уже долгое время, но скоро шумиха подойдет к концу. Компания начала отправлять приглашения на свою презентацию Unpacked, которая пройдет 20 февраля в Сан-Франциско. Хотя попавшее в интернет приглашение, которое, как сообщается, было ...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

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

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

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

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

[Перевод] Почему я боюсь стать «прокачанным человеком» Вы когда-нибудь слышали о «прокачанном человеке» (augmented human)? Пояснение от переводчицыЯ долго искала подходящий перевод термина «augmented human», так как устоявшегося перевода в русском языке еще нет. Вариант Википедии c глаголом «улучшать» кажется недостаточно перед...

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

Конкурс от РОСНАНО: проходите онлайн-курс по современной микроэлектронике, потом практический тур с ПЛИС, получаете приз Мероприятие для продвинутых школьников: сначала онлайн-курс с профориентацией по разработке современных микросхем (части 1, 2, 3), а потом практический семинар по цифровой схемотехнике и языку описания аппаратуры Verilog, с синтезом на ПЛИС/FPGA. Те, кто отличатся, получат в...

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

Умное освещение с голосовым управлением. Обзор Wi-Fi выключателей Rubetek RE-3316 и Rubetek RE-3317 Управление освещением одна из базовых задач, которая ставится и решается при развертывании системы «умного дома». Сделать это можно несколькими путями, среди них покупка Wi-Fi лампочек с установкой по дому или замена выключателей. Второй способ по нашему опыту оптимален, он ...

Как в Safari на iOS отключить предпросмотр веб-страниц Safari в iOS 13 очень изменился. Но не всем изменения пришлись по вкусу В этом году Safari претерпел массу изменений. Если раньше мобильный браузер Apple представлял собой хоть и вполне удобное решение для веб-сёрфинга, его функциональные возможности были чрезвычайно огранич...

Как установить Chrome OS на ПК или ноутбук Если вы пользователь Windows, то наверняка вас посещала мысль попробовать что-нибудь другое, так сказать взглянуть в глаза альтернативе и лично убедиться в том, есть ли она вообще. Mac - дорого, насчёт Linux у наших людей сформировался стереотип вечной боязни терминала, кото...

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

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах О нас В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия....

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

IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров Это – обзор нового в IntelliJ IDEA 2019.1. Ссылки в заголовках ведут на соотвествующие разделы на сайте, где всё описано детально, но на английском. Читать дальше →

[Перевод] Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас. JavaScript-фреймворки существуют для того...

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

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

AMD анонсировала свою 3D-архитектуру чипов, чтобы догнать Intel Foveros 3D Intel Foveros 3D Поскольку закон Мура больше не действует, разработчикам микросхем приходится искать иные способы повышения производительности. Одна из подходящих для этого технологий называется 3D-штабелирование (3D chip stacking). Это объёмная этажерочная архитектура чип...

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

Обмен сайта на Битрикс и 1С: решение основных проблем В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению Статья будет полезна как программистам 1С, так и Битрикс разработчикам. Текст структурирован по принципу: проблема — варианты решения. Если есть конкретная задача, то сразу переходите п...

[Перевод] Интервью с веб-разработчиком Pornhub Вне зависимости от вашего отношения к порнографии было бы глупо отрицать огромное влияние индустрии сайтов для взрослых на развитие интернета. От расширения возможностей браузеров в плане воспроизведения видео и до показа рекламы через WebSocket в обход блокировщиков — для т...

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

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

Официальный ISO-образ Windows 10 Build 19013 (20H1) теперь доступен для скачивания Microsoft выпустила Windows 10 Insider Preview Build 19013 (20H1) для инсайдеров канала Fast Ring неделю назад. Вчера Microsoft выпустила официальные ISO-образы Windows 10 Build 19013. Их можно загрузить с официального сайта Microsoft. Эта сборка включает в себя дополнительн...

Google ограничит возможности встроенных в приложения браузеров Компания Google объявила о том, что вскоре ограничит работу встроенных в сторонние приложения браузеров. Поисковый гигант утверждает, что одну из форм фишинга, известную под названием MITM (man in the middle) очень трудно обнаружить в случае, если используется встроенна...

В сети появился фишинговый сайт цифровой валюты от Facebook Мошенники создали сайт, на первый взгляд, неотличимый от официальной страницы кошелька Calibra крупнейшей социальной сети Facebook, сообщает The Next Web. Использовав кодировку Юникод, был создан домен Calìbra.com. Его крайне сложно отличить от настоящего невооруженным глазо...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

[Из песочницы] Изучаем трассировку с помощью eBPF: Руководство и примеры Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы пос...

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

Русификатор для браузера Edge 75.0.111.0 Cento8 с форума Ru.Board создал русификатор для браузере Edge версии 75.0.111.0. Community также опубликовал небольшую инструкцию по его активации.Инструкция:• Скачайте и установите последнюю версию Edge (https://cloud.mail.ru/public/3QmW/SVBv1Yx2E);• Загрузите файл ru.pak (...

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

[recovery mode] Асинхронная библиотека для работы с API Mikrotik Категорически приветствую. Недавно мне понадобилось поработать с Mikrotik через его API. Вроде бы ничего примечательного, есть официальная библиотека , есть еще на гитхабе обёртка, но вот беда — мне надо было работать асинхронно через asyncio и использованием плюшек async/aw...

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

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

Теперь даже ребенок может печатать игрушки с Toybox! Toybox – 3D-принтер, который позволяет взрослым и даже детям печатать игрушки. Это простой в использовании принтер с удобным интерфейсом. Toybox был разработан Беном Балтесом и Дженн Чин из Окленда (штат Калифорния). Оба основателя собрали на Indiegogo более 155 тысяч доллар...

Рекомендации по настройке AFA AccelStor при работе с VMware vSphere В рамках данной статьи хотелось бы рассказать об особенностях работы All Flash массивов AccelStor с одной из популярнейших платформ виртуализации – VMware vSphere. В частности, акцентировать внимание на тех параметрах, которые помогут получить максимальный эффект от использо...

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

[Перевод] Каким был первый айфон? Фото: Tom Warren Странный вопрос. Многие видели его презентацию, на которой Стив Джобс, в частности, заявил, что новый смартфон разрабатывали два с половиной года. Вскоре после этого новинка появилась на витринах салонов связи. Любопытно посмотреть, какие прототипы были у...

Как я сделал (почти) бесполезный стриминг вебкамеры на Javascript В статье я хочу поделиться своими попытками сделать стримминг видео через websockets без использования сторонних плагинов браузера типа Adobe Flash Player. Что из этого получилось читайте далее. Читать дальше →

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

Управление Raspberry через websockets Raspberry Pi снискали огромную популярность по всему миру. Однако многие из любителей-разработчиков сталкиваются с проблемой доступа к устройству из интернета. Как правило приходится необходимо колдовать с DDNS или докупать статический IP адрес. Оба варианта предполагают нас...

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

Amazon Braket дает возможность попробовать квантовые вычисления Компания Amazon в лице своего подразделения Amazon Web Services (AWS) представила облачный сервис Amazon Braket. По словам AWS, это «полностью управляемый сервис, который облегчает ученым, исследователям и разработчикам создание, тестирование и запуск алгоритмов к...

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

Google Analytics и GDPR: а нужно ли согласие пользователя? После публикации о том, как быстро проверить cookies на соблюдение GDPR, наиболее обсуждаемым оказался вопрос необходимости получения согласия пользователей при использования на сайте Google Analytics. В этой статье ознакомимся с позициями некоторых Европейских регуляторов ...

По следам Highload++ Siberia 2019 — 8 задач по Oracle Привет! 24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin ...

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

Авторизация в ESIA на сервере терминалов с ЭЦП по ГОСТ-2012 Добрый день Хабровчане. Коллеги работающие в сфере гос. закупок уже успели испытать на себе обязательное требование правительства касательно использования носителей с электронно цифровой подписью ГОСТ Р 34.10-2012. Использование ЭЦП по новому ГОСТу является обязательным с 1...

ТОП 5 качественных беспроводных наушников с Алиэкспресс Если вам очень хочется хорошие беспроводные наушники, но цена в магазине достаточно велика, то стоит заказать их на всеми известном китайском сайте AliExpress. Но с выбором тоже могут возникнуть проблемы. В данной статье приведены 5 лучших наушников, которые рекомендуют поль...

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

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

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

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

Исправляем паттерн проектирования — Singleton в PHP Недавно я писал о том, как сломать паттерн проектирования — Singleton в PHP. После написания статьи я искал новый вариант реализации паттерна: есть ли способ создать Singleton в PHP, не давая возможности создавать новые экзепляры класса с помощью Closure::bind()? Читать даль...

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

Боль и слёзы в Svelte 3 Вместо предисловия Статья будет полезна тем, кто так-же как и Мы решил попробовать Svelte в живом проекте. В нашу небольшую компанию пришёл заказ на разработку веб-админки для сервиса с бекэндом на Mongodb Stitch. В последние пару лет frontend Мы пишем на React или Vue (в за...

Как открывать ссылки в самом приложении, а не в Safari Можно открывать ссылки в приложениях прямо из Телеграмм С каждой новой версией iOS Apple уделяет пристальное внимание возможностям поделиться контентом — сейчас, например, можно открыть нужную ссылку в гораздо большем количестве приложений, чем несколько лет назад. Одн...

Управление Docker контейнерами в Go Документация! Когда вы решите написать, свой велосипед по ловле хуков из docker hub или из registry для автоматического обновления/запуска контейнеров на сервере, вам может пригодиться Docker Cli, который поможет управлять демоном Docker в вашей системе. Читать дальше →

Использование Datapath Config Tool Нам предстоит сделать предпоследний шаг в практическом освоении работы с UDB. Сегодня мы будем вести разработку не при помощи автоматизированного UDB Editor, а в полуручном режиме, с использованием Datapath Config Tool. Очень хорошим подспорьем в освоении этого инструмента...

Легендарный производитель кнопочных телефонов создал конкурента Apple AirPods Pro На сайте Slashleaks опубликовали схематическое изображение новых полностью беспроводных наушников компании Nokia. Пока что никаких конкретных сведений об устройстве нет. На эскизе указано, что наушники и зарядный футляр для них будут доступны в черном и сером вариантах...

Джон Мюллер о создании AMP-only сайтов Сотрудник Google Джон Мюллер недавно поделился своим мнением и советами по созданию сайтов, работающих только на базе технологии AMP. В декабре один из вебмастеров инициировал обсуждение в Reddit, спросив, что лучше – AMP-only сайт или же сайт, содержащий как ускоренные, так...

Mail.ru выпустила новый браузер Atom с акцентом на «безопасность и приватность» В июле 2018 года компания Mail.ru прекратила разработку браузера «Амиго», хорошо знакомого многим пользователям, которые пытались удалить его из системы. Однако крупнейшая интернет-компания России не могла остаться без своего браузера. Поэтому разработчиков просто перевел...

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

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

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

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

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

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

Google Assistant упростит бронирование билетов через Chrome Google Chrome — теперь со встроенным Google Assistant Сегодня мало кого можно удивить бронированием билетов в кино или заказом пиццы через интернет. Достаточно зайти на сайт кинотеатра или пиццерии, добавить интересующий вас товар в корзину и оплатить его банковской ка...

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

Mockdown: самый быстрый способ создания вайрфреймов При создании технического задания клиенты часто отправляют много ссылок на сайты для понимании бизнес задач. Например: хочу регистрация и авторизацию как у twitter, список с новостными блоками как в Яндекс Дзен и т.д. Очень сложно такие части проекта задокументировать, хочет...

Приложение для iOS и Android на Kotlin + Flutter UI Вступление Всем привет. Какое-то время назад, я решил делать свой проект для Android и iOS одновременно. Естественно, встал вопрос о выборе технологий. Пару недель присматривался к популярным стекам и выбрал Kotlin/Native. Поскольку я являюсь Android-разработчиком, то с Ko...

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

Интерактивные панели ViewSonic для совместной работы Корпорация ViewSonic приняла участие в выставке ISE 2019 в Амстердаме. На своем стенде компания продемонстрировала более 20 новинок, в их числе интерактивные дисплеи ViewBoard®, LED и Laser LED проекторы и мониторы с сенсорным экраном. Представленные интерактивные ди...

[Перевод] Введение в Screen Capture API — Сканируем QR коды в браузере Введение В этой статье мы, как вы уже догадались, поговорим про Screen Capture API. Этот API появился на свет в 2014 году и новым его назвать сложно, однако поддержка браузерами все еще достаточно слабая. Тем не менее, его вполне можно использовать для персональных проектов ...

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

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

Huawei против сторонних лаунчеров: начиная с EMUI 9 компания будет блокировать возможность их установки Давно известный факт, что большинство современных смартфонов поставляются с проприетарной оболочкой поверх стандартного Android. Она, в свою очередь, призвана изменить внешний вид Android и добавить софт от производителя гаджета. Однако и этого некоторым пользователям оказыв...

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

Управление SSL/TLS сертификатами в облаках и контейнерах — не человеческая работа Из презентации Venafi: как установка сертификатов вручную тормозит процесс непрерывной интеграции и развёртывания приложений Облачные сервисы и контейнеры стали стандартом де-факто для развёртывания веб-приложений. Однако интеграция сертификатов SSL/TLS в окружение DevOps ...

Как выбрать перспективные ключи для SEO на основе сценарного прогноза в Google Data Studio (+шаблон) Типичная ситуация: нужно продвинуть сайт по 800 запросам, но денег хватает только на 100. Как выбрать из общей массы фразы, которые обеспечат хороший прирост трафика и конверсий в рамках бюджета? Один из вариантов — сценарная модель прогнозирования трафика и конверсий с ис...

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

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

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

Написание системы попарно взаимодействующих частиц на C++ с использованием DirectX 11 На хабре уже есть много статей про использование вычислительных шейдеров с Unity, однако статью о использовании вычислительного шейдера на "чистом" Win32 API + DirectX 11 затруднительно. Однако эта задача ненамного сложнее, подробнее — под катом. Для этого будем использоват...

[Из песочницы] Новый проект братьев Дуровых: Telegram Open Network Приближается момент полномасштабного запуска самого ожидаемого криптопроекта, который действительно может изменить мир. К началу ноября сеть TON будет запущена и все смогут в полной мере оценить её достоинства и начать использовать по назначению: разработчики — создавать пол...

Будущее без браузеров: как Project Catalyst изменит нашу работу с Mac Когда Стив Джобс представлял первый iPhone, особое внимание он уделил возможностям веб-серфинга. Он восхищался тем, насколько удобным было взаимодействие с сайтами на мультитач-дисплее. Однако на самом деле ни о каком удобстве не шло и речи, учитывая, насколько маленькими б...

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

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

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

[Из песочницы] Профилирование под Linux с помощью Performance Analyzer Профилирование под Linux с помощью Performance Analyzer Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполе...

[Перевод] PostgreSQL и настройки согласованности записи для каждого конкретного соединения Перевод статьи подготовлен специально для студентов курса «Базы Данных». Интересно развиваться в данном направлении? Приглашаем вас на День Открытых Дверей, где мы подробно рассказываем о программе, особенностях онлайн-формата, компетенциях и карьерных перспективах, которые ...

Человек без смартфона Мне 33 года, я программист из Санкт-Петербурга и у меня нет и никогда не было смартфона. Не то чтобы он был мне не нужен — нужен, даже очень: я работаю в IT сфере, у всех членов моей семьи они есть (у ребенка уже третий), мне приходилось руководить в том числе и мобильной ра...

ATtiny13 против ПЛК, или как получить 14 I/O от контроллера с 8 ногами Прежде чем приступить, хотел бы предупредить рьяного читателя. То, что я описываю, делать нельзя по многим причинам, эти причины вам радостно укажут в комментариях, и я ни коим образом не призываю так делать. И ни в коем случае я не утверждаю, что описанным ниже устройст...

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

Делаем 3D конфигуратор для WooCommerce Этот урок является логическим продолжением двух предыдущих статей (часть 1, часть 2) про создание трёхмерных конфигураторов без использования программирования и вёрстки. В прошлой части мы рассматривали вопрос интеграции трёхмерной части с использованием штатной системы за...

[Из песочницы] Phoenix LiveView: когда вам больше не нужен JavaScript* * для создания динамической страницы Не так давно 12.12.2018 был анонсирован выход новой библиотеки для фанатов phoenix framework под названием Phoenix LiveView. Я бы хотел поделиться с вами впечатлениями от ее использования и phoenix в целом, а в следующей статье попробова...

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

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

Ноутбуки Huawei MateBook 2020 на первых официальных изображениях На сайте Slashleaks опубликовали качественные официальные рендеры ноутбуков Huawei MateBook 2020 модельного года, которые будут оснащены экранами с диагональю 14 и 15 дюймов. На правой части ноутбука видны разъемы 3,5 мм для подключения наушников и USB-A. У старшей моде...

[Перевод - recovery mode ] Revocation сертификатов — не работает Прямо сейчас в интернете наличествует некая проблема, и, насколько я могу судить, с течением времени она лишь становится серьёзнее: всё большее и большее число сайтов получают сертификаты (что необходимо для запуска HTTPS), но у нас нет способа защитить себя, если «что-то п...

О чём говорили на Google I/O 2019: Android 10, AR-приложения и многое другое В этой статье я расскажу о своих впечатлениях от конференции Google I/O 2019, на которой мы с коллегами побывали на днях (и даже “засветились” с нашим приложением в одной из презентаций). Она поможет вам проникнуться атмосферой и, возможно, побудит посмотреть несколько докла...

Мой опыт подключения LPS331AP к Omega Onion2 Доброго времени суток, хабровчане! Небольшое предисловие Намедни я стал счастливым владельцем одного из самых маленьких одноплатников, работающим на LEDE, и первое, что захотелось сделать (после моргания светодиодом) — домашняя метеостанция, к которой можно получить доступ ...

ScrumBut в команде аналитиков: перед взлётом Привет, Хабр! Меня зовут Женя. Я системный аналитик компании «НОРБИТ» и начинающий Scrum-мастер. Я давно присматривалась к Scrum с целью изучить, попробовать и оценить его возможности в нашей команде аналитиков. И вот, после легкого пинка воодушевляющего разговора с РП я пон...

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

PVS-Studio идёт в облака: GitLab CI/CD Эта статья является продолжением цикла публикаций об использовании PVS-Studio в облачных системах. На этот раз мы рассмотрим работу анализатора совместно с GitLab CI — продуктом от GitLab Inc. Интеграция статического анализатора в CI систему позволяет выявить баги сразу пос...

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

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

[Из песочницы] Длинные имена слишком длинные Привет, Хабр! Представляю вашему вниманию перевод статьи "Long Names Are Long" автора Bob Nystrom. Одно из умных вещей которые делает Google это строгие code review. Каждое изменение, прежде чем вам разрешат его внести в основную ветку, рассматривается как минимум ...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

У операторов связи растет интерес к совместному использованию радиочастот Больше всего заявлений (221) получено от ООО "Скартел" и ПАО "МегаФон" для создания на территории 78 субъектов Российской Федерации сетей связи стандарта LTE в диапазоне радиочастот 2600 МГц. От ПАО "МТС" и ПАО "ВымпелКом" поступило 55...

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

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

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

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

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

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

[Перевод] Разбираем Async/Await в JavaScript на примерах Автор статьи разбирает на примерах Async/Await в JavaScript. В целом, Async/Await — удобный способ написания асинхронного кода. До появления этой возможности подобный код писали с использованием коллбэков и промисов. Автор оригинальной статьи раскрывает преимущества Async...

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

[Перевод] Уязвимость runC, затрагивающая Kubernetes, Docker и containerd Сообщество Linux занято сейчас устранением недавно обнаруженной уязвимости, которая касается средства для запуска контейнеров runC, используемого Docker, CRI-O, containerd и Kubernetes. Уязвимость, получившая идентификационный номер CVE-2019-5736, даёт заражённому контейне...

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

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

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

JavaScript: Большое целое Ну почему Не так давно JavaScript похвастался новым примитивным типом данных BigInt для работы с числами произвольной точности. Про мотивацию и варианты использования уже рассказан/переведен необходимый минимум информации. А мне бы хотелось обратить чуть больше внимания на превнесенн...

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

Браузер Microsoft Edge на базе Chromium уже онлайн, его можно скачать Что с нетерпением ждем: больше информации о новом браузере Microsoft Edge на основе Chrome. Как мы видели ранее, он поразительно похож на Chrome, что неплохо. Вы даже можете скачать браузер Microsoft Edge на основе Chromium самостоятельно и попробовать, сообщает ITbukva.com....

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

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

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

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

Magento 2: импорт продуктов прямо в базу В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматрива...

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

Упрощаем миграцию с OpenShift 3 на OpenShift 4 Итак, состоялся официальный запуск платформы Red Hat OpenShift 4. Сегодня мы расскажем, как перейти на нее с OpenShift Container Platform 3 максимально быстро и просто. В рамках этой статьи нас прежде всего интересуют новые кластеры OpenShift 4, использующие возможности у...

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

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

Лучшие блокировщики рекламы на Android Android не iOS, iOS не Android. Давно уже продолжается противостояние между двумя самыми популярными мобильными ОС на сегодняшний день. И основная суть и причина этого противостояния заключается в том, что Android – система открытая, и позволяется пользователям при должной ...

В Android Q может появится кастомизация экрана блокировки и Always-On Display Некоторые варианты кастомизации уже можно опробовать в бета-версии Android Q. Разработчики с XDA-Developers обнаружили возможность […]

Очень много YouTube-каналов для прокачки английского языка для программистов Привет, Хабр! С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский. Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы! ...

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

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

Ортоскопический объектив Laowa 15mm F2 Zero-D стал доступен в вариантах с креплениями Canon RF и Nikon Z Компания Venus Optics объявила о выпуске новых вариантов полнокадрового объектива Laowa 15mm F2 Zero-D. Новые варианты рассчитаны на использование с беззеркальными камерами систем Canon EOS R и Nikon Z. По словам Venus Optics, объектив Laowa 15mm F2 Zero-D является сам...

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

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

Google начала банить пользователей за блокировку рекламы в YouTube Заблокировать рекламу в YouTube можно, но можно за это серьёзно поплатиться Блокировка рекламы — вещь чрезвычайно спорная. С одной стороны, владельцы сайтов нередко перегибают палку и размещают баннеры и всплывающие окна на каждом квадратном сантиметре своих веб-ресурс...

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

Server Side Rendering для React App на Express.js На написание этой статьи меня сподвигло отсутствие какого-либо более-менее полного мануала, как же сделать Server Side Rendering для React приложения. Когда я столкнулся с этой проблемой, у меня было 2 варианта это сделать, либо Next.js фреймворк, либо используя Express.js....

[Перевод] Настройка НА-кластера Kubernetes на «голом железе» с kubeadm. Часть 1/3 Всем привет! В этой статье я хочу упорядочить информацию и поделиться опытом создания и использования внутреннего кластера Kubernetes. За последние несколько лет эта технология оркестровки контейнеров сделала большой шаг вперед и стала своего рода корпоративным стандартом дл...

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

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

Docker — это игрушка или нет? Или всё-таки да? Всем привет! Ооочень хочется прям сразу приступить к теме, но правильнее будет немного рассказать про мою историю: Вступление Я программист с опытом разработки frontend одностраничных приложений, scala/java и nodejs на сервере. Довольно долго (уже точно пару — тройку лет), ...

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

3. Типовой сценарий внедрения Check Point Maestro В прошлых двух статьях (первая, вторая) мы рассмотрели принцип работы Check Point Maestro, а также технические и экономические преимущества этого решения. Теперь хотелось бы перейти к конкретному примеру и описать возможный сценарий внедрения Check Point Maestro. Я покажу ...

[Перевод] Service mesh для микросервисов. Часть II, основы работы с Istio Перевод статьи подготовлен специально для студентов курса «Инфраструктурная платформа на основе Kubernetes». Настройка базового микросервиса в Kubernetes обманчиво проста. В одной из последних статей мы рассказали, как легко начать работать с контейнерами. Мы скомпоновали п...

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

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

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

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

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

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

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

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

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

[Перевод] Глубокое погружение в Linux namespaces В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые им...

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

[censored]-bot, или есть ли жизнь после китайского комплекта типа "соберисам" Предыстория. Пару лет назад был куплен FlyingBear p902, собран и запущен. Но как это обычно бывает в принтеростроении, пошел процесс модернизаций и разных улучшалок.В итоге были изменены- стол на Anycubic- мозги на Lerdge-S + тач-экран- Добавлен жирный мосфет для командовани...

[Перевод] Элегантная обработка ошибок в JavaScript с помощью монады Either Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобрать...

Mozilla изобрела способ обмануть таргетированную рекламу Mozilla разработала инструмент Track THIS, который позволяет обмануть алгоритмы браузеров по таргетированию рекламы на определенного пользователя. Как сообщается в официальном блоге компании, при использовании инструмента пользователь не перестанет видеть рекламу, однако она...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

[Перевод] Больше возможностей с паттернами в C# 8.0 Совсем недавно вышла Visual Studio 2019 Preview 2. И вместе с ней пара дополнительных функций C# 8.0 готова к тому, чтобы вы их опробовали. В основном речь идет о сопоставлении с образцом, хотя в конце я коснусь и некоторых других новостей и изменений. Эта статья на английск...

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

Простая игра на SFML Будем делать игру «пятнашки» на языке C++ с использованием библиотеки SFML. Пятнашки — это широко известная головоломка, которая выглядит следующим образом: На игровом поле размером 4х4 случайным образом расположены 15 плашек с номерами от 1 до 15 и одно свободное место. П...

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

[recovery mode] Новые возможности в Вебмастере Давно были в Вебмастере? Пробегитесь по основным пунктам своего сайта за 5-10 минут времени, и поставьте задачи программистам! Для начала, если у вас есть сайт и нет Yandex-вебмастера – срочно поставьте webmaster.yandex.ru. Доверие 1. Значки перед сайтом: Читать дальше →

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

[Перевод] XML практически всегда применяется не по назначению Язык XML был изобретен в 1996 году. Едва он успел появиться, как возможности его применения уже начали понимать неправильно, и для тех целей, к которым его пытались адаптировать, он был не лучшим выбором. Не будет преувеличением сказать, что подавляющее большинство схем XM...

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

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

Chrome 75 защищает от поддельных URL В Google Chrome появились две новые возможности для борьбы с мошенническими сайтами. Теперь браузер предотвращает переходы по подозрительным URL-адресам и позволяет сообщать о потенциально опасных веб-ресурсах команде Google Safe Browsing с помощью расширения Suspicious Site...

Textly.AI – сервис для улучшения письменного английского Всем привет! Сегодня хотел рассказать вам о своем новом проекте – онлайн-помощнике для исправления ошибок в англоязычных текстах Textly.ai. Это сервис для тех, кто использует английский язык в коммуникациях или хочет улучшить навыки письма. Как это работает: расширения для ...

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

Media Creation Tool – программа по обновлению до Windows 10 May 2019 Update Теоретически обновление для Windows 10 мая 2019 года завершено, но Microsoft решила еще протестировать обновление в канале предварительного просмотра Slow Ring и Release Preview, чтобы поймать редкие, но очень серьезные ошибки перед выпуском, и чтобы не повторилась ситуация ...

[Перевод] Стандарт WASI: запуск WebAssembly за пределами веба 27 марта мы в Mozilla объявили о начале стандартизации WASI, системного интерфейса WebAssembly (WebAssembly system interface). Зачем: разработчики начали применять WebAssembly за пределам браузера, потому что WASM обеспечивает быстрый, масштабируемый, безопасный способ запу...

Несколько новых подробностей о Windows Core OS Уже несколько лет компания Microsoft работает над проектом под названием Windows Core OS (WCOS), который, по имеющейся информации, ляжет в основу операционных систем для Surface Hub 2, HoloLens 2 и складных устройств Andromeda и Centaurus. Однако до сих пор было неизвестно,...

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

Apache Ignite Zero Deployment: точно Zero? Мы — отдел развития технологий розничной сети. Однажды руководство поставило задачу ускорить объемные вычисления за счет использования Apache Ignite в связке с MSSQL, показало сайт с прекрасными иллюстрациями и примерами Java-кода. На сайте сразу понравился Zero Deployment,...

WebRTC на своем сайте — без багов и бюджета Технология WebRTC существует давно и поддерживается практически всеми браузерами (97% по нашему опыту). Многие задумываются установить и себе виджет WebRTC для связи с клиентами и повышения конверсии. Как добавить себе на сайт WebRTC звонки без лишних затрат и обойти баги...

AI supremacy: Leela Chess. Или про то, как полностью открытая нейросеть победила Честно говоря, я очень разочарован хабром. Почему никто не осветил такую вещь, как победа нейросетевого подхода с полностью открытым кодом, а? И полностью открытыми нейросетевыми данными? Действительно, ну вот DeepMind Technologies описали как они обучали шахматный ИИ, иг...

[Перевод] Как соединить GitLab и Pantheon и оптимизировать рабочие процессы Drupal и WordPress Наш гость, создатель инструментов для разработчиков из Pantheon, рассказывает, как автоматизировать деплои WordPress с помощью GitLab CI/CD. В Pantheon я занимаюсь связями с разработчиками, поэтому всегда ищу новые способы помочь разработчикам WordPress и Drupal решать проб...

Laragon — WAMP с автоматическими локальными доменами Даже странно, что про Laragon нет ни единой публикации на Хабре. Хочу очень кратко восполнить этот пробел, ибо данный инструмент вполне заслуживает популярности среди целевой аудитории веб-разработчиков, кодящих под Windows. Laragon — это простой и компактный WAMP (Apach...

Safari для macOS научился затемнять содержимое веб-страниц macOS 10.14.4, чей релиз состоялся вечером 25 марта, является обновлением третьего порядка, но, тем не менее, включает в себя ряд значимых функций, прежде недоступных на компьютерах Apple. Одним из нововведений стала поддержка полноценного ночного режима в Safari. Благодаря...

[Перевод] Расцвет и упадок Visual Basic Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Ba...

Сказ об опасном std::enable_shared_from_this, или антипаттерн «Зомби» В статье приводится опасный антипаттерн «Зомби», в некоторых ситуациях естественным образом возникающий при использовании std::enable_shared_from_this. Материал — где-то на стыке техники современного C++ и архитектуры. Читать дальше →

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

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

Automator + браузер на Mac: 6 способов использования Одним из самых недооценённых инструментов на Mac по-прежнему считается Automator. Именно благодаря этой утилите имеется возможность автоматизировать огромное количество ежедневно выполняемых рутинных задач. В этом материале мы приведем примеры 6 способов использования Automa...

Panasonic присоединяется к программе Microsoft Cloud Корпорация Panasonic стала первым поставщиком мобильных защищенных устройств, присоединившимся к глобальной программе Microsoft Cloud Solution Provider. Этот шаг значительно упростит процессы конфигурирования, подготовки к работе и ИТ-администрирования мобильных устройств To...

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

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

Пишем свой язык программирования, часть 1: пишем языковую ВМ Введение Доброго времени суток всем хабрачитателям! Итак, пожалуй стоит сказать, что целью моей работы, на основе которой будет написан ряд статеек было пройти весь путь создания полнофункционального ЯП самому с 0 и затем поделиться своими знаниями, наработками и опытом с и...

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

5G и WiFi 6: когда две сетевые технологии лучше, чем одна Сейчас о 5G не пишет и не говорит только ленивый (кстати, свою статью о сетях и устройствах пятого поколения мы уже опубликовали). Но есть и еще одна относительно новая сетевая технология — это WiFi 6. Иногда приходится читать дискуссии о том, что лучше, 5G или WiFi 6. На...

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

[Перевод] Разработка веб-серверов на Golang — от простого к сложному Пять лет назад я начал разрабатывать Gophish, это дало возможность изучить Golang. Я понял, что Go — мощный язык, возможности которого дополняются множеством библиотек. Go универсален: в частности, с его помощью можно без проблем разрабатывать серверные приложения. Эта ...

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

Компания-разработчик облачных решений Mirantis выкупила платформу Docker Enterprise Компания Mirantis выкупила бизнес-платформу Docker Enterprise, сообщается на официальном сайте Docker и в пресс-релизе Mirantis. Компания Mirantis специализируется на разработке собственной облачной платформы, основанной на кластерной архитектуре на базе Kubernetes. Покупк...

Опыт использования ASUS ZenBook Pro Duo: ноутбук с двумя дисплеями Поработав с несколькими мониторами редко хочется вернуться к одному. Конечно, если просто браузить что-то в интернете или смотреть фильм, больше одного экрана не нужно. Но во время работы два (и более) дисплея очень поднимают уровень комфорта, ведь позволяют ускорить некотор...

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

Английский vs. Эсперанто: за кем будущее? За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык. Что приме...

Определение кодировки текста в PHP вместо mb_detect_encoding Существует несколько кодировок символов кириллицы. При создании сайтов в Интернете обычно используют: utf-8 windows-1251 koi8-r Еще популярные кодировки: iso-8859-5 ibm866 mac-cyrillic Вероятно это не весь список, это те кодировки с которыми я часто сталкиваюсь. Иног...

MU-MIMO: один из алгоритмов реализации Предисловие В качестве дополнения к моей недавней статье хотелось бы также поговорить о теме MU (Multi User) MIMO. Есть у мною уже упомянутого профессора Хаардта одна очень известная статья, где он вместе со своими коллегами предлагает алгоритм разделения пользователей по ни...

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

Xiaomi выпустила Mint Keyboard с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

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

[Перевод] Монада «Reader» через async/await в C# В моей предыдущей статье я описал, как реализовать паттерн "Монада Maybe" с помощью операторов async / await. В этот раз я расскажу, как реализовать другой популярный шаблон проектирования "Монада Reader", используя те же приемы. Этот шаблон позволяет неявно передать некий ...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

Huawei готова продавать свои 5G-модемы компании Apple Недавние сообщения показали, что Apple, возможно, придется отложить запуск iPhone 5G из-за отсутствия модемов 5G. Компания использует чипсеты Intel на своих телефонах, но модем Intel 5G еще не готов. Из-за этого Apple может не объединиться с Intel, поскольку это будет означа...

Отдаю в хорошие руки свой блог (blogarbik.ru), со всеми ресурсами и деньгами Ухожу в другую сферу  и хочу отдать(продать) в хорошие руки свой основной сайт — blogarbik.ru       Я думаю не нужно рассказывать, что представляет собой мой сайт blogarbik.ru Посещаемость около 800 уников в сутки, 200-250 уников с поисковых систем. Оче...

[Из песочницы] Android preferences delegate В данной статье разобран пример создания делегата для SharedPreferences, который уменьшает boilerplate и делает использование SharedPrefernces более удобным. Те кто хочет посмотреть результат, может перейти к готовому решению, остальным добро пожаловать под кат. Читать дальш...

[Из песочницы] Обзорная статья по A-Frame A-Frame — это веб-фреймворк позволяющий создавать различные приложения, игры, сцены в виртуальной реальности (ВР). Все вышеописанное будет доступно прямо из браузера вашего шлема ВР. Этот инструмент будет полезен как тем кто хочет заниматься разработкой ВР игр в браузере, ...

Как мы тестировали несколько баз данных временных рядов За последние несколько лет базы данных временных рядов (Time-series databases) превратились из диковинной штуки (узкоспециализированно применяющейся либо в открытых системах мониторинга (и привязанной к конкретным решениям), либо в Big Data проектах) в «товар народного пот...

Разработка hexapod с нуля (часть 3) — математика Всем привет! Разработка гексапода продвигается и наконец-то базовая математическая часть протестирована и готова к документированию. Чтобы проект дожил до конца и не остался пылиться на полке нужно видеть его сдвиги в положительную сторону, даже если они незначительны. В эт...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

Android Q добавит в Chrome ограничитель использования Социальные сети и мессенджеры, которые не только смогли увести живое общение в Интернет, но и изрядно снизить популярность SMS и телефонных звонков, считаются основным столпом, формирующим зависимость пользователей от своих смартфонов. Но, по мнению Google, веб-браузер удер...

Простой способ отключения Superfetch Многих пользователей интересует вопрос, почему в Диспетчере задач есть такой процесс, как Superfetch, который использует довольно много мощности процессора? По какому принципу он работает и почему его стараются отключить на современных ПК? Скачать бесплатно утилиту superfetc...

Xiaomi выпустила клавиатуру Mint с искусственным интеллектом Смартфоны Xiaomi и Redmi поставляются с фирменной оболочкой MIUI, которая устанавливается поверх Android и имеет собственное приложение-клавиатуру. Но Xiaomi решила предложить больше вариантов набора текста и выпустила приложение Mint Keyboard с искусственным интеллектом. Но...

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

Играем в браузере бесплатно Современные пользователи поголовно играют в игры — на компьютерах, игровых приставках или на смартфонах. Вот только не у всех есть возможность покупать мощное железо или обновлять его каждый год, чтобы запускать сложные проекты. Благо, есть проект https://oigri.com/, который...

В Google Stadia на старте будет больше игр, чем ожидалось Google Stadia расширяет список поддерживаемых игр еще до выхода Уже довольно давно Google объявила список игр, которые будут доступны для своего стримингового сервиса Google Stadia. И не то чтобы он поражал масштабами. На старте нас ждало всего 12 игр, из которых наибольший ...

[Перевод] Вся правда об ОСРВ. Статья #32. Миграция Nucleus SE: Нереализованные функции и совместимость Основным требованием при разработке Nucleus SE была высокая степень совместимости с главным ОСРВ-продуктом Mentor – Nucleus RTOS. Nucleus SE поддерживает определенную часть функционала Nucleus RTOS, о чем много раз говорилось в предыдущих статьях, однако в этой статье я пост...

[Из песочницы] Небезопасные функции PHP Холдинг Modesco — это более 300 инфосайтов и 5 крупных Интернет-сервисов. Проекты регулярно покупаются и продаются. Как вы понимаете, поддерживать качество кода на высоком уровне в данной ситуации физически невозможно. Да и основное внимание программистов, как правило, сосре...

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

[Из песочницы] Знакомство с Microsoft Azure DevTest Labs Всем привет! В статье пойдет речь об облачном сервисе Microsoft Azure DevTest Labs. Данный сервис позволяет решить вопрос настройки среды для разработки, тестирования и лабораторных занятий. Тема лабораторных от меня далека, поэтому я расскажу про настройку сред для разра...

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

Представляем 3CX V16 Update 2 и удаленное управление ПК через WebMeeting Обновление 3CX v16 Update 2 На прошлой неделе мы выпустили 3CX V16 Update 2. Если вы не устанавливали beta-версию Update 2, напомним, что обновление включает новый менеджер удаленных подключений 3CX SBC (Session Border Controller). Кроме того, теперь при создании нового поль...

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

Пример разбора C++ кода с помощью libclang на Python На одном личном проекте на C++ мне потребовалось получать информацию о типах объектов во время выполнения приложения. В C++ есть встроенный механизм Run-Time Type Information (RTTI), и конечно же первая мысль была использовать именно его, но я решил написать свою реализацию,...

Лучшие Linux-приложения для Chrome OS Мы уже писали статью о том, как установить Linux-приложение на Chrome OS через контейнер Debian. Эта функция изначально предназначена для разработчиков, однако будет полезна и тем, кто желает получить качественный софт, недоступный в Google Play, на Chrome OS. В этом матери...

Почему Google меняет стандартный интерфейс URL в браузере В сентябре прошлого года разработчики Chrome выдвинули радикальное предложение: изменить отображение URL в браузере. В некоторых изданиях сразу появились статьи с паническими заголовками «Google хочет убить URL» Теоретически, Google выгодно, чтобы пользователи заходили на в...

«Теория Большого взрыва» и практика применения Python Вступление В последнее время активно изучаю язык программирования Python. Особенно меня заинтересовало использование Python в распознавании и классификации лиц. В статье я попробую применить распознавание лиц для сериала «Теория Большого взрыва». Читать дальше →

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

Micropython на GSM+GPS модуле A9G В этот раз я задумался о том, чтобы спрятать в велосипед GPS-трэкер в качестве меры предосторожности. На рынке есть масса автономных устройств для слежения за автомобилями, грузом, велосипедами, багажом, детьми и животными. Подавляющее большинство из них взаимодействуют с по...

Как поделиться файлами через iCloud Drive на iOS и macOS В iOS 11 Apple представила новое приложение «Файлы». Эта инициатива была призвана упростить взаимодействие с файлами и документами на устройстве. И как показала практика, программа оказалась действительно востребованной — особенно на планшетных компьютерах iPad Pro. К...

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

Мультиплеерный экшен Pico Tanks вышел в режиме пробного запуска на iOS и Android Бета-тест мультиплеерного шутера Pico Tanks проходил уже несколько раз, а теперь его авторы наконец-то готовы представить проект, пусть пока только в режиме пробного запуска. Загрузить его могут пользователи iOS и Android в Новой Зеландии, Австралии и Филиппин. Матчи в игре...

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

[recovery mode] ShIoTiny: часы без пружины или реальное время и как с ним работать О чем эта статья Продолжаем цикл статей о ShIoTiny — визуально программируемом контроллере на базе чипа ESP8266. В этот статье рассказано о часах реального времени в контроллере ShIoTiny, синхронизации времени и использовании узлов работы с часами. Сайт проекта ShIoTiny...

[Из песочницы] Friendly Open Space JS: Рендеринг на стороне клиента и создание враппера «Friendly Open Space» — очень молодой фреймворк, но бегать уже умеет :-) В данной статье по освоению «Friendly Open Space», мы освоим рендеринг шаблона в браузере и запуск приложения на локальной файловой БД. Ядро фреймворка поддерживает два типа сборки шаблона на клиенте: ...

[Перевод] Заменяют ли Redux хуки React? С тех пор, как в React появились хуки, возникает много вопросов о том, способны ли они заменить Redux. Я полагаю, что хуки и Redux имеют мало общего между собой. Хуки не дают нам неких новых удивительных возможностей по работе с состоянием. Они, вместо этого, расширяют API,...

Космическую MMO Second Galaxy перевели на русский язык Около месяца назад состоялся релиз космической MMO Second Galaxy — главного конкурента еще не вышедшей EVE: Echoes. Разработчики приготовили 5000 галактик, больше 150 кораблей с возможностью кастомизации и битвы, в которых могут участвовать одновременно до тысячи игроков. ...

2. Анализ логов Check Point: SmartEvent Здравствуйте, коллеги. В прошлый раз, в статье «1. Анализ логов Check Point: официальное приложение Check Point для Splunk» мы обсуждали разбор логов шлюза безопасности на основе официального приложения в системе логирования Splunk. В заключении пришли к выводу что хоть пр...

[Из песочницы] Замена Punto Switcher, раскладки Бирмана с помощью скрипта на autohotkey В данной статье я не предлагаю полностью заменить Punto Switcher (Спасибо Сергею Москалёву за данную программу), а только в очень ограниченном функционале. Довольно давно пользуюсь программой Punto Switcher, но не в целях автопереключения, а как переключатель по левому и пра...

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

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

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

BMW и Jaguar Land Rover будут совместно разрабатывать компоненты для электромобилей Компания BMW заявила в среду о намерении разрабатывать электродвигатели, трансмиссию и силовую электронику следующего поколения совместно с Jaguar Land Rover, что свидетельствует о появлении в автомобильной отрасли ещё одного альянса, призванного снизить затраты на разработк...

Первые опыты использования потокового протокола на примере связи ЦП и процессора в ПЛИС комплекса REDD В предыдущих статьях мы уже познакомились с шиной Avalon-MM, где MM означает Memory Mapped, то есть проецируемая на память. Эта шина вполне себе универсальная. К ней может быть подключено несколько ведущих (Master) и несколько ведомых (Slave) устройств. Мы уже подключали с...

Семантический браузер или жизнь без сайтов Мысль о неизбежности перехода глобальной сети от сайтоцентристской структуры к юзероцентристской я высказал еще 2012 году (Философия эволюции и эволюция интернета или в сокращенном виде WEB 3.0. От сайтоцентризма к юзероцентризму). В этом году я попытался развить тему ново...

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

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

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

Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2 Все это собиралось из под Ubuntu 16.04. Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не уст...

[Перевод] 10 шагов к успешному Python-проекту Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению кач...

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

Web scraping с помощью R. Сравнение оценок фильмов на сайтах Кинопоиск и IMDB Всемирная паутина — это океан данных. Здесь можно посмотреть практически любую интересующую Вас информацию. Однако, "вытащить" эту информацию из интернета уже сложнее. Есть несколько способов получить данные и web-scraping один из них. Читать дальше →

Windows Core OS будет поддерживать Win32-приложения Microsoft разрабатывает Windows Core OS – новую версию операционной системы Windows без использования Win32-кода. Предполагалось, что запуск Win32-программ будет возможен только при помощи эмуляции или облака, но по последней информации стало известно, что Microsoft работает...

PVS-Studio и Bug Bounties on Free and Open Source Software Европейский союз стартовал в январе очередную большую охоту за ошибками в открытых программных проектах. Суммарный призовой фонд составляет около 850 тысяч евро. А теперь даём подсказу. Одним из способов поиска ошибок в исходном коде программ является использование статическ...

Nullable Reference типы в C# 8.0 и статический анализ Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, р...

Ноутбук Eurocom Sky X4C: съёмная видеокарта, настольные CPU, до четырёх накопителей и цена, которая может перевалить за 17 000 долларов Компания Eurocom пополнила свой ассортимент ноутбуком Sky X4C, который сам производитель называет мобильным суперкомпьютером. У новинки действительно есть отличительные черты, которые делают его необычным. В первую очередь это использование графических ускорителей в фор...

Иллюзия иммутабельности и доверие как основа командной разработки Вообще я C++ программист. Ну так получилось. Подавляющее большинство коммерческого кода, который я написал за свою карьеру, — это именно C++. Мне не очень нравится такой сильный перекос моего личного опыта в сторону одного языка, и я стараюсь не упускать возможности написать...

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

[Из песочницы] Простой парсер для youtube в гугл таблицах Предыстория Появилась задача собрать данные по 2000+ youtube видео, из которых необходимо было извлечь название видео, канала и язык. Функция IMPORTXML, с помощью которой можно выполнять парсинг с сайтов, — не помогла, поскольку, как оказалось в дальнейшем, youtube хранит д...

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

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

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

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

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

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

А какая разница какой Collation выбрать? Статья подготовлена для студентов курса «MS SQL Server разработчик» Хочу поделиться историей из одного из предыдущих проектов, которая иллюстрирует, что Collation нужно выбирать очень вдумчиво. И о том, что бывает, если этот параметр все-таки выбрали неверно, и какие вариант...

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

XiaoMiTool v2 — программа для прошивки смартфонов Xiaomi Количество владельцев смартфонов Xiaomi в мире велико и многие из них не отказались бы сделать их лучше и функциональнее. И тут на помощь могут прийти различные прошивки, и чтобы процесс их установки прошел максимально просто, есть различные специальные утилиты. Одна из них ...

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

Американская компания ColorWare предложила наушники AirPods 2 в массе различных цветов… и по цене почти в два раза дороже оригинала Цветовых вариантов у наушников AirPods нового поколения не то, чтобы мало, – их вообще нет. Поэтому если пользователю хочется какого-то альтернативного внешнего исполнения, то приходится обращать внимание на предложения сторонних компаний. Одной из таких является ...

[Перевод] Делаем приложение доступным, используя библиотеку тестирования доступности aXe Представляем вам перевод статьи Indrek Lasn, опубликованной на Medium.com. Под катом вы узнаете, как сделать приложение или сайт более доступными при помощи aXe — средства тестирования доступности веб-сайтов и других пользовательских интерфейсов. react-axe показывает резул...

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

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

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

[Перевод] Preload, prefetch и другие теги Есть много способов повышения веб-производительности. Один из них — предзагрузка контента, который понадобится позже. Префтечинг CSS, предварительный рендеринг полной страницы или резолвинг доменного имени. Делаем всё заранее, а потом мгновенно отображаем результат! Звучит к...

Продолжаем дарить подарки! Вашему вниманию представляется пластик фирмы Winbo ABS весом 0.5кг и  PLA весом 0.3кг.  •ABS пластик от компании Winbo - это один из распространенных расходных материалов для 3D-печати. Он очень хорошо поддается механической обработке. Готовое изделие легко окрашивается. Го...

К вопросу о сдвигах, знаках и быстродействии МК «Найди всему причину и ты многое поймешь» Возможно, мои постоянные читатели (ну не может быть, чтобы их не было) помнят, что я как то в своем посте недоумевал по поводу того, что при описании регистров внешних устройств используется атрибут unsigned. В комментариях было пред...

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

Запускаем OpenVPN в Докере за 2 секунды Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континет? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запуст...

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

Локальная автономная система сбора данных (продолжение) Начало на данном сайте по ссылке. Самым удобным для использования вариантом съёма информации о включении пускателя оказался вариант с оптопарой PC817. Принципиальная схема Платы содержат по три одинаковых схемы, всё помещено в коробки из ABS пластика, размер 100х100 мм. ...

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