- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Если начинать от стартпоста, то там массив объектов. Проблема решения задачи высосана из пальца.
Решение на javascript:
a.map(function(item){if(item.media_category!='promo')b.push(item)});Решение на PHP:
Но правильнее сразу делать выборку из БД. И БД выбирать такую, которая может хранить структурированные данные, а не всякое говно.
Иметь такой JSON, идея сама по себе сомнительная. Если это файл, то да, ваше решение наверное единственное здесь, которое как то решит задачу.
А в чем тогда сложность задачи? Если у нас 20 строк, мы их распаковали в массив, отфильтровали и... на этом все. Тот же array_filter или filter/reduce в JS. В чем интерес? Где потоковое чтение? В метках темы sly32 написал data science, только им тут и не пахнет. Пока что это junior tasks.
Ну и кстати, идея не сомнительная. Обычно такие файлы остаются от логов Nginx, которые нужно на лету парсить и строить аналитику по ним. Или например прислали выгрузку для синхронизации товарных остатков, там не редкость те же XML файлы на пару гигов. Или сайтмеп например распарсить у сайта. Примеров уйма.
А в чем тогда сложность задачи
Несложная, да. Может относиться к задаче стоило с учетом первой фразы темы:
Если кому надоело ставить плагины
там не редкость те же XML файлы на пару гигов. Или сайтмеп например распарсить у сайта.
Для XML даже для PHP есть средства которые не грузят весь файл в память. Логи - csv построчно легко читаются .
А в целом, да, согласен, что если есть инструменты для потокового чтения JSON это хорошо. "Сомнительная" это я к тому, что я бы в таких JSON файлах данные бы не хранил
Может относиться к задаче стоило с учетом первой фразы темы:
Ну оно как бы да, но с другой стороны зачем тогда в метках data science - не понятно)
Для XML даже для PHP есть средства которые не грузят весь файл в память. Логи - csv построчно легко читаются .
А в целом, да, согласен, что если есть инструменты для потокового чтения JSON это хорошо. "Сомнительная" это я к тому, что я бы в таких JSON файлах данные бы не хранил
Ну обычно никто ничего важного в JSON и не хранит. Как правило, есть условный файл, куда пишется поток каких-то событий, и нужно эти события читать и парсить. Вариант прочитать весь файл в память и распарсить в массив, по понятным причинам, не всегда возможен. Я к тому, что если кому-то задача кажется слишком легкой, можно например применить немного скилла, и прочитать данные немножко по другому :) Ведь данные не всегда нужны все и сразу, как в данном примере. Нам не нужно находить дубли, и т.д.
Подождем Sly32, посомтрим как он решит задачу
Про data science была только шутка)
На пайтоне это будет одна строка
playbacks = filter(lambda _data: _data['media_category'] not in ['promo'], data)
Ну, использовали lambda-выражение для вызова встроенной функции. В чём прикол? (Если что, я не программист)
Показать, что в питоне больше встроенных функций, чем в php?
playbacks = filter(lambda _data: _data['media_category'] not in ['promo'], data)
И чем является data в данном примере? Кидай весь код)
lambda-выражение для вызова встроенной функции
анонимной
playbacks = filter(lambda _data: _data['media_category'] not in ['promo'], data)
Ну так, в порядке буквоедства
playbacks = filter(lambda _data: _data['media_category'] not in ['promo'], [ {'a':'b'},
{'b':'x'},
{'media_category':'promo'},
])
print(list(playbacks));
Поможет
То, что dict мы абсолютно уверены, т.к. выборка из носкуэл
---------- Добавлено 13.06.2020 в 21:34 ----------
И да, чуть длиннее, но смысл тот же
$a=array_filter($a,function($v){return !in_array(_arr($v,'media_category'),['promo','xxx']);});🍿
Интересно посмотреть пример сортировки массива с алфавитно-цифровыми строками на питоне (в поиске не нашёл, в споры какой язык лучше не ввязываюсь).
На php написал бы так:
посмотреть пример сортировки массива с алфавитно-цифровыми
Огромный плюс питона, что есть все на все случаи жизни (pip install natsort)