polyanin
@polyanin
Golang, PHP & Symfony developer

Что интересного полезного можно писать на GO для прокачки как разработчика?

Приветствую!
Что интересного полезного можно писать на GO для прокачки как разработчика?
Основы уже изучил. Есть опыт (3+ года) написания простых микросервисов на GoKit, в основном CRUD, мелкая логика и копипаст.
Цель - уверенно пройти собес на мидла.
Доп. бэкграунд C, PHP, Js
  • Вопрос задан
  • 659 просмотров
Пригласить эксперта
Ответы на вопрос 5
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Ответ написан
Комментировать
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Цель - уверенно пройти собес на мидла

Если цель пройти собеседования, то нужно пройти несколько десятков собеседований.
Ответ написан
Комментировать
xenon
@xenon
Too drunk to fsck
У Go есть хорошее преимущество - он быстрый, относительно интерпретируемых языков. У меня была идея сделать на базе Go сервис быстрых вычислений, куда можно накидать разных данных из другой программы (на php/python), и вызвать какую-то операцию, которую этот сервис сделает быстрее, чем родной интепретируемый код.

Примерно, как redis делает для key-value данных. Ведь почти все нужные от редиса функции можно реализовать и внутри python/php программы, но redis все сделает гораздо быстрее.

Одна из задач для "вычислителя" - безопасный eval(), я такой делал для python (evalidate). eval() почти всегда - очень опасная функция, чтобы использовать ее в своем коде, но хочется. evalidate - только для python, и это плохо. Удобнее было бы как отдельный сервис (на том же хосте), куда можно загрузить данные, юзерский код и исполнить его. Причем сервис с максимально ужатыми правами, чтобы были минимальные риски по безопасности. Я думал сделать evalidate как сервис, но на пайтоне он слишком медленный был бы, а вот на Go - в самый раз.

Пример типовой задачи: Онлайн-магазин, у нас есть список товаров (может быть в mysql или в redis или прямо в нашу программу загружается как список). Потом пользователь задает какой-то свой сложный поиск, вроде "Найти все смартфоны до 25 000 рублей, с памятью 128, но не Huawei, а если Apple, то можно и до 50 000" и медленное веб-приложение прокидывает это запрос на наш быстрый вычислитель и получает от него ответ.

В общем - некоторые задачи, которые могут достаточно часто встречаться и медленно исполняться на интепретируемых языках, могут загружаться в этот вычислитель, который исполнит их быстрее.

Если интересно, можно обсудить эту идею.
Ответ написан
Комментировать
@alexeydolgov
ну если пройти собес цель - то надо скорее много читать чем писать.

Если для себя:
1) я лично всяких ботов писал, доменная логика отдельно, а потом подключаешь адаптеры для вк или телеги или еще веб делаешь. Прикольно. Можно еще google dialogflow подрубить, раньше можно было.
2) Идея например создать доску Уиджи. Типа пишешь сообщение а ответ приходит из dialogflow и его визуально показываешь. правда в такой идее больше фронта чем бэка. И это не конкретно про go, про уровень разработчика.
3) Еще идея - некий taskmanager, есть например некие задачи с приоритетом, надо их выполнять в пуле воркеров. вот тут и многопоточка и race condition. все по красоте.
4) мб игры какие то если увлекает это тема
5) может быть докерные всякие штуки. Например запуск контейнеров каких то для тестирования аля https://github.com/ory/dockertest
6) придумать свой протокол и реализовать. Книга Михалис Цукалос "Golang для профи" в помощь
7) рискованный но все же. свой блокчейн или на крайняк свой goethereum клиент. тут и p2p и свои протоколы. Есть где поковыряться

Идей миллионы, просто ищешь что интересно тебе и делаешь. Но на собесах у меня лично просили код показать примерно никогда. Больше по теории гоняли.
Ответ написан
Комментировать
@apelsinovi-sok
Сервер для онлайн игры на web или udp сокетах
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы