• Как быстро поднять OpenCV with CUDA для Python и С++ без компиляции 2.5 часа


    Маленькая предыстория … хотя СТОП, нет времени, надо дальше «пилить» :).


    Задачи руководства:


                Ускорить внедрения поддержки NVIDIA CUDA для OpenCV и использования с Python или С++.


    Решаема проблема:


    Компиляция OpenCV с CUDA, может занимать более 2.5 часов.


    Решение


    Версии пакетов:


    Данная реализация проверялась на следующих версиях пакетов:


    Таблица версий пакетов:


      Пакет Версия
    1 ОС Win 7 x64 SP1, Win 10
    2 NVIDIA CUDA, cuDNN 9.2, 10.x 9.2
    3 OpenCV 4.4.x
    4 Python 3.7

    1. Сделать архив папки pythonsite-package/cv2 ( просто чтобы был на всякий)


    2. В неё распаковать архив rls_python_opencv_cuda.7z


    Читать дальше →
  • Повторные продажи как инструмент повышения прибыльности

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

    JasperReports – популярное средство генерации отчетов. Для генерации отчетов используются шаблоны в XML-формате с расширением *.JRXML. Предварительно файл шаблона конвертируется в Java-код, который и используется для генерации отчета.

    Это обстоятельство может быть использовано для разработки довольно сложных вычислений внутри отчета.
    Читать дальше →
  • Подробности о логическом мышлении Сверхразумного Искусственного Интеллекта «RISK»

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

    В статье: «Возможен ли алгоритм мышления?» сказано: «Секрет человеческого мышления как раз и состоит в том, что оно не имеет никакого встроенного алгоритма и именно поэтому способно создавать какие угодно алгоритмы в соответствии со своими потребностями и целями».
    Читать дальше →
  • Создаём форму входа как на Dribbble

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

    Вот что должно у нас получиться в конце:



    Что ж, давайте начнём!

    Для начала нам нужно написать самую простую разметку кода в HTML:

    <div class="sign">
    <form method="post" action="anyfile.php">
        <label for="login">Login:</label>
        <input type="text" name="login" id="login">
        <label for="password">Password:</label>
        <input id="password" type="password" name="password">
        <input type="submit" value="Sign in">
    </form>
    </div>


    Я добавил только два поля для ввода. Вы же можете убрать или добавить сколько хотите.
    Читать дальше →
  • Начинаем использовать Handlebars для создания статических сайтов

    Предупреждение: Матёрый фронтендщик скорее всего не увидит для себя здесь ничего нового. Код в статье представляется без каких-либо гарантий и не претендует на идеологическую верность.


    На днях мой друг верстальщик, работая над очередным статическим сайтом, рассказал, что всё собирается начать пользоваться шаблонизатором. Посматривал он в сторону Handlebars, но нигде не видел простой, готовой тулзы. Которая позволяла бы собирать шаблоны в статический html, могла бы работать через FileWatcher Webstorm'а и не требовала бы развёртывания окружения с сотнями пакетов, гульпом и прочими вебпаками.


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

    Читать дальше →
  • Юридический разбор сайта онлайн-магазина

    Привет! Меня зовут Михаил Закошанский, я юрист.


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

    Читать дальше →
  • Repeatable migrations в Flyway

    После статьи о логике в БД я много дискутирую в комментариях. Часто вижу заблуждение, что любая миграция при таком подходе — это новый файл, который невозможно сравнить со старым. Я покажу что это не так на примере Flyway.
    Читать дальше →
  • Как на «безголовой» Raspberry Pi с единственным WI-FI адаптером включить режим монитора и сохранить подключение по SSH

    Всем привет.Сейчас я расскажу как я на Raspberry Pi без экрана перевел Wi-Fi адаптер в режим монитора и сохранил подключение по ssh.

    Нам понадобится сама Raspberry Pi(я брал Raspberry Pi Zero W так как она компактная и с встроенным Wi-Fi адаптером) желательно с Wi-Fi адаптером(если его нет придется покупать USB Wi-Fi адаптер и подключать), SD-карта и USB-кабель который может передавать данные, а не только заряжать.

    Я надеюсь вы уже установили OС на карту, если нет то в интернете полно инструкций.
    Читать дальше →
  • Что нужно учесть при разработке Ui/Ux дизайна интернет магазина (часть1 — Типы пользователей)

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

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

    А пока начнем.

    8 Типов покупателей в e-commerce


    1. Эксперт — знает характеристики продукта которые ему нужны. Тщательно просматривает всю информацию о товаре, изучает отзывы, смотрит видео о продукте.
    В первую очередь ему нужно полное совпадение с тем что он ищет.
    Expert
    Читать дальше →
  • Опасности изолированных сетей

    Некоторые мысли по поводу безопасности изолированных сетей.

    Мне доводилось довольно много возиться с тем, что называют «air-gapped networks» — то есть с сетями, которых ни при каких обстоятельствах к Интернету подключать нельзя. Запрет этот диктуется, естественно, соображениями безопасности — «а вдруг нас хакнут». Идея предотвратить хаканье на корню отключением от Интернета, конечно, привлекательна своей простотой и радикальностью, но тем не менее, принимающие такое решение зачастую упускают из вида разные последствия, безопасность не улучшающие, а наоборот.
    Читать дальше →
  • Как скачать все треки в BOOM / Как добавить все свои треки в плейлист ВК

    Как добавить в плейлист ВК все свои аудио разом?


    Разом — не знаю. Но знаю, как это сделать последовательно без усилий.

    Что нужно? Компутер, браузер, страница в ВК с треками.
    Читать дальше →
  • Windows 10 + Linux. Настройка GUI KDE Plasma для Ubuntu 20.04 в WSL2. Пошаговое руководство



    Введение


    Данная статья предназначена вниманию системных администраторов, которые подготавливают типовые рабочие места на компьютерах под управлением ОС Windows 10, в том числе для разработчиков ПО.

    Следует отметить, что существует определенная проблема, связанная с невозможностью интеграции ПО, полученного в on-line магазине Microsoft Store для использования в пользовательском образе Windows 10. Не вдаваясь в подробности уточню, что данная проблема связана с тем, что установленные из Microsoft Store программы связываются со служебной учетной записью Administrator, и при завершении создания пользовательского образа утилитой sysprep возникают обусловленные этим обстоятельством ошибки.

    Рассмотренный в данной статье способ позволить избежать такой проблемы при подготовке образа ОС Windows 10 с предварительно настроенной подсистемой WSL2, а также с заранее подготовленным и настроенным образом ОС Ubuntu 20.04 с GUI KDE Plasma, который в свою очередь может иметь свой набор пользовательского ПО.

    В сети Интернет имеется большое количество примеров и руководств по настройке подсистем WSL (т.е. WSL1 и сравнительно новой WSL2), с настройкой GUI интерфейса для linux систем на базе ОС начиная с версии Ubuntu 16.04 и заканчивая Ubuntu 20.04, но в основном это касалось рабочих столов на основе т.н. «легковесного» xfce4, имеющий вполне объяснимые ограничения в пользовательских настройках. Но что касается GUI KDE Plasma для Ubuntu 20.04, в сети не нашлось какой-либо существенной информации. Но именно этот вариант предоставляет конечному пользователю практически неограниченный набор настроек как внешнего вида системы, так и настроек оборудования, конечно с учетом текущих возможностей интеграции linux-систем, реализованных в подсистеме WSL2.
    Читать дальше →
  • Зачем нужно прописывать Alt-тег?

    Прописывать alt-тег очень важно, потому что именно по надписи внутри этого тега робот-поисковик Google или Yandex понимает, что это за картинка. Робот ведь не человек, он не умеет читать, он сравнивает последовательность нулей (0) и единиц (1). А именно так все кодируется: и слова, и картинки. И картинка для робота это код, где много нулей и единиц, а поисковая фраза, это тоже нули и единицы, то их много меньше.

    Так как сравнить поисковую фразу и картинку?


    Именно для этого и существует alt-тег. Это описание картинки. Описание это тоже фраза. И именно по этому описанию сравнивается код поисковой фразы и код картинки.

    Сегодня я возьму пример Красное пальто.

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

    А потом я сделаю то же самое для всех моих картинок.
    Читать дальше →
  • Хочешь ли ты поработать в другой стране и как не наступить на грабельки

    Сейчас пошел очередной всплеск практических вопросов об IT-эмиграции от размышляющих бывших коллег и друзей. Я зачастую боюсь навредить. Честно. Поэтому настоятельно рекомендую «созреть» и подготовиться.
    Читать дальше →
  • Использование Cocoapods при создании собственных библиотек

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

    Читать дальше →
  • О типографике

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

    Что же такое шрифт? Это графический рисунок начертания букв и знаков.

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

    image

    Для того, чтобы выбрать гарнитуру, необходимо определиться со стилистикой своего проекта. Тут решающую роль играет контекст вашего сайта. Будет ли выбранная гарнитура уместна?
    Учитывайте настроение, которое передаёт шрифт.

    image

    Главным критерием классификации видов гарнитур являются засечки на буквах.

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

    image

    Обратите внимание на засечки в написании букв. Делаем простой вывод, антиква — это шрифт с засечками, гротеск же наоборот, шрифт без засечек.

    Антиква — вид шрифта с засечками, поэтому обычно в названии есть слово serif («засечка»).
    Популярная антиква: Times New Roman.

    image

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

    Гротеск — вид шрифта без засечек, поэтому в названии используется слово sans(«без»).
    Популярные представители гротеска: Arial, Helvetica, Verdana.

    image

    Неформальное написание шрифта даёт представление о чем-то современном и легком.
    Читать дальше →
  • Raspberry pi & Азбука Морзе

    Парусник “NaN” сигналит SOS (See Our Success) Raspberry Pi, азбука Морзе и MQTT: вместе веселее


    Меня зовут Вова Балакин, я из московской школы на Юго-Востоке имени Маршала В.И.Чуйкова (классов “Силаэдр”: vk.com/silaedr), закончил 5 класс, интересуюсь программированием и техникой. Я хочу рассказать, что я делал этой весной. У меня был парусник, он назывался “Not a Number”(“NaN”). Выходить в море без сигнализации опасно, поэтому я подумал, что ему на мачте не хватает сигнальных огней. А лучше — сигнальных огней, которыми можно управлять удаленно. А лучше — удаленно из любой точки мира! У меня был Raspberry Pi — и тогда я придумал…



    Чего мне захотелось (Постановка задачи)


    … что можно прикрепить к мачте светодиод, соединить его с Raspberry Pi и запрограммировать так, чтобы из Интернета было возможно отсылать паруснику любое сообщение — и оно переводилось в код Морзе — и диод на мачте мигал в соответствии с этим кодом. И на ту же мачту закрепить фоторезистор — декодер кода Морзе, чтобы другой компьютер в Интернете мог получить переданный код.

    Что у меня вышло (Результат)


    После двух месяцев проб и ошибок у меня получилось написать программу, которая через MQTT-брокер(http://www.hivemq.com/demos/websocket-client/) позволяет любому человеку в Интернете, знающему Topic — секретный ключ для передачи сообщения клиенту, — отправить абсолютно любое сообщение написанное латиницей — и светодиод на мачте моего промигает его азбукой Морзе!


    Вот в целом как это работает: мы пишем сообщение и отправляем его MQTT-серверу, а он в свою очередь отправляет его на Raspberry pi, который переводит его в код Морзе и подмигивает светодиодом в соответствии с кодом.

    Вот код на Node.js на гитхабе.
    Читать дальше →
  • Когда худший в мире код имеет право на жизнь

    Этот пост написан мной после прочтения более чем очевидного критического поста: Разбор худшего в мире куска кода.

    И почему же я считаю что этот код имеет право быть? Все очень просто — он отлично выполняет поставленную задачу, хотя и жертвует безопастностью и UI. И я уверен в том, что в мире существуют условия, где подобный код имеет право на жизнь, все остальное под катом.
    Читать дальше →
  • 5 девушек в IT

    Те дни, когда слова IT-специалист, программист, сисадмин, разработчик и т. д. ассоциировались с представителями мужского пола, ушли в прошлое. Некоторые девушки из IT до сих пор не могут простить Юре Дудю игнорирование женщин в его фильме про Кремниевую долину. А другие девчонки плевать на это хотели, тихо пашут и создают образовательные Youtube каналы, из которых можно почерпнуть много полезного и интересного, и получить пару эстетических оргазмов от того, какие они красивые, умные и классные. Я решила подобрать для вас несколько каналов девушек, рассказывающих о IT, технологиях, образовании и других полезных штуках. Делюсь ссылками на них, чтобы вы не думали, что их нет:
    Читать дальше →