Рубрика «padding»

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

Размещение данных в памяти. L1, L2, L3 кэши и RAM

Мы все знаем, что данные (переменные, поля классов и т.д.) размещаются в "памяти". Но зачастую программист даже не задумывается, что именно представляет из себя эта абстрактная "память". Давайте рассмотрим этот вопрос чуть глубже, посколько понимание этого позволит ускорить код на двузначное число процентов.

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

В данной статье я опишу как можно перенести камеру так, чтобы поведение было идентичным с такими картографическими приложениями как 2ГИС. Приложения Яндекс.Карты и 2ГИС используют чуть упрощенный подход, здесь он тоже описан. Но об этом позже.

Pre-requirements

Flutter 3.35.6, Dart 3.9.2 иdgis_mobile_sdk_map: ^13.0.0

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

Тем не менее готовый код можно будет посмотреть тут.

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

Организация отступов при верстке и композиции элементов на странице требует определенной сноровки, чтобы обеспечить правильные комбинации и желаемый результат.
А если в дизайн-макете запрашиваемые отступы указаны без учета высоты линии и пустых областей отрисовки шрифтов (заплечики, диакритики, нисходящая высота)? Как сделать верстку максимально приближенной к макету эффективно и без долгих ручных пересчетов?
Интерлиньяж и вертикальный ритм позволяют унифицировать расстояния между элементами, но не решают вопрос компенсации расстояний с учетом текстовых метрик используемых шрифтов.
При разработке приложений для клиентов класса люкс особое внимание уделяется точности имплементации интерфейса, где каждый пиксель на счету.
В данной статье мы рассмотрим подход, призванный оптимизировать рутинную работу вокруг отступов — автоматизированная корректировка отступов с учётом высоты линии целевых элементов и текстовых метрик используемых шрифтов на этапе пре- или пост-компиляции стилей.
Читать полностью »

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

Ниже перечисленные принципы выполняются в среде позиционирования элементов на странице. В элементах декора тоже выполняются. Но не так категорично.
Читать полностью »

Все мы знаем, что не следует самостоятельно реализовывать криптографические примитивы. Мы также в курсе, что даже если мы хитрым образом развернем порядок букв во всех словах сообщения, сдвинем каждую букву по алфавиту на 5 позиций и разбавим текст случайными фразами, чтобы сбить атакующих с пути, наш замечательный шифр скорее всего вскроет любой мало-мальски знакомый с криптографией человек (а в данном случае с задачей справится и в меру умный 12-летний подросток).Padding Oracle Attack или почему криптография пугает - 1

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

Мой посыл не в том, что убедить вас отказаться от самостоятельного использования криптографических средств или пойти и нанять консультанта с зарплатой от $1000 в час всякий раз когда вы задумываетесь о шифровании.
Частично я веду к тому, что вам никогда не следует расслабляться, всегда нужно быть начеку, изыскивая пути, которые злоумышленник может использовать для получения дополнительной информации о вашей системе, а частично к тому, что Padding Oracle Attack является крутой демонстрацией всего этого. Итак, начнем.
Читать полностью »


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