• Привет, Хабр. Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления. Зачем это надо? Рекурсия…

  • Однажды прораб обсуждал с потенциальным заказчиком ремонт небольшого дома. Владельца дома беспокоило, что стены накренились. Дом был сложен из кирпичей, кирпичные стены просто стояли на земле. По всему периметру дом укрепляли деревянные подпорки, но стены так и норовили обвалиться. — Ваш…

  • Самообразование — пожалуй, один из самых сложных путей и процессов для взрослого человека. Когда вокруг столько отвлекающих факторов, уже трудно заставить себя довести дело до конца (особенно если мотивация неочевидна). Но самообразование как эволюция — это неотъемлемый элемент жизни любого…

  • Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Пфф… Снова базы данных? В реляционной базе данных есть три основных отношения: Отношение «один-к-одному»; Отношение «один-ко-многим»; Отношение «многие-ко-многим». В этой статье мы будем разбираться с первым из них – отношением…

  • Мы провели исследование микроконтроллера Espressif ESP32 на предмет устойчивости к атакам, выполняемым методом внесения сбоев в работу чипов (Fault Injection). Мы постепенно шли к тому, чтобы найти уязвимости, которые позволят нам обойти механизмы защищённой загрузки (Secure Boot) и шифрования флеш-памяти…

  • Сама кража для хакеров из Пхеньяна – дело несложное. Другой вопрос – как потом получить реальные деньги. Много лет династия Ким из Северной Кореи получала деньги через незаконные схемы типа торговли наркотиками и подделки валют. За последнее десятилетие Пхеньян всё…

  • Традиционно системы хранения данных были и остаются одним из ключевых компонентов ИТ-инфраструктуры. Если вернуться в прошлое и посмотреть, как менялось представление о СХД, то можно проследить интересную тенденцию.

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

  • Вы наверняка уже использовали в своих проектах UUID и полагали, что они уникальны. Давайте рассмотрим основные аспекты реализации и разберёмся, почему UUID практически уникальны, поскольку существует мизерная возможность возникновения одинаковых значений. Современную реализацию UUID можно проследить до RFC 4122, в…

  • Всем привет. Эта статья о, в общем-то, хорошем приложении, которое своим примером иллюстрирует распространённую проблему дизайне интерфейсов — «красиво и неудобно». Ниже мы разберём самые заметные ошибки в дизайне мобильного Things, о которые я как пользователь спотыкаюсь постоянно. При этом…