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

понедельник, 11 июля 2016 г.

Линтеры в облаках

Сегодня тема - интеграция GitHub и линтеров, на примере Go. Впрочем, кроме "Go Report Card" - сервисы мультиязычны. О пользе линтеров вообще, объяснять я думаю не нужно. А вот в защиту линтеров в облаках в частности, пару слов скажу. Конечно удобнее настроить редактор и править предупреждения локально, но это не всегда возможно. Для редактора может банально не найтись нужного плагина, настройка зачастую сложна, поддерживать в актуальном состоянии плагины тяжело. И оформление результатов у сервисов куда как лучше, я не видел ни одну IDE с графиками, плашками, агрегированными метриками для ошибок и т.п.

понедельник, 27 июня 2016 г.

CI для Go на базе Github

Сегодня поговорим о тестировании. На изучение темы применительно к Go меня сподвигла задача минимизации HTML (подробнее в "Веб поиск на Go. Краулер. Как не хранить лишнее"). Реализация имела так много особых случаев, что без тестов удержать их в голове стало невозможно. А чуть позже природная лень сподвигла меня настроить автоматическую прогонку тестов.



вторник, 7 июня 2016 г.

Emacs как IDE для Go

Цель статьи дать обзор инструментов в Emacs для работы с Go кодом. Настроить горячие клавиши, возможно добавить алиасы и сделать их удобнее для повседневного использования - на вашей совести. Хочу отметить, что поддержка языка в Emacs - на высоком уровне: подсветка кода, автодополнение, сниппеты, рефакторинг, подсветка ошибок, отображение документации, тестирование, компиляция и многое другое. Сразу оговорюсь, что проверял я только под Linux, под альтернативные OS могут быть особенности, которые тут не освещены.

понедельник, 23 мая 2016 г.

Веб поиск на Go. Краулер. Как не хранить лишнее

В предыдущей статье, я написал, как можно на этапе скачивания отбросить лишние страницы до непосредственной загрузки. Оставшиеся приходится хранить. Несмотря на большие и дешёвые диски, объёмы получаются существенными. Например, у меня сейчас в БД загружено 12 тыс страниц. И чистый HTML без картинок и прочего весит 900 МБ. Это неприемлемо много, поскольку для одного только habrahabr в очереди на скачивание осталось 20 тыс. страниц, в действительности их больше, т.е. только один сайт займёт более 2 ГБ на диске. Нужно как-то решать проблему.

 

понедельник, 28 марта 2016 г.

Веб поиск на Go. Краулер. Как не скачать лишнего

Я думал, что написать программу скачивающую сайт - на пару часов делов то. Всё ведь просто - скачиваем первую страницу и рекурсивно проходимся по всем найденным внутри ссылкам. Однако с таким подходом примерно 20% страниц оказались мусором, который мне не пригодился. Ниже я объясню, как я с таким мусором боролся. 

среда, 9 марта 2016 г.

Веб поиск на Go. Начало. Выбор БД.

Мой первый опыт знакомства с Go только по документации и статьям получился довольно неудачным, язык казался страшным и неудобным по большинству параметров. Но раз так много и упорно о нём в последнее время говорят, значит что-то в Go есть?! В общем я решил познакомиться с ним поближе. И по моему глубокому убеждению, проекты типа "hello world" для этого очень плохо подходят. Нужна большая интересная задача, в режиме "хотя бы пара месяцев по вечерам после работы". В общем я начал писать свой маленьких поисковик.

понедельник, 14 декабря 2015 г.

Первые впечатления от Go

Решил взяться за изучение так сильно разрекламированного в последнее время языка "Go". На данный момент я его знаю весьма слабо, ничего сложнее "hello word" на нём на писал. Но мне просто хочется изложить свой первый "незамутнённый" взгляд на язык, а потом после более близкого знакомства сравнить ощущения. По причине плохого знания языка, в тексте ниже могут быть неточности, но по крайней мере, я старался по мере сил каждое утверждение проверять. Приступим.