Рубрика «Программирование» - 11

Почему у нас нет кешей L5? - 1

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

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

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

Далее подробно рассмотрены факторы, влияющие на трудоёмкость осмысления знаков, а именно:

  • проговариваемый знак или разделительный;

  • относительное расположение знака;

  • нагруженность знака и его расположения;

  • таблица приоритетов операций, обозначаемых знаками;

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

Почему первый вызов моей malloc всегда аллоцирует 72 КБ? - 1

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

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

В центре всего стоит UX (User Experience).

Все говорят про UX.

UX - это святое.

UX - это цель.

UX - это путь.

Да и, в конце-то концов, UX - это то, за что мы платим (или не совсем) деньги и прощаем недостатки.

Но, если копнуть глубже, возникает вопрос: «А из чего, собственно, состоит UX?»
Ответы обычно примитивны: из интерфейса, удобства, скорости, привычности. Но, чувствуете, чего‑то не хватает? Есть системы с красивым интерфейсом, которые бесят. Есть и такие, «некрасивые», к которым возвращаешься снова и снова.

Небольшое лирическое отступление

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

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень) и алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я начал серию статей, которая раскрывала много интересных моментов — от математических алгоритмов и оптимизации до ГПСЧ.

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

Писать код проще, чем книгу о том, как писать код - 1

Иногда книга начинается с одной статьи, опубликованной в нужный момент и в нужном Хабре и в моём случае всё действительно началось с публикации про аллокаторыЧитать полностью »

Это история о том, как желание просто проверить, жив ли мой блог, привело к трём дням танцев с бубном вокруг SSL-сертификата, а затем — к созданию собственного сервиса мониторинга, который теперь используют сотни разработчиков. Расскажу, почему существующие решения перестали устраивать, как мы реализовали поддержку UDP и ICMP в облаке и почему мониторинг должен быть «скучным».

Предыстория: как я стал сисадмином мониторинга

Год назад у меня была простая задача: настроить уведомления о падении личного блога и API пары пет-проектов. Думал, уложусь в 15 минут.

Спойлер: не уложился.

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

Введение: Когда простота становится стратегией

В эпоху бурного развития генеративного искусственного интеллекта разработчики, дизайнеры и создатели контента сталкиваются с парадоксальной проблемой: несмотря на доступность мощных моделей вроде Stable Diffusion и больших языковых моделей через KoboldCpp, процесс создания воспроизводимых, автоматизированных пайплайнов остается удивительно сложным. Традиционные подходы требуют написания десятков строк шаблонного кода для обработки HTTP-запросов, парсинга JSON-ответов, управления файлами и постобработки результатов. Именно эту проблему решает ZatorЧитать полностью »


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