Konstantin
но всё равно - синглтон на синглтоне, тесты в массе своей только интеграционные (тк хер что мокнешь, см. пункт предыдущий)
Konstantin
у меня в го команде такое количество гестапо, которое я нигде не видел. то есть масса неявных соглашений, условий, ограничений, способов что-то сделать. в других языках я такого не вижу - везде как-то фреймворк тебя подталкивает делать вещи определенным образом, как-то код организовывать "как принято", в гошке же нет такого способа, поэтому в го-команде у меня есть HACKING.md с сотней пунктов что и как надо делать
Konstantin
я считаю это явным недостатком языка, если тебе нужны гайды на полкниги, чтобы начать на нем кодить нормально
Павел
Наверно тут что-то есть)но глядя на свой проект, а он финтех не сказал бы что не хайлоад, мне как то не верится что через 2 года мы переедем на го)но я обычный разраб 2 года опыта, спорить не смогу с тобой))
Konstantin
вот не соврал)) $ wc -l Go.md 840 Go.md
Konstantin
840 строк текста навроде
Konstantin
For example, if you have a long function that makes an HTTP request and defers the close of the body at the beginning and then does more stuff, it's better to factor out the HTTP request and the response parsing into a separate method. Same goes for mutexes. That is, do not do this: // Bad! Resource r is only closed at the end of the very long function. func Foo() (err error) { r, err := open() check(err) defer r.close() v, err := decode(r) check(err) // Lots of slow stuff with v. r is only closed once Foo exits. }
Konstantin
Наверно тут что-то есть)но глядя на свой проект, а он финтех не сказал бы что не хайлоад, мне как то не верится что через 2 года мы переедем на го)но я обычный разраб 2 года опыта, спорить не смогу с тобой))
гошка эффективнее именно когда у тебя много железа. то есть условно купить еще 20 серверов - это лям баксов, плюс затраты на размещение (тоже немало набегает)
Konstantin
вместо этого можно просто переписать всё на го и сэкономить этот лям баксов ценой трёх человекомесяцев
Konstantin
не, сильно нет
Vlad
не, я просто не понял. Гошка эффективнее <…> вместо этого можно переписать на го
Konstantin
экономика навроде такой: https://habr.com/ru/company/badoo/blog/279047/ тут чуваки в рамках одного языка, просто с мелкой оптимизацией бабок гору сэкономили. а если представить что гошка в среднем вдвое-втрое эффективнее - можно представить масштабы
Vlad
поэтому и спросил)
Konstantin
не, я просто не понял. Гошка эффективнее <…> вместо этого можно переписать на го
я мож сплю уже, щас перечитаю свою писанину и прокомментирую)
Spider
а j2ee уже не используется?
Konstantin
где-то - может, у меня довольно много джавы, ничего из ее мы не юзаем и по ощущениям люди в среднем тоже, если это не дремучее легаси в банке
Павел
Я думаю он аутсорсер
Konstantin
не, я просто не понял. Гошка эффективнее <…> вместо этого можно переписать на го
я типа имел в виду, что когда у тебя мелкий трафик - похеру на чем писать, зарплата программиста - это основная статья расходов. но в какой-то момент, при достижении каких-то порогов нагрузки, уже имеет значение производительность твоего кода, там уже дешевле код оптимизировать, чем железо покупать
Konstantin
что у тебя за проект? Жава, пчп, го
оо, у меня еще клиентские приложения под все платформы, под линукс никак не напишем только) хотя скоро должны
Konstantin
не, я не аутсорсер, наоборот, инхауз разработка: клиентские приложения с аудиторией в десятки миллионов установок + серверная платформа для этого дела. хз, стоит ли нынче говорить название компании
Konstantin
мало ли, на хер кого пошлю или не понравлюсь кому
Konstantin
да и время такое, мы вынуждены по возможности скрывать ассоциации своего продукта с РФ
Vlad
какой уровень пчп разраба нужен?))))
Konstantin
мидл
Павел
Удаленки нет))
Vlad
Я мскшник
Павел
Повезло))
Konstantin
можно и джуниор, но с хорошим пониманием происходящего. бонусом заставим на гошке писать. точно никакого фронтенда, фуллстека, админства и прочей хероты, только пхп/го код
Vlad
Повезло))
ой, я приезжий)))
Konstantin
Я мскшник
тогда резюмеху в личку)
Konstantin
я, правда, по отпускам пока катаюсь, если так можно назвать, поэтому очного собеса пока не получится
Павел
ой, я приезжий)))
Да я тоже приезжий))не в тот город приехал))
Юра
А я бы дал шанс дарту для микросервисов
Konstantin
дарт/свифт - это всё прикольно, но упирается в рантайм
Юра
Там есть уже фреймворки аля express js
Konstantin
если будет эффективный серверный рантайм, с нормальным ио - почему бы и нет
Юра
В какой рантайм
Konstantin
ну node.dart =)
Konstantin
сервер приложений, если на то пошло
Юра
Зачем если сам дарт сервер приложений
Юра
Простой рест апи на нем легко можно запилить
Konstantin
а, да?
Юра
Ну да. Он компилируется же в нативный код и все
Юра
Так же как и го
Юра
Там такой же ивент луп как в ноджс
Konstantin
о, прикольно, я как-то пропустил это всё
Konstantin
пойду поиграюсь
Юра
Там вообще все очень просто. Кроме многопоточности, которой нет )
Юра
И даже есть мускуль клиент который я написал )
Konstantin
мы иногда на флаттер поглядываем, но пока рановато
Юра
Флатер для веба если то это дичь пока
Konstantin
не, для десктопа
Юра
а покажи?
https://pub.dev/packages/mysql_client
Konstantin
я знаю чуваков, что писали сервер, отвечающий по протоколу мускуля - переплевались просто, там по их словам жесть какая-то
Юра
Там дока дермовенькая местами
Юра
Ну и сам протокол да стремный какой-то
Konstantin
а кросс-компиляция есть? типа как у гошки GOOS=linux GOARCH=aarm64 ?
Spider
раз уж у нас воскресный вечер обсуждения технолгий то вспомню еще питон + джанго - перспективно?
Юра
а кросс-компиляция есть? типа как у гошки GOOS=linux GOARCH=aarm64 ?
В теории есть ибо на компах собирают приложения под Андроид. На практике вроде как-то сложно все
Konstantin
нет, особенно джанго
это уродливый кусок говна, который отстает от индустрии лет на 10. как примерно уии1 в пхп, оно медленное, кривое с точки зрения апи, там ад и израиль с батарейками. не могу себе представить ни единого вменяемого CTO, кто в 2022 году что-то на джанге начнет делать
Spider
когдато еще С#+aspnet mvc подавал надежды
Юра
нет. сейчас даже лучше какой-нибудь typescript
Юра
Можно и бек и фронт писать на одном языке
Konstantin
тайпскрипт тоже с инженерной точки зрения уродлив до блевоты. понятно что он безальтернативен сейчас, но удовольствия от работы на нем это не прибавляет
Юра
Если хочется чего-то аля symfony то это java spring, которым фабиент вдохновлялся
Konstantin
не, спринг уже не совсем
Konstantin
есть спринг-бут который довольно легкий, есть спринг-фу - без рефлексии и в виде нативного образа, есть (если прям спринг не хочется) микронавт - он вообще легкий, быстрый и тоже в виде нативного образа, т.е ему жвм не нужна
Konstantin
https://habr.com/ru/post/418117/ вон типа
Konstantin
там типа бойлерплейта примерно как в симфони - не надо миллионы абстрактных фабрик провайдеров конфигурить
Konstantin
ну и в целом нынче спринг очень сильно полегчал и стал модульным
Spider
Константин подскажите а Go для удаленки перспективно?
Konstantin
Константин подскажите а Go для удаленки перспективно?
вполне, но го посложнее пхп, там стейтфул приложения, конкурентность. о бОльшем количестве вещей надо думать
Konstantin
а так - да, я бы сказал что это топ3-5 язык сейчас примерно по популярности