Как стать автором
Поиск
Написать публикацию
Обновить
43.1

GitHub *

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

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

Tree-sitter: обзор инкрементального парсера

Время на прочтение5 мин
Количество просмотров12K

Некоторые IDE и текстовые редакторы парсят исходный файл целиком при каждом изменении, что может тормозить на больших файлах, а некоторые делают это построчно с помощью регулярных выражений, что тоже тормозит и не даёт качественной подсветки кода, т.к. теряется контекст. Для решения этих проблем в недрах GitHub был создан tree-sitter - инкрементальный парсер, который используют всё больше и больше проектов. Давайте разбираться зачем и почему.

Читать далее

Цифровая рыбалка в GitHub Copilot

Время на прочтение2 мин
Количество просмотров6.5K

Эта небольшая заметка посвящена одной особенности GitHub Copilot. Про неё можно найти вопросы на stackoverflow, статьи и видео в интернете, но на хабре я не видел материалов на эту тему. Наверно, плохо искал.

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

Читать далее

Насколько естественен естественный язык? Представляем датасет RuCoLA

Время на прочтение7 мин
Количество просмотров8.3K


В последние годы в области NLP произошла настоящая революция: огромные нейросети, предобученные на сотнях гигабайт текстов, бьют все известные рекорды качества. Но обладают ли такие нейросети чутьём на «естественность» текста, которое есть у носителей языка? Оценка предложения по внутреннему чутью в лингвистике получила название приемлемости; умение давать подобную оценку — ещё один шаг на пути к общему пониманию языка. Чтобы узнать, насколько хорошо нейросети для русского языка справляются с этой задачей, мы публикуем RuCoLA (Russian Corpus of Linguistic Acceptability) — датасет русскоязычных предложений, размеченных по бинарной шкале приемлемости. Это совместный труд команды исследователей и NLP-разработчиков из SberDevices, ABBYY, Yandex Research, Huawei Noah’s Ark Lab и Факультета компьютерных наук ВШЭ. Также мы открываем лидерборд на данных RuCoLA, чтобы любой желающий мог проверить способности своих моделей или поучаствовать в развитии методов для оценки приемлемости.
Читать дальше →

Мой опыт с резиновым мужиком. Github Copilot

Время на прочтение15 мин
Количество просмотров30K

Первая моя ассоциация с Github Copilot - это резиновый мужик-автопилот из фильма "Аэроплан". Помню, в детстве я увидел этот фильм и потом реально думал, что так автопилоты и выглядят: какая-то смешная резиновая кукла надувается и начинает управлять самолётом. И вот, через столько лет меня не покидает ощущение, что передо мной надувается какая-то кукла и пытается писать за меня код.

Короче, нежданно-негаданно мне пришёл инвайт в GitHub copilot. Я и забыл про то, что когда-то запрашивал доступ - ажиотаж давно уже спал, вроде мир не захвачен машинами, а значит, не такой уж он и крутой, да? С другой стороны, недавно к нам на позицию senior python постучал чел и сказал, что большую часть нашего тестового задания он запилил при помощи copilot, так что определённо кто-то "пилотом" пользуется. В общем, непонятно: хорошо оно или плохо? Стану ли я теперь более продуктивным? Есть только один способ проверить: в бою.

Поехали

Собираем интересные .NET блоги в Telegram-канал с помощью GitHub Actions

Время на прочтение10 мин
Количество просмотров4.3K

Будучи .NET разработчиком, я стараюсь периодически просматривать различные ресурсы, связанные с .NET тематикой. Как правило, это различные блоги. Иногда то тут, то там появляются какие-нибудь интересные статьи, на которые стоит обратить внимание.

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

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

Я решил использовать в качестве хранилища GitHub, а сам скрипт (написан на TypeScript) запускать по расписанию с помощью GitHub Actions. В этой статье я хочу рассказать про некоторые технические детали реализации и поделиться полученным результатом.

Читать далее

Знакомство со стековыми графами

Время на прочтение10 мин
Количество просмотров3.9K

