Оптимизация кода

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

maleks писал(а):
Nerf писал(а):
maleks писал(а): Он не использует формы с yii инпутами, поэтому даже ничего не именовано.
:shock:
$fd = Yii::$app->request->post('FD');
$row->attributes = $fd;
Уверены?
Вы почему то пропустили эти строчки:

Код: Выделить всё

      $fd['approve'] = isset($fd['approve']) ? 1 : 0;
      $fd['is_new'] = isset($fd['is_new']) ? 1 : 0;
      $fd['is_rec'] = isset($fd['is_rec']) ? 1 : 0; 
Инициализация входных данных вручную, как в чистом пхп, необходимая в данном случае, повторять сто раз что выше уже было обсмокчено нет смысла.
Если чекбокс на придет, а мы с ним начнем работать, будет ошибка
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

Nerf писал(а):
Где вторая?
:mrgreen:
Вы понимаете, что открываете ОДИН файл, потом сохраняете его в виде ДВУХ файлов(удаляя временный). Потом открываете эти ДВА файла и потом перезаписываете их своими ДВУМЯ версиями?)
На "огурцах" объясню:

Код: Выделить всё

$uploadedFile = UploadedFile::getInstanceByName('image');
if($uploadedFile) {
    $filenameT = Useful::genName($file->getBaseName()) . $file->getExtension();
    $filenameO = Useful::genName($file->getBaseName()) . $file->getExtension();
    
    $pathT = Yii::getAlias('@uploads/') . $filenameT;
    $pathO = Yii::getAlias('@uploads/') . $filenameO;
    
    $img = new SimpleImage($uploadedFile->tempName);
    $img->thumbnail(150)->save($pathT);

    $img = new SimpleImage($uploadedFile->tempName);
    $img->best_fit(1280, 1280)->save($pathO);
    
    // ...
} 
Когда у вас будет 10 версий, вы будете писать сохранять файл 10 раз и потом его 10 раз перезаписывать?)
вы удалили

Код: Выделить всё

$file->saveAs($pathT, FALSE);
        $file->saveAs($pathO);
Где вы тут видите удаление временного файла?
каждое отдельное изображение пережимается, а как?
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Оптимизация кода

Сообщение Nerf »

Сходите в церковь. Вам только боженька поможет)
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

Nerf писал(а):Сходите в церковь. Вам только боженька поможет)
нормальный нет вообще? половину кода выпилил, изменил и теперь доказывает чет
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Оптимизация кода

Сообщение zelenin »

jakiro писал(а):Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
попробую я объяснить. Не надо копировать временный файл в два других файла, а потом эти два файла ресайзить, перезаписывая самих себя. Это неоптимально.
Надо брать один временный файл, ресайзить и итоговый файл копировать в то место, где он лежит. Затем опять же временный файл ресайзить в другой размер, опять сохранять его и только в конце удалить временный файл.
PS "гражданин выше" вам уже оптимизировал код, о чем вы просили в этой ветке. Я как сторонний наблюдатель думаю, что следующий раз из-за ваших нападок на него вы лишитесь его саппорта - russian community делаете вы и он.
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

zelenin писал(а):
jakiro писал(а):Господа, я замечу, гражданин, утверждающий о каких-либо ошибках (вероятно еще и верующий), так ни одного предложения и не написал, только разговоры о том как все неправильно. russian community
попробую я объяснить. Не надо копировать временный файл в два других файла, а потом эти два файла ресайзить, перезаписывая самих себя. Это неоптимально.
Надо брать один временный файл, ресайзить и итоговый файл копировать в то место, где он лежит. Затем опять же временный файл ресайзить в другой размер, опять сохранять его и только в конце удалить временный файл.
PS "гражданин выше" вам уже оптимизировал код, о чем вы просили в этой ветке. Я как сторонний наблюдатель думаю, что следующий раз из-за ваших нападок на него вы лишитесь его саппорта - russian community делаете вы и он.
в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файлом
Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
p.s. меня в церковь отправили, считаю грубейшим оскорблением
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Оптимизация кода

