我的2022技术总结

1. 维护自己造的轮子

2022年我的Gitee非常活跃,主要是维护自己造的轮子:TaskSchedulerEx、LogUtil、LiteSql、Dapper.LiteSql,经过自己努力维护,基本堪用,自己也在工作中使用了。在此过程中,学习了NuGet打包、单元测试、JMeter性能测试等。

2. .NET6、.NET7学习

相对比较简单,没有花多少时间

3. 开始学习使用Blazor

2023年1月初,开始学习使用Blazor,并做了一套增删改查页面。这个也放在2022年的总结里吧。
Blazor是一项不错的技术,使用Blazor,你可以用C#代替js,简单的增删改查页面,你可以完全不用js。因为生态不够强大,有些功能找不到Blazor组件,你可以使用js实现,通过封装把js代码隐藏起来,从而保持主要代码文件的清爽。你可以把多层嵌套的html元素和密密麻麻的元素的class属性封装成清爽的Blazor组件。

3. 工作中

  1. 项目上开发了一个客户端,给BS系统套个壳

  2. 做了几个电子地图、三维项目

  3. 大数据相关的开发和维护工作

  4. 12月开始做一个大数据相关的项目,我主要负责其中的数据挖掘服务。本来打算用python写,对python不太熟悉,工作进度太慢。最终我用了.net6。用自己喜欢的技术,是一件非常开心的事情,工作效率也非常高,仅一个月,我已经写了很多代码了,写了不少算子服务接口和定时任务。这一个月,让人难受的是,即使是.net程序员,也大多不看好.net,甚至认为它没有未来。

本文转载于网络 如有侵权请联系删除

