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

Как мы внедряли DevOps: непрерывная интеграция с GitHub и системой сборки Visual Studio Team Services - 1

Всем привет! Мы продолжаем цикл статей «Как мы внедряли DevOps» от команды Vorlon.JS.
Vorlon.JS — это основанный на node.js инструмент, который позволяет веб-разработчикам удобный способ удаленно тестировать, контролировать и отлаживать веб-приложение, особенно на мобильных и embedded системах. В своем блоге на MSDN, команда подробно описывала поэтапное внедрение DevOps практик в организацию работы над Vorlon.JS и выбор инструментов для решения ежедневных задач. Vorlon.JS является проектом с открытым исходным кодом.

Microsoft предлагает большое количество инструментов, которые могут быть использованы для реализации DevOps практик, и в этом цикле мы подробно расскажем про Visual Studio Team Services, Visual Studio Code и работу с Microsoft Azure. Конечно, затронем и возможность использования также множества не-Microsoft инструментов, в том числе при развертывании приложений в Microsoft Azure.

Содержание цикла:

Вы возможно уже знаете, что Visual Studio Team Services (VSTS) предоставляет инструменты управления исходным кодом с поддержкой GIT или TFVSC (Team Foundation Version Source Control).

В этой статье мы подробно расскажем, как легко внедрить непрерывную интеграцию для кода, расположенного на GitHub, используя Visual Studio Team Services.
Читать полностью »

Привет!
Вчера мы выпустили новую версию нашего инструмента для code review и навигации по репозиториям, Upsource. Давайте посмотрим, что нового в этом релизе.

Поддержка PHP, Kotlin и JavaScript
С самого первого релиза мы стремились сделать инструмент для code review, который был бы таким же умным, как IDE от JetBrains. Поэтому, начиная с первой версии в Upsource были такие возможности, как навигация по коду и статический анализ для Java проектов, аналогичные тем, что вы можете найти в IntelliJ IDEA. Эта функциональность помогает лучше понять изменения в проекте и разобраться в том, какие потенциальные проблемы могли прокрасться в эти изменения, или как можно еще улучшить качество кода. Однако, мы решили не останавливаться на поддержке только Java-проектов и сегодня мы рады сообщить вам, что в версии 3.0 аналогичная функциональность доступна и для проектов на PHP и Kotlin. Также мы довели до ума поддержку JavaScript, которая была доступна и раньше, но находилась в экспериментальной стадии.

image

GitHub pull requests
Если ваша команда использует GitHub pull requests как основной процесс code review, мы рады сообщить, что теперь вам на помощь может прийти вся умная функциональность Upsource. Для этого достаточно подключить Upsource к вашему GitHub репозиторию и Upsource будет рассматривать ваши pull requests как code review. Все комментарии и активность в них, конечно же, будет синхронизована с GitHub.

image

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

21 популярная и 21 непопулярная технология в IT - 1

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

В своей работе вы используете MySQL, Postgres или Mongo, а может даже Apache Spark? Хотите знать с чего начинались эти проекты и куда они движутся сейчас? В этой статье я представлю соответствующую визуализацию

Визуализация инструментов обработки данных с Github - 1

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

В далёком 2012 на Хабре обсуждались «рестриктеры», «делитеры», «цензурасты», а также «абузо-устойчивые» провайдеры в статье про то, что был предложен новый HTTP-статус для цензуры, а точнее для ресурсов, доступ к которым ограничен из-за проблем с законом.

Собственно статус HTTP 451 был предложен Тимом Брэйем из Google, а виновником (в прямом и переносном смысле) переполоха стал в очередной раз заблокированный, заабузенный, зацензуренный и великий The Pirate Bay.

Почему это важно? Потому что вы, наверное, как и я, пользуетесь GitHub, программируете не только для души и, возможно, владеете доходными интернет-ресурсами.

Вы уже находитесь в правовом поле авторского права.
Читать полностью »

Критические уязвимости в клиенте и серверной части Git позволяют осуществлять удаленное выполнение кода - 1

Исследователь информационной безопасности Лаел Целлье (Laël Cellier) обнаружил две критические уязвимости в клиенте и серверной части Git (CVE-2016-2324 и CVE‑2016‑2315).

Воспользовавшись ими, злоумышленники могут осуществлять удаленное выполнение кода. Для этого необходимо создать репозиторий с деревом файлов с очень длинными названиями, а затем отправить «пуш» на удаленный уязвимый сервер или позволить уязвимому клиенту осуществить «пулл».Читать полностью »

image

Именно этой фразой нас приветствует библиотека для работы с OAuth — ScribeJava (https://github.com/scribejava/scribejava). Если быть точнее, то фраза звучит так: “Who said OAuth/OAuth2 was difficult? Configuring ScribeJava is so easy your grandma can do it! check it out:”.

И это действительно похоже на правду:

OAuth20Service service = new ServiceBuilder().apiKey(clientId).apiSecret(clientSecret)
    .callback("http://your.site.com/callback").grantType("authorization_code").build(HHApi.instance());
String authorizationUrl = service.getAuthorizationUrl();
OAuth2AccessToken accessToken = service.getAccessToken(code);

Готово! Этих трех строчек достаточно, чтобы начать делать OAuth запросы. А сам OAuth запрос можно будет сделать так:

OAuthRequest request = new OAuthRequest(Verb.GET, "https://api.hh.ru/me", service);
service.signRequest(accessToken, request);
String response = request.send().getBody();

Данные о пользователе у нас в руках (в переменной response). И ни капли понимания, как в деталях работает OAuth. Хотим асинхронные http-запросы? Нам хватит тех же трех строчек. Ниже рассмотрим это на примере.
Читать полностью »

led matrix cascade 8x8 Сегодня я хотел бы выступить в необычном для хаба Arduino качестве и рассказать не об устройстве, а о библиотеке.
Речь пойдет о библиотеке LedMatrix (русскоязычное описание), которая умеет управлять светодиодными матрицами 8x8 на чипах MAX7219 и MAX7221.

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

Github — это больше, чем просто сервис для хостинга кода и система контроля версий. Это настоящая социальная сеть для программистов, и неудивительно, что иногда хочется поставить значок На Github появились эмодзи: реакции на пулл-реквесты, баги и комментарии - 1, чтобы отметить чей-нибудь комментарий. Теперь это стало возможным. С сегодняшнего дня на Github появились эмодзи-реакции на пулл-реквесты, баги и комментарии.

На Github появились эмодзи: реакции на пулл-реквесты, баги и комментарии - 2

Github надеется, что это сделает общение более эффективным.
Читать полностью »

Рано или поздно IT-проекты сталкиваются со сложностями поддержания высокого качества кода и/или увеличивающимся временем доставки изменений в production. Lingualeo испытала на себе все проблемы роста и готова поделиться своей историей повышения эффективности разработки. О том, как это происходило, рассказал teamlead инфраструктурой команды Lingualeo Михаил Кабищев.
image

Как и любая другая технологическая компания, Lingualeo проходила через несколько этапов:

  • Начало разработки продукта. Разработка и отладка происходит на одном-единственном сервере, где запущено все, что нужно проекту. Ошибки бывают часто, но это не страшно, т.к. это все лишь прототип, и живых пользователей там еще нет.
  • Появление первых пользователей. Компания начинает ощущать цену ошибок и проблем на продакшене. Уже нельзя править все на продакшене, приходит понимание того, что нужно мыслить релизами. Разработчики внедряют workflow для работы с кодовой базой, появляется что-то вроде stage-сервера, на котором тестируются релизы.
  • Рост проекта и команды. В разработке одновременно находится большое количество задач. Требования к процессу и качеству кода сильно возрастают. За всем очень тяжело следить: кто-то забывает запустить юнит-тесты, кто-то не знает, куда и как нужно задеплоить очередную задачу для тестирования.

В итоге рутинные операции начинают отнимать очень много времени, и компания думает, как автоматизировать эти процессы.
Читать полностью »


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