How to become an author
.NET Knowledge Base
  • All streams
  • Development
  • Administrating
  • Design
  • Management
  • Marketing
  • PopSci
Log in Sign up

Roman Akopov adontz read-only

User

Whois

Posts 5

Bookmarks 254

  • Posts
  • Comments
  • olegator99 January 9, 2018 at 12:38 AM

    Разрабатываем крутой GUI на esp8266 с библиотекой uGFX

    • Open source,
    • Interfaces,
    • Robotics development,
    • Programming microcontrollers
    • Tutorial

    В многих проектах для esp8266 я использую TFT экран с тачскрином. В зависимости, от проекта интерфейс может быть простым, например, текстовая консоль, выводящая лог работы приложения или просто график изменения входного сигнала. А в некоторых — сложный GUI, с несколькими экранами, графическими кнопками, строками ввода текста и даже виртуальной клавиатурой.


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


    Видео-тизер:



    Итак, приступим

    Читать дальше →
    • +45
    • 41.2k
    • 8
  • Insaned November 4, 2017 at 03:14 PM

    Телеграм-бот для домашнего видео-наблюдения из подручных материалов

    • Instant Messaging,
    • Python,
    • Development for IOT
    • From sandbox

    Disclaimer


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


    Постановка задачи


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


    • RaspberryPi 3 model B
      image
    • Вебкамера Logitech C270
      image
    • Карта памяти Kingston microSDHC 16 Гб
    • Некоторое количество проводов и адаптеров

    Из всего перечисленного, было решено построить систему домашнего видео-наблюдения с функционалом оповещения о вторжении. В качестве платформы был выбран телеграм-бот. Бот имеет следующие преимущества перед другими возможными реализациями (веб, мобильное приложение):


    • Не требуется установки дополнительного клиентского ПО
    • Серверная часть может работать с приватным IP адресом через NAT, при этом предъявляются минимальные требования к подключению (вплоть до 3G модема)
    • Большая часть инфраструктуры находится на стороне сервис-провайдера, который за меня решил вопросы авторизации, безопасности итп...

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

    Читать дальше →
    • +25
    • 47.7k
    • 52
  • Pavlov_dog October 7, 2016 at 12:16 PM

    Пишем умный контракт на Solidity. Часть 1 — установка и «Hello world»

    • Solidity
    • From sandbox
    • Tutorial

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


    Smart Contract & Gas


    Если на пальцах, "умный контракт" — это некоторый код, живущий внутри блокчейна. Любой участник сети может его вызвать за небольшую плату. Эта плата и называется Gas, дословно "топливо". Зачем это нужно? Для защиты майнера от злоупотребления мошенником его ресурсов.


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


    // Это псевдокод
    foo = 0;
    while (True) {
        foo++;
    }

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

    Читать дальше →
    • +12
    • 104k
    • 16
  • vitiko February 8, 2017 at 10:21 AM

    Тестирование смарт контрактов Ethereum на примере DAO

    • Cryptography,
    • IT systems testing,
    • JavaScript,
    • Node.JS,
    • Solidity
      При создании смарт контрактов на платформе Ethereum разработчик закладывает определенную логику работы, определяющую как методы должны изменять состояние контракта, какие должны эмитироваться события, когда и кому нужно произвести перевод средств, а когда бросить исключение. Инструменты отладки смарт контрактов еще не очень развиты, поэтому тесты зачастую становятся необходимым инструментом разработки, т.к. запускать контракты после каждого изменения может быть достаточно долгой процедурой. Также, в случае обнаружения ошибок, изменить код развернутого в сети контракта уже невозможно, можно только уничтожить контракт и создать новый, поэтому тестирование стоит проводить максимально подробно, особенно методы связанные с платежами. В статье будут показаны некоторые приемы тестирования, с которыми сталкиваются разработчики при создании и отладке смарт контрактов на Solidity.
      Читать дальше →
      • +11
      • 23.6k
      • 2
    • Pavlov_dog April 28, 2017 at 01:30 PM

      Dive into Ethereum

      • JavaScript,
      • Programming,
      • Billing systems,
      • Solidity

        Сегодня платформа Ethereum стала одним из самых узнаваемых брендов блокчейн сферы, вплотную приблизившись по популярности (и капитализации) к Bitcoin. Но из-за отсутствия "полноценного" рускоязычного гайда, отечественные разработчики все еще не очень понимают, что это за зверь и как с ним работать. Поэтому в данной статье я попытался максимально подробно охватить все аспекты разработки умных контрактов под Ethereum.


        Я расскажу про инструменты разработки, сам ЯП, процесс добавления UI и еще много интересного. В конечном итоге мы получим обычный сайт-визитку, но "под капотом" он будет работать на умных контрактах Ethereum. Кого заинтересовало — прошу под кат.


        preview


        Читать дальше →
        • +14
        • 103k
        • 12
      • isvirin May 9, 2017 at 03:54 PM

        Смарт контракты Ethereum: структурируем токены как акции

        • Payment systems,
        • JavaScript,
        • Billing systems,
        • Solidity
          В настоящее время идет настоящая волна хайпа криптовалют и череда успешных ICO самых разнообразных проектов, в том числе имеющих весьма сомнительное или не имеющих вообще никакого отношения к децентрализации и другим базовым принципам блокчейн. В ходе ICO на продажу широкой публике выставляются некие виртуальные сущности – токены. Наполнение этих самых токенов какой-либо реальной «ценностью», как правило, уникально для каждого проекта. В рамках данной статьи я хочу рассмотреть структурирование токена как «акции», когда держатель этих токенов претендует на получение дивидендов от проекта, пропорционально имеющемуся у него проценту токенов от общей эмиссии. Это создает целый ряд правовых коллизий и неопределенностей, поэтому на сегодня нет ни одного крупного проекта, построенного по этой логичной и понятной для инвесторов модели, но юридические аспекты мы вынесем за скобки и остановимся лишь на технической реализации.
          Читать дальше →
          • +8
          • 25.8k
          • 9
        • MadJackal July 13, 2017 at 10:19 AM

          Блокчейн-платформа для сделок торгового финансирования на базе смарт-контрактов

          • Райффайзенбанк corporate blog,
          • Programming,
          • Solidity
            Содержание
            • Кратко о целях и результатах
            • Задачи исследовательского проекта
            • Общая схема платформы и взаимодействие её элементов
              1. Архитектура и взаимодействие компонентов платформы
              2. Практическая реализация
            • Реализация смарт-контрактов для аккредитива
            • Выбор компонентов платформы
            • Инфраструктура
            • Интеграция компонентов
              1. Ethereum
              2. Swarm
              3. Storj.io
              4. КриптоАРМ
              5. Провайдер внешних запросов
            • Подробное описание реализации Провайдера запросов
              1. Описание методов контракта Requests Queue
              2. Описание необходимых интерфейсных методов Контрактов
              3. Пример реализации
            • На пользу сообщества
              1. Календарный оракул
              2. Портал внешних запросов
            • Некоторые замечания по опыту интеграции сторонних компонентов
              1. Ethereum
              2. Ethereum Solidity
              3. Ethereum Swarm
              4. Storj.io
            • Выводы исследования


            22 июня 2017 года на Blockchain & Bitcoin Conference в Санкт-Петербурге наш аналитик направления блокчейн, Марина Сманцер, сделала доклад о результатах исследовательского проекта по созданию комплексной платформы для сделок торгового финансирования на основе смарт-контрактов.

            20-минутный формат доклада не позволял подробно осветить технические аспекты. Поэтому выход Райффайзенбанка на habrahabr – прекрасная возможность рассказать о наших результатах во всех подробностях.

            Отмечу, что статья рассчитана на понимание читателем основных аспектов технологии блокчейн и принципов работы смарт-контрактов. Так как обзор по каждой теме – это объем для отдельной статьи, мы рассчитываем на понимание хабрасообщества.
            Читать дальше →
            • +12
            • 21.1k
            • 20
          • hlogeon August 15, 2017 at 06:17 PM

            Введение в разработку умных контрактов Ethereum

            • Payment systems,
            • Programming,
            • System Analysis and Design,
            • Solidity
            • Tutorial

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

            Механизм Initial Coin Offering не только способствовал новой волне интереса к краудфандингу, увеличив объем привлекаемых с его помощью инвестиций, но и подхлестнул интерес к криптовалютам и технологии блокчейн. Сегодня все чаще и чаще попадаются новые вакансии в этой области, а также просьбы о помощи в проведении ICO в целом и разработке смарт-контрактов в частности.

            К сожалению, сегодня сильно ощущается нехватка специалистов в этой сфере, хотя в действительности процесс разработки умных контрактов гораздо проще, чем это может показаться на первый взгляд. Проблема нехватки специалистов напрямую проистекает из того, что технология блокчейн дошла до массового пользователя не так давно — в виде криптовалюты биткоин, а смарт-контракты в блокчейн пришли значительно позже. Так что лично у меня не вызвал большого удивления тот факт, что материалов по разработке смарт-контрактов все еще очень мало.
            Читать дальше →
            • +16
            • 38.9k
            • 43
          • rubyruby August 23, 2017 at 01:57 PM

            Погружение в разработку на Ethereum. Часть 1

            • Cryptography,
            • Programming,
            • Solidity
            • Tutorial
            • Recovery Mode
            Технология блокчейна завладела умами. Покупаются фермы, ICO собирают миллионы долларов. Наша компания тоже захотела приобщиться. Решили начать с малого. В серии статей будет описан наш путь от новичков в сфере блокчейна до общепризнанных гуру. На момент написания этих слов мы все еще на этапе новичков, предлагаем следить за нашим развитием и развиваться с нами.

            Читать дальше →
            • +22
            • 75.7k
            • 26
          • rubyruby August 30, 2017 at 03:32 PM

            Погружение в разработку на Ethereum. Часть 2: Web3.js и газ

            • Programming,
            • Solidity
            • Tutorial
            В предыдущей статье мы описали деплой контрактов и взаимодействие с ними через пользовательский интерфейс кошелька Mist, но это не подходит для реальной разработки. Нужна библиотека, которая позволит работать с блокчейном из кода пользовательского приложения. В этой статье мы кратко рассмотрим что представляет собой библиотека Web3.js, пощупав ее из консоли Geth. И еще одна важная тема, которая наверняка интересует не только разработчиков, но и потенциальных заказчиков — сколько стоят транзакции на блокчейне, ведь каждая из них требует газа, который покупается за эфир.

            Читать дальше →
            • +17
            • 34.2k
            • 7
          • MadJackal September 21, 2017 at 09:56 AM

            Работа со смарт-контрактами через Ethereum RPC API

            • Райффайзенбанк corporate blog,
            • Payment systems,
            • Programming,
            • Solidity
            • Tutorial


            Всем привет. В этой статье мы рассмотрим основные приемы по публикации смарт-контрактов и взаимодействию с ними с использованием Ethereum RPC API. Обсуждаемые методы API позволяют решать такие задачи:

            1. Создание счёта.
            2. Создание корректного смарт-контракта.
            3. Получение информации со смарт-контракта.
            4. Изменение состояния смарт-контракта.

            Читать дальше →
            • +22
            • 19.5k
            • 14
          • quantum September 29, 2017 at 07:51 AM

            Как я искал (и нашел!) баги в смартконтракте проекта kickico

            • MixBytes corporate blog,
            • Information Security,
            • Solidity
              В августе я, неожиданно для себя, поучаствовал в bugbounty проекта Kickico. Я уже рассказал об этом на митапе Atlas Blockchain в прошлую пятницу. Статья — текстовая версия этого доклада с дополнением и небольшим пятничным конкурсом :)
              Читать дальше →
              • +14
              • 6.4k
              • 26
            • isvirin October 2, 2017 at 02:02 AM

              Смарт контракты Ethereum: что делать при ошибке в смартконтракте или техники миграции

              • Solidity
                При написании смартконтрактов важно помнить, что после загрузки в блокчейн, они уже не могут быть изменены, а следовательно, не могут быть внесены какие-либо улучшения или исправлены какие-то найденные ошибки! Все мы знаем, что ошибки есть в любой программе, а вернувшись к написанному пару месяцев назад коду мы всегда найдем, что там можно улучшить. Как же быть? Единственно возможный вариант – это загрузить новый контракт с исправленным кодом. Но как же быть, если на базе имеющегося контракта уже выпущены токены? На помощь нам приходит миграция! За последний год я попробовал много разных техник ее реализации, проанализировал применяемые в других крупных блокчейн проектах и что-то поизобретал сам. Подробности под катом.

                Читать дальше →
                • +14
                • 8.3k
                • Comment
              • grafalex August 6, 2017 at 11:48 PM

                CDC+MSC USB Composite Device на STM32 HAL

                • System Programming,
                • Programming microcontrollers
                • Tutorial
                image

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

                • Mass Storage Device (он же Mass Storage Class — MSC). Я хочу, чтобы мой девайс прикидывался обычной флешкой и отдавал файлики с данными, которые лежат на SD карте.
                • Другая функция это виртуальный COM порт (он же в терминологии USB называется Communication Device Class — CDC). Через этот канал у меня идет всякий дебажный вывод, который удобно смотреть обычным терминалом.

                В большинстве примеров по работе с USB реализуется только один тип устройства — флешка, мышка, кастомное HID устройство или виртуальный COM порт. А вот найти вменяемое объяснение как реализовать хотя бы две функции одновременно оказалось не так просто. В своей статье я хотел бы восполнить этот пробел.

                Я буду описывать создание композитного USB устройства на базе микроконтроллера STM32, но сам подход будет также применим и для других микроконтроллеров. В статье я детально разберу каждый из классов по отдельности, так и принцип построения композитных устройств. Но обо все по порядку.

                Итак, поехали!
                Читать дальше →
                • +58
                • 71.1k
                • 52
              • Raiffeisenbank August 2, 2017 at 02:14 PM

                Создание оффлайнового распознавания лиц с точностью 99,38% на Python и Node.js

                • Райффайзенбанк corporate blog,
                • Research and forecasts in IT
                • Translation
                imageЭто мой рассказ о том, как я создавал бесплатное, оффлайновое, работающее в реальном времени open source-приложение, предназначенное для помощи организаторам любых мероприятий в допуске/авторизации только приглашённых людей с помощью технологии распознавания лиц или QR-кода.

                Если не терпится перейти сразу к коду, то вот мой репозиторий.

                Так что да, распознавание лиц — лишь часть приложения, причём самая трудная часть. Так что налейте себе кофе и наслаждайтесь моим рассказом (я старался).
                Читать дальше →
                • +4
                • 33.5k
                • 9
              • TehnologiiBudushego July 20, 2017 at 04:44 PM

                Система электронной очереди в банковском бизнесе

                • Finance in IT
                • From sandbox
                Взгляд эксперта по IT-разработкам компании «Технологии Будущего» Москалевой Марины на функциональные возможности системы электронной очереди в банковском бизнесе.

                О неоспоримой пользе внедрения IT в финансовый сектор и невероятных преобразованиях, которые способны возникнуть в результате модернизации банковского дела после введения технологических новшеств было уже сказано немало, поэтому без лишних слов приступим к делу.
                Читать дальше →
                • +9
                • 10.8k
                • 5
              • vasily-v-ryabov July 13, 2017 at 10:28 AM

                Автоматизируем десктопный GUI на Python + pywinauto: как подружиться c MS UI Automation

                • Open source,
                • IT systems testing,
                • Python,
                • Programming,
                • Development for Windows
                • Tutorial

                Python библиотека pywinauto — это open source проект по автоматизации десктопных GUI приложений на Windows. За последние два года в ней появились новые крупные фичи:


                • Поддержка технологии MS UI Automation. Интерфейс прежний, и теперь поддерживаются: WinForms, WPF, Qt5, Windows Store (UWP) и так далее — почти все, что есть на Windows.
                • Система бэкендов/плагинов (сейчас их двое под капотом: дефолтный "win32" и новый "uia"). Дальше плавно двигаемся в сторону кросс-платформенности.
                • Win32 хуки для мыши и клавиатуры (hot keys в духе pyHook).

                Также сделаем небольшой обзор того, что есть в open source для десктопной автоматизации (без претензий на серьезное сравнение).


                Эта статья — частично расшифровка доклада с конференции SQA Days 20 в Минске (видеозапись и слайды), частично русская версия Getting Started Guide для pywinauto.


                • Основные подходы
                  • Координатный метод
                  • Распознавание эталонных изображений
                  • Accessibility технологии
                • Основные десктопные accessibility технологии
                  • Старый добрый Win32 API
                  • Microsoft UI Automation
                  • AT-SPI (Linux)
                  • Apple Accessibility API
                • Как начать работать с pywinauto
                  • Входные точки для автоматизации
                  • Спецификации окон/элементов
                  • Магия доступа по атрибуту и по ключу
                  • Пять правил для магических имен

                Читать дальше →
                • +8
                • 48.6k
                • 11
              • morozovsk June 19, 2017 at 12:31 AM

                Обзор систем мониторинга серверов. Заменяем munin на…

                • Configuring Linux,
                • Server Administration,
                • DevOps
                • Tutorial
                Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


                Читать дальше →
                • +73
                • 148k
                • 111
              • rdruzyagin May 22, 2017 at 07:34 PM

                Способы диагностики PostgreSQL — Владимир Бородин и Ильдус Курбангалиев

                • PG Day'17 Russia corporate blog,
                • Server Administration,
                • Database Administration,
                • Data storages
                  Одним из самых популярных докладов конференции PG Day в 2015 году стал рассказ Владимира Бородина и Ильдуса Курбангалиева о ситуациях, когда посгресовым базам становится плохо, надо их диагностировать и искать узкие места. Все примеры в докладе взяты из реальной практики Яндекса, сопровождаются иллюстрациями и подробным рассказом о поиске «боттлнека». Не смотря на то, что проблемы рассматривались в разрезе 9.4 и 9.5 версий базы данных, общая ценность и практическая применимость советов Владимира и Ильдуса остается неизменной. Рады предложить вам транскрипцию этого доклада.

                  Вступление Ильи Космодемьянского: сейчас у нас будет рассказ о том, как жить, если очень хочется иметь Oracle, а его нет. На самом деле, это полезный доклад, потому что одна из проблем, которую мы сейчас имеем – это проблема средств диагностики. Средства диагностики местами не достают, местами, вместо привычных средств диагностики нужно использовать довольно сложные тулзы, которые вообще предназначены для разработчиков Linux, а не для DBA. У DBA зубы начинают болеть, когда они смотрят на эти скрипты. И вот ребята из Яндекса и PG Pro расскажут о методах диагностики Postgres, которые они применяют, как ими пользоваться и немного расскажут о том, как они собираются улучшить этот мир.


                  Читать дальше →
                  • +26
                  • 17.6k
                  • 10
                • ru_vds April 3, 2017 at 02:38 PM

                  Bash-скрипты: начало

                  • RUVDS.com corporate blog,
                  • Configuring Linux,
                  • Server Administration
                  • Translation
                  Bash-скрипты: начало
                  Bash-скрипты, часть 2: циклы
                  Bash-скрипты, часть 3: параметры и ключи командной строки
                  Bash-скрипты, часть 4: ввод и вывод
                  Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
                  Bash-скрипты, часть 6: функции и разработка библиотек
                  Bash-скрипты, часть 7: sed и обработка текстов
                  Bash-скрипты, часть 8: язык обработки данных awk
                  Bash-скрипты, часть 9: регулярные выражения
                  Bash-скрипты, часть 10: практические примеры
                  Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

                  Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


                  Читать дальше →
                  • +53
                  • 806k
                  • 123
                • ← here
                • there →
                • 1
                • 2
                • 3
                • 4
                • 5
                • 6
                • 7
                • 8

                Info

                • Activity 3/24/18, 10:07 AM
                • Registered July 11, 2009
                No reasons for downvotes yet
                Reasons for downvotes

                Your account

                • Log in
                • Sign up

                Sections

                • Posts
                • Hubs
                • Companies
                • Users
                • Sandbox

                Info

                • How it works
                • For Authors
                • For Companies
                • Documents
                • Agreement
                • Terms of service

                Services

                • Ads
                • Subscription plans
                • Content
                • Seminars
                • Megaprojects
                © 2006 – 2021 «Habr»
                Language settings
                About
                Support
                Mobile version
                Language settings
                Interface
                Content