相关文章

  • 密钥用法 增强密钥用法 证书类型

    密钥用法:数字签名DigitalSignature认可签名NonRepudiation密钥加密keyEncipherment数据加密DataEncipherment密钥协商keyAgreement证书签名KeyCertSignCRL签名CrlSign仅仅加密EncipherOnly仅仅解密DecipherOnlyOpenSSL密钥用法:数字签名digitalSignature认可签名nonRepudiation密钥加密keyEncipherment数据加密dataEncipherment密钥协商keyAgreement证书签名keyCertSignCRL签名cRLSign仅仅加密encipherOnly仅仅解密decipherOnly增强密钥用法:OpenSSL增强密钥用法:extendedKeyUsage=critical,codeSigning,1.2.3.4extendedKeyUsage=nsSGC,msSGCMicrosoft信任列表签名(1.3.6.1.4.1.311.10.3.1)MicrosoftTrustListSigning,msCTLSignMicrosoftTr

  • 腾讯云原生数据库TDSQL-C入选信通院《云原生产品目录》

    近日,中国信通院、云计算开源产业联盟正式对外发布《云原生产品目录》,腾讯云原生数据库TDSQL-C凭借其超强性能、极致效率的弹性伸缩和完善的产品化解决方案体系,成功入围目录。 点击阅读原文即可查看高清大图 全球数字经济进入高速发展期,在敏捷、高效、降本需求的驱动下,云原生已经成为提升云计算使用效能的关键支撑,正引领新一代软件架构的变革,企业必须紧跟云原生发展路线,加速产业转型和系统优化,发挥技术创新价值,保持市场竞争优势。但云原生化改造并非易事,企业借助云原生技术提供商的力量,通过采购成熟的解决方案可以快速补足云原生能力短板。本次发布的《云原生产品目录》共收录云原生技术服务产品及解决方案251个,涉及容器、微服务、服务网格、无服务器、云原生存储、云原生数据、云原生安全,以及云原生融合服务等多个类别。基于企业云原生化改造的市场需求,《云原生产品目录》全面展现了云原生产业的代表性企业与技术,为用户解决选型困境,拉齐行业认知,推动云原生产业蓬勃发展。为了帮助用户更快速、更低成本构建云原生能力,同时解决传统数据库的性能低、扩展难、成本高等问题,腾讯云自研了企业级云原生数据库TDSQL-C,既融

  • TKinter 项目 - 贪吃蛇

    项目分析:构成:蛇Snake食物Food世界World蛇和食物属于整个世界 classWorld:复制self.snake复制self.food复制-上面代码不太友好 -我们用另外一个思路来分析复制我们的分析思路食物是一个独立的事物蛇也可以认为是一个独立的事物世界也是,但世界负责显示classFood(): ''' 功能: 1.出现在画面的某一个地方 2.一旦被吃,则增加蛇的分数 ''' def__init__(self,queue): ''' 自动产生一个食物 ''' self.queue=queue self.new_food() defnew_food(): ''' 功能:产生一个食物 产生一个食物的过程就是随机产生一个食物坐标的过程 ''' #注意横纵坐标产生的范围 x=random.randrange(50,480,10) #同理产生y坐标 #需要注意的是,我们的正给游戏屏幕一般不需要把他设置成

  • Gitlab CICD 与Kubernetes实践·部署GitLab

    上一篇,简单的从?GitlabCI/CD方法论中探索实践中大致了解Gitlab在CI/CD功能的基本介绍,现在我们通过在K8s集群内安装Gitlab、GitlabRunner来为深入探索Gitlab持续集成做好前期准备,首先我们要在集群内安装Gitlab.集群环境K8s的集群版本为1.11.5,CNI使用的是Flannel,DNS为KubeDNS☸️ACK?devops~??kcluster-info Kubernetesmasterisrunningathttps://192.168.99.128:6443 Heapsterisrunningathttps://192.168.99.128:6443/api/v1/namespaces/kube-system/services/heapster/proxy KubeDNSisrunningathttps://192.168.99.128:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy monitoring-influxdbisrunningathttps:

  • 网站基本概念

    文章目录网站基本概念网站服务器IP域名DNS端口静态网站动态网站网站基本概念网站网站(Website),是指在互联网上,根据一定的规则,使用HTML、PHP等代码语言制作的用于展示特定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。简单地说,Website是一种通讯工具,就像布告栏一样,人们可以通过Website来发布自己想要公开的资讯,或者利用Website来提供相关的网络服务。人们可以通过网页浏览器来访问Website,获取自己需要的资讯或者享受网络服务。服务器服务器(Server),即提供服务的机器设备,包括处理器、硬盘、内存和系统总线等。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器和web服务器。 我们的电脑也可做服务器,服务器取决于机器上所安装的软件(服务软件),比如web服务器,提供web服务(网站访问),需要安装Apache,tomcat,iis等。IPIP(InternetProtocol),网络之间互联协议,是计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上所有计算机网络实现相互通信的一

  • Java 项目热部署,节省构建时间的正确姿势

    上周末,帮杨小邪(我的大学室友)远程调试项目。SpringBoot构建,没有热部署,改一下就得重启相关模块。小小的bug,搞了我一个多小时,大部分时间都还在构建上(特么,下次得收钱才行)。我跟他说有个热部署插件叫Jrebel,可以热部署,每次修改完代码需要测试的时候,只要Build一下就行?所有Java项目都能使用,他居然不知道。作为一个英俊男孩,我不得不写下这篇文章教他使用热部署。Jrebel是什么?JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程。简而言之,不管你修改了类还是资源,只需要重新Build一下相关的类,改动就直接反映到你的应用程序了。Jrebel安装打开你的IntelliJIDEA插件市场,搜索Jrebel,第一个就是。点击install安装,完了之后重启IDEA。Jrebel插件

  • spring sleuth 服务追踪

    文章目录1.springsleuth-服务追踪1.1.Zipkin1.1.1.服务端的安装1.1.2.客户端使用1.2.参考文章springsleuth-服务追踪ZipkinZipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。每个服务向zipkin报告计时数据,zipkin会根据调用关系通过ZipkinUI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个Web前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。接下来的测试为方便直接采用In-Memory方式进行存储,生产推荐Elasticsearch。服务端的安装使用docker安装:dockerrun--namezipkin-d-p9411:9411openzipkin/zipkin访问http://localhost:9411/zipkin/

  • CSS定位

    定位的使用包含两个部分:定位的方式偏移值left,right,top,bottom偏移值准确的理解是“距离什么位置有多大”如top:100px;距离顶部为100像素(向下走)。静态定位所有的标准流都是静态定位position:static;复制一般用于将某些已经定位的元素还原成标准流,用的很少偏移值对于静态定位来说不起作用,我们以后说的元素定位不包括静态定位<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Title</title> <style> .box{ width:300px; height:300px; background-color:red; position:static; left:500px; top:500px; } </style> </head> <body> <divclass="box"&

  • 如何使用Java API访问CDH的Kudu

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。Fayson的github:https://github.com/fayson/cdhproject提示:代码块部分可以左右滑动查看噢1.文档编写目的Kudu是Cloudera开源的新型列式存储系统,是ApacheHadoop生态圈的新成员之一,专门为了对快速变化的数据进行快速分析,填补了以往Hadoop存储层的空缺,在前面的文章Fayson介绍了Kudu的安装及与Impala集成使用的文章,本篇文章Fayson主要介绍如何使用JavaAPI操作Kudu。内容概述1.环境准备2.编写Java示例代码及运行3.KuduMaster查看表4.Kudu表与Impala集成测试环境1.CM和CDH版本为5.14.32.Kudu版本为1.6.02.环境准备1.安装Kudu服务,Fayson这里就不在介绍了,可以参考《如何在CDH中安装Kudu&Spark2&Kafka》2.修改Kudu配置,由于Fayson使用的是AWS环境这里跨了网段需要进行配置,如果局域网可以跳过此步在KuduMaster服务的高级配置”gflag

  • 优化夜间阅读体验 - 夜间模式设计通用方法

    你有没有在夜间使用移动设备的习惯?你觉得QQ现有的夜间模式亮度在使用时是否舒适?为了能够更科学的验证我们的设计,我们通过对比度分析、尼特值测试、色彩亮度和色彩通用性等维度去设计界面,并总结出一套优化方法来分享给大家,相互启发。我们为什么要做夜间模式?1.用户调研显示:57%的用户想要使用夜间模式,71.1%的用户习惯在夜间不开灯看手机在ISUX北京调研小组的帮助下,我们针对移动端QQ界面夜间模式进行了调研。从2000多份问卷数据中分析发现,用户对夜间模式有明确需求,且多数人在无照明下使用软件。2.用户反馈现有界面夜间使用时刺眼,低亮度时界面文字不清晰调研发现,现有界面用户在夜间使用时感觉刺眼,长时间使用会感觉眼睛疼痛。部分用户认为文字看不清,辨识比较费眼。3.用户期望更暗色、更能保护眼睛的夜间模式设计从用户对夜间模式的期望来看,他们希望主体界面的颜色更暗,能够更加持久地使用软件。希望我们设计师,能够设计出更加保护眼睛的夜间模式。我们如何设计夜间模式? 1.亮度、色彩对比度、通用性色彩是关键,行业趋势倾向低饱和无彩色*关注健康人眼特性——亮度的需求首先引入尼特值(nit),它是用于量化亮

  • 腾讯云负载均衡后端云服务器的安全组配置

    CVM安全组简介负载均衡的后端云服务器实例可以通过安全组进行访问控制,起到防火墙的作用。您可以将一个或多个安全组与后端云服务器关联,并对每个安全组添加一条或多条规则控制不同服务器的流量访问权限。您可以随时修改某个安全组的规则,新规则会自动应用于与该安全组关联的所有实例。有关更多信息,请参阅安全组操作指南。在私有网络环境中,您还可以使用网络ACL进行访问控制。 CVM安全组配置说明在CVM的安全组上,需放通ClientIP和服务端口。若您使用CLB转发业务流量到CVM上,为保障健康检查功能,在CVM的安全组上需做如下配置: 公网负载均衡:您需要在后端CVM的安全组上放通CLB的VIP,CLB使用VIP来探测后端CVM的健康状态。 内网负载均衡: 对于内网负载均衡(原“应用型内网负载均衡”),如果您的CLB属于VPC网络,您需要在后端CVM的安全组上放通CLB的VIP(用作健康检查);如果您的CLB属于基础网络,无需在后端CVM的安全组上配置,默认放通健康检查IP。 对于传统型内网负载均衡,如果实例创建于2016年12月5日前且网络类型为VPC网络,则需要在后端CVM的安全组上放通CLB

  • 算法之题2(其他)

    Android面试总结(算法篇) 链表常见题 常见题型有链表翻转、求倒数第k个节点、判断是不是环形链表、链表部分翻转、链表合并、链表排序等。 链表有一个next指向下一个指针,如果next=null说明到了链表的结束位置,环链表除外,后面题型会涉及到环形链表 publicstaticclassListNode{ intval; ListNodenext=null; ListNode(intval){ this.val=val; } } 复制 翻转链表 //链表翻转,思想是定义一个节点,然后节点的pre指向了节点的next //1->2->3->4->5 //5->4->3->2->1 publicListNoderevertListNode(ListNodelistNode){ ListNodepreNode=null; ListNodenextNode; while(listNode!=null){ //先取出next,后面放到listNode的时候用 nextNode=listNode.next; //preNode指向

  • 【廖雪峰】Python

    Python是一种相当高级的语言。TIOBE排行榜高级编程语言通常都会提供一个比较完善的基础代码库,让你能直接调用,许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。Python的哲学就是简单优雅那Python适合开发哪些类型的应用呢? 网络应用,包括网站、后台服务等等; 脚本任务等等; 把其他语言开发的程序再包装起来,方便使用。缺点:运行速度慢:解释型语言,执行的时候翻译称为机器代码。代码不能加密:靠网站和移动应用卖服务的模式越来越多了安装Python3.5在Windows上运行Python时,请先启动命令行,然后运行python。 在Mac和Linux上运行Python时,请打开终端,然后运行python3。Python解释器Cpython:官方第一个Python程序退出:exit()命令行模式和Python交互模式pythoncalc.py使用文本编辑器#!/usr/bin/envpython3print('hello,world')复制$chmoda+xhello.py复制直接输入python进

  • JavaScript对象Global

    JavaScript对象Global Global  1.特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();  2.方法:    encodeURI():url编码    decodeURI():url解码     encodeURIComponent():url编码,编码的字符更多    decodeURIComponent():url解码     parseInt():将字符串转为数字      逐一判断每一个字符是否是数字,知道不是数字为止,将前边数字部分转为number    isNaN():判断一个值是否是NaN      NaN六亲不认,连自己都不认。NaN参与的==比较全部为false    eval():将JavaScript字符串,并把它作为脚本代码来执行。  3.URL编码    传智播客=%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2  

  • 树洞3.0简介(关联闭社、抒发森林、comin、mastodon)

    闭社主页:https://closed.social/ 前言 在世纪初流行过不少的校内BBS,但在这个移动端的时代,各大BBS并没有适配的移动APP,用户体验也没有跟上时代,因此用户量急剧减少 但并不代表这一方面的交流需求没落了,大学生们仍喜欢拥有一个学校论坛去交流,正如最近诞生的抒发森林和comin,它们就是移动APP校园论坛 抒发森林和comin为什么最终的结局都失败了呢? (我个人的看法) 抒发森林和comin的本意并不是要搭建一个“绝对言论自由”的平台,让大家去自由讨论黄色、ZZ,如果是这样,为什么不去上外网呢?目的也不是搭建一个讨论亚文化的圈子,如果是这样,为什么不上贴吧呢? 我们之所以想要上校园论坛,没有去其他平台,是因为想要了解,同样是在这个时期,其他同龄人的想法,去互相交流。分享自己在生活中遇到的日常,或者是在校内论坛内找到同龄爱好者等。 校园论坛本应是一个交流学业、生活、心情的平台,但是comin和抒发森林的绝对匿名化,导致了社区内充斥着乐子人,还有一些人在底线触摸着,他们无需考虑发帖的后果,而只享受匿名下发言的快感,这对发帖人和论坛运营者来说,都是不利的 而闭社的半

  • WIN TO GO实现win10系统迁移

    win10上配置了诸多库,更换电脑,重新安装很麻烦,可以直接用WINTOGO做系统迁移,在新电脑上可以直接将系统全部迁移过去,也可以将系统装在U盘了,随插随用 (1)下载安装WINTOGO工具,下载地址:https://www.disktool.cn/download.html. 我下载的是分区助手,方便。 (2)打开分区助手工具,按照下列步骤进行制作。   1)选择“迁移系统到固态硬盘”   2)选择需要迁移的硬盘,慎重选择,会格式化。同意2处条例   3)鼠标拖动选择合适的区间,如果固态很大,建议留100G-200G做系统,其他的留给非系统盘,存放文件(后有解释)   4)提交后,打开左上“提交”,然后执行操作即可。通知用时较久,一般不会使用这么长时间   (3)设置电脑启动项USB优先,即可打开USB上的系统。   如果想在新的电脑上直接克隆出系统(本次没做),可以直接使用“克隆”     解释:为什么建议固态分区? 如果你当前的电脑上不是所有软件和数据都存放在系统盘,且,你使用新电脑的时候也不想完全克隆系统过去,但又想在新电脑上跑程序。

  • 遍历数组元素

    1<!DOCTYPEhtml> 2<html> 3<head> 4<metacharset="utf-8"> 5<title></title> 6</head> 7<body> 8<script> 9//将数组里面的元素挨个打印 10vara1=['Q','s','c',1,4,9,'奥特曼','篮球']; 11console.log(a1[0]); 12console.log(a1[1]); 13console.log(a1[2]); 14 15//使用for循环打印 16for(vari=0;i<a1.length;i++){ 17console.log(a1[i]); 18} 19//使用while打印 20vari=0; 21while(i<a1.length){ 22console.log(a1[i]); 23i++ 24} 25</script> 26</body> 27</html>复制

  • C#中使用Socket实现简单Web服务器

    原文地址:https://www.cnblogs.com/mq0036/p/6656888.html 最近有个web的小项目,但公司的电脑无法安装IIS,所以就想自己来实现个Webserver服务器,原本想了下,也就是socket处理http请求,于是就在博客园中搜索了“socket实现webserver”,结果还真搜索到一些文章,于是从中找了几个做参考,如下: C#中使用Socket实现简单Web服务器 C#中使用Socket模拟请求Web服务器过程 C#中自己动手创建一个WebServer(非Socket实现) 其他的这里就不一一列出了,感兴趣的可以自己搜索看看。 所以我根据他们的代码,然后自己在修改符合自己使用的情况,初次版本就出来了,代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Net; usingSystem.Net.Sockets; namespacesocket_webServer { classProgram {

  • BugZilla工具配置

    安装BugZilla需要的软件:        //后期将会再写一篇redmine项目和缺陷管理系统的配置 1)ActivePerl2)MySQL3)BugZilla4)IIS(或Apache)1.安装ActivePerl //下面是官网上安装ActivePerlv5.32的没有执行成功,此处目的是为体验一下BugZilla的配置,先忽略高版本的安装吧Runonyourcommandline(CommandPromptonWindows) powershell -Command"&$([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/install.ps1'))) -activate-defaultActiveState/Perl-5.32" 双击:ActivePerl-5.28,联网安装失败...   //安装v5.26版本选择了编辑器就提示了右边连接URL报错信息(Perl安装是正常的,

  • [Alg] 文本匹配-多模匹配-AC自动机

    1.简介 AC自动机是一种多模匹配的文本匹配算法。 如果采用naive的方法,即依次比较文本串s中是否包含模式串p1,p2,...非常耗时。考虑到这些模式串中可能具有相同子串,可以利用已经比较过的那些模式串的一些信息,来优化效率。容易想到的一种方法是为这些模式串构建一个trie树,可以较好的利用模式串的公共前缀信息。   但是如果只是采用普通的trie树,仍有如果一个模式串P1不匹配,就要重新回到根节点再找下一个模式串P2,也就是对于下一个模式串P2,要从P2的起始元素开始,依次与文本串S比较。这同样不够高效。P2如果可以利用和P1的一些共性信息,使得可以从P2的尽可能靠后的元素开始,与文本串S比较,那么算法的时间复杂度可能会有效降低。 AC自动机采用了KMP算法找next的思路,为trie树中每个节点找fail节点。   KMP中next与AC中fail的区别: KMP算法 中next[j]=k表示前缀[0~(k-1)]与后缀[(j-k)~(j-1)]这k个元素是对应相等的,但是P[j]和P[k]是不一定相等要在下一次进行比较的; AC自动机中则是cur

  • IDEA File Templates模板

    ${PACKAGE_NAME} 在其中创建新文件的包的名称 ${USER} 当前用户系统登录名 ${DATE} 当前系统日期 ${TIME} 当前系统时间 ${YEAR} 当前年 ${MONTH} 当前月 ${MONTH_NAME_SHORT} 当前月份名称的前3个字母。例如:一月、二月等。 ${MONTH_NAME_FULL} 当前月份的全名。例如:一月、二月等。 ${DAY} 当月的当前日期 ${DAY_NAME_SHORT} 当前日期名称的前3个字母。例如:周一、周二等。 ${DAY_NAME_FULL} 当天的全名。例如:星期一、星期二等。 ${HOUR} 当前时间 ${MINUTE} 当前分钟 ${PROJECT_NAME} 当前项目的名称

相关推荐

推荐阅读