В прошлой статье мы с вами просто прочитали маркдаун файл и спарсили его содержимое. Это пусть и не очень классный, но необходимый первый шаг к созданию генератора статического сайта. На этот, для достижения нашей цели придется также усердно поработать. Начнем с того, что доработаем нашу структуру, представим новую функцию для некоторого базового тестирования загруженной разметки, а затем выведем настоящий реальный HTML. И, как обычно, если вы все еще не читали предыдущий пост, я настоятельно рекомендую прочитать его прямо сейчас, ведь сейчас мы просто возьмем код оттуда и будем его дополнять.
Я хотел начать кросс-постинг своих сообщений из блога dev.to на свой собственный сайт, но пока не определился с тем, как это сделать. Существует несколько вариантов: можно установить новый экземпляр Ghost или использовать генератор статического сайта. Мне нравится Ghost! Даже совсем не хочется признаваться, что в последнее время я не работал с ним. Использовать его в моем «dev site» кажется немного неправильным, особенно когда вспоминается, что основным направлением сайта будет Go. Мне просто очень нравится возиться с этим всем. Gophercon или баста! (Вероятно, баста, потому что я не уверен, что могу позволить себе «go», хах-хах.)
Ранее мы создали нашу самую первую модульную версию пакета mailgunner. На этот раз давайте посмотрим, что нам нужно сделать в новой версии - мы немного изменим код, обновим readme, а затем создадим новую версию.
Помните это?
mkdir $GOTPATH/github.com/shindakun/mailgunner mkdir $GOTPATH/github.com/shindakun/mailgunner/client
Сомневаюсь, что помните, если не читали предыдущий пост об отправке электронной почты через MailGun. Прошлый вариант немного небрежный, и я так сделал только для того, чтобы было проще использовать пакет локально с соответствующим примером. Мне это не очень понравилось и я до сих пор не опубликовывал этот пример на GitHub из-за этого. Итак, решил, что могу написать краткий пост как же сделать mailgunner правильным модулем Go.
Ранее мы рассмотрели, как можем использовать шаблоны Go для быстрого использования размеченного текста. На этот раз используем новые навыки форматирования с пользой! Для этого мы притянем пакет mailgunner, который собрали несколько недель назад. Видите, я же говорил вам, что у меня были на него планы.
Сразу же приступим к созданию того, что мы делали в двух предыдущих постах, поэтому, возможно, если вы их еще не читали, захотите уделить время их прочтению.
Мы уже знаем, как отправить электронное письмо через API MailGun. В этот раз мы улучшим код, который написали пару недель назад, чтобы привлечь пользователей с сайта jsonplaceholder. Потом мы проверим новый код на работоспособность и, если вы читали предыдущий пост, вам не составит труда догадаться, что мы будем делать ...
Мы с вами рассмотрели парочку небольших примеров того, как запрашивать данные с удаленного сервера по REST API. На этот раз, вы узнаете как их туда отправлять. Возможно, для этого вы могли бы использовать что-то вроде go-swagger, как предлагал @bgadrian и, вероятно, еще бы и применили это в продакшене. Однако в целях обучения мы просто сделаем, то, что сумеем стандартными средствами из коробки и используем небольшие самописные пакеты на основе стандартной библиотеки.
В прошлый раз мы сделали небольшую программу для запроса REST API и вывода ответа. И это было пусть и не самым полезным, но хорошим опытом. В это раз мы попробуем сделать с программой что-нибудь такое, что можно встретить на практике - надеюсь, я выясню что, прежде, чем мы доберемся до конца поста.
Недавно я размышлял о такой технологии, как REST API. Мне кажется, что работа с SaaS сервисом почти гарантирует, что вы так или иначе будете работать с одним или даже несколькими апи, так что, думаю, имеет смысл задуматься о том, как их правильно использовать. Я немного практиковался, изучал базовые вещи в Go и подумал, что было бы неплохо поделиться своим опытом и продолжить мою серию Learning Go.
Благодаря встроенному в Go пакету net / http довольно легко начать работу с базовым API-интерфейсом. Практически все необходимое для запроса удаленного API можно найти в стандартной библиотеке Go.
Эта часть будет немного отличаться от предыдущих. Я думаю мы немного обновим Go код и, тем самым, избавимся от возможных проблем с очисткой, которые я упоминал в прошлый раз. Как только закончим с этим, займемся версткой кода для создания расширения Chrome! И на этой ноте давайте начнем!
Присоединяйся в тусовку
Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.