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

Lua *

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

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

MikroVoice — музыкально-голосовой Микротик или как я озвучил сетевые события на роутерах

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров6.3K


1. Введение и о том как всё начиналось (рождение идеи)

Основная задача роутера – маршрутизация сетевого трафика. Однако как мы знаем, современный роутер, кроме этого выполняет массу других «около задач», одно перечисление которых может занять эту страницу. Рост производительности и увеличение объемов памяти с одной стороны и приближение сетевых технологий к пользователю, в том числе «одомашнивание» роутеров, как отдельных устройств, с другой, нагрузило их дополнительными, и даже напрямую не связанными с основной задачей, функциями. Спорам о целесообразности этого нет конца – IT-профессионалы твердят, что роутер должен быть только роутером и больше ничем. Желания пользователей и конкуренция на рынке производителей диктуют свои правила. Разумеется, как и во всех сферах, существует «разделение» этих устройств на профессиональные, «полупрофессиональные» и так называемые «SOHO», а крупные производители с целью не только не потерять, но и наращивать рынок, как правило, поддерживают производство всех указанных типов этих девайсов.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+9
Комментарии12

Новости

Топ-20 платных и бесплатных уроков программирования в Roblox для детей

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

Roblox — это большая метавселенная, где есть игры практически любых жанров. Все локации и герои внешне напоминают конструктор Lego, что, конечно же, привлекает школьников со всего мира. За день на платформу заходит свыше миллиона человек, а в месяц их количество достигает 215 миллионов. На сегодняшний день Roblox стал популярнее Minecraft по посещаемости.

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

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

Зомби, гонки и лабиринты: какие игры создают дети в Roblox самостоятельно

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.2K

Программирование как процесс обучения не обязан быть скучным, монотонным и сложным. Особенно если мы говорим о детях младшего школьного возраста, которым в принципе нужны игровые механики в любом обучении, чтобы лучше усваивать материал. Идеальным кандидатом для такого нескучного IT-обучения станет программирование на Lua на платформе Roblox.

Предлагаем вашему вниманию проекты, которые по силам создать ребенку на курсе программирования для школьников Roblox.

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

Как сделать анализатор кода за два дня

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров7.8K

Статический анализ — это очень мощный инструмент, позволяющий следить за качеством кода. Предлагаем вместе попробовать написать простой Lua анализатор на Java, чтобы понять, как устроены статические анализаторы кода внутри.

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

Истории

С какого языка школьнику стоит начать изучать программирование?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров17K

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

Сделали обзор и спросили экспертов, какой язык выбрать для первых шагов в IT: мнения разделились.

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

Что я думаю о Lua после релиза проекта на 60,000 строчек кода?

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров19K

Интервью-ретроспектива с ведущим программистом видео-игры Craftomation 101 о использовании Lua как основного языка в проекте на 60,000 строчек кода.

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

Создание простой Roblox игры без особого знания Lua

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.2K

Если вы когда-либо мечтали создать свою собственную игру в Roblox, но не знаете с чего начать, то эта статья для вас. В этом руководстве я покажу вам, как создать игру в Roblox без базового знания программирования.

Прежде чем мы начнем, вам нужно зарегистрироваться на сайте roblox.com и загрузить Roblox Studio - инструмент, который позволяет создавать игры на платформе Roblox. После установки запустите программу и выберите пустой шаблон для создания новой игры.

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

TarantoolScript: статическая типизация в Lua-скриптах Tarantool

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.1K

Если вам когда-нибудь доводилось писать скрипты для Тарантула, то вы наверняка сможете понять мою боль. Тарантул - удивительный инструмент, который позволяет не только хранить относительно большие объёмы данных и обеспечивать поразительно быстрое выполнение операций CRUD над этими данными, но и предоставляет очень широкие возможности для обработки этих данных непосредственно в среде Тарантула. И под обработкой данных я имею ввиду не просто их валидацию и выполнение над ними каких-то математических операций, а почти весь спектр возможностей, предоставляемых языком Lua и ещё целую кучу полезных модулей, входящих в пакет поставки Тарантула или устанавливаемых из сторонних источников.

Для того чтобы написать, например, полноценный HTTP-сервер на Тарантуле (прошу не пинать меня за эту формулировку), нам нужно знать совсем немного - основы синтаксиса языка Lua и API основных модулей самого Тарантула. И вот если с Lua всё совсем просто - изучить этот язык за один вечер, я уверен, мало для кого окажется непосильной задачей - то вот с модулями Тарантула всё немного сложнее. Можно вдоль и поперёк проштудировать всю официальную документацию и уже непосредственно во время написания скрипта столкнуться с одной неприятной проблемой - писать относительно большие вещи для Тарантула жутко неудобно.

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

Как мы реализовали аутентификацию трафика для MSA на базе монолита

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров1.8K

Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.

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

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

Обнаружение SSH-туннелей по размеру пакетов

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров19K

Иллюстрация из книги «Справочник киберсантехника»

Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+66
Комментарии23

Звуковые файлы в Lua

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.8K

Рассказываю как просто сделать функцию для воспроизведения  звука в различных форматах в скриптах Lua.

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии1

Про Vim — Neovim (Lua) PHP IDE

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5K

По большому счету единственной незакрытой темой в рубрике "Про Vim" осталась тема об альтернативе Conqueror of Completion для Neovim в Lua исполнении. Причиной перерыва между данной и предыдущей статьей в рубрике стало отсутствие необходимости в этой самой альтернативе. Ну или вернее причина может быть и была: во-первых - что бы удовлетворить любопытство, во-вторых - CoC действительно кажется громоздким и достаточно сложным внутри. Вариант на Lua мне бы дался легче, если бы захотелось что-то в нем подшаманить. Наверное.

