
Vadim
03.05.2017
07:35:17
обоснуй
ну, наличие одной (свежей) версии венды - простительно, ибо "на всякий случай". А наличие уже протухшей свидетельствует о некрофилии
а некрофилия по отношению к проприетарному софту...

fgntfg
03.05.2017
07:35:38
Автообновления не выключал

Vadim
03.05.2017
07:36:10

Google

fgntfg
03.05.2017
07:36:30
А она на рабочем компе стоит, и это не моя головная боль

Snusmumriken
03.05.2017
07:37:27

fgntfg
03.05.2017
07:37:35
А еще у меня дома три макбука лежат. Но это лирика. Ось не главное. Они все сейчас более менее одинаковые. И для обычного использования от оси нужно только одно - запустить хром

Snusmumriken
03.05.2017
07:38:00
Но ведь браузер имеет крайне низкую оптимизацию : )

fgntfg
03.05.2017
07:38:31
Кстати, было же поделие на Lua. Консольный браузер
хоть убей не вспомню название

Snusmumriken
03.05.2017
07:38:55
Ох, есть биндинги webkit на lua.
Конкретно браузер консольный, на самом деле, довольно забавная штука, но всё разъезжается нафиг из-за обилия шрифтов/блоков разного размера и всего такого.
Хотя я бы не отказался от чего-то подобного.
Есть ещё игрушка cogmind. Рогалик с офигительнейшим консольным дизайном.
https://youtu.be/fAuTK72ynTE
А, Влад Руд ещё пихал консольный клиент вк, с музычкой и новостями.

Aleksandr
05.05.2017
12:01:53
Всем привет. Хочу поинтересоваться, Lua code style. Кто чем руководствуется? Вопрос возник, так как на просторах интернета масса вариантов, и все сильно разнятся.

fgntfg
05.05.2017
12:12:26
Собственным удобством и привычками

Tverd
05.05.2017
12:12:58
немного перекликается с питонячим
я думаю тут многое описано http://lua-users.org/wiki/LuaStyleGuide

Google

Tverd
05.05.2017
12:16:39
только два отступа вместо 4-х - не гуд )))))))))))))) ну это лично на мой взгляд

