LINUX.ORG.RU
ФорумTalks

Кто виноват (javascript?) и что делать?

 , , озон


0

4

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

Словами: у товара два отзыва, один с оценкой 5, второй - с оценкой 4. Средняя оценка: 4.2.

Картинка: https://0x0.st/8_E0.jpg

Сам товар: https://www.ozon.ru/product/1525414376/

Я помню, что в javascript бывает странная логика сложения и всё такое. Но тут что-то никак не придумывается, как можно получить 4.2.

★★★

Так просто другие отзывы потерли, а среднее не пересчитывалось, показывается старое среднее.

seiken ★★★★★
()

4.2

Даже сама оценка на что-то намекает…

u5er ★★
()
Ответ на: комментарий от seiken

Но тогда они врут во второй строке, где написано «Рейтинг формируется на основе актуальных отзывов». Хотя это запросто, да.

Beewek ★★★
() автор топика

Может у разных отзывов разный «вес» в зависимости от количества отзывов\покупок у автора отзыва, а может площадка скручивает баллы не премиум-магазинам. Может действительно внутри какой-то кривой алгоритм расчета. А вообще такое не редкость, сходу могу вспомнить «продокторов» где единственный отзыв с пятью звездами дает в «сумме» полторы (или две) звезды общей оценки. Короч дело не в js а в пограмистах или менеджерах.

micronekodesu ★★★
()
Последнее исправление: micronekodesu (всего исправлений: 1)

Бальзам для тела в области суставов

Эхехе. Ничего не поделаешь, это старость.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)

Да кто ж знает, как эти маркетологи отзывы считают.

Навскидку - это среднее арифметическое между средним гармоническим и наименьшей оценкой.

(2/(1/5+1/4)+4)/2 = 4,(2)

Так даже честнее, ибо отзыв с единичкой сильно снизит результат.

(2/(1/5+1/1)+1)/2 = 1,(3)
ALiEN175
()
Последнее исправление: ALiEN175 (всего исправлений: 1)

у товара два отзыва, один с оценкой 5, второй - с оценкой 4. Средняя оценка: 4.2.

Маркетинговый синус в военное время может достигать 13 и даже 14

vaddd ☆☆
()

Коэффициент. На Stack Overflow если тебя плюсанули и потом минуснули - ты тоже останешься в плюсе.

ivan007007
()

Не покупай, это развод.

firkax ★★★★★
()
Ответ на: комментарий от micronekodesu

где единственный отзыв с пятью звездами дает в «сумме» полторы (или две) звезды общей оценки

Не знаю как конкретно там, но не везде отзыв и оценка это одно и то же. В некоторых местах можно ставить оценки без отзывов и отзывы без оценок.

firkax ★★★★★
()

Попробуй сесть и покурить формулы формирования рейтингов, их как говна за баней. К тому же причём тут яваскрипт, если в бэке у озона совсем не яваскрипт.

bdrbt
()

Анальники из Озона вообще что-то странное творят. Как работает их сортировка я вообще не понимаю. Товар с сотней отзывов идет раньше, чем товар с 1000 отзывов.

Я вот набрал рандомное слово, дефолтная сортировка «Популярное»:

4.9    241 отзыв
4.71   653 отзыва
4.87   906 отзывов
4.93   795 отзывов
4.8    56 отзывов
нет оценок и отзывов
4.92   567 отзывов
5.0    1 отзыв
4.71   246 отзывов
4.9    34 отзыва
4.87   906 отзывов

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

MoldAndLimeHoney ★★
()
Ответ на: комментарий от ALiEN175

Навскидку - это среднее арифметическое между средним гармоническим и наименьшей оценкой.

Когда набрали олимпиадников.

Паша тоже высрал очень эффективный поиск в Телеге. Правда хрен что найдешь.

MoldAndLimeHoney ★★
()
Ответ на: комментарий от MoldAndLimeHoney

Это да. Как они определяют популярность товара - я понять не в силах:) Видимо, кто заплатил за продвижение - тот популярнее.

И не хватает сортировки по количеству покупок, как на али.

Beewek ★★★
() автор топика
Ответ на: комментарий от ALiEN175

Жуть какая:)

Но на других товарах - обычное среднее арифметическое, я проверял.

Beewek ★★★
() автор топика

