当前位置: 首页 > 后端技术 > Python

《HelloGitHub》第41期

时间:2023-03-26 19:42:01 Python

兴趣是最好的老师,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创建一个全屏滚动的网站,并为网站添加一个水平滚动条。适用于快速搭建全屏滚动或有视差的站点,使站点看起来更高端、大气、上档次。示例代码:部分部分

部分部分
部分部分
部分章节
13.PicGo:基于electron-vue实现的一款桌面图床工具。本工具可以帮助您高效便捷的上传图片到网络图床,包括微博图床、七牛图床、腾讯云COS、有拍云、GitHub、SM.MS、阿里云OSS、Imgur等。只需使用快捷键或拖动即可上传,上传成功的图片链接会自动复制到剪贴板,支持macOS、Windows、Linux三大系统14、Valine:一款快速、简洁、高效的免贴-旁白JS评论插件。该库使用LeanCloudAPI存储数据,设计美观,体积小,支持Markdown和Emoji。对于使用Hexo、Hugo等静态网页的博主来说是福音。通过几个简单的步骤,您可以快速地为您的博客添加评论功能。快来试试吧。15.webtorrent:一个基于JS的流媒体torrent客户端。您无需等待种子中的内容下载完毕,即可立即播放种子中的内容,并且有适用于Windows、Mac和Linux操作系统的桌面客户端。您还在为等待下载而烦恼吗?有了它,就可以复制种子链接观看相应的视频内容Python项目16、Jtyoui:一个帮助学习Python的代码集合包。包含20多个简单易用的常用方法和数学函数,大部分方法在100行左右,每个类都有对应的测试用例。非常方便初学者学习,也可以帮助有经验的开发者快速实现一些功能。示例代码:#这是一个阳历转换程序fromjtyoui.plunarimportSCif__name__=='__main__':lun=SC(year=2018,month=1,day=2)#公历转阴历print(lun.y)#农历年份,汉字2019print(lun.year)#农历年份,阿拉伯数字2019...print(lun)#Thursday,July14,2019None17,bullet:one一个支持终端输入和菜单选择的Python库。允许用户使用方向键在终端上进行移动、单选、多选、密码输入等操作,支持自定义格式和颜色。看看下面的效果图你就知道它是干什么的了18.DaPy:一个简单易用的数据分析Python库。通过提供合理的数据结构和丰富的机器学习模型,帮助您快速实现数据分析思路。简单来说,DaPy可以帮你完成数据挖掘任务的每一步,导入导出数据、预处理数据、特征工程、模型训练和模型评估等。Rubyproject19,rest-client:一个RubyHTTP客户端库。总共有100,000人使用过它。该库简单易用,API设计优雅,支持常用的HTTP方法、文件下载、代理设置等。每个方法基础都有示例代码:require'rest_client'RestClient.get'http://example.com/resource'RestClient.get'http://example.com/resource',{:params=>{:id=>50,'foo'=>'bar'}}RestClient.get'https://user:password@example.com/private/resource',{:accept=>:json}RestClient.post'http://example.com/resource',:param1=>'one',:nested=>{:param2=>'two'}RestClient.post"http://example.com/resource",{'x'=>1}.to_json,:content_type=>:json,:accept=>:jsonRestClient.delete'http://example.com/resource'response=RestClient.get'http://example.com/resource'response.code?200response.cookies?{"Foo"=>"BAR","QUUX"=>"QUUUUX"}response.headers?{:content_type=>"text/html;charset=utf-8",:cache_control=>"private"...response.to_str?\n\n\n{:path=>;'/foo/bar',:owner=>'that_guy',:group=>'those_guys'},:upload=>{:file=>File.new(path,'rb')}})20.过量使用:一个可配置的githook管理工具。githook是git的一个强大功能。当一个git事件被触发时,比如add、commit、push等,会触发一个额外的对应于该事件的操作(hook)。可用于检测代码质量、commit描述风格、控制代码质量等。overcommit允许你自定义hook要执行的操作,而无需编写一行代码(配置不算代码)。它易于使用,具有详细的文档、许多示例和一个活跃的社区。值得一试。Swift项目21.AppearancesSwitcher:macOS通知中心快速切换“亮/暗”主题的widgetOthers22.awesome-adb:ADB用法合集(AndroidDebugBridge)23.git-tips:Git常用命令合集开启源码书籍24.OnJava8:《On Java 8》中文版又名《Java 编程思想》机器学习25.numpy-cn:这是NumPy的中文翻译文档。适合任何想了解学习NumPy的人,也可以作为手册查阅。如果你是新手朋友,建议阅读基础文章:UnderstandingNumpy、NumPySimpleIntroductoryTutorial、DifferentWaystoCreateNumpyArrays。参考文章会不定期更新国内外优秀的Numpy相关内容。如果你想手工实现神经网络,你可以参考NumPy和神经网络,NumPyImplementationofDNC,RNNandLSTMNeuralNetworkAlgorithms26,Awesome_Multimodal_Research:这个项目是多模态相关研究的精选列表,并且正在不断更新。现实世界中的信息通常以不同的形式出现。例如,图像通常与标签和文字说明相关联;正文包含图片,以更清楚地表达文章的主要思想。不同的模式具有非常不同的统计特性。例如,图像通常表示为像素强度或特征提取器的输出,而文本则表示为离散的词向量。由于不同信息资源的统计特性不同,发现不同模态之间的关系非常重要。27.rasa:专门为多轮人机对话设计的框架。主要包括RasaCore和RasaNLU两个模块,提供对话场景、意图理解、实体抽取等功能。用户只需根据平台的语料格式构建自己的语料库,即可轻松进行意图理解和实体抽取的训练。目前,使用Rasa平台的用户数量正在逐渐增加。除了官方文档外,在网上很容易找到相关项目,易于学习和上手。28、Non-local_pytorch:今天推荐的项目是NonlocalNet的第三方实现。实现框架是PyTorch。该项目很简单,但尚未在大型公共数据集上测试性能。不过附上MNIST的样本供读者参考。NonlocalNet是KaimingHe课题组在图像领域介绍Attention机制的论文。NonlocalNet的提出引发了在图像领域使用attention机制的浪潮。这两年,这个方向的论文层出不穷。Facebook在视频分类方面也开源了一个NonlocalNet的项目,但是框架是基于他们维护的caffe2,读者可以根据自己的实际情况浏览阅读。看看每日前端日报《今日前端》,如果你发现有趣且有意义的开源项目,点此分享你感兴趣的项目。公众号最近开通了公众号,后续的公众号将会精选整理月刊推荐的内容,发布系列文章。月刊也将同时在公众号上发布,方便第一时间阅读。欢迎关注HelloGitHub公众号获取更多开源项目资讯和内容。欢迎转载声明,转载请注明出处和作者,并保留声明。