• «Хранимые процедуры» в Redis

    • Tutorial
    image

    Многие знают про возможность хранить процедуры в sql базах данных, про это написано немало пухлых руководств и статей. Однако мало кто знает, что схожие возможности имеются и в Redis, начиная с версии 2.6.0. Но так как Redis не является реляционной БД, то и принципы описания хранимых процедур достаточно сильно отличаются. Хранимые процедуры в Redis — практически полноценные Lua скрипты (на момент написания статьи в качестве интерпретатора используется Lua 5.1).
    Подробности тут
  • Lua 5.3 Справочное руководство


      Перевел на русский язык «Lua 5.3 Справочное руководство». Его chm-версию можно взять на файлообменнике.

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

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

      Кроме того, для тех, кто, возможно, захочет что-то изменить, вложил в архив файлик Lua5.3.hhp — чтобы любой мог разобрать/собрать chm-файл программой HTML Help Workshop.

      Ну и наконец, я не знаю английского языка, переводил в основном онлайновыми программами перевода (с помощью программы QTranslate).
    • Использование Remote API в робосимуляторе V-REP



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

      Причиной создания данного руководства стало отсутствие (на то время) знаний языка Lua, на котором по умолчанию написаны все скрипты управления роботом, и его меньшая популярность. Цель данного руководства показать как пользоваться удалённым (Remote) API данной среды на примере языка Python.
      Читать дальше →
      • +7
      • 12,4k
      • 2
    • Asterisk Manager Interface в диалплане

        Как и все АSTERISK'еры я не раз сталкивался с проблемой того, что на PBX существует несколько транков, которые используются для исходящей связи. И как у многих, у моих заказчиков тоже часть этих транков является основными, а остальные играют роль резервных, на случай падения/занятости/чего-либо еще первых.

        Читать дальше →
      • Делаем игру с Gideros

        Давненько была статья про Gideros (разработка игр на LUA), но продолжения я так и не нашел. Поэтому сделал небольшую статейку о том, как разрабатывать игры на Gideros Studio. Исходники и апкшник проекта в конце статьи. Продолжение под катом.


        Читать дальше →
        • +16
        • 12,1k
        • 4
      • Lua, ООП и ничего лишнего

        Однажды судьба свела меня с ней. С первого взгляда я был ослеплен и долгое время не мог отвести от нее взгляд. Шло время, но она не переставала меня удивлять, иногда казалось, что я изучил ее вдоль и поперек, но она снова переворачивала все мои представления. Ее гибкости не было предела, а потом я узнал, что она умеет еще и… ООП!

        Как-то я всерьез занялся покорением ООП в lua. И все, что я находил в интернете по этой теме, было вырвиглазными нагромождениями кода с обилием нижних подчеркиваний, которые никак не вписывались в элегантность этого языка. Поэтому я решил искать простое решение.

        После прочтения множества умных книжек и разбора нескольких ужасных реализаций ООП, я, крупица за крупицей, собирал все самое полезное и простое, пока не выработал свой стиль объектно ориентированного программирования на lua.
        Читать дальше →
      • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

        Подробнее
        Реклама
      • Прототипное ООП для Lua

          Привет, я придумал свой велосипед для реализации прототипного подхода ООП в Lua.

          Основные фишки
          • Single inheritance
          • Traits
          • LuaJIT


          Перейдем сразу к примерам.

          -- подключаем модуль
          local object = require("object")
          
          -- определяем наш класс, который на самом деле объект
          local HelloClass = object:extend(function(class)
            -- конструктор (необязательно)
            function class:init(name)
              self.name = name
            end
          
            -- метод класса
            function class:sayHello()
              print("Hello " .. self.name)
            end
          end)
          
          local hello = HelloClass:new("John")
          hello:sayHello()
          

          Читать дальше →
          • +10
          • 9,1k
          • 4
        • Tarantool 1.6 — давай начнем

          Не так давно на Хабре была опубликована статья о NoSQL базе — «Tarantool 1.6 от первого лица». Уверен, в своих кругах эта база данных отлично известна и уже завоёвывает популярность. Уверен так же и в том, что есть те начинающие, руки не дошли, кто хотел бы попробовать Tarantool в действии. Именно для таких желающих я приведу несколько простых примеров, помогающих начать знакомиться с этим интересным продуктом. Как понятно из названия статьи — речь идет о версии Tarantool 1.6.
          Читать дальше →
          • +25
          • 32k
          • 5
        • Библиотека эмуляции терминала ROTE и Lua привязки

            boxshell

            ROTE — простая библиотека на языке C, служащая для эмуляции терминала VT100. Она создает терминал и предоставляет доступ к его состоянию в виде структуры языка C. В терминале можно запустить дочерний процесс, «нажимать» в нем клавиши и смотреть, что он рисует на терминале. Кроме того, есть функция для отрисовки состояния терминала в окне curses.

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

            Несмотря на всё удобство и внутреннюю красоту ROTE, использовать её напрямую в тестах было бы громоздко. Поэтому я решил упростить задачу, привязав ROTE к языку Lua, который я очень люблю и знаю, как писать тесты. Так и родилась библиотека lua-rote, о которой я хочу рассказать.
            Читать дальше →
          • Corona SDK стала бесплатной


              Создатели известного движка для разработки кроссплатформенных мобильных приложений Corona SDK 2 марта объявили о том, что отныне Corona SDK будет бесплатна.

              Четыре месяца назад, в ноябре 2014 Corona была куплена компанией FusePowered. Многие предрекали грядущие изменения в политике компании и в выборе путей ее развития. Вопрос был, в какую сторону будут эти изменения. И вот сегодня случилось — Корона объявила, что возможности, доступные раньше только в платных подписках, теперь будут бесплатны.
              Разберемся, что же они теперь нам предлагают.
              Читать дальше →
            Самое читаемое
            Интересные публикации