LINUX.ORG.RU

Стоит ли заканчивать сайт?


0

2

Сейчас я работаю над сайтом. Это комбайн с сокращателя ссылок, хостинга картинок и хостинга кодов (привет, pastebin). Т.е. мы по любому получаем краткую ссылку на то, что загружаем или что добавили. Готово, практически, 80-90%, осталось только чуток до верстать, дописать и проверить. Ну и баги (какие-то точно будут).

Примеры кратких ссылок:

  • Для сокращенных ссылок:
    • host.com/xyz - переход на полную ссылку
    • host.com/xyz.lnk - показ подробностей
  • Для пикч:
    • host.com/xyz - показ подробностей
    • host.com/xyz.(extension) - прямая ссылка на полную картинку
    • host.com/xyz.thumb.jpg - прямая ссылка на миниатюру
  • Для кодов:
    • host.com/xyz - показ подробностей
    • host.com/xyz.raw - прямая ссылка на plain text
  • Для всего есть еще такая конструкция:
    • host.com/xyz.qr.png - показ QR-кода

Возможности:

  • регистрация или авторизация по openid (google, vk, yandex)
  • архив всего что сокращалось
  • выбор кастомного краткого для объекта
  • установка пароля на объект

Рабочий тестовый пример - http://filestorage.shadowprince.ru
Примеры объектов:

Если что - пишу на Python, использую Django.
Хостинг уже есть, как видите даже apache с mod_python подняли
Есть исходники (правда чуток устаревшие) - http://github.com/ShadowPrince/Jomp
Просьба к исходникам не сильно не придираться, это мой первый проект на Python и Django.
Верстку поправим.
И еще одно - от фраз на сайте не сильно тянет петросянством?

Ну и, собственно, вопрос - стоит ли все это заканчивать и в паблик? И стоит ли это постить где-нить на хабре?

Известные траблы:

  • Иногда ZeroDivision
  • После реги юзер не авторизуется сразу
  • Верстка
  • Не всегда есть сообщение о ошибке

В чем идея сайта?
just for fun?

стоит ли все это заканчивать

Стоит ли всегда заканчивать, что начал?

и в паблик? И стоит ли это постить где-нить на хабре?

Оно уже в паблике. Если хочешь привлечь юзеров, то да.

x4DA ★★★★★ ()

да, и вообще стоит. Хотя бы потому что начать дело могут тысячи, но только единицы могут довести до конца. Это для тебя же плюс будет, если ты выпустишь его в live

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

Оно уже в паблике. Если хочешь привлечь юзеров, то да.

Я имел в виду прикрутить нормальный домен и как-то распространить сервис.

В чем идея сайта?
just for fun?

Один удобный сервис для подобных задач.

ZeroDivisionError at /add/

Спасибо, но лучше бы вы уточнили то что делали.

ShadowPrince ()

Для начала man pep8. Вообще в коде и без того хватает безумия, но пока он форматирован табами — даже смотреть туда не хочется.

Но для первого проекта неплохо. Я видал код похуже, и это были не первые проекты >_<

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

На pep8 смотрел, думаю потом привести все в порядок. А вот на счет табов и пробелов - какие конкретно минусы форматирования табами? В pep8 разрешается и то, и то.

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

For new projects, spaces-only are strongly recommended over tabs. Most editors have features that make this easy to do.

Все юзают 4 пробела. Почему именно пробелы? Нужно было выбрать что-то одно, вот и выбрали их. Из очевидного — таб слишком широкий, например в браузере, когда глядишь код на гитхабах.

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

загрузить картинку \ нажал «выберите файл»

\ выбрал файл(13 кб, png)\

нажал джомп и получил:


