Daniel
в каком смысле - неизвестную?
Daniel
он же вообще от описания протокола строится
Anonymous
в каком смысле - неизвестную?
Допустим у меня есть 3 структуры a b c Я сереализовал структуру a и отправил получателю Протобаф сможет понять что пришла структура а?
Daniel
протобаф - это описание протокола в первую очередь
Daniel
по тому, какие id приехали, он однозначно определяет, что внутри
Илья
в кратце нет, для передачи чего-либо из а в б, нужно чтобы оба конца знали, что в пакете
Aleksandr
Допустим у меня есть 3 структуры a b c Я сереализовал структуру a и отправил получателю Протобаф сможет понять что пришла структура а?
протобаф ровно наоборот работает. ты описываешь все структуры, принимающие участие в обмене, и начинаешь их слать. если ты описал протокол, но забыл обновить его на одной стороне, то ты юзаешь разные версии протокола
Daniel
и тебе пушной зверь
Илья
ну, при добавлении полей в конец message - нет :)
Daniel
если пушной зверь не сразу - он просто становится полнее
Илья
:)
Anonymous
https://godoc.org/github.com/golang/protobuf/ptypes#DynamicAny
Daniel
и?
Anonymous
и?
ну типа вот
Daniel
что - вот?
Anonymous
Ты меня смущаешь
Daniel
угу. я уже подумал, что надо будет просто произвести пару экспериментов, посмотреть, что оно там возвращает
Daniel
и как этим можно польоваться
Anonymous
Видимо я не правильно написал что мне нужно есть две проги которые шлют друг другу пакеты У них описаны одинаковые структуры протобафовские прога 1 шлёт проге 2 массив байт Прога 2 получает его, и вот тут мой вопрос Мне нужно как то извне определять, какой тип пакета пришел, чтобы сделать deserialize(&myStruct, byteArray) Или протобаф сам поймет что пришло dezerialize(&unknownStruct, byteArray)
Daniel
протобаф сам все поймет
Anonymous
Вот
Daniel
он для этого и сделан
Igor
ребята, сторонний вопрос: как вы умаете, на каком языке \ в какой среде сейчас лучше всего писать оконное приложение? Как раньше в борланд делфи было я помню берёшь рисуешь форму, объекты, вот это вот всё
Andrei 🦉
зато относительно кроссплатформенно
Igor
ближе всего по духу какой нибудь электрон, но там нужно именно верстать html, а не мышкой формочки лепить
а что за электрон? и кстати, хтмл по-моему уже с древних времён имеет возможность хоть кое-как лепиться визуально
Igor
C# wpf
сишарп - да. А есть ли что помимо?
Igor
https://electronjs.org/ на нем vs code сделан, например
о, крутяк. И что, там всё на js получается работает?
Andrei 🦉
да, но я бы советовал писать для него на typescript, благо они вроде поддержку полноценную завезли
Igor
понятно, спасибо
Daniel
@zelenin тут @GGlagoleva приходила, бота своего порекламировать
Daniel
она сначала ко мне пришла, разрешения спросила
Daniel
бот, вроде, в тематику укладывается - я разрешил
Daniel
а ты ее забанил :)
Daniel
может - вернем?
Aleksandr
я разбанил. пусть еще раз попробует) но триггер на рекламу сработал
Konstantin
сишарп - да. А есть ли что помимо?
QT. Как Делфи только си 😀
Je
ребята, сторонний вопрос: как вы умаете, на каком языке \ в какой среде сейчас лучше всего писать оконное приложение? Как раньше в борланд делфи было я помню берёшь рисуешь форму, объекты, вот это вот всё
Смотря что нужно, wxwidgets неплох, к нему есть биндинги для всех языков. QT это комбайн с кучей кода для всего вокруг гуй-приложения, в том числе сеть и так далее
Konstantin
Самое простое - python tkinter
Alexander
У меня возникают ошибки типа cirle imports из-за чего приходится городить интерфейсы все правильно делаю? или при правильном проектировании приложения не возникают cirle imports?
.
Вы про циклические зависимости или что?
Alexander
да
.
Ну в Го их нет
Alexander
это я понимаю, да. Вопрос в другом - мой метод борьбы верный или это всего лишь костыль и надо по-другому проектировать модули?
Alexander
ребята, подскажите хорошую книгу по golang с разбором реальных задач. Сам прошел туториал, в состоянии решать задачки на leetcode, есть "черный" пояс по другому языку
Vladimir
Yet another block chain стартап с не очень большой зп
Alexander
а зачем конвертировать, тем более весь код? можно же по идее только узкие места конвертнуть и подключить через ffi или отдельным сервисом
Anonymous
если у меня в коде есть строка []byte("test") компилятор ее запишет как массив байт, или как строку с последующим вызовом функции для перевода в байты?
Aleksandr
думаю второе
Aleksandr
в смысле в рантайме конвертирует, не в компайл тайм
Anonymous
значит если у меня эта строка срабатывает 100500 раз в сек, то конвертация тоже столько же раз будет работать?
Anonymous
или только 1 раз при инициализации
Aleksandr
код покажи. строка срабатывает - не очень описание
Антон
А почему н̶е̶ ̶н̶а̶ ̶R̶u̶s̶t̶ на Go?
Заур
Разве строка в go не есть массив байт?
Aleksandr
Разве строка в go не есть массив байт?
в принципе все - массив байт. но конвертация между типами все равно есть
🏁Александр
стринг есть стринг 🙂
Daniel
в принципе все - массив байт. но конвертация между типами все равно есть
именно у стринга именно в байты есть специальные случаи
Заур
Просто у стринга все функции, что видел, с массивом байт работают, как есть.
Заур
Даже некоторые функции для стринга и массива байт одинаково реализованы
Заур
Я это к тому, что байты в стринг не переводятся, просто хранятся в стринге
Bogdan
Привет привет кто еще не спит Подскажите, что за дела. Есть строка 8,2 тыс.. Есть регулярка [0-9]+[.,]?[0-9]? тыс\. Регулярка упорно не матчит эту строку
Bogdan
https://regex101.com/ Тестирую здесь и через компиль
Bogdan
https://regex101.com/r/jPl92B/1 можно побаловаться
Aleksandr
Кинь ссылку на 101
Aleksandr
https://regex101.com/r/jPl92B/4
Aleksandr
хз. уже и твоя первая версия матчит