TypeScript на собеседовании: как рефакторить без лишнего риска
Полезный разбор для тех, кто готовится к интервью и хочет увереннее чувствовать себя в реальной разработке. В центре — практики, которые делают код проще и надёжнее: сужение типов, отказ от лишних аннотаций, защита данных от мутаций и переход от набора флагов к дискриминируемым объединениям.
Такой подход помогает не только отвечать на вопросы на собесе, но и спокойнее менять код в продакшене. А если интересен ещё и контекст того, как темы из IT расходятся по инфополю и соцсетям, иногда полезно заглядывать в разборы трендов и истории.
#TypeScript #рефакторинг #собеседование
Полезный разбор для тех, кто готовится к интервью и хочет увереннее чувствовать себя в реальной разработке. В центре — практики, которые делают код проще и надёжнее: сужение типов, отказ от лишних аннотаций, защита данных от мутаций и переход от набора флагов к дискриминируемым объединениям.
Такой подход помогает не только отвечать на вопросы на собесе, но и спокойнее менять код в продакшене. А если интересен ещё и контекст того, как темы из IT расходятся по инфополю и соцсетям, иногда полезно заглядывать в разборы трендов и истории.
#TypeScript #рефакторинг #собеседование
❤2👍2
Все пять safety-свойств Raft прошли — а две реплики всё равно разошлись
Реализацию Raft на TypeScript прогнали через сидированную симуляцию: каждый тик, задержка сообщения и падение узла жёстко задаются сидом. Это делает баги воспроизводимыми — запустил тот же сид и получил ту же картину.
И вот на двадцать пятом прогоне две реплики применили разные значения. При этом формально все правила алгоритма выполнялись — ни одно safety-свойство не нарушилось.
Самое любопытное тут не сам баг, а то, какая именно проверка его поймала. И вопрос, который из этого вырастает: а откуда вообще известно, что остальные проверки хоть на что-то смотрят, а не просто молча проходят?
Зелёные тесты — ещё не гарантия того, что они реально что-то тестируют
Подписывайся, чтобы не пропустить разборы багов и внутренностей распределённых систем — здесь выходит регулярно
#Raft #TypeScript #тестирование
Реализацию Raft на TypeScript прогнали через сидированную симуляцию: каждый тик, задержка сообщения и падение узла жёстко задаются сидом. Это делает баги воспроизводимыми — запустил тот же сид и получил ту же картину.
И вот на двадцать пятом прогоне две реплики применили разные значения. При этом формально все правила алгоритма выполнялись — ни одно safety-свойство не нарушилось.
Самое любопытное тут не сам баг, а то, какая именно проверка его поймала. И вопрос, который из этого вырастает: а откуда вообще известно, что остальные проверки хоть на что-то смотрят, а не просто молча проходят?
Зелёные тесты — ещё не гарантия того, что они реально что-то тестируют
Подписывайся, чтобы не пропустить разборы багов и внутренностей распределённых систем — здесь выходит регулярно
#Raft #TypeScript #тестирование
😁3❤2🎉2👍1