ZeroDivisionError at /add/
integer division or modulo by zero
Request Method: POST
Request URL: http://filestorage.shadowprince.ru/add/
Django Version: 1.3.1
Exception Type: ZeroDivisionError
Exception Value:
integer division or modulo by zero
Exception Location: /dj/jomp/lib.py in imageResize, line 54
Python Executable: /usr/bin/python
Python Version: 2.6.6
Python Path:
['/dj/jomp/',
'/usr/local/lib/python2.6/dist-packages/django_social_auth-0.6.0-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/python_openid-2.2.5-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/oauth2-1.5.210-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg',
'/usr/lib/python2.6',
'/usr/lib/python2.6/plat-linux2',
'/usr/lib/python2.6/lib-tk',
'/usr/lib/python2.6/lib-old',
'/usr/lib/python2.6/lib-dynload',
'/usr/local/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL',
'/usr/lib/pymodules/python2.6']
Server time: Fri, 16 Dec 2011 03:12:54 +0300

rg-400 ()
Ответ на: комментарий от rg-400

Ошибка, возможно, связана с размером картинки.

И еще если много мусора запихать в поле для кода, то получаем следующее:


NameError at /add/
global name 'HttpResponseReidrect' is not defined
Request Method: POST
Request URL: http://filestorage.shadowprince.ru/add/
Django Version: 1.3.1
Exception Type: NameError
Exception Value:
global name 'HttpResponseReidrect' is not defined
Exception Location: /dj/jomp/codes.py in validate_code, line 9
Python Executable: /usr/bin/python
Python Version: 2.6.6
Python Path:
['/dj/jomp/',
'/usr/local/lib/python2.6/dist-packages/django_social_auth-0.6.0-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/python_openid-2.2.5-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/oauth2-1.5.210-py2.6.egg',
'/usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg',
'/usr/lib/python2.6',
'/usr/lib/python2.6/plat-linux2',
'/usr/lib/python2.6/lib-tk',
'/usr/lib/python2.6/lib-old',
'/usr/lib/python2.6/lib-dynload',
'/usr/local/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL',
'/usr/lib/pymodules/python2.6']
Server time: Fri, 16 Dec 2011 03:28:21 +0300

rg-400 ()

Если вопрос был «нужно ли это вам». Да, хороших и удобных сервисов такого типа приходится долго искать. Если «получу ли я с этого профит» и «стоит ли мне тратить время» то в этом я не шарю, но заявка на обывательский взгляд достойная.

А вёрстку вы переделаете или добавите ещё столько же странностей и непривычностей? :)

jeuta ★★★★ ()

без js не работает? не нужно.

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

А головой подумать не пробовал? Таб шириной в 8 пробелов — это фича github, а не кода ТСа.

Продолжаем уроки чтения на ЛОР:

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

redixin ★★★★ ()

стоит ли все это заканчивать и в паблик?

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

Просьба к исходникам не сильно не придираться, это мой первый проект на Python и Django.

Для первого проекта нормально. Стоит, конечно, поработать над структурой проекта (а то слишком много файлов в корне).

gruy ★★★★ ()

если таки надумаете ити в продакшен - рекомендую заменить mod_python на что-то другое. он уже давно как рипнулся

ZuBB ★★★★★ ()
Ответ на: комментарий от rg-400

ZeroDivision
И еще если много мусора запихать в поле для кода

Первая ошибка - да, из за размера картинки, исправлю. Вторая - банальная опечатка, HttpResponseRedirect.

А вёрстку вы переделаете

Переделаем. А вообще там 2 верхних элемента (лого и логин) с float, поэтому, кажется, все и поплыло.

странностей и непривычностей

Эм, какие тут странности и непривычности?

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

Исправил ZeroDivision, опечатку в HttpResponseRedirect (при добавлении слишком много кода), возможно верстку вверху.

без js не работает? не нужно.

Не ужели так много людей отключает JS в браузерах? Сейчас даже Opera Mini, хоть и с множественными перезагрузками, корректно с ним работает.

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

а ты анонимус небось в 16 лет свой болгенос запилил не? пусть лучше этим занимается, нежели бухает в каком нить райцентре возле Чернигова.

ZuBB ★★★★★ ()

