Рубрика «github» - 58

Краткое предисловие переводчика.

Захватывающе интересная статья одного из разработчиков «GitHub Inc.» о принятом в компании рабочем процессе потребовала употребить пару специальных терминов при переводе.

То понятие, для которого на английском языке достаточно одного слóва «workflow», на русский приходится переводить словосочетанием — «рабочий процесс». Ничего лучше не знаю ни сам я, ни при помощи гуглоперевода — так что и мне, и читателям придётся с этим мириться, хотя бы и поневоле.

Другое понятие, «deploy», на русский часто переводят словом «развёртывание», но в моём переводе я решил вспомнить оборот из советского делопроизводства — «внедрение инноваций на производстве» — и стану говорить именно о «внедрении» новых фич. Дело в том, что описанный ниже рабочий процесс не имеет «выпусков» (releases), что делает несколько неудобными и речи о каком-либо «развёртывании» их.

К сожалению, некоторые переводчики бывают склонны грубо убивать сочную метафору «иньекции» (или даже «впрыскивания», если угодно), содержающуюся в термине «code injection», так что и его также переводят словосочетанием «внедрение кода». Эта путаница огорчает меня, но ничего не могу поделать. Просто имейте в виду, что здесь «внедрением кода» я стану назвать внедрение его именно в производство (на продакшен), а не в чей-нибудь чужой код.

Я стремился употреблять словосочетание «в Гитхабе» в значении «в компании GitHub Inc.», а «на Гитхабе» — в значении «на сайте GitHub.com». Правда, иногда разделять их сложновато.

Проблемы git-flow

Повсюду путешествую, преподавая Git людям — и почти на каждом уроке и семинаре, недавно мною проведённом, меня спрашивали, что я думаю о git-flow. Я всегда отвечал, что думаю, что этот подход великолепен — он взял систему (Git), для которой могут существовать мириады возможных рабочих процессов, и задокументировал один проверенный и гибкий процесс, который для многих разработчиков годится при довольно простом употреблении. Подход этот также становится чем-то вроде стандарта, так что разработчики могут переходить от проекта к проекту и из компании в компанию, оставаясь знакомыми с этим стандартизированным рабочим процессом.

Однако и у git-flow есть проблемы. Я не раз слыхал мнения людей, выражавших неприязнь к тому, что ветви фич отходят от develop вместо master, или к манере обращения с хотфиксами, но эти проблемы сравнительно невелики.

Для меня одной из более крупных проблем git-flow стала его сложность — бóльшая, чем на самом деле требуется большинству разработчиков и рабочих групп. Его сложность ужé привела к появлению скрипта-помощника для поддержания рабочего процесса. Само по себе это круто, но проблема в том, что помощник работает не из GUI Git, а из командной строки, и получается, что те самые люди, которым необходимо действительно хорошо выучить сложный рабочий процесс, потому что им вручную придётся пройти все шаги его — для этих-то людей система и недостаточно удобна для того, чтобы использовать её из командной строки. Вот что становится крупною проблемою.

Все эти проблемы можно без труда преодолеть, следуя гораздо более простому рабочему процессу. Мы не пользуемся git-flow в Гитхабе. Наш рабочий процесс основан (и всегда был основан) на более простом подходе к Git.

Простота его имеет несколько достоинств. Во-первых, людям проще понять его, так что они быстрее начинают использовать его, реже (или вовсе никогда не) допускают ошибки, требующие отката. Кроме того, не требуется скрипт-обёртка, помогающий следовать процессу, так что употребление GUI (и т. п.) не создаёт проблем.

Рабочий процесс Гитхаба

Читать полностью »

Публикуя блогозапись «SIM-карты пассажиров московского метро подвергнутся бесконтактному считыванию» на Хабрахабре, я набрал, как обычно, элемент <img src="…"> и указал в нём адрес иллюстрации с SIM-картою (расположенной на Викискладе):

  • http://upload.wikimedia.org/wikipedia/commons/2/2c/Simcard.jpg

Однако в сохранённой блогозаписи (и при последующем редактировании её) адрес картинки волшебным образом принял другой вид:

  • http://habr.habrastorage.org/post_images/b0d/064/947/b0d064947a9d80f718ff5abce8e1e1c9.jpg

И тогда я понял, что Хабрахабр начал принимать на постоянное хранение те иллюстрации, которые помещаются во блогозаписи.

Такой подход имеет не менее четырёх достоинств:

  • Если отдалённый сайт прекратит работу, то картинка из блогозаписи пропадёт. Хабрасклад же, насколько я понимаю, предназначен существовать столько же, сколько и сам Хабрахабр.
     
  • Если отдалённый сайт не выдержит хабраэффекта, то картинка из блогозаписи пропадёт или станет загружаться чрезмерно долго, нервируя читателей блога. Хабрасклад же, насколько я понимаю, устойчив к хабраэффекту.
     
  • Владелец отдалённого хостинга утрачивает возможность анализировать поле «referrer» и другую информацию из заголовков HTTP-запросов от читателей Хабрахабра. Делаются невозможными счётчики посещаемости блогозаписей.
     
  • Отпадает возможность подменить одну картинку на другую, не трогая блогозапись, или выборочно показывать другую картинку части читателей — и тем устроить, например, какую-нибудь грубую шутку над читателями. Хотя надобно отметить, что такие подмены зачастую совершаются и с благими намерениями. Ну, например, если на отдалённый хостинг окажется загружена новая и улучшенная версия картинки, но гораздо более крупного размера, то блогозапись не окажется раздутою по ширине.

Такой подход имеет и не менее четырёх недостатков:

