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

Lua *

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

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

Язык Lua и Corona SDK (2/3 часть)

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

Это вторая из трех частей статьи о базовых понятиях языка Lua для Corona SDK (если вы не читали первую часть советую начать с нее), в этой части мы рассмотрим все имеющие в языке типы данных. Вы узнаете, как инициализировать переменные всех типов, использовать их значения и преобразовывать один тип в другой. Эта статья является крайне важной в вопросе изучения языка и я постарался добавить большое количество ценных советов, которые позволят вам избежать множества ошибок когда вы будете писать свои игры.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии20

Язык Lua и Corona SDK (1/3 часть)

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

Если вы решили освоить разработку игр с использованием Corona SDK, эта статья даст вам необходимые основы самого движка и языка Lua, на котором вам придется разрабатывать. По своему этот язык прекрасен и во многих отношениях необычен. Я постарался собрать в одну статью все наиболее необходимые сведения, но их оказалось больше чем можно размещать в одной публикации и мне пришлось разделить статью на 3 части, эта первая часть и в ней мы рассмотрим следующие вопросы:

  • Порядок комментирования исходников
  • Переменные, константы, область видимости
  • Модули и организация проекта
  • Условные операторы
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии19

Как научить нейросеть придумывать названия российских населенных пунктов

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

Для начала немного несуществующих деревень и сёл


Сальтолово
Ничичи
Каверная Голяна
Придориусловка
Старотипенки
Кюканово
Кутюшевка
Верхний Стед
Сабаревка
Зеленокировка
Хадонские Выселки
Старый Куля
Октяга
Ржиново
Черемошно
Голодионово
Александрово-Полейково
Подлопаново
Малое Сусовое
Горы-Чусалы
Чубравяково




Зачем и почему


Всем привет, меня зовут Илья, я занимаюсь компьютационной биологией и биохимией, в свободное время я заставляю нейросети страдать ерундой.


Основываясь на аналогичных проектах (названия британских деревень, названия мест в Орегоне, названия различных цветов и их RGB), я решил научить нейросеть создавать названия несуществующих населенных пунктов


В качестве нейросети я решил воспользоваться torch-rnn, которую достаточно легко установить и настроить. Список городов и сел я нашел тут (можно скачать все в формате csv). С csv пришлось немного повозиться, чтобы привести ее к utf-8, после чего я запихнул ее в нейросеть и оставил на пару часов. Когда тренировка модели закончилась я взял небольшой сампл и получил следующий результат:

Читать дальше →
Всего голосов 44: ↑36 и ↓8+28
Комментарии28

Вторая версия Монитора качества воздуха

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

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

И вот появилась новая версия прибора.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии19

Истории

Быстрый пул для php+websocket без прослойки nodejs на основе lua+nginx

Время на прочтение5 мин
Количество просмотров15K
nginx + lua

Кратко: nginx не умеет пулить websockets, а php работает per request. Нужна прослойка которая будет держать открытыми вебсокеты и при поступлении данных соединяться с php (через тот же fastcgi) и отправлять обратно ответ.

update: Здесь не идётся про решения на php, так как по сравнению даже с nodejs, они гораздо медленнее.

Тема, как оказалось, не нова, исходники тянуться аж из 2014, но, тем не менее, информации о трюке, про который здесь пойдёт речь, крайне мало. Можете погуглить "websockets php". Усугубляется тема ещё тем, что найденные примеры реализации (два, точнее) не работают, включая тот, что в документации :)
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии30

Приложения для Tarantool. Часть 2. OAuth2-авторизация

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

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


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


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

Язык Terra — низкоуровневый партнёр Lua

Время на прочтение12 мин
Количество просмотров17K
Terra — низкоуровневый язык системного программмирования, встраиваемый и имеющий возможность метапрограммирования с помощью языка Lua.

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

Приложения для Tarantool. Часть 1. Хранимые процедуры

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

Привет, Хабр! Сегодня я хочу поделиться с вами опытом написания приложений для Tarantool 1.7. Этот цикл статей будет полезен тем, кто уже собирается использовать Tarantool в своих проектах, либо тем, кто ищет новое решение для оптимизации проектов.


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


Tarantool — это NoSQL база данных, которая хранит данные в памяти либо на диске (в зависимости от подсистемы хранения). Хранилище персистентно за счет продуманного механизма write ahead log. В Tarantool встроен LuaJIT (Just-In-Time Compiler), позволяющий исполнять код на Lua. Также можно писать хранимые процедуры на C.