регистрация или авторизация по openid (google, vk, yandex)

а регистрация что дает? если ничего, так убери/заремарь

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

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

Это я просто уточнил, что даже она нормально работает с JS почти на всех сайтах.

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

если уточнил - значит тестил (и время соотвественно потратил). а сейчас не mini главное

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

а регистрация что дает? если ничего, так убери/заремарь

Ну есть и традиционная рега, и через openid.

если уточнил - значит тестил (и время соотвественно потратил). а сейчас не mini главное

Я просто много раньше пользовался мобильным инетом (лучше не было)

Ошибка: http://ompldr.org/vYnJtaA

Вот как-раз попали когда я менял.

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

а регистрация что дает? если ничего, так убери/заремарь

Ну есть и традиционная рега, и через openid.

получает ли авторизированный (любым путем) пользователь дополнительную функ-сть? если нет, тогда нахер она сдалась?

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

получает ли авторизированный (любым путем) пользователь дополнительную функ-сть?

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

ShadowPrince ()

я не программист. Я пользователь.

Сайт понравился, интерфейс понятный, без излишеств. Удобно то, что и картинки, и код, и ссылки делать можно. Хорошо, что унифицированы типы ссылок на контент. Во второй половине прошлого десятилетия прямых ссылок в интернете заметно поубавилось.
За 16 лет - уважение! Молодец. Я в твои годы дневальным стоял и взлетку драил... Ну и поражен тем, что такой юнец может сделать подобный проект. А я до сих пор остался в web 1.0, так сказать :-((

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

А я до сих пор остался в web 1.0, так сказать :-((

Я тоже не большой любитель второго вэба (наверное через плохой интернет), но без него уже никуда.

Апдейт: Добавлены опции при добавлении пикчи: размер миниатюры и текст на ней.

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

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

по поводу пробелов и табов, в том то и лажа что на гитхабе табы в 8, у кого-то в 2, у кого-то в 4. а пробелы они всегда...

trashymichael ★★★ ()

Пока что у вас получается так, что вы делаете 3 разных сервиса. К примеру, недавно мне потребовалось выложить листинг кода и прикрепить к нему спрайт (без которого код не имеет смысла). Я воспользовался Гитхабовскими Гистами, но не очень остался доволен простотой этого процесса.

Вот моя скромная рекомендация: переплетите ваши три сервиса в один.

prostosuper ()

Восхищен вашим проектом впервые встретил такую идею и ее реализацию.
Заканчивать проект однозначно нужно! Буду следить за развитием темы

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

Допиливай до конца. Удобная штука. Если можно будет ещё мелкие архивы выкладывать (до 5 - 10 Мб, к примеру) - цены не будет. А сервис так и будет доступен или это выложил на пробу показать?

Надо сделать авторизацию через ЛОР. :)

Подписался на тему.

stolz ()

я нечаянно, честно-честно :3

% wget -S --spider http://jomp.ru/1         
Включен режим робота. Проверка существования удалённого файла.
--2012-01-14 21:20:48--  http://jomp.ru/1
Распознаётся jomp.ru... 46.4.28.6
Подключение к jomp.ru|46.4.28.6|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 
  HTTP/1.1 302 FOUND
  Server: nginx/0.7.67
  Date: Sat, 14 Jan 2012 17:21:16 GMT
  Content-Type: text/html; charset=utf-8
  Connection: keep-alive
  Vary: Cookie,Accept-Encoding
  Location: http://1326333902%201321895500%20gnome-keyring%20/usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
Адрес: http://1326333902%201321895500%20gnome-keyring%20/usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so [переход]
Включен режим робота. Проверка существования удалённого файла.
--2012-01-14 21:20:48--  http://1326333902%201321895500%20gnome-keyring%20/usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
Распознаётся 1326333902 1321895500 gnome-keyring ... 79.14.63.206
Подключение к 1326333902 1321895500 gnome-keyring |79.14.63.206|:80... ^C

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