兴趣是最好的老师,HelloGitHub帮你找到兴趣!介绍在GitHub上分享有趣的入门级开源项目。这是一本面向编程新手、热爱编程以及对开源社区感兴趣的人的月刊。每月的内容包括:各种编程语言的项目、让生活更美好的工具、书籍、学习笔记、教程等,这些开源的项目大部分都非常好用,非常酷。主要目的是希望大家可以使用它,加入开源社区。如果您知道如何编程,则可以贡献代码。如果您不知道如何编程,可以提供反馈。利用这些工具中的漏洞来帮助推广你认为优秀的项目。明星项目??在浏览和参与这些项目的过程中,你会学到更多的编程知识,提高编程技能,找到编程的乐趣。?终于,HelloGitHub项目诞生了?以下为本期内容|每月28号发布最新一期|点击??查看往期内容C#项目1.csredis:Redis官方推荐的C#语言redis客户端库。redis2.8-5.0版本的所有命令,包括sentinel、cluster等功能。项目自2016年开始迭代更新,实现了低门槛、高性能、分区等高级玩法。项目作者:2881099,在GitHub上开源了很多有趣实用的C#项目。欢迎大家关注他,参与他的项目,为开源社区做贡献。示例代码:varcsredis=newCSRedis.CSRedisClient("127.0.0.1:6379,password=123");RedisHelper.Initialization(csredis);RedisHelper.Set("test1","123123",60);RedisHelper.Get("test1");//...函数名同redis-cli命令//普通订阅RedisHelper.Subscribe(("chan1",msg=>Console.WriteLine(msg.Body)),("chan2",msg=>Console.WriteLine(msg.Body)));//流水线操作RedisHelper.StartPipe().Set("a","1").Get("a").EndPipe();C++项目2,fmt:这是一个开源的C++格式化库。它可以用作(s)printf和iostreams的安全快速替代品,以及C++20中std::format的实现。它的格式字符串语法类似于Python中的str.format,支持用户自定义类型,比printf和iostreams的常见标准库实现更快!而且fmt也很安全,编译时可以报格式字符串错误,可以防止缓冲区溢出错误。示例代码:fmt::print("Hello,{}!","world");//类似Python的语法fmt::printf("Hello,%s!","world");3.awesome-modern-cpp:哇太棒了!你想自由使用现代cpp吗?然后检查Awesome-modern-cpp!这是关于现代C++的一些最佳实践、书籍、会议、演讲、播客、博客、网站、各种库和工具的列表,它们会让您惊叹不已,这是您的专属momentGo项目4,简单计算机:一个项目使用Go语言模拟一个简单的计算机CPU。只有Go语言的函数,没有硬件模块,从与非门到一个能做加减法显示的迷你虚拟计算机。这些是计算机最底层最基本的东西,虽然是用Go语言模拟出来的,而不是用硬件搭建的。但是计算机的基本结构和基本操作原理都显示的非常清楚。对于新手来说,不仅能了解CPU的原理,还能发现编程语言除了会写软件之外的其他有趣用途。安装命令:make#构建工程maketest#测试./bin/simulator-bin_programs/brush.bin#运行虚拟机5.gridstudio:一个以Go语言为后端的电子表格Web应用,支持Python编程语言处理数据,运行后立即可以看到结果。它旨在为加载、清理、操作和可视化数据提供集成的工作流程。在线可用,是用Python等处理数据的数据工程师的神器。之前很好奇石墨文档怎么制作,现在可以学了。电子表格是一个比较复杂的问题,这个项目有很多值得学习的地方。安装:gitclonehttps://github.com/ricklamers/gridstudio#cloneprojectcdgridstudio&&./run.sh#直接运行#然后访问http://127.0.0.1:8080用户名:admin密码:admin6,go-github:Google出品的GitHubAPIGo语言版本。如果你需要做一个GiHhub相关的产品后台,这样可以省很多力气,也可以借鉴谷歌工程师写的Go项目和设计接口的思路。示例代码:import"github.com/google/go-github/v27/github"//启用go模块(GO111MODULE=onornotinGOPATH)import"github.com/google/go-github/github"//当thegomoduleisnotenabledclient:=github.NewClient(nil)//获取用户“willnorris”所在的所有组织orgs,_,err:=client.Organizations.List(context.Background(),"willnorris",nil)Java项目7,vhr:前后端分离的人力资源管理系统。项目采用了SpringBoot+Vue架构,都是近几年流行的框架。项目涉及场景较多,可以作为全栈工程师的入门级练习。8.SmartSwipe:一个侧滑处理框架,而不是具体侧滑效果的实现。封装了十几种侧滑效果,包括侧滑返回、侧滑删除、百叶窗、开门等,总有几种能让你眼前一亮。示例代码://给控件添加类MIUI的弹性拉伸效果://垂直滚动(或滚动到顶部/底部)时,如果继续拖动,UI会呈现弹性拉伸效果,SmartSwipe会释放后顺利恢复。wrap(view).addConsumer(newStretchConsumer()).enableVertical();SmartSwipe.wrap(view).addConsumer(newStretchConsumer()).enableVertical()//类MIUI拉伸效果方向为:上下2directions.addConsumer(newSpaceConsumer()).enableHorizo??ntal()//模仿iOS弹性留白效果的方向:左右方向;SmartSwipeBack.activityBezierBack(application,null);//模仿小米MIUI系统的贝塞尔曲线返回EffectSmartSwipeBack.activityStayBack(application,null);//模仿手机QQ手势滑动返回SmartSwipeBack.activitySlidingBack(application,null);//仿微信透明侧滑带联动效果returnSmartSwipeBack.activityDoorBack(application,null);//滑动开门样式关闭activitySmartSwipeBack.activityShuttersBack(application,null);//滑动快门样式关闭activity//xxxMode第二个参数为false,表示工作方向为垂直:下拉刷新&上拉加载更多//如果第二个参数设置为true,表示工作方向是水平的:向右拉刷新,向左拉加载更多SmartSwipeRefresh.drawerMode(view,false).setDataLoader(loader);SmartSwipeRefresh.behindMode(view,false).setDataLoad呃(加载器);SmartSwipeRefresh.scaleMode(视图,假)。setDataLoader(加载器);SmartSwipeRefresh.translateMode(视图,假)。setDataLoader(加载器);9.SoloPi:一款无需连接电脑的非侵入式Android自动化工具公测版具有录音播放、性能测试、一机多控三大功能,可以节省宝贵的时间测试开发人员。Android版本和终端型号很多。一个成熟的安卓应用的上线需要进行大量的测试,而很多测试都是重复性的操作。这个工具可以大大简化测试人员的工作量。10.XUI:一个简单而优雅的AndroidNativeUI框架。让原生Android开发者像Web开发者一样拥有方便的UI库。本项目适合有一定Android开发经验的开发者。JavaScript项目11.chart.xkcd:手绘风格的JS图表库。手绘风格的设计给人一种非常可爱的感觉。看完这些图表,你会发现数据也可以用可爱的形式展现出来。12.fullPage.js:通过调用fullPage,可以轻松创建一个全屏滚动的网站(也叫单页网站)。fullPage创建一个全屏滚动的网站,并为网站添加一个水平滚动条。适用于快速搭建全屏滚动或有视差的站点,使站点看起来更高端、大气、上档次。示例代码:
