• eMule на Android

    eMule на Android


    image

    Это история про то, как стало возможным качать файлы из сети eDonkey на мобильные устройства под управлением Android. Бытует мнение что разработка клиентов для протокола eDonkey(ED2K) давно прекращена, но это не совсем так.

    Сразу оговорюсь — речь идет не о изменениях в программе eMule и даже не о моде этой программы, а о самостоятельном проекте. Почему eMule — потому что это общеизвестное название клиента стало именем нарицательным и обычно упоминается когда говорят об обмене файлами по протоколу ED2K.

    Подробности ниже.
    Читать дальше →
    • +16
    • 8,6k
    • 9
  • Попытки сделать изучение алгоритмов поиска пути проще

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

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

    image
    Читать дальше →
  • Как написать собственную программу для контроллера ROBO TX

    Доброго времени суток! Сегодня я поделюсь опытом разработки программы для контроллера ROBO TX от немецкой фирмы Fischertechnik. Возможно, на данный момент он не является топовой моделью, однако базовые принципы, которые я собираюсь описать далее, могут быть полезны юным разработчикам, которые столкнутся с контроллерами этого производителя.

    Контроллер ROBO TX
    image

    Данный контроллер в основном предназначен для конструирования простых роботов с целью обучения. В комплекте идет графическая среда программирования, которая помогает заложить в него простые алгоритмы. Также ребята из русского представительства Fischertechnik подсказали, что имеется динамическая библиотека c API от создателей, которая предоставляет полный контроль и позволяет решать требуемые задачи более гибко уже путем разработки собственного софта, что как раз и произошло в моем случае.
    Читать дальше →
  • Простая реализация Stream из Java 8 в С++

      Всем привет! В статье будет представлена упрощенная реализацию Stream из Java 8 на С++. Скажу сразу, что:


      • в отличии от Java не используются отложенные вычисления;
      • нет параллельных версий;
      • местами совмещает Stream и Collectors;
      • используются простые и готовые решения от STL, здесь нету чистого ФП, где только рекурсия;
      • не используются техники оптимизации.

      В этой версии основной упор сделан на то, чтобы быстро и просто сделать велосипед). Про ФП упомянуто по-минимуму (комбинаторам внимание не уделено :)).


      Интерфейс


      template <typename Type>
      class Stream : private StreamImpl<Type>
      {
      private:
          typedef StreamImpl<Type> Parent;
      public:
          using Parent::Parent; // конструкторы унаследованы
          using Parent::data;
          using Parent::isEmpty;
          using Parent::count;
          using Parent::flatMap;
          using Parent::map;
          using Parent::reduce;
          using Parent::filter;
          using Parent::allMatch;
          using Parent::noneMatch;
          using Parent::groupingBy;
          using Parent::partitionBy;
          using Parent::minElement;
          using Parent::maxElement;
          ~Stream() = default;
      };
      Читать дальше →
    • Разработка для Sailfish OS: Создание собственных QML-компонент на C++

      • Tutorial
      Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке для мобильной платформы Sailfish OS. В этой статье пойдет речь о создании собственных компонентов на QML на С++, а конкретно о создании свойств и методов, доступных в QML, о сигналах и связывании. Так же покажем, как подключать новый компонент к приложению.
      Читать дальше →
      • +12
      • 2,9k
      • 5
    • Разработка для Sailfish OS: Тестирование QML-компонентов

      • Tutorial
      Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке для мобильной платформы Sailfish OS. В этот раз мы расскажем о том, как организовать тестирование QML-компонентов приложений, написанных для мобильных устройств. Рассмотрим все этапы от написания кода до запуска тестов на реальном устройстве.
      Читать дальше →
    • Ммм, длинные выходные!
      Самое время просмотреть заказы на Фрилансим.
      Мне повезёт!
      Реклама
    • Нативный код Android и iOS в Qt на примере status bar

      Здравствуйте! Уверен, многие слышали о том, что Qt очень хорош для кросплатформенной разработки мобильных приложений. Однако, для решения некоторых задач приходится иметь дело с нативным кодом (Java, Objective-C), к примеру, вызов камеры, галереи, вызов стороннего api.


      В этой статье на простом примере задания прозрачности для status bar я покажу, как осуществляется вызов нативного кода Java и Objective-C.


      вжух

      Читать дальше →
    • Выпуск фреймворка Qt 5.8

        Сегодня, спустя 7 месяцев с момента предыдущего значительного выпуска, вышла версия 5.8 кроссплатформенного фреймворка Qt.


        Qt позволяет разрабатывать приложения при помощи C++ и декларативного языка программирования QML, поддерживает все основные десктопные и мобильные платформы, а также некоторые встраиваемые и имеет открытый исходный код. Существует коммерческая версия Qt, содержащая дополнительные проприетарные модули.


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


        Читать дальше →
      • Закруглённые изображения на Qt Quick Scene Graph

        Я использую Qt в разработке уже более 6 лет, из них последние 3 года для создания приложений под Android и iOS на Qt Quick. Моя приверженность этому framework'у обусловлена двумя причинами:


        • Qt предоставляется большой пакет компонентов, функций, классов и т.п., которых хватает для разработки большинства приложений;
        • Если нужно создать недостающий компонент, Qt предоставляет несколько уровней абстракции для этого — от простой для кодирования, до наиболее производительной и функциональной.

        К примеру, в Qt Quick есть компонент Image, который размещает изображение в интерфейсе. Компонент имеет множество параметров: расположение, способ масштабирования, сглаживание и др, но нет параметра radius для скругления изображения по углам. В то же время круглые изображения сейчас можно встретить, практически, в любом современном интерфейсе и из-за этого возникла потребность написать свой Image. С поддержкой всех параметров Image и радиусом. В этой статье я опишу несколько способов сделать закруглённые изображения.


        Читать дальше →
        • +26
        • 6,5k
        • 7
      • SCADA: в поисках идеала

        image По моим наблюдениям, большинство толковых специалистов АСУ, работающих со SCADA, проходят несколько стадий «эмоционального роста»: освоение какой-либо SCADA, поиск чего-то лучшего, идеи и попытки написания своего варианта, выработка философского отношения к проблеме и использование одного из существующих продуктов.

        Да, бывают исключения. Например, встречаются сильно увлеченные и упорные энтузиасты, которые создают что-то работающее, но картины они не меняют совершенно.

        Попробуем разобраться, почему так происходит и может ли быть выход из этого порочного круга.
        Читать дальше →
      Самое читаемое