• Создание 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!";
    
    Читать дальше →
  • Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси»

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

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

    В распространенных инструкциях к прокси-серверу Squid предлагают даже сгенерировать собственный сертификат и установить его клиентам, что полный бред как минимум нерационально и выглядит как MITM — атака. Я знаю, что Squid уже что-то подобное умеет делать, но речь в этой статье о проверенном и рабочем способе с использованием 3proxy от уважаемого 3APA3A.

    Далее мы подробно рассмотрим процесс сборки 3proxy из исходников, его настройку, полное и выборочное проксирование с использованием NAT, распределение канала на несколько внешних прокси-серверов, а также использование роутера и статических маршрутов. В качестве ОС используем Debian 9 x64. Начинаем!
    Читать дальше →
  • Первая работа в IT: взгляд с другой стороны стола

    Буквально несколько дней назад я наткнулся на вопрос в Hacker News — «Стоит ли нанимать и обучать джуниоров?[1]». В комментах развернулась бурная дискуссия, желающие могут сходить по ссылке и принять участие. Меня же эта дискуссия сподвигла поделиться с аудиторией хабра несколькими советами тем, кто хочет пройти первое собеседование на позицию программиста.

    image
    Читать дальше →
  • Forever Junior. Почему вне зависимости от квалификации нужно всегда оставаться Junior



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

    Иоанн Златоуст
    Открывая сайт наподобие «хэ-хэ-ру», вбив в поиск вакансий «Java» (подставьте свой любимый язык) вы получите список, просматривая который вам будут попадаться слова «Junior», «Middle», «Regular», «Senior». Эти слова относятся к общепринятой классификации уровней разработчика. На тему к какому уровню отнести себя написано огромное количество статьей, в том числе и на хабре, поэтому я не буду повторяться. Напишу лишь общий вывод: нет точных критериев, по которым можно точно отнести себя тому или иному уровню. У каждой компании они свои.

    Зачем такая градация существует в вакансиях — понятно. Зачем нам как разработчикам относить себя к какому-то уровню — не ясно. Где наша выгода? Потешить самолюбие? Повысить ЧСВ? Мы тратим на этот процесс время и силы, особенно в начале пути в мире IT. Я не выбираю такую философию!
    Читать дальше →
  • Начиная свой путь в Game Dev

    Добрый день, дорогой читатель!

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

    Я закончил технический институт по направлению “Железо и Программирование”. Все знания были свалены в одну кучу, и единственным условием обучения было “Разобраться или искать новый вуз”. Процесс был непростой, но интересный: по пути пришлось изучить все возможные языки программирования. Assembler, Shell, Fortran, Pascal, C/C++/C#, Javascript, HTML, Python — никто и не подумал объяснить, для чего они могут использоваться, какой лучше применять для решения той или иной задачи. Даже банальный вопрос: “Что такое Backend и Frontend?” — первое время оставался без ответа. Пришлось изучить историю компьютеров полностью, даже написать свой микропроцессор с нуля. Я очень полюбил программирование, но параллельно занимался другой деятельностью, и не мог полностью ему себя посвящать. Пытался устроиться на стажировки, практики и открытые вакансии, но поскольку являюсь гражданином другой страны, не все возможности были открыты.

    После института год сидел без работы и пытался выяснить, что мне нравится. Изучил десятки книг по программированию, но все они были на одно лицо: описание языка, история, типы данных, функции, структуры, классы. Общие слова без особых разъяснений, несколько глав, заключение… и ты уже “знаешь” очередной язык программирования. Молодец!
    При этом дальнейшего развития нет, и куда применить знания — не особо понятно.
    Читать дальше →