В декабре 2021 года Github объявил, что открывает общий доступ к точной навигации по коду для всех публичных и приватных репозиториев с Python на сайте GitHub.com. Точную навигацию в коде обеспечивают стековые графы, новый фреймвввооорк с открытым исходным кодом, созданный в Github и позволяющий устанавливать правила привязки имен для языка программирования при помощи декларативного предметно-ориентированного языка (DSL). Стековые графы позволяют генерировать данные о навигации по стеку для конкретного репозитория, не требуя при этом какого-либо участия в конфигурировании со стороны владельца репозитория и не вмешиваясь в процесс сборки или другие задания, связанные с непрерывной интеграцией. В этом посте будет подробно рассказано, как работают стековые графы, и как с их помощью достигаются такие результаты.

(Этот пост написан на основе доклада, прочитанного автором на конференции Strange Loop в октябре 2021 года. Есть видео с этим докладом, там рассказано гораздо больше!)

Читать далее

Быстрый бэкап всех ваших репозиториев Github

Время на прочтение3 мин
Количество просмотров19K

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

Потом я завел свои "облака" и хранил код на своем железе и рабочих компьютерах. И наконец появился Github. По началу что-то ещё дублировалось на своих серверах и внешних дисках, но к сегодняшнему дню я на столько привык к сервису Github, все на столько удобно и надёжно, что страх о том что "дискетка" может сломаться постепенно улетучился.

И тут на тебе! Оказывается в любой момент, по не зависимой от меня причине, меня могут отключить от этого технологического чуда! :-)

Читать далее

Как мы потеряли 54 000 звёзд на GitHub

Время на прочтение7 мин
Количество просмотров37K

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

Читать далее

Яндекс выложил в опенсорс YDB

Время на прочтение16 мин
Количество просмотров155K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных.

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →

Небезопасная разработка в Github

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.8K

Статья является продолжением статьи: История утечки персональных данных через Github.

Сегодняшняя подборка:

1. Персданные, пароли, рабочие секреты, все в куче

2. Пасхалка с персональными данными в рабочем проекте

3. Креды для доступа в даркнет

Читать далее

[update от 07.04 — часть 3] Оригинальный список малвари, шифровальщиков и прочего в open source проектах

Время на прочтение2 мин
Количество просмотров13K
Посмотреть, что самого трешового появилось

История утечки персональных данных через Github

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.1K

История про одного нерадивого участника воркшопа от GeekBrains и, как он случайно слил персональные данные и иную конфиденциальную информацию.

Читать далее

Как оплачивать зарубежные сервисы?

Время на прочтение5 мин
Количество просмотров210K

Как известно, 10 марта Visa и Mastercard официально прекратили транзакции в РФ. Наши соотечественники, срочно выехавшие или уже проживающие в других странах попали в ситуацию, когда российские карты перестали работать (с них нельзя снять наличные, ими нельзя расплатиться). Внутри России, будут работать до конца срока действия, благодаря Национальной системе платежных карт, но платить с использованием Apple Pay и Google Pay нельзя. Банки предлагают альтернативу: кобейджинговые карты МИР / UnionPay, но с ними все так просто и оформление таких карт - еще тот бег с препятствиями. Как итог, проблема с оплатой зарубежных сервисов стоит остро, мы уже привыкли к удобным и доступным сервисам и теперь очень не хочется отвыкать...

Как же теперь оплачивать зарубежные сервисы?

Читать далее

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

[update от 31.03 — часть 2] Оригинальный список малвари, шифровальщиков и прочего в open source проектах

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

Я - Дмитрий Симонов, основатель Техдирского Клубаопубликовавшего и поддерживающего оригинальный список проблем, связанных с политизированным Open Source.

UPDATE от 31 марта 2022 г. : весь файл полностью переработан: удалены дубли, поправлены категории и в целом наведён порядок. Новые строчки на каждом листе помеченые жёлтым фоном. Теперь файл стало читать удобнее!

Также добавилась новая информация.

Посмотреть, что самого трешового появилось

NODE: Нейро-ансамбли решений с забыванием для глубокого обучения по табличным данным

Время на прочтение25 мин
Количество просмотров2.4K

Аннотация

