• Как и кто загружает товары в интернет-магазин?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    В хороших магазинах карточка товара заполняется вручную, т.к. ее, внезапно, смотрят люди. В уродских магазах идет выгрузка из 1С, поэтому там черти что творится во всех полях.
    Для примера сравните магазины Tiffany и Amazon. В первом красивые страницы товаров, картинки, человеческое описание. Во втором уродский текст без форматирования.
    Остатки на складах синхронизируются по артикулу или другому уникальному идентификатору товара.

    Как это делать правильно:
    1. Начальная массовая загрузка делается из любого доступного файла - csv, xls, xml, json и т.д. Эти загруженные товары получают статус невидимок на сайте.
    2. Абсолютно все товары проходятся и проверяются вручную. К ним обязательно добавляются фотографии, видео, человеческое описание. Для технических товаров добавляется спецификация, даташиты, чертежи, схемы, инструкции и т.д. Чем больше информации, тем лучше. Это то, что будет вести пользователей к вам из поисковиков, соц. сетей и сарафанным радио. Весь самостоятельно созданный контент обязательно должен иметь стойкие ватермарки, чтобы конкуренты его не воровали.
    Если у вас миллион позиций и есть опыт продаж, отберите 1000 самых продаваемых и заполните её вначале. Этим вы ещё сильнее увеличите объем продаж.

    Магазин на React должен быть сделан с использованием SSR, иначе у вас будет плохой органический трафик.

    > как фронтендеру максимально адаптировать свою работу под будущее использование магазина владельцем?
    Ответьте на вопрос - как привести пользователя на сайт и сделать так, чтобы он купил товар. От и до.

    На самом деле все очень зависит от самого товара, цены, потенциальных покупателей и дизайна ресурса.
    Если сделать очень хороший сайт, быстрый, красивый, надежный и продавать на нем туалетную бумагу по 1000 рублей за рулон, то продаж будет немного. Но как только вы поставите цену на нем сравнимую с ценой конкурентов, то через время возникнут проблемы масштабирования бизнеса.

    Делайте качественно и все будет хорошо.
    Ответ написан
    1 комментарий
  • Есть ли реализации packagist (composer-сервера) на PHP?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Боюсь Artifactory вам наверно не очень подойдет.

    Еще можно вот так делать, но это для локального кода
    {
      "autoload": {
        "psr-4": { "NameSpace\\": "src/NameSpace" }
      }
    }
    Ответ написан
    1 комментарий
  • Как дать доступ к видео ограниченному списку аккаунтов через youtube data api?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Private означает, что доступ есть только у владельца видео. Через настройки Ютуба тоже нельзя указать список людей, имеющих доступ к видео.
    Ответ написан
  • Какой сервис email рассылок можете посоветовать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    AWS SES
    GCP Mail API
    https://docs.microsoft.com/en-us/previous-versions...
    https://www.mailgun.com/
    https://sendgrid.com/

    Все соответствуют вашим требованиям.
    Ответ написан
    Комментировать
  • Можно ли использовать 5Ghz сети для игры через стриминг с компьютера?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Все нормально себе работает, но с условиями:
    1. Нормальный 5GHz Wi-Fi-роутер, который умеет 802.11ac + MU-MIMO
    2. Совместимый телек
    3. Незасранный эфир

    На самом деле есть даже сервисы, в которых можно арендовать компы онлайн и играть на них. Например https://shadow.tech/usen
    Ответ написан
  • Планшет или электронная книга?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Для настоящей технической литературы, а именно тяжелых PDF со схемами устройств, чертежами и прочим хардкором ничего, кроме 12.9" iPad Pro нормально не тянет. Такие PDF даже на дестктопах нормально так тормозят.
    На IPad еще подкупает плотность пикселей, т.к. позволяет прорисовывать детали, что очень сильно влияет на читабельность.
    Всякие e-Ink Kindle просто не могут такие документы отображать за разумное время. Некоторые документы просто отображают неправильно. e-Ink классная технология для чтения художественной литературы на пляже, но на большее там рассчитывать сложно. Для работы она не пригодна.
    Ответ написан
  • Как избежать дублирования кода для горизонтально масштабируемого веб-приложения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Немного перефразирую xmoonlight. Налицо разделение модели данных и различных ее представлений.
    Создайте общий репозитарий с моделями и через наследование сделайте сериализацию с возвращением нужных структур для админки и API.
    Для API представление реализуйте в стиле белого списка. При расширении системы будет сохраняться совместимость.
    Работу с данными реализуйте через общий сервисный слой, в котором будет жить бизнес-логика.
    В таком случае бизнес-процессы будут реализованы вне зависимости от интерфейсов, а значит меньше багов и т.д.
    Ответ написан
    Комментировать
  • Как реализовать вкладкобезопасное считывание/запись в localStorage?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. https://developer.mozilla.org/en-US/docs/Mozilla/A...

    2. Вы можете общаться между вкладками посредством ServiceWorkers и window.postMessage.
    Ответ написан
    Комментировать
  • Как сохранить пользователя facebook изменив id приложения?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Это возможно используя Business Manager + https://developers.facebook.com/docs/facebook-logi...
    Ответ написан
    Комментировать
  • Как поступить в случае если наши картинки используются в контекстной рекламе конкурентов в яндекс директ?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. Подаю на Яндекс в суд.
    2. Выигрываю!
    3. Profit...

    А по факту будет так: подаете, судитесь несколько лет, тратите огромное количество времени и средств на сбор доказательств, юристов, адвокатов, в конце проигрываете, т.к. ко времени картинки уже не будет или она была использована конкурентом, возмещаете убытки Яндексу, просираете свой бизнес. Вашу нишу занимаете конкурент, который использовал вашу же картинку.

    Как решить проблему: узнаете номер маркетолога, который делает рекламу конкуренту (той самой азбуке). Звоните и очень вежливо просите больше не использовать ваши материалы. Если человек соглашается, ждете недельку, проверяете. Если нет, собираете доказательную базу на ипользование графического материала (тех самых фотографий) и в суд на конкурента.
    Если ваш конкурент использует ваши патентованные технологии, то опять же используете стандартные средства.

    Борьба с Яндексом не будет оправдана. Ну выкинет он ваш сайт из индекса навсегда. Останетесь без хорошей доли российского трафика. Глупо.

    С технической стороны - используйте водяные знаки. Это даст 2 плюса - отпугнет конкурентов от использования вашего контента и, если яндекс будет использовать ваши фото автоматически, продвинет ваш бренд за счет чужих средств.
    Ответ написан
    Комментировать
  • Существует ли несложное решение эффекта fade out для div?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Дарю https://jsfiddle.net/18kymeax/ работает в Firefox, но не работает в других браузерах.
    Почитайте про свойства, думаю поможет написать свое решение.
    Ответ написан
    Комментировать
  • Какой монитор выбрать чтобы не уставали галаза?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    С мониторами на рынке сейчас настоящая беда. Во-первых, большая часть мониторов устарела просто технически по ppi и цветопередаче. Я очень удивлен, что не Retina дисплеи до сих пор продаются и пользуются спросом.

    Если хотите купить хороший монитор, то присмотритесь к https://www.lg.com/us/business/desktop-monitors/lg...
    Сразу огорчу - цена у него не самая дешевая, но похожих по качеству мониторов, кроме Apple больше никто не делает. В принципе сама Apple покупает матрицы у LG и из них потом собирает iMac. Как альтернатива - купите себе iMac и ближайшие лет 5 вообще не будете думать о том, чтобы покупать себе новый компьютер.

    Кстати, Benq zowie XL это вообще жуткое говнище и просто выброс денег на ветер.
    Ценник на средненький монитор всегда был в районе $500, более-менее хороший $1000.
    Профессиональные мониторы c правильной цветопередачей стоят $5-10k.
    Скупой платит дважды.

    "Герцовка" это вообще какой-то бред. На современных мониторах контроллер достаточно умный и не перерисовывает всю картинку, так что все это 144 герца надувательство чистой воды.
    Для всяких шутеров гораздо важнее отклик матрицы, но и там 60fps хватает за глаза.
    Ответ написан
  • Курсы SMM: в каких плавать, а по каким ходить?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Ответ написан
    Комментировать
  • Есть ли библиотеки для PHP (может даже PECL) для работы со звуком (подключиться к PulseAudio)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    1. Изучаем PulseAudio, особенно D-Bus.
    https://gavv.github.io/articles/pulseaudio-under-t...

    2. Управляем всем через D-Bus
    https://github.com/derickr/pecl-dbus

    Также можно почитать про самописные расширения на PHP и сделать свое для воспроизведения опираясь на этот пример https://freedesktop.org/software/pulseaudio/doxyge...

    Альтернативный подход - управлять другой программой через какой-нибудь IPC.
    Например https://milesalan.com/notes/mplayers-fifo/
    https://github.com/TheJosh/mplayer-web-remote/blob...
    Ответ написан
    2 комментария
  • Как понять причину поведения выборки в MongoDB?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Запишите -1 там, где нет значения.
    Используйте {update: -1} для поиска "пустых" строк.
    Что говорит explain?
    Ответ написан
  • Есть ли бесплатный сервер для скрипта Node.Js?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Есть огромное количество недорогих VPS хостингов, можете взять практически любой из них и крутить там.

    У AWS есть бесплатный план на 1 год для новых пользователей. Если вам не требуется постоянное сокетное подключение и не очень много вызовов, то можно использовать Lambda функцию. Это очень дешево, плюс там есть бесплатное количество вызовов на старте.
    Ответ написан
    Комментировать
  • Как сделать прокрутку div на jquery?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Ответ написан
    Комментировать
  • Почему выборка с поиском по вложенному полю с обратной сортировкой тормозит?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Для начала неплохо было бы взглянуть на вывод explain.
    Производительность приложения напрямую зависит от используемого индекса, но в данном случае вы используете $exists: false, что автоматически приводит к ситуации полного сканирования коллекции.
    Индексирование такого поля не выход. Если вы хотите индексировать, то в индекс должно попадать значение.
    Чтобы решить проблему, вам необходимо при вставке добавлять нечто вроде updated: false.
    Если вы храните там дату, то используйте дополнительное поле updatedAt. Не следует смешивать разные типы данных в одном поле - монга может не построить индекс.
    Для обратной сортировки вы можете создать дополнительный индекс с обратным порядком.
    Подробнее о сортировках можно прочесть здесь https://docs.mongodb.com/manual/tutorial/sort-resu...
    Вы можете построить совмещенный индес с прямым проходом по свойству и обратной сортировкой, только следует соблюдать порядок.
    Ответ написан
    3 комментария
  • Качество работы штатного программиста. Как оценивать?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    У нас небольшая компания, пилим свой сайт, црм и подобные штуки для внутреннего использования.

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

    Тестов нет, я сам вручную тестирую закрытые таски на предмет ошибок.

    Дальше можно не продолжать. Отсутствие тестов - индикатор низкого уровня разработки, как результат - плохой код на выходе. Это ваша вина, как лидера группы.

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

    Очевидно для вас, неочевидно для разработчика. Реализация напрямую зависит от постановки задачи. Если вы предоставили плохое/нечеткое ТЗ, то будут косяки. Опять же ваша вина.

    Разработчик должен пушить код, в котором он уверен с высокой степенью вероятности или это так и принято, что пушишь и нифига не тестируешь, типа как-то там сами тестеры разберутся?

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

    Что посоветуете?

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

    Итак, что же нужно сделать в такой ситуации.

    0. Поговорить с людьми, чисто по-человечески. Объяснить, что от их работы зависит работа компании и их зарплата, премии и т.д. Внедрить понимание культуры ответственности и гордости за сделанную работу. Поощрять хорошо сделанную работу. Еще нужно уметь разбираться в психологии людей, вникать в их проблемы (дети, болезни, долгая дорога), помогать быть успешными в своей работе. Человеческое отношение творит чудеса - люди сами станут стараться делать свою работу хорошо.

    1. Пересмотреть подход к постановке задач. Недаром в Agile имеется такой пункт, как сценарий использования. Это и есть ваш тест. Если разработчик выполняет сценарий и баг возникает, значит его косяк. Решается возвратом тикета на доработку. Если тестовый сценарий хоть на йоту отличается - ваш.

    2. Внедрить юнит и интеграционное тестирование, как часть процесса разработки. Разработка будет в 2-3 раза дольше. Это нормально. Зато качество кода существенно улучшится и количество ошибок уменьшиться. Внедрение тестирования достаточно болезненный этап и занимает около года на перестройку мышления.

    3. Следует научиться разбираться в людях. Это сложно. Есть люди, которые делают больше ошибок, чем другие. Как правило они имеют творческую натуру. Они чаще нарушают правила, делают что-то не так, как все и т.д. Вобщем чудаки по жизни. В работе такие люди создают много ошибок и сами это знают, но они не в состоянии с этим ничего сделать. Тяжелее всего таким людям дается рутинная работа. Для них это боль, для руководителя одно расстройство. Однако у этих людей есть одно качество, которое перевешивает остальные - они способны решать задачи нестандартными способами. Эти люди могут придумать нечто новое, такое, чего еще никто не делал. Такие люди, сами того не понимая, могут сделать какую-то фичу, которая будет выгодно отличать ваш продукт от конкурентов. Нельзя собирать команду сплошь из таких людей, она будет нефункциональна.

    Следует проработать эти 4 пункта в описанной последовательности. Если после этого количество ошибок не уменьшится, то у вас работают лентяи. Просто нанимайте новых и увольняйте старых. Порой замена одного члена команды может привести к драматическим изменениям в настроении и отношении к работе. Поэтому будьте благоразумны в своих действиях.

    Напоследок. Ошибки бывают даже при самых лучших практиках и замечательной мотивации. Это природа человеческой натуры. Не будьте чересчур строги к подчиненным.
    Ответ написан
    Комментировать