Всем известно, что преждевременная оптимизация — это плохо и надо себя одёргивать когда, возникает желание пооптимизировать не вовремя. Однако на практике чаще бывает ситуация когда естественное (и, возможно, интуитивно правильное) желание пооптимизировать подавляется по…
Непрерывный процесс получения и обработки обратной связи от пользователей, а также своевременная реакция на нее — ключ к успеху проекта. Такой процесс необходим при любых сценариях: будь то разработка ПО с нуля или улучшение уже существующего. Я хотела бы рассказать о том, как…
Организм человека часто сравнивают со сложным механизмом, который состоит из множества подсистем, выполняющих различные функции. Дабы работа механизма была слаженной и не возникало поломок, необходима своевременная диагностика, устранение неполадок и профилактические меры.
Многие Go программисты знакомы с bytes.Buffer. Одно из его преимуществ состоит в том, что он позволяет избегать выделений памяти в куче по той же схеме, что и "оптимизация коротких строк" (small buffer/size optimization): type Buffer struct { bootstrap [64]byte // для избежания аллокации малых слайсов в куче // ... другие поля } Есть только одна проблема. Эта оптимизация не работает. К концу этой статьи вы узнаете, почему эта оптимизация не работает и что мы можем с этим сделать. Читать дальше →