Наверное четыре звезды равны 3.4

dmitry237 ★★★★★
()

это реклама. неужели кто-то покупает этот вазелин???

в современном мире все травки, претендующие на «народные средства» и гомеопатию(которая есть развод клиента изначально) не признаются реально лекарственными стредствами.

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

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

опять же, если втирание акульего хряща (или птичьего говна) в кожу приводило бы к проникновению нечта полезного(или вредного) в суставную жидкость или кровь - люди умирали бы от отравлений в самых невинных ситуациях.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

Ты про сам товар? Да я даже не смотрел, что там. Просто в выдаче рекомендованных товаров глаз зацепился за сочетание «★4.2 2 отзыва»

Beewek ★★★
() автор топика
Ответ на: комментарий от Beewek

Ты про сам товар?

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

alysnix ★★★
()

Как по мне - Озон пример хорошей архитектуры на микросервисах.

Судя по всему там все эти запчасти лежат в разных углах. И никак не связаны.

Могут картинки от товара уехать к другому товару - это точно, сам видел. Вероятно могут и оценки жить своей какой-то жизнью. А! Еще сообщения могут прилечь самостоятельно и отдельно. Тоже видел. Разные сервисы, разные БД, а вся женитьба одного на другом происходит уже в самом конце, перед отдачей пользователю.

Кайф в том, что практически всегда работает хоть что-то.

Ей-богу, вот в контексте всяких магазинов - замечательная технология.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)

у тебя же на картинке ясно нарисовано: 4,2 на основании 5 оценок. Среди них есть две оценки с отзывами.

yax123 ★★★★★
()
Ответ на: комментарий от yax123

Нет, вторая цифра там всегда 5, независимо от числа оценок. Это просто максимальная оценка.

Beewek ★★★
() автор топика
Ответ на: комментарий от Beewek

Нет, честное слово.

Не ракеты же пускают - всё правильно делают. Прилегли «сообщения» - да и пёс с ними.

------------

У меня прям болезнь с этим Озоном.... Практически 24/7 сижу на их сайте и что-нибудь покупаю... На огороде всегда что-нибудь нужно... Сейчас вот сижу жду «Калимагнезия, Универсальное калийно магниевое удобрение». Уже стал плохо понимать зачем нужны все остальные магазины.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от Toxo2

Аналогично:)

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

Beewek ★★★
() автор топика
Ответ на: комментарий от MoldAndLimeHoney

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

Ну это просто: товары хранятся по кластерам, вот они и выводят сортировку каждого кластера, а общую сортировку результата не делают тк не знают как сделать это быстро.

Obezyan
()

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

Zhbert ★★★★★
()

Хотя озон в целом какая-то какашка. Что с точки зрения интерфейса покупателя, что продавца. Такое ощущение, что его делают рукожопы, при этом постоянно меняя правила и всё остальное.

Zhbert ★★★★★
()

Аптечка Дикуля Живокост

Словами: у товара два отзыва, один с оценкой 5, второй - с оценкой 4. Средняя оценка: 4.2.

Озон как бы намекает на целительные силы сего товара.

Ygor ★★★★★
()
Ответ на: комментарий от Zhbert

Такое ощущение, что его делают рукожопы

Закупал там от имени юрлица, на реквизиты юрлица. Акт сверки в конце квартала формируется с расширением pdf по факту xls типа как 5 или что-то типа того.

Ygor ★★★★★
()
Ответ на: комментарий от Zhbert

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

Beewek ★★★
() автор топика

Мне кажется у каждого второго ЛОР-овца травма вызванная незнанием JS и столкновением с проектами написанными людьми с такой-же травмой и таким же уровнем знания.

Не существует pure evil ЯП. За исключением php ;)

Как и не существует идеального ЯП на все случаи жизни.

grim ★☆☆☆
()
Ответ на: комментарий от alysnix

Лень спорить, но ты не совсем прав. Перед глазами было несколько ярких примеров, когда помогала именно народная медицина*, и это после того как не справилась «официальная» медицина. И в двух особо запущенных случаях ехали в Китай, как раз на традиционную медицину, и оба раза весьма успешно.

(*имеется в виду именно медицина, а не целители-открыватели чакр)

rechnick ★★★
()
Ответ на: комментарий от grim