В настоящее время глубокие нейронные сети (DNN) стали основным инструментом для решения задач машинного обучения в широком спектре областей, включая компьютерное зрение, НЛП и речевое общение. Между тем, в важном случае гетерогенных (неоднородных – как по типу, форме, так и по структуре) табличных данных преимущество DNN перед частными аналогами остается сомнительным. В частности, нет достаточных доказательств того, что механизмы глубокого обучения позволяют создавать методы, которые превосходят деревья решений с выбором по росту градиента (GBDT), которые часто являются лучшим выбором для табличных задач. В этой статье мы представляем ансамбли нейронных решений без внимания (NODE), новую архитектуру глубокого обучения, предназначенную для работы с любыми табличными данными. Кратко, предлагаемая архитектура NODE обобщает ансамбли деревьев решений с забыванием (без памяти), но извлекает выгоду как из сквозной оптимизации на основе градиентов, так и из возможностей многоуровневого обучения иерархическому представлению. Проведя обширное экспериментальное сравнение с ведущими пакетами GBDT на большом количестве табличных наборов данных, мы демонстрируем преимущество предлагаемой архитектуры NODE, которая превосходит конкурентов по большинству тестовых задач. Мы используем реализацию NODE с открытым исходным кодом PyTorch и считаем, что она станет универсальной платформой для машинного обучения на основе табличных данных.

Читать далее

Разработка игры на Unity с нуля до релиза. Часть 3

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.9K

Приветствую Хабр! ?

«Разработка игры с нуля до релиза» - это серии статьей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на ОС GNU\Linux. Часть 3

Читать далее

DANets: Глубокие абстрактные сети для классификации и регрессии табличных данных

Время на прочтение26 мин
Количество просмотров2.6K

Аннотация

Табличные данные широко распространены в различных реальных приложениях. Хотя многие широко используемые нейронные компоненты (например, свертки) и расширяемые нейронные сети (например, ResNet) были разработаны сообществом машинного обучения, только немногие из них показали свою эффективность для табличных данных, и лишь немногие проекты были релевантно адаптированы к табличным структурам данных. В этой статье мы предлагаем новый и гибкий нейро-компонент для табличных данных, называемый абстрактным слоем (ABSTLAY), который обучаем явно группировать коррелирующие входные объекты и генерировать объекты более высокого уровня семантической абстракции (формализации). Кроме того, мы разрабатываем метод репараметризации структуры для сжатия слоя ABSTLAY, тем самым значительно снижая вычислительную сложность на контрольном слое. Специальный базовый блок строится с использованием ABSTLAY, и мы создаем семейство глубоких абстрактных сетей (DANET) для классификации табличных данных и регрессии путем группировки (таксономии) таких блоков. В DANET введен специальный кратчайший путь для извлечения информации из необработанных табличных объектов, способствующий взаимодействию объектов на разных уровнях. Всесторонние эксперименты с семью реальными табличными наборами данных показывают, что наши ABSTLAY и DANET эффективны для классификации и регрессии табличных данных, а их вычислительная сложность не превосходит сложности конкурентных методов. Кроме того, мы оцениваем прирост производительности DANET по мере его углубления, проверяя модифицируемость нашего метода. Наш код доступен по адресу https://github.com/WhatAShot/DANet .

Читать далее

Oracle, Docker, AWS: альтернативы сервисам для разработчиков, которые уже заблокировали в России или скоро заблокируют

Время на прочтение4 мин
Количество просмотров28K

С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Microsoft, Oracle, Amazon и другие крупные компании. Рассказываем, какие существуют альтернативы уже заблокированным сервисам и что делать, если заблокируют до сих пор доступные. Этот материал постоянно обновляется.

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

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

Читать далее

Разработка игры на Unity с нуля до релиза

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

Приветствую, Хабр! ?

«Разработка игры с нуля до релиза» - это серии статей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на GNU\Linux ?

Читать далее

ИИ-помощник Copilot от GitHub — как новый инструмент повлияет на работу программистов

Время на прочтение5 мин
Количество просмотров31K

Летом 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot  на базе технологий компании Open AI. Авторы проекта научили Copilot премудростям работы с фреймворками и разным языкам программирования. После релиза системы было заявлено, что лучше всего она может работать с такими языками, как Python, JavaScript, TypeScript, Ruby и Go.

Позиционируется Copilot как ассистент разработчика, который помогает найти альтернативные способы решения проблем разработки, улучшить код и изучать новые технологии "на лету", без необходимости погружаться в пучины поисковых систем. Но насколько совершенна эта система и не произойдет ли в один прекрасный момент так, что Copilot заменит большую часть разработчиков? Об этом сегодня и поговорим вместе с Кириллом Кошаевым, старшим тимлидом командных дипломных проектов, а также автором курса “Java-фреймворк Spring” Skillbox.

Читать далее

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