Читать полностью »

О чем это я?

С чего начинается практически каждое web-приложение на Erlang? Не знаю, у кого как, а у меня, как правило, со строчек кода, ответственных за запуск Ковбоя и обслуживание запросов. С функции обновления правил роутинга. Причем всегда это одно и то же — только роуты отличаются, порт и количество акцепторов, может быть. И это можно сделать проще. Догадались уже, к чему я клоню? Нет, это не очередной фреймворк. Это превращение встраиваемого ковбоя в отдельно запускаемое приложение. То есть мы пишем наше приложение, хендлеры Ковбоя, но сам Ковбой не трогаем. Вообще. Ни зависимостей не указываем, ни при старте приложения не запускаем. Любопытно? Добро пожаловать под кат.
Читать полностью »

Мобильная версия GitHub

GitHub наконец-то представил мобильную версию сайта. «GitHub — отличный инструмент для разработки и публикации программного обеспечения, но большая часть процесса разработки по-прежнему требует наличия ноутбука или настольного компьютера. С другой стороны, наши телефоны не очень пригодны для написания кода, зато идеально подходят для просмотра и чтения. На этом мы и сконцентрировались при создании мобильной версии сайта», — пишут разработчики.
Читать полностью »

Привет, Друзья!

Гитхаб — прекрасный сайт. Но представьте, что вы нашли проект А, и хотите узнать какие еще существуют похожие проекты. Как быть?

Именно с таким вдохновением уселся я разбирать API GitHub'a. Спустя пару недель свободного времени вот что получилось:

Для большинства проектов находится пара действительно интересных предложений. Вот несколько примеров: angular.js, front end bookmarks, three.js

Основная идея для построения рекомендаций — «Разработчики которые поставили звездочку этому проекту, также поставили звездочку...». А детали идеи, ее недостатки и ссылка на код — ниже.

Читать полностью »

В этой статье мы поговорим про анонсы и коммерческую доступность сервиса Windows Azure Web Sites.

Windows Azure Web Sites

Windows Azure Web Sites — это сервис предназначенный для быстрого создания новых или размещения существующих веб-приложений в надежном, масштабируемом облачном окружении.

Ключевыми особенностями Windows Azure Web Sites являются:

  • Поддержка разнообразных платформ и языков программирования для размещения веб-приложений;
  • Непрерывная интеграция со службами и системами контроля версий;
  • Публикация готовых приложений, фреймворков и CMS за две минуты из галереи шаблонов;
  • Масштабирование по требованию и автоматическое масштабирование вычислительных ресурсов на основе заданных правил;
  • Подробные мониторинг, ведение логов и диагностика через панель администрирования;
  • Удобное конфигурирование, поддержка SSL, привязка собственных доменов, поддержка 32 и 64-битного размещения;
  • Гибкое ценообразование: бесплатный тариф, быстрое масштабирование сайта на другие тарифы при росте приложения.

Читать полностью »

Перевод статьи Андрея Бауера — The HoTT book

Книга по HoTT закончена!

Начиная с весны, и даже раньше, я участвовал в командном проекте по написанию книги по гомотопической теории типов (Homotopy Type Theory). Она наконец написана и готова к употреблению. Вы можете скачать книгу бесплатно: homotopytypetheory.org/book/. Майк Шульман рассказал о содержании книги, так что я не буду повторять то же самое. Вместо этого я бы хотел прокомментировать некоторые социо-технологические аспекты создания книги и, в частности, рассказать о том, чему нас научило сообщество Open source.
Читать полностью »

image

Спору нет, Github — одна из лучших платформ для совместной работы над open source проектами. Но вот найти проект, который близок по духу и смыслу вашему, здесь зачастую бывает не так просто. А ведь можно было бы найти похожий проект и принять участие в его разработке. Теперь с этим вопросом, возможно, станет немного проще — после появления GitRec, который позволяет получить список рекомендаций для конкретного репозитория или юзернейма.
Читать полностью »

Не так давно мы начали рендерить 3D-модели на Гитхабе. Сегодня мы с удовольствием объявляем о новейшем прибавлении в семействе визуализаций — о геоданных. Любой файл .geojson в репозитории на Гитхабе теперь станет автоматически отображаться в качестве интерактивной карты (с возможностью листания), снабжённой вашими геоданными.

[скриншот 2013-06-13 10:23:32]

Люди ужé используют Гитхаб для хранения разных геоданных, от почтовых индексов Чикаго и до радиостанций сообществ да путей движения известных в истории ураганов, так что мы с нетерпением ожидаем увидеть дальнейшие плоды сотрудничества сообществ.

«Под капотом» мы используем Leaflet.js для отображения данных geoJSON поверх специальной версии базового слоя карты улиц MapBox — упрощённого, чтобы данные ваши на нём воссияли. Лучше же всего — то, что картооснова использует данные OpenStreetMap; так что, если пожелаете улучшить какой-либо участок её, редактируйте тотчас же.

Карты на Гитхабе поддерживают отображение данных ГИС как точек, линий и многоугольников. Вы даже можете донастроить способ отображения ваших данных — например, изменить цвета и размеры отдельных пометок, указать более понятные значки, указать дополнительные свéдения для чтения читателем, ткнувшим по заинтересовавшей его пометке на карте.

Читать полностью »

GitHub Pages — это такая классная шизофреническая штука, которая может а)показывать созданную при помощи встроенного редактора страничку, б)генерировать Jekyll-блог и в)отображать html-файлы на произвольном домене.
В последнем образе она нас и интересует для размещения документации, написанной с использованием Sphinx.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js