Мне кажется у каждого второго ЛОР-овца травма вызванная незнанием JS и столкновением с проектами написанными людьми с такой-же травмой и таким же уровнем знания.

Начинал писать на js асинхронные запросы ещё ДО появления jquery, те знаю язык и имею многолетний опыт.

JS как был говном так и остался и TS не спас.

Не существует pure evil ЯП. За исключением php ;)

Начинал писать на PHP ещё до версии 4. Т.е. - также знаю язык и имею многолетний опыт.

С v7.4 PHP стал неплох, с v8 - прям хорош.

Похоже, вы тот самый джаваскриптизер, который и js толком не знает и по другим ЯП судит о сообщениях 10летней давности.

Obezyan
()
Ответ на: комментарий от Obezyan

Насчет php это была шутка, так как я им уже лет 15 не пользовался и пара отвратительного качества проектов настроили меня к нему отрицательно, так же как вас что-то травмировало в JS.

Активно пишу на Java, JS, TS, C#, Scala, Python, Go, Perl, SQL несколько десятков лет (кроме Go, который изучил нескольколет назад).

Так что есть с чем сравнивать.

Кстати, последствия php заметны в React. Так что можео сказать, что php отавляет последствия…

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

я им уже лет 15 не пользовался

об этом я и написал, устаревшие суждения

и пара отвратительного качества проектов настроили меня к нему отрицательно

Поэтому вы решили что проблема с js проектами в этом же?

так же как вас что-то травмировало в JS.

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

Obezyan
()
Ответ на: комментарий от Obezyan

Поэтому вы решили что проблема с js проектами в этом же?

Независимо от ЯП можно испортить проект и наделать memory leak в проекте на Java и JS

Так что логично, что криворуки, не умеющие программировать могут испортить проек на любом ЯП, включая JS

Меня ничего в нем не травмирует, просто этот язык не подходит для бизнес логики на бекенде

Интересно, почему?

Особенно, если использовать TS.

Причина его популярности только в том что его может освоить практически любой.

Хмм.

А разве есть ЯП которые не «может освоить практически любой»? кроме brainfuck.

И в чем их преимущество?

grim ★☆☆☆
()
Ответ на: комментарий от grim

Интересно, почему?

Потому что только похапе — леденящий волосы на жопе язык настоящих обезьянов, а жопаскрипт так, его бледное подобие. Нет в нём той эпичности.

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Нет в нём той эпичности.

Как любителю FP, мне нравится, что JS/TS может возвращать функцию, как результат, что позволяет писать достаточно интересный и читаемый код.

Типизация в TS работает достаточно хорошо.

Библиотеки на все случаи жизни.

Т.е. интересно, чего «эпического» вам не хватает?

ПС.
Я не агитирую за TS на backend.
Мне привычнее Java/C#/Scala/Go

Скоре интересно в чем проблема использования JS/TS

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 2)
Ответ на: комментарий от MoldAndLimeHoney

Вполне возможны дополнительные факторы, влияющие на сортировку: новизна товара, даты последних комментариев (странно считать популрным товар, который никто не оценивал последние полгода и т.п.), количество посещений карточки, количество заказов.

У меня был в работе сайт, в котором часть таких факторов как раз таки учитывалась. И именно при сортировке по поулярности.

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

t3n3t
()
Ответ на: комментарий от alysnix

лекарства с травками

Навскидку: карсил и ряд других гепатопротекторов (расторопша), но-шпа и вообще спазмолитики (внезапно, дротаверин - аналог папаверина, алкалоида опийного мака). Из того что абсолютно точно работает.

Не, в целом я согласен, но и ребенка вместе с водой тоже не стоит выплескивать.

t3n3t
()
Ответ на: комментарий от MoldAndLimeHoney

Товар с сотней отзывов идет раньше, чем товар с 1000 отзывов.

Если-бы аналитики с озона следовали твоим идеям, самым топовым товаром там были бы валенки, которым одна бабка лет 10 назад настрогала коммент, а её кот поставил рейт 5 из 5.

bdrbt
()
Ответ на: комментарий от grim

Независимо от ЯП можно испортить проект и наделать memory leak в проекте на Java и JS

полностью согласен, просто несмотря на то что Java учат в школах (аиериканских) на js накосячить проще тк порог входа ниже.

