2021,我的输入输出

前言

2021年,我到底进行了哪些输入,又是如何输出的,借由这篇文章回顾一下。

新技术

.NET技术日新月异,今年我也尝试学习了其中一部分。

Blazor

Blazor允许我们使用C#而不是JavaScript构建交互式客户端Web应用程序,对于后端出身的我来说,上手相对简单。

通过探究原理,我了解到:

  • 前端代码如何编译到C#代码中

  • 两种部署模式的区别

  • 如何隔离JavaScript脚本和CSS样式

  • 如何阻止触发事件

并将它们都写到了《Hello Blazor》系列中。

.NET 6

11月,微软宣布.NET 6正式推出。

.NET 6提供了大量简化开发、提高性能、提升效率的新特性。比如:

  • 最小Web API

  • 热重载

  • 序列化代码自动生成

除此之外,还有许多其它特性,我都放在了《.NET 6新特性试用》系列中进行了介绍。

Source Generators

.NET 6中的代码自动生成其实不能算是一个新特性,从.NET 5就已经提供了Source Generators。我也是今年才开始学习使用。

Source Generators是在编译时创建并添加到编译中的代码,而无需像代码生成器那样显式生成大量冗余代码,又可以提供相对于反射更好的运行性能。

这对提高我们代码开发效率十分有帮助,我也尝试利用Source Generators实现了一些功能:

  • AutoMapper

  • 动态调用

  • 深度Clone

如果你对它们感兴趣,可以到《Source Generators》话题中浏览。

新工具

工欲善其事,必先利其器。

通过学习掌握新工具,帮助我们提高开发效率,快速完成业务功能。

比如:

  • 阻止弱密码

  • 了解程序性能

  • 加密存储数据

  • 快速生成高级查询

  • 一键生成前后端集成项目

更多文章,我放在了《工具类库》话题下。

新思考

对于现在实际工作中碰到的业务需求,我也进行了思考,如何解决:

  • 数据加密传输

  • 自定义响应格式

  • 自定义响应内容

这些,都作为了《解决方案》进行整理。

新问题

工作中免不了要踩些坑,我也进行了记录:

  • 使用VS 2019调试.NET程序的Crash异常

  • 千万不要在生产环境使用控制台日志

如果你不想犯同样的错误,请看《踩坑爬坑》。

结论

不完全统计,2021年一共写了150多篇技术文章。

但是鉴于时间和能力的问题,不少内容其实还比较简陋,输出稍显不足。

2022,继续输入输出。

欢迎到我的公众号”My IO“提出你的看法和建议,共同成长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS笔记之UIKit_UINavigationController

//设置导航条的样式 self.navigationController.navigationBar.barStyle UIBarStyleBlackTranslucent; //默认是白色 Bar 字体颜色黑色,如果样式设置黑色,对应的字体就是白色。 //定义导航条的时候使用 self.navigationController.navigationBar.trans…

字符串之找到字符串的最大无重复字符串子串

