LINUX.ORG.RU

Представляю новый проект: обрезалка урлов qe.gs

 


0

1

Всем привет,

Давным давно я прикупил домен qe.gs. И вот сегодня я на него повесил наконец публичный проект собственной разработки. А именно обрезалку урлов.

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

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

UPDATE 2: Только сегодня. И только на ЛОРе, еще и Swagger покажу.


Классный js, чувак:

<script>
    $(function(){
        setTimeout(function(){
            var loc = $(location).attr('href');
            var cnt = (loc.match(/\//g) || []).length;

            if(cnt != 3) {
                window.location.href = 'main.html';
                return;
            }

            var idx = loc.lastIndexOf('/');
            var hash = loc.substring(idx + 1);

            if(hash.length == 0) {
                window.location.href = 'main.html';
                return;
            }

            var baseUrl = window['BASE_URL'];

            $.ajax(baseUrl + '/url', {
                type: 'GET',
                data: {hash: hash},
                success: function(data) {
                    window.location.href = data.url;
                },
                error: function() {
                    window.location.href = 'main.html';
                    return;
                }
            });
        }, 2000);
    });
</script>
anonymous ()
Ответ на: комментарий от anonymous

Именно. Таймаут я специально поставил чтобы людям рекламу показывать и деньги зарабатывать*.

* На самом деле нет.

alex07 ()

Просьба уважаемых лоровцев потестить сей механизм

Работает. А что будет, когда тебе станет лень продлевать домен и все урлы отвалятся, как это было с goo.gl?

оставить пожелания по улучшению.

Накати хотя бы бутстрап и сделай нормальную форму ввода.

beaver ()

Насколько длинной должна быть ссылка, чтобы не выдавало ошибку «url is not valid»?

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

Ааа, ему протокол hhtp(s) нужно указать.

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

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

On March 30, 2018, we turned down support for goo.gl URL shortener. From April 13, 2018, only existing users were able to create short links on the goo.gl console. Analytics data was available for up to one year, until March 30, 2019, when goo.gl was discontinued. Previously created links will continue to redirect to their intended destination. Please see this blog post for more details.

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

А что будет, когда тебе станет лень продлевать домен и все урлы отвалятся, как это было с goo.gl?

Не думаю что такой красивый домен мне будет лень продлевать.

Накати хотя бы бутстрап и сделай нормальную форму ввода.

Ну понятно. Не все же сразу.

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

Если не секрет, сколько по времени заняла у тебя разработка такого серьезного продукта?

Вместе с настройкой сервера вечер субботы и вечер воскресенья.

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

Тогда ок. Просто слишком чего-то просто. Мне кажется, на какой-нибудь Django это пилится минут за 10 примерно.

У меня Джава, все серьезно и ынтырпрайзно.

А на самом деле да, на функционал примерно так и ушло. Остальное это постройка проекта, какое то минимальное тестирование и т.д.

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

А какой смысл в обрезалках урлов?

Ну самый типичный — верификация СМС. Хотя и там уже коды скорее используются.

Короче смысл в том что длинный УРЛ превращается в короткий.

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

А какой смысл в обрезалках урлов?

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

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

Там UrlValidator от Apache Commons.

Блин, ну сделай дополнительную проверку перед этой варидацией, что если не указан протокол, то допиши его сам.

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

Короче смысл в том что длинный УРЛ превращается в короткий.

Лучше б наооброт, а то не солидно как-то.

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

ну сделай дополнительную проверку перед этой варидацией

Все будет. Со временем.

Сначала надо API сделать открытым, но в тоже время с защитой от ботов.

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

Для чего сокращать длину урла во времена десятимегабайтных веб-страниц и мемасов в HD?

Или кто-то вбивает их руками? При том, что в интернет ходят через гугол/яндекс.

А ходить по урлам из смс — ну такое себе. Ещё живы воспоминания о нерадивцах, попадавших на платные подписки после перехода по ссылкам из смс.

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

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

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

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

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

В общем и целом понятно. Только в случае третьих сервисов трекают пользователя ещё и они.

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

An error occured: URL google.com is not valid. - закапывай.

Потому что это не годная ссылка. Годная начинается с http/https.

alex07 ()

У меня была, вместе с клиентом под андроид и т.д., пока не случился час икс, и аренда сервера не стала слишком дорогой.
https://github.com/cryptofuture/urlhda
Идея той была в очень быстром добавлении записей, сейчас бы если бы делал, то сделал бы на node.js с аналитикой и личным кабинетом.

anonymous_sama ★★★★★ ()

Итак, сегодня хорошие новости: вышла вторая версия проекта. Теперь на Angular 8 + Angular Material.

Вес страницы с единственной формой увеличился до 6.5Мб, но и некоторые пожелания пользователей были учтены.

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

Curl с запретом редиректа спасут отца гусской демокгатии.

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

ng build надо с ключом --prod запускать

Да, точно. Это я первый раз проект на этом говне делаю

alex07 ()

Исходники будут? Оно скейлится? Что, если все семь миллиардов обезьян начнут переходить по твоим ссылкам?

Не знаю за РФ, но в Европе и США это довольно распространённый вопрос на собеседовании, спроектировать подобную штуку с прицелом на хранение миллиардов записей и откликом на десятки тысяч чтений в секунду (например Трамп пишет твит с твоей ссылкой, и все рвутся ее открыть).

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

Исходники будут?

Будут. Я еще даже репозиторий не создал.

Оно скейлится?

Я этот проект сделал за два дня. Однако, чисто теоритически, никаких проблем возникнуть не должно при наличии достаточных мощностей. Оно тупо настолько простое что там скейлить особо и нечего. DNS Round Robin и вперед.

alex07 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.