Saphire
...ох бл
Artem
s:gsub('"0x(%x*)"', "0x%1"):lower() вот так как-то лаконичнее
Saphire
Не
Artem
да
Artem
%x: represents all hexadecimal digits.
Saphire
Мило
Saphire
...а разве жисон позволяет цифры хранить прямо в хекс формате?
Saphire
Вроде нет
Lucky
mva
только не символов, а байтов
Snusmumriken
http://uguu.org/sources.html Не луа, правда, но тем не менее.
Lucky
https://4pda.ru/forum/index.php?showtopic=942448
Lucky
новый лаунчер движка Instead для зелёного робота
Mikhail
Всем привет. Есть внятные ТЕКСТОВЫЕ ресурсы по новому Roblox Studio (Lua) ? https://www.youtube.com/watch?v=bLYBJwxNZtM
mva
Всем привет. Есть внятные ТЕКСТОВЫЕ ресурсы по новому Roblox Studio (Lua) ? https://www.youtube.com/watch?v=bLYBJwxNZtM
так если ты готовишь обучающие видео (которые, вроде как, выглядят крайне хорошими, но, правда, в деле, на своих детях, я пока не проверял, ибо в 5 мегаметрах от них), не лучше ли ТЕБЕ делать и хорошие текстовые? Не? :)
Mikhail
спасибо не.... мне чужие текстовые бы очень помогли. Сэкономили время, я б мог бы их советовать. у меня это ж хобби, а не работа.
Artem
может кто сталкивался или у кого-нить есть идеи вводные данные: есть транзакции, каждая транзакция имеет свой уникальный hash (256 бит) и идентификатор (64 бита) под одним идентификатором могут проходить минимум 2 транзакции задача: построить индекс для максимально быстрого поиска транзакций по идентифиактору транзакций в общей сложности может быть и миллиард (что составляет уже порядка 37 Гб информации)
Snusmumriken
Хмм, вроде для решения такого есть базы данных : ) Или тебе такое в текстовый файл надо записывать?
Artem
да вот БД не хотелось бы подключать на этом моменте
Artem
боюсь в ней это из 37 Гб превратится в 370 Гб
Snusmumriken
да вот БД не хотелось бы подключать на этом моменте
Хех, изи: берёшь какую-нибудь хеш-функцию на миллион возможных значений. На каждое значение — создаёшь отдельный файлик. При добавлении новой записи — хешируешь ID и записываешь в соответствующий файлик. При поиске — перебираешь ~1000 значений из файлика, это быстро )) Дополнительная плюшка: файлы человекочитаемы, открываются любым редактором ибо небольшого размера. Минусы: смотреть лог транзакций по временнОму промежутку сложнее.
Snusmumriken
СЕРВЕРНАЯ ГЕЙМДЕВ ВАКАНСИЯ (отмодерированная) Вакансия ведущего геймдев бэкенд-разработчика игровой механики (Lua) "Gaming Sense" (бывш MRG, спонсируемся mail.ru). Задачи: игровая логика на языке Lua, и админские интерфейсы на PHP. Игровые клиенты на Unity, поэтому желательно отдалённо представлять что это такое. Пишем логику на кастомном C++ сервере который вывешивает в луа сеть, бд и кой чего по мелочи, архитектурим логику и апи, мутим базы, пишем доки. Требования: хорошо знать MySQL, уметь писать на PHP и Lua (или желание освоить Lua). Условия: 5/2 10-18, белая зп 150-200к, офис рядом с м.Дмитровская, помощь с переездом из других городов, карьера-развитие. Для связи пишите @ooprizrakoo или naumenko@corp.mail.ru
Saphire
...я уж готова была пинговать @Snusmumriken
Saphire
А это он и был
Snusmumriken
...я уж готова была пинговать @Snusmumriken
Модераторский произвол. Снус счёл вакансию ничо так, и сам бы пошёл, не будь он зажравшимся злодеем, сидящим дома 3/4.
Saphire
Конечно интересно было бы самой потыкать.
Saphire
Но 8часовой рабочий день...
Saphire
Гм.
Snusmumriken
Но 8часовой рабочий день...
Тут объём работы приличный, так что не удивительно. А нанимать двоих на пол ставки — страшное дело, разработают комитетом, и не будут полностью включаться в процесс за счёт продолжительных пауз между работой.
Saphire
Хотя я уже насиживаюсь на C# порт одной веселой серверной штуки... Но с другой стороны "помощь с переездом" звучит заманчиво. Но таки гвоздь последний состоит в "мейл.ру". Ибо нет сильно гарантий насчёт того, что через месяц это всё не исчезнет.
Artem
а зачем им админские интерфейсы на пыхе? можно же было openresty тот же использовать и нормально написать api-centric
Saphire
Наоборот, он её вывесил/перепостил
Pavel
Я как раз с их HR как-то беседовал. (недавно) как раз мне эту вакансию предлагали по деньгам обещали 150 - 200К Если что
Pavel
У самого когда-то бек на луа, фронт на пыхе. и нормально. оно другого не аффектит. деплоится раздельно. Либ под пыху больше.
Saphire
Я как раз с их HR как-то беседовал. (недавно) как раз мне эту вакансию предлагали по деньгам обещали 150 - 200К Если что
Условия: 5/2 10-18, белая зп 150-200к, офис рядом с м.Дмитровская, помощь с переездом из других городов, карьера-развитие. Ну так и в посте, к счастью Интересно, за сколько минут пошлют нафиг без вышки?
Pavel
точно_)
Pavel
Насколько знаю - вышка пофиг_)
Snusmumriken
Архитектурам в вузах не учат (( Разве что иногда — организовывать БД, но не объясняют почему так а не иначе, а ля "есть только один способ это организовать, мой и неправильный".
Pavel
черт_) сам с собой говорю
Pavel
Архитектурам в вузах не учат (( Разве что иногда — организовывать БД, но не объясняют почему так а не иначе, а ля "есть только один способ это организовать, мой и неправильный".
в вузах вообще мало полезного. главное от вуза - это научить мыслить правильными категориями. Не бояться стращных слов и компуктеров И попадание в тусовку
Saphire
Чиркануть что-ли? Сыкуль и так приходится ковырять...
Snusmumriken
в вузах вообще мало полезного. главное от вуза - это научить мыслить правильными категориями. Не бояться стращных слов и компуктеров И попадание в тусовку
Помнится, главное от вуза — знакомства и/или пинок под зад в сторону мотивации, и море свободного времени на самообучение, конечно.
Pavel
Чиркануть что-ли? Сыкуль и так приходится ковырять...
а что теряешь? билет на собес тебе даже оплатят
Snusmumriken
Море свободного времени - это ещё спорно.
Я сделал так чтобы было море свободного времени : ) Достаточно было поступить на непрофильный вузовский факультет. Совершенно осознанный выбор!
Snusmumriken
Кстати, если кто-то активно юзает nginx/openresty — накатал скрипт, который автоматически перезагружает nginx.conf и попутно читает логи. http://37.204.3.109:8080/drive/soft/reloader.zip Тут экзешник — мод интерпретатора, который запускает main.lua в той же директории. Сама фигня — под венду, но легко модифицируется под линексы.
Snusmumriken
Бро, а можно как нибудь без перезагрузки nginx.conf? это капец какая вредная процедура для большинства проектов
Перезагрузка nginx.conf без перезагрузки nginx.conf? 1. Оно рассчитано на разработку. На проде обычно не нужно перезагружать конфиг. Ну и докучи, пока нет правок — оно не перезагружается, поэтому просто пореже правь : ) 2. Если нужно читать логи — tailf *.log, лог-фича тулзы — вторична по сравнению с перезагрузкой конфига, есть альтернативы.
Maxim
Перезагрузка nginx.conf без перезагрузки nginx.conf? 1. Оно рассчитано на разработку. На проде обычно не нужно перезагружать конфиг. Ну и докучи, пока нет правок — оно не перезагружается, поэтому просто пореже правь : ) 2. Если нужно читать логи — tailf *.log, лог-фича тулзы — вторична по сравнению с перезагрузкой конфига, есть альтернативы.
Для разработки перезагрузка конфишурации nginx является нормой - соглашусь по всем пунктам. Я наверное не совсем правильно понял решаемую задачу данным скриптом, так как не знаком с windows и не понимаю что за dll файлы в комплекте, может в мире windows это очень полезная штука. А вот за проекты могу сказать что перезагрузки nginx крайне плохо сказываются на здоровье тех кто перезагружает боевые nginx )
Maxim
у нас OpenResty и Nginx используются в полный рост и все конфигурации сделаны таким образом что нет необходимости их перезагружать
Snusmumriken
Для разработки перезагрузка конфишурации nginx является нормой - соглашусь по всем пунктам. Я наверное не совсем правильно понял решаемую задачу данным скриптом, так как не знаком с windows и не понимаю что за dll файлы в комплекте, может в мире windows это очень полезная штука. А вот за проекты могу сказать что перезагрузки nginx крайне плохо сказываются на здоровье тех кто перезагружает боевые nginx )
Нет, "длл" и "мир виндовс" ни на что не влияют. В мире линукса точно так же в процессе разработки надо регулярно перезагружать конфиг на изменениях, и эту задачу данный скрипт, с небольшой модификацией (sleep), так же может исполнять. Да, при этом очищается кеш. Да, это не для прода.
Maxim
Нет, "длл" и "мир виндовс" ни на что не влияют. В мире линукса точно так же в процессе разработки надо регулярно перезагружать конфиг на изменениях, и эту задачу данный скрипт, с небольшой модификацией (sleep), так же может исполнять. Да, при этом очищается кеш. Да, это не для прода.
так точно, в dev окружении мы обязаны иметь возможность рестартануть Nginx или OpenResty для применения изменений, без этого никуда, это же разработка ) Но вот sleep - реально удивил, ни разу не использовал
Snusmumriken
Слип можно из сокета выдрать, там то же самое но на сишной стороне. Ну типа: local sleep = require'socket'.sleep
Maxim
Слип можно из сокета выдрать, там то же самое но на сишной стороне. Ну типа: local sleep = require'socket'.sleep
а какую роль он выполняет в твоем скрипте? этот sleep я все время избегал использование sleep и пытался использовать все что угодно кроме sleep
Maxim
Ну типа если без слипа пытаться читать файлы — скрипт жрёт 100% процессора.
эвонокак. не знал. а пытался использовать симафор с корутинами в место sleep?
Egor
€l
Maxim
€l
Как вам мануал? Получилось уделить время на чтение? )
Snusmumriken
эвонокак. не знал. а пытался использовать симафор с корутинами в место sleep?
Дык ты мутил в кастомном приложении. У тебя семафоры работали слипом, у них внутри вызывался сишный слип или аналог, плюс при обработке пулов потоков используются слипы. Карочи, это всё "не чистая луа". А я в своё время на чистых луях делал что-то такое: function sleep(sec) local t = os.time() + sec while os.time() < t do end end И оно жрало целое ядро проца, потому что ОС не знает что приложению в это время можно не выделять процессорное время : ) А надо-то просто вызывать системную функцию, которая запаузит исполнение.
Maxim
x = coroutine.yield(step)
Maxim
или я вообще не о том и мимо?
Snusmumriken
yield и ожидание — ожидание тут — это sleep? Или типа function foo() bla-bla coroutine.yield() bla-bla-bla return 'ok' end local co = coroutine.new(foo) local res while res ~= 'ok' do res = coroutine.resume(co) -- sleep? end Если в "ожидании" есть кастомный слип то всё ок. Если это просто цикл — нет, оно работает "на пределе возможностей", даже если об этом не просили.
Snusmumriken
Особенно весело, например, с http-запросами: проц бешено работает, каждые пол наносекунды проверяет, пришло ли чего. Вместо того чтобы добавить паузу в одну сотую секунды, и проверять в миллиард раз реже но с почти тем же результатом.
Snusmumriken
да, скорее всего ожидание это функция что проверяет что либо и пока не получит положительный ответ не позволяет идти дальше но и не блокирует процесс или не завершает ошибкой
А в этой "проверке на положительный ответ" есть паузы? : ) Или оно проверяет с предельной скоростью, каждые две наносекунды, выполняя миллиард лишней работы?
Snusmumriken
в этой проверке есть параметр когда можно делать проверку, но нет команды sleep
Вот. Поэтому задача — получить слип, который будет именно говорить операционной системе что "приложение пора усыплять" и процу пора простаивать. Я у себя на работе успел поучаствовать в цирке, когда чей-то набор луёвых скрипто-сервисов без слипа на куче серверов перегрузил электросеть )) Выбило пробки, всё упало нафиг.
Snusmumriken
На линуксе перезагрузка не занимает больше пары секунд..
Но кеш нгинкса таки очищается, если часто перезагружать — производительность падает в ~тысячу раз, пока ещё кеш разогреется.
Saphire
Но у нас же не прода.