• Простое руководство для добавления расширяемых UI тестов (Puppeteer и Mocha)

    Можно найти много статей о том, как добавить UI тесты в ваш проект. Но в основном они сводятся к тому, что описывают как добавить простой тест-кейс, в коде которого запускается браузер, выполняется тест и браузер закрывается. Но обычно этого недостаточно, ведь обычно нам нужен не один-два теста, а целое множество. И чтобы код не дублировался. Поэтому приходится искать решения дополнительно. В данном руководстве я постараюсь сэкономить ваше время на поиск решения некоторых проблем.
    Читать дальше →
  • Как поднять Freeswitch FusionPbx на Debian 9+

    image

    Начало


    После некоторых танцев, как водится с бубном и попыток поставить FusionPBX на одну из последних версий Debian 9, решил написать заметку в след идущим дабы не тратили время зря.
    Читать дальше →
  • Визит (рассказ)

    Порой забавно наблюдать, как расходятся ожидания и реальность.

    Люди мечтали о контакте с инопланетными цивилизациями. Версии контакта с пришельцами у писателей и режиссёров, в основном, сводились в двум вариантам: прилетают «злые инопланетяне» и хотят уничтожить нашу матушку Землю или прилетают «добрые инопланетяне» и идут на контакт с человечеством. В отдельных случаях рассматривались иные варианты пришельцев: пришельцы-торговцы, пришельцы-прогрессоры, пришельцы-наблюдатели. Наверно, эти версии были ближе всего к истине.
    Читать дальше →
  • Zabbix Мониторинг динамических бэкапов

    Всем привет!

    Думаю, многие сталкивались с проблемой, когда в одну папку делается много копий бэкапов. При этом имя бэкапа не постоянное, в котором например, есть дата и время или порядковый номер.

    Встает вопрос как мониторить актуальное состояние?

    Предлагаю свое решение по реализации данной задачи с использованием Zabbix и небольшого скрипта на Python.
    Читать дальше →
  • Как формировался публичный облик противоспутниковой системы «Нудоль»

    Не помню точно с чего именно началось, но однажды, в тогда еще публичных годовых отчетах акционерных обществ военно-промышленного комплекса России, накопилась критическая масса упоминаний некоего комплекса 14Ц033 с названием “Нудоль”. С учетом того, что озвучившие комплекс предприятия входили в концерн ПВО “Алмаз-Антей”, а также с учетом того, что имя “Нудоль” как бы намекает на один из позиционных районов системы противоракетной обороны центрального промышленного района и города Москвы А-135, было сделано предположение о том, что у нас тут речь идет о дальнем эшелоне будущей системы ПРО А-235.

    image
    Предположительно вариант СПУ П222 комплекса 14Ц033 «Нудоль» на шасси МЗКТ-79291, публикация 2015 г.

    Почему дальнем? Потому что индекс 14Ц говорит о принадлежности к космическим средствам. И индекс радиолокационной станции комплекса — 14Ц031 — так же как бы “космический”. А тут еще и индекс ракеты обнародовали — 14А042 — этот индекс относится к череде индексов ракет-носителей космических аппаратов. Но стал известен и разработчик данной ракеты — ОКБ “Новатор”. Вы знаете что-нибудь о ракетах-носителях ОКБ “Новатор”? Вряд ли. И я не знаю, но вот о зенитных ракетах и противоракетах системы ПРО А-135 разработки “Новатора” известно давно и много.
    Читать дальше →
  • Создание SVG sprite с помощью gulp

    Для начала необходимо, что-бы был установлен gulp (если он не установлен, то устанавливаем с помощью npm install gulp)

    Далее устанавливаем модуль npm install --save-dev gulp-svg-sprite

    описание модуля по ссылке www.npmjs.com/package/gulp-svg-sprite

    Далее в файле gulpfile.js создаем task в котором делаем необходимые настройки модуля, про которые можно прочесть перейдя по ссылке www.npmjs.com/package/svg-sprite

    модуль имеет множество настроек и несколько разных модов

    В данном случае нас интересует создание спрайта, который можно использовать как в HTML, так и с помощью фоновой картинки в CSS

    для этого нам потребуется mode: stack

    добавляем код в файл gulpfile.js

    //svg sprite
    var svgSprite = require('gulp-svg-sprite');
    
    gulp.task('svgSprite', function () {
        return gulp.src('app/design/frontend/Magento/newizze/web/sprite/*.svg') // svg files for sprite
            .pipe(svgSprite({
                    mode: {
                        stack: {
                            sprite: "../sprite.svg"  //sprite file name
                        }
                    },
                }
            ))
            .pipe(gulp.dest('app/design/frontend/Magento/newizze/web/images/'));
    });

    Читать дальше →
  • AI на службе GDPR

    Наверное, все знают, что в Европейском Союзе с 25 мая 2018 года действует регламент ЕС 2016/679 General Data Protection Regulation (GDPR), принятый от 27 апреля 2016 года. C помощью GDPR усилена и приведена к единому образу защита персональных данных всех лиц во всех странах, входящих в Европейский Союз.


    Исследователи из юридического факультета Института Европейского университета во Флоренции (EUI), в сотрудничестве с инженерами из Университета Болоньи, Университета Модены и Реджо-нель-Эмилия, при поддержке Европейской группы потребителей BEUC разработали систему искусственного интеллекта «Claudette meets GDPR», которая в идеале представляет собой поисковую систему систему для ежедневного мониторинга соответствия политик конфиденциальности IT-продуктов требованиям законодательства. Но пока Claudette находится на стадии бета-тестирования и обучения алгоритмов.


    Вот именно с соответствия документации IT-продуктов и GDPR — решили начать тестирование Claudette.

    Читать дальше →
  • Интернационализация (локализация) в XCode (iOS/macOS)

    Вступление


    При поиске в google по запросам Core Data или Autolayout, первый результат поиска содержит обновляемую информацию в «новом формате документации». Потратив определенный объем времени, читая и следуя инструкциям, достаточно не сложно ознакомиться с основными инструментами предоставляемыми той или иной технологией(особенно если чтение на английским не является для вас серьезным препятствием).

    Аналогичную информацию можно найти и по локализации продукта. Но в отличии от примеров указанных выше она:

    • Имеет старый менее удобный, как по мне, формат для чтения.
    • Она даже не будет первой в выдаче по запросу «site:developer.apple.com internationalization»
    • И что самое, интересное имеет в заголовке очень любопытное замечание: «Important: This document is no longer being updated. For the latest information about Apple SDKs, visit the documentation website.»

    A первой в выдаче мы видим страницу, которая в большей мере выглядит, как инструмент продажи локализации разработчикам и менеджерам, когда основной интерес представляют разрозненные ссылки в разделах WWDC Session Videos и Documentation and Sample Code.
    Читать дальше →
  • Куда движется SEO в наше время

    Поисковая оптимизация сайтов довольно популярная тема, которая интересует широкий круг людей, что в наше время не удивительно. Я попробую доступным и понятным языком, донести свое виденье о SEO. Расскажу, что оно представляет в наше время и что ждет SEO в будущем. Надеюсь статья будет полезна для тех, кто только начинает знакомство с SEO и Digital в целом, так и для опытных специалистов.
    Читать дальше →
  • Анонимность и безопасность: начало пути к приватности. Урок первый, часть первая



    Пролог


    Рано или поздно, каждого начинает в некой степени волновать вопрос конфиденциальности информации, в любой её интерпретации. Задаваясь вопросом «как стать анонимным и как защитить свои данные», скорее всего, ответ будет следующим — «используйте VPN и Tor Browser» — Вы аноним.

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

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

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

    Для кого этот урок? — Для любого кто на него наткнется. Необходимы фундаментальные познания взаимодействия с устройствами (ПК, ноутбук, смартфон). Я взял в расчет факт отсутствия должных навыков в компьютерной технике, по этому, все действия будут описан так, что даже ребенок сможет их выполнить.
    Читать дальше →
  • Создание BMP файла на чистом Python3.6

    Для первой игры возникла необходимость генерировать графические файлы, но немного изучив вопрос выяснил, что популярные графические библиотеки PIL и pillow не обновляются и их не получается использовать с версиями python 3.7 или 3.6. В итоге я решил, что быстрее будет разобраться как сделать графический файл на чистом питоне, чем гуглить другие варианты. Я открыл Википедию и решил создать вариант файла Example 2 с альфа каналом:

    image

    Читать дальше →
  • Зарплаты и налоги: стоит ли IT-специалистам уезжать из России?

    Развитие и масштабность современных технологических проектов способствуют кадровой нужде в IT-специалистах. В большинстве своем это касается разработчиков в различных областях. Поэтапное освоение новых отраслей, промышленная роботизация, появление большого количества мобильных приложений для iOS и Android предопределили топовые позиции в рейтинге самых востребованных профессий.
    Читать дальше →
  • Два месяца учебы 4-го курса

    Добрый день, я студент технического колледжа 4го года (последнего) обучения.

    Я никогда не вернусь в этот колледж, говорил я себе на 2м курсе, но на третьем я понял что я вернусь туда и не раз, по крайней мере просто позабавится. В этой статье я расскажу немного о своём дипломном проекте и о трудностях учебы что привели к созданию ещё нескольких проектов, так же тут будет немного историй из жизни 4го курса.

    Подробнее под кат.
    Читать дальше →
  • Бережливое отношение к себе

    image
    Photo by Kobu Agency on Unsplash


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


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


    И на самом деле ответ на вопрос прост, вы либо делаете что-то одно, уделяя этому много времени, либо делаете много разных дел, но затрачивая на них мало времени, другого пути не существует.

    Читать дальше →
  • Ошибка новичков в изучении любого языка программирования

    Предисловие


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

    Хочу поделиться с вами своим опытом и так как я пытался обучать некоторых людей с нуля, то расскажу о том, что останавливает этих самых новичков в достижений результата.
    Читать дальше →
  • Sonoff Basic прошивка через Raspberry Pi

    Эта инструкция не претендует на новизну. Приведенное тут вполне гуглится (правда на английском языке), но я долго искал с чего начать и решил помочь тем, кто встает на путь общения с Sonoff.

    Обзоров Sonoff Basic в интернете много в том числе на русском языке, также есть статьи и о том, как подключить его к локальным системам «Умный дом» предварительно перепрошив.
    Итак, если у вас нет USB-UART (еще не пришел из Китая), а блок Sonoff уже есть и есть Raspberry Pi, то эта статья для вас.
    Читать дальше →
  • Патриотизм в компьютерных играх: мнение бывшей геймерши

    новое время со старыми категориями

    Эта статья – письменное излияние моих раздумий как человека, в прошлом увлеченного играми и сохраняющего к ним некоторый интерес и поныне. Поэтому никто не запретит мне надеяться, что от нее будет чуть больше пользы, чем от отвлеченных рассуждений в депутатских креслах. Пусть обладатели оных не сочтут мою точку зрения за необоснованный «наезд», ибо аргументов предостаточно, да и только ленивый не брюзжал в адрес законодателей. Но об этом позже.
    Читать дальше →
  • Студентам-технарям: автоматизируем оформление курсачей в таблицах Google

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

    Т. е. так нельзя: S = π⋅R² = 314 [м²]
    надо так: S = π⋅R² = 3,14⋅10² = 31,4 [м²]

    Причина в том, что расчеты сдавались на бумаге, а профессорам проверять все это не видя цифр неудобно. Обычно расчеты мы делали в Excel, оформлять формулы и подстановку цифр приходилось вручную, и если исходные данные менялись, все автоматом пересчитывалось и оформление снова переделывали вручную. Я то понимал, что с такой примитивной задачей, как подставлять циферки в формулы, компьютер может справиться самостоятельно, но, как оказалось, такой возможности не реализовано ни в Mathcad, ни в Mathematica, ни в Excel.
    Читать дальше →
  • Быстро, бесплатно и без СМС, плагин для Babel JS

    Привет. Нужно понять, как писать этот чёртов плагин для Babel? Завари чайку или кофе и устраивайся поудобнее, начинаем…

    Для начала инициализируем npm
    npm init

    Отвечаем на вопросы «enter»

    Теперь устанавливаем babel

    npm install babel-cli babel-core babel-preset-es2015

    babel-cli — интерфейс для работы с babel из консоли.
    babel-core — самая главная штука в babel.
    babel-presets-es2015 — это модуль для транспиляции в ES5.

    Теперь создадим два каталога src — файлы которые будем преобразовывать и dist — куда будем преобразовывать.

    В src сделаем файлик some.js (имя на свой вкус и цвет) и напишем в нём код.

    const str = "something!";
    
    Читать дальше →