Email or username:

Password:

Forgot your password?
Ambassador Tablicek

А можно мне зарплату повысить, если я достиг уровня, когда нагрузочными тестами могу на графике потребления памяти рисовать котиков?

13 comments
Шуро
Повысить нет, но можно нарисовать котика на графике годовых выплат :))
cauf 🇷🇺

@strizhechenko Недавно сравнивали уровень потребления одной ноды питонячьих сервисов и одной ноды рубишной (у нас руби почему-то преобладает в компании как основной яп для бека). Так вот, числа в графиках одинаковые. Но на рубишном нет точек

[DATA EXPUNGED]
cauf 🇷🇺

@strizhechenko ТЫ НЕ ПОНЯЛ!!! Там буквально, числа те же, а чифры на порядок выше.

573МВ
575МВ
578МВ
580МВ

[DATA EXPUNGED]
cauf 🇷🇺

@strizhechenko Лично я - нет. Не мой же стек. А рубистам норм. У них есть сервисы, которые по 1.5гб оперативы выжирают или вообще текут по памяти и требуют перезапуска раз в час, если ООМ-киллер не пришел их навестить.

[DATA EXPUNGED]
cauf 🇷🇺

@strizhechenko

> звучит как будто они говноеды

Ты по-моему плохо прочел мое сообщение. Я ж писал выше, что они рубисты

[DATA EXPUNGED]
cauf 🇷🇺

@strizhechenko Бля, у них не все команды левоассоциативны! Язык с такой кривой семантикой не может быть нормальным по определению.

Например, угадай, как работает вот такая конструкция

1. return var_1 if var_1 is not nil else var_2 = method()
2. if var_2 > 3:
3. return somebody()

Это не совсем настоящий рубикод, скорее питонизированный псевдокод, но кусок наподобие я видел в их проекте

[DATA EXPUNGED]
cauf 🇷🇺 replied to DELETED

@strizhechenko Да ты не понял. Суть в количестве переменных, а в том, что конструкция в первой строне правоассоциативна! То есть у них не return создает контекст верхнего уровня для всей строки, как в питоне, по сути выполняясь вот так

return (var_1 if var_1 is not nil else var_2 = method())

а, тернарник, создавая две альтернативных ветки выполнения - с возвратом и с присвоением

(return var_1) if var_1 is not nil else (var_2 = method())

по пути обходя возврат по негативной ветке и продолжая выполнять код дальше. В питоне строки 2 и 3 были бы дедкодом и никогда не выполнялись бы

@strizhechenko Да ты не понял. Суть в количестве переменных, а в том, что конструкция в первой строне правоассоциативна! То есть у них не return создает контекст верхнего уровня для всей строки, как в питоне, по сути выполняясь вот так

return (var_1 if var_1 is not nil else var_2 = method())

а, тернарник, создавая две альтернативных ветки выполнения - с возвратом и с присвоением

cauf 🇷🇺

@strizhechenko Кстати, это обычный жирный микросервис. Вернее слегка подмоноличенный микросервис. Огромная стейтмашина, сильно обвешанная биднеслогикой без декомпозиции на какое-либо понятие доменов. На тактическом уровне там конечно декомпозировано на классы, но разработчики месяцами разбираются в этом проекте.

Шуро
Охуительный микросервис, прямо по одному абзацу чувствуется :)
cauf 🇷🇺

@shuro @strizhechenko Ты, кажется, начинаешь проникаться вайбами нашей разработки

[DATA EXPUNGED]
cauf 🇷🇺 replied to DELETED

@strizhechenko @shuro Не думал к нам на работу перейти???

kurator88

@strizhechenko @cauf если я правильно помню то из всех java gc только один умел память в систему возвращать.

Кушать 30гб для некоторых очень очень очень очень больших работ нормально, не нормально потом память держать.

Go Up