Рубрика «array»

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

Давайте развеем 3 мифа:

  1. Доступ к элементам массива всегда занимает одинаковое время.

  2. В PHP обычный и ассоциативный массивы – одно и то же.

  3. Использовать ссылку в foreach быстрее, чем просто итерироваться по элементам.

Представим ситуацию. Вы создали массив и одним и тем же оператором «$array[] = $value;»Читать полностью »

Воу-воу, Джонни, убери пушку! Я могу всё объяснить! В предыдущей статье про std::array мы подробно рассматривали, почему в production-ready коде он ведёт себя так же производительно, как и встроенный массив, а не медленнее, как иногда думают некоторые люди.

После написания такой статьи невольно появляется вопрос: а может ли наш добродушный сосед std::array быть даже быстрее своего дедушки времён C? Согласитесь, иногда приятно предаться вольнодумству и посмотреть, куда тебя это заведёт. Давайте сделаем это! Чем мы, в конце концов, рискуем? Не рейдом же плюсовой инквизиции!

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

Введение

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

Что такое "слайс"?

Говоря простым языком, слайсы — это надстройка, интерфейс над массивами, который позволяет нам более гибко с ними работать. Мы можем работать со слайсом как с динамическим массивом: добавлять или удалять элементы, то есть менять его размер. При этом под каждым слайсом содержится базовый массив строго определённой длины.

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

Или почему не нужно бояться того, что удобно работает.

std::array в С++ не медленнее массива в С - 1

Стойте! Уберите руки от клавиатуры, дайте человеку сказать! У этой статьи есть обоснованные причины и благая цель! В прошлой моей статье о массивах (которую необязательно читать для понимания статьи этой) некоторые читатели выражали озабоченность тем, что std::arrayЧитать полностью »

Или почему мне кажется, что про них нужно знать, но не нужно использовать.

Ненавижу, _____, C++ массивы - 1

Вступление

Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...

Вот массив:

int arr[5] = {1, 2, 3, 4, 5};

А вот он уже указатель:

int *ptr = arr;

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

Заметка рассчитана на начинающих C++ программистов, которым стало интересно, почему везде твердят, что нужно использовать delete[] для массивов, но вместо внятного объяснения – просто прикрываются магическим "undefined behavior". Немного кода, несколько картинок и взгляд под капот компиляторов – всех заинтересованных прошу под кат.

delete_or_delete_for_array_ru/image1.png

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

Python 3.8+

Когда выходит очередная версия Python, все внимание достается новым фичам языка: моржовому оператору, слиянию словарей, паттерн-матчингу. Еще много пишут об изменениях в асинхронной работе (модуль asyncio) и типизации (модуль typing) — эти модули на виду и бурно развиваются.

Остальным модулям стандартной библиотеки достается незаслуженно мало внимания. Хочу это исправить и рассказать, что интересного появилось в версиях 3.8–3.10.

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

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

Наиболее «жизненный» пример — вывести 20 самых старых задач, числящихся на списке сотрудников (например, в рамках одного подразделения). Для различных управленческих «дашбордов» с краткими выжимками по участкам работы похожая тема требуется достаточно часто.

SQL HowTo: пишем while-цикл прямо в запросе, или «Элементарная трехходовка» - 1

В статье рассмотрим реализацию на PostgreSQL «наивного» варианта решения такой задачи, «поумнее» и совсем сложный алгоритм «цикла» на SQL с условием выхода от найденных данных, который может быть полезен как для общего развития, так и для применения в других похожих случаях.
Читать полностью »

Правила работы с динамическими массивами и пользовательскими классами коллекций - 1

Правила работы с динамическими массивами и пользовательскими классами коллекций
Здесь представлены правила, которых я придерживаюсь при работе с динамическими массивами. По сути, это руководство по проектированию массивов, но я не захотел помещать его в руководство по проектированию объектов, потому что не в каждом объектно-ориентированном языке есть динамические массивы. Примеры написаны на PHP, потому что он похож на Java (с которым вы, возможно, уже знакомы), однако с динамическими массивами вместо встроенных классов коллекций и интерфейсов.
Читать полностью »


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