image

Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии13

Геймджем для Lua-разработчиков на движках Corona и Defold

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

Партнеры и друзья Appodeal, Corona Labs совместно с Defold и DevGAMM Минск, объявляют о старте геймджема #CoronaDefoldJam на базе Lua. Джем пройдет с 28 июля по 30 сентября 2017 на платформе itch.io. Требование к участникам только одно — игры в рамках джема должны быть созданы на Corona или Defold. Если вы никогда не использовали эти движки, не страшно: обе платформы просты для изучения и обладают очень дружелюбными сообществами, которые всегда помогут разобраться. В общем, #CoronaDefoldJam — идеальный повод освоить новые инструменты для создания игр; тем более, что джем поддерживает легендарный Джон Ромеро.

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

DevConf::Frontend — 17 июня в Москве: Angular 4, React Native, выбор JS-фреймоврка для крупного проекта + Lua Meetup

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

17 июня в Москве, Измайлово пройдет конференция Devconf::FrontEnd

Откроет ее Виталий Грин, лидер Frontend разработки Альфа Лаборатории, Ex-Яндекс.Карты,
который расскажет как сделать общую библиотеку компонентов с одной стороны стабильной для десятков команд, а с другой стороны гибкой и расширяемой

Сергей Аверин, tech-менеджер из компании Acronis поведает о том, как важен правильный выбор JS-фреймоврка для крупного проекта в условиях, когда любое более-менее важное технологическое решение сразу затрагивает с десяток команд, несколько сотен человек и права «случайно все сломать» нет.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии5

Свой скриптовый движок для игр средствами С++ и Lua (часть — 1)

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

Предисловие


Возможно у вас наступал такой момент, что хотелось написать свой движок для игр, или просто вы хотели узнать, как такое реализовать, но по каким — то причинам вам это не удавалось.
Ну что ж, тема довольно обширная, поэтому я начинаю серию уроков по написанию своего 2д игрового движка, и поверьте он будет не хуже того же Love2d, именно такого стиля и будет наш движок.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии17

Что нам стоит CDN построить

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

Медленные сайты раздражают пользователей. Когда основной контент — фоточки, а сайт тормозит — это раздражает вдвойне. И как бы мы ни оптимизировали свой сервис, всегда остаётся такой фактор, как качество связи между пользователем и нашим ЦОДом. В решении этой проблемы нам помогает CDN.

Мы — это компания «Колёса Крыша Маркет», разработчик самых крупных и посещаемых сайтов частных объявлений в Казахстане и фотографии из объявлений — критически важная часть нашего бизнеса.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии18

Lua in Moscow впервые на DevConf 2017

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

Приглашаем на митап с докладами Lua in Moscow 17-го июня на конференцию сообществ разработчиков DEVCONF.

На митапе у вас будет шанс послушать доклады об устройстве и применении Lua и LuaJIT и обменяться опытом с членами коммьюнити.

Lua — уникальный язык программирования, который используется далеко не только в индустрии компьютерных игр, но и как встроенный язык расширений в таких инструментах web-программирования, как Redis, nginx, Tarantool, OpenResty. Lua также применяется для анализа больших данных, научных вычислений. Во многих роутерах, принтерах и других подобных устройствах есть Lua.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии0

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

Делаем Space Invaders на Love2d и Lua

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


Добрый день! Сегодня будем делать классическую игру Space Invaders на движке Love2d. Для любителей «кода сразу» окончательную версию игры можно посмотреть на гитхабе. Тем же кому интересен процесс разработки, добро пожаловать под кат.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии7

Опыт внедрения Tarantool в сервисе Calltouch

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

image


В современном мире информационных технологий у всех — и у крупных, и у небольших компаний — существует большое количество различных API. И отказоустойчивость, несмотря на многие best practices, чаще всего не позволяет гарантировать 100%-й возможности корректно обрабатывать запросы клиентов, а также восстанавливаться после сбоя и продолжать обработку запросов, утерянных из-за сбоя. Эта проблема возникает даже у больших игроков в интернете, не говоря уже о не очень крупных компаниях.


Я работаю в компании Calltouch, и наша основная цель — добиться отказоустойчивости сервисов и получить возможность управлять данными и запросами, которые клиенты совершали в API-сервис. Нам нужна возможность быстро восстанавливать сервис после сбоя и обрабатывать запросы к сервису, у которого возникли проблемы. Начинать обработку с момента отказа. Всё это позволит приблизиться к состоянию, когда почти невозможно потерять запросы клиентов на нашей стороне.


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

Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии15