Читать далее
Всего голосов 5: ↑4 и ↓1+6
Комментарии2

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.9K

Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируется к рациональному использованию при вычислениях на программном уровне; собственно аппаратная часть освобождается от процедур распараллеливания  (и поэтому должна стать проще и экономичнее использующих внутреннее распараллеливание).

VLIW-подход основан на идее загрузки во входной буфер процессора одновременно набора (bundle) допускающих параллельное выполнение  машинных команд и исполнения этого ряда команд аналогично единой команде в процессорах классической архитектуры. VLIW-процессоры реализуют параллелизм уровня ILP (Instruction-Level Parallelizm, параллелизм уровня машинных инструкций) и SMP (Symmetric MultiProcessing, системы с общей памятью)   идеологему работы с оперативной памятью. Несмотря на выпуклое преимущество (программным путём дешевле реализовать сложные процедуры параллелизации), работа VLIW-процессоров сопряжена с известными проблемами. Среди них называют статичность полученных планов параллельного выполнения и проблемы с излишней неравномерностью времени доступа к оперативной памяти разных вычислительных ядер   (временна́я антиплотность кода,   следствием является резкое снижение производительности из-за неизбежности  определять время выполнения всей связки команд сверхдлинного слова по продолжительности наиболее длинной из них).

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

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн

Программирование в Roblox для детей: как создать игру при помощи нейросети

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.2K

Программирование в Roblox для детей – это распространенное увлечение среди современных школьников, интересующихся компьютерными играми. Виртуальная вселенная, населенная миллионами игроков из разных уголков планеты, стала настоящим феноменом в мире детского досуга. Школьники получили возможность не только проводить время в популярных играх, но и разрабатывать собственные виртуальные миры, учиться программированию и создавать уникальную трехмерную графику. Благодаря Roblox каждый ребенок может стать геймдизайнером и воплотить мечту о разработке собственной игры.

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

Мойофис: автоматизация отчётности в банке

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.8K

Опыт разработки макросов и надстроек для Мойофис показал, что можно автоматизировать практически любой процесс, который раньше выполнялся с использованием Excel и макросов на VBA. А надстройки (о них не сегодня) вообще позволяют создавать корпоративные инструменты в связках "Python-Мойофис", "Nanocad-Мойофис" и т. п. Вот пример одной учебной задачи по автоматизации отчетности в Таблице Мойофис.

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

TLS Client Hello — перехватываем и парсим — Nginx + Lua / Go

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.6K

Возникла на днях достаточно интересная задачка - по образу сайта https://www.howsmyssl.com/ получить на страничке список Cipher Suites которые при TLS Handshake клиент передает в своем Client hello.

А заодно обдумать инструмент, который позволит работать с другими заголовками, в частности - Proxy-Connection

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

Искусственный интеллект GPT и скрипты Микротик

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров12K
Я не профессиональный программист и не специалист IT, но увлекался программированием с юности, когда мы писали на Бейсике и Ассемблере для первого советского персонального компьютера ПЭВМ АГАТ и даже умудрились оставить определенный след в его истории.

С того времени утекло много воды, я получил другую профессию, но увлечение своё полностью не оставил (я стал врачом и работаю по специальности с 2000 г., но оно помогает мне в работе всю жизнь). В 2013 году возникла необходимость «провести интернет» в загородный дом. Тогда то, я и познакомился впервые с роутерами Микротик. В сетевых технологиях я, на то время не знающий что такое IP-адрес (условно), возможно, не сильно продвинулся выше начального уровня (да и не было необходимости в сложных настройках Микротик), а вот программирование на скриптовом, Lua-подобном, языке Роутер ОС почему-то захватило меня целиком, даже временно в ущерб основной работе в каких-то аспектах. Конечно, до профессионального уровня я, самоучка, не дошёл, но написал за это время немало полезных и достойных по сложности скриптов для Микротик (неполный список моих работ представлен здесь).
Читать дальше →
Всего голосов 7: ↑4 и ↓3+3
Комментарии25

Продолжаем изучать аппаратные возможности расширения Микротик RBM33G

Время на прочтение17 мин
Количество просмотров8.1K
В своей предыдущей статье я рассказал о возможностях расширения «обвеса» Микротик RBM33G и некоторых особенностях этой платы, в частности интегрированном GPIO-интерфейсе. Я не остановился на достигнутом и продолжил свои опыты, чем и хочу поделиться с читателем. Модули реле через GPIO мы уже подключали к роутеру в предыдущей статье, повторяться не буду. Опишу некоторые другие плюшки.

Чтобы использовать GPIO, в предыдущей статье мы отключали его от второго (serial1) последовательного порта RBM33G. Первый (serial0) порт по умолчанию занят консолью для подключений через DB9-разъем на лицевой панели платы. Предлагаю на время вернуть настройку serial1 по умолчанию:

/system routerboard settings set gpio-function=serial1

Чтобы изменения вошли в силу, нужна перезагрузка:

/system reboot

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

Реверс мобильных приложений на cocos2dx

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.6K

Хочу поделиться своим опытом в реверс инженеринге приложения на lua cocos2d-x. Файлы приложения зашифрованы xxtea, а ключи шифрования находятся в .so файле внутри приложения.

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

Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.9K

Привет, Хабр! Меня зовут Сергей Скубач, я работаю в VK и разрабатываю облачное хранилище WorkDisk. Мы используем Tarantool в своём продукте, так как его разрабатывают и развивают наши коллеги. Я впервые столкнулся с Tarantool именно в VK, и для более глубокого понимания решил попробовать использовать его в своём pet-проекте.

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

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