Если пройтись по образам на docker hub, то подавляющее большинство окажется построенными на базе Ubuntu и Debian. Хотя уже встречаются робкие попытки, в официальных сборках популярных пакетов, выкладывать альтернативные образы на базе Alpine linux. Но в общей массе это капля в море. А между тем Alpine подходит для базового образа куда лучше, чем такие знакомые и родные Debian с Ubuntu.
Программист - это звучит гордо
Знаниями нужно делиться, иначе они протухают.
понедельник, 19 сентября 2016 г.
вторник, 19 июля 2016 г.
Меню с нечётким поиском в консоли
Сегодня будет сказка о утилите fzf (command line fuzzy finder). В основе лежит простая идея: fzf читает строки из STDIN, отображает в виде меню с нечётким поиском в консоли и пишет выбранную строку в STDOUT. Несмотря на, скажем даже, примитивность, такой подход позволяет удобно интегрировать со стандартными утилитами командной строки и делать интересные вещи. Ниже приведу несколько примеров того, что на её основе можно сделать.
понедельник, 11 июля 2016 г.
Линтеры в облаках
Сегодня тема - интеграция GitHub и линтеров, на примере Go. Впрочем, кроме "Go Report Card" - сервисы мультиязычны. О пользе линтеров вообще, объяснять я думаю не нужно. А вот в защиту линтеров в облаках в частности, пару слов скажу. Конечно удобнее настроить редактор и править предупреждения локально, но это не всегда возможно. Для редактора может банально не найтись нужного плагина, настройка зачастую сложна, поддерживать в актуальном состоянии плагины тяжело. И оформление результатов у сервисов куда как лучше, я не видел ни одну IDE с графиками, плашками, агрегированными метриками для ошибок и т.п.
вторник, 5 июля 2016 г.
понедельник, 27 июня 2016 г.
CI для Go на базе Github
Сегодня поговорим о тестировании. На изучение темы применительно к Go меня сподвигла задача минимизации HTML (подробнее в "Веб поиск на Go. Краулер. Как не хранить лишнее"). Реализация имела так много особых случаев, что без тестов удержать их в голове стало невозможно. А чуть позже природная лень сподвигла меня настроить автоматическую прогонку тестов.
понедельник, 20 июня 2016 г.
Компиляция во всплывающем буфере Emacs
Начну с описания проблемы, которая давно меня раздражала в Emacs. Запускаем, допустим, компиляцию, и она открывает буфер в непредсказуемом месте, замещая уже открытые. Логику по которой она выбирает себе место - я так и не постиг. Но зато нашёл плагин, который борется с такими своевольными операциями - popwin.
вторник, 14 июня 2016 г.
вторник, 7 июня 2016 г.
Emacs как IDE для Go
Цель статьи дать обзор инструментов в Emacs для работы с Go кодом. Настроить горячие клавиши, возможно добавить алиасы и сделать их удобнее для повседневного использования - на вашей совести. Хочу отметить, что поддержка языка в Emacs - на высоком уровне: подсветка кода, автодополнение, сниппеты, рефакторинг, подсветка ошибок, отображение документации, тестирование, компиляция и многое другое. Сразу оговорюсь, что проверял я только под Linux, под альтернативные OS могут быть особенности, которые тут не освещены.
понедельник, 30 мая 2016 г.
Заворачиваем Chrome в Docker контейнер
Сегодня будем заниматься засовыванием Chrome в Docker контейнер. Я этим занялся, поскольку планирую перенести пакеты, которые не входят основной репозиторий - в контейнеры. Это безопаснее, реже ломается, быстрее в развёртывании и обновлении, не тянет ненужных зависимостей. Плюс интересно приобрести опыт в работе с контейнерами, которые имеют GUI. Chrome хороший, в этом плане, кандидат - много неочевидных нюансов в настройке. Приступим.
понедельник, 23 мая 2016 г.
Веб поиск на Go. Краулер. Как не хранить лишнее
В предыдущей статье, я написал, как можно на этапе скачивания отбросить лишние страницы до непосредственной загрузки. Оставшиеся приходится хранить. Несмотря на большие и дешёвые диски, объёмы получаются существенными. Например, у меня сейчас в БД загружено 12 тыс страниц. И чистый HTML без картинок и прочего весит 900 МБ. Это неприемлемо много, поскольку для одного только habrahabr в очереди на скачивание осталось 20 тыс. страниц, в действительности их больше, т.е. только один сайт займёт более 2 ГБ на диске. Нужно как-то решать проблему.
Подписаться на:
Сообщения (Atom)