Проще кликнуть по ссылке, чем запомнить код, затем отыскать вкладку браузера, куда его нужно ввести. Часто юзеры заходят в почту через веб-интерфейс. Они видят, что необходимо подтвердить почту — либо открывают ее по закладке, либо вбивают gmail (условно) в адресной строке. Далее следует открытие новой вкладки браузера с почтовиком (и вероятно потеря текущей), либо почтовый клиент открывается вместо вашего сайта.
И далее по тексту:
При требовании ввода кода прямо сейчас и сбросе изменения при закрытии страницы, мы стимулируем пользователя на ...
Мы стимулируем пользователя искать ту самую вкладку среди десятка открытых, а если она уже закрылась — проходить процесс верификации заново. И вероятность, что пользователь плюнет на это и просто уйдет с сервиса не нулевая.
переадресация пользователя из письма идет на определенную страницу. И эта страница не профиль. Что жутко раздражает, не так ли?
Что мешает направить его на профиль с сообщением, что почта подтверждена?
IMHO, подтверждение по коду должно быть альтернативой перехода по ссылке, но не полной заменой.
На практике же — 90% из тех, кто помнит метод пузырька, его и будут использовать при необходимости написать сортировку. Прикола ради задали вопрос по пузырьку студенту стажеру. Нарисовал правильно. А он, на минуточку, человек, который пишет код уровня:
if (x === true) {
toggle(true);
} else if (x === false) {
toggle(false);
}
Вендоринг в go позволяет заморозить библиотеку на нужном коммите (если только там не разветвленная цепь зависимостей, которые вытянуть проблематично. Еще есть мой любимый gopkg.in (от создателей mgo), позволяющий использовать даже несколько версий одного пакета в одном приложении. Но тут проблема доверия и оф.поддержки для многих может стать решающим фактором.
Я имел в виду, что нормальной практикой является держать .go файлы в одном каталоге, особенно в небольших проектах. В моем случае это сервисы под linux-сервера и именование user.go и User.go вполне устраивает. Но, конечно же, это могут быть user.go и user-model.go и т.д. Ничего не имею против разделения по каталогам, все зависит от проекта и поставленных задач.
Я в таком случае создаю пакет controllers, где каждый элемент описывается в отдельном одноименном файле и представляет собой объект с необходимыми методами и свойствами.
Либо же вообще все ложу в корень проекта, применяя различные способы написания для файлов. Например users.go, Users.go. Это вполне нормальная практика для go, но по началу коробит многих, кто пришел с других языков, например с той же ноды.
В общем единого верного решения наверное не существует.
Относительные пути выпиливаются в пользу вендор. Нужно лишь добавить папку vendor внутри проекта, создать в нем нужные пакеты и можно обращаться к ним без указания каких либо путей. Так-же возможно склонировать пакет, например, с github и заморозить его на нужном коммите в vendor.
Оптимизируется, а средствами node.js еще и прекрасно кешируется.
Но вообще я не специалист по монге и использую ее в более простых вещах. А в подобных случаях предпочел бы сделать два запроса вместо одного. Потому не стоит продолжать троллить и ума выведывать, не по адресу.
Вот же он
И далее по тексту:
Мы стимулируем пользователя искать ту самую вкладку среди десятка открытых, а если она уже закрылась — проходить процесс верификации заново. И вероятность, что пользователь плюнет на это и просто уйдет с сервиса не нулевая.
Что мешает направить его на профиль с сообщением, что почта подтверждена?
IMHO, подтверждение по коду должно быть альтернативой перехода по ссылке, но не полной заменой.
Либо же вообще все ложу в корень проекта, применяя различные способы написания для файлов. Например users.go, Users.go. Это вполне нормальная практика для go, но по началу коробит многих, кто пришел с других языков, например с той же ноды.
В общем единого верного решения наверное не существует.
Но вообще я не специалист по монге и использую ее в более простых вещах. А в подобных случаях предпочел бы сделать два запроса вместо одного. Потому не стоит продолжать троллить и ума выведывать, не по адресу.
2)
Рабочая, проверил. Но если честно, впервые пишу выборку для такой структуры, может более опытные товарищи смогут написать агрегацию лаконичнее.
db.comments.find({userID: 100500}).sort({date: -1})