• Lua за 15 минут

      image

      Для всех, кто хотел разобраться с Lua (скриптовый язык для разработки игр и не только, список), но никак не находил времени, Tyler Neylon приготовил небольшой подарок:

      http://tylerneylon.com/a/learn-lua/

      Посвящается всем, кто предпочитает один большой список из говорящих самих за себя сниппетов кода (с небольшими комментариями к 95% case'ов) длинным мануалам с огромной иерархией. Очень удобно для тех, кто уже умеет программировать и просто хотел бы разобраться с новым для себя языком. Весь «мега-сниппет» на английском, но примеры несложно читаются.

      P.S. А для всего остального есть Hyperpolyglot.
    • MySQL On air. Мониторим SQL запросы

      • Tutorial
      image
      Разбираясь как работает та или иная CMS приходится использовать различные инструменты, облегчающие работу.
      Наиболее интересная тема — это работа с баз(ой|ами) данных. Естественно для изучения запросов и результатов запросов нужно использовать что-то универсальное. Что-то, что будет работать стабильно как с известным движком, так и с самописной системой.
      Предположим у вас оказалась система управления контентом и вам необходимо посмотреть как реализовано добавление новых пользователей или смена паролей.

      Большинство инструментов позволяющих мониторить работу с БД являются платными [раз, два]. Я хотел что-то более легкое и удобное, поэтому выбрал mysql-proxy. Хотя возможности утилиты гораздо шире чем мне требуется, я опишу лишь основное. Работает как под Windows, так и под Unix системами.
      Как я это использую?
    • Учим язык, смотря сериалы: vlc + lua + stardict + wordnet + anki = l'amour

        Очень уж мне нравится смотреть сериалы, а еще я учу с их помощью языки. И если раньше я прилежно останавливал видео на непонятном месте, перематывал назад, включал субтитры и забивал незнакомые слова в Анки, то сейчас я делаю то же самое. Разве что лень заставила этот процесс автоматизировать, что привело к созданию расширения Say It Again для проигрывателя VLC со следующими особенностями:

        • Навигация по субтитрам (переход к предыдущей, следующей фразе) — клавиши y, u;
        • Сохранение слова, его транскрипции и перевода вместе с контекстом (см. скриншот) — клавиша i;
        • Функция «Еще раз»: переход к предыдущей фразе, показ субтитра и пауза — клавиша backspace;
        • Подключение любых словарей в формате Stardict (в сети лежат словари из Lingvo x3);
        • Экспорт в Anki или другую программу, понимающую файлы в формате csv;


        Say It Again screenshot


        Зачем все это нужно и как это работает?
      • Шаблоны с переменным количеством аргументов на примере обертки для Lua

        Понадобилось мне прикрутить Lua к проекту на C++. Писать обертки в ручную — лень (слишком много писать), готовые не подходили по тем или иным причинам. Решил написать свою. А потому задался вопросом, как максимально упростить интерфейс? От одной только мысли об этом в голову лезли жутчайшие конструкции из шаблонов. Так оно в последствии и оказалось, но гораздо проще, чем представлялось.

        В C++11 появились шаблоны с переменным числом аргументов, это позволяет писать шаблонные функции/классы так, как в C++03 было невозможно вовсе. Такие шаблоны сильно упрощают задачу.

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

        В итоге хотелось увидеть интерфейс близкий к следующему:

        lua.export_function(some_function);
        

        Читать дальше →
        • +19
        • 13,7k
        • 4
      • Lua: как перестать встраивать и начать жить

          Lua: как перестать встраивать и начать жить



          За Lua прочно закрепилась слава полуязыка — инструмента, который при случае можно встроить, чтобы заскриптовать приложение, написанное на компилируемом языке вроде С++. Тем не менее Lua является вполне самостоятельным языком, имеющим свой интерпретатор, возможность создания модулей, большое число библиотек, и при этом данный ЯП обладает минимальным размером среди аналогов. Проще говоря у нас есть все, чтобы создавать такие же приложения как на perl, python, и вообще любом другом распространенном языке программирования.

          Читать дальше →
        • Пишем на iPad'е под iPad

            Недавно в App Store появились первые игры написанные прямо на iPad, что лично меня очень радует. Можно сказать, что планшет становится не только средством потребления контента, но и его производства.

            image
            Под катом я расскажу, как и где это сделано, покажу простенький Hello World.

            Читать дальше →
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

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

            Lua Logo
            Каждый программист за свою жизнь успевает изучить множество языков, в нескольких из них специализируется и продолжает работать продолжительное время, а остальные проходят мимо. По разным причинам. Стоит ли тратить время на изучение новых языков, когда уже определился с областью в которой будешь работать? Лично я уверен что стоит, хотя, быть может, многие скажут что важны фундаментальные знания в computer science, а на каком языке писать код не критично. В сущности так и есть. И тем не менее изучать языки интересно и полезно.
            Читать дальше →
          • Составление строк из множества частей

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