• Как я подключил официальный бизнес API WhatsApp через Twilio

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

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

    Одним из таких доступных партнеров является американская компания Twilio. Самое основное их преимущество на мой взгляд, это невысокая стоимость использования WhatsApp Business API.

    Я подключил через Twilio официальный бизнес API WhatsApp и сейчас подробно расскажу, как это сделать.

    WhatsApp Messenger
    Читать дальше →
  • Java добавляет эффекты тени к графике в PowerPoint

    Чтобы графика в моем документе PowerPoint выглядела более яркой и реалистичной, мне нужно добавить эффекты тени к графике в приложении Java. В этой статье я поделюсь с вами кодом, который я использую Free Spire.Presentation для Java для добавления эффектов тени к графике в PowerPoint. В дополнение к предустановленным эффектам теней, показанным в статье, вы также можете добавить внутренние тени (InnerShadowEffect), внешние тени (OuterShadowEffect), тени с мягкими краями (SoftEdgeEffect) и т. Д.

    Конфигурация среды

    Установите пакет jar через репозиторий Maven, и код для настройки файла pom.xml выглядит следующим образом:

    <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <name>e-iceblue</name>
                <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
            </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.presentation.free</artifactId>
            <version>2.6.1</version>
        </dependency>
    </dependencies>
    
    Читать дальше →
  • Как не выбрасывать свой голос в урну? Надежное голосование — используем банковские технологии

    image


    Пожалуй, все уже знают о проблемах текущей системы голосования на выборах — вбросы, подтасовка, подделки подписей, «ошибки» при подсчете, невозможность проверить был ли учтен твой голос и как, и т.д. А ведь голосование — один из столпов демократии, и никому не нужно объяснять что происходит, если система скомпрометирована...


    Ниже описывается, как сделать процесс голосования:


    • более защищенным
    • прозрачным (можно проверить как учтен голос)
    • удобным (подробности ниже)
    • и возможно, даже более дешевым (для бюджета, а значит и нас, налогоплательщиков)

    а также, с минимальными финансовыми и временными затратами на внедрение.


    Варианты использования


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


    Вставляете или прикладываете карту, вводите пин-код, и в главном меню видете пункт «ГОЛОСОВАНИЕ».


    В подменю выбираете из активных пунктов (например):


    • 1 Дополнительные выборы
    • 2 Региональные выборы
    • 2.1 Главы субъектов
    • 2.2 Парламенты субъектов
    • 3 Муниципальные выборы
    • 3.1 Главы крупных и средних городов
    • 3.2 Муниципальные парламенты

    Затем выбираете кандидата, за которого вы голосуете, подтверждаете транзакцию повторным введением пин-кода, или прикладыванием телефона.


    Получаете чек (возможно по смс) с данными голосования, в том числе с номером транзакции (он пригодится для проверки учета вашего голоса).


    Поздравляем! Вы успешно проголосовали.

    Читать дальше →
  • Я храню продакшен ключи прямо в Git репозитории

    image


    Время шло, CI/CD тулзы менялись, количество проектов, сред и мест хранения ключей множились, уровень беспокойства о том, что какой-нибудь ключ где-нибудь устарел все повышалось. Ну хватит уже… Можно я просто в репозитории ключи оставлю? Оказывается, да, можно. И это на порядок удобнее всего что я делал раньше.

    Читать дальше →
  • Как бесплатно написать чат-бота WhatsApp

    Я разработчик и пишу чат-ботов на заказ и для развлечения. Популярность набирает мессенджер WhatsApp, поэтому получаю много заказов именно для написания ботов под WhatsApp.

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

    Для написания чат-бота WhatsApp, разумеется, нужен шлюз, программный интерфейс мессенджера. Не так давно компания Facebook опубликовала свой официальный шлюз — WhatsApp Business API. Однако получить доступ к шлюзу могут далеко не все желающие. Доступ к WhatsApp Business API возможен только через официальных партнёров Facebook, опубликованных на сайте компании.
    Читать дальше →
  • Искусственный Сверхинтеллект — новый Бог человечества

    Я человек. Обычный уникальный человек. Такой же уникальный, как миллиарды других людей, которые жили до меня и живут рядом со мной. Большую часть своих знаний я приобрел через Интернет. В том числе и понимание, что такое искусственный интеллект. Свою первую статью о нем, «Интернет – среда функционирования искусственного разума» я написал в 2003 году. И сегодня я понимаю, что искусственный суперинтеллект (ASI — artificial superintelligence) легко может уничтожить нашу цивилизацию. Но я верю, что его миссия иная: реализация древней мечты людей о Царствие Облачном.


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

    Читать дальше →
  • Как не бояться анонимных сливальщиков кармы и свободно общаться (не только на Хабре)

    Проблема


    You're not allowed to comment this post

    You can comment posts created not more than 30 days ago and also those posts, where at least one of your comments have been published. You cant comment the post if your previous comment has not been approved yet.

    Вам знакома такая надпись? Некто анонимный запретил вам комментировать. Ещё хуже когда кто-то анонимный запретил комментировать вашу статью, к которой вы ждёте полезных комментариев. Но их не будет. Не важно какие были (или не было, он запретил беспричинно, потому что может) причины запрета — зачем вам непонятный безответственный посредник, произвольно решивший, что комментариев у вашей статьи не будет?


    Одним из способов свободно общаться по теме любого поста, не боясь обидеть чувства особо впечатлительных меньшинств, задеть чьих-то кумиров, священных коров, идентичность и т.д. и т.п. является Dissenter


    image


    Расширение (решение)


    Dissenter — это сборка браузера или расширение для вашего браузера, а также одноимённый сайт, который хранит комментарии к огромному количеству страниц в Интернете, включая те, на которых комментарии не предусмотрены или жёстко/жестоко модерируются политруками.

    Читать дальше →
  • Стартапы «жмут» на Московский акселератор

    Московский инновационный кластер (МИК) вот уже целый год, с момента своего создания, поддерживает смелые идеи столичных предпринимателей, помогает стартапам увереннее держаться на рынке. Сегодня в МИК уже более 17000 участников и партнеров из Москвы и других субъектов России, среди которых государственные, коммерческие, научные и образовательные организации, институты развития и крупные производства.

    По словам Алексея Фурсина, руководителя Департамента предпринимательства и инновационного развития Москвы, МИК проводит политику Департамента по развитию высоких технологий. Совместно с Агентством инноваций Москвы Кластер регулярно организует Московский акселератор — знаковое мероприятие для технологических компаний города.

    Здесь стартапы могут прокачать свои проекты вместе с лидерами рынка, получить поддержку профильных организаций, познакомиться с инвесторами и получить возможность выхода на международный рынок
    — отметил Фурсин.



    Доставка рулит


    Успешные проекты, прошедшие через Московский акселератор, можно разделить на две категории. Одни из них удачно поймали момент и успели быстро подстроиться под реалии первой половины года. Среди них сервисы связанные с доставкой, с дистанционными услугами, с развитием виртуальной реальности. Пожалуй наиболее показательным примером подобных стартапов стал участник трека «Цифровые сервисы» Московского акселератора — компания Pooling. Основатели проекта создали платформу для оптимизации логистики, благодаря которой стоимость услуг для мелких клиентов может быть снижена до 30%.

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

    Написать свою первую статью меня сподвигнул комментарий QtRoS в статье «Как Qt сделал студента[человеком]», а также в день программиста (если модерацию статья успеет пройти) решил попробовать.
    Читать дальше →
  • Grid. Min-width и auto

    Элементу задали min-width:

    .m{
    min-width:100px;
    background-color:lightblue;
    text-align:center;
    }

    Он фигурирует в формировании колонки auto в грид сетке:

    grid-template-columns:minmax(95px, 1fr) auto;
    

    Размер сетки 300х300 пикселей, padding:5px.
    Читать дальше →
  • Как быстро поднять 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» — то есть с сетями, которых ни при каких обстоятельствах к Интернету подключать нельзя. Запрет этот диктуется, естественно, соображениями безопасности — «а вдруг нас хакнут». Идея предотвратить хаканье на корню отключением от Интернета, конечно, привлекательна своей простотой и радикальностью, но тем не менее, принимающие такое решение зачастую упускают из вида разные последствия, безопасность не улучшающие, а наоборот.
    Читать дальше →