Pavel
🐅🤦♂️
Anton
Serezha
На самом деле когда ты поднялся на вершину у тебя уже мало пространства для маневра
Snusmumriken
Snusmumriken
Серёжк, меня чот задолбал твой выпендрёж на каждый чих, особенно, что угодно связанное с работой и с зарплатой, а так же "какие технологии должны использовать все интырпрайзы", а ещё "как все должны жить и работать". Как будто ты самый умный, чесслово : )
Вот что ни сообщение — то выпендрёж, очень противно.
Pavel
Потому, что ему нравится работа, его устраивает оплата, он развивается?
нууу.....ХЗ.....3 года ты работаешщь в конторе над продуктом. Через три года объем нового становится достаточно малым.
И либо у тебя постоянго растет зона отвественности и компетенция (и это круто, и это причина оставаться...)
Либо ты начинаешь сидеть на игле стабильности и зарастать мзом
Pavel
в любом случае - активное развитие заканчивается еще году на втором.
Serezha
Pavel
Вще всего, конечно
Pavel
Pavel
Serezha
Pavel
я тоже могу сказать - не ходите в сбертех. мхом зарастете
Pavel
Но это чисто мое мнение + мини наброс на подискутировать-)
Serezha
а что есть вершина?
Из условного Яндекса или Мейла или Авито сложно уйти - выбор адекватных предложений по зарплате и условиям и проектам резко сужается в России
Pavel
Pavel
Pavel
ozon? lamoda? wildberries? profi? badoo?
Pavel
Serezha
Pavel
ну и ...10 компаний.... по 3 года в каждой это 30 лет
Serezha
Pavel
Serezha
Pavel
Ну и прогеру зарастать мхом - смерти подобно
Serezha
Pavel
Roman
Artem
быстрая, гибкая, удобная(имхо), мне помогла посмотреть на подход к написанию кода под другим углом
Artem
я изначально был C/C++ разработчиком, поэтому это тоже наложило свой отпечаток на коде(покрайней мере мне так сказали)
Egor
Приветы. А на луа есть что-то подобное
function myFN(var1=1, var2=2, var3=3) ... end
myFN(var3=10)
?
Pavel
Snusmumriken
Тут используется прекол, благодаря которому вызов функций со строкой или с таблицей не требует лишних скобок, если что.
Egor
Pavel
Max
В других скриптовых языках (например, руби) именованные аргументы сделаны через хэш-таблицу + сахар. И в руби почему-то создание лишней таблички никого не заботит 🤷♂
Egor
Pavel
Pavel
Именованые аргументы конечно удобно.. Но если у тебя 3-4 аргумента то и позиционно удобно
Pavel
А если больше - повод подумать а все ли ты делаешь правильно
Snusmumriken
Ну в целом, это нормальный подход, если аргументов действительно много и они могут переиспользоваться. Ну там:
local req = {
url = "http://yo.ru/request?bla=blabla",
method = "POST",
body = "bla=bla&blabla=bla",
proxy = "bla:blala@bla.ru:8080"
}
local res1 = http.request(req)
req.url = "http://yo.ru/result"
req.method, req.body = "GET"
local res2 = http.request(req)
Отслеживать всякую фигню становится чуть сложнее, но конкретно в хттп, не надо перезаполнять всякие прокси, например.
Roman
Anonymous
Почему не заботит
Anonymous
Не все же руби программисты работают в бодишопах
Anonymous
В рейлс шопах т.е.
Anton
Ну... Скорость против... Даже не знаю чего...
...против удобства и выразительности?
Кажется, истина в компромиссе, есть обоснованные случаи использования для обоих подходов.
Небольшой бонус для пользователей луаджита в том, что таблички, создаваемые в горячем коде, могут вообще не создаваться за счёт allocation sinking’а (а могут и создаваться — тут уж как повезёт в каждом отдельном случае).
Anton
Ну и отдельно замечу, что создание таблички вещь, безусловно, небесплатная, но вот прям уж performance killer’ом я бы ее не назвал.
Anonymous
Просто аллокация ничего не стоит кроме системного вызова
Anonymous
Использование стоит
Anonymous
А есть описание аллокейшн синкин в двух словах? Не охота читать
Anton
А есть описание аллокейшн синкин в двух словах? Не охота читать
...таблички, создаваемые в горячем коде, могут вообще не создаваться...
Собственно вот (не сочтите за издевательство).
Когда трасса готова, применяется несколькопроходное сканирование IR, которое помечает особым образом таблицы, созданные прямо на трассе. И во время исполнения машинного кода этих таблиц нет, сторов в них не происходит, лоады форвардятся из их оригинальных мест.
И только если в момент выхода с трассы таблица нужна, она досоздается и подсовывается интерпретатору – мол, все как и заказывали, без фокусов.
Snusmumriken
Anton
...таблички, создаваемые в горячем коде, могут вообще не создаваться...
Собственно вот (не сочтите за издевательство).
Когда трасса готова, применяется несколькопроходное сканирование IR, которое помечает особым образом таблицы, созданные прямо на трассе. И во время исполнения машинного кода этих таблиц нет, сторов в них не происходит, лоады форвардятся из их оригинальных мест.
И только если в момент выхода с трассы таблица нужна, она досоздается и подсовывается интерпретатору – мол, все как и заказывали, без фокусов.
...а если в момент выхода табличка не нужна, то и фиг с ней, останется «мнимой».
Snusmumriken
Но это только если jit включен и трасса таки разогрета, разогревается она сравнительно долго, помнится около 500к дёрганий за сравнительно небольшой промежуток времени, плюс создание таблички внутри какой-то функции, которая дёргается из разных мест — не даёт создать трассу. Функция ~= трасса, цикл тоже ~= трасса. Трасса это трасса.
Anonymous
Спасибо за объяснение
Anton
Anton
Snusmumriken
Serezha
именованные аргументы же можно на этапе парсинга правильно перепозиционировать в вызов функции без всяких накладных расходов во время исполнения или я чего то не понимаю
Anonymous
В бестиповых языках нет
Anonymous
У тебя по именованному аргументу может передаваться как объект так и число
Anonymous
А хотя нет, другая причина
Andrey
А расскажите про luakit это браузер или это какая то поделка ? И если браузер как его ставить на убунту ? Вчера курил мануал так и не понял механизм инсталляции
Igor
luakit, да, это браузер, у него бинарников своих вроде не поставляется вообще, нужно из исходников компилить
Igor
давно уже его не использовал, может уже дают бинарники прекомпильнутые для некоторых систем
Igor
но проще самому собрать его
Igor
Пытался с ним что-то прикольное сделать несколько лет назад, но он оказался не таким вкусным, каким показался изначально
Anonymous
А что хотел сделать?