Obezyan
()
Ответ на: комментарий от Nervous

Потому что только похапе — леденящий волосы на жопе язык настоящих обезьянов, а жопаскрипт так, его бледное подобие. Нет в нём той эпичности.

Скажите, в чем суть сети? А я вам отвечу, в TTL. Время жизни, таймаут - это база того интернета что существует.

И PHP - заточен под это, ведь он создан чтобы умирать. Умирать после каждого запроса.

У вас не будет проблем со сборкой мусора если смерть ВСЕХ объектов наступает после каждого запроса, thinkingblackguy.jpg

Obezyan
()
- У тебя было яблоко, тебе дали еще одно, сколько у тебя теперь яблок?

- Одно яблоко. Потому что яблоко + одно = одно яблоко.

- Твой родной язык javascript штоле цука?

windows10 ★★★★★
()
Ответ на: комментарий от Obezyan

на js накосячить проще тк порог входа ниже.

Ок.

Но давайте рассматривать TS, так как на JS пишут или заведомо «непробиваемые эксперта JS» или в безвыхрдной ситуации.

И TS с нормальным линьером и запретом на undefined.

В чем заключается простота «накосячить»?

К примеру multy-threading доступная в Java искаробки, в жс недоступна.

Вы наверное знаете как это неприятно отлавливать такие баги. Это касательно тредов и утечек памяти.

Далее, в Java очень любят наследование, но в силу многих причин часто используют Object, что ТС можно запретить.

Как и null.

Т.е. во многих отношениях ТС позволяет избежать рантаймм ошибок Java.

По моему именно это привлекает новичков и фанатов JS/TS

Как я уже писал, мне комфортабельнее писать backend не на TS, но не по причине того что на нем легче делать ошибки.

Но вероятно я просто не знаком с такими ситуациями.

Если можно, поделитесь.

Интересует с образовательной точки зрения а не по причине что я считаю что он лучше Java 😀

grim ★☆☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от grim

И TS с нормальным линьером и запретом на undefined

Гораздо интереснее не использовать any. Ведь он херит всю суть типизации. Я не видел ни одного крупного проекта без него.

Интересует с образовательной точки зрения а не по причине что я считаю что он лучше Java

Обезьян не учитель, но попробую базово раскидать на пальцах. TS на самом деле не решает проблемы JS. Сила JS в уровнях контекста block/function/variable и правилах приведения типов. Это позволяло отлично работать в виртуальной машине, но вкатыши в ИТ не понимали правила приведения типов, оттуда шло большинство проблем с кодом.

TS же это компилируемая надстройка добавляющая типы, слишком много типов. Ладно null, undefined и void. Но unknown, any, unique и never?

А как насчёт generic, union и intersection? А await и import? Это все типы.

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

TS это костыль, который упрощает разработку примитивных приложений, но делает невозможным создание больших систем (одна из причин почему у них все микросервисами).

Попробуйте реализовать assign() для Object без использования any, это классический пример.

Можно ещё много чего накидать, но основная проблема этого костылях - слишком громоздкая (идиоты называют её выразительной) система типов вкупе с недоделанной структурой типизацией.

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от Obezyan

Гораздо интереснее не использовать any.

Это само собой разумеется :)

слишком много типов. Ладно null, undefined и void. Но unknown, any, unique и never?

any нужен для импорта JS. И если вы запретите неинициализированное сосотояние вы с ними не столкнентесь. Я не помню, когда с ними сталкивался последний раз.

А как насчёт generic, union и intersection?

Рулес фарэвэ!

А await

Обертка над Promise.

И это самое гениальное изобретение в истории программирования!
В C# работа с threads стала простой и удобной в отличие от Java.

Из ТС оно перекочевало почти во все ЯП, кроме жава, так как оракл не может делать так как все :(

import? Это все типы.

Разве?
Насколько я помню это просто директива.

полная жопа при большой глубине вложенности и использовании интерфейсов.

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

одна из причин почему у них все микросервисами

И это хорошо.
Ведь Java и C# прочих тоже все на микросервисах.

grim ★☆☆☆
()
Ответ на: комментарий от MoldAndLimeHoney

Реально. Пока не допишешь буквально полное название того чего ищешь в списке каналов, может и не найти

karton1 ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)