Aleksandr
05.05.2017
12:16:52
Вот и мне питонячий советуют... А у меня душа к Снейк стилю с его подчеркушками не лежит :(

Tverd
05.05.2017
12:18:33
если ты про верблюдов и подчеркивания - то тут будем до утра холиварить... тут уж на свой вкус... а еще лучше тот стиль, который юзает выбранный тобой фреймворк, если таковой используется

Aleksandr
05.05.2017
12:21:11
Ага, благодарю, но тут дело в том что, как раз надо будет самописный фреймворк подогнать к однообразному стилю. Вот и задумался.

Рома
05.05.2017
12:22:30
Читайте код авторитетных авторов, имхо или на самом деле так - camel кейсу в луа нет места!

Tverd
05.05.2017
12:23:27
лично я так делаю - классы - с большой (кэмэл), методы - с маленькой (кэмэл)... переменные с подчеркиваниями... Насчет - нет места - корона вся на кэмеле

Рома
05.05.2017
12:23:48
классы да
я не видел правда корону, но классы конечно да
Александр, какой фреймворк?

Tverd
05.05.2017
12:26:07
Говорит самописный

Рома
05.05.2017
12:26:21
ну для чего

Aleksandr
05.05.2017
12:27:38
Тестирование продукта на с++.


Snusmumriken
05.05.2017
14:39:20
На самом деле, типичный стайлгайд - пишите по одной команде на одну строку,
табы или пробелы - я предпочитаю табы ибо работаю на разных разрешениях экрана, и рад подстройке под него,
строки, в идеале - менее чем на 72 символа, шоб в экран и терминал влезало, в случае чего,
чем меньше всякой фигни подключается в библиотеках - тем лучше (и никаких глобальных переменных/функций, ибо проблемы с отладкой),
древовидная структура проекта, чтобы знать где искать ошибки.
Мне нравится кемел-кейс для методов. Константы - капсом. Всякие внутренние функции могут быть с заглавной буквы или с подчёркивания.
Каждая пользовательская функция комментирована, и непонятные вещи тоже. Комментариев - процентов 10-20 от объема кода. Комментарии отвечают на вопрос 'Зачем тут именно так', а не 'Что тут происходит'. 'Самодокументированный код' - это самообман.
В начале модуля - краткий референс, в конце - тест-кейс согласно референсу. В реверанс еще стоит пихнуть краткую структуру модуля, чтобы потом не бегать по коду чтобы вспоминать, где тут и как.
Стараемся уменьшать вложенность и сложность кода: выпендриваться крутостью закрученности функций/методов будем в других местах, где это сколько-нибудь оправдано.


MrSmeet
05.05.2017
15:16:24
Помойму для такого простого япа как lua не оправданно

The Dude
05.05.2017
15:19:11
А в строках кода проекта написанных на нем.

Google

MrSmeet
05.05.2017
15:28:42

The Dude
05.05.2017
15:29:31

MrSmeet
05.05.2017
15:30:06

The Dude
05.05.2017
15:30:40
Самоописываемого кода не существует.
Это такой миф для нубов.

MrSmeet
05.05.2017
15:30:59

The Dude
05.05.2017
15:31:45

MrSmeet
05.05.2017
15:49:40
?
Ну ты часто видишь в повседневной жизни, я чуть более чем никогда

The Dude
05.05.2017
15:50:21

MrSmeet
05.05.2017
15:57:18
Не понимаю тебя.
Нет смысла обсуждать то, что есть только в теории по отношению к реальным проектам. Если есть практика и нет, достаточно веской причины или желания написать proof of concept то и смысла в диалоге нет. Это как обсуждать продолжительность чиха Чикатило на северном полюсе

Волчик
05.05.2017
16:03:40
Чиха Чикатило в Чикаго

The Dude
05.05.2017
16:12:27

MrSmeet
05.05.2017
16:13:23

The Dude
05.05.2017
16:15:11

Волчик
05.05.2017
16:19:16
хватит спорить без причины. предлагаю идею стартапа. пишем расширения под все известные браузеры для поддержки скриптинга на Lua вместо JavaScript. распространяем это решение как наиболее прогрессивное. через 5 лет W3 делает LuaWeb стандартом и он поддерживается везде нативно

Aleksandr
05.05.2017
16:20:14
Спасибо за помощь, всем кто откликнулся на мой вопрос. Истина уже где то рядом :)

MrSmeet
05.05.2017
16:22:04

Влад
05.05.2017
17:05:18
а как проще всего сделать кольцевой буфер?
мне приходит по одному символу строка без разделителей и символов конца строки, и я хочу не глядя запихивать ее в такой буфер, а потом регуляркой проверять, а не подходит ли под нее содержимое буфера — не набралась ли там строка полностью

Google

Влад
05.05.2017
17:09:47
а, стоп, мне не нужен кольцевой. пусть с конца они пропадают

The Dude
05.05.2017
17:12:19

Рома
05.05.2017
19:20:26
Можешь материал мне найти, пожалуйста, попробовать хочется. Гугл выдает lua vm in browser - да нуу, vm туда тащить, а чтобы скомпилировать с полной оптимизацией?
мне кажется, что вебассамбли новая эра кококо пиши на чем хочешь - только на словах, а на деле с ним дружит си и плюсы

The Dude
05.05.2017
19:24:15

Рома
05.05.2017
19:25:26
Спасибо, значит lua -> llvm -> браузер! тогда супер

The Dude
05.05.2017
19:25:52
Нет.

Рома
05.05.2017
19:26:18
нет?
а как

Admin
ERROR: S client not available

The Dude
05.05.2017
19:27:15
Необязательно llvm.

