Показаны сообщения с ярлыком Go. Показать все сообщения
Показаны сообщения с ярлыком Go. Показать все сообщения

вторник, октября 17, 2017

Переписал сайт planetgo.ru на Go

Наконец-то дошли руки переписать свой агрегатор на Go. Давно уже хотел этим заняться, но всё руки не доходили. Было несколько идей по улучшению работы сайта, по загрузке данных с ресурсов и пр., но внедрять их используя те технологии, на которых изначально было написан сайт(Perl, Mojolicious), не хотелось. Вот тут я немного описал по какой причине мне не хотелось дальше работать с моджо.
В итоге парсер ресурсов был переписан на питоне, а бэкенд сайта переписан на Go.
Что хотелось бы отметить про разработку на go после опыта на динамически типизированном языке? В первую очередь - это непривычность работы со строгой типизацией. Когда пишешь функцию/метод ты должен чётко значть, что у тебя будет на входе и на выходе. Динамически типизированные языки проще в этом плане.
Немного но сильно побесил встроенный шаблонизатор html/template. Чтобы скомпилировать шаблон из нескольких файлов, нужно предварительно корректно задать имя получившегося шаблона:
import (
 "html/template"
 "path/filepath"
)

files := []string{"base.tmpl", "index.tmpl"}
path := "root_path"
for i, file := range files {
 files[i] = filepath.Join(path, file)
}
tmpl := template.Must(template.New("index").ParseFiles(files...))
Поначалу, с непривычки никак не мог вкурить в некоторые моменты работы шаблонизатора. Пришлось лезть в исходники чтобы разобраться. Также пришлось разбираться с пакетом net/http, т.к. при написании кода хотелось по макисмуму использовать стандартную библиотеку языка чтобы лучше с ним позакомиться. Некоторое время потратил на создание
промежуточного обработчика запросов.
Сейчас сайт уже запущен и работает. Допиливаю небольшую админку, тоже на Go, вожусь с обработкой json для rest api.
В целом, язык очень годный, разрабатывать на нём приятно. Go fmt вообще крутая вещь.
В будущем постараюсь написать статьи по различным компонентам стандартной библиотеки, с которыми мне пришлось столкнуться в процессе разработки.

понедельник, мая 18, 2015

Встреча гоферов в Новосибирске

22 мая 2015 в Новосибирске Яндекс проводит встречу местного сообщества гоферов.
Участие свободное, но требуется регистрация.
Подробнее про встречу на сайте яндекса

вторник, апреля 21, 2015

Агрегатор статей про Go в рунете

Запилил сайт http://planetgo.ru, который подтягивает и отображает новые статьи про язык Go, написанные в рунете.
Сделано по аналогии с сайтом planetperl.ru.
Пока среди источников только хабр, но уже на подходе пара сайтов, на которых периодически всплывают статьи про Go.

Сам сайт написан на перле с mojo. В отдалённом будущем возможно перепишу на Go