Dorian
Реализация API с локализацией на сервере
Ну язык в урле или в заголовке
Pavel
Ну вот я аргументировал. Нужно оно топикстартеру? Ни-хе-ра! Ему нужна локализация api...
Не подошёл аргумент. С вами тоже не все аргументы работают.
Pavel
Но почитать было интересно.
Daniel
Может я чего-то не понимаю, но как объект {"name": "USA"} в переводе на {"name": "США"} становится ui?
Не понимаете. На коды стран есть стандарт, и его надо использавать в api. На перевод стандарта нет.
Dair
Хорошо, например, запрос будет GET /countries?lang=en. А вот теперь интереснее. Каким образом можно будет сделать так, чтобы можно было спокойно переводить и другие данные? Как идея, можно создать объект такого вид: { "locale": { "en": { "name": "USA" }, "ru": { "name": "США" } } } И потом уже забирать из нужного поля значение
Dair
На мой взгляд, выглядит уродливо, но в качестве временного решения может подойти
.
Какие данные вы обычно собираете о пользователе и его поведении? Например, время последнего действия, лог действий, информация об используемых устройствах и т.д.
aadz
а так же его местонаходжение и текущий IP адрес актуальной любовницы или любовника
Dorian
Зависит от продукта же
Dorian
Кому то каждый хит нужен, а кому то время последнего логина за глаза
.
Данные которые собираются однозначно
Pavel
Какие данные вы обычно собираете о пользователе и его поведении? Например, время последнего действия, лог действий, информация об используемых устройствах и т.д.
Главное будь готов предоставить все данные пользователя по его запросу, если юрлицо или сервера в цивилизованной стране.
aadz
Данные которые собираются однозначно
Множество сайтов вобще ничего не собирает, кроме логина, пароля и иногда почты
🏁Александр
мне вот интересно
🏁Александр
а вы смешиваете внешние зависимости и локально бд?
🏁Александр
ну например данные идут не только с sql но и с внешнего api
🏁Александр
как все это мокать и на каком уровне класть вопрос конечно открытый
Slava
внешние апи всегда надо мокать
Slava
тесты же должны быть повторяемыми
Slava
sql можно не мокать, если не хочется. Я не мокаю =)
🏁Александр
ну базу надо мокать тоже
🏁Александр
я вот думаю куда присунуть блин внешний апи
🏁Александр
вроде он и на уровне бд, но не тянуть же его в dao
Мерль
ну базу надо мокать тоже
если очень нужно, то можно реализовать поверх встраиваемой СУБД
🏁Александр
если очень нужно, то можно реализовать поверх встраиваемой СУБД
я когда делал "синим", у них моки поверх интерфейса sql прямо
🏁Александр
типо в dao вместо драйвера кормиться мок драйвера
i..
Господа, очень глупый код, да, сам выдумываю сортировку, от большего к меньшему, по алго подсказывать не надо, скажите почему на 15 строку компилятор ругается
i..
Ого, а если между for и range не указывать 1-2 переменные, то что происходит?
Так там нет никаких переменных, или это намёк на что то?
Vasilii
Потому что после var i *int, i = nil
Vasilii
Задай значение начальное
Dk
Так там нет никаких переменных, или это намёк на что то?
Нет, я правда не понимаю. Ну, у тебя массив, обычно пишется for i, v := range или for i := range А у тебя нет i и v. Что там происходит-то?
i..
Потому что после var i *int, i = nil
Имелся ввиду х вместо i ?
i..
По массиву
Dk
Понял, спасибо
Anonymous
Я пытался🤷‍♂
у вас здесь указатель указывает на nil
i..
у вас здесь указатель указывает на nil
Ммм, начинаю понимать, только как его изменить, присвоить адрес какой-то целочисоенной переменной?
i..
да
Здорово, из сортира вылезу, проверю
i..
а можно код выкладывать, а не скриншоты?
Админу конечно все можно, хотя мне это затруднительно, тг ток на мобиле
Vasilii
x := *new(int)
Anonymous
x := *new(int)
ему нужен указатель, так что без звёздочки, просто x := new(int)
i..
Да, господа, судя по изменившейся ошибке, оба этих способа сработали(без звёздочки). Спасибо
Slava
https://about.sourcegraph.com/go/gophercon-2018-allocator-wrestling/ читали?
Co(n)stantine👨‍🔬
NEW https://about.sourcegraph.com/go/gophercon-2018-go-says-wat/
v.
Что лучше – в Go-бэкенд включить веб сервер, держать прилу постоянно открытой и проксировать запросы через Nginx к ней, либо задеплоить через CGI?
v.
По кое-каким причинам Nginx обязателен, так бы сделал все на Go. По поводу скорости – т.к. компилируется, то медленно запускаться не должно через CGI
Aleksei
Как сервис. Общаться через сокет
v.
Во-первых, можно в "приложухе" прямо web-сервер сделать
я это и имел ввиду. но конечный пользователь все равно будет к nginx подключаться
aadz
я это и имел ввиду. но конечный пользователь все равно будет к nginx подключаться
Значит, правильно сказали - пусть работает через сокет - будет быстрее, чем IP и тем более быстрее, чем CGI
v.
Ок, спасибо, про сокеты почитаю, не знал что нгинх так позволяет
aadz
Ок, спасибо, про сокеты почитаю, не знал что нгинх так позволяет
Вместо IP или адреса - просто proxy_pass unix:/var/run/service-name.sock
v.
А, так
v.
Понял
Sergey
Хм
aadz
Господа, очень глупый код, да, сам выдумываю сортировку, от большего к меньшему, по алго подсказывать не надо, скажите почему на 15 строку компилятор ругается
Потому что объявлен уаказательна int и все. к 15-й строке никто до их пор не знает, что за int такой? Указателю ничего не присваивалось, так что это nil.
Anton
i..
У вас пакет назван сортировка)
Если про каталог, в котором лежит эта дрянь, то да
aadz
У вас пакет назван сортировка)
Можно пакет было бы назвать и 排序 :)
i..
Потому что объявлен уаказательна int и все. к 15-й строке никто до их пор не знает, что за int такой? Указателю ничего не присваивалось, так что это nil.
Спасибо, спасибо, ребята выше все объяснили, все получилось, работает. Я бы выложил результат, но администрация против фоточек кода🤷‍♂
Daniel
а без фоточек - у вас лапки?
Michael 🌌
Ну или https://gist.github.com/
i..
а без фоточек - у вас лапки?
Даниэль, ну это же вручную набирать как минимум ссылку на пасте бин, или вот то что выше