Рома
05.05.2017
19:27:23
я зашел на гитхаб emacripten, там написано Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode. Луа в этот биткод можно превратить, профит?

The Dude
05.05.2017
19:27:26
Это все щас одна большая альфа.

Чай
05.05.2017
19:39:59

Рома
05.05.2017
19:53:39
есть даже линунс js, туда можно установить хоть lua, хоть хаскел, но в зачем?

The Dude
05.05.2017
19:54:26
Можешь материал мне найти, пожалуйста, попробовать хочется. Гугл выдает lua vm in browser - да нуу, vm туда тащить, а чтобы скомпилировать с полной оптимизацией?

Чай
05.05.2017
20:05:13
Как зачем? Чтобы страдать.

Vadim
06.05.2017
01:43:40
The birth and death of Javascript, humor, 30min: https://vk.com/video3209020_168239546
Это на тему "можно". У меня на современный веб складывается взгляд, что они все мазохисты, так что подойдет :)

Рома
07.05.2017
12:52:52
То что lua_json нынче отвалился - стало последней каплей, и я вознамерился сделать ещё один json, будет быстрее и правильнее.
Тут много сишников и плюсеров, можете с одним нубским вопросом по си помочь?

Alex Фэils?︙
07.05.2017
12:54:16
что по си? (Если что, то есть чат #supapro )

Google

Рома
07.05.2017
12:57:40
есть строка!
const char *data
lua_pushlstring(l, data, 3); // печатае первые 3 буквы
data++; // тут магия си! не знаю, как это происходит, но строка сдвигается!
lua_pushlstring(l, data, 1); // теперь это вторая буква
static void fn(const char *data) {
data++;
}
Как послать data в эту функцию так, чтобы строка после вызова сдвинулась?
ребят?

Волчик
07.05.2017
13:23:48
char **data
ну и передавать надо &data

Рома
07.05.2017
13:24:30
я разные звездочки пробовал

Волчик
07.05.2017
13:24:59
fn(&data)
{
*data++;
}

Roman
07.05.2017
13:26:02
Рома https://www.tutorialspoint.com/cprogramming/c_pointer_arithmetic.htm
магия...
если вдруг заметил за собой, что подбираешь синтаксис, значит не понимаешь сути. Срочно бросай всё и читай мануал

Рома
07.05.2017
13:27:13
static void fn(const char **data) {
*data++;
}
другая_функция {
fn(&data);
дальше все равно печается с первого символа
}

Волчик
07.05.2017
13:27:36
а где объявление data?

Рома
07.05.2017
13:27:48
static int decode(lua_State *l)
{
const char *data;
size_t json_len;
data = luaL_checklstring(l, 1, &json_len);
fn(&data);
lua_pushlstring(l, data, 3);
return 1;
}

Волчик
07.05.2017
13:28:45
а бля
(*data)++

Рома
07.05.2017
13:30:01
получилось, спасиббо-спасибо-спасибо!
Роман Шакал, полностью согласен, что надо не брутфорсить синтаксис, а читать K&R и другие вещи, только это не у всех работает так. Я читал K&R год назад, не осилил, все забыл, решил ещё годик с си не связываться. И совсем другое дело, если пишешь рабочий код, кое-что угадываешь, и это по-моему лучше всякой книги, концепции сами собой расширяют сознание

Волчик
07.05.2017
13:35:10
в сишке указатели это базис. то, что используется везде постоянно. если ты будешь на ней код писать/читать, то без понимания, как это работает, ты и 10 строчек не осилишь

Рома
07.05.2017
13:38:45
или другой вариант - угадывать синтаксис и запоминать как оно работает, а как не работает =)
шучу, конечно, си в моей очереди на прочтение

Vlad
07.05.2017
23:59:42
хто шо по планировщикам может рассказать?
какие программы или ресурсы для составления планов и мониторинга этапов исполнения, прогресса и такие все вещи знает?
слышал только что то типа trello но сам его не использовал
Алексей взываю к тебе
#мумрикпридиответпринеси