«HelloGitHub», выпуск 90

Интерес — лучший учитель, HelloGitHub заинтересует вас программированием!

Введение

HelloGitHub делится интересными проектами с открытым исходным кодом начального уровня на GitHub.

https://github.com/521xueweihan/HelloGitHub

Здесь есть практические проекты, вводные руководства, черные технологии, книги с открытым исходным кодом, проекты с открытым исходным кодом крупных производителей и т. д., охватывающие множество языков программирования ​​Python, Java, Go, C/C++, Swift... Пусть Вы за короткое время почувствуете прелесть открытого исходного кода, заинтересуетесь программированием!


Ниже приводится содержание этого выпуска|Обновление 28 числа каждого месяца.

проект C

1. BlackHole : виртуальный аудиодрайвер для macOS. Студенты, которые записывали видео на macOS, наверняка сталкивались с проблемой записи компьютерных звуков.Метод публичного выпуска предъявляет чрезвычайно высокие экологические требования. Этот проект представляет собой виртуальный аудиодрайвер для macOS. Он может передавать выходной звук в другие приложения с нулевой задержкой, поэтому на него не влияет окружающая среда, и он может легко записывать звук компьютера. Он поддерживает чипы Intel и Apple.

2. c4 : компилятор языка C, реализованный с помощью 4 функций. В этом проекте использовалось всего более 500 строк кода и 4 функции для реализации небольшого компилятора языка C. Но поскольку его код слишком упрощен, исходный код нелегко читать.

проект С#

3. Оптимизатор : очень простой в использовании оптимизатор Windows. Это мощный инструмент оптимизации системы Windows. Он небольшой по размеру и богат функциями. Он поддерживает 22 языка, включая китайский. Он может отключать ненужные службы Windows, удалять лишние программы запуска, отключать неиспользуемые функции и улучшать использование системы Windows. опыт и производительность.

4. Translumo : бесплатный инструмент для перевода экрана в реальном времени с открытым исходным кодом. Этот проект может выполнять перевод текста, отображаемого в выбранной области экрана, в режиме реального времени, а также распознавать английский, русский, китайский и другие языки. Пользователи могут выбирать из нескольких механизмов OCR, таких как Tesseract, WindowsOCR и EasyOCR, а также из нескольких источников перевода, включая Google Translate.

проект С++

5. DuckDB : аналитическая база данных, похожая на SQLite. Этот проект представляет собой базу данных OLAP (онлайн-аналитическая обработка), написанную на C++. Он не имеет внешних зависимостей и не запускается как независимый процесс. Его можно рассматривать как OLAP-версию SQLite. Он удобен, быстр и прост в использовании, предоставляет богатый диалект SQL, поддерживает JOIN, агрегацию, оконные функции, прямой запрос файлов CSV и JSON и другие функции.

SELECT * FROM 'HelloGitHub.csv';
SELECT * FROM 'HelloGitHub.parquet';

6. Kakoune : редактор кода, похожий на Vim. Редактор кода с минималистичным интерфейсом и удобной моделью редактирования.Хотя его дизайн вдохновлен Vim, он «лучше своего предшественника» с точки зрения функциональности и интерактивности. Операция выполняется быстрее и удобнее, по умолчанию поддерживает подсветку синтаксиса, автоматическое завершение и другие функции, подходит для операционных систем Linux и macOS.

7. SafeLine : простой и удобный в использовании межсетевой экран для веб-приложений. Нижний уровень этого проекта основан на веб-шлюзе Nginx, который служит обратным прокси-сервером для доступа к сети. Используйте интеллектуальные алгоритмы семантического анализа, чтобы очистить вредоносный трафик от хакеров и защитить свой сайт от хакерских атак. Его легко установить, и доступны функции бесплатной версии, но проект открывает только основной алгоритм и базовый движок. Делюсь с @lonegunner

8. Смарт-ручка : сделайте тактильную умную ручку самостоятельно. Это интеллектуальное устройство с открытым исходным кодом, которое может настраивать положения конечной точки, виртуальное торможение, тактильную обратную связь и имеет круглый ЖК-дисплей, что очень круто и весело.

