Обновить
64K+

GitHub *

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

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

Microsoft рассорила и помирила пользователей из-за шапки Санта-Клауса на иконке в редакторе Visual Studio Code

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


Данная история хоть и произошла две недели назад, но затрагивает рождественские и новогодние праздники, а также показывает, что отношение многих пользователей к мелким деталям даже в таком простом действии, как замена иконки настройки на праздничную, может привести к тому, что в Microsoft неумышленно на некоторое время превратили праздничный «HappyCoding» в «SantaGate». Но все хорошо закончилось.
Читать дальше →

Нейросеть «Порфирьевич» дописывает тексты и стихи на русском языке

Время на прочтение3 мин
Охват и читатели82K
«Порфирьевич» продолжил высказывание Линуса Торвальдса.

Российский программист Михаил Гранкин создал и запустил на открытом для всех пользователей сети Интернет ресурсе (судя по IP-адресу в облаке Amazon) русский аналог нейросети GPT-2 компании OpenAI. Проект получил название «Порфирьевич», данная нейросеть умеет генерировать тексты с осмысленным содержанием на основе нескольких слов или пары предложений на русском языке.
Читать дальше →

Введение в GitHub Actions

Время на прочтение2 мин
Охват и читатели18K
В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения.

GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие процессы в области программного обеспечения. Вы можете ознакомиться с подробностями здесь.



Также рекомендую ознакомиться с данной документацией перед тем, как решите расширить свое решение.
Читать дальше →

Взлом с помощью Юникода (на примере GitHub)

Время на прочтение3 мин
Охват и читатели26K
Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юникода можно сравнить с изучением отдельного языка программирования.

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

Специалист по безопасности Джон Грейси продемонстрировал на примере GitHub баг проверки адреса электронной почты для восстановления забытого пароля. Подобные баги можно встретить и на других сайтах.
Читать дальше →

Пора обновляться: последняя версия Git устраняет ряд серьёзных уязвимостей

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

На днях Git зарелизил патч-версии, где устраняются сразу несколько серьёзных уязвимостей.


Список патчей:


v2.24.1, v2.23.1, v2.22.2, v2.21.1, v2.20.2, v2.19.3, v2.18.2, v2.17.3, v2.16.6, v2.15.4, v2.14.6


Как видите, проапдейтиться имеет смысл, если вы используете Git 2.24 или старше.


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


Никаких способов (кроме обновления Git) полностью защититься при клонировании репозитория нет, можно лишь немного нивелировать риск, если:


  • Избегать запуска git clone --recurse-submodules и git submodule update для ненадежных репозиториев.
  • Отказаться от git fast-import на ненадежных входных потоках.
  • Избегать клонирования ненадежных репозиториев в монтируемые NTFS на любой ОС.
Читать дальше →

Создаем готовый для опенсорса проект на Angular в пару кликов

Время на прочтение3 мин
Охват и читатели6K
Недавно я публиковал статью о том, как быстро настраивать npm-пакеты перед публикацией в opensource. В ней я разобрал настройку версионирования, CI, построение воркфлоу и удобный деплой на страничку с демо. Все советы той статьи распространяются и на библиотеки Angular. Но все же специфика Ангуляра не позволит вам развернуться сходу.

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


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

В самом популярном фрагменте кода за всю историю StackOverflow ошибка! 

Время на прочтение7 мин
Охват и читатели71K
Недавнее исследование «Использование и атрибуция сниппетов кода Stack Overflow в проектах GitHub» внезапно обнаружило, что чаще всего в опенсорсных проектах встречается мой ответ, написанный почти десять лет назад. По иронии судьбы, там баг.

Давным-давно…


Еще в 2010 году я сидел в своём офисе и занимался ерундой: развлекался код-гольфингом и накручивал рейтинг на Stack Overflow.

Моё внимание привлёк следующий вопрос: как вывести количество байт в удобочитаемом формате? То есть как преобразовать что-то вроде 123456789 байт в «123,5 МБ».


Старый добрый интерфейс 2010 года, спасибо The Wayback Machine
Читать дальше →

Вышел Windows Terminal Preview 0.7

Время на прочтение3 мин
Охват и читатели17K
Представляем новый релиз Windows Terminal preview! Это выпуск v0.7. Как и всегда вы можете скачать Terminal из Microsoft Store или со страницы релиза на GitHub. А вот и новинки:

Обновления Windows Terminal


Панели (panes)


Теперь вы можете разделить окно терминала на несколько панелей! Это позволяет одновременно открывать несколько командных строк на одной вкладке.

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



Читайте подробнее об остальных новинках под катом.
Читать дальше →

Как Shopify организовала совместную работу более 1000 разработчиков

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


Сложно организовать совместную работу большой команды, тем более над общей кодовой базой, такой как Shopify. Наш монолит меняется по 40 раз на дню. Мы отслеживаем разработку в trunk-based рабочем процессе и ежедневно вливаем в мастер по 400 коммитов. У нас три правила безопасного деплоя, но с ростом масштаба разработки их становилось всё труднее соблюдать. Небольшие конфликты ломали основную ветку, медленные развёртывания увеличивали разрыв между ней и продакшном, а скорость деплоя критических изменений замедлилась из-за отставания пул-реквестов. Чтобы решить эти проблемы, мы обновили Merge Queue (наш инструмент для автоматизации и управления скоростью мержей в основную ветку). Теперь он интегрирован с GitHub, запускает непрерывную интеграцию (CI) перед слиянием с основной веткой, удаляет запросы, которые не вошли в CI, и увеличивает скорость развёртывания.
Читать дальше →

