danielvartanov / download-this-link Goto Github PK
View Code? Open in Web Editor NEWBackend and frontend for download machine
Backend and frontend for download machine
Совсем недавний реальный use case:
@2bj добавил 169 (очень полезных) ссылок на railscasts. Как остальному честному народу их найти? Самое простое -- по описанию. Значит нужен полнотекстовый поиск по описанию.
На настоящий момент открывается столько потоков скачивания сколько ссылок стоит в очереди.
При увеличении популярности ресурса, очередь может достигать размеров, при которых итоговая скорость скачивания каждого отдельного файла снизит полезность ресурса почти до нуля.
Поэтому нужно ограничивать количество потоков скачивания. Скажем, пятью.
Например при клике на слове "ошибка"
Сейчас юзер добавляет линку и в журнале закачек ждёт пока до неё доберётся downloader и проверит "хорошая" ли линка (отвечает ли сервер корректным статусом, не превышает ли размер файла предельно допустимый и так далее).
Было бы замечательно, если бы такая проверка проводилась когда юзер постит линку. Юзер бы сразу видел свою ошибку, а остальные не видели бы многочисленных "Ошибка" в журнале закачек
Например:
Наиболее популярный контент должен скачиваться приоритетно. Чтобы определить наиболее популярный контент, нужно ввести голосование за популярность ссылки.
Самое просто -- аналогичное digg.com.
Тогда, кстати, у юзеров будет стимул заполнять корректное и релевантное описание ссылок.
Это позволило бы снять часть нагрузки с сервера.
Для этого ресурс сам должен стать torrent-трекером.
Менять статус ссылки в родительском процессе на 'downloading' и после этого передовать дочерниму на закачку.
А то уже нарывались на file:///etc/passwd :-)
Сейчас довольно много народу по незнанию шлёт ссылки на HTML-страницы. Например, на посты в торрент-трекерах, странички скачки рапидшары и ifolder'а.
Нужно детектирвать такие ссылки по content-type и помечать их как ошибочные.
Юзер оставляет свой twiiter name при добавлении ссылки. При завершении закачки twitter-bot посылает reply или direct message о завершении закачки.
Пускай юзер при добавлении ссылки оставляет свой e-mail, на который ему придёт уведомление если закачка ссылки завершена успешно или окончилась ошибкой.
Уважаемый @sjukeshov пожаловался, что ресурс до сих пор живёт без favicon'а. Надо исправлять такое положение вещей, товарищи.
Два use case'а:
Юзер запостил ссылку на большой файл, который скачивался долго время. Возвращается на ресурс, лезет в журнал закачек, а там ещё три страницы ссылок надобавляли. Поиск нужной ему ссылки будет проблематичным.
При добавлении ссылки юзер получает ответ о том, что эта ссылка уже есть в системе и скачана/скачивается. Как ему её найти? Почти unreal при нескольких десятках страниц.
Хорошим решением обеих проблем была бы реализация поиска по URL'у.
Схема простая: постишь torrent-билетик, а ресурс его скачивает.
Тогда не придётся ресурсу заводить свой аккаунт на мировых треккерах и поддерживать ратио.
Говорят, премиум аккаунты rapidshare позволяют добывать прямые ссылки на файлы. Если это можно использовать, надо попробовать.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.