<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

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

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Обработка больших файлов в PHP с помощью генераторов

Обработка больших файлов в PHP с помощью генераторов

Представим, что нам необходимо разобрать большой файл с логами либо еще с какими-то данными.Как правило, при работе с большими файлами самой главной проблемой становится объем памяти потребляемый скриптом. Особенно это актуально на виртуальных хостингах, где объем выделяемой памяти, как правило ограничен.

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

Итак, вот пример скрипта, который читает большой csv файл логов (допустим) и выполняет над ним какие-то операции:

<?php

// файл открывется на чтение
// если файл невозможно открыть, то бросается исключение
function getRows($file) {
    $handle = fopen($file, 'rb');
    if (!$handle) {
        throw new Exception();
    }
    
    // пока не достигнем конца файла
    while (!feof($handle)) {
        // читаем строку
        // и генерируем значение
        yield fgetcsv($handle);
    }
    
    // закрываем
    fclose($handle);
}

// проходимся по всему файлу 
// и выводим на печать
foreach (getRows('DATA_LOG.csv') as $row) {
    print_r($row);
}

В чем здесь преимущество спросите Вы? А вот, в чем. При вызове в цикле foreach функции-генератора getRows
не происходит чтение всего файла целиком, а происходит чтение одной строки из файла DATA_LOG.csv. Тем самым экономится память.

При каждом следующем выводе, эта функция будет выводить последующую порцию данных.

Таким образом, с введением генераторов в PHP у разработчиков появился мощный инструмент, который позволяет писать быстрые и экономные программы.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.