Roman
я вроде в FAQ описал что иммут это одна из тех фич которые безболезненно реализовать в Go 1.x - реально, относительно других затей типа error handling и generics
Илья
а линтерам ж тоже мигрировать придется? они или падать будут или пропускать, если встретят const
линтеры работают с выхлопом ast, если как-то это завезут, линтерам пофиг
Roman
а линтерам ж тоже мигрировать придется? они или падать будут или пропускать, если встретят const
хорошее замечание. С линтерами всё зависит от того как они парсят Go код, если они парсят его через AST тогда всё будет в порядке и продолжит работать безменений.
Artem
линтеры работают с выхлопом ast, если как-то это завезут, линтерам пофиг
ну выхлопом то да, но там то типы есть конкретные в go/ast в которых придется включить эту иммутабельность
Roman
Трудно себе представить, как можно реализовать линтер без аст, на регекспах, что ли?
да как угодно 🙂 но толковый линтер, однако, конечно будет использовать AST
Artem
и какие-нибудь линтеры могут просто не ожидать, что там придет что-то кроме ast.Ident
Илья
я плохо представляю, как именно это будет завезено (и может ли в принципе) скорее всего, флаг в type, для линтеров без явной поддержки вообще ничего не должно меняться
Artem
эт ты к чему?
Илья
так const декларации уже завезли, просто +1 кейс
Artem
ну вот именно что +1
Artem
а линтеры то много лет назад написаны
Илья
я не думаю, что линтеры будут падать, но фолс реакции на const, конечно, будут
Artem
В рамках противодействия свободному времени и желанию улучшить материал, дайте критику по https://habr.com/post/425025/ , заранее спасибо
Alexandr
Добрый день, подскажите пожалуйста. Изучаю beego и возник вопрос, можно ли его использовать без использования orm, а писать чистый sql ?
Aleksandr
можно
aadz
и нужно! ORM, обычно - это зло и просто какая-то подпорка для инвалидов, которым нужна база данных, но они не хотят знать, как ей пользоваться.
Alexandr
Ок спасибо
Alexandr
А использование всяких фреймворков в go это не «подпорка»?
Aleksandr
подпорка
aadz
Нет. Но что касается DB - ты просто в итоге напишешь свою ORM, которая отвечает твоим задачам. А может быть, просто SQL будешь аккуратно писать, может быть, не всегда руками... Просто надо понимать, что любое обобщение в этом деле - это всегда небесплатно
aadz
Ок спасибо
Тут Алексей Палащенко бывает, у него есть ORM общего пользования. Поговори с ним, кстати
aadz
мне автоматические миграции пока не интересны. Я руками все могу сделать, как и большинство пользователей, которые любят базы данных
Daniel
атоматические миграции - это такое добро, что никакого зла не надо
Eugenii
расскажи это автоматическим миграциям
а в чем проблема написать автоматическую миграцию на sql? насчет подпорки, не то что бы не согласен, но должен уточнить, что это по факту бизнестребование. кадры без знания скл чаще чем с
Eugenii
на перловом проекте dbix вообще звер не так давно, для двух реквестов переписал один запрос на raw sql причем без причесывания индексов, без вьюх и прочее, просто тупо переписал запрос. и сервер задышал, конкретно эти реквесты в 10раз ускорелись, а за счет их популярности, общая нагрузка упала почти в 4 раза
aadz
а в чем проблема написать автоматическую миграцию на sql? насчет подпорки, не то что бы не согласен, но должен уточнить, что это по факту бизнестребование. кадры без знания скл чаще чем с
кадров со знанием SQL полно, между прочим. Мало тех, кто относится к этому, как к работе со множествами. А на бытовом-то уровне - все SQL знают
Anonymous
Andrei 🦉
а в скорость разработки вы включили изучение ORM?
с программистом на скриптовых языках знание орм идет, как правило, в комплекте
aadz
:)
Eugenii
особенно та часть, которая не тривиальная выборка из одного двух джоинов
Anonymous
с программистом знание sql, как правило, идёт в комплекте
Eugenii
с программистом на скриптовых языках знание орм идет, как правило, в комплекте
не согласен, причем даже у тех кто позиционирует себя как сыньер
Andrei 🦉
не согласен, причем даже у тех кто позиционирует себя как сыньер
ну это ваше частное мнение, а рынку нужны тысячи программистов на «Django»
aadz
вряд ли подеретесь...
Andrei 🦉
просто python интересует гораздо меньшее чи сло работодателей, пусть ты и хоть трижди синьор
Daniel
языкосрач?
саша
и нужно! ORM, обычно - это зло и просто какая-то подпорка для инвалидов, которым нужна база данных, но они не хотят знать, как ей пользоваться.
ORM — это как минимум 1) декларативное описание схемы базы 2) запросы с тайпчеком, а не просто строчки с SQL кодом
саша
Тут ещё может автоматическая генерация документации для схемы
Andrei 🦉
языкосрач?
просто релевантный пример, го еще слишком молод для таких тенденций
aadz
ORM — это как минимум 1) декларативное описание схемы базы 2) запросы с тайпчеком, а не просто строчки с SQL кодом
В нормальном проекте может бытьт и первое и второе, и должно быть. И без всякого ORM - может быть
Daniel
и молод, и неудачно скроен для чего-то вроде django
Andrei 🦉
ORM — это как минимум 1) декларативное описание схемы базы 2) запросы с тайпчеком, а не просто строчки с SQL кодом
а мне больше нравятся ормы, которые пляшут от базы, а не генерят ее, например, https://github.com/volatiletech/sqlboiler
Eugenii
2) запросы с тайпчеком, а не просто строчки с SQL кодом эээ, даже пых в 4м своем издание использовал биндинги
Anonymous
просто релевантный пример, го еще слишком молод для таких тенденций
ну старики PHP уже сами запутались какой фреймворк изучать 😂
aadz
и молод, и неудачно скроен для чего-то вроде django
Да джанга хорошаая, Чего ты ее ругаешь? Это же канал про аниме! Как можно что-то ругать?
Eugenii
та все хорошее, что не хорошее то кобол, в смысле на него всем все равно
саша
"скрипты" - короткая, удобная и понятная альтернатива сомнительному словосочетанию "динамические языки", то что у кого-то может еще и бомбануть от него - это только плюс
Eugenii
PHP - это скрипты, а не нормальный язык программирования
а вот это уже срач хорошо, даже в ненормальном языке программирования, ака скрипты, нормальные биндинги к драйверу что уж говорить о нормальных
aadz
А уже пятница, кстати?
Eugenii
стоит еще погордится, что орм в базу может чет писать
aadz
блин, еще нет :(
aadz
ну, началося :)
aadz
В Телеграме можно присвоить сообщению тэг #началося ?
Eugenii
не, это скучно. фактически прототипировать и то что небольшая нагрузка, можно на любом динамическом(даже если ктото что считает не языком). а потом в отдельных местах орм, меняется на рав скл. в других местах кусок переписывается на с или го и пошло поехало
Eugenii
быстрее на гора выдать на yii/rails/django чем на го или расте
aadz
А у меня вот неожиданно возникла такая ламерская бНОПНЯ. В Go можно как-то умудриться собрать все строго статиком?
Daniel
Libc будет динамическая всегда
Eugenii
А уже пятница, кстати?
у меня один таск до отпуска, вот не выдержал, типа почти пятница
aadz
вот о том и речь
Daniel
А зачем?
aadz
ну, чтобы Docker не юзать :)