9. TypeSense : молниеносная поисковая система с открытым исходным кодом. Этот проект представляет собой систему мгновенного поиска, написанную на C++. Он имеет характеристики готового использования, высокую скорость поиска, автоматическое исправление орфографических ошибок, географический поиск и поддержку сегментации слов по умолчанию для китайского языка.

CSS-проект

10. pokemon-cards-css : крутые CSS-эффекты для карточек покемонов. Этот проект представляет собой коллекцию продвинутых стилей CSS для карточек карманных монстров. Он использует 3D-преобразование, фильтры, градиенты и другие технологии для достижения таких эффектов, как блики, текстура, голограмма галактики, вертикальный луч и так далее.

Перейти к проекту

11. asynq : простая и надежная распределенная очередь задач, написанная на чистом Go. Это облегченная асинхронная очередь задач на основе Redis. Она запускает горутину для каждой задачи и поддерживает такие функции, как повторная попытка сбоя задачи, приоритетная очередь, запланированные задачи и уникальные задачи.

12. Carbon : Удобная для разработчиков библиотека обработки времени Go. Это многофункциональная и простая в использовании библиотека времени Go, которая поддерживает преобразование времени, разницу во времени, путешествия во времени, созвездия, времена года, лунный календарь, многоязычность и другие функции.

lang := carbon.NewLanguage()
lang.SetLocale("zh-CN")

c := carbon.SetLanguage(lang)
if c.Error != nil {
	// 错误处理
	log.Fatal(err)
}

c.Now().AddHours(1).DiffForHumans() // 1 小时后
c.Now().AddHours(1).ToMonthString() // 八月
c.Now().AddHours(1).ToShortMonthString() // 8月
c.Now().AddHours(1).ToWeekString() // 星期二
c.Now().AddHours(1).ToShortWeekString() // 周二
c.Now().AddHours(1).Constellation() // 狮子座
c.Now().AddHours(1).Season() // 夏季

13. Нежа : отечественный облегченный инструмент мониторинга серверов. Это панель мониторинга серверов под названием «Нежа». Она проста в установке и может использоваться «из коробки». Поддерживает мониторинг состояния системы нескольких серверов, состояния SSL-сертификата, оповещения о тревогах, мониторинг трафика, настройку запланированных задач и другое. Подходит для основных систем, таких как Linux, Windows, macOS и OpenWRT. Делюсь с @two пары палочек для едыsqldc

14. sonyflake : библиотека распределенной генерации идентификаторов на языке Go. Этот проект представляет собой распределенный генератор уникальных идентификаторов Sony с открытым исходным кодом, вдохновленный известным алгоритмом Twitter Snowflake. Он медленнее, чем Snowflake, но имеет более длительный срок службы, может работать на большем количестве компьютеров и подходит для более крупных распределенных кластеров.

Java-проект

15. Алгоритмы : набор алгоритмов и структур данных, реализованных на Java. Важность алгоритмов и структур данных очевидна. Этот проект обеспечивает самую простую и элегантную реализацию Java-кода общих структур данных и алгоритмов. Это хороший выбор, используется ли он для обучения или разработки. Делюсь с @lonegunner

16. Stirling-PDF : веб-приложение, позволяющее выполнять различные операции с файлами PDF. Это мощный готовый инструмент PDF, который поддерживает разделение/объединение файлов, добавление/извлечение изображений, сжатие, добавление водяных знаков, добавление/удаление паролей и другие функции для удовлетворения всех ваших потребностей в файлах PDF.

JavaScript-проект

17. Bangumi : клиент сообщества для любителей 2D, похожий на Douban. Это сторонний клиент 2D-сообщества Bangumi, построенный на React Native. Он бесплатный, без рекламы, создан из хобби и разработан специально для мобильных устройств. Он поддерживает управление групповым прогрессом, динамику пользователей, Tieba, поиск, рейтинги, теги и другие функции.