Сообщение zelenin »

jakiro писал(а):И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
я с вами согласен в этом тезисе, но это неверная аналогия. Тут просто изначально нелогичное поведение, которое не оптимизировать надо, а должно было быть изначально правильно написано. Всегда есть какие-то неочевидные места, которые рефакторят позже - здесь же все очевидно.
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

zelenin писал(а):
jakiro писал(а):И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
я с вами согласен в этом тезисе, но это неверная аналогия. Тут просто изначально нелогичное поведение, которое не оптимизировать надо, а должно было быть изначально правильно написано. Всегда есть какие-то неочевидные места, которые рефакторят позже - здесь же все очевидно.
Я вообще подумал, что где то инстанс два раза вызываю, посмотрел, вроде все нормально. В голову даже не пришло о повтором открытии файла, да в прочем я даже не об этом то и спрашивал)
Rom
Сообщения: 81
Зарегистрирован: 2014.12.22, 11:56

Re: Оптимизация кода

Сообщение Rom »

jakiro Представьте что для вашего приложения понадобились ещё несколько картинок разного размера. Проверьте сколько надо внести изменений в ваш код с каждой новой картинкой? Есть ли дублирования кода? Надо ли править бд работающего приложения?

Код: Выделить всё

        $filenameT = Useful::genName($file->getBaseName()).$file->getExtension();
        $filenameO = Useful::genName($file->getBaseName()).$file->getExtension();

        $pathT = Yii::getAlias('@uploads/').$filenameT;
        $pathO = Yii::getAlias('@uploads/').$filenameO;

        $file->saveAs($pathT, FALSE);
        $file->saveAs($pathO);

        $img = new SimpleImage($pathT);
        $img->thumbnail(150)->save($pathT);

        $img = new SimpleImage($pathO);
        $img->best_fit(1280, 1280)->save($pathO);

        Products::updateAll(['thumb' => $filenameT, 'image' => $filenameO], ['id' => $id]);
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Оптимизация кода

Сообщение Nerf »

jakiro писал(а): в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файлом
Я вам просто указал и привел код. Вы не поняли, я уточнил... еще уточнил... Вы спрашивали про оптимизацию, я вам предложил, как и предлагали другие. Да, это не относится к поведению, но относится к вашему вопросу в целом.
jakiro писал(а): Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
Это одинаково плохо и тогда, и сейчас. Одно дело жертвовать производительностью ради читабельности и т.п., другое - на пустом месте.
jakiro писал(а): p.s. меня в церковь отправили, считаю грубейшим оскорблением
Вы все правильно поняли. Хоть это радует :lol: Адью!
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Оптимизация кода

Сообщение jakiro »

Nerf писал(а):
jakiro писал(а): в этом вся и проблема, что вместо того, чтобы просто указать, постоянно какие то вбросы и то, что я вообще даже не об этом спрашивал, а о том, как это вынести в поведение/статический метод/ модуль/ экшен файлом
Я вам просто указал и привел код. Вы не поняли, я уточнил... еще уточнил... Вы спрашивали про оптимизацию, я вам предложил, как и предлагали другие. Да, это не относится к поведению, но относится к вашему вопросу в целом.
jakiro писал(а): Кажется проблема надуманна, любой код можно оптимизировать до бесконечности
И лет 20 назад наверное можно было бы сказать, что это плохо, потому что мощности ПК были совсем другие, чтобы с часами в руке сидеть и замерять время исполнения.
Это одинаково плохо и тогда, и сейчас. Одно дело жертвовать производительностью ради читабельности и т.п., другое - на пустом месте.
jakiro писал(а): p.s. меня в церковь отправили, считаю грубейшим оскорблением
Вы все правильно поняли. Хоть это радует :lol: Адью!
Радуют что? Оскорбления?
>Вы спрашивали про оптимизацию,
ну если вы прочитали только заголовок темы, то да, вы ответили. Если прочитать полностью вопрос, то я спрашивал совсем о другом
Ответить