Форум по программам и оборудованию > > >

База штрихкодов: пожелания, предложения, замечания

25.05.2018 12:02


[ОТВЕТИТЬ]
10.01.2017 18:17
twix
 
Как-то странно получать данные с сервиса через пост-запрос. А как же рестфул апи?

А вообще, идея похвальная, но больно уже похожа на попытку сдвинуть горы...
10.01.2017 19:25
OlegON
 
Речь про эту базу:
Немного неудачно создалась тема, ну да ладно :)

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

А горы... Не попробую - не узнаю... Поддержите - поедет, не поддержите - будет еще один мертворожденный проект, коих уже сотни.
10.01.2017 20:37
twix
 
Да я понимаю, про что речь. Я не очень понимаю, почему на получение данных нужно делать пост запрос. И на запись в базу тоже пост запрос. Разделение какое-то должно быть по логике, нет?

Я вот тут пытаюсь через xhr получить товар по штрихкоду, но в ответ получаю абсолютную пустоту, либо 429. Логичнее было бы получать 404, если товара в базе нет.
10.01.2017 21:13
OlegON
 
В твоем "тут" как запрашиваешь код? Там спецкод обычно возвращается, если ты CSV используешь. До 404 довести недолго, руки всего две, а перепиливать пришлось кучу, уже даже жалею, что с MediaWiki связался.
10.01.2017 21:17
twix
 
Цитата:
OlegON В твоем "тут" как запрашиваешь код?
Код:
function inquireProduct(code){
    var http = new XMLHttpRequest(),
        url = "",
        params = "key=0&code=" + code;

    busy = true;

    http.open("POST", url, true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.onreadystatechange = function() {
        if(http.readyState == 4){
            setTimeout( function(){ busy = false; }, 1000);
            if (http.status == 200) {
                setResult(code + '<hr />' + http.responseText);
            }
            if (http.status == 429) {
                setResult('Too many requests. Try in a minute or so...');
            }
        }
    }
    http.send(params);
}

Цитата:
OlegON Там спецкод обычно возвращается, если ты CSV используешь. До 404 довести недолго, руки всего две, а перепиливать пришлось кучу, уже даже жалею, что с MediaWiki связался.
Так у тебя ж отдельный скрипт поиск по базе делает... Если он ожидать запросы и отвечать будет по стандарту рест, то вообще будет сказка.
10.01.2017 21:25
twix
 
Понял... Я отправлял параметр code, а надо card.
Странно, но ладно...
10.01.2017 21:41
twix
 
Возвращается вот такой вот мусор:

Код:
Товар по штрихкоду: 4620746221024

 Варианты наименования: <br>КАРАМЕЛЬ КУБАНЬ СЛАСТЬ LUX 250Г

[[Category:КОНДИТЕРСКИЕ ИЗДЕЛИЯ]][[Category:ШТУЧНАЯ]][[Category:КУБАНЬ СЛАСТЬ]][[Category:КАРАМЕЛЬ,ДРАЖЕ]]

 Производитель: РОССИЯ

 Количество: 1шт.

История цен в рублях:<br>
{|class="wikitable" style="min-width:150px;text-align:right;"
|+➛Москва
|-
|||январь||февраль||март||апрель||май||июнь||июль||август||сентябрь||октябрь||ноябрь||декабрь
|-
|2016||||||||||||||||||||43||43||
|}

{|class="wikitable" style="min-width:150px;text-align:right;"
|+➛Приморский край
|-
|||январь||февраль||март||апрель||май||июнь||июль||август||сентябрь||октябрь||ноябрь||декабрь
|-
|2016||||||||||||||||||||43||42||43
|}

[[Category:КОНФЕТЫ]]
[[Category:КАРАМЕЛЬ]]
[[Category:КАРАМЕЛЬ С НАЧИНКОЙ]]
[[Category:КАРАМЕЛЬ С НАЧИНКОЙ В УПАКОВКЕ]]
Можно заворачивать всё это в json? php ж умеет json_encode.
10.01.2017 22:02
OlegON
 
Это содержимое страницы ты заказываешь. Об этом честно и написано. Такая вот MediaWiki. Используй CSV, если тебе нужно только наименование товара.
Как завернуть в JSON разметку страницы я как-то и не представляю.
10.01.2017 22:10
twix
 
Блен... Т.е., на самом деле, оно жопно хранится, тупо в wiki markup. Грош цена такой "базе". ):
10.01.2017 22:36
OlegON
 
Вот именно потому и хотел переделать... Но, не поверишь, с технической стороны ко мне вопросов вообще никогда не было. Зато с человеческой - "а как"... Потому двинулся в сторону вики. Все страницы структурированы.
Но да, желание от этого избавиться только усилилось... Она еще и до хрена дублей хранит, что, правда, дает возможность откатываться нормально после вандализма...
10.01.2017 23:05
twix
 
Дубликаты и резервирование можно делать и другими методами.

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

