Как стать автором
Обновить
14

Lua *

Скриптовый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Тестирование производительности таблиц офисных пакетов в Linux на примере MS Office, LibreOffice, МойОфис, OnlyOffice

Время на прочтение 23 мин
Количество просмотров 16K

Актуальность темы обусловлена форсированием перехода Государственных ведомств и госкомпаний России с Windows на Astra Linux. Это было сделано на фоне заявления корпорации Microsoft о сворачивании бизнеса в РФ. Так как у автора, да и у многих других пользователей MS Office, за долгие годы работы скопилось ряд наработок, то вопрос об их работоспособности и переносе под новый офисный пакет, на платформе Linux, стоит остро, как и возможность малой автоматизации рутинных действий.
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 56

Хранение графов в Tarantool: реальность или миф

Время на прочтение 8 мин
Количество просмотров 4K


Меня зовут Александр Горякин, и я работаю в отделе разработки систем для внешних заказчиков Tarantool. Очень часто мы сталкиваемся с весьма нетривиальными задачами, например с хранением графов. Расскажу об этом на примере создания системы по борьбе с мошенническими действиями для одного из заказчиков, очень крупного банка.
Читать дальше →
Всего голосов 49: ↑47 и ↓2 +45
Комментарии 10

CRUD 0.11.0 для Tarantool

Время на прочтение 6 мин
Количество просмотров 2.5K

Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.

Tarantool — это платформа in-memory вычислений с гибкой схемой данных, функциональность которой расширяется с помощью модулей. Одними из самых популярных являются vshard, предназначенный для распределённого хранения данных, и cartridge, который организует работу с кластером Tarantool. CRUD также можно считать членом этого семейства: он предназначен для написания запросов при работе с распределёнными данными. Мы в Tarantool активно используем его при разработке готовых решений и нередко упоминаем в статьях (например, здесь и здесь).

Читать далее
Всего голосов 41: ↑41 и ↓0 +41
Комментарии 1

Лекция 4. Super Mario Bros. — CS50`s Introduction to Game Development с русскими субтитрами

Время на прочтение 1 мин
Количество просмотров 1.5K

Привет! Перевод пятой лекции о создании Super Mario Bros.

Читать далее
Рейтинг 0
Комментарии 0

Истории

Библиотека скриптовых функций для парсера Телеграмм Микротик РоутерОС

Время на прочтение 3 мин
Количество просмотров 9.3K
Недавно мы сообщали о создании нами универсального скрипта уведомлений и исполнения команд через Телеграмм для РоутерОС Микротик TLGRM.

Благодаря небольшим доработкам в парсинге кода скрипт TLGRM может теперь не только выполнять функции с параметрами и прямые команды ROS, но также исполнять скрипты, передавая им параметры напрямую.

Вторая доработка коснулась адресации команд. Доработанная версия TLGRM теперь поддерживает как адресную (конкретному роутеру или всем, но с ключом /forall), так и широковещательную рассылку команд без указания адресата (сразу всем, «слушающим» чат).

Третьим новшеством, является создание нами специально для работы с TLGRM, библиотеки скриптовых функций, названной «SATELLITE» («Спутник»), о которой пойдет речь далее.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 5

Минимальная реализация Lua на Rust

Время на прочтение 24 мин
Количество просмотров 8.8K
После того, как вы освоите это руководство, в вашем распоряжении окажется минимальная реализация Lua (парсер, компилятор, виртуальная машина), написанная на Rust с чистого листа. Этот проект получил название Lust, его код можно найти на GitHub.

Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 11

Скрипт уведомлений и исполнения команд через Телеграмм для РоутерОС Микротик

Время на прочтение 18 мин
Количество просмотров 20K
Мессенджер Телеграмм полагаю представлять не нужно. В сравнении с другими существующими мессенджерами, Телеграмм выгодно отличается тем, что позволяет создавать боты, которые могут участвовать в чатах. Это удобно во многих случаях, в том числе для разработчиков программного обеспечения и продвинутых пользователей.

Применительно к работе с роутерами Микротик, Телеграмм удобен тем, что в чат-бот можно организовать пересылку сообщения от роутера, а пользуясь возможностями парсинга чата через API Telegram, пересылать исполняемые команды.

Как создать свой бот, чат и «прикрутить» к ним Микротик можно прочитать например здесь или здесь.

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

Мы объединили накопленные за это время идеи и код в единый скрипт под названием TLGRM, который хотим представить здесь.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 6

Модуль ACME-клиента для Tarantool

Время на прочтение 4 мин
Количество просмотров 1.5K

Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.

Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все используют Let's Encrypt. Но и есть другие сервисы, например Zero SSL. Он тоже поддерживает ACME-протокол.

Я опирался на две статьи с Хабра (эту и эту), а также RFC8555. Но информации в них оказазалось недостаточно, для того, чтобы реализовать собственный вариант модуля. Примерно половину нужной информации потребовалось дополнительно извлечь из нескольких реализаций данного модуля на других языках. Тесты проводил на живом сервисе, поэтому автотестов пока нет. Можете написать и сделать пулл реквест.

Модуль написан под Linux. В статье подробно разобран алгоритм работы - при необходимости Вы можете дописать его под другую ОС. Рассматривается только вторая версия протокола.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 7

Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности

Время на прочтение 32 мин
Количество просмотров 19K
Роутер ОС Микротик, как известно, имеет мощнейший LUA-подобный встроенный скриптовый язык, позволяющий осуществлять исполнение сценариев, в том числе при наступлении каких-либо событий в сети или по расписанию. Скрипты могут состоять из одной строки кода или иметь внушительные размеры, при передаче управления друг другу формируя сложные программы. Встроенный скриптовый язык существенно расширяет возможности системы, практически не ограничивая полет фантазии программиста. Существующее официальное руководство по скриптам написано кратко и, разумеется, не может охватить все особенности программирования для Роутер ОС.

В этой статье, не претендующей на полное руководство к разделу, мы рассмотрим одну из интересных и важных рубрик «скриптинга», а именно — функции.

Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 0

Лекция 3. Match 3. — CS50`s Introduction to Game Development с русскими субтитрами

