Обновить
64K+

GitHub *

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

28,09
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

GitHub выдал $ 1 млн на защиту разработчиков от необоснованных претензий DMCA

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

GitHub вкладывает $ 1 млн в работу представителей Стэнфордской юридической школы, чтобы предоставить бесплатные консультации разработчикам, попавшим под претензии о нарушении авторских прав в соответствии с DMCA.

Читать далее

GraphQL запрос на GitHub

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

В прошлый раз мы сделали простой запрос на получение списка репозиториев пользователя. Там был только код и ни чего лишнего. В этот раз попытаемся разобраться с внутренней схемой устройства ГрафКьюЭль.

Поехали!

Фреймворк на PHP: CodeIgniter 4. «Лёгкий пример» использования Database Migrations (миграций) и Seeding (посев)

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

Познакомиться с PHP фреймворком CodeIgniter 4 достаточно просто.

Нужно потратить вечер, выполняя инструкции из раздела  «Build Your First Application» («Создайте свое первое приложение»). Поскольку документация написана хорошим, технически понятным языком, то в процессе ознакомления с этим и другими разделами возможно получить даже некоторое эстетическое удовольствие.

Читать далее

Microsoft открыла доступ к комплекту для разработки игр

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


20 июля 2021 года Microsoft открыла доступ к комплекту для разработки игр для ПК на Windows 10, а также для экосистемы Xbox Game Pass, консолей Xbox (Xbox Series X|S, Xbox One) и облачного сервиса Xbox Cloud Gaming в случае регистрации в программе разработчиков на Xbox.
Читать дальше →

Как создать динамический профиль на GitHub с помощью GitHub Actions и PHP

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

В прошлом году GitHub без лишнего шума выпустил новую возможность, которую быстро заметили в сообществе пользователей, — файлы README в профилях. По сути, README-файл профиля представляет собой глобальный файл README, связанный с вашим профилем GitHub. Чтобы он появился, нужно создать публичный репозиторий, имя которого совпадает с вашим именем пользователя на GitHub. Например, мое имя пользователя — osteel, поэтому я создал osteel/osteel в качестве такого репозитория.

Читать далее

Почему стоит выбрать Git для управления документацией?

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

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

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

Читать далее

Неопределенное поведение, пронесенное сквозь года

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

У вас бывают в разработке такие периоды, когда что-то в коде идет не так, ты ищешь баг, а потом оказывается, что за ним стоял еще один баг? Мне нравится искать баги. Это создает ощущение словно ты Шерлок Холмс и являешься главным героем в детективе, где кто-то из обширного списка на вид безобидных классов и функций вызывает неожиданное и даже неопределенное поведение программы, а ты своим зорким взглядом и экспериментами пытаешься вычислить этого мерзавца в кратчайшие сроки.

Можно выделить несколько стадий поиска бага:

• удивление (не знаю как вы, но я каждый раз как в первый раз удивляюсь когда что-то вдруг в моем коде работает не так, как ожидается);

• обвинение всех кругом в баге (коллег по проекту, github, сторонние либы, компилятор), но только не себя;

• смирение с тем, что возможно баг появился из-за меня и поиск бага: анализ выдаваемого результата, локализация ошибки, эксперименты с входными данными; в общем, все, что делает нормальный детектив, только в сфере программирования;

• если причина бага найдена быстро, то я хвалю себя за то, что нашел баг, при этом, я не напоминаю себе, что причиной бага стал тоже я, а не коллеги по проекту, не github, не сторонние либы и не компилятор;

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

Читать далее

Cloudflare исправила критическую уязвимость в сервисе cdnjs, который используют 12,7 % сайтов в интернете

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


Эксперт по безопасности RyotaK рассказал в своем блоге о критической уязвимости в сети доставки контента cdnjs с открытым исходным кодом от Cloudflare. Этот бесплатный сервис используют 12,7 % сайтов в интернете. Злоумышленники с помощью этой уязвимости могли выполнить произвольный код на серверах Cloudflare CDN, скомпрометировать инфраструктуру и подменить библиотеки JavaScript, отдаваемые сайтами. Cloudflare внесла необходимые исправления в код cdnjs, теперь баг нельзя использовать.
Читать дальше →

Программист захостил сайт на калькуляторе

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


Немецкий программист Тобиас Мэдел (Tobias Mädel) поднял веб-сервер на калькуляторе Casio fx-9750GII. Он захостил там сайт и опубликовал исходный код этого проекта на GitHub. Просьба этот сайт не Хабраэффектить — там скорость соединения 115 200 бод.
Читать дальше →

Пишем паническую кнопку под андроид (Часть 2)

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

Заглядываем под капот, решаем проблемы и баги. Как все устроено и что используется - ответы тут! С вами Алексей и сегодня речь пойдет именно от этом.

Читать далее

GitHub признался, что использовал весь публичный код для обучения Copilot без учёта типа лицензии

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

Принцип работы нейросетевого помощника программиста GitHub Copilot.

