🏁Александр
или вы его зарезали
🏁Александр
@koziavka +
🏁Александр
походу зарезали 🙁
Daniel
Yaroslav
Elena
#москва #вакансия #job #golang
Всем привет!
Город и адрес офиса: Москва, м.Курская
Формат работы: офис, гибкий график работы
Занятость: полная
Зарплата: от 150 000 до 180 000 на руки
Описание вакансии:
Мы ищем коллегу, который сможет влиться в нашу команду и вместе с нами развивать web-backend нашей платформы и сопутствующие сервисы.
Мы предлагаем:
Неформальную обстановку (нам не так важно, как вы выглядите и выражаетесь, важно, как вы работаете),
Гибкий график (можно периодически работать из дома и выезжать в офис, когда общественный транспорт не забит битком; участвовать в планёрках можно по Hangouts/Skype),
Оформление по ТК РФ,
Развитую корпоративную культуру: клубы по интересам, снэки, йогурты по утрам, пицца-дэй по средам.
Интересные задачи, профессиональное развитие
Требования:
Опыт серверной web-разработки не менее 1,5 лет
Опыт коммерческой backend-разработки на Go, пониманиe принципов конкурентного программирования
Уверенное знание сетевых протоколов и HTTP транспорта
Понимание принципов построения высоконагруженных систем
Умение разбираться в чужом коде и быстро с ним работать
Умение и желание учиться новому
Навыки работы на nix-системах
Знание английского языка (на уровне чтения документации)
Название компании: LifeStream (life-stream.tv/ru/), проект "Смотрешка"
Контакты: @elena_safrina, elena.safrina@gmail.com
🏁Александр
ну во первых ВСЕГДА в строку
🏁Александр
даже если у тебя скормлен int он попытается кастануть
🏁Александр
во вторых я для примера дал
Foxcool
getInt религия не позволяет юзануть? (:
🏁Александр
ну я тебе потом покажу почему
🏁Александр
(я завернул viper в оберточку)
Foxcool
Noooooooooooooooooooo!!!!
🏁Александр
О да!
David
Подскажите пожалуйста, при помощи чего можно написать отличный api gateway? Чтобы поддержка http2 была и удобно было писать эндпоинты
Daniel
grpc
Daniel
вроде бы - именно он с http/2
David
Да, но я о коммуникации клиентской части с Api Gateway
David
Заинтересовался в https://github.com/hellofresh/janus, но вот вопрос: может есть еще что получше?
Nikita
David
Foxcool
КракенД?
Foxcool
Или он не годится?
Borys
Всем привет.
Подскажите, а swagger нормально на API пользовать?
Borys
Нужно доку писать для апишки, советуют CRUD в swaggere описывать.
Borys
Не пойму правда зачем он нужен и не будет ли это переусложнением.
Artem
мб оффтоп, но тут исходники аэрофлота выложили на гитхаб
Maksim
Artem
с позволения админов ток
Andrew
Andrew
https://github.com/aeroflotsrc/webapp
Borys
Artem
ну вот ^
Andrew
это ж не исходники в чистом виде а слепки AuFS (или что там щас в докере юзается)?
Artem
там питон внутри, а значит и все исходники
Andrew
я не говорю что там исходников нет, просто не понял как наличие питона говорит о наличии исходников, если что
Roman
Не пинайте сильно - в тупике.
Roman
quote := fmt.Sprintf(`
SELECT (SELECT COUNT(moexQuotes.stock_id) as moex FROM moexQuotes where moexQuotes.period_date LIKE('%s')) - (SELECT COUNT(stocks.id) as stocks FROM stocks WHERE stocks.name NOT LIKE('RUR%')) AS DIFF;
`, date)
Roman
как заэкранировать %
Roman
ругается
SELECT (SELECT COUNT(moexQuotes.stock_id) as moex FROM moexQuotes where moexQuotes.period_date LIKE('2018-09-21')) - (SELECT COUNT(stocks.id) as stocks FROM stocks WHERE stocks.name NOT LIKE('RUR\\%!'(MISSING))) AS DIFF;
Daniel
это на go?
Roman
видимо Sprintf ожидает что это не просто % а подстановка
Roman
да на го
Daniel
а по-моему - нет
Daniel
но можно сделать на go
Daniel
возьмите squirrel
Daniel
делать динамические запросы sprintf-ом - плохая идея in general
Roman
зачем мне еще одна абстракция? безопасность от SQL-иньекций? не тот проект - там SQlite домашнего проекта
Daniel
другого совета у меня для вас нет
Roman
Ок. За совет все-равно спасибо.
Daniel
ну и это
Daniel
% можно из строки формата изъять, поставив на его место %s, и соответствующий параметр добавить
Daniel
а можно использовать %% - он в % превратится
Andrei 🦉
Илья
Roman
Действиетльно %%. Спасибо.
Daniel
но, как мы понимаем, это стало еще дальше от читабельного
Илья
hft на sqlite :) бессмысленный и беспощадный
Aleksandr
он не кодирует неимпортируемые поля, а неимпортируемые поля начинаются с маленькой буквы. То есть вы что-то путаете
Aleksandr
если у вас Error в json, то и в структуре Error
Aleksandr
а, имеется в виду декодирование
Aleksandr
интересный кейс
Aleksandr
https://play.golang.org/p/mmKgGj1DclI
Илья
// To unmarshal JSON into a struct, Unmarshal matches incoming object
// keys to the keys used by Marshal (either the struct field name or its tag),
// preferring an exact match but also accepting a case-insensitive match. By
// default, object keys which don't have a corresponding struct field are
// ignored (see Decoder.DisallowUnknownFields for an alternative).
Илья
в доке про это есть, так что known behaviour, но не самое очевидное
Алексей
Настало время, господа
Алексей
настало время набросить на вентилятор
Алексей
https://habr.com/post/424649/
Roman
Roman
Алексей
ну там написали фактически, что стандартные http и json либы так себе