当前位置: 首页 > news >正文

如何做原创小说网站如何建开发手机网站首页

如何做原创小说网站,如何建开发手机网站首页,wordpress主机xampp,上海专业做网站的公司有哪些前言2020年3月初春#xff0c;虽然春节已经过去一个多月#xff0c;大街上还未恢复往年的热闹。由于春节前夕突然降临的冠状病毒#xff0c;导致很多员工无法回到城市复工。春节之后#xff0c;阿捷所在的公司考虑到复工带来的风险#xff0c;通知所有员工以远程的方式在家… 前言2020年3月初春虽然春节已经过去一个多月大街上还未恢复往年的热闹。由于春节前夕突然降临的冠状病毒导致很多员工无法回到城市复工。春节之后阿捷所在的公司考虑到复工带来的风险通知所有员工以远程的方式在家办公。某一天PM联系到阿捷说目前有一个需求想要对各个项目组的Git仓库提交信息进行相关统计让阿捷调研一下。于是阿捷查了一番资料了解到可以直接用原生 Git 命令行的方式来实现。即使用内置的 git log 命令提取仓库下的提交日志。实践经过git log 默认的输出格式是下面这个样子其中上面的输出内容里主要包含了以下4种信息Commit 信息每次提交的一个hash值Author 相关信息提交的作者和及邮箱信息Commit Message, 提交时填写的信息可能会包含多行文字。Date 信息这个信息中除了有日期时间还包含时区信息。例如从上图中可以看到有一条记录的日期为 Mon Mar 2 22:06:13 2020 -0800其中最后的 -0800 就是所在的时区即西八区根据时区地图可以看到 -0800是在美国西部湾区。中国处于东八区所以如果是在中国提交的话时区部分将会是 0800 。除了以上的4个基础信息PM还想要拿到每次提交时变动的代码行数阿捷通过查询Git Log 的命令行文档了解到可以通过追加配置项 git log --shortstat 来输出变更的行数如下图所示。另外git log 也考虑到输出格式化的问题可以使用特殊的占位符指定输出格式。经过反复实验优化后的命令如下git log --all --pretty%x40%h%x2C%an%x2C%ad%x2C%x22%s%x22%x2C --shortstat | tr \n | tr \n通过上面的魔幻配置基本上能从每条提交记录中提取出需要的列然后用逗号方式进行拼接最终可以生成出CSV格式的文件。然而这种方式始终不够优雅命令中额外使用了 tr 对字符串进行处理这意味着在目标机器上也要有这个工具否则无法运行而 windows 上只能通过安装第三方工具实现。另外一点是扩展性问题命令行对于csv这种简单的格式处理还好说如果要输出JSON格式的话就不好办了而且命令行的配置项几乎没人能看懂以后维护起来免不了要996。基于上述痛点阿捷又在网上搜寻了一番最终在MVP大佬的一篇博客https://edi.wang/post/2019/3/26/operate-git-with-net-core中找到了蛛丝马迹。根据博客中的内容来看可以通过一款名为libgit2sharphttps://github.com/libgit2/libgit2sharp的类库实现我们的需求。libgit2sharp内部嵌套了一个基于C语言实现的Git内核它自身对外提供一系列和Git操作相关的接口并且它的上游核心仓库libgit2(https://github.com/libgit2/提供了对包括Python,PHP,C#在内的多种语言的支持。而且项目是开源的由社区进行维护。阿捷经过简单上手觉得提供的API可以满足需要然后快速制作出了一个简易的命令行程序。核心代码如下using (var repo new Repository(workdir)) {Console.WriteLine(all commit count: repo.Commits.Count());foreach (Commit commit in repo.Commits){var commitDto new GitCommitLogDto{CommitHash commit.Sha,AuthorName commit.Author.Name,AuthorEmail commit.Author.Email,MessageShort commit.MessageShort,AuthorDate commit.Author.When.DateTime,};var patch GetPatchInfo(repo, commit);if (patch ! null){commitDto.LinesAdded patch.LinesAdded;commitDto.LinesDeleted patch.LinesDeleted;};Console.WriteLine(commitDto.ToString());list.Add(commitDto);} }由于有了良好封装和结构化数据的支持理论上可以将结果转化成任何格式包括CSVJSONXML等并且可以很方便地对数据格式进行任意加工。考虑到工具在实际使用时面临着跨平台和环境依赖的问题于是阿捷使用了DoNetCore3.0提供的新特性将程序打包成了不依赖安装环境的可执行文件不需要安装外部依赖开箱即用最终打包的命令如下# publish win-x64 dotnet publish -c Release -o publish/win-x64 -r win-x64 /p:PublishSingleFiletrue /p:IncludeSymbolsInSingleFiletrue /p:PublishTrimmedtrue#publish linux-x64 dotnet publish -c Release -o publish/linux-x64 -r linux-x64 /p:PublishSingleFiletrue /p:IncludeSymbolsInSingleFiletrue /p:PublishTrimmedtrue然后因为是开源项目可以用GitHub的高性能构建机器阿捷使用了yml文件为项目制作了自动构建的流水线每次提交代码后自动触发编译生成出新的二进制文件。除了CSV文件的部分PM那还需要制作出相关报表对CSV中的数据进行统计。阿捷考察了目前市面上流行的BI工具最终选择了免费的PowerBI桌面版https://powerbi.microsoft.com/zh-cn/。PowerBI是由微软出品的一款专业的用于商业智能方向的报表工具桌面版内嵌了一套高性能的计算引擎不需要安装任何依赖开箱即用。而且支持的数据源种类非常多CSV文件完全不在话下。阿捷首先用吃狗粮的态度用自己制作的命令行工具从AspNetCorehttps://github.com/dotnet/aspnetcore的官方Github仓库中提取出了共计4万多提交信息数据如下然后阿捷经过对PowerBI简单的上手制作出了下面几张报表。上图中可以看到AspNetCore中仓库提交记录是最早从2013年开始的。上图中可以看到2017和2018年是提交次数和增加行数最多的一年参考aspnetcore的发布时间可以知道这期间经历了从1.1到2.0和2.2之间的迭代。上面两张图展示了根据提交者的邮箱后缀对提交次数和增加行数的统计。可以看出来自微软员工的提交占了相当的分量并且来自外部的贡献者也很广泛说明AspNetCore有着广泛的社区贡献者。上述两种图展示 的提交的日期主要分布在周一到周五之间的工作日在提交的时间分布上主要集中在上午10点到下午5点之间。后记有了DotNetCore和PowerBI的助力阿捷很轻松地搞定了PM的需求为了发扬回馈社区的精神阿捷将项目托管在了GitHub上仓库链接https://github.com/leansoftX/dotnet-gitstats。有需要的小伙伴可以直接拿来食用。目前项目还在早期阶段欢迎动手能力强的小伙伴增加新功能提交ISSUE或PR。参考资源Git Log 命令行文档https://git-scm.com/docs/git-loglibgit2sharp上手博客https://edi.wang/post/2019/3/26/operate-git-with-net-corelibgit2sharp 上手wikihttps://github.com/libgit2/libgit2sharp/wiki/git-logPowerBI下载地址https://www.microsoft.com/en-us/download/details.aspx?id58494本周二今天晚8点Boat House共创迭代会议直播????
http://www.huolong8.cn/news/187398/

