Дима
и при этом никаких проблем не решает
Anonymous
Из-за хранения на стороне сервера?
Nikolay
да
Anton
если ты хочешь дать возможность пошарить результаты поиска, например, то нужно писать query параметры в URL и шарить ссылку вместе с query параметрами вот посмотри на реальный пример: https://github.com/search?l=JavaScript&q=express&ref=searchresults&type=Repositories&utf8=%E2%9C%93
если хочешь совсем красиво, то можно добавить кнопку шаринга линки, которая будет отдавать тебе красивую ссылку. пример: оригинальный URL: https://github.com/search?l=JavaScript&q=express&ref=searchresults&type=Repositories&utf8=%E2%9C%93 красивый URL: (именно его ты шаришь) https://github.com/links/jk43bkjn3n9 при переходе на https://github.com/links/jk43bkjn3n9 сервер редиректит тебя на https://github.com/search?l=JavaScript&q=express&ref=searchresults&type=Repositories&utf8=%E2%9C%93
Nikolay
на самом деле можно это сделать без какой либо серверной стороны
Anton
base64?)
Nikolay
просто слать запрос с текущим урл на сокращалку
Nikolay
и отдавать пользователю
Nikolay
сокращалок урлов куча, можно даже свою написать
Anonymous
Тоесть делегировать некую вариацию searchID другом сервису, который будет страдать, но ему и положено?)
Nikolay
да
Nikolay
https://bem.github.io/bem-xjst/
Nikolay
вот тут кнопка "Share Link"
Anton
hostname будет уже не твой, это не красиво
Nikolay
все это без серверной реализации
Anonymous
сокращалок урлов куча, можно даже свою написать
Из сокращалки все равно писать/читать БД придется. Я не думаю, что 10к-100к записей будут сильно нагружать. Тем более ид будут храниться не дого
Nikolay
для сокращалки хватит быстрого key value хранилища
Nikolay
memcached, redis
Anonymous
Ну вот и получается searchID)
Anton
для сокращалки хватит быстрого key value хранилища
если размер линки не важен, то можно в base64 ее загонять
Nikolay
у браузерной адрессной строки есть ограничение по длинне
Anonymous
типо site.com/search?id="8asd8"
Oleg
Было дело
Oleg
Баг одного провайдера
Anton
типо site.com/search?id="8asd8"
это если только поиск, а там же и сортировка может быть и инклюды и так далее
Oleg
Там если денег нет - тебя редирект на страницу мол нужно оплатить
Oleg
И в конце ссылки парамерт
Oleg
На который тебя назад вернет
Oleg
Как оплатишь и тп
Anton
cburl?
Oleg
Но админ зафейлился
Oleg
И заблочил все адреса
Oleg
Включая адерс страницы оплаты
Oleg
Итого редирект на страницу оплаты
Oleg
Оттуда редирект на страницу оплаты где в параметре страница оплаты с параметром твоей страницы
Oleg
И так до бесконечности
Джон
#истории
Oleg
До переполнения длины ссылки
Nikolay
> URLs over 2,000 characters will not work in the most popular web browsers. Don't use them if you intend your site to work for the majority of Internet users.
Дима
cool story
Sergey
Чёрт возьми
Oleg
Надо блог завести 😄
Sergey
Ещё меньше нельзя было
Anonymous
спецы по semantic ui есть?
Anton
А. Я думал только поиск
оригинальный URL: https://github.com/search?l=JavaScript&q=express&ref=searchresults&type=Repositories&utf8=%E2%9C%93 1. Жмешь шаринг 2. JS берет из URLа “search?l=JavaScript&q=express&ref=searchresults&type=Repositories&utf8=%E2%9C%93” и прогоняет через base64. На выходе получаешь “c2VhcmNoP2w9SmF2YVNjcmlwdCZxPWV4cHJlc3MmcmVmPXNlYXJjaHJlc3VsdHMmdHlwZT1SZXBvc2l0b3JpZXMmdXRmOD0lRTIlOUMlOTMK” 3. JS формрует шаринг ссылку: https://github.com/links/c2VhcmNoP2w9SmF2YVNjcmlwdCZxPWV4cHJlc3MmcmVmPXNlYXJjaHJlc3VsdHMmdHlwZT1SZXBvc2l0b3JpZXMmdXRmOD0lRTIlOUMlOTMK https://github.com/links/ - у тебя есть скриптик, который берет из URLа base64 (c2VhcmNoP2w9SmF2YVNjcmlwdCZxPWV4cHJlc3MmcmVmPXNlYXJjaHJlc3VsdHMmdHlwZT1SZXBvc2l0b3JpZXMmdXRmOD0lRTIlOUMlOTMK), декодит его и делает редирект
Anton
профит
Anonymous
http://platonus-webjedix.c9users.io/ в крайнем справа блоке, как увеличить паддинги без своих стилей?
Anton
в большинстве случаев, 2к символов не переплюнешь
Nikolay
спецы по semantic ui есть?
это поделие которое с дичайшим каскадом?
Anton
Nikolay
ага щаз
Anonymous
это поделие которое с дичайшим каскадом?
это топ css фреймворк для приложений ❤
Oleg
Если нужно ну очень большой набор данных сохранить в стейте - есть 2 варианта
Oleg
1 - это ужать
Oleg
Что-то на вроде базе 64, но с ужиманием
Oleg
2 - это хранить на сервере
Oleg
А в ссылке лишь ключик
Oleg
Кто с ключиком пришел - тому стейт такой вот выдали
Nikolay
ужать — придумать свою систему обозначений типа b:1, c:2
Anonymous
compression.js юзайте
Anonymous
не знаю че она делает, но кажись сжимает
Oleg
Но это раздует бекенд сильно
Oleg
Но короткие ключи уже уменьшают потребности
Anonymous
бинарные ключи
Anonymous
👍
Anton
самый надежный - маппать на сервере самый легкий - энкодить и декодить на клиенте
Anonymous
найди баланс. делай посередине 👍
Vlad
самый надежный - маппать на сервере самый легкий - энкодить и декодить на клиенте
на клиенте можно легко получить инъекцию таким образом
Anton
найди баланс. делай посередине 👍
ну попробуй найди, мы тебя выслушаем
Anonymous
не стоит благодраностей
Anonymous
сервент*
Vlad
ты же из урла будешь декодить?
Vlad
урл — пользовательский инпут