Если честно не понимаю почему столько желчи в комментариях. Неужели комментаторы действительно думают, что все должны знать весь пласт знаний человечества? В том числе в областях, которые не являются непосредственно твоей специализацией? Лично я о таком факте не знал. Спасибо авторам, теперь знаю.
Пожалуйста, не нужно гуглить эти упражнения и идти делать. Приседания и становая - крутые упражнения, но опасные, если делать неправильно. Если не знаете что это, нужно обязательно идти к тренеру (или делать более безопасные варианты в тренажере)
Вообще возможен. Бывают ситуации когда контроллер диска багнутый или просто начинает врать что сделал fsync, хотя данные не записались (а потом машина рестартует и все теряется). Ну и конечно диск может побиться и возвращать любой мусор.
По идее серьезные распределенные базы должны быть готовы к такому сценарию и, например, реплицировать данные из памяти, а не с диска
А с чего вы взяли-то? Скорее всего 2 вариант будет ещё и медленнее просто потому-что сгенерируется в тысячу раз больше кода, который вылезет из всех кешей инструкций, что перекроет затраты на if, который отлично предсказывается в процессоре.
Производительность теоретически мерить очень сложно, всегда нужно смотреть бенчи
Но ведь это работает только если у всех абсолютно одинаковые ценности и цели в жизни. Человек, который хочет спокойно жить с семьей ожидает сильно другого отношения к себе, чем человек, который хочет попасть в Вальхаллу.
Тоже об этом подумал, но… Обычно когда такие метрики стараются быть «умными», они только больше путают. Они ведь и так совсем не точные, а ещё будут скакать по каким-то неочевидным признакам. Имхо, лучше пусть будет прямая зависимость от кол-ва символов.
У меня, кстати, другие ощущения от п.2. Мне при обучении очень помогало чтение нескольких учебников. От корки до корки я их не читал, скорее если не было понятно доказательство какой-то теоремы, я смотрел как она доказывается одновременно в разных источниках. Все авторы смотрели на док-во чуть-чуть по другому и собирая эти разные стороны, мне было проще осознать суть теоремы.
ps. Но, как было указано в статье, очень важно убедится, что все определения соответствуют друг другу.
Я дочитал, но тоже не понял. Все-таки дебаты — довольно специфичная форма разговора с целью убедить третью сторону (по крайней мере я именно так это воспринимаю).
Думаете ли вы сейчас, что дебаты имеют хоть какую-то ценность, кроме тренировки политических выступлений? Или по-другому: вы бы проводили для студентов дебаты или лучше проводить какую-то другую форму разговора, например дискуссию?
Тем что
1. в bool присваивается 0?
2. ну ладно, допустим это не с++, но тогда в указатель присваивается 0?
3. какие-то сокращения вместо имен. Зачем? Место экономим?
4. в одну строчку запиханы цикл, два тернарника и инкрементация с какой-то нетривиальной логикой. Опять же, зачем? Долго нужно думать над таким кодом
Скорее всего интервьюер просто понял, что не хочет такой код видеть на код ревью и поспешил закончить. В целом если речь про позицию джуна, то ошибки понятны и можно было бы дальше говорить. Но какой там был грейд, автор не сказал
Все по своему понимают что такое микросервис, числа могут сильно разнится. Например если мы хотим уменьшить их число вдвое, взяв ваши числа нужно (5 недель * 500) / 48 ~= 52 человекогода. Не каждый менеджер сможет доказать необходимость такой работы.
Нетфликс, кстати, в свое время оказались в подобной ситуации, но они все-таки сели все переписывать и в течении года у них практически никаких фичей не выходило
статью, которую теперь можно использовать как аргумент в будущих спорах — почему простые, но популярные сервисы нуждаются в своих 1000 микросервисах.
Но ведь на вопрос вы так и не ответили. Вы просто привели кучу функций (некоторые из которых вообще не относятся к инфре сайта), которые выполняет компания. Да, твиттер не просто api для базы данных, но тут даже если на каждую приведенную функцию сделать с десяток микросервисов, все равно число будет отличаться на порядок.
Я твитерскую внутреннюю кухню, конечно, не знаю, но обычно бывает так, что сайт приносит много денег, набирают большое количество программистов, которые пишут на разных стеках и соответственно приходится делать микросервисы. Через несколько лет это становится неподдерживаемым, но деваться некуда, рефакторить сложно (половина сервисов уже потеряла хозяев и никто не знает как они работают), причем чем дольше оттягивается, тем сложнее. Появляются дубликаты сервисов, которые «написаны правильно, в отличие от той фигни». При этом от старых что-то зависит, поэтому «объявим deprecated, через пару месяцев (хаха) довыпилим». Приходит следующее поколение и «хм, вроде все так делают, чем мы хуже?».
Вот лично я уверен, что большинство сервисов там — никому не нужное легаси. Просто ни у кого не было достаточно ресурсов, чтобы основательно это почистить. За рефакторинг же KPI не растет
ps.
можно отказаться от процесса «сбора логов и метрик» и полагаться на жалобы от пользователей в тех.поддержке
Я не сомневаюсь в ваших способностях по реверсу, но большой сайт вы явно не обслуживали. Метрики — это самое последнее что должно упасть. Пользователи могут страдать, но metrics must flow.
Так у вас никто не просит гарантий что у всех всё станет быстрее. Но писать статью об оптимизациях без цифр — это что-то крайне странное. Откуда вы знаете, что там что-то соптимизирорвалось? Может наоборот медленнее стало (примеров замедляющих «оптимизаций» навалом). Апелляция к авторитетам («Думаю создатели PGO оптимизации и компании производители программного обеспечения не дураки») тут не работает
Спасибо, поржал =)
Если честно не понимаю почему столько желчи в комментариях. Неужели комментаторы действительно думают, что все должны знать весь пласт знаний человечества? В том числе в областях, которые не являются непосредственно твоей специализацией? Лично я о таком факте не знал. Спасибо авторам, теперь знаю.
Пожалуйста, не нужно гуглить эти упражнения и идти делать. Приседания и становая - крутые упражнения, но опасные, если делать неправильно. Если не знаете что это, нужно обязательно идти к тренеру (или делать более безопасные варианты в тренажере)
Я правильно понял, что будет взят ассемблер и автоматически переписан так, чтобы получилась корутина? А что с вызовами функций?
Вообще возможен. Бывают ситуации когда контроллер диска багнутый или просто начинает врать что сделал fsync, хотя данные не записались (а потом машина рестартует и все теряется). Ну и конечно диск может побиться и возвращать любой мусор.
По идее серьезные распределенные базы должны быть готовы к такому сценарию и, например, реплицировать данные из памяти, а не с диска
Неужели разработчиков баз данных настолько много, что для них есть отдельная категория? Или имеется в виду не только непосредственная разработка баз?
А с чего вы взяли-то? Скорее всего 2 вариант будет ещё и медленнее просто потому-что сгенерируется в тысячу раз больше кода, который вылезет из всех кешей инструкций, что перекроет затраты на if, который отлично предсказывается в процессоре.
Производительность теоретически мерить очень сложно, всегда нужно смотреть бенчи
Вы из какого года статью писали?
А почему фото на КДПВ из офиса вконтакте? ?
Но ведь это работает только если у всех абсолютно одинаковые ценности и цели в жизни. Человек, который хочет спокойно жить с семьей ожидает сильно другого отношения к себе, чем человек, который хочет попасть в Вальхаллу.
Вроде его автор в таком же стиле делал полноценный курс.
ps. Но, как было указано в статье, очень важно убедится, что все определения соответствуют друг другу.
Думаете ли вы сейчас, что дебаты имеют хоть какую-то ценность, кроме тренировки политических выступлений? Или по-другому: вы бы проводили для студентов дебаты или лучше проводить какую-то другую форму разговора, например дискуссию?
Тем что
1. в bool присваивается 0?
2. ну ладно, допустим это не с++, но тогда в указатель присваивается 0?
3. какие-то сокращения вместо имен. Зачем? Место экономим?
4. в одну строчку запиханы цикл, два тернарника и инкрементация с какой-то нетривиальной логикой. Опять же, зачем? Долго нужно думать над таким кодом
Скорее всего интервьюер просто понял, что не хочет такой код видеть на код ревью и поспешил закончить. В целом если речь про позицию джуна, то ошибки понятны и можно было бы дальше говорить. Но какой там был грейд, автор не сказал
Нетфликс, кстати, в свое время оказались в подобной ситуации, но они все-таки сели все переписывать и в течении года у них практически никаких фичей не выходило
Я твитерскую внутреннюю кухню, конечно, не знаю, но обычно бывает так, что сайт приносит много денег, набирают большое количество программистов, которые пишут на разных стеках и соответственно приходится делать микросервисы. Через несколько лет это становится неподдерживаемым, но деваться некуда, рефакторить сложно (половина сервисов уже потеряла хозяев и никто не знает как они работают), причем чем дольше оттягивается, тем сложнее. Появляются дубликаты сервисов, которые «написаны правильно, в отличие от той фигни». При этом от старых что-то зависит, поэтому «объявим deprecated, через пару месяцев (хаха) довыпилим». Приходит следующее поколение и «хм, вроде все так делают, чем мы хуже?».
Вот лично я уверен, что большинство сервисов там — никому не нужное легаси. Просто ни у кого не было достаточно ресурсов, чтобы основательно это почистить. За рефакторинг же KPI не растет
ps. Я не сомневаюсь в ваших способностях по реверсу, но большой сайт вы явно не обслуживали. Метрики — это самое последнее что должно упасть. Пользователи могут страдать, но metrics must flow.