7 июля 2021 года GitHub признался, что при обучении помощника программиста Copilot разработчики использовали весь доступный в репозиториях сервиса публичный код без учёта типа лицензии.
Читать дальше →

Сканирование кода C++ с помощью GitHub Actions

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

В прошлом году GitHub выпустил фичу сканирования кода, которая позволяет разработчикам добавлять проверки безопасности в свою среду CI/CD и в целом в рабочую среду. В этом посте демонстрируются основы использования CodeQL, механизма анализа, лежащего в основе сканирования кода, в связке с GitHub Actions.

Читать далее

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

Функция, которую мне хотелось бы видеть в Git: группы коммитов

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

Почти все любят Git. Я тоже. Он работает, он эффективен, в нём изумительная модель данных, и в нём есть все возможные инструменты. За 13 лет использования не было случая, чтобы я не находил в Git нужный мне инструмент. До недавнего времени. Но сначала давайте поговорим о GitHub.
Читать дальше →

Audacity попыталась прояснить, какие данные собирает компания

Время на прочтение2 мин
Охват и читатели6.7K
Сообщество разработчиков ПО с открытым исходным кодом считает, что текущие действия Audacity и Muse Group показали, что разработчики этого проекта недостойны доверия.

Руководитель отдела стратегии компании Muse Group (владеет проектами Ultimate Guitar, Audacity и MuseScore) Дэниел Рэй попытался прояснить, какие именно пользовательские данные собирает аудиоредактор Audacity, а также зачем разработчики это делают.
Читать дальше →

Пользователи уличили Audacity в массовом сборе информации, звучат призывы удалить программу и создать форк

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


2 июля 2021 года команда свободного аудиоредактора Audacity обновила уведомление о конфиденциальности сервиса. Там расплывчато расширены рамки по сбору данных о телеметрии и информации о пользователях. Вдобавок редактор будет передавать сведения о пользователях, включая их персональные данные, правоохранительным органам по запросу.
Читать дальше →

Разработчики критикуют GitHub Copilot: ИИ генерирует цитаты из проектов с открытым исходным кодом и выдает ключи API

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


Разработчики жалуются, что нейросетевой помощник программиста Copilot от GitHub порой слишком увлекается и начинает вместо нескольких строк нужного кода генерировать цитаты и комментарии строчка за строчкой из проектов с открытым исходным кодом. Фактически он занимается «отмыванием» GPL от кода, который теперь можно использовать, не подчиняясь первоначальной лицензии, так как новый код получается под лицензией Copyleft.

Microsoft и GitHub представили нейросетевого помощника программиста Copilot

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


29 июня 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot («второй пилот») на базе технологий компании Open AI, занимающейся исследованиями в области искусственного интеллекта. Система GitHub Copilot обучена работать с различными фреймворками и языками программирования. Текущая техническая предварительная версия сервиса больше всего заточена для работы с Python, JavaScript, TypeScript, Ruby и Go.

Как я познавал ci/cd, Гитхаб экшены

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

Гитхаб экшены, как я познавал ci/cd

   Всем Алоха. Все слышали про ci/cd, про то что он должен быть в каждой компании и то что он упрощает нам жизнь. У всех свой ci/cd. 

   Кто-то предпочитает Jenkins. Особенно если у вас куча микросервисов, команд и процессов, то при помощи Дженкинса можно достаточно гибко настроить ci/cd в компании. Кто-то использует GitLab actions и для каждого репозитория настраивает свои пайплайны и процессы. Достаточно удобно и просто настраиваемый механизм сборки и доставки артефактов на стенды. Не чуть не хуже GitHub actions. Это было открытием для меня что в GitHub появился такой функционал, о котором мы поговорим позже. Ну и конечно всеми «любимый» скриптовый ci/cd. Пачка скриптов, которые нужно выполнить в определенной последовательности чтобы собрать и задеплоить артефакты. Есть ещё так сказать хэнд мэнуал ci/cd. Но это особый вид извращения, с которым не пожелаю столкнуться никому. В котором нужно собрать артефакты у себя на машине и по какому нить ридми выполнять команды в терминале, лазить по ssh смотреть, что все копировалось, перезапускать сервисы и другие развлечения. 

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

Read more about GitHub Actions

Lingtrain Aligner. Написал приложение для создания параллельных книг, которое вас удивит

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

title


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


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


Установка


Приложение я оформил в виде docker контейнера, поэтому запустить его у себя на машине не должно составить труда. Также можно запустить приложение из исходников, инструкция есть в репозитории.


Итак, для запуска приложения у себя на компьютере нужно выполнить следующие команды:


docker pull lingtrain/aligner:v4
docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data и C:\app\img — это папки на вашем компьютере.


Контейнер скачается с репозитория Docker Hub и запустится на 80-м порту. Откроем приложение в вашем любимом браузере по адресу localhost.


Lingtrain app 1


Сделаем три шага: загрузка, выравнивание, генерация.

Смотреть демо