GitHub digest #2: код по картинке, альтернативный Notion и хрестоматия «змееуста»
Чем интересовались пользователи GitHub в предпоследний месяц года.
Иллюстрация: Оля Ежак для Skillbox Media
Ноябрь на GitHub был богат на события: во-первых, представили новые сервисы на базе ИИ, во-вторых — выбрали лучшие проекты 2023 года. Мы тоже решили подвести итоги, но куда более скромные — сделали подборку репозиториев, которые были популярны на GitHub в минувшем месяце.
Итак, ещё больше классных инструментов, мощных нейронок и самобытных open-source-проектов — в ноябрьском дайджесте GitHub.
Машинное обучение для начинающих
Machine Learning for Beginners
Открыть репозиторий12-недельный курс молодого заклинателя машин от Microsoft: введение в ML и обработку естественного языка (NLP), основы регрессии и классификации, азы Python и R, создание веб-приложения на базе ИИ, кластеризация, обучение с подкреплением — в одной программе майки собрали практически всё, что нужно для старта в data science.
API на все случаи жизни
Public APIs
Открыть репозиторийВнушительная подборка бесплатных сервисов для веб-разработчиков, которые можно использовать в приложениях через API. Есть как полезные примочки — для работы с большими данными, анализа текста и защиты информации, так и в хорошем смысле дурацкие, в духе базы данных аниме и статус-кодов HTTP с котиками.
Инструменты для работы с JavaScript
Oxc
Открыть репозиторийКоллекция мощных утилит для работы с JS и TypeScript: парсер, линтер, форматтер, транспилятор, минификатор, преобразователь. Философия проекта в том, что инструменты для JavaScript можно написать и на более производительном языке — здесь в качестве такого языка выступает Rust.
Код по картинке
screenshot-to-code
Открыть репозиторийПриложение, которое позволяет клонировать любой сайт по скриншоту. Для генерации кода сервис использует GPT-4, а для создания похожих картинок — нейросеть DALL-E 3. Можно настроить стек технологий, на котором будет работать сайт: React, Vue, Bootstrap или Tailwind CSS. А если ИИ неправильно скопировал какие-то стили или пропустил раздел, можно попросить его доработать код.
Вот как это работает на примере сайта Hacker News (как видно, пока снимает не совсем точь-в-точь):
Редактор презентаций для кодеров
reveal.js
Открыть репозиторийОтличная open-source-альтернатива PowerPoint и Keynote и другим редакторам презентаций. Позволяет создавать и анимировать слайды с помощью HTML, CSS и JavaScript и запускать их прямо в браузере. Среди других фишек — вложенные слайды, поддержка Markdown, анимации, экспорт в PDF, заметки для докладчика, подсветка кода и многое другое.
Приложение потребует небольшого обучения, но на выходе вы получите куда больше свободы, чем в обычных редакторах презентаций. А если всё же не хотите заморачиваться с кодом, попробуйте визуальный редактор slides.com — там есть все фишки reveal.js, но в удобной графической обёртке, да ещё и с ИИ на борту. Правда, полноценные презентации здесь можно создавать только за деньги — в бесплатной версии есть ограничения на количество слайдов.
Альтернативный Notion
AppFlowy.IO
Открыть репозиторийКажется, свою версию Notion выпустили буквально все: от Microsoft до «Яндекса». Классные альтернативы есть и в Open Source — например, AppFlowy, заточенный на безопасность данных и расширяемость. Ну, и конечно, никаких платных тарифов — сервис распространяется по бесплатной лицензии AGPLv3.
Для обычных пользователей разницы с Notion не будет практически никакой: всё те же заметки, календари, базы знаний, средства визуализации и даже собственная версия Notion AI на базе GPT. Для компаний тут есть целый набор строительных блоков, из которых можно собирать собственные приложения.
Ещё один набор «машиниста»
Machine Learning Engineering Guides and Tools
Открыть репозиторийИнтернет-книга по машинному обучению: здесь собраны гайды и инструменты для тех, кто хочет научиться создавать генеративные нейросети.
Создатель репозитория позиционирует его как «свалку опыта», который он приобрёл при разработке языковых моделей Bloom и IDEFICS. По сути, это набор скриптов и команд, которые часто выручали автора, а потому он решил поделиться ими с сообществом. Этакий учебник принца-полукровки, но с уклоном в машинное обучение :)
Надёжная синхронизация
Syncthing
Открыть репозиторийУтилита для непрерывной синхронизации файлов между двумя или более компьютерами в режиме реального времени. Никаких облачных хранилищ, центрального сервера и посредников: вы сами выбираете, где хранить свои данные и как их передавать. Все коммуникации защищены протоколом TLS. Работает на macOS, Windows, Linux, FreeBSD, OpenBSD и других системах.
Hello World на тысяче языков
Hello World
Открыть репозиторийМожно посмотреть, как выглядит первая фраза всех кодеров Hello World практически на каждом языке программирования, от самых популярных до тех, чьё название нельзя упоминать в приличном издании :)
Если, скажем, на языке Burlesque всё лаконично:
То на Chicken совсем наоборот. Код ниже — это только небольшой фрагмент:
Обучение на реальных проектах
Project Based Learning
Открыть репозиторийЗабудьте о скучных учебниках, нудных видеокурсах и вызывающих зевоту документациях. В этом репозитории вы сможете изучить любой популярный язык или фреймворк на практике — создавая собственные приложения. Например, можно написать клон Trello на React, RPG на С# или блокчейн на Python. Теория здесь, конечно, тоже есть — но она максимально завязана на практике и даётся в том объёме, который позволит вам решить задачу.
Первые коммиты — на благо человечества
For Good First Issue
Открыть репозиторийГлавная дилемма джунов в том, что сложно попасть на работу без опыта — но и опыт не особо наработаешь, если никуда не берут. Но выход есть. Например, участие в опенсорс-проектах — это не только хороший способ отточить навыки, но и довольно яркая «ачивка» в резюме.
For Good First Issue предлагает ещё больше: здесь собраны не просто «репы» с открытым исходным кодом, куда можно контрибьютить, но проекты, которые ориентированы на цифровые общественные блага (digital public goods). От борьбы с изменением климата до решения проблемы голода в мире — участие в таких проектах может не только запустить вашу карьеру, но и буквально спасти или реанимировать чью-то жизнь.
Например, школа программирования CodeYourFuture помогает бедным, людям с ограниченными возможностями, безработным, беженцам выучиться и найти работу программистом. Все занятия бесплатны, а преподаватели — волонтёры. Проект помог более чем 240 участникам войти в IT.
Инженерные блоги
Software Engineering Blogs
Открыть репозиторийОбширная подборка технических блогов. Можно смотреть по компаниям, отдельным авторам или по интересующей технологии. Не все ссылки рабочие, не все блоги регулярно обновляются, но есть из чего выбрать и что почитать.
Цифровая доска
Tldraw
Открыть репозиторийВо-первых, это очень удобная виртуальная доска — можно рисовать разные картинки, стрелочки, схемы, раскрашивать их, вставлять свои фото и изображения.
Во-вторых, это опенсорс-библиотека на React, которую можно использовать в своих проектах. Ко всему этому прилагается понятная и подробная документация на tldraw.dev.
Ну и в-третьих, нарисованным на доске можно поделиться с коллегами, которые могут восхититься вашей работой или предложить свои правки.
Бруно — шустрый и бесплатный API-клиент
Bruno
Открыть репозиторийЛёгкий и безопасный клиент для работы с API. Если в Postman для командной работы вам нужно приобретать лицензию, в Bruno эти возможности доступны бесплатно — коллекции вызовов API можно сохранять на локальном сервере и работать с ними сообща (и никакого больше обмена файлами по email!).
Важный нюанс: Bruno доступен только офлайн — он размещает данные на вашей машине и с неё же посылает API-запросы. Никакой облачной работы в духе Postman нет и не планируется — и это принципиальная позиция авторов. Так как сервис заточен на конфиденциальность, данные должны храниться только локально.
Установить клиент довольно просто: можно поставить полноценное десктопное приложение, а можно скачать расширение для VS Code.
Хрестоматия «змееуста»
Awesome Python
Открыть репозиторийПодборка фреймворков, библиотек, программ и ресурсов, связанных с Python. Здесь есть всё для начинающего и продвинутого питониста: админки, анализаторы кода, CMS, инструменты командной строки, базы данных, HTTP-клиенты, веб-серверы, книги, рассылки, подкасты и многое другое.
Книга тайного знания
The Book of Secret Knowledge
Открыть репозиторийОгромная база знаний, которые автор-сисадмин trimstray использует в своей ежедневной работе. Предназначен, как несложно догадаться, для системных администраторов, девопсов, пентестеров и исследователей безопасности.
Если бы вам разрешили взять на необитаемый остров только один гитхаб-репозиторий, то «Книга тайного знания» — очевидный кандидат. Тут есть всё, а если чего-то нет, то есть ссылка туда, где оно есть.
Одних только инструментов командной строки здесь добрый десяток. А помимо этого: редакторы текста, сетевые утилиты, анализаторы логов, базы данных, мессенджеры и многое-многое другое. Вот, скажем, сможете ли вы назвать хотя бы парочку приватных поисковиков, помимо DuckDuckGo? С «Книгой тайного знания» для вас это будет раз плюнуть :)
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!