Vitaliy
Anonymous
да, забейте
Anonymous
я ничего против не говорю
Anonymous
да пообщаться и потренить скилсы всегда круто
Anonymous
и пишешь в чат
Alexander
на закреп можно и не обратить внимания, ваш кэп
Anonymous
ок дальше оправдывайся
Anonymous
имхо нету смысла заходить в ру чат
Anonymous
ну если и зашел то будь готов отвечать будут мало
Abbos
https://www.coursera.org/learn/golang-webservices-1/
Есть кто проходил или слышал про этот курс?
Дайте отзыв пожалуйста
Vitaliy
Vitaliy
Abbos
What's your level, tell us about your experience
jeff
I have been working about ten years and using golang for 4 years.
Anonymous
Emil
Оп, записался
Abbos
Оцените задание, последние 2 пункта мне кажется уже не для джуниор уровня, не?
Abbos
Task: Build a server that sends messages to a telegram channel/group using a telegram bot token.
Requirement:
Between each message, there should be a minimum 5 seconds pause (a message per 5 seconds).
Also, messages can have one of these priorities Low, Medium, and High. Higher priority messages should go first in FIFO(First In First Out) manner before lower priority messages.
Message {
text: "Some message",
priority: ["low", "medium" or "high"]
}
step-1: Build a REST server that sends messages to a telegram channel/group.
step-2: Add swagger doc
step-3: Ratelimit - one message per 5 seconds
step-4: Send by priority
step-5: Monolith into microservices (API Gateway service and message service) using gRPC
step-6: Rewrite using RabbitMQ, ActiveMQ or Kafka
Alexander
И сколько можно получать, если все шаги выполнить?
Abbos
Это тестовое, так что 0)
Abbos
Alexander
Ну полное выполнение должно же приближать к приему и возможно верхнему зарплатному порогу? Не?
Alexander
Ну а по сложности, что скажешь?
Все выполнимо, вопрос во времени. Непонятно зачем все шаги, если по итогу нужен шаг 6 и один эндпоинт на получение джобы по отправке
Alexander
Конечно, странно от Джуна требовать не понимание того, что он делает, а умения налаживать инфраструктуру. Можно получить лютого говнокодера, который умеет пользоваться туториалами)
Alexander
Мб такая работа, где надо фигачить, а что завтра будет - заказчик заплатит ещё чтобы у него все не падало
Alexander
Хыхы. Китайцы я заметил любят скупать доменные имена и ставить там какие-то непонятные сайты, которые ссылаются друг на друга
Alexander
И какую то лютую паутину формируют
Masters in 365
Hello there,
We need a freelancer for our project.
Requirements:
• Expert in Golang with experience in reverse proxy scripting
• Excellent understanding of the HTTP and SSL protocols
• JavaScript expertise is required.
If anyone is interested, please ping me and I will explain my project.
Abbos
Их можно проходить бесплатно, просто смотреть материалы, а делать тестовые задания и получить сертификат - платно
Aleksey
Всем привет, присматриваюсь к go но никак не пойму, вроде позиционируют его для веба, а как-то цмс на нем нет, да и вообще законченных продуктов на нем не много, создается ощущение какого-то академического языка... Какие проекты на нем пишут?
Anonymous
как минимум апи мэйла ру
Emil
Гитхаб на него переписали, как минимум, если я правильно помню
Abbos
Abbos
Apres
Всем привет, присматриваюсь к go но никак не пойму, вроде позиционируют его для веба, а как-то цмс на нем нет, да и вообще законченных продуктов на нем не много, создается ощущение какого-то академического языка... Какие проекты на нем пишут?
Плюс к тому, что выше сказали: частично апи ламоды, частично апи всеИнструменты, частично апи ситилинк, апи других ресурсов, взявших курс на микросервисную архитектуру, Centrifugo переписали с питона на go, docker.... список очень большой, честно. Плюс в таких компаниях как гугл, яндекс, мэйл и другие большие на го пишется/переписывается многое, что раньше писалось на C и, в поиске компромисса, на Python/PHP
Aleksey
Alexander
Aleksey
Плюс к тому, что выше сказали: частично апи ламоды, частично апи всеИнструменты, частично апи ситилинк, апи других ресурсов, взявших курс на микросервисную архитектуру, Centrifugo переписали с питона на go, docker.... список очень большой, честно. Плюс в таких компаниях как гугл, яндекс, мэйл и другие большие на го пишется/переписывается многое, что раньше писалось на C и, в поиске компромисса, на Python/PHP
Ну т.е. пишутся свои проекты в основном судя по списку и приведенным примерам. Мне то в принципе это подходит, просто возник вопрос когда смотрел, что вообще на нем написано, и с первого взгляда негусто.
Apres
Abbos
Aleksey
Спасибо всем за ответы, более менее все встает на свои места.
Alexander
ну надо еще сказать, что на пыхе или питоне ты апишку может быстрее нафигачишь. но чисто из-за строгой типизации в гоу у тебя больше уверенности, что все заработает как надо с первого раза. и так во многом
Alexander
у меня есть подозрение, что можно устроиться на удаленку и не надо идти ноду. а почему джуниор, если уже опыт работы есть?
Alexander
мне кажется, ты слишком сильно себя ограничиваешь заранее. боишься разбиться пару раз?
Apres
Вот в это верю. Я бы посоветовал для начала не аппрувить первый же оффер после первого же собеса. Просто заранее говори, что тебе нужна будет неделька времени подумать. Подряд несколько собесов и будет больше уверенности в себе (скорее всего именно уверенности, а не разочарованности, хотя всякое случается). Но всегда держи в голове, что на хорошем собесе тебе не будут задавать, условно, 18 вопросов про git cherry pick/rebase, если ты сам с ходу про структуру и содержимое каталога .git рассказал. Будут, вероятно, много гонять именно по вопросам, в которых ты "плаваешь", но не для того, чтобы унизить тебя и сбить ценник (это тоже может быть), а для того, чтобы увидеть, как ты размышляешь, столкнувшись с новой проблемой, с нестандартной для тебя задачей. Именно такие таким собесам (и конторам) я бы поставил плюс. А не там где 1.5 часа про абстрактную фабрику расспрашивают.
Null
4 подводных камня на Go, на которые часто натыкаются
https://nuancesprog.ru/p/14177/
@Golang_google
Maks
Alexey Kovpaev
🅞leksiy
🅞leksiy
Ко мне как-то обратился чувак, сделать проект. Когда узнал, что на го пишу, отказался, сказал, что в панели хостинга знает только как пхп развернуть. Какие уж тут цмс
Slawka
Подскажите
imports github.com/go-sql-driver/mysql: import cycle not allowed
не пойму что хочет, как правильно подключить?
Alexander
это вроде не клуб экстрасенсов
Alexander
больше информации надо
Slawka
прописал импорт как в примере
и при выполнении go get package <пакет> получаю
import cycle not allowed
George
Лень в деталях расписывать, но это легко выгугливыаемый вопрос, так что не беда.
Циклический импорт значит что у тебя пекедж А имеет зависимость на пекедж Б, а пекедж Б на А. Зачастую не напрямую (формируя эдакий любовный треугольник).
Лечится по разному в зависимости от конкретного случая - или введением дополнительного пекеджа В, который объединяет А и Б, или измерением иерархии пекеджей (вынесением проблемной части в отдельный пекедж в кейсах, когда это возможно) Подробнее в инторнетах.
Slawka
Насколько я понял это распространённый модуль для работы с mysql и исходник из примера к модулю
получается кривой модуль и лучше поискать другой?
Alexander
А ты уверен, что это модуль, а не твой код?
Slawka
Код из примера к модулю
Alexander
Аааа, посмотри как примеры собирать
Alexander
Там иногда нюансы бывают именно с чем-то подобным связанные, и тогда разрабы пишут как примеры запускать
Anonymous
нету нормальной документации по aes?
Anonymous
для реализации в го
Abbos
Объясните некоторые моменты в gRPC пожалуйста, я понял что там создается сервер с интерфейсом, но не понял для чего нужен клиент и как его использовать
Alexander
для общения с сервером, не?
Abbos
для общения с сервером, не?
В примерах он написан на го, если я правильно понял с помощью gRPC можно разделить программу на микросервисы, но как связать их между собой и обращаться к api из вне я не понимаю
Alexander
это у тебя вроде было задание? я как понял в нем подразумевалось, что есть некий гейтвей, который общается джейсоном, а он уже с твоими микросервисами и сами они с собой через gRPC
Alexander
а так, конечно жс или какой мобильный клиент тоже можно через протобаф заставить общаться
Abbos
👀
Объясните некоторые моменты в gRPC пожалуйста, я понял что там создается сервер с интерфейсом, но не понял для чего нужен клиент и как его использовать
google сделали довольно прикольный метод сериализации данных - protobuf (что такое сериализация, зачем она нужна, и почему нельзя просто запихивать свои значения в строку через редко встречающийся символ типа "|", чем плохо json, и почему msg-pack не делает жизнь лучше - надо понимать, чтобы понимать в чем смысл protobuf)
особенностью сериализации protobuf явилось то, что файлы описаний надо было компилировать (транслировать) в код на целевых языках, и это была не только java (аналоги protobuf для конкретных языков и даже небольших групп языков - были, в частности - apache делал какой-то формат свой).
разработчики стали использовать protobuf для того, чтобы держать там бизнес-логику, особенно в C/C++ это удобно, по сути это удобнее, чем самуму выписывать все эти типы. стали даже появляться статьи и всякие умники "не используйте protobuf для внутренней логики - это просто сериалиазация".
стало ясно, что основной способ использования - это создание типа сообщения для запроса, и типа сообщения для ответа, а к тому моменту подоспел http/2 с его мультиплексированием в одно соединение и проч., и google добавило еще одну обертку - способ описать вызовы функций и генерацией кода для клиента (использующего API), и сервера (предоставляющего API), сделали даже streaming - возможность просто транслировать изменения состояния всем клиентам и т.д.
проблема с grpc в том, что они сделали очень запутанный и непрозрачный набор defaults, и в попытке скрыть от разработчика сложности спрятали такие штуки как timeout, и писать надежный код, даже так, как им хочется там у себя в google - не так просто... а сделали они это просто в неуклюжей попытке закаТать асинхронность под капот... я бы 10 раз подумал, прежде чем влезать в grpc для чего-то более-менее важного
Aleks