Size: a a a

2020 June 25

А

Антон in Yii Framework 2
Дмитрий
ну так его дебаг панель наверно юзает, не?
история не поднимается, а мне интересны именно исторический данные были yii2-log-viewer, немного изменил его теперь их отображает в норм виде
источник

S

Sergey in Yii Framework 2
есть ImageUploadBehavior, он позволяет создавать миниатюры изображений. Но если загружать svg файл то при попытке создать миниатюру выдает ошибку. Есть ли возможность в зависимости от типа изображения применять  эту опцию или нет?
источник

YR

Yurii Ripa in Yii Framework 2
Denis Potekhin
Вопрос не совсем про yii..
скорее архитектурный..
Есть большой csv файл. Фактически база данных. 5млн строк, объем около гига. При этом он регулярно обновляется (то есть компания получает его извне)
Он содержит кучу ошибок, да еще и структурирован через одно место (одни и те же значения могут быть занесены слегка по разному).
Нужно вычистить ошибки по возможности (sanitize) и сгруппировать элементы (заменить название чуть по разному на одно и тоже)
Вопрос в том как это делать)
Кидать все в базу и с ней работать, но это очень медленно. Работать кусками, но проблема, что почистить можно по частям, а вот группировать требует всех вариантов по файлу значит всех записей.
Ну и по времени такая процедура как сейчас написано требует пары дней))
Значит как то по частям делать и в крон или асинхронно.
Прошу прощения за сумбур, может у кого какие идеи есть?
Если не стоит вопрос по БД.
Можно все данные записать в промежуточную пустую таблицу (потом её truncate перед новой загрузкой).
Потом брать из нее запись и сравнивать с записью из текущей.
Можно считать добавленные и обновившиеся.
         // Работало на PG с лямом строк
          $data = file_get_contents($file);
           // Разбиваем на строки
           $rows = explode("\n", $data);
           // Удаляем названия столбцов (первую строку) если надо
           array_shift($rows);
              // Очистим таблицу
               Yii::$app->db->createCommand('TRUNCATE auto_csv;')->execute();
               // Делаем подключение к БД для прямого залива данных в пустую таблицу
               $db = pg_connect('host=* port=* dbname=*=* password=*');
               // Вставляем строки в таблицу - не должно быть индексов и первичных ключей
               pg_copy_from($db, 'auto_csv', $rows);
               // Создаем первичный ключ
               Yii::$app->db->createCommand('ALTER TABLE auto_csv ADD CONSTRAINT pk-auto_csv-id PRIMARY KEY(id);')->execute();
               // Обновим статистику для таблицы
               Yii::$app->db->createCommand('VACUUM ANALYZE auto_csv;')->execute();
источник

А

Антон in Yii Framework 2
Sergey
есть ImageUploadBehavior, он позволяет создавать миниатюры изображений. Но если загружать svg файл то при попытке создать миниатюру выдает ошибку. Есть ли возможность в зависимости от типа изображения применять  эту опцию или нет?
ImageUploadBehavior
У него есть $allowedExtensions = 'jpg,jpeg,png,gif';
источник

S

Sergey in Yii Framework 2
Антон
ImageUploadBehavior
У него есть $allowedExtensions = 'jpg,jpeg,png,gif';
другие разрешения нельзя будет загрузить? Или миниатюра будет создана тоолько для этого списка?
источник

А

Антон in Yii Framework 2
Yurii Ripa
Если не стоит вопрос по БД.
Можно все данные записать в промежуточную пустую таблицу (потом её truncate перед новой загрузкой).
Потом брать из нее запись и сравнивать с записью из текущей.
Можно считать добавленные и обновившиеся.
         // Работало на PG с лямом строк
          $data = file_get_contents($file);
           // Разбиваем на строки
           $rows = explode("\n", $data);
           // Удаляем названия столбцов (первую строку) если надо
           array_shift($rows);
              // Очистим таблицу
               Yii::$app->db->createCommand('TRUNCATE auto_csv;')->execute();
               // Делаем подключение к БД для прямого залива данных в пустую таблицу
               $db = pg_connect('host=* port=* dbname=*=* password=*');
               // Вставляем строки в таблицу - не должно быть индексов и первичных ключей
               pg_copy_from($db, 'auto_csv', $rows);
               // Создаем первичный ключ
               Yii::$app->db->createCommand('ALTER TABLE auto_csv ADD CONSTRAINT pk-auto_csv-id PRIMARY KEY(id);')->execute();
               // Обновим статистику для таблицы
               Yii::$app->db->createCommand('VACUUM ANALYZE auto_csv;')->execute();
на деле легко сказать, если данные не структурированы, лучше взять 5000 строк, сделать все как надо, далее берем уже 30000 - 50000 иначе зря время потеряет, пока будет лазить с мелкими багами
источник

А

Антон in Yii Framework 2
Sergey
другие разрешения нельзя будет загрузить? Или миниатюра будет создана тоолько для этого списка?
можно, какая проблема, если что то не нравится наследуйся от ImageUploadBehavior и меняй правила
источник

S

Sergey in Yii Framework 2
Антон
можно, какая проблема, если что то не нравится наследуйся от ImageUploadBehavior и меняй правила
да, можно и так. спасибо. Думал может есть нужная опция
источник

А

Антон in Yii Framework 2
класс ImageUploadBehavior наследован от FileUploadBehavior у него есть явное свойство    'allowedExtensions' => array('gif', 'jpeg', 'jpg', 'png'),
источник

Д

Дмитрий in Yii Framework 2
Антон
класс ImageUploadBehavior наследован от FileUploadBehavior у него есть явное свойство    'allowedExtensions' => array('gif', 'jpeg', 'jpg', 'png'),
Чуваку надо чтоб миниатюра генерилась только с растровых картинок.
источник

Д

Дмитрий in Yii Framework 2
А не allowed extensions
источник

А

Антон in Yii Framework 2
Дмитрий
А не allowed extensions
думаешь все плохо настолько что могут подсунуть не то расширение?
источник

Д

Дмитрий in Yii Framework 2
Антон
думаешь все плохо настолько что могут подсунуть не то расширение?
С свг не генерится превью . Это векторное изображение.
источник

Д

Дмитрий in Yii Framework 2
А аплоадить свг он хочет
источник

AK

Andrey Kravchuk in Yii Framework 2
Дмитрий
С свг не генерится превью . Это векторное изображение.
изибризи
источник

Д

Дмитрий in Yii Framework 2
Andrey Kravchuk
изибризи
Ну я про это поведение конкретно.
источник

AK

Andrey Kravchuk in Yii Framework 2
ff
источник

Д

Дмитрий in Yii Framework 2
А не про вообще
источник

a

atcq (Алексей)... in Yii Framework 2
можно растр на клиенте генерить
источник

a

atcq (Алексей)... in Yii Framework 2
закинуть в canvas свгшку, забрать из canvas растр
источник