Время на прочтение 1 мин
Количество просмотров 1.8K

Привет! Перевод четвертой лекции о создании Match 3 (Три в ряд).

Читать далее
Рейтинг 0
Комментарии 1

Лекция 2. Breakout. — CS50`s Introduction to Game Development с русскими субтитрами

Время на прочтение 1 мин
Количество просмотров 972

Привет! Перевод третьей лекции о создании Breakout готов.

Читать далее
Рейтинг 0
Комментарии 0

Как я переписывал vim конфиг в init.lua

Время на прочтение 19 мин
Количество просмотров 30K

Статья рассказывает о том, как я с нуля переписывал свой nvim-конфиг (init.vim) в конфиг с поддержкой lua (init.lua).

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 38

Лекция 1. Flappy Bird. — CS50`s Introduction to Game Development с русскими субтитрами

Время на прочтение 1 мин
Количество просмотров 2.6K

Привет! Перевод второй лекции готов. Приятного просмотра)

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн

Xeus-lua — интерактивные виджеты Lua в Jupyter Notebook

Время на прочтение 4 мин
Количество просмотров 2.7K

Торстен Бейер — программист из QuantStack, в Open Source он работал над nifty и vigra на C++, а также над inferno, kipoi и ilastik — на Python. Делимся материалом о новом ядре Lua от Торстена Бейера из блога разработчиков Jupyter, пока у нас начинается флагманский курс Data Science.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Сборка Linux и CPSS на отладке Marvell RD-AC3X-48G4X2XL-A с Ethernet-коммутатором Prestera DX

Время на прочтение 7 мин
Количество просмотров 4.4K

Мы подготовили статью-гайд для пошаговой сборки и запуска базовой прошивки с CPSS на отладочной плате Marvell RD-AC3X-48G4X2XL-A. Эта плата предназначена для проектирования и отладки управляемых коммутаторов до 48 портов. Чем она примечательна для инженера-разработчика? У нее на борту установлен коммутатор Marvell Prestera DX 98DX3257 с мощной СнК семейства Prestera. А Ethernet-коммутаторы Prestera DX позволяют реализовать 5G при самой низкой в отрасли мощности и занимаемой площади. 

А что касается CPSS, то это базовый программный уровень для железа Marvell Prestera или, другими словами, Core Prestera Software Suite. CPSS используется в проекте Open Compute Project как часть открытой операционной системы SONiC. Эта операционка расширяет функции центра обработки данных в сложных системах, например, в системах интеллектуального хранения данных и машинного обучения.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 3

Изучаем МойОфис: как использовать макросы в редакторах документов и электронных таблиц

Время на прочтение 10 мин
Количество просмотров 15K

Привет, Хабр! Недавно в нашем корпоративном блоге мы рассказали о выходе новой версии МойОфис 2021.02, в которой появились удобные инструменты для работы с формулами и математическими выражениями, а также со сводными таблицами.

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

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 7

CS50`s Introduction to Game Development с русскими субтитрами — Лекция 0. Pong

Время на прочтение 1 мин
Количество просмотров 5.7K

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Управляем кластером на Tarantool из командной строки

Время на прочтение 11 мин
Количество просмотров 4.9K


Два года назад мы уже рассказывали вам, что такое Cartridge и как с его помощью разрабатывать распределенные приложения. Это полноценный фреймворк, в который входит CLI-интерфейс, который сильно упрощает разработку и эксплуатацию приложений на Tarantool Cartridge.

Я расскажу вам, как можно использовать Cartridge CLI для эффективного использования ваших локальных приложений, и об интересных фичах самого CLI. Статья больше ориентирована на тех, кто уже использует Cartridge или хочет начать им пользоваться. Поехали!
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Комментарии 10

Что не так с Asterisk Realtime и как с этим жить

Время на прочтение 8 мин
Количество просмотров 6.8K

Не так давно я опубликовал пост, в комментариях к которому было высказано мнение, что у астериска есть некоторые проблемы с механизмом realtime. Так вот, на данный момент, вынужден согласиться с этим утверждением, более чем полностью. Как следствие, встал на путь разочарования asterisk'ом как платформой-"конструктором". Почему и как это произошло и при чём тут tarantool, а самое главное, что со всем этим можно сделать? Давайте разбираться под катом.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 13

Вклад авторов