18. deprank : найдите наиболее важные файлы в базе кода с помощью PageRank. Этот проект основан на алгоритме PageRank и зависимостях исходных файлов для поиска наиболее зависимых файлов в репозитории кода JavaScript/TypeScript.

19. json-server : симуляция данных интерфейса без написания кода занимает всего 30 секунд. Это компактный инструмент моделирования интерфейса. Он очень прост в использовании. Вам нужно всего лишь создать файл JSON, а затем быстро запустить службу интерфейса с помощью одной команды.

# 安装
npm install -g json-server
# 启动
json-server --watch db.json

20. Интеллект-карта . Полезная интеллектуальная карта в Интернете. Этот проект включает в себя библиотеку JavaScript для создания интеллект-карт, которая не зависит от какой-либо платформы, а также многофункциональное онлайн-приложение для создания интеллект-карт, разработанное с использованием Vue.js+ElementUI и поддерживающее локальное развертывание.

import MindMap from "simple-mind-map";

const mindMap = new MindMap({
  el: document.getElementById('mindMapContainer'),
  data: {
    "data": {
        "text": "根节点"
    },
    "children": []
  }
});

21. yunxiaozhi : апплет WeChat с открытым исходным кодом для запроса академических вопросов в кампусе. Этот проект представляет собой интеллектуальный апплет кампуса, разработанный студентами. Он поддерживает такие функции, как запрос расписания курсов, запрос оценок, организация экзаменов, запрос пустого класса, запрос воды и электричества и т. д.

Котлин проект

22. gkd : Android-приложение для настройки кликов по экрану. Этот проект представляет собой инструмент автоматического нажатия для мобильных телефонов, основанный на функциях специальных возможностей. Он поддерживает настройку правил кликов или подписку на них и может использоваться для автоматического выполнения таких операций, как нажатие для пропуска рекламы, кнопки согласия и получение красных конвертов.

Python-проект

23. argos-translate : библиотека автономного перевода с открытым исходным кодом, написанная на Python. Этот проект представляет собой библиотеку Python для автономного перевода, основанную на OpenNMT (Neural Network Machine Translation Framework), которая не зависит от какого-либо стороннего интерфейса перевода и поддерживает перевод более чем на 30 языков, включая китайский.

import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "es"

# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'

24. mwmbl : некоммерческая поисковая система с открытым исходным кодом, написанная на Python. Это некоммерческая небольшая поисковая система без рекламы и отслеживания, созданная с использованием pandas, FastAPI, scikit-learn и jusText. Она имеет простой интерфейс, высокую скорость и отсутствие вмешательства внешних факторов в результаты поиска. .

25. Prettymaps : библиотека Python для рисования красивых плакатов с картами. Этот проект может превращать данные карты OpenStreetMap в красивые плакаты с картами. Легко начать и можно настроить цвет заливки.

26. webdriver_manager : библиотека Python для удобного управления WebDriver. Друзья, которые часто пишут краулеры, наверняка сталкивались с ситуацией поиска пути к WebDriver! Благодаря этому проекту вам не придется снова и снова искать, где находится WebDriver.

# 之前
from selenium import webdriver
driver = webdriver.Chrome('/home/user/drivers/chromedriver')

# 现在
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

27. youre-the-os : игра, имитирующая операционную систему компьютера. Это веб-игра, написанная на Python.В ней игрок играет в операционной системе компьютера. Игроки должны управлять процессами, памятью и событиями ввода-вывода, чтобы процессы не простаивали слишком долго, поскольку процессы завершатся после слишком долгого ожидания. Если количество завершенных процессов достигнет определенного значения, компьютер перезагрузится, и игра завершится неудачно. .

Рубиновый проект

28. docuseal : онлайн-платформа для подписания документов с открытым исходным кодом. Это онлайн-платформа для подписи документов, написанная на Ruby. Она готова к использованию «из коробки», проста в использовании и удобна для мобильных устройств. Она поддерживает создание PDF-форм с помощью перетаскивания, онлайн-заполнение и подписание, автоматическую отправку электронной почты. , управление пользователями и другие функции.

Руст-проект

29. Lettura : минималистская программа чтения RSS с открытым исходным кодом. Это настольная программа для чтения RSS, разработанная на базе Tauri. Она бесплатна, без рекламы, имеет понятный интерфейс и подходит для операционных систем MacOS и Windows.

30. Конфиденциальность : инструмент отслеживания и блокировки рекламы, написанный на Rust. Этот проект основан на принципе атаки «человек посередине» MITM, устанавливая двусторонний туннель между двумя концами и блокируя рекламные запросы путем фильтрации URL-адресов для достижения эффекта блокировки рекламы. Он занимает меньше памяти, работает быстро и поддерживает такие функции, как автоматическое обновление списков фильтров, отображение статистической информации и настройка списков фильтров.

Свифт-проект

31. TomatoBar : изысканная строка меню macOS с часами Pomodoro. Это приложение-часы Pomodoro для macOS. Оно маленькое, изысканное, с простым интерфейсом. Оно поддерживает настройку интервалов работы и отдыха, звуковых напоминаний, глобальных горячих клавиш и других функций.

32. XcodesApp : служебный инструмент для установки и переключения Xcode. Xcode — это интегрированная среда разработки, предоставляемая разработчикам системой macOS. Этот проект позволяет легко устанавливать различные версии Xcode и переключаться между ними. Использование aria2 загружает быстрее. Данные о выпуске Xcode взяты с официального сайта Apple.

другой

33. catppuccin : Очень многообещающая цветовая гамма темы. Этот проект представляет собой цветовую схему, созданную сообществом и содержащую в основном теплые и красочные темы. Его можно использовать в редакторах и IDE, таких как VSCode, JetBrains и Vim. Он также подходит для разработки библиотек, терминалов и операций на различных языках программирования. Системные, браузерные и другие приложения.

34. keyviz : бесплатное программное обеспечение для визуализации ввода с клавиатуры и мыши в реальном времени. Этот проект может отображать операции мыши и клавиатуры на экране, позволяя зрителям видеть ваши операции с клавиатурой и мышью. Он подходит для таких сценариев, как создание снимков экрана, запись видео, презентаций и совместной работы, а также поддерживает операционные системы Windows, Linux и macOS.

35. LearnPrompt : бесплатный курс AIGC с открытым исходным кодом. Этот проект дружелюбен к новичкам и его можно легко освоить без знаний ИИ. Он не только научит, как правильно использовать AIGC, но и подробно обсудит знания, связанные с ИИ, включая ChatGPT, Runway, Midjourney, Stable Diffusion, AI digital human, и т. д.

36. python-weekly : еженедельные тенденции Python. Это еженедельно обновляемый еженедельник Python, выпускаемый компанией "Cat Under the Pea Flower". Содержимое включает в себя высококачественные статьи о Python, учебные пособия, проекты с открытым исходным кодом, инструменты, видеоролики и актуальные темы.

37. TechStack : плагин для браузера, который отображает стек технологий, используемый проектами GitHub. Этот проект может отображать технологический стек репозитория GitHub, который посещают пользователи, помогая пользователям быстро узнать больше о проекте. Поделился @CorrectRoadH _

38. webgl-fundamentals : руководство по WebGL, начиная с базовой теории. Это серия руководств по WebGL, начиная с базовых математических знаний, включая версию перевода на китайский язык.

Книги с открытым исходным кодом

39. css-animation-101 : «Руководство для начинающих по CSS-анимации». Эта книга в основном знакомит с анимацией в CSS (CSS-анимация). В ее содержании рассказывается, что такое CSS-анимация, свойства перехода, как создавать сложные анимационные эффекты, а также богатые примеры, которые научат вас применять CSS-анимацию в ваших проектах.

40. How-to-write-makefile : «Напишите Makefile вместе со мной». Этот проект представляет собой PDF-римейк серии статей, составленных Чэнь Хао из «Руководства по созданию оружия». Автор выполнил над ним оптимизацию макета, подсветку кода и другие операции, чтобы его было удобнее читать. Его можно использовать как руководство для начинающих по работе с Makefile.

