Комментарии 45
Оперативно! Молодца!
+2
Отлично! Продолжаем раздачу!
0
Вот как это выглядит
определяете свой статус
выбираете кого пригласить
комментарий согласован с автором.
определяете свой статус
выбираете кого пригласить
комментарий согласован с автором.
+2
ок, я бы тебе и переслал… )
+1
Непонятно. «Я могу приглашать» куда? На Хабру? На Гугло+? Ещё что-то?
+1
Тоже непонятно.
0
Сам апп писалось в качестве реакции на конкретный топик (про «гугл+») за несколько часов вчера вечером — думаю по коду это очень хорошо видно :)
По этому я не особо думал о конкретном тексте :) Прошу пулить с предложениями — в гитхабе это довольно просто. Тем более для таких профи в JavaScript'е (без иронии)
Если будет желание, можно развить этот мини-проектик в более универсальную штуку, хотя аналогов полно (ниже ссылки). Но цель была именно конкретный топик, именно для Хабра :)
По этому я не особо думал о конкретном тексте :) Прошу пулить с предложениями — в гитхабе это довольно просто. Тем более для таких профи в JavaScript'е (без иронии)
Если будет желание, можно развить этот мини-проектик в более универсальную штуку, хотя аналогов полно (ниже ссылки). Но цель была именно конкретный топик, именно для Хабра :)
+1
Не, код, впринципе, довольно неплох. Из замечаний — разные кавычки в html файлах:
Непонятно откуда появившаяся перменная:
Запись кода в одну строку:
И не следование собственному стилю:
На самом деле архитектурные изъяны вылезут в случае развития, но сейчас судить рано. Лично мне не нравится идеология express.js, она, имхо, поощряет плохую архитектуру.
<form method='get' action='/authenticate'>
<input type="submit" value="Login using Google" />
</form>
Непонятно откуда появившаяся перменная:
rand = Math.random();
, var rand
я сходу не нашёл. Запись кода в одну строку:
collection.save({_id:req.session.email, mode: req.body.usermode, random: Math.random() },{safe:true}, function(err,i) { res.redirect('/'); })
// =>
collection.save(
{
_id:req.session.email,
mode: req.body.usermode,
random: Math.random()
}, {
safe:true
}, function (err,i) {
res.redirect('/');
}
)
И не следование собственному стилю:
// 109 строка
else { res.send(user);}
// 111 строка
else res.send(user);
На самом деле архитектурные изъяны вылезут в случае развития, но сейчас судить рано. Лично мне не нравится идеология express.js, она, имхо, поощряет плохую архитектуру.
0
Спасибо :)
Код действительно писался «на коленке» прямо на сервере (без какой либо IDE), и части просто были скопи-пейстнуты из примеров (напр. OpenID и способ получения рандомной записи из MongoDB), именно по этому разница стилях кода.
Где заметил подправил. За одно заменил использование res.header+res.end на Express-овские res.send.
Вот что не могу понять, почему иногда скрипт вываливается в:
При чем node-dev не перестартовывает скрипт после такого падения. Гугление пока показывает на проблему с парсингом кук, но где у себя добавить try-catch чтоб хоть не так жостко валилось пока никак не пойму. Попробуй добавить хотя бы трейс запросов чтоб узнать когда именно падает, но не уверен что поможет — походу что-то внутрях connect'а или Express'а.
Может есть какие-то идеи?
Код действительно писался «на коленке» прямо на сервере (без какой либо IDE), и части просто были скопи-пейстнуты из примеров (напр. OpenID и способ получения рандомной записи из MongoDB), именно по этому разница стилях кода.
Где заметил подправил. За одно заменил использование res.header+res.end на Express-овские res.send.
Вот что не могу понять, почему иногда скрипт вываливается в:
URIError: URI malformed
at decodeURIComponent (native)
at Router._match (/home/ubuntu/node_modules/express/lib/router/index.js:329:17)
at pass (/home/ubuntu/node_modules/express/lib/router/index.js:196:30)
....
При чем node-dev не перестартовывает скрипт после такого падения. Гугление пока показывает на проблему с парсингом кук, но где у себя добавить try-catch чтоб хоть не так жостко валилось пока никак не пойму. Попробуй добавить хотя бы трейс запросов чтоб узнать когда именно падает, но не уверен что поможет — походу что-то внутрях connect'а или Express'а.
Может есть какие-то идеи?
+1
гм… походу я ступил — когда формировал запрос на получение следующего емейла, забыл encodeURI :)
Надеюсь в этом бяка была
Надеюсь в этом бяка была
0
Ловите все ошибки, отображайте пользователю 500, заодно можно логировать и найти проблему:
process.on('uncaughtException', function(error){
// process error
})
0
да оно как-то странно падало — если бы из процесса вышло то node-dev перезапустил бы процесс. А оно и не выходило, но новые коннекшены не принимало.
Возможно из-за висящего коннекшена к mongo.
Тогда действительно можно на «uncaughtException» повесить закрытие коннекшена к монго — тогда теоретически евент луп бы закончился и процесс перезапустился
Возможно из-за висящего коннекшена к mongo.
Тогда действительно можно на «uncaughtException» повесить закрытие коннекшена к монго — тогда теоретически евент луп бы закончился и процесс перезапустился
0
Или пойти на www.inviter.ru/ или inwhite.ru/
+1
получил инвайт через 2 минуты, отлично :)
0
Вроде под хаброэффектом…
0
У сайта только один недостаток: нет живого общения.
-3
Ну, как минимум, есть два топика, где общения хоть отбавляй :)
Хорошо когда есть выбор.
Хорошо когда есть выбор.
0
А можно как-нибудь узнать количество оставшихся инвайтов?
0
Блин моя идея прогарела, с утра предложил. А информационное поле земли подхватила и кто-то написал. Да 1500 постов, мой комп на работе не выдержал и завис. А насчет инвайтов, скинул некоторым после 15.00, а оно уже не дает регится. Гугл боится хабр сообщество?
0
хабраэффект сделал своё дело)))
+1
НЛО прилетело и опубликовало эту надпись здесь
Проверяли спам?
0
Дело в том, что я никак не могу проверить действительно ли кто-то выслал инвайт. Т.е. все «на честном слове».
Считайте что это просто замена коммента «вышлете мне инвайт» на который ответили «выслал».
Хотя… гм… А почему бы не сделать чтоб если кто-то нажал «выслать» отобразить емейл того, кто нажал чтоб можно было бы связаться с ним и спросить.
Вроде логично.
Считайте что это просто замена коммента «вышлете мне инвайт» на который ответили «выслал».
Хотя… гм… А почему бы не сделать чтоб если кто-то нажал «выслать» отобразить емейл того, кто нажал чтоб можно было бы связаться с ним и спросить.
Вроде логично.
0
Закончились желающие получить инвайт на 21 человеке :) Все, волна спала? :)
0
Мне показало, что кто-то выслал инвайт в 0:11, а фактически письмо пришло в 6:33. В спам не попало. Спасибо.
0
а как его использовать и где смотреть?
написано что 2 человека выслало, но никаких изменений у меня это не вызвало — на plus.google.com висит рекламка, в ящике — ничего.
написано что 2 человека выслало, но никаких изменений у меня это не вызвало — на plus.google.com висит рекламка, в ящике — ничего.
+3
Ну тут остается наедятся, что оба человека действительно выслали инвайт (никак проверить нельзя, все «на честном слове»).
Кроме того Гугл временами лимитирует отсылку инвайтов. По этому можно еще пару раз попробовать поменять статус — может кто-то другой отошлет и(или) подождать еще немного.
По идее на почту должно прийти сообщение о том, что кто-то расшарил пост или добавил в круг с ссылкой, по которой можно будет зайти в гугло+.
Кроме того Гугл временами лимитирует отсылку инвайтов. По этому можно еще пару раз попробовать поменять статус — может кто-то другой отошлет и(или) подождать еще немного.
По идее на почту должно прийти сообщение о том, что кто-то расшарил пост или добавил в круг с ссылкой, по которой можно будет зайти в гугло+.
0
Буду надеяться что и мне вышлют, хотя я немного «опоздал» :(
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Инвайтер: как убрать топики с 1500+ комментариями про инвайты