Отказоустойчивая обработка 10M OAuth-токенов на Tarantool

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

image


Многие уже наслышаны о производительности СУБД Tarantool, её возможностях и особенностях. Например, у него есть классное дисковое хранилище — Vinyl, кроме того, он умеет работать с JSON-документами. Но в многочисленных публикациях обходят стороной одну важную особенность. Обычно БД рассматривают просто как хранилище, но всё же отличительная черта Tarantool — это возможность писать код внутри и очень эффективно работать с этими данными. Под катом рассказ, как мы строили одну систему почти полностью внутри Tarantool, написанный в соавторстве с Игорем igorcoding Латкиным.

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии2

Геймдев для чайников или как в одиночку сделать игру

Время на прочтение4 мин
Количество просмотров48K
Привет, будущий геймдевелопер! Я думаю, что многих интересует, а можно ли создать игру одному, а тем более без вложений. Вот именно об этом и пойдет речь. Я столкнулся с этим не понаслышке. Все, что написано ниже, основано на собственном опыте геймдева с нуля за 3 месяца.
Читать дальше →
Всего голосов 39: ↑27 и ↓12+15
Комментарии28

Монитор качества воздуха в помещении

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

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

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

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

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

Но этого недостаточно. Нужен прибор которым вы могли-бы непосредственно померять качество воздуха в вашем доме. Что бы Вам было понятно и очевидно чем Вы дышите. Как температура на градуснике.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии92

Приглашаем на Lua in Moscow 2017 5 марта

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


В первое воскресенье марта в офисе Mail.Ru Group пройдёт международная конференция Lua in Moscow 2017. В программе — выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT.

Lua — уникальный язык программирования, который используется далеко не только в индустрии компьютерных игр, но и как встроенный язык расширений в таких инструментах web-программирования, как Redis, nginx, Tarantool, OpenResty. Lua также применяется для анализа больших данных, научных вычислений. Во многих роутерах, принтерах и других подобных устройствах есть Lua.

В 2014 году мы провели восьмую ежегодную конференцию по языку программирования Lua Workshop, крупнейшую по числу участников за все годы. С тех пор мы не забывали про язык программирования Lua, проводили митапы и потоки на IT-конференциях. И вот, наконец, в этом году у вас снова есть шанс лично задать вопросы автору языка, обменяться опытом с лучшими программистами и, конечно, послушать доклады про передовой опыт применения Lua и LuaJIT.

Часть докладов будет на английском языке.

Даже если вы ещё не пишете на языке Lua, приходите, возможно, конференция откроет вам глаза на что-то новое и интересное!
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии6

OpenResty: превращаем NGINX в полноценный сервер приложений

Время на прочтение9 мин
Количество просмотров83K
Мы вновь публикуем расшифровку доклада с конференции HighLoad++ 2016, которая проходила в подмосковном Сколково 7—8 ноября прошлого года. Владимир Протасов рассказывает, как расширить функциональность NGINX с помощью OpenResty и Lua.

Всем привет, меня зовут Владимир Протасов, я работаю в Parallels. Расскажу чуть-чуть о себе. Три четверти своей жизни я занимаюсь тем, что пишу код. Стал программистом до мозга костей в прямом смысле: я иногда во сне вижу код. Четверть жизни — промышленная разработка, написание кода, который идёт прямо в продакшн. Код, которым некоторые из вас пользуются, но не догадываются об этом.

Чтобы вы понимали насколько всё было плохо. Когда я был маленьким джуниором, я пришёл, и мне выдали такие двухтерабайтные базы. Это сейчас тут у всех highload. Я ходил на конференции, спрашивал: «Ребят, расскажите, у вас big data, всё круто? Сколько у вас там базы?» Мне отвечали: «У нас 100 гигабайт!» Я говорил: «Круто, 100 гигабайт!» А про себя думал, как бы аккуратненько сохранить покерфейс. Думаешь, да, ребята крутые, а потом возвращаешься и ковыряешься с этими многотерабайтными базами. И это — будучи джуниором. Представляете себе, какой это удар?

Я знаю больше 20 языков программирования. Это то, в чём мне пришлось разобраться в процессе работы. Тебе выдают код на Erlang, на C, на С++, на Lua, на Python, на Ruby, на чем-то еще, и тебе надо это всё пилить. В общем пришлось. Точное количество посчитать так и не удалось, но где-то на 20 число потерялось.
Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии35