.net 溫故知新:【10】.NET ORM框架EFCore使用入門之CodeFirs、DBFirst

  • 2022 年 12 月 1 日
  • 筆記

前言:本系列是我自己学习.net相关知识,以便跟上.net跨平台的步伐,目前工作原因基本在.net Framework4.7以下,所以才有了这一系列的学习总结,但是并不是从基本的C#语法和基础知识开始的,而是围绕.net core以后平台的重要设计和差异进行温故知新。目的在于通过要点的梳理最后串联起 …

Continue Reading

.NET 6使用ImageSharp給圖片添加水印

  • 2022 年 11 月 30 日
  • 筆記

​ .NET 6 中,使用System.Drawing操作图片,生成解决方案或打包的时候,会有警告,意思是System.Drawing仅在 'windows' 上受支持。微软官方的解释是: System.Drawing.Common NuGet 包现在被归为 Windows 特定的库。 在为非 Wi …

Continue Reading

命令查詢職責分離 - CQRS

  • 2022 年 11 月 30 日
  • 筆記

概念 CQRS 是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young在2010年创造了这个术语, 它是基于Bertrand Meyer 的 CQS (Command- …

Continue Reading

NET 6 實現滑動驗證碼(三)、介面

  • 2022 年 11 月 29 日
  • 筆記

题外话,有网友说,这玩意根本很容易破解,确实是这样。但验证码这东西,就跟锁子很类似,防君子不防小人。验证码的发明其实是社会文明的退步。因为它阻碍了真正的使用者,却无法阻挡别有用心的人。但又有什么办法呢? 上一篇文章添加了一些基本类,本篇内容主要目的是创建一些接口类 上一节内容: NET 6 实现滑动 …

Continue Reading

你認識的C# foreach語法糖,真的是全部嗎?

  • 2022 年 11 月 21 日
  • 筆記

本文的知识点其实由golang知名的for循环陷阱发散而来, 对应到我的主力语言C#, 其实牵涉到闭包、foreach。为了便于理解,我重新组织了语言,以倒叙结构行文。 先给大家提炼出一个C#题:观察for、foreach闭包的差异 左边输出 5个5; 右边输出0,1,2,3,4, 答对的可以不用看 …

Continue Reading

NET 6 實現滑動驗證碼(一)、創建工程

  • 2022 年 11 月 19 日
  • 筆記

目录 实现滑动验证码的目的 创建.NET 6工程 实现滑动验证码的目的 传统验证码实现起来比较简单,但在OCR技术越来越成熟的情况下,验证码的破解难度越来越低,但如果将验证码难度加高(各种干扰背景,扭曲字母数字等),就比较费人了。虽然防了机器,但把正常人挡在了验证码的墙外。 滑动验证码虽然也能被机器 …

Continue Reading

c#入參使用引用類型為啥要加ref?

  • 2022 年 11 月 18 日
  • 筆記

摘一段来自官网的说明 :方法的参数列表中使用 ref 关键字时,它指示参数按引用传递,而非按值传递。 ref 关键字让形参成为实参的别名,这必须是变量。 换而言之,对形参执行的任何操作都是对实参执行的。 大体意思就是将实惨的引用作为参数传递,如果入参不加ref修饰,本身传递的是实参的值到方法中。 目 …

Continue Reading

.NET深入了解哈希表和Dictionary

  • 2022 年 11 月 17 日
  • 筆記

引子 问题:给定一串数字{1,2,5,7,15,24,33,52},如何在时间复杂度为O(1)下,对数据进行CURD? 数组: 我创建一个Length为53的数组,将元素插入相同下标处,是不是就可以实现查找复杂度O(1)了?但是添加修改元素时间复杂度为O(n)了。 链表: 添加删除复杂度为O(1), …

Continue Reading