Pull to refresh

Новое в GitHub Actions: общий доступ к раннерам в рамках организации

Reading time2 min
Views1.6K


В конце 2019 года появился инструмент Actions, который позволял автоматизировать рабочие процессы непосредственно на платформе GitHub. С тех пор компания работала над расширением его возможностей и добавляла новые функции — например, использование API, кэширование зависимостей и артефактов, а также локально размещенные раннеры. В этом месяце функциональность Actions расширилась еще больше.

По словам компании, разработчики встретили Actions в основном положительно. Например, на площадке GitHub Marketplace появилось более 3200 соответствующих сценариев (рост с момента анонса Actions составил 500 %).

Среди представленных нововведений — возможность общего доступа к локально размещенным раннерам в рамках организации, что упрощает их повторное использование. Раннеры — это часть платформы GitHub Actions, средство запуска заданий в рабочем процессе. Команда GitHub считает, что возможность совместного использования раннеров устранит вероятность человеческой ошибки, так как соответствующие среды выполнения будут заранее правильно настроены и обеспечат эффективное использование ресурсов, а также позволят избежать ошибок, на исправление которых может потребоваться время. Также появились настраиваемые метки для раннеров, которые будут использоваться для направления рабочих процессов соответствующим раннерам.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку

Reading time29 min
Views23K


Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб — чтобы разработчики других приложений тоже могли улучшить скорость сборки. Я с нуля реализовал фреймворк, а затем мы вместе с командой интегрировали его в проекты и сейчас активно используем.

Как раз про свой опыт разработки я и хочу рассказать. Давайте попробуем разобраться, какие есть факторы замедления сборки, как Yatagan, совместимый с Dagger по API, с ними справляется и какие ещё задачи могут стоять перед DI-фреймворком — например, в части зависимостей под рантайм-условиями. Кстати, нативная поддержка этих зависимостей в Yatagan избавила нас от ручной обработки состояний A/B-экспериментов в DI.

Статья содержит много технических моментов, которые я открыл для себя по ходу исследований. В конце посмотрим, каким проектам Yatagan может быть полезен в качестве замены, а в каких польза от него будет невелика.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments13

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков

Level of difficultyEasy
Reading time12 min
Views7.5K

В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Deckhouse Kubernetes Platform. Деплоить будем с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения. Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации.

Читать далее
Total votes 28: ↑27 and ↓1+26
Comments2

Коллектив из бывших инженеров АНБ США и Amazon создает «GitHub для данных»

Reading time3 min
Views5.2K


Около полугода назад у нескольких инженеров и разработчиков с опытом работы в Агентстве национальной безопасности США, Google и Amazon Web Services появилась любопытная идея.

Для создания новых функций и изобретения чего-то нового разработчикам и инженерам нужны данные. Но эти данные часто конфиденциальны и недоступны — из-за бюрократии и разного рода нормативных требований, — и чтобы получить одобрение на их использование, может понадобиться несколько недель. Поэтому недавно был запущен проект Gretel — стартап, цель которого — помочь разработчикам безопасно обмениваться конфиденциальными данными и совместно взаимодействовать с ними в режиме реального времени.

Алекс Уотсон, один из сооснователей проекта, говорит о предназначении новой платформы так: «Это не такая нишевая задача, как может показаться. Разработчики любой компании могут столкнуться с этой проблемой». Зачастую разработчикам нужен не полный доступ к банку пользовательских данных, а лишь фрагмент или выборка для работы. Во многих случаях достаточно будет данных, которые просто выглядят как реальные пользовательские данные.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0

Git празднует пятнадцатилетие

Reading time4 min
Views3.1K

Прошло 15 лет с момента выхода распределенной системы контроля версий Git: первую версию Линус Торвальдс, известный как разработчик ядра Linux, выпустил 7 апреля 2005 г.

Сегодня, по утверждению GitLab, это, пожалуй, самая функциональная в мире распределенная система контроля версий (СКВ).

«В XXI веке качество программного обеспечения — это новый стандарт высокого профессионализма, поэтому компаниям крайне важно найти способы быстрого внедрения инноваций. Git позволяет ускорить разработку и начать приносить пользу клиентам быстрее», — говорит Сид Сижбрандиж, генеральный директор GitLab.

История Git


По словам разработчиков Скотта Чакона и Бена Штрауба, которые еще в начале двухтысячных написали книгу «Git для профессионального программиста», в проекте ядра Linux для обслуживания и отслеживания изменений использовалась распределенная СКВ BitKeeper. В 2005 г. BitKeeper стала платной, поэтому сообщество Linux решило разработать собственный инструмент — на основе уже имеющегося опыта работы с СКВ. Была поставлена задача создать быстрый и простой инструмент с хорошей поддержкой нелинейной разработки, полностью распределенный и способный работать с большими проектами. Так родился Git.
«С момента своего появления в 2005 году Git развился в простую в использовании систему, сохранив при этом свои изначальные качества. Он удивительно быстр, эффективен в работе с большими проектами и имеет великолепную систему веток для нелинейной разработки», — пишут в своей книге Чакон и Штрауб.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments5

Enterprise-версия программы FizzBuzz с правильной архитектурой

Reading time2 min
Views30K
Здравствуй, хабрачитатель. Я – редактор блога ABBYY. Сегодня утром ко мне пришли разработчики, принесли вот этот текст и попросили напечатать. Я не смогла придумать, почему этот текст должен появиться в корпоративном блоге, но разработчики говорят, что он смешной и принесёт радость людям. Так тому и быть!

Устали от полных кривизны и костылей сложных в поддержке программ? Постоянно слышите о правильной архитектуре, но так и не видели ее? Встречайте на Гитхабе Enterprise-версию программы FizzBuzz, показывающую, как должно выглядеть серьезное решение с правильной архитектурой.
Читать дальше →
Total votes 82: ↑70 and ↓12+58
Comments34

Для этого есть карта

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

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

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

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

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

Читать дальше →
Total votes 74: ↑68 and ↓6+62
Comments17

GitHub Flow: рабочий процесс Гитхаба

Reading time10 min
Views125K
Краткое предисловие переводчика.
Захватывающе интересная статья одного из разработчиков «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 (и т. п.) не создаёт проблем.

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


Читать дальше →
Total votes 111: ↑105 and ↓6+99
Comments47

Много бесплатных* инструментов от GitHub для студентов

Reading time1 min
Views13K

* бесплатные, но на различных условиях.
Привет, Хабр. Пару часов назад мне пришло на почту письмо от гитхаба. Краткий пересказ: нет ничего более ценного чем практический опыт, но для огромного количества студентов многие профессиональные инструменты недоступны из-за высокой цены. И мы (гитхаб) с нашими партнерами решили создать Student Developer Pack — дать бесплатный доступ к отличным инструментам разработчика и собрать всё это в одном месте.
Если у вас имеется аккаунт на Гитхабе, и вы зарегистрированы в студенческой программе(GitHub Education, если нет — то регистрируетесь и получаете пак), то можно получить довольно большой список инструментов:
Читайте список под катом
Total votes 29: ↑22 and ↓7+15
Comments5

Сайт-визитка студента без затрат

Reading time3 min
Views34K

В жизни многих студентов it-специальности возникает желание устроиться на работу или стажировку в хорошую it-компанию. А для этого неплохо бы показать все свои скиллы на специально созданном сайте-визитке. Но студент, на то он и студент, обычно "бедный" и не хочет тратить деньги на покупку домена и хостинг, однако хочется всё по-взрослому (а не на Ucoze).


В этой статье я хотел бы поделиться своим опытом и опытом моих друзей, которые столкнулись с такой необходимостью, а также рассказать подробно о побочных эффектах, настройках и технологиях. Здесь не будет технических новинок, наоборот это максимально подробная и понятная статья, в которой я расскажу о лайфхаках и постараюсь объяснить технические сложности.


Что будет в этой статье:


  • про бесплатный пак от github для студентов
  • как получить бесплатный домен на год
  • как получить бесплатный хостинг
  • как связать домен и хостинг (DNS)
  • где взять шаблон
Читать дальше →
Total votes 35: ↑16 and ↓19-3
Comments26

Нужно ли покупать новый компьютер для вёрстки

Reading time4 min
Views13K

В начале какого-нибудь фитнес-курса обычно объясняют, какой понадобится реквизит: специальная палка, мячи разных размеров, резинка, пенный ролл. На курсе по вёрстке сложнее. Понятно, что нужен компьютер, там нужны программы. Чего тут ещё рассказывать? Поэтому как филолог, который раньше никогда не писал код, я даже подумать не могла, что собственный ноутбук будет мешать мне учиться верстать.

Ноутбук мне подарили ещё в 10 классе за хорошую учёбу. Я закончила школу, два университета, а он всё это время был со мной. Многое вытерпел: бесконечные загрузки всяких файлов из интернета, установки программ и расширений, сутки работы над документами, многочасовые просмотры фильмов и сериалов. Конечно, иногда его чистили, проверяли на вирусы, удаляли лишнее, но время берёт своё. И вот потихоньку он начал притормаживать. То включается долго, то ничего не грузится. Но в сложных (или, скорее, нестандартных) программах я не работала, поэтому в целом меня всё устраивало. Пока я не начала изучать вёрстку.

Мне дали ссылку на макет и инструкции. Но почти сразу что-то пошло не так.

Читать далее
Total votes 22: ↑16 and ↓6+10
Comments50

ГитХабр: Свой коллективный Хабрахабр с блэк-джеками

Reading time4 min
Views1.2K

Первое погружение

image Я решил начать изучение распределённой системы управления версиями файлов GIT с веб-интерфейса Гитхаба. Причем, меня интересовала прежде всего такая теоретическая возможность: участие в коллективной разработке какого-нибудь маленького (но, очень ответственного) проектика, без необходимости установки какого-либо дополнительного программного обеспечения, ограничиваясь лишь веб-интерфейсом, доступным из любого браузера, и, быть может, встроенным Блокнотом (для, более комфортной правки исходного кода).

Гипотетически, весь проект мог бы при этом представлять собой один-единственный файл исходного кода, так, чтобы любой желающий всегда мог получить к нему доступ, а так же, после внесения правок, мог отправить запрос руководителю проекта на добавление сделанных исправлений в основную (или же, альтернативную) ветку проекта.
Вот, так, на абсолютно пустом месте и возник мой проект Гит-Хабр...
Total votes 84: ↑17 and ↓67-50
Comments22

Подключение картинок к описаниям проблем на Гитхабе

Reading time1 min
Views12K
Говорят, одна картинка стóит тысячи слов. Меньше слов — это одна из важнейших целей команды Гитхаба, поэтому сегодня мы выпустили в свет подключение картинок к описаниям проблем.

[анимированный скриншот]

Довесок.  А если вы пользуетесь Хромом, то сможете вставить (paste) картинку в поле комментария — и она закачается да подключится.
Total votes 56: ↑38 and ↓18+20
Comments21

GitHub добавил поддержку шаблонов для Issue и Pull-реквестов

Reading time1 min
Views14K
Вчера, 17 февраля, команда разработчиков Github анонсировала новый функционал, которого пользователям, участвующим в групповой разработке, могло серьезно недоставать: теперь в GitHub есть шаблоны для Issue и Pull-реквестов.

image
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments25

Повышаем продуктивность на GitHub: советы для новичков и не только

Reading time3 min
Views27K


От переводчика: публикуем для вас статью Даррена Барнса, который делится своим опытом работы с GitHub. Его советы будут полезны, в первую очередь, новичкам. Возможно, и опытный кодер найдет что-то для себя.

GitHub — отличный сервис, которым пользуются пусть не все, но очень многие программисты. После того, как объем приватных репозиториев стал неограниченным, сервис привлек внимание даже тех, кто не работал с ним раньше.

Сервис разрабатывался программистами для программистов. Его создатели добавили большое количество очень удобных инструментов, которые повышают производительность. Но, к сожалению, не все разработчики об этих инструментах знают. А кто знает — не всегда использует.
Читать дальше →
Total votes 66: ↑62 and ↓4+58
Comments5

«Цифра» представила дизайн-систему Prizm

Level of difficultyEasy
Reading time2 min
Views2.7K

Группа компаний «Цифра» презентовала свою дизайн-систему Prizm, имеющую открытый исходный код. Это первая российская дизайн-система для индустриальных цифровых решений.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments7

Изучение недооцененной силы Биткоин утилит: подробное руководство в Google Colab

Reading time29 min
Views2.4K

В этой статье мы поговорим о Биткоин утилитах которые многочисленны и разнообразны. Его децентрализованный характер и отсутствие посредников делают его мощным инструментом для самых разных случаев использования. Поскольку технология продолжает развиваться и развиваться, мы можем ожидать увидеть еще более инновационные применения Биткоина в будущем.

Биткоин — первая в мире децентрализованная цифровая валюта, которая произвела революцию в нашем представлении о деньгах. Одним из наиболее интересных аспектов Биткоина является широкий спектр утилит, разработанных для его поддержки. Эти утилиты призваны помочь пользователям безопасно и надежно взаимодействовать с сетью Биткоин и играют решающую роль в экосистеме.

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

Еще одна важная утилита Биткоин — это обмен биткоинов. Биржа — это платформа, которая позволяет пользователям покупать и продавать биткоины за другие валюты, такие как доллары США или евро. Доступно множество различных бирж, каждая со своим набором комиссий, функциями безопасности и пользовательскими интерфейсами. Важно выбрать биржу с хорошей репутацией, имеющую хорошую репутацию в области безопасности и надежности.

Читать далее
Total votes 19: ↑5 and ↓14-9
Comments5

Осваиваем 3-рублёвые микроконтроллеры PADAUK

Level of difficultyMedium
Reading time8 min
Views32K
image

Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments56

10 000 000 репозиториев

Reading time1 min
Views14K
image

За несколько дней до наступления 2014 года Гитхаб успел перешагнуть отметку в 10 миллионов репозиториев. Причём больше половины из них — 5,5 миллиона — было создано в этом году. Гитхаб, несмотря на уже огромные размеры, продолжает расти экспоненциально. Если на создание первого миллиона репозиториев ушло три года и восемь с половиной месяцев, то последний миллион нарегистрировали за сорок восемь дней.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments30
1