Denis
называть пакеты одним коротким словом - это круто, но если не получается, это не означает, что ты должен толковый словарь английского языка открыть и весь день читать его, подыскивая слово. просто поставь себе отметку в голове - тут говнокод, но мы с ним смиримся
Denis
исправим позже, если вдруг идея появится. а не появится - ну ок, в одном месте будет snake_case
heavycharged
ребятки, а как вы именуете переменные, которые нужно конвертнуть в другой тип? Допустим, мне приходит в URL запросе ID - это строка. А мне нужно число.
Я делаю переменную idStr, и потом уже из неё получаю число, которое назову id.
Васильев Виктор
42
Васильев Виктор
Вечный вопрос о именовании переменных в программировании
Васильев Виктор
Это не сильно важно. Важно чтобы оно было читаемо. Ну назови ParamID или как-то так. чтобы было понятно происхождение
Васильев Виктор
и все
heavycharged
ясно, я думал может есть какая-то рекомендация на такой кейс. спасибо.
Васильев Виктор
Ну следуй общему гайдлайну форматирования го и именования. Почитай в блоге го. В остальном просто делай явно но не сильно длинно и все будет хорошо
Aleksandr
Great
Pawel
heavycharged
heavycharged
чат про go, обсуждают naming conventions в go, т.ч. все по теме.
V
это не очень гошный нейминг конвеншн, а вообще общепрограммистский
V
про такое обычно пишут во всяких хороших общепрограммистских книгах 🙂
Daniel
И пишут там «следует называть переменные хорошо»
heavycharged
у меня алергия на снобов, которые решают что и как нужно делать сообществу. влетает и говорит: это запиньте, а это прекратите обсуждать, а то мне надоело. ребята обсуждают, им интересно. если тебе не интересно, так не лезь и не читай. ну как-то так, в общем.
Pawel
дада, теберь ты будешь долго и нудно рассказывать как это важно и нужно обсуждать как назвать переменную.
нет никоакой специфич. naming conventions в go, чушь это. есть несколько простых правил, этого всем нормльным людям достаточно, а прокрастинирующим нодо ещё что-то как обычно
Yuri
ainu
@onokonem А можно подробное, что бы вы использовали для написания этого классического форума? Пусть это будет PostgreSQL, три таблицы: пользователи, посты и комменты.
Из дополнительных требований:
- должны писаться логи в файлы, т.е. если какая-то была ошибка, она должна быть записана в файл
- должна сессия пользователя сохраняться при перезапуске приложения. Например я у себя в ноде для этого использую редис, а что использовали бы вы?
- после перезапуска браузера пользователь должен остаться залогиненым, т.е. храним что-то в куке
Использовали ли вы что-то кроме стандартной библиотеки?
Ну iris (щитай замена экспресса).
Сессии в redis. Если сессий много (сотни тысяч, миллионы) - то JWT
Генерировать шаблоны любым шаблонизиатором (но я бы сделал go+react - можно стильно быстро молодёжно, быстрый форум наше всё).
Стандартная библиотека - не решение всех проблем. Если она существует - не означает, что запрещается использовать чтото ещё.
Алсо, начинать архитектуру надо не постов и комментов, а с ACL и уведомлений, это самая нагрузосоздающая часть - глядишь, и база поменялась, и от постгре отошли.
Следующий момент - спамеры. Если думаете, что от спамеров можно отмахнуться, то нет, проект может умереть.
Вот пример форума на Go - https://github.com/kjk/fofou - автор сдался перед спамерами.
Вот пример второго форума: https://github.com/go-tango/wego
НИчем подход от ноды не отличается ни-чем. К ноде гораздо ближе чем к PHP.
ainu
И очень важный момент - на go можно писать форум, но сложно движок форума
ainu
скажите пока-пока плагинам, как в phpbb, wordpress и так далее - go это компилятор
ainu
.so есть, но для линукса
ainu
Идеально - познать счастье в связке REST+React
Daniel
и REST делать на swagger
Alexander
ну почему, а сделать модуль как микросервис?
геморнее в подключении но сама функциональность плагинов остаётся?
Daniel
только оно ни хера не rest будет
Aleksandr
он не форум хочет писать, а изучить язык во время разработки приложения со стандартными веб-фичами, например форум
V
rest - это утопия
Aleksandr
то есть не важно какая база, не важно как боремся со спамерами, не важно с чего начинаем разработку. важно как решаются базовые проблемы в языке го
Daniel
если у нас не crud - у нас не будет rest, а будет rpc
V
но ведь и с помощью rpc можно сделать crud
Daniel
но я вот успешно пишу rpc на swagger, и не жужжу, хоть это и разрушает идеологию и концепцию
V
а, мы про теорию реста, а не про то, что все под ним понимают 🙂
John
господа, со всем обилием либ на го для кафки какую посоветуете? критерии стабильности, простоты приветствуются
Alexander
читаешь и ощущаешь себя каким-то идиотом)
первый раз слышу про swagger
почитал, вроде интересно, но до этого ни разу не встречал((
Nastya
Потребность: прекрасный программист Golang.
Проект: кроссплатформенный сервис стилизации изображений на нейросетях.
Вилка: 180-250к для сеньора и 120-180к middle разработчикам.
Условия: офис в Петербурге, гибкий график, оф.оформление.
Andrey
@NastyaPreobrazh тут рядом группа для этого есть: https://t.me/golangjob
🏁Александр
Настя, 4 предложения от каждого рекрутера и весь чат уже в "работе" :)
🏁Александр
я понимаю все, но тут не формат
Andrey
не, я про то, что и там и там примерно народ один и тот же сидит, а здесь ваше сообщение быстро затеряется
Andrey
no offence intended, как грица
Daniel
ainu
ainu
(disclaimer я сейчас не как отклик к вакансии, а обсудить идею - весёлая она)
Daniel
обсудите с Анастасией в личке, а? там хорошая идея, но требующая проверки
Илья
Когда тебя попросили написать самую простую сортировку)
Илья
https://play.golang.org/p/BOpr1w8Gwqh
Dmitry
Илья
100 000 000 итераций) Лучше на компе запустить)
Илья
Это по этой теме - https://ru.wikipedia.org/wiki/Bogosort
heavycharged
20 элементов, 160 лет.
heavycharged
Nazar
Компухтер железный он справится
Dmitry
Илья
Да, сортировка для тех, кто никуда не спешит)
Anonymous
Божественно.
Denis
Pawel
Pawel
почему бы не заюзать graphql вместо всего этого?
Dmitry
Pawel
это стандарт для синтаксиса запросов на сервер, который позволяет жить без глупых проблем, связанных с rest api
Васильев Виктор
Зато позволяет жить с гулпыми проблемами по созданию этого апи
Заур
Графql не панацея, у неё своих проблем хватает на самом деле
Заур
Даже на самом сайте написано, что пока он развивается и не закончен
Pawel
Не. Это глупая хрень вроде апи
Вот из-за таких как ты индустрия теряет сотни тысяч долларов на обслуживание архитектурных костылей. С т.з. "я сделал АПИ и мне срать кто и как им будет пользовать, пусть хоть сдохнут" - это да, глупая хрень. Если взять хоть раз в жизни и сделать самому нетривиальный фулстек микросервисный, то окажется что не такая уж она глупая хрень
Васильев Виктор
Васильев Виктор
Или топите за новые технологии просто так?
Max
Я где-то год назад на Node.js + React с graphql работал. Вначале нравилось, а потом все ж разленился и опять скатился в рест.
Васильев Виктор
вот только с нодой оно более или менее и дружит кое как
Max
В графкюэль радовало то, что не надо было писать документацию к АПИ. Но дополнительные танцы на стороне бекэнда все ж присутствовали, но не очень страшные.
Еще у этой технологии мне не нравилось то, что в мире реакта самым популярным решением был Apollo. А он добавлял много черной магии. И как всегда с магией, в случае нестандартных вещей, только проблемы появлялись.
Т.е. по факту это технология, без которой точно можно жить :)
Anonymous
Вопрос 1
Север общается с клиентом. Как лучше присваивать статус оффлайн? Типа если клиент не обращается к северу N времени то сервер пишет в бд статус оффлайн. Или чтобы клиент сам информировал сервер об уходе в оффлайн?
Вопрос 2
Нужно вывести статистику кто онлайн кто нет
Надо вытаскивать из бд все структуры клиентов и циклом проходить? Это же дофига ресурсов займет если бд большая
Anonymous
Как это лучше делать? :/