Emin Zalaev
Теперь вообще Python нет😔
Это как с тестами в разработке. Не прошел тест - просто выпилил его
Khalid
подскажите, это я кинул в архив или меня кинули в архив
Khalid
недоступна для глобального поиска?
Khalid
то есть не высвечивается
Khalid
у людей
Andrey
Да
Grand
у людей
Ага. Только если в поиске искать, но нельзя откликаться
Khalid
понял
Khalid
я думал меня заигнорили
Khalid
в какой-то архив положили
Grand
я думал меня заигнорили
Скорее всего кого то нашли, раз уж закрыли вакансию
Grand
Обычно так делают
Khalid
понял
Ирина
#Вакансия #Vacancy #Remote #Middle_Senior #Golang #full_time # Company: Profua Employment: full time Work format: remote $ 3000-7000 (net) Location: Europe;Asia Project: SaaS platforms; drone technology solutions. Free communication in English is a must! ● 5+ years of commercial development experience ● Fluent in Golang, but may accept strong candidates with Java or Scala instead (work will be mostly in Golang); ● Experience with Docker and any of the main cloud providers (AWS, Azure, GCP); ● Experience with Kubernetes, C++, and/or Python a plus ● Knowledge of geospatial computing ● Part 107 certification and in-depth knowledge of the drone industry a plus Details in DM. @virn2014
Sergey
Мне вот интересно, если Авито считается крутым работодателем, проводит (якобы) подробные интервью, там крутые Гоферы....что ж там так постоянно ложиться прод.... upstream connect error or disconnect/reset before headers. reset reason: connection failure
Komisar
Мне вот интересно, если Авито считается крутым работодателем, проводит (якобы) подробные интервью, там крутые Гоферы....что ж там так постоянно ложиться прод.... upstream connect error or disconnect/reset before headers. reset reason: connection failure
Пользуюсь Авито почти 8 лет, по ощущениям только хуже стало, постоянно вылетает, ошибки соединения, объявы не грузятся. Чаты слетают. Ну и вопросы к самому приложению, бывает так что оно крашится.
Андрей
та обычный сайд эффект с перехода с могучей пыхи на го
Komisar
Есть вопросы к алгоритмам рекомендаций, мне периодически вылетают объявы с инвалидными колясками, искал боксерские перчатки)))
Komisar
Может взаимосвязано конечно
Дмитрий
алгоритм настолько хорош, что способен заглянуть в недалёкое будущее)
Дмитрий
шутка банальная, но сама напрашивалась, сорри)
Sergey
та обычный сайд эффект с перехода с могучей пыхи на го
напоминает знаменитый доклад "Авто.Доставка с Java на Go", где в конце на вопрос " а зачем вы переписываете с одного на другое", ответ "чтобы не нанимать java разрабов".... Что-то мне кажется это зашквар....вот прям полный.
Jxhor Lxryn
джавист порвался
Sergey
джавист порвался
да на самом деле да. У меня в компании есть продукты на Питоне, Го, плюсах, Джавке, но есть аргументы, а не просто" просто чтобы не нанимать"...
Andrey
напоминает знаменитый доклад "Авто.Доставка с Java на Go", где в конце на вопрос " а зачем вы переписываете с одного на другое", ответ "чтобы не нанимать java разрабов".... Что-то мне кажется это зашквар....вот прям полный.
если это снижает цену разработки то почему бы и да? (возможно тогда это снижало цену, сейчас кажется что джавистов проще найти чем гошников, так пылесосят рынок некоторые компании)
Sergey
Просто он не знал что ответить, ему просто приказали сделать доклад))
Спортмастер в докладе по Котлу так же ответили "Не нашли грамотного Джависта и стали писать на Котле". Ну блин, ну реально? Это показатель компетентности компании?
Sergey
если это снижает цену разработки то почему бы и да? (возможно тогда это снижало цену, сейчас кажется что джавистов проще найти чем гошников, так пылесосят рынок некоторые компании)
вопрос компетенции. Грамотного что одного, что другого, придется поискать, особенно с массовостью вранья (ооочень мягко сказано) в резюме
Андрей
я смотрел тот доклад, если быть точнее они сказали: "Не нашли грамотного Джависта как @chesenfew и стали писать на Котле"
Андрей
бля, он еще и скромный! ну каков же бист
Emin Zalaev
Я не скромный и грамотный джавист, вопросы?
Евгений
Ребят, кто-то проходил собес в вк?
Евгений
+
На что упор делают? И сколько собесов?
Vito
На что упор делают? И сколько собесов?
ну я на weekend offer залетал. Там попросили код написать в лайве, но там не алгоритмы, просто на знание горутин, каналов и тд, дальше пошли вопросы по базам, архитектуре и тд. У меня был только тех оффер, а след этап уже с тимлидом собес
Vito
А что по итогу?
Не прошел дальше технического
Евгений
метавопрос? :)
Ну, естественно 😃 На будущее хочется разузнать
Vito
Где провалился
по грейду не прошел, они сеньеров в основном искали как я понял
Кристина
#вакансия #fulltime #remote #Go #senior Вакансия: Senior Go разработчик Компания: B2Broker ( https://b2broker.com/ru/ ) Локация: remote З/п: от 6000$ до 8000$ Уровень английского - В1 Рассматриваются кандидаты из разных стран. Требования: Проектирование сервисов и распределенных систем; Профилирование и оптимизация нового и текущего кода; Проведение ревью и кросс-ревью; Покрытие кода Unit-тестами, benchmark’ами; Автоматизация процессов разработки; Поиск новых технических решений для внедрения в продукт; Менторинг младших коллег и наставничество; Используемые технологии: GoLang; PostgreSQL, MongoDB, ClickHouse; WebSocket, REST, gRPC; Docker, Kubernetes; NATS Обязанности: Разработка кода (GO) Чем предстоит заниматься: * Продуктовой разработкой для внешнего и внутреннего пользователя; * Проектированием и разработкой архитектурных решений как для отдельных сервисов, так и всей экосистемы; * Разрабатывать новые микросервисы; * Работать с большими потоками данных; * Создавать торговые сервисы; * Участвовать в разработке Open Source решений. Пример: [https://github.com/b2broker/simplefix-go|https://github.com/b2broker/simplefix-go|smart-link]; * Улучшать код: проводить ревью и кросс-ревью, создавать тесты и бенчмарки, иногда работать с профилировщиком. Буду рада пообщаться! 📩Контакты: https://t.me/RecruiterKristinaGalanina
Mr.
привет всем! Знаю, что чат по jobs, но у меня вопрос по гошечке, в других местах молчат на него) Есть код очереди для либы https://gitlab.com/4nd3rs0n/q/-/tree/dev/ type Queue struct { buf []entities.Task mu sync.Mutex waitMu sync.Mutex } func (q *Queue) Push(task ...entities.Task) { q.mu.Lock() q.buf = append(q.buf, task...) q.mu.Unlock() if !q.waitMu.TryLock() { q.waitMu.Unlock() } } func (q *Queue) Get() entities.Task { for len(q.buf) < 1 { q.waitMu.Lock() // wait for new tasks } q.mu.Lock() out := q.buf[0] q.buf = q.buf[1:] q.mu.Unlock() return out } Я тут убрал всё лишнее, но суть +- такая. Так вот очередь работает с интерфейсом entities.Task: мы принимаем его в Push(), возвращаем из Get(), храним в buf, по сути делаем все операции с ним Однако, мне нужна не только очередь, что работает с entities.Task, а также другие очереди, что работают с io.Reader, с entities.Event и т.д. Возможно ли это сделать не просто копипастя этот код с другими типами, а как то минимизировать написание кода? А то как то не хочется иметь в коде кучу копий одного кода, только с разными типами И да, прошу не предлагать делать типом у buf interface{}, или any, я про них знаю) P.S. На гите дев ветка, мдшки не читайте, там бред сумашедшего так ещё и с кучей ошибок, ваши глаза будут течь))) Дока будет, как весь код +- ок будет и тесты проходить начнут все
Null
привет всем! Знаю, что чат по jobs, но у меня вопрос по гошечке, в других местах молчат на него) Есть код очереди для либы https://gitlab.com/4nd3rs0n/q/-/tree/dev/ type Queue struct { buf []entities.Task mu sync.Mutex waitMu sync.Mutex } func (q *Queue) Push(task ...entities.Task) { q.mu.Lock() q.buf = append(q.buf, task...) q.mu.Unlock() if !q.waitMu.TryLock() { q.waitMu.Unlock() } } func (q *Queue) Get() entities.Task { for len(q.buf) < 1 { q.waitMu.Lock() // wait for new tasks } q.mu.Lock() out := q.buf[0] q.buf = q.buf[1:] q.mu.Unlock() return out } Я тут убрал всё лишнее, но суть +- такая. Так вот очередь работает с интерфейсом entities.Task: мы принимаем его в Push(), возвращаем из Get(), храним в buf, по сути делаем все операции с ним Однако, мне нужна не только очередь, что работает с entities.Task, а также другие очереди, что работают с io.Reader, с entities.Event и т.д. Возможно ли это сделать не просто копипастя этот код с другими типами, а как то минимизировать написание кода? А то как то не хочется иметь в коде кучу копий одного кода, только с разными типами И да, прошу не предлагать делать типом у buf interface{}, или any, я про них знаю) P.S. На гите дев ветка, мдшки не читайте, там бред сумашедшего так ещё и с кучей ошибок, ваши глаза будут течь))) Дока будет, как весь код +- ок будет и тесты проходить начнут все
https://t.me/golangl
Mr.
https://t.me/golangl
благодарю, сейчас спрошу там
Mr.
привет всем! Знаю, что чат по jobs, но у меня вопрос по гошечке, в других местах молчат на него) Есть код очереди для либы https://gitlab.com/4nd3rs0n/q/-/tree/dev/ type Queue struct { buf []entities.Task mu sync.Mutex waitMu sync.Mutex } func (q *Queue) Push(task ...entities.Task) { q.mu.Lock() q.buf = append(q.buf, task...) q.mu.Unlock() if !q.waitMu.TryLock() { q.waitMu.Unlock() } } func (q *Queue) Get() entities.Task { for len(q.buf) < 1 { q.waitMu.Lock() // wait for new tasks } q.mu.Lock() out := q.buf[0] q.buf = q.buf[1:] q.mu.Unlock() return out } Я тут убрал всё лишнее, но суть +- такая. Так вот очередь работает с интерфейсом entities.Task: мы принимаем его в Push(), возвращаем из Get(), храним в buf, по сути делаем все операции с ним Однако, мне нужна не только очередь, что работает с entities.Task, а также другие очереди, что работают с io.Reader, с entities.Event и т.д. Возможно ли это сделать не просто копипастя этот код с другими типами, а как то минимизировать написание кода? А то как то не хочется иметь в коде кучу копий одного кода, только с разными типами И да, прошу не предлагать делать типом у buf interface{}, или any, я про них знаю) P.S. На гите дев ветка, мдшки не читайте, там бред сумашедшего так ещё и с кучей ошибок, ваши глаза будут течь))) Дока будет, как весь код +- ок будет и тесты проходить начнут все
в общем то... везде молчание на это) пойду паттерны смотреть, раз свои не придумываются, мб подойдет что 🤷‍♂
nikita
в общем то... везде молчание на это) пойду паттерны смотреть, раз свои не придумываются, мб подойдет что 🤷‍♂
только интерфейс, либо другой тип который по сути и вернет интерфейс который ты скатишь в тип
Mr.
только интерфейс, либо другой тип который по сути и вернет интерфейс который ты скатишь в тип
нууу... это как то неоправданно много кода на почти одинаковый функционал
nikita
погугли с ними
nikita
но все это сводиться к одному и тому же касту
Mr.
а ну дженерики же завезли
дженерики, как я понимаю, больше про работу одной функции с разными типами, ондако, это не совсем то что мне надо) Да и один метод нельзя нескольким структам присвоить
Юра (Юрий Александрович)
привет всем! Знаю, что чат по jobs, но у меня вопрос по гошечке, в других местах молчат на него) Есть код очереди для либы https://gitlab.com/4nd3rs0n/q/-/tree/dev/ type Queue struct { buf []entities.Task mu sync.Mutex waitMu sync.Mutex } func (q *Queue) Push(task ...entities.Task) { q.mu.Lock() q.buf = append(q.buf, task...) q.mu.Unlock() if !q.waitMu.TryLock() { q.waitMu.Unlock() } } func (q *Queue) Get() entities.Task { for len(q.buf) < 1 { q.waitMu.Lock() // wait for new tasks } q.mu.Lock() out := q.buf[0] q.buf = q.buf[1:] q.mu.Unlock() return out } Я тут убрал всё лишнее, но суть +- такая. Так вот очередь работает с интерфейсом entities.Task: мы принимаем его в Push(), возвращаем из Get(), храним в buf, по сути делаем все операции с ним Однако, мне нужна не только очередь, что работает с entities.Task, а также другие очереди, что работают с io.Reader, с entities.Event и т.д. Возможно ли это сделать не просто копипастя этот код с другими типами, а как то минимизировать написание кода? А то как то не хочется иметь в коде кучу копий одного кода, только с разными типами И да, прошу не предлагать делать типом у buf interface{}, или any, я про них знаю) P.S. На гите дев ветка, мдшки не читайте, там бред сумашедшего так ещё и с кучей ошибок, ваши глаза будут течь))) Дока будет, как весь код +- ок будет и тесты проходить начнут все
В других чатах тоже молчат, потому что вопрос так задан, что ничего непонятно. Причина и следствие.
Igor
напоминает знаменитый доклад "Авто.Доставка с Java на Go", где в конце на вопрос " а зачем вы переписываете с одного на другое", ответ "чтобы не нанимать java разрабов".... Что-то мне кажется это зашквар....вот прям полный.
Этот ответ можно толковать иначе. Например, я писал на го десктопное c GUI приложение под windows. Чтобы не брать в команду плюсовика, шарписта или заклинателя, прости господи, Электрона.
Mr.
Этот ответ можно толковать иначе. Например, я писал на го десктопное c GUI приложение под windows. Чтобы не брать в команду плюсовика, шарписта или заклинателя, прости господи, Электрона.
ой да ладно, электрон норм штука. Один фронт и на сайт и на десктоп можно держать, а потом за недельку бессонных ночей под реакт нейтив переделать, пхах для бизнеса удобно и выгодно, тем более джсеров и тсеров много
Sergey
Этот ответ можно толковать иначе. Например, я писал на го десктопное c GUI приложение под windows. Чтобы не брать в команду плюсовика, шарписта или заклинателя, прости господи, Электрона.
Нельзя так толковать, так как у них уже проект был написан на определенном стеке. Так же на вопрос про многопоточность, они так же сказали что ничего не поменялось
Sergey
Шило поменяли на мыло, снизив лишь размер POD
Mr.
Можно написать дженерик структуру
хммм... идея хорошая, да, сейчас думаю как бы их тут применить)
Mr.
тут проблема в том, что Queue.buf не может быть дженериком, как я понимаю
Данил
Может
Данил
type Stack[T any] struct { array []T }
Данил
Типо такого
Mr.
type Stack[T any] struct { array []T }
О, не знал, спасибо!
Данил
func (s *Stack[T]) Push(value T) { s.array = append(s.array, value)}
Mr.
крууууть
Данил
А push такой
Mr.
благодарю)
Mr.
дженерики крутые)
Igor
А это как-то увеличило зарплату?
Нет, но снизило масштаб возможных проблем
Dmitry
Нет, но снизило масштаб возможных проблем
Если не было акций, премий, опционов, то тут не чем гордиться.
Igor
Если не было акций, премий, опционов, то тут не чем гордиться.
Ну как... я мог работать 4 часа с гошниками или 6 с кросс-функционал ной командой. Это мой личный профит, ещё и полезный для команды в плане найма и взаимозаменяемости
Dmitry
Ну хоть значок "я не лох" получил? Согласись, что вкладываться в работодателя и ничего не получать, только голый оклад, это не рационально.