兴趣是最好的老师,HelloGitHub让你对编程感兴趣! 简介 HelloGitHub分享GitHub上有趣、入门级的开源项目。 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、CC、Swift。。。让你在短时间内感受到开源的魅力,对编程产生兴趣! 以下为本期内容每个月28号更新C项目 1、gifsicle:压缩和编辑GIF图片的工具。它是一款体积小、功能强大的GIF图片处理工具,不仅可以压缩GIF图片,还支持合并多个GIF、导出所有帧、查看图片信息、减少帧数、设置循环次数、延迟、编辑某一帧等功能。安装brewinstallgifsicle查看gifsicleIinput。gifhead优化压缩gifsicleinput。gifO3ooutput。gif 地址:github。comkohlergifsicle 2、CPUX:一款显示电脑CPU、主板等信息的免费工具。能够显示设备的CPU、主板、内存、显卡、操作系统等信息,支持GUI和命令行两种启动方式,适用于Linux和FreeBSD操作系统。 地址:github。comX0rgCPUX 3、acl:一款跨平台的网络通信库和服务器框架。它既可以做网络通信的客户端,也可以编写服务器端,支持HTTP、SMTP、ICMP、MQTT、Redis、Memcache多种常见协议,以及XML、JSON、BASE64等编码格式。libacl:最基础的库libprotocol:实现了HTPP协议及ICMPPING协议libfiber:该库为支持协程库,直接hook系统readwrite等API,与epoll配合支持高并发网络编程 地址:github。comacldevaclC项目 4、XCharts:Unity数据可视化图表插件。一款基于UnityUGUI的图表插件,它功能强大、简单易用,支持折线图、柱状图、饼图、雷达图、散点图、热力图、环形图、K线图等多种图表。 地址:github。comXChartsTeamXCharts 5、WinDynamicDesktop:类似macOS动态桌面的工具。该项目是将macOS动态桌面功能移植到Windows10,它可以基于你的位置计算出日出和日落的时间,并根据当前时间动态改变桌面壁纸,已上架Microsoft应用商店。 地址:github。comt1m0thyjWinDynamicDesktop 6、TextGrab:一个轻量级的WindowsOCR工具。它基于Windows10系统自带的OCRAPI实现,可以将看到的所有文字转化成文本,而且启动速度快、无需常驻后台、可离线使用。 地址:github。comTheJoeFinTextGrabC项目 7、kyscpp:游戏《金庸群侠传》的C复刻版。基于SDL2开发的《金庸群侠传》游戏,资源大部分来自DOS版本,目前已完工可以正常运行。 地址:github。comscarstykyscpp 8、Cemu:任天堂WiiU游戏机模拟器。用C编写的开源WiiU模拟器,能够运行绝大多数的WiiU游戏和自制游戏,支持Windows、Linux、macOS操作系统。 地址:github。comcemuprojectCemu 9、wiliwili:专为手柄控制设计的第三方B站客户端。一个用C编写的适用于NintendoSwitch的B站客户端,拥有接近B站官方PC客户端的浏览体验,同时支持触屏与手柄按键操控。 地址:github。comxfangfangwiliwili 10、aseprite:开源、专业的像素画编辑软件。一款主要用于像素画和Sprite动画的图像编辑软件,它拥有图层、自由手绘模式、阴影墨水、自定义笔刷、轮廓线、宽像素、命令行界面、Lua脚本等特色功能。该软件虽然专业版收费但并不贵,也可选择免费版但无法保存作品。 地址:github。comasepriteasepriteCSS项目 11、30diasDeCSS:在30天内用HTML和CSS创建30个迷你项目的挑战。该项目包含了30个用HTMLCSS构建的迷你项目,每个项目通过动图直观地展示了实现的效果,不仅包含全部源码还指出了用到的知识点。 地址:github。comMilenaCarecho30diasDeCSSGo项目 12、HackBrowserData:一款浏览器数据导出工具。能够导出本地浏览器的密码、历史记录、Cookie、书签、下载记录、localStorage等数据的命令行工具,支持多平台下的多种主流浏览器。 地址:github。commoonD4rkHackBrowserData 13、fq:一条命令查看二进制文件。用于查看和处理二进制文件的命令行工具,安装简单使用方便,支持mp4、flac、mp3、jpeg等多种格式的文件。 地址:github。comwaderfq 14、statsviz:实时展示Go程序运行时指标的Web应用。该项目通过图表可视化的方式,实时展示Go程序运行时的堆、对象、Goroutines、MSpanMCache等信息。mux:http。NewServeMux()statsviz。Register(mux) 地址:github。comarlstatsviz 15、v2:极简的feed订阅工具。该项目的简是由内而外,内部代码部分不使用Web框架和ORM仅采用GoPostgreSQLJS实现,界面朴实无华、功能精简实用,支持快速自建、源管理、自动获取内容、快捷键、用户系统等,这一切不多不少刚刚好。 地址:github。comminifluxv2 16、cobra:当下最流行的GoCLI框架。功能强大且极易上手的Go语言CLI库,可用于快速构建命令行程序,被K8s、Hugo、GitHubCLI等众多知名Go项目所采用,支持自动提示、自动构建项目、嵌套子命令等功能。varrootCmdcobra。Command{Use:hugo,Short:Hugoisaveryfaststaticsitegenerator,Long:AFastandFlexibleStaticSiteGeneratorbuiltwithlovebyspf13,Run:func(cmdcobra。Command,args〔〕string){DoStuffHere},}funcExecute(){iferr:rootCmd。Execute();err!nil{fmt。Println(err)os。Exit(1)}} 地址:github。comspf13cobraJava项目 17、hippo4j:带有监控报警功能的动态线程池框架。支持运行时动态变更线程池参数,可实时查看线程池运行时数据,适配RocketMQ、RabbitMQ、Tomcat等中间件,解决了线程池参数不易评估以及运行时黑盒的问题。BeanDynamicThreadPoolpublicExecutorsendMessageConsumeDynamicThreadPool(){StringthreadPoolIdsendmessageconsume;ThreadPoolExecutorsendMessageConsumeThreadPoolBuilder。builder()。threadPoolId(threadPoolId)。threadFactory(threadPoolId)。dynamicPool()。build();returnsendMessageConsume;} 地址:github。comopengoofyhippo4j 18、ghidra:一款免费开源的软件逆向分析工具。该项目由美国国安局开源,可用于分析编译后的代码。 地址:github。comNationalSecurityAgencyghidra 19、caffeine:Java的高性能缓存库。借鉴了Guava和ConcurrentLinkedHashMap的设计经验,青出于蓝而胜于蓝的Java本地缓存库,拥有更高的缓存命中率和更快的读写速度。LoadingCacheKey,GraphgraphsCaffeine。newBuilder()。maximumSize(10000)。expireAfterWrite(Duration。ofMinutes(5))。refreshAfterWrite(Duration。ofMinutes(1))。build(keycreateExpensiveGraph(key)); 地址:github。combenmanescaffeine 20、solon:一款Java轻量级应用开发框架。可用来快速开发JavaWeb项目,主框架仅0。1MB。类似PythonFlask的微型框架,提倡按需组合插件。ControllerpublicclassApp{publicstaticvoidmain(String〔〕args){Solon。start(App。class,args,app{手写模式app。get(hello1,ctxctx。output(Helloworld!));});}注解模式GetSocketMapping(hello2)publicStringhello2(Param(defaultValueworld)Stringname){returnString。format(Hellos!,name);}} 地址:github。comnoearsolonJavaScript项目 21、notesnook:一款端到端加密的笔记软件。这款笔记软件以保护用户隐私为主要特点,采用了安全的XChaCha20Poly1305和Argon2算法对数据进行加密。它不仅安全还拥有丰富的功能,但免费版功能阉割严重,比如不支持Markdown、插入图片等重要的功能。 地址:github。comstreetwritersnotesnook 22、jsoncrack:优雅的JSON数据可视化工具。该项目不是简单的展示JSON数据,而是将其转化为类似脑图的形式,支持放大缩小、展开收缩、搜索节点、导出图片等操作,还可以快速部署成服务。 地址:github。comAykutSaracjsoncrack。com 23、sakana:可爱的Sakana模拟器。Sakana是出自动漫《莉可丽丝》的一个梗,可爱的动作加上Sakana这句话,使得这个场面迅速走红,这个项目可以让你轻松再现这个瞬间。 地址:github。comitorrsakana 24、m3u8downloader:m3u8视频在线提取工具。m3u8视频格式常用于直播服务,其原理是将完整的视频拆分成多个。ts视频碎片,其中。m3u8文件会详细记录每个视频片段的地址。视频播放时,会先读取。m3u8文件,再逐个下载播放。ts视频片段。该项目就是基于上述原理实现的m3u8视频提取工具,使用方便无需安装打开网页即可下载完整的视频。下载整合后的TS文件downloadFile(fileDataList,fileName,fileType){this。tipsts碎片整合中,请留意浏览器下载constfileBlobnewBlob(fileDataList,{type:videoMP2T})创建一个Blob对象,并设置文件的MIME类型constadocument。createElement(a)a。downloadfileName。fileTypea。hrefURL。createObjectURL(fileBlob)a。style。displaynonedocument。body。appendChild(a)a。click()a。remove()} 地址:github。comMomo707577045m3u8downloader 25、tldraw:一款实用的微型在线绘图工具。这是一个麻雀虽小,五脏俱全的绘图工具,支持插入便签、保存进度、生成图片、多人协作等实用的功能。 地址:github。comtldrawtldrawPHP项目 26、Piwigo:一款开源在线相册应用。采用PHPMySQL开发的管理照片的Web项目,它功能强大安装简单,拥有丰富的主题和灵活的插件,可轻松完成个性化定制。支持iOS和Android客户端,让你可以随时随地上传、管理照片。 地址:github。comPiwigoPiwigoPython项目 27、pendulum:让Python处理时间更简单的库。该项目不仅提供了更加简单易用的API,而且还兼容datetime标准库,可以直接替代码中的datetime对象。它提供了很多人性化的时间处理方式,比如时间加减、多长时间的描述以及时区的处理等等。importpendulumnowinparispendulum。now(EuropeParis)nowinparis20160704T00:49:58。50211602:00tomorrowpendulum。now()。add(days1)pastpendulum。now()。subtract(minutes2)past。diffforhumans()2minutesagodeltapastlastweekdelta。hours23delta。inwords(localeen)6days23hours58minutes 地址:github。comsdispaterpendulum 28、pgactivity:类似top的PostgreSQL数据库命令行监控工具。一条命令就能实时查看PostgreSQL数据库状态和每条SQL语句执行详情、耗时、占用资源、读写速度等信息的工具。 地址:github。comdalibopgactivity 29、Games:纯Python实现的桌面小游戏集合。该项目包含20多个不重样的趣味小游戏,它们都是采用Python开发运行简单,用到的库包括cocos2d、pygame、PyQt等。虽然这些游戏可玩性较低,但项目简单十分适合新手学习。 地址:github。comCharlesPikachuGames 30、djangosilk:Django的性能分析工具。它可以将Django服务的平均耗时、请求次数、查询SQL、代码性能分析等信息展示到一个页面,开发者有了这些信息就能够更快地找到Django服务的性能瓶颈和响应慢的原因。安装pipinstalldjangosilk中间件的方式使用MIDDLEWARE〔。。。silk。middleware。SilkyMiddleware,。。。〕INSTALLEDAPPS(。。。silk) 地址:github。comjazzbanddjangosilk 31、OCRmyPDF:可以把PDF文件变成可搜索文件的工具。它使用TesseractOCR引擎,将PDF的内容识别成文本,然后给PDF文件增加OCR文本层。从而实现可搜索和复制PDF的内容,已支持100多种语言。 地址:github。comocrmypdfOCRmyPDFRuby项目 32、wpscan:一款WordPress安全扫描工具。该项目可用于发现WordPress构建的网站存在的安全隐患,扫描项包括WordPress漏洞、已安装的插件和主题、弱密码等。 地址:github。comwpscanteamwpscanRust项目 33、espanso:Rust写的智能文本扩展工具。文本扩展器是可以帮你提高输入效率的工具,当你输入一个特定的关键词时,它可以自动检测到并将其替换为预设的内容。这个项目几乎可以和任何程序一起使用,适用于Windows、macOS和Linux。 地址:github。comespansoespanso 34、easyrust:用简单的英语写的Rust教程。虽然当下已经有很多的Rust教程,但是大多都是以英语为主,这对不擅长英语的程序员并不友好,所以作者写了一份仅用简单的英语讲解Rust的教程,已有中文翻译版。 地址:github。comDhghomoneasyrustSwift项目 35、TinyPNG4Mac:适用于macOS的TinyPNG第三方客户端。TinyPNG是一个提供免费图像压缩服务的网站,该项目是其第三方macOS客户端,可以让你无需打开浏览器、无需手动下载图片,仅通过简单的拖拽就能完成对JPEG、PNG图片的压缩。 地址:github。comkyleduoTinyPNG4Mac其它 36、WebKit:苹果开源的Web浏览器引擎。它被用于开发macOS和iOS上的Safari、AppStore、Mail等应用。WebKit不仅出现在苹果的生态中,其分支Blink项目也是Chromium的重要组成部分,它又是各大主流浏览器的核心。 地址:github。comWebKitWebKit 37、missingsemester:大学计算机教育中缺失的一课。大学里的计算机课程往往只专注于讲授数据结构、操作系统这些知识,对于编程开发中常用的工具则留给学生自行学习。在MIT这个课程中,你可以了解和掌握命令行(shell)、文本编辑器(Vim)、版本控制系统(Git)等强大的工具,越早接触越能更加熟练地使用它们,有助于未来的职业生涯。 地址:github。commissingsemestermissingsemester 38、nginxtutorial:免费的Nginx极简教程。这是一套简单的Nginx教程,包含Nginx的安装、常用命令、反向代理、负载均衡等知识点,能够帮助新手快速入门Nginx。 地址:github。comdunwunginxtutorial 39、CrashCourseComputerScienceChinese:计算机科学速成课〔40集全精校〕。油管上的计算机科学速成课(CrashCourseComputerScience)中文字幕翻译版,视频从晶体管讲到了操作系统和人工智能,但并不会教你如何编程属于科普类视频。 地址:github。com1c7CrashCourseComputerScienceChinese 40、batscore:Bash自动化测试系统。它通过测试用例验证Bash脚本的运行结果是否符合预期,原理是基于Bash的errexit(sete)选项判断测试用例的执行成功与否。!usrbinenvbatstestadditionusingbc{result(echo22bc)〔resulteq4〕}testadditionusingdc{result(echo22pdc)〔resulteq4〕} 地址:github。combatscorebatscore 41、TheArtofLinearAlgebra:图解线性代数。《LinearAlgebraforEveryone》是一门广受好评的线性代数公开课,该项目是基于这门公开课,编写整理而成的图文并茂的学习笔记。 地址:github。comkenjihiranabeTheArtofLinearAlgebra开源书籍 42、patternsofdistributedsystems:《分布式系统模式》中文版。该书尝试将副本同步、可靠性、网络延迟等分布式系统共性问题归纳总结,并参考像Kafka、Zookeeper等分布式系统的实现过程,给出分布式系统中同类问题的通用解决方法模式。 地址:github。comdreamheadpatternsofdistributedsystems 43、Cookbook:《数据工程师Cookbook》。这本书会告诉你,如果想要成为一名出色的数据工程师,到底需要学习哪些知识。 地址:github。comandkretCookbook机器学习 44、stablediffusion:可以根据文字生成图片的模型。只要输入一段文字描述,就能得到一张由AI生成的图片,除此之外该项目还支持将粗糙的草图转化成精致的艺术图片。makesureyoureloggedinwithhuggingfacecliloginfromtorchimportautocastfromdiffusersimportStableDiffusionPipelinepipeStableDiffusionPipeline。frompretrained(CompVisstablediffusionv14,useauthtokenTrue)。to(cuda)promptaphotoofanastronautridingahorseonmarswithautocast(cuda):imagepipe(prompt)〔sample〕〔0〕image。save(astronautrideshorse。png) 地址:github。comCompVisstablediffusion 45、style2paints:一款给线稿上色的AI辅助工具。能够帮助用户给没有上色的图片,快速完成上色的AI工具,上色效果广受好评,完全免费开箱即用。 地址:github。comlllyasvielstyle2paints最后 以上就是本期的所有内容了,往期内容点击阅读 感谢您的阅读,如果觉得本期内容还不错的话求赞、求分享