Обновить
40.63

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Сортировка фотографий по данным из EXIF + PHP

Время на прочтение4 мин
Охват и читатели7.3K
Хочу поделиться своим опытом сортировки фотографий с помощью скрипта на PHP
Наступает тот момент, когда фотографий становится не много, а катастрофически много.
Читать дальше →

Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации

Время на прочтение2 мин
Охват и читатели22K
Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания.

Привет, кодеры!

Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных языках и платформах, используя инструменты автоматизации, парсинг HTML и бойлерплейт-код.

Все мои приложения, как платные, так и бесплатные, находятся в открытом хранилище GitHub. О некоторых из них я расскажу в этой статье.

#1  Сгенерированные JAMstack-приложения


Всего я создал более 40 таких приложений. Дизайн для них разрабатывали известные веб-агентства.

Читать дальше →

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни)

Время на прочтение6 мин
Охват и читатели11K

Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm.


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


Если вы хотели опубликовать небольшой пакет, то такой набор работы может сильно отпугнуть. Светлая идея поделиться чем-то полезным уйдет в долгий ящик сложных дел.


На самом деле всё это может занять у вас меньше часа. Без знаний DevOps и совершенно бесплатно.


Читать дальше →

DevOpsProdigy KubeGraf v1.1.0

Время на прочтение1 мин
Охват и читатели3.2K
Сегодня мы зарелизили новую версию нашего плагина для мониторинга k8s — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app — о котором писали ранее.

Ключевая фича новой версии — возможность аутентификации с помощью bearer-токена. Теперь посредством манифестов (которые можно найти тут) вы можете создать пользователя с readonly-доступами, получить токен (в ридми описан весь процесс) и использовать его в окне конфигурации вашего кластера.


Читать дальше →

Применяем github actions для CI и автоматическая публикация на npm

Время на прочтение3 мин
Охват и читатели16K

Github actions


Привет, Хабр. Это статья о том как автоматизировать ваш проект с помощью github actions.
Автоматизация будет делиться на:


  • CI — над каждым коммитом будут проведены тесты
  • Publish — при релизе публикуем версию в npm
Читать дальше →

GitHub запускает свои щупальца в CI/CD и менеджмент артефактов

Время на прочтение5 мин
Охват и читатели16K

В мае 2019 года GitHub анонсировала выход сервиса Package Registry. Вслед за этим, уже в августе, была анонсирована поддержка CI/CD в Actions.


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


Читать дальше →

Мы создали плагин в Grafana для мониторинга k8s: уже в официальном Grafana-store

Время на прочтение2 мин
Охват и читатели17K


Сегодня свершился релиз нового и очень полезного опенсорсного проекта, созданного дирекцией разработки ITSumma — плагина в Grafana для мониторинга Kubernetes. Он включён в официальный графана-стор — grafana.com/grafana/plugins/devopsprodigy-kubegraf-app
Читать дальше →

Github actions и кросс-платформенное построение

Время на прочтение3 мин
Охват и читатели5.2K

Привет, Хабр. Это статья о том как настроить построение на всех платформах с помощью github actions.

Читать дальше →

fform: React & JSONSchema — максимальная гибкость

Время на прочтение2 мин
Охват и читатели4.8K

fform


Flexibile form (fform) — построитель форм с минимальной избыточностью кода, при этом максимально гибкий и расширяемый. Используемый стэк технологий: React (v16), Redux (опционально), JSONSchema, TypeScript. Основная идея — максиально возможное повторное использование схем, компонентов и функций.

Читать дальше →

Общие компоненты силами разных команд. Доклад Яндекса

Время на прочтение11 мин
Охват и читатели11K
Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на базе GitHub с помощью Lerna и настроили Canary-релизы с внедрением в сервисы прямо в CI, что для этого понадобилось, а что ещё предстоит.



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

Читать дальше →

Как выбрать Open Source лицензию для RAD фреймворка на GitHub

Время на прочтение11 мин
Охват и читатели8.1K

В этой статье мы немного поговорим об авторском праве, но в основном о выборе свободной лицензии для RAD фреймворка IONDV. Framework и для опенсорсных продуктов на его основе. Мы расскажем о разрешительной лицензии Apache 2.0, о том, что привело нас к ней и с какими решениями мы столкнулись в процессе.


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


Читать дальше →

9 правил крутого расширения для Visual Studio

Время на прочтение3 мин
Охват и читатели5.1K
Крутые расширения Visual Studio имеют несколько ключевых признаков, которые отличают их от остальных. Они выглядят и на самом деле хорошо продуманы, функциональны и надежны. Кроме того, они делают то, что должны, до уровня совершенства и нативно вписываются во внутренние функции Visual Studio.

Чтобы упростить написание хороших расширений, мы работаем с сообществом над разработкой простого чек-листа. Существует даже GitHub issue template, который вы можете использовать. В этой статье рассмотрим 9 правил крутого расширения. Подробности под катом.

Читать дальше →

Ошибки, которые не находит статический анализ кода, потому что он не используется

