If there are two ways: faster and more quality, it makes it more quality.
You can choose boldly.
Budget: 100 UAH Deadline: 1 day
I do it.
Budget: 200 UAH Deadline: 3 days
Ready to take a task for writing a script.
Делать алгоритм нереально, слишком много вариаций, формулой не обойдешься, а вот если бы не нa google декодировать, а на сайте, все было бы довольно просто
Игорь, смотрите с такой стороны
Надо короткий айдишник вводить в таблицу, дальше в таблице короткий айдишник декодируется обратно в исходный длинный и подставляется в формулу. Формула собирает значения с нескольких ячеек и превращает их в ссылку. Дальше при нажатии на эту ссылку идет передача данных в определенный сервис, в том числе и длинного id.
Теперь, может есть вариант декодировать это все не в google docks а на каком-то серверном приложении. Например в гуглдоксах формула собирает данные и формирует все туже ссылку, которая содержит короткий id. По нажатию на ссылку информация поступает в приложение, декодирует в ссылке короткий id на длинный, делает такую ссылку как нужно и делает по ней переход.
Что скажите?
Спасибо!
По нажатию на ссылку информация поступает в приложение. Приложение декодирует в ссылке короткий id на длинный, то есть, делает такую ссылку как нужно и делает по ней переход.
по скайпу к сожелению сейчас не могу
если что - почта vabz собака bk ру
пример запроса
www . google-analytics.com/collect?v=1&tid=UA-477854-1&cid=1223916595.1366127334&t=pageview
код который нужно кодировать - cid=1223916595.1366127334
ссылка может состоять еще и из других параметров.
прикрепляются через &параметр= в конце
Смотрите, если сделать так.
Сделать определенное приложение и разместить в папке сайта.
Дальше в любом месте можно составлять ссылку с необходимыми параметрами и делать по ней переход (excel, гугл док, блокнот..... и т.д.)
Ссылка будет примерно вида:
www. domain.com/decoding/cid=BTR789&..... остальные параметры
При переходе по ссылке информация поступает в приложение в папке сайта.
Оно берет cid=BTR789 кодирует обратно в длинный код, и склеивает с
www .google-analytics.com/collect?v=1&tid=UA-477854-1& и остальными параметрами.
То есть, получает полноценную нужную ссылку и делает по ней переход.
Только нужно сделать возможность изменять строку www . google-analytics.com/collect?v=1&tid=UA-477854-1&. По сути она статическая, но для разных сайтов будет разная.
Что скажите?
мне сложно сказать, я не знаю сколько времени будет занимать разработка.
предлагайте цену
по последнему получается что нужно:
1) скрипт который ставиться на каждую страницу сайта, кодирует передаваемое в него значение, и дает возможность выводить это значение на страницу
2) скрипт, который устанавливается на отдельную страницу, парсит всю ссылку по которой перешли на эту страницу, конвертирует ее по описанному алгоритму и делает по ней переход (типа клик)
Если нет никакой общей части у всех ID и никакого алгоритма создания этих идентификаторов, то есть все ID абсолютно уникальные, и изменяются не только последние разряды, то самый простой алгоритм - это перевод в другую систему счисления. Например с основанием 36 (можно взять больше, но из-за обилия символов будет каша)
1223916595.1366127334 будет выглядеть, как K8OS37.MLCULI
12239165951366127334 , как 2KZJQ8H8N1Q8S
Проще никак. Как видите, тоже не удобоваримое.
Если же анализировать все поступающие идентификаторы, то сложность алгоритма возрастет на порядок и это будет не одна формула, а куча функций.
Роман,
Общей части нет. Абсолютно уникальные.
Находил идентичные задачи, там предлагали кодировать в систему счисления 62. Типа использовать еще регистр букв и доп символы. С допсимволами может быть каша, как вы говорите, а вот с регистром думаю терпимо. Не нашел такого конвертера, поэтому не знаю какая длинна укороченного варианта получится. Даже 7-м символов было бы не плохо.
Что вы имеете ввиду : "если же анализировать все поступающие идентификаторы, то сложность алгоритма возрастет на порядок и это будет не одна формула, а куча функций."
На сайте генерится один id при заходе на сайт с одного браузера.
То есть кол-во id равно кол-ву уникальных заходов на сайт.
А декодироваться и отправляться в составе ссылки такие id будут еще реже.
кстати вот ссылка
https://ptrofimov.wordpress.com/2011/04/15/%D1%81%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-id-%D0%B2-62-%D1%80%D0%B8%D1%87%D0%BD%D1%83%D1%8E-%D1%81/
Роман, есть еще один вариант. Вместо кодирования можно генерить свой код и складывать это все в таблицу-сравнений. Дальше из нее же извлекать.
Но в таком случае нужно установить время жизни свзяки "короткий код - длинный код".
Длинный код берется из cookie. Их срок жизни 24 мес после последнего захода на сайт.
Можно например добавить в таблицу поле с последним обращением, или обновлением куки. При нехватке комбинаций использовать самое старое.
Такое реально сделать?
Да, именно по такому принципу и работают сервисы коротких ссылок. Вы немного опередили меня. ) Я тут ломал голову на счет "анализа id".
В любом случае либо таблица соответствий, либо каша из половины символов юникода (даже при системе счисления с основанием 62 не получится 7 символов), либо больше семи знаков.
С идеей использования БД не все так гладко, там довольно непростой механизм, как кажется на первый взгляд. Да и нагрузку на базу лишнюю давать нежелательно.
Есть идея одного алгоритма без использования БД и соостветствий, который в конце концов должен будет привести к строке длиной не более заранее заданного количества знаков, но вопрос в том, насколько ресурсоемкая это задача - возможно будет много итераций и это будет нагружать процессор. Я еще не знаю, что лучше - пока одни только наброски.
по нагрузке на бд: добавление значений - зависит от кол-ва заходов на сайт (может быть 100, может быть 100 тыс в сутки). Но нужно учитывать только факт захода, а не весь сеанс. За длительное время размер базы может быть несколько миллионов, а то и десятков миллионов строк....
по кол-ву знаков в коротком коде 6 было бы отлично (без !"№;%:?*()_ и т.д. желательно )))))
ок, если сможете что-то предложить - пишите!
Я в общем-то когда-то делал подобное задание. Алгоритм очень прост был. С использованием БД 2 и несколько обращений к БД
Cryptocurrency & Blockchain 24 proposals 1 August
Web Programming 68 proposals 29 July