Большой проект. Сложная система. Куча требований. Первое, что приходит в голову любому инженеру: "Надо декомпозировать!" Разложим по модулям, разделим на команды, каждый займется своим куском. Большую сложную задачу превратим в набор простых понятных подзадач. Так учат делать везде. Так делают все. Это основа основ. Но никто не говорит о том, что происходит дальше. Никто не предупреждает о скрытых ловушках, которые ждут на этом пути. А их там... много. Читать далее
Открылся предзаказ на книгу Дмитрия и Валерии Ильенковых «Не усложняй! Управление проектами по методу P3.express». Мы прочитали ее и делимся впечатлениями. Читать далее
Как Rust обманывает процессор. Часть 2: niche сквозь крейты, dropck, Pin и провенанс указателейВ первой части мы обсуждали niche-оптимизацию, drop flags, MIR, Stacked Borrows и async-стейт-машины. В комментариях справедливо заметили (спасибо, Mingun): про niche рассказано в простой форме - Option<&T> и NonZeroU8.А что…
В прошлой части мы рассмотрели общий подход к расчету эффективности алгоритмов с принципом "разделяй и властвуй", а также применение принципа к различным базовым алгоритмам. Сегодня поговорим о следующем приеме. Как известно, составная часть принципа, это поделить задачу на…