• Резервирования подключения к интернет

    Связь – она как воздух. Пока не испортишь, ее не замечают.

    В течении долго времени домашнее подключение к интернет считало только как сервисная услуга-развлечение. Но с ростом различных сервисов развлекательная составляющая довольно сильно уменьшилась. А с появление возможности удаленной работы подключение к интернет превзошло в потребности даже обычную телефонию и умудрилось даже попасть в права человека.
    Читать дальше →
  • Битовые операции. Для чего они нужны на примере программировании МК

    Введение


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

    Читать дальше →
  • Установка OpenCV-Python на виртуальной среде для суперчайников

    Здесь вы найдете пошаговый пример установки библиотеки OpenCV на Python.


    • Установка Python
    • Установка виртуальной среды
    • Установка OpenCV + jupiterlab, numpy, matplotlib
    • Тестирование

    Все тестировала на планшете Microsoft Surface, Windows 10 Pro, c 64-битной операционной системой.


    Предположим, что на вашем устройстве ничего не установлено заранее.


    1. Сначала установим Python.
      Скачиваем нужную версию и запускаем .exe файл. Не забываем установить галочку add path. Я установила Python 3.7.3 от 25 марта 2019 г., потому что новая на данный момент версия Python 3.7.4 от 8го июля 2019 г. работала некорректно, а именно в терминале некоторые команды зависали. Открываем командную строку.
    2. Устанавливаем virtualenv.
    Читать дальше →
  • Стартап: от монолита к микросервисам

    Приветствую, Хабровчане!

    Сейчас очень модно заниматься стартапами, чтобы стать единорогом и всю оставшуюся жизнь греть пузико на море и есть бананы вершить судьбу IT-индустрии. Эта участь постигла и меня. Долгое время для тестирования своих идей моя команда писала небольшие MVP (минимальные жизнеспособные продукты), чей бэкенд представлял собой монолит. Немного позже обстоятельства завели нас в пучину контейнерной разработки, а оттуда и в микросервисы. Это существенно изменило наш взгляд на разработку. Об этом и пойдет речь в данной статье!
    Читать дальше →
  • Устанавливаем Selenoid в Docker за 5 минут

    Всем привет.

    Меня зовут Сергей, сегодня ровно 4 месяца как я работаю в автоматизации, да и в тестировании вообще. Так случилось, что в компании я один автоматизатор, и познавать основы автоматизации приходилось не просто, учитывая как сильно у нас на профильных форумах любят вопросы новичков. Ну а отсутствие официальной документации на русском языке для меня вообще странно в случае когда разработчики из России (СНГ).

    В общем это просто памятка по установке. 5 простых шагов, которые позволят без лишней головной боли установить Selenoid новичку.

    Итак приступаем:
    Читать дальше →
  • Универсальная защита от xss-атак и sql-инъекций

    Так сложилось, что вот уже который год мне приходится заниматься технической поддержкой хостинга, а также поддержкой сайтов, к которым я имею довольно косвенное отношение. А так как администраторы довольно часто сталкиваются с разного рода атаками на свои сайты, не имея при этом нанять специалиста, мне пришло в голову придумать единое и универсальное решение для всех сайтов, которое бы помогло им защитить свой сайт без особых усилий. И хотя в нем есть еще не мало минусов и нюансов, которые мне пока не удалось решить, тем не менее это единственное на данный момент решение, которое позволяет обезопасить сайт изнутри, не обращаясь к разного рода плагинам и модулям, которые нужно устанавливать извне и которое даже малоопытный разработчик сайтов способен установить и настроить у себя на сайте. Суть данного решения заключается в том, чтобы обработать данные переданные методами GET, POST и/или COOKIE, еще до момента обработки и записи их самих непосредственно в базу данных.

    В этой статье я приведу примеры использования и недостатки того или иного метода.
    Читать дальше →
  • Пасхалка в одном кроппере DeepNude

    image

    Кликать на все подряд привычка вредная, но после многолетней работы тестировщиком в web и mobile это становиться чем то обыденным. Вот так, в очередной раз, заигрывая с прекрасным творчеством машинного обучения и произошли эти «непроизвольные» нажатия.
    Читать дальше →
  • Sequence как инструмент для реализации бизнес-логики

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

    Недавно увидел, как у одного пользователя в Телеге аватарка отображает текущее время. Решил, что хочу что-нибудь подобное, но делать такое в Телеге уже не интересно, пусть будет ВКонтакте.
    Читать дальше →
  • Кастомный EventEmitter в Angular

    image
    Не секрет, что у новичков в Angular могут возникнуть проблемы с передачей данных между компонентами, потому что не всегда удается использовать Input и Output декораторы. Предлагаю вашему вниманию реализацию паттерна EventEmitter на Angular.
    Читать дальше →
  • Как добавить к уже созданному приложению компоненты ReactJS

    В этом посте я попытаюсь подробно рассказать, как добавить в существующий проект фреймворка ASP .NET Core версии 3.0 библиотеку ReacJS и как её использовать в будущем.

    Создание ReactJS шаблона


    Так, как я использую ОС Windows, то процесс установки буду рассказывать именно под него, но думаю, что и на другие ОС не составит труда переделать под него. Если же у вас есть и готовое React приложение, то можете пропустить следующие шаги.

    Прежде, чем приступить к скачке соответствующего пакета, нам нужно установить пакетный менеджер. Для этого нужно перейти на сайт: nodejs.org/en/download

    И скачать пакет с NodeJS, который содержит в себе уже npm соответствующей версии.

    image

    Если же после установки, когда вы вводите команду npm, вам сообщается о том, что команда не найдена, попробуйте перезагрузить компьютер, если же не поможет проверьте Path и добавьте туда путь к директории с npm, как это сделать, можно узнать здесь:


    Installing Node.js (and npm) on Windows 10


    Для того, чтобы инсталировать пакет, нам нужно прописать в командной строке:

    npm install -g create-react-app

    После того, как пакет установился, нужно прописать команду:

    create-react-app *здесь название вашего приложения*

    Если же эта команда возвращает ошибку, попробуйте прописать команду

    npx create-react-app *здесь название вашего приложения*

    После того, как все пакеты будут установлены и скачаны, вы увидите соответствующий надпись об успешном завершении создании программы.
    Читать дальше →
  • OpenCV и Java/Windows. Основы

    OpenCV (от англ. Open Source Computer Vision Library) — это библиотека алгоритмов компьютерного зрения с открытым исходным кодом. Реализована на C/C++, также разрабатывается для Python, Java, Ruby т.д. В этой статье мы рассмотрим привязку к языку программирование Java применительно к операционной системе Windows.
    Читать дальше →
  • Байты, которых нам так не хватает

    Флешка, HDD, SSD — вещи необходимые не только в быту, но и в работе. Каждый день мы имеем дело с каждым из этих устройств, но всё ли нам говорят производители этих хранилищ данных?



    Введение


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


    Начало пути


    Ещё со школьной скамьи тем, кто проводил за компьютером большую часть своего времени, известно, что информация в компьютере измеряется в битах. В одном байте 8 бит, в одном килобайте 1024 байта и т.д. Поэтому логично предположить, что накопителе объёмом 8Гб будет $inline$8*1024^3$inline$ байта памяти. Однако если заглянем в проводник, то обнаружим 7,44Гб.


    image


    ОК, у нас не хватает 560Мб места. Вроде немного(это эквивалентно 244 фотографиям котиков в разрешении 4К), да и знающие люди скажут, что это место занимает файловая система, но:


    1. файловая система не может занимать такой объём памяти
    2. как показали дальнейшие эксперименты это число не является константой и с увеличением заявленного объёма увеличивается и количество «потерянной» памяти

    Проверив свою флешку я решил увеличить ставки и перейти к чему-то покрупнее. Я просмотрел накопители на 16Гб, 32Гб, 128Гб и 1Тб (это все варианты, которые оказались у меня дома). И каждый раз заявленный объём отличался от фактического.


    Ниже представлена таблица измерений


    Заявленный объём Фактический объём
    8Гб 7.44Гб
    16Гб 14.89Гб
    32Гб 29.79Гб
    128Гб 119.19Гб
    1Тб 931.31Гб
    Читать дальше →
  • Поиск множителей числа на определенном интервале чисел

    Алгоритм поиска множителей числа, то есть представление какого либо числа в виде двух других чисел, при умножении которых мы получил непосредственно то число, которое нам нужно. Эта статья не рассказывает о каких либо идеальных/лучших алгоритмов, это своего рода оптимизация перебора чисел, и далеко не стоит по сравнению с тем же методом факторизации Ферма ну или Ро-алгоритмом Полларда.
    Читать дальше →
  • Эволюция продаж в компании Н



    Простая маленькая компания Н. в городе П. занималась продажами стройматериалов. После десяти лет успешной работы на местном рынке компания Н. решила создать интернет-магазин и выйти на рынок нашей любимой страны. Благо имелись небольшие подразделения/склады в Спб. и Мск. В тот момент это было первым этапом эволюцией для компании Н., которая должна была привести к повышению продаж как минимум в сотни раз.
    Читать дальше →
  • Не выбрасывайте старую акустику Новая жизнь старой акустики

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



    Имеется вот такая компьютерная акустическая система U4-E198. Все работает и ей можно и так пользоваться но вот сам внешний вид уж больно потрепан и никуда не годится.


    Читать дальше →
  • Настраиваем «Диспетчер серверов» Windows 10 для управления серверами неродного домена

    Не так давно Microsoft выпустила очень интересный инструмент Диспетчер серверов (Remote Server Administration Tools). Данный пакет дал возможность системным администраторам наглядно видеть состояние всех Windows серверов и запущенных на них сервисов.

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

    Рано или поздно в любой большой компании наступает момент, когда нужно как-то организовать и структурировать обучение сотрудников. В моём случае это контакт-центр, то есть два десятка площадок в России и СНГ, 6000+ сотрудников, постоянная текучесть и прочие радости жизни, включая систему обучения персонала по принципу «понемногу чему-нибудь и как-нибудь». Но главное – этот момент всегда приходит ВНЕЗАПНО.

    HR-директор бомбит идеями, прибегает к финдиру, размахивает графиками, диаграммами, обещает эффективность +100500 через год, молочные реки, кисельные берега и просит денег. Финдир запускает в эйчара чем-нибудь тяжёлым и прячется под столом. И сам сотона его оттуда не вытащит. Через несколько часов осады и попыток перенести задачу на следующий год, обещает пока что выделить остатки бюджета с ДР компании. Эйчар в радости уходит и передаёт задачу нам. И вместе с этой задачей нам – химику, филологу и дизайнеру – от недобро ухмыляющегося финдира прилетает сумма, которой едва хватает на пьянку.

    Делать нечего: садимся придумывать варианты, куда бы деть несметные богатства.

    Читать дальше →
  • Как настроить бэкап мака (Time Machine) на Яндекс.Диск за 5 шагов

    Поводом для написания данной статьи стало, как это не странно, большое количество информации на тему настройки тайммашины в облако. Но во всех статьях пропускали несколько неочевидных моментов. Далее я расскажу как настроить бэкап в облако за пять простых шагов.
    Читать дальше →
  • Clion и SFML

    Вступление


    Привет, это статья посвящена установке и подключение библиотеки SFML к среде разработки Clion в Linux Ubuntu. Я не могу гарантировать что это способ заработает на других дистрибутивах linux, но то что это работает в Ubuntu гарантирую на 90 %.

    Проблемы


    Я заметил что у многих людей возникают трудности подключения sfml не только к Clion, но и к другим средам разработки отличных от Visual Studio. Это видно по количеству запросов на форуме и видеороликов на youtube. В частности это проблемы связанны с cmake.

    Установка


    Итак приступим. Для начала воспользуемся информацией с официального сайта sfml, по установке на Ubuntu.

    Забыл упомянуть что способ который я описываю работает с sfml 2.5 и выше. Для начала открываем терминал и вставляем туда команду:
    sudo apt-get install libsfml-dev
    , для установки sfml по стандартному пути.

    Подключение


    Открываем ваш clion и создаем новый c++ проект. После создание открываем файл — CmakeList.txt.

    По умолчание ваш CmakeList.txt выглядит так.
    Читать дальше →