Khalid
подскажите почему иногда я когда вывожу в http.ResponceWriter стуктуру иногда она выводится так: v %!(EXTRA *models.Snippet=&{1 Не имей сто рублей Не имей сто рублей,\nа имей сто друзей. 2022-11-30 15:39:42.509535 +0300 +03 2023-11-30 15:39:42.509535 +0300 +03}) иногда так: &{1 Не имей сто рублей Не имей сто рублей,\nа имей сто друзей. 2022-11-30 15:39:42.509535 +0300 +03 2023-11-30 15:39:42.509535 +0300 +03}
Shaplin
Ребят! Почему в трассировке (opentelemetry, opentracing) применяется подход задания атрибутов с заранее определенным типом? Как пример: span.SetAttributes(attribute.String("some_key", "some_value")) span.SetAttributes(attribute.BoolSlice("some_key", []bool{true, false})) 1) Потому что ранее не было типа any и дженериков? 2) Или это сделали специально настолько детерминированно, чтобы не нужна была валидация полей и следовательно не возвращать ошибку? Моя задача сделать подобную библиотеку, в которой тоже есть атрибуты различных типов. 3) Лучше ли делать как в примере или можно ухитриться с типом any и последующей валидацией? Допустим выбрасывать те поля, что не проходят валидацию. Есть ли у кого хотя бы предположения/мысли по этому поводу?
Khalid
в первом случае у формата образовался излишек данных, об этом он собственно и пишет
а известно в чём излишек? у меня когда я вывожу этот случай Fprintf так подсвечивается почему-то:
Anton
%v
Vladislav
правильно подсвечивается
Khalid
Vladislav
тебе написали %v, ты вкорячил v
Khalid
ой
Khalid
щас стойте
Khalid
🤐
Khalid
вообще ничего не увидел сори
Khalid
не видел процент
Khalid
точнее что его нет
Khalid
спасибо
Talent
Hi! I am a senior full-stack engineer and a highly experienced blockchain developer with 7 great years of experience in web/mobile development and 2+ years of experience in blockchain development. I have a lot of experience with React.js and Vue.js for the frontend, Node.js for the backend, Solidity and Web3.js, which I have been using for blockchain work for the last 2+ years. If you are interested and have a project for me, I will be happy to put my experience into your work. Check it out and DM me. Looking forward to hearing from you.
Shaplin
Зачем нужен ~ перед дефолтными типами? Перед []string тоже надо ~? Пример ниже корректен? type VType interface { ~float64 | ~int64 | ~string | ~bool | []float64 | []int64 | []string | []bool }
Alexandr
Сделал по другому но хотелось бы сохранить в мапу указатель ..... a.m=make(map[int]*[]any) ..... func Add[T any](e A, t T) *[]T {){ arr := make([]T, 100) a.m[id] =&arr// вот тут ругается (type *[]T) as the type *[]Any return &arr }
Andrey
Зачем нужен ~ перед дефолтными типами? Перед []string тоже надо ~? Пример ниже корректен? type VType interface { ~float64 | ~int64 | ~string | ~bool | []float64 | []int64 | []string | []bool }
а что, где курсы прошли где объяснили дженерики? за день уже второй человек задает один и тот же вопрос
Sanity = nil
наплыв с джавы на нормальный яп.
Andrey
Зачем нужен ~ перед дефолтными типами? Перед []string тоже надо ~? Пример ниже корректен? type VType interface { ~float64 | ~int64 | ~string | ~bool | []float64 | []int64 | []string | []bool }
тильта означает, что все типы, который были образованы от типов после тильды, тоже являются верными в дженерике
Кіт ✙
А вот у меня есть токен. У него есть тип ( token.Type() ), и у него есть значение ( token.Value() ). Проблема в том, что юзать здесь женерики не получится, поэтому единственным вариантом (не прибегая к ансейф-штукам) остаётся возврат пустого интерфейса, который должен быть приведён к соответствующему типу, исходя из типа токена
Кіт ✙
я не хочу в сигнатуре прописывать голый пустой интерфейс, и я не знаю, как мне его назвать. any и производные не подходят потому, что тип там не то, чтобы any, а вполне конкретное множество возможных типов. UntypedValue тоже не особо нравится, потому что оно typed, просто не приведённое к нужному типу но, возможно, о последнем я заблуждаюсь, и оно очень даже подходит?
Anton
Всем доброй ночи. пишу микросервис который будет хранить API ключи. есть вопрос. может кто то сталкивался. суть в том что нужно обезопасить так чтоб даже у меня не было доступа к этим ключам. в какаю сторону смотреть?
Юра (Юрий Александрович)
Всем доброй ночи. пишу микросервис который будет хранить API ключи. есть вопрос. может кто то сталкивался. суть в том что нужно обезопасить так чтоб даже у меня не было доступа к этим ключам. в какаю сторону смотреть?
Это принципиально невозможно. Невозможно хранить и обрабатывать данные, не имея к ним доступа. (хотя на самом деле я немного утрирую. Но лезть в передний край теоретической криптографии не стоит)
Юра (Юрий Александрович)
А как при этом доступа не иметь?
Rostislav
😦
Anton
ключи да сторонние. да пока так и думал шифровать и хранить в vault
🅞leksiy
Это принципиально невозможно. Невозможно хранить и обрабатывать данные, не имея к ним доступа. (хотя на самом деле я немного утрирую. Но лезть в передний край теоретической криптографии не стоит)
Всегда можно вставить print перед тем как использовать передний край криптографии) Тут разве-что ограничения доступа к серверу и жесткий ревью кода. Но что мешает админу вставить свои пять копеек?
Юра (Юрий Александрович)
Всегда можно вставить print перед тем как использовать передний край криптографии) Тут разве-что ограничения доступа к серверу и жесткий ревью кода. Но что мешает админу вставить свои пять копеек?
Я читал, что на переднем краю криптографии появилась возможность осуществлять вычисления с зашифрованными данными, не расшифровывая их, и более того, даже не имея ключа. Если у нас есть числа A и B, зашифрованные одним и тем же неизвестным нам ключом, то мы можем получить их сумму, зашифрованную тем же ключом, при этом по-прежнему не зная ключа. Описанную в статье математику я не понял, но запомнил только, что вычисления эти чрезвычайно медленные.
Илья
Это интересно.
Легенда в чате
Alexandr
Это интересно.
Гомоморфное шифрование называется
Alexandr
ключи да сторонние. да пока так и думал шифровать и хранить в vault
По идеи клиент должен отдавать ключи уже зашифрованными, шифроваться и расшифровываться должны на стороне клиента. Или сервис должен использовать эти ключи а не только хранить?
Кіт ✙
Гомо... Что?
А ты знал, что массивы и слайсы в го - гомогенные?
Positive
привет, подскажите, go в какой части заменяет java в ближайшие годы?
Positive
Заменяет?
ну вот я и не пойму, говорят, банки свои сервисы новые пишут на го
Sanity = nil
ну вот я и не пойму, говорят, банки свои сервисы новые пишут на го
Знал бы ты сколько это стоит, не спрашивал бы)
Maks
Банки обычно очень консервативны. Старое написано на джаве и поддерживается на джаве и будет еще много лет жить на джаве и возможно даже на старой версии.
Maks
А на го могут вполне новое что то писать
Maks
еще на элексире пишут
Влад
С появлением и внедрением повсеместной контейнеризации, облаков, с технической точки зрения заменой Java является что угодно, так как плюсов от JVM нет, зато минусы в виде раздутых бюджетов на железо остаются. Java мир будет существовать еще лет 40 без проблем, здесь дело не в технических вопросах: на Java безумного много чего сделано, и это не какой-то кому-то кажущийся смешным легаси, а огромное количество third-source решений, которые вы просто или не найдете в других экосистемах, или будет говном. Плюс на Java огромное количество специалистов высокого уровня, которые понимают как надо писать код в enterprise. Так что вопрос комьюнити и экосистемы в первую очередь. Если получится продавить маркетинг Пщ должным образом — отхватит часть рынка.
4eburashk
еще на элексире пишут
Не. Дорого на эрлангах. Ява дешевле и команду найти проще. В банках серверное 95% ява есть обвязки некоторые на го, но редко. Ну и шарп, клиентский.
Влад
банки сейчас — это не только и не столько финансовые транзакции
Влад
эликсир говно, существующее непонятно зачем
Влад
чтобы в Aviasales могли поиграться
Влад
язык без ниши просто по приколу
Влад
я бы ставил на постепенное вытеснение php, nodejs, смерть ruby
Влад
java еще полвека минимум будет актуальна, python никуда не денется (скорость разработки высока), Пщ тоже останется
Влад
я бы ставил на постепенное вытеснение php, nodejs, смерть ruby
nodejs именно как типичных CRUD поделий / ws чатов и тд
Влад
для ssr и static pages генерации останется, так как нет альтернатив
Maks
На пыхе слишком много кода написано который не могут выкинуть и приходится постоянно модернизировать. Плюс язык так сильно развился в последних версиях с точки зрения написания безопасного в плане наличия глупых ошибок кода что хз даже
Aleks
С появлением и внедрением повсеместной контейнеризации, облаков, с технической точки зрения заменой Java является что угодно, так как плюсов от JVM нет, зато минусы в виде раздутых бюджетов на железо остаются. Java мир будет существовать еще лет 40 без проблем, здесь дело не в технических вопросах: на Java безумного много чего сделано, и это не какой-то кому-то кажущийся смешным легаси, а огромное количество third-source решений, которые вы просто или не найдете в других экосистемах, или будет говном. Плюс на Java огромное количество специалистов высокого уровня, которые понимают как надо писать код в enterprise. Так что вопрос комьюнити и экосистемы в первую очередь. Если получится продавить маркетинг Пщ должным образом — отхватит часть рынка.
Есть обратная сторона, много джавистов с методами написания огромных монолитов огромными командами в кровавом интерпрайзе. При ими же раскручиваемом микросервисном подходе эти знания и патерны не нужны, а применение подобного это избыточная сложность а отсюда и вероятность глюков и тяжесть поддержки.
Aleks
И уровень "специалистов" проверяется сразу если они в микросервис с 1000 строк кода тащат лютое ООП.
Aleks
А дальше больше, байткод в jvm, jvm в docker, docker в виртуалке kvm, а вместе все всрато так как не мониторится нормально и тормазит на таком количестве абстракций... И это все конечно в k8s, как будто тотже systemd (или containerd и pid 1) не способен поднять упавшее. :)
Aleks
А чего докер не угодил ? Кучу головной боли убирает ИМХО
Почему не угодил. По месту хорош, но может гдето и chroot лучше, а гдето уже jvm под архитектуру скомпиленый.
Aleks
Ну джава это ООП и только ООП =)))
Вот да, потому что и не нужна везде.
Aleks
А чего докер не угодил ? Кучу головной боли убирает ИМХО
Вот щас телеграм работает без докера. Он же както был доставлен, запущен, и работает без докера... В чем появилась боль от этого?
Aleks
Ну фиг знает как у вас у меня из флатпака .
Вот тоже вариант замены докера, как и snapd.
Yegor
А кубы добавляют
Ну за кубы фиг знает - не занимался.
Yegor
Почему не угодил. По месту хорош, но может гдето и chroot лучше, а гдето уже jvm под архитектуру скомпиленый.
Ну это было 10 лет назад может быть да. А сейчас грамотный докер файл , где проставлены версии проше .
Yegor
Проще чем что?
Чем зоопарк с чрутами =)