А создание "базы" на вики... ну как-то тупиково, имхо.
10.01.2017 23:28
baggio
 
Поддержу на 146%
,Нужна база...
11.01.2017 07:16
OlegON
 
У меня здоровья не хватит веб-приложение для домохозяек писать, ладно, буду переделывать.
11.01.2017 14:07
twix
 
Я предложил бы бэкенд писать на ларавел. Очень удобно работать с моделями данных, может рест из коробки, и имеет возможность вставкой нескольких символов втыкать миддлваре в обработку запросов, что делает контроль пользеров и их действий наилегчайшим процессом.
11.01.2017 14:20
OlegON
 
Цитата:
twix на ларавел
А скорость нормальная? Тут количество запросов иногда до 1000/сек скачет, медиавики от этого без допиливания раком вставала...
11.01.2017 19:25
twix
 
Цитата:
OlegON А скорость нормальная? Тут количество запросов иногда до 1000/сек скачет, медиавики от этого без допиливания раком вставала...
Тут ничего сказать не могу... Быстрый гуглёжь не выдал ничего толкового про результаты нагрузочного тестирования ларавел. ):
11.01.2017 21:01
OlegON
 
Я тоже не нашел. Почитал - все же слишком объемная штука для изучения и поддержки. Не потяну... Я на уровне костылеписателя по вечерам, а тут надо вникать долго... Фреймворк достаточно тяжелый, чтобы работать быстро и быстро мной быть изученным. Гора классов, еще и через объектное все... В общем, испугался.
11.01.2017 21:14
twix
 
Я б мог взяться потихоньку... В виде хобби, так сказать, пару вечеров в неделю на это тратить.
Элементарный рест апи с моделью данных вообще можно слабать и обкатать за час.
11.01.2017 21:19
OlegON
 
Спасибо, буду иметь ввиду. Я пока заново переписываю структуру БД, чтобы учесть все по максимуму, поскольку к первой моей версии тоже были вопросы.
Чуть продвинусь, перенесу базу и API - посмотрим, что, да как...
19.02.2017 19:00
loorte
 
Замечательный у вас сервис ) Могу оказать помощь, на ларавеле будет работать на ура. Особенно если запилить REST Api, и базу нормально организовать. можно в json'e сразу хранить.

А для домохозяек можно на бутстрапе сделать с ангуляром, с использованиям того же Апи :)
Короче, если нужна будет помощь, буду рад помочь.


Сейчас привязываю 50к товаров к фотографиям хорошим, как доделаю поделюсь, будет хорошо ещё и фото отдавать по баркоду :)
19.02.2017 20:14
OlegON
 
Да помощь, наверное, не требуется, спасибо, а в JSON хранить не подойдет с точки зрения производительности. По этим же причинам не хочу заморачиваться с фреймворками.
Если есть фотографии - буду рад, если поделитесь, я пока еще в процессе допила того, что имеется, потом и нормально выдавать можно будет. Надеюсь добить основное до конца февраля.
19.02.2017 20:40
loorte
 
У нас проект крутиться на монгодб, там порядка 1кк записей, там всё в json-e. Потери производительности нету, правда сейчас переделываем и переводем всё в Постгрес, там jsonb.

А картинки отдам с удовольствием :) как только привяжу их к баркодам
19.02.2017 21:15
OlegON
 
У меня, получается, несколько таблиц с несколькими миллионами записей. По JSON Fulltext жалко будет расходовать, много уйдет на излишки.



пока еще видно, как изменилась нагрузка, когда я убрал одну большую таблицу в пользу разделения и оптимизации данных (между 15 и 16 февраля).
19.02.2017 21:23
loorte
 
Ну мы поиск конечно по другому реализуем, json-ом ответ просто отдаём. Проще говоря нашли ссылку на товар и забрали по этой ссылке из базы всю структуру json.
19.02.2017 21:25
loorte
 
Так или иначе, если вы захотите что бы появлялись программы и т.д. которые будут использовать ваш сервис, то лучше б это было сразу json(если мы говорим про мобильные приложения)
20.02.2017 07:26
OlegON
 
Посмотрим, как развиваться будет... В JSON всегда собрать не сложно, как говорил уже, он обязательно будет, а с точки зрения пополнения - проверки разные и прочее, лучше пусть данные разобранные уже лежат...
30.03.2017 07:09
konst
 
для получения наименования и классификатора необходимо посылать два разных запроса... зачем?
30.03.2017 07:10
OlegON
 
снижение нагрузки... большинству классификатор не нужен...
31.03.2017 09:54
konst
 
1. как узнать остаток средств на "ключе"?
2. при отправке запроса с ключем на котором нет денег - в ответ вообще ничего не приходит?
3. слишком частые запросы - по-моему присылает не 409, а 429?
31.03.2017 13:04
baggio
 
1111111111111 шк...
нужно как то бороться с левыми ШК...


Опции темы


Часовой пояс GMT +3, время: 12:02.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.