Интерес — лучший учитель, HelloGitHub заинтересует вас программированием!
Введение
HelloGitHub делится интересными проектами с открытым исходным кодом начального уровня на GitHub.
Здесь есть практические проекты, вводные руководства, черные технологии, книги с открытым исходным кодом, проекты с открытым исходным кодом крупных производителей и т. д., охватывающие множество языков программирования 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-летие