Оптимизация поиска решений на github

Время на прочтение2 мин
Охват и читатели2.1K
В процессе работы над большим проектом, заимствование чужих модулей и готовых решений экономит огромное количество времени разработчиков и денег инвесторов. Одним из самых больших хранилищ таких решений безусловно является github.

Под катом маленькая хитрость, которую я использую при поиске и выборе решений github.
Читать дальше →

Обзор инструментов для безопасности GitHub репозиториев

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


Введение


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

В случае, если вы создаете свой собственный репозиторий GitHub или часто контрибьютите в репозиторий, вам необходимо знать, содержит ли ваш код какие-либо уязвимости. Уязвимости репозиториев в прошлом вызывали проблемы с безопасностью. Это было подчеркнуто тем фактом, что две из самых больших утечек данных за последнее время — Equifax и Heartbleed SSL Exploit — начались с уязвимостей с соответствующими компонентами с открытым кодом, которые могут быть использованы в будущем.

В этом посте мы рассмотрим и проанализируем четыре отдельных инструмента, которые можно использовать для выявления уязвимостей в вашем репозитории GitHub. Каждый из этих четырех инструментов имеет свои суперспособности, но у каждого есть и слабые стороны. Эта статья поможет вам выбрать правильный инструмент для проекта с открытым исходным кодом.
Читать дальше →

Строим домашний CI/CD при помощи GitHub Actions и Python

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

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

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

Анонс Github Security Lab: защита всего кода вместе

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

Мы все несем коллективную ответственность за обеспечение безопасности программного обеспечения с открытым исходным кодом — никто из нас не может это делать в одиночку. Сегодня в Github Universe мы объявили Github Security Lab. Место где соберутся вместе исследователи безопасности, сопровождающие и компании по всей отрасли, которые разделяют нашу убежденность в том, что безопасность открытого исходного кода важна для всех.

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

В рамках сегодняшнего объявления GitHub Security Lab делает CodeQL свободно доступным для всех, кто может найти уязвимости в открытом исходном коде. CodeQL — это инструмент, который многие исследовательские группы по всему миру используют для проведения семантического анализа кода, и мы использовали его сами, чтобы найти более 100 зарегистрированных CVEs(Common Vulnerabilities and Exposures) в некоторых популярных open source проектов.
Читать дальше →

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

GitHub опубликовал ежегодный статистический отчет

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


Веб-сервис для хостинга IT-проектов и их совместной разработки GitHub опубликовал сводный отчет за прошедший год с анализом разнообразной внутренней статистики по многим направлениям разработок, а также возможностям и достижениям своих пользователей. Оказалось, что Python теперь на втором месте в рейтинге популярности языков программирования, используемых на GitHub, Java сместился на третье место, а лидером остается JavaScript. Количество пользователей GitHub возросло на 25%, а основные страны, где проживают пользователи сервиса — США, Китай и Индия.
Читать дальше →

GitHub Actions как CI/CD для сайта на статическом генераторе и GitHub Pages

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


Немного прошерстив Habr удивился тому, что очень мало опубликовано статей на тему (beta-)фичи GitHub'а — Actions.


Казалось бы, можно объяснить такую недосказанность тем, что функционал еще в тестировании, пусть и "beta". Но именно полезная особенность беты позволяет использовать этот инструмент в приватных репозиториях. Именно про работу с данной технологией я расскажу в этой статье.

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

GitHub удалил приложение, которое использовали протестующие в Каталонии

Время на прочтение2 мин
Охват и читатели17K
imageФото: Roland Moriz/Flickr

GitHub удалил приложение протестующих в испанской Каталонии. Это произошло после просьбы, поступившей от испанской военной полиции.

По данным властей Испании, группа Tsunami Democràtic, которая стоит за разработкой приложения, является «преступной» и подстрекает к беспорядкам. Военная полиция заявила, в частности, что протестующие занимались «саботажем» основной инфраструктуры Испании.
Читать дальше →

Как я упрощал процесс работы над опенсорс проектами

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

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

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

Пишем программу для камеры хранения с функцией распознавания лица

Время на прочтение3 мин
Охват и читатели8.9K
Распознавания лиц уже захватило весь мир. Во всех крупных странах уже пользуются этой полезной фишкой. Почему не сделать жизнь людей еще удобнее и не встроить распознавание лиц в камеру хранения?

image

9 полезных браузерных расширений для разработчиков (cписок на 2020 год)

Время на прочтение4 мин
Охват и читатели19K
Как упростить себе жизнь при помощи браузерных плагинов.

Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода.

Не за горами 2020 год. Появилось много новых расширений. Я собрал наиболее полезные расширения для веб-разработчиков и поместил их в один список.

Refined GitHub


Refined Github упрощает интерфейс GitHub и добавляет полезные улучшения.

image

Refined Github

«Надеемся, что GitHub заметит как необходимы эти улучшения и добавит некоторые из них. Поэтому, если вам нравится какое-либо из этих улучшений напишите, пожалуйста, в службу поддержки GitHub об этом».
— создатели Refined Github.
Читать дальше →

GitHub Desktop 2.2: что нового

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


Любой, кто использует Git, знает, что у него крутая линия обучения. Мы узнали от разработчиков, что большинство людей, как правило, учатся у знакомых, будь то коллега, профессор, друг или даже видео на YouTube. В GitHub Desktop 2.2 мы добавляем первую версию интерактивного учебника по Git и GitHub, который может стать вашим другом и помочь вам начать работу. Если вы новичок в Desktop, вы можете скачать и попробовать учебник по адресу desktop.github.com.
Читать дальше →