машинное обучение

41. hcaptcha-challenger : библиотека, которая элегантно обрабатывает коды проверки hCaptcha. Этот проект не полагается на плагины браузера и сторонние службы защиты от капчи и обрабатывает коды проверки hCaptcha посредством машинного обучения. Он использует ResNet и YOLOv8 для решения проблем классификации и обнаружения, а также снижает порог использования за счет модели упаковки ONNX, позволяя пользователям запускать код на устройствах без графических процессоров без установки таких зависимостей, как PyTorch, и корректно обрабатывать коды проверки hCaptcha. Поделился @ QIN2DIM

import os
from pathlib import Path

import hcaptcha_challenger as solver

# Init local-side of the ModelHub
solver.install()

# Challenge prompt of binary challenge 
prompt = "diamond bracelet"

# Load challenge images, assuming you've already downloaded them.
label_dir = Path(__file__).parent.joinpath("diamond_bracelet")
images = [label_dir.joinpath(fn).read_bytes() for fn in os.listdir(label_dir)]

def bytedance():
    classifier = solver.BinaryClassifier()
    # type: List[bool | None]
    # IF True --> click image
    # ELIF False --> bypass image
    # ELSE --> Something err  
    if result := classifier.execute(prompt, images):
        for i, name in enumerate(os.listdir(label_dir)):
            print(f"{name} - {result[i]}")

if __name__ == "__main__":
    bytedance()

42. jax : библиотека высокопроизводительных научных вычислений Google с открытым исходным кодом. Это библиотека Python для численных вычислений, которая сочетает в себе компиляцию «точно в срок» (JIT), автоматический вывод (Autograd) и компилятор линейной алгебры (XLA). Ее использование аналогично NumPy. Но JAX быстрее, экономит больше памяти и поддерживает такие функции, как автоматическое дифференцирование, автоматическая векторизация и параллельные вычисления.

from jax import grad
import jax.numpy as jnp

def tanh(x):  # Define a function
  y = jnp.exp(-2.0 * x)
  return (1.0 - y) / (1.0 + y)

grad_tanh = grad(tanh)  # Obtain its gradient function
print(grad_tanh(1.0))   # Evaluate it at x = 1.0
# prints 0.4199743
# 自动求导
print(grad(grad(grad(tanh)))(1.0))
# prints 0.62162673

43. sd-webui-EasyPhoto : ваш интеллектуальный инструмент для создания фотографий с использованием искусственного интеллекта. Это плагин WebUI для создания портретов с использованием искусственного интеллекта, который можно использовать для создания фотографий профессионального качества, что эквивалентно бесплатной локально развертываемой камере Miaoya.

наконец

Благодаря друзьям, которые самоотверженно делятся проектами с открытым исходным кодом, больше энтузиастов открытого исходного кода могут прийти на HelloGitHub, чтобы самостоятельно рекомендовать/рекомендовать проекты с открытым исходным кодом. Если вы нашли интересный проект на GitHub, нажмите здесь , чтобы поделиться им со всеми!

Выше приведено все содержание этого выпуска. Нажмите, чтобы прочитать содержание предыдущих выпусков . Если вы считаете, что содержание этого выпуска хорошее , пожалуйста, поставьте лайк и поделитесь им❤️

Оштрафован на 200 юаней и конфисковано более 1 миллиона юаней Ю Юйси: важность высококачественных китайских документов Жесткий сервер миграции Маска Solon для JDK 21, виртуальные потоки невероятны! ! ! Контроль перегрузки TCP спасает Интернет Flutter для OpenHarmony уже здесь Срок LTS ядра Linux будет восстановлен с 6 до 2 лет Go 1.22 исправит ошибку переменной цикла for Svelte построила «новое колесо» — руны Google отмечает свое 25-летие
{{o.name}}
{{м.имя}}

рекомендация

отmy.oschina.net/HelloGitHub/blog/10114751