Время на прочтение6 мин
Охват и читатели9.6K
Время от времени читатели наших статей о проверке открытых проектов обращают внимание, что статический анализатор кода PVS-Studio выявляет большой процент ошибок, которые незначительны или вообще не влияют на работу приложения. Это действительно так. Большинство важных ошибок уже поправлены благодаря ручному тестированию, отзывам пользователей и иным дорогим методам. При этом, многие из этих ошибок можно было бы найти ещё на этапе написания кода и исправить с минимальными потерями времени, репутации, денег. В этой статье будет приведено несколько примеров реальных ошибок, которые были бы сразу исправлены, если бы авторы проектов использовали статический анализ кода.

Читать дальше →

Ближайшие события

GitHub Package Registry будет поддерживать пакеты Swift

Время на прочтение1 мин
Охват и читатели2.3K
10 мая мы запустили ограниченный бета-тест GitHub Package Registry, службы управления пакетами, которая позволяет легко публиковать публичные или частные пакеты рядом с исходным кодом. В настоящее время сервис поддерживает знакомые инструменты управления пакетами: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), образы Docker, а также многое другое.

Рады анонсировать, что добавим поддержку пакетов Swift в GitHub Package Registry. Пакеты Swift позволяют легко делиться вашими библиотеками и исходным кодом в собственных проектах и с сообществом Swift. Работать над этим мы будем в партнерстве с ребятами из Apple.

Читать дальше →

C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения

Время на прочтение6 мин
Охват и читатели15K
На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей.

Топ-10 языков программирования, размещенных на GitHub, по количеству репозиториев

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

На первый взгляд, распознавание языка является простой задачей, но это не совсем так. Linguist — это инструмент, который мы сейчас используем для определения языка программирования на GitHub. Linguist — это приложение на Ruby, использующее различные стратегии про распознаванию языка, в том числе данные о названиях и расширения файлов. Кроме того оно принимает во внимание модели Vim или Emacs, а также содержимое в верхней части файла (shebang). Linguist обрабатывает языковую неоднозначность эвристически и, если таким способом не получается, то использует наивный байесовский классификатор, обученный на небольшой выборке данных.

Хотя Linguist достаточно хорошо предсказывает на уровне файла (точность 84%), все ломается, когда файлы названы странно, а тем более, когда у файлов нет расширений. Это делает Linguist бесполезным для такого контента, как GitHub Gists или фрагментов кода в README, ошибках и pull requests.
Читать дальше →

Как секретный ключ Huawei попал в прошивки маршрутизаторов Cisco

Время на прочтение3 мин
Охват и читатели34K


Разработчики сканера IoT Inspector периодически проводят рутинную проверку прошивок разных производителей. Иногда находят уязвимости в устройствах Интернета вещей. Но последняя находка особенно удивительна. В прошивке маршрутизатора Cisco SG250 сканер нашёл несколько сертификатов и соответствующий секретный ключ сотрудника Futurewei Technologies, американской дочерней компании Huawei Technologies, по имени Гарри Ву (Garry Wu) с электронным адресом gary.wu1@huawei.com.

Но как они попали в прошивку маршрутизатора Cisco?
Читать дальше →

LLVM для Tensorflow, или компилятор эпохи конца закона Мура

Время на прочтение4 мин
Охват и читатели9.4K
Экосистема TensorFlow содержит ряд компиляторов и оптимизаторов, работающих на различных уровнях программного и аппаратного стека. Для тех, кто использует Tensorflow ежедневно, этот многоуровневый стек может порождать трудные для понимания ошибки, как времени компиляции, так и в рантайме, связанные с использованием разного рода железа (GPU, TPU, мобильных платформ и пр.)

Эти компоненты, начиная с графа Tensorflow, могут быть представлены в виде такой диаграммы:



На самом деле всё сложнее
Читать дальше →

Деплоим на PythonAnywhere из GitHub

Время на прочтение5 мин
Охват и читатели24K



Каждый может сделать так:


локальный проект → github


С (платным) ssh доступом вы сможете сделать так:


локальный проект → PythonAnywhere


В статье показано как (бесплатно) сделать так:


локальный проект → github → PythonAnywhere


Сначала я перечислю, зачем вам это может быть нужно, а затем перейду к тому как реализовать. Не стесняйтесь просколлить статью, если первая часть вам не интересна.

Читать дальше →

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

Время на прочтение2 мин
Охват и читатели12K

Исследовательская группа Microsoft Research представила генеративно-состязательную нейросеть, которая способна генерировать изображения с несколькими объектами на основе текстового описания. В отличие от более ранних подобных алгоритмов text-to-image, способных воспроизводить изображения только базовых объектов, эта нейросеть может справляться со сложными описаниями более качественно.

Читать дальше →

Что общего между чисткой яйца и DevOps?

Время на прочтение8 мин
Охват и читатели4.3K
Перед вами перевод статьи Patrick Lee Scott, размещенной на сайте hackernoon.com. Автор предлагает познакомиться с несколькими важными принципами, которые помогут вам прокачаться в DevOps.

image

Пару дней назад я пытался почистить яйцо дурацким способом, и моя девушка Анжели спросила меня, зачем я это делаю.

Она взяла еще одно сваренное вкрутую яйцо и ударила его о разделочную доску, потом надавила на него и прокатила по столу. На чистку ушло всего 3 секунды. А я-то стоял и снимал скорлупу кусочек за кусочком.

Что я хочу этим сказать: мы преувеличиваем значение приложенных усилий.
Читать дальше →

Вклад авторов