Код
#статьи

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 с котиками.

Скриншот: HTTP Cats / Skillbox Media

Инструменты для работы с 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. Для компаний тут есть целый набор строительных блоков, из которых можно собирать собственные приложения.

Изображение: AppFlowy.io

Ещё один набор «машиниста»

Machine Learning Engineering Guides and Tools

Открыть репозиторий

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

Создатель репозитория позиционирует его как «свалку опыта», который он приобрёл при разработке языковых моделей Bloom и IDEFICS. По сути, это набор скриптов и команд, которые часто выручали автора, а потому он решил поделиться ими с сообществом. Этакий учебник принца-полукровки, но с уклоном в машинное обучение :)

Надёжная синхронизация

Syncthing

Открыть репозиторий

Утилита для непрерывной синхронизации файлов между двумя или более компьютерами в режиме реального времени. Никаких облачных хранилищ, центрального сервера и посредников: вы сами выбираете, где хранить свои данные и как их передавать. Все коммуникации защищены протоколом TLS. Работает на macOS, Windows, Linux, FreeBSD, OpenBSD и других системах.

Hello World на тысяче языков

Hello World

Открыть репозиторий

Можно посмотреть, как выглядит первая фраза всех кодеров Hello World практически на каждом языке программирования, от самых популярных до тех, чьё название нельзя упоминать в приличном издании :)

Если, скажем, на языке Burlesque всё лаконично:

"Hello World"Q

То на Chicken совсем наоборот. Код ниже — это только небольшой фрагмент:

chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken 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

Открыть репозиторий

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

Так выглядит Tldraw
Изображение: Tldraw

Во-вторых, это опенсорс-библиотека на React, которую можно использовать в своих проектах. Ко всему этому прилагается понятная и подробная документация на tldraw.dev.

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

Бруно — шустрый и бесплатный API-клиент

Bruno

Открыть репозиторий

Лёгкий и безопасный клиент для работы с API. Если в Postman для командной работы вам нужно приобретать лицензию, в Bruno эти возможности доступны бесплатно — коллекции вызовов API можно сохранять на локальном сервере и работать с ними сообща (и никакого больше обмена файлами по email!).

Важный нюанс: Bruno доступен только офлайн — он размещает данные на вашей машине и с неё же посылает API-запросы. Никакой облачной работы в духе Postman нет и не планируется — и это принципиальная позиция авторов. Так как сервис заточен на конфиденциальность, данные должны храниться только локально.

Изображение: Bruno

Установить клиент довольно просто: можно поставить полноценное десктопное приложение, а можно скачать расширение для VS Code.

Хрестоматия «змееуста»

Awesome Python

Открыть репозиторий

Подборка фреймворков, библиотек, программ и ресурсов, связанных с Python. Здесь есть всё для начинающего и продвинутого питониста: админки, анализаторы кода, CMS, инструменты командной строки, базы данных, HTTP-клиенты, веб-серверы, книги, рассылки, подкасты и многое другое.

Книга тайного знания

The Book of Secret Knowledge

Открыть репозиторий

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

Если бы вам разрешили взять на необитаемый остров только один гитхаб-репозиторий, то «Книга тайного знания» — очевидный кандидат. Тут есть всё, а если чего-то нет, то есть ссылка туда, где оно есть.

Одних только инструментов командной строки здесь добрый десяток. А помимо этого: редакторы текста, сетевые утилиты, анализаторы логов, базы данных, мессенджеры и многое-многое другое. Вот, скажем, сможете ли вы назвать хотя бы парочку приватных поисковиков, помимо DuckDuckGo? С «Книгой тайного знания» для вас это будет раз плюнуть :)

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Научитесь: Профессия Machine Learning Engineer Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована