Pull to refresh
52
0
Николай Климов @myxo

Ленивый энтузиаст.

Send message
  • Полная реализация модулей (никаких заглушек или TODO без веских причин).  

  • Пример как делать можно: TODO - добавить пример из интернета

Спасибо, поржал =)

Если честно не понимаю почему столько желчи в комментариях. Неужели комментаторы действительно думают, что все должны знать весь пласт знаний человечества? В том числе в областях, которые не являются непосредственно твоей специализацией? Лично я о таком факте не знал. Спасибо авторам, теперь знаю.

Пожалуйста, не нужно гуглить эти упражнения и идти делать. Приседания и становая - крутые упражнения, но опасные, если делать неправильно. Если не знаете что это, нужно обязательно идти к тренеру (или делать более безопасные варианты в тренажере)

Базово он будет работать следующим образом: тестируемая функция превращается в корутину

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

Вообще возможен. Бывают ситуации когда контроллер диска багнутый или просто начинает врать что сделал fsync, хотя данные не записались (а потом машина рестартует и все теряется). Ну и конечно диск может побиться и возвращать любой мусор.


По идее серьезные распределенные базы должны быть готовы к такому сценарию и, например, реплицировать данные из памяти, а не с диска

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

А с чего вы взяли-то? Скорее всего 2 вариант будет ещё и медленнее просто потому-что сгенерируется в тысячу раз больше кода, который вылезет из всех кешей инструкций, что перекроет затраты на if, который отлично предсказывается в процессоре.


Производительность теоретически мерить очень сложно, всегда нужно смотреть бенчи

Однако Go не лишён своих ограничений. Отсутствие генериков <...>

Вы из какого года статью писали?

А почему фото на КДПВ из офиса вконтакте? ?

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

достаточно параметра уровня
А если при рефакторинге уберется / добавится цикл? С явными именами надежнее
Тоже об этом подумал, но… Обычно когда такие метрики стараются быть «умными», они только больше путают. Они ведь и так совсем не точные, а ещё будут скакать по каким-то неочевидным признакам. Имхо, лучше пусть будет прямая зависимость от кол-ва символов.
Могу посоветовать только замечательный канал www.youtube.com/c/3blue1brown

Вроде его автор в таком же стиле делал полноценный курс.
У меня, кстати, другие ощущения от п.2. Мне при обучении очень помогало чтение нескольких учебников. От корки до корки я их не читал, скорее если не было понятно доказательство какой-то теоремы, я смотрел как она доказывается одновременно в разных источниках. Все авторы смотрели на док-во чуть-чуть по другому и собирая эти разные стороны, мне было проще осознать суть теоремы.

ps. Но, как было указано в статье, очень важно убедится, что все определения соответствуют друг другу.
Я дочитал, но тоже не понял. Все-таки дебаты — довольно специфичная форма разговора с целью убедить третью сторону (по крайней мере я именно так это воспринимаю).

Думаете ли вы сейчас, что дебаты имеют хоть какую-то ценность, кроме тренировки политических выступлений? Или по-другому: вы бы проводили для студентов дебаты или лучше проводить какую-то другую форму разговора, например дискуссию?
Чем плох его список?

Тем что
1. в bool присваивается 0?
2. ну ладно, допустим это не с++, но тогда в указатель присваивается 0?
3. какие-то сокращения вместо имен. Зачем? Место экономим?
4. в одну строчку запиханы цикл, два тернарника и инкрементация с какой-то нетривиальной логикой. Опять же, зачем? Долго нужно думать над таким кодом

Скорее всего интервьюер просто понял, что не хочет такой код видеть на код ревью и поспешил закончить. В целом если речь про позицию джуна, то ошибки понятны и можно было бы дальше говорить. Но какой там был грейд, автор не сказал
Все по своему понимают что такое микросервис, числа могут сильно разнится. Например если мы хотим уменьшить их число вдвое, взяв ваши числа нужно (5 недель * 500) / 48 ~= 52 человекогода. Не каждый менеджер сможет доказать необходимость такой работы.

Нетфликс, кстати, в свое время оказались в подобной ситуации, но они все-таки сели все переписывать и в течении года у них практически никаких фичей не выходило
статью, которую теперь можно использовать как аргумент в будущих спорах — почему простые, но популярные сервисы нуждаются в своих 1000 микросервисах.
Но ведь на вопрос вы так и не ответили. Вы просто привели кучу функций (некоторые из которых вообще не относятся к инфре сайта), которые выполняет компания. Да, твиттер не просто api для базы данных, но тут даже если на каждую приведенную функцию сделать с десяток микросервисов, все равно число будет отличаться на порядок.

Я твитерскую внутреннюю кухню, конечно, не знаю, но обычно бывает так, что сайт приносит много денег, набирают большое количество программистов, которые пишут на разных стеках и соответственно приходится делать микросервисы. Через несколько лет это становится неподдерживаемым, но деваться некуда, рефакторить сложно (половина сервисов уже потеряла хозяев и никто не знает как они работают), причем чем дольше оттягивается, тем сложнее. Появляются дубликаты сервисов, которые «написаны правильно, в отличие от той фигни». При этом от старых что-то зависит, поэтому «объявим deprecated, через пару месяцев (хаха) довыпилим». Приходит следующее поколение и «хм, вроде все так делают, чем мы хуже?».

Вот лично я уверен, что большинство сервисов там — никому не нужное легаси. Просто ни у кого не было достаточно ресурсов, чтобы основательно это почистить. За рефакторинг же KPI не растет

ps.
можно отказаться от процесса «сбора логов и метрик» и полагаться на жалобы от пользователей в тех.поддержке
Я не сомневаюсь в ваших способностях по реверсу, но большой сайт вы явно не обслуживали. Метрики — это самое последнее что должно упасть. Пользователи могут страдать, но metrics must flow.
Что будет у меня не факт, что будет у вас.
Так у вас никто не просит гарантий что у всех всё станет быстрее. Но писать статью об оптимизациях без цифр — это что-то крайне странное. Откуда вы знаете, что там что-то соптимизирорвалось? Может наоборот медленнее стало (примеров замедляющих «оптимизаций» навалом). Апелляция к авторитетам («Думаю создатели PGO оптимизации и компании производители программного обеспечения не дураки») тут не работает
Трейлер крутой. Ритм в монтаже прям очень хороший получился. Ждем полнометражку!
1
23 ...

Information

Rating
Does not participate
Registered
Activity