Рубрика «сложность»

В книге «Законы простоты » Джона Маэда (из MIT) предлагает десять законов для баланса простоты и сложности в бизнесе, технологиях и дизайне — руководящие принципы для того, чтобы нуждаться в меньшем и на самом деле получать больше.

Законы простоты охватывают пересечение дизайна, технологий и бизнеса. Они предлагают десять руководящих принципов для проектирования более простых систем.

Читать полностью »

Ничто в космосе не находится в равновесии, а значит, энтропия растёт

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

Читать полностью »

Что объединяет финансовые крахи, эпидемии, землетрясения и падения великих империй? На первый взгляд, это абсолютно разные явления. Но американский физик, бывший редактор журналов Nature и New Scientist, лауреат Премии Лагранжа в области науки о сложности и один из ведущих мыслителей на стыке физики, биологии, социальных наук и истории Марк Бьюкенен обнаружил удивительную закономерность: в основе самых разных катастроф лежит единый фундаментальный механизм.

Мы привыкли думать, что катастрофы — это сбои, нарушения естественного порядка вещей. Но книга Марка Бьюкенена «Ubiquity» («Вездесущность») утверждает обратное. Читать полностью »

Разработка программного обеспечения — это не только процесс создания кода, но и его сопровождение. Чем сложнее код, тем дороже его поддержка, выше вероятность ошибок и дольше адаптация новых разработчиков. Один из ключевых факторов, влияющих на сложность кода, — это именования и контекст, который они несут. Помимо этого, выбранная парадигма программирования также влияет на читаемость и понятность кода. В этой статье я хотел показать, как правильно выбирать имена, как контекст упрощает понимание и какие различия в управлении сложностью между функциональным и объектно-ориентированным стилями программирования.

Читать полностью »

Существует специфический «эффект Makefile», напоминающий такие феномены как карго-культы, нормализация отклонений, «нечитабельный язык» и т.д. В этой статье я берусь утверждать, что Makefile — явление того же порядка, с той оговоркой, что он немного отличается от вышеперечисленных феноменов. Makefile не является по сути своей неэффективным или плохим и сказывается на результатах проектирования лишь в некоторых ситуациях.

Не могу подобрать идеальногоЧитать полностью »

Советы по программированию, которые бы я дал себе 15 лет назад - 1

У меня наконец-то появилось ощущение, что я хороший программист, поэтому было бы неплохо записать советы вида «как бы я смог добиться этого быстрее?». Не буду утверждать, что все эти советы отлично подойдут всем, но для меня они были бы хорошими.

▍ Если ты (или твоя команда) постоянно стреляешь себе в ногу, то почини ружьё

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

Когда я занимался разработкой для iOS, то использовал CoreData и подписывался на изменения нескольких view. Обратный вызов подписки поступал в тот же поток, из которого было запущено изменение. Иногда это был основной поток, а иногда — фоновый. В разработке для iOS важно то, что вносить изменения в UI можно только в основном потоке, иначе приложение вылетит. Поэтому подписка могла работать нормально, но потом ломалась, когда кто-то запускал изменение из фонового потока или вы позже добавляли обновление UI.

Все без раздумий воспринимали это как что-то само собой разумеющееся, и об этом часто говорили в ревью для новичков в команде. Время от времени кто-нибудь ошибался, и мы добавляли DispatchQueue.main.async, когда видели отчёт о сбое.

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

Что видит мой лаптоп, когда я пытаюсь установить на него Postman.

Что видит мой лаптоп, когда я пытаюсь установить на него Postman.

Читать полностью »

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

Если вам недосуг смотреть видео, под спойлером — суть проблемы. 

Восхитительная история

Достоевский дал миру Великого Инквизитора с его «зачем же ты пришел нам мешать?».
Ильф и Петров — Великого Комбинатора.
Та эпоха уже закончилась, эта — еще не началась.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js