Комментарии 12
У ваших статей незаслуженно нет комментариев. Большое спасибо за этот материал.
Очень полезно!
Сам хочу написать когда-нибудь статью про организацию web backend на Go и GAE приминительно к мобильному приложению.
Очень полезно!
Сам хочу написать когда-нибудь статью про организацию web backend на Go и GAE приминительно к мобильному приложению.
Спасибо! Обязательно напишите. Особенно было бы интересно почитать о полном стеке: само приложение на Go github.com/remogatto/mandala и веб-сервис тоже на Go.
Спасибо вам за ваши посты. Тоже интереен этот язык. Не знаите ли вы Apache + ngnix будет с Go?
Go умеет работать с nginx и apache через FastCGI.
Вы можете перенаправлять запросы с nginx на Go приложение через proxy_pass. Разработчики Go рекомендуют все же не использовать Go-сервер без nginx/apache или другого подобного сервера, так как они лучше справляются с рядом задач. Например ssl handshake, gzip, spdy и прочее. Хотя все это конечно можно и в самом Go сервере сделать.
Кроме того положительный момент – пока nginx/apache запущен как root — само приложение может быть запущено от имени обычного пользователя.
Кроме того положительный момент – пока nginx/apache запущен как root — само приложение может быть запущено от имени обычного пользователя.
Спасибо большое за статьи!
Небольшой комментарий: если следовать правилам именования констант в Go (тому, который выложил Brad Fitzpatrick) — они не должны как в других языках быть все заглавными буквами. Хотя как по мне именно так их удобно воспринимать в коде. А вообще очень много полезного рассказали в этих статьях от написания API до тестирования.
Вопрос к знатокам: Если не используется martini — как вы передаете в HandlerFunc параметры вроде открытого соединения mgo или сессии? Пока что я выхожу из ситуации используя closures. Как пример:
Небольшой комментарий: если следовать правилам именования констант в Go (тому, который выложил Brad Fitzpatrick) — они не должны как в других языках быть все заглавными буквами. Хотя как по мне именно так их удобно воспринимать в коде. А вообще очень много полезного рассказали в этих статьях от написания API до тестирования.
- Кстати есть CI написанный на Go и использующий Docker контейнеры: github.com/drone/drone
- И есть еще интересный проект goconvey.co/
Вопрос к знатокам: Если не используется martini — как вы передаете в HandlerFunc параметры вроде открытого соединения mgo или сессии? Пока что я выхожу из ситуации используя closures. Как пример:
http.HandleFunc("/my/path/", func(w http.ResponseWriter, r *http.Request) { MyPathHandler(w, r, db, session })
Делаю так же. Другой вариант объявить переменную на уровень выше так, чтобы у каждого обработчика был доступ к ней.
Спасибо за дополнения.
Для хранения глобальных параметров, можно использовать gorilla.context www.gorillatoolkit.org/pkg/context.
Для хранения глобальных параметров, можно использовать gorilla.context www.gorillatoolkit.org/pkg/context.
А как вы думаете Go монополизирует языковые просторы?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пишем веб сервис на Go (часть вторая)