Не ну это
пон, кринге
Eugene
флекса не трожь
Eugene
😡😡😡
Не ну это
А уже все, теперь неделю трогать не будет
Martiz
Какие вопросы задают по телефону на стажерскую позицию в озон?
kostyaBro
kostyaBro
Опыт спрашивают наверное. И что ты сам хочешь.
kostyaBro
Мб краткий скрининг. Тоесть пара вопросов по языку и бд
NU
Есть тут кто больше Илюхи шарит?
Не ну это
Все
Не ну это
🌚🌚🌚
Emin Zalaev
Emin Zalaev
Продиктуйте запрос с джоином
Javlonbek Normurodov
Grigory
Vladislav
Максим
Максим
Emin Zalaev
😂😂😂😂😂
Тимофей
Можно ли по го найти удалённую стажировку?
Тимофей
А то в городе вообще ни одной вакансии нет
Илья
Илья
это дерево?
Rostislav
да
Emin Zalaev
Тимофей
Wildberries?
NU
Тимофей
Epam
А где они вакансии размещают?
NU
https://training.epam.kz/#!/Home?lang=ru&City=43,44,203
NU
Пощупай страницу
Тимофей
Screenshot (4 авг. 2022 г. 20:37:22)
Тимофей
Нет у них
Dan💥
Кіт ✙
Segmentation
Всем привет! Я новенький в go, прошу помочь.
От зависимого сервиса ко мне в приложение приходит json с динамическим типом:
{"k": "v1"}
либо:
{"k": ["v1", "v2"]}
Я хочу на уровне приложения всегда работать с массивом, даже если в качестве значения пришла одна строка. Можно ли по хитрому анмаршелить json, чтобы сразу значение попадало в структуру в виде массива строк?
🅞leksiy
🅞leksiy
И нужное поле в структуре делаешь этого типа
🅞leksiy
https://gist.github.com/ik5/a4521a4166302efecc3d3f8ea8080912
Segmentation
Segmentation
Получилось, спасибо
Запустил под дебагом и увидел, что перебирая элементы массива и определяя их тип, он определяется как reflect.Interface{}, почему так?
Bogdan
Вечер добрый, господа. Пишу на gin/gonic upload-download image сервис и встретился с проблемой, что не отрисовываются img. Могу кинуть ссылку на репу, не могли бы подсказать в чем проблема? router.Static не помогает, в обычном http картинка есть, а при запуске сервера - нет, хотя пасник лежит верный, судя по консоли
Segmentation
kostyaBro
kostyaBro
Делаешь тип поля json.RawBinary.
Потом у него проверяешь первый байт и узнаёшь массив это либо строка.
Далее парсишь как массив или строку.
kostyaBro
🅞leksiy
kostyaBro
?
🅞leksiy
[{“aaa”:123},…]
🅞leksiy
Нужно и второй байт проверять, а лучше все 😂
kostyaBro
Эмм там либо строка либо массив строк, если объект, шлем нахер
kostyaBro
Ну то есть кидаем ошибку маршалинга
kostyaBro
Много ассертов надо, на каждый тип вообще, если отправитель макака и сооовсем ничего не гарантирует.
🅞leksiy
Ну []string и string
kostyaBro
Я думаю там просто прикол реализации что если строка одна то в массив не оборачивается.
Пахнет jsom
kostyaBro
Зачем долгие рефлекты,
🅞leksiy
Зачем рефлект при ассерте?
kostyaBro
О каком ассерте речь тогда, не допонял
🅞leksiy
val, ok := result.(type)
kostyaBro
Просто выше про рефлект было, потерял нить
kostyaBro
Нуу у тебя массив байт, какой тип ты ожидаешь
kostyaBro
Надо ж размаршалить
🅞leksiy
Маршалишь в interface{}, затем проверяешь тип, повторно ниче маршалить не нужно
kostyaBro
Интересно. Я попробую.
🅞leksiy
Неделю назад примерно разбирали подобный случай
kostyaBro
Понял, интересное решение.
🅞leksiy
В любом случае маршалинг в массив на первом байте и споткнется, потому по сути последовательный маршалинг в массив, а затем в строку - тоже варик
🅞leksiy
kostyaBro
kostyaBro
Получается массив интерфейсов а не строк
kostyaBro
придется кастить и перекладывать, не хорошо
kostyaBro
с null конечно edge case неприятный
kostyaBro
kostyaBro
В protobuf есть тип union.
Интересно глянуть как он jsonом маршалится.
А ну хотя тамж другой маршалер.
Мб protobuf заюзать)) раз он умеет
kostyaBro