题目: 字符串之找到字符串的最大无重复字符子串 举例: str = "adcd" return 4 str = "aabcd" I know this str is adc so return 3 要求: 时间复杂度为O(N) 代码实现: package com.chenyu.string.cn;public class MaxUnique {public static v…

hive日期函数

今天select from_unixtime(unix_timestamp(),yyyy-MM-dd HH:mm:ss) UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string 说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到…

sql长整型_SQL 性能优化梳理

先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。1 基本概念简述1.1 逻辑架构第一层:客户端通过连接服务,将要执行的sql指令传输过来第二层:服务器解析并优化sql,生成最终的执行计划并执行第三…

网络的东西南北

前一陣子連續出差, 加上許多的內部會議, 搞的差點想去撞牆把自己搞昏之後就可以休息一下. 但是家中還有嗷嗷待哺的嬰兒需要爸爸幫他洗屁屁, 所以只有咬牙繼續撐下去. 不過這兩個月來, 不過在公司內部還是外部, 我都收到一樣類似的老問題那就是:(認識我的…

K8s 中使用 cert-manager 申请免费 Https 证书

K8s 中使用 cert-manager 申请免费 Https 证书Intro最近在尝试将自己的应用从自己用 kind 部署的一个 k8s 集群迁移到 Azure 的 AKS 上,其中一个问题就是 https 证书,原来的 k8s 集群是放在 nginx 后端的并没有直接管理 https 证书,https 证书…

为什么要学数学?因为它真的没用啊!

全世界只有3.14 % 的人关注了爆炸吧知识数学之用无用之用有一天,表妹过来问了我两个问题:数学有什么用?那些深奥的公式对于普通人有什么意义?相信大多数人都有这个疑问,但总是找不到一个标准答案。问老师,他…

UI设计教程-界面设计构图

九宫格构图,圆心点放射形构图,三角形构图,SF字形构图。 1.九宫格网格构图 这种版式主要运用在分类为主的一级页面,起到功能分类的作用。 通常在界面设计中,我们会利用网格在界面进行布局,根据水平方向和垂直…

Android之最好理解的Binder机制

转载:http://weishu.me/2016/01/12/binder-index-for-newer/ Binder学习指南 发表于 2016-01-12 | 92条评论 | 34011次阅读毫不夸张地说,Binder是Android系统中最重要的特性之一;正如其名“粘合剂”所喻,它是系统间各个组件…

gridview实现分页

前台代码&#xff1a; <asp:GridView ID"GridView1" runat"server" AllowPaging"True" AutoGenerateColumns"False" DataKeyNames"ScoreID" DataSourceID"SqlDataSource1" onpageinde…

sql年月日24小时制_24小时制的「无码」真人秀,令人叫绝

几年前&#xff0c;我们总说互联网给世界带来了巨大的变化。到了现在&#xff0c;没想到自媒体的发展居然也能改变生活。但大家知道吗&#xff0c;其实早在20年前&#xff0c;美国那边就曾因“直播”掀起过不小的风浪——还是尺度挺大的那种。以至于毒师看过以后&#xff0c;整…

HangFire循环作业中作业因执行时间太长未完成新作业开启导致重复数据的问题...

背景HangFire有个很奇怪的现象&#xff0c;就是即使你设置的循环作业是一天一次&#xff0c;但是每次作业执行很长时间&#xff0c;我们假设是1小时&#xff0c;那么差不多在开始执行之后的30分钟之后&#xff0c;如果还在执行job,系统就会自动帮你重新开启了新的job执行。也就…

virtual多态 你不知道的事情

<1>如果父子类虚函数都有默认参数&#xff0c;这种情况下根据指针类型来调用对应函数<2>构造过程中&#xff0c;虚表还没有建立&#xff0c;此时在构造或析构函数中调用虚函数为静态调用<3>const类型函数和非const类型函数不构成覆盖(多态)<4>返回类型…

linux之查看文件大小、文件夹的大小和分区磁盘速度

1 查看文件大小 查看文件大小的命令 ls -l filename 比如: 注意这个 1243870 是 单位是B 2 查看文件夹的大小 查看文件夹的大小,也就是查看文件夹下所有文件的大小总和 先进入这个目录: cd FoldeName 命令如下: du -sh 3 查看分区磁盘速度 命令如下:

用户和组管理命令

回顾&#xff1a;bash globing IO重定向及管道glob通配符&#xff1a; *,?,[],[^]IO重定向&#xff1a; > >>2> 2>>&> &>>>/PATH/TO/SOMEFILE 2>&1 //&1表示引用前面的路径<…

各个版本spring的jar包以及源码下载地址

各个版本spring的jar包以及源码下载地址&#xff0c;目前最高版本到spring4.1.2&#xff0c;留存备用&#xff1a; http://maven.springframework.org/release/org/springframework/spring/ 转载于:https://www.cnblogs.com/elgin-seth/p/5293785.html

python基本随机数生成函数有_Python中生成随机数的常用方法

注意&#xff1a;random模块中的方法是不能直接访问的&#xff0c;需要导入 random 模块&#xff0c;然后通过 random 静态对象调用方法。random.random()random()方法返回随机生成的一个实数(浮点数)&#xff0c;它在[0,1)范围内。原型为random.random()random() 方法的语法格…

再谈“开源软件供应链安全”

| 作者&#xff1a;庄表伟| 编辑&#xff1a;刘雪洁| 设计&#xff1a;周颖| 责编&#xff1a;王玥敏缘起之前写过一篇文章《我所理解的开源软件供应链安全》&#xff0c;当时的情况&#xff0c;还没有出现一些值得探讨的&#xff0c;堪称紧迫的热点事件&#xff0c;所以我也仅…