相关文章:

  • 网站建设经验大总结app界面设计模板一套
  • 郑州作网站附近男科医院在哪里
  • 投融网站建设方案企业网站建设jz190
  • 网站建设新的技术电商网站建设精准扶贫的目的
  • 廊坊商昊网站建设深圳建设网站公司哪儿济南兴田德润有活动吗
  • 贵州省房屋和城市建设厅官方网站建设部职称证书查询官方网站
  • 威海网站建设哪家好中国营销型网站
  • 做技术网站赚钱市场营销培训课程
  • 国外网站404错误页哪个网站做任务给东西
  • 做cms网站步骤制作网站电话
  • 哈尔滨住房和城乡建设局网站自治区建设厅官方网站
  • wordpress 下载站插件搜索引擎营销广告
  • 深圳市住房和建设局门户网站做网站运营需要培训吗
  • 昌江县住房和城乡建设局网站河南中原建设网站微信群
  • 绵阳市中医医院网站建设天津商务网站建设
  • 做ppt的模板网站有哪些asp.net 网站安装
  • 泉州建设工程质量网站太钢建设公司官网
  • 快速搭建一个网站wordpress配置qq邮件
  • 专门做婚庆的网站有哪些有网络打不开网页怎么回事
  • 中国廉洁建设网是什么正规网站吗京东云 安装wordpress
  • 曰本孕妇做爰网站e4a怎么做网站app
  • 我想做个网站 详解怎么做中小企业网站建设公司首选
  • 网站建设的步骤教程下载专题网站建设解决方案
  • 当涂 微网站开发公司网站空间 更换
  • 网站设计风北京工业产品设计公司
  • 大学一学一做视频网站wordpress调用分类图片大小
  • 知名建站企业哪家好国外网站建设模板
  • 自己做的网站如何引流医院建设网站
  • 用源码做自己的网站网页ui设计师培训
  • 我想卖自己做的鞋子 上哪个网站好福州网站建设印秀