自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴俊城

谢谢大家来看我的博客

  • 博客(26)
  • 收藏
  • 关注

原创 为了性能,慎用递归

递归、尾递归、和循环的性能比较

2023-11-16 11:16:41 94

原创 经验分享:判断字符串的显示宽度

公司有一个使用项目使用HTML转换为PDF,其中有一个表格,表格的最后一列中的单元格,其字符串超长后会被丢弃,而不是换行到下一行展示(HtmlToPdf渲染引擎导致的,没办法更改)

2023-11-08 10:04:35 150

原创 Autofac依赖注入简要说明(2)——Autofac的常用注入姿势

Autofac依赖注入简要说明(2)——Autofac的常用注入姿势.Net有官方的依赖注入框架,在Asp.Net Core中默认集成,但是有时候需要一些额外的功能,比如说属性注入,这时候就需要使用一些社区的依赖注入框架,它们提供了更加强大的功能,本文讲的是其中一种,.Net社区最老牌依赖注入框架Autofac在前一篇文章中,讲到了Autofac的生命周期概念,这一篇讲Autofac的具体使用在Asp.Net Core中使用Autofac// Program文件中public static I

2021-10-19 09:23:38 2532

原创 Autofac依赖注入简要说明(1)——Autofac中的生命周期

Autofac依赖注入简要说明(1)——Autofac中的生命周期微软提供了官方的DI容器,有时候它并不能满足对应的需求,这时候就需要使用其他的DI容器,Autofac是.Net生态中一款老牌DI容器,功能齐全性能强劲本文假设您已经对DI有一定的认识,如果不是很明白可以看看微软的官方文档依赖注入,本文只是讲一讲Autofac的一些常用方法服务的生命周期Autofac支持7种生命周期,分别为Instance Per Dependency 瞬时Instance Per Dependency和

2021-10-10 19:04:54 1723

原创 机械革命Code01开启Hyper-V/安装Docker无限蓝屏解决方法

机械革命Code01开启Hyper-V/安装Docker无限蓝屏解决方法半年前买了机械革命Code01,因为它的扩展性和性能和电池都让我非常满意,当然也许现在也有更好的选择,但是当时真不错,用起来也很爽今日安装Docker时会蓝屏,起初以为是系统问题,后来经过仔细的检查,发现是只要开启虚拟化就会蓝屏,再检查好像硬件虚拟化有点问题,于是我就咨询了售后,然后售后发了一个BIOS更新包给我,更新之后就好了如果你也有相同的问题,可以找售后要一下BIOS的更新包,我这边安装的BIOS包版本好像是1.0.7

2021-07-03 12:03:50 3615

原创 说说委托是个什么东西,以及委托有什么用

我的新博客地址:https://www.cnblogs.com/wujuncheng/说说委托是个什么东西,以及委托有什么用定义:委托是一种知道如何调用方法的对象// 定义一个委托,这个委托定义了通过此委托调用的方法必须是接收一个字符串参数,返回int类型delegate int OneDelegate(string s);// 委托是一个对象,所以在使用委托时也需要创建实例OneDelegate one = null;委托是一个帮手,是一个集合先说委托是什么东西,委托是一个帮手,是一

2020-07-28 16:51:48 345

原创 在Fedora中安装PostgreSQL并配置密码

在Fedora中安装PostgreSQL并配置密码首先先放出官方的文档教程 :https://fedoraproject.org/wiki/PostgreSQL我写的内容其实也八九不离十,站在一个普通写CRUD的Demo的爱好者角度写怎么安装配置,减了防火墙的内容,加了改密码,保证看完跟着做能快速用上,不耽误时间首先是安装PostgreSQL,我个人觉得没必要用PostgreSQL官网仓库安装版本,Fedora仓库的版本又新又好使sudo dnf install postgresql-server

2020-06-17 01:08:55 269

原创 在Linux中安装MariaDB并添加远程访问

在Linux中安装MariaDB并添加远程访问最近学习到了数据库部分,因为有一台台式机一台笔记本换着用,就没有把数据库安装在本机,本来打算用之前买的虚拟空间的数据库的,结果速度太慢用起来太难受了,就把闲置的香橙派(类似树莓派的卡片电脑,强烈不建议非刚需买这玩意儿,基本闲置吃灰)拿出来安个MariaDB远程访问,下面是安装的步骤注:我的是Debian系系统,如果你是RedHat系,把apt换成dnf或者yum就好安装MariaDB1、安装MariaDBapt install mariadb-serv

2020-05-18 15:40:46 1935

原创 依赖注入的通俗讲解,设计低耦合的系统

依赖注入的通俗讲解,设计低耦合的系统依赖注入是一种实现方式,其目的是为了构建低耦合的系统,我用一个简单的生活中的例子来描述为什么需要依赖注入,以及依赖注入的好处先讲一讲概念:允许从类的外部注入依赖项,因此注入依赖项的类只需要知道一个协定(通常是C#接口)这句话很抽象,我们可以拿现实中的例子来对比概念类比允许从类的外部注入依赖项家里的供电线路接入电器因此注入依赖项...

2020-04-26 16:03:57 314 1

原创 C#中委托、匿名方法、Lambda表达式的相关解释

0x01定义一个委托,相当于定义一个可以存储方法的特殊变量类型下面我们看具体的代码,通过代码更好理解delegate void IntMethodInvoker(int x);这行代码就是声明一个委托,其中delegate是关键字,表示声明一个委托,void是要存储的方法的返回类型,IntMethodInvoker是声明的委托类型名字,结合最开始的那句话就是自定义的类书变量类型名,int ...

2020-04-14 18:57:25 273

原创 数据库(1)----数据库中的基本概念

数据库中的基本概念概念模型中涉及的基本名词概念实体(Entity)客观存在并可相互区别的事物称为实体。实体可以是实际的事物,也可以是抽象的概念或联系,例如商品、学生、部门、课程、比赛等都可以作为实体。属性(Attribute)实体所具有的某种特性称为实体的属性,一个实体可以由多个属性来描述,例如,学生具有学号、姓名、性别、出生日期等特性,也就是说学生实体具有学号、姓名、性别、出生...

2020-04-11 09:26:11 1160

原创 C#中事件流程的简单理解

C#中事件基于委托,要理解事件要先理解委托,但是现在我还没想好怎么写委托,如果不懂委托可以先找找委托的文章事件基于委托,为委托提供了一种发布/订阅机制一上来就是这句话,很容易就懵了,我们先不管这句话,直接看例子public class CarInfoEventArgs : EventArgs{ public CarInfoEventArgs(string car) => Ca...

2020-04-09 08:45:29 228

原创 C#类中的成员

C#类中的成员字段属性方法构造函数类和对象的简单解释创建类和对象类中成员的归属问题字段字段的声明与声明变量类似,可以添加访问修饰符,通常情况下字段设置为私有的,然后定义属性对字段的读写进行限制一般的命名规范约定,私有字段使用下划线前缀、小驼峰命名private int _age //定义一个私有字段_age属性属性拥有两个访问器(get和set),用于控制读取和写入,通常和字段...

2020-03-28 12:08:57 815

原创 C#扩展方法的一分钟小例子

扩展方法是静态方法,是类的一部分,但没有在类的源代码中,就像一个补丁首先创建一个静态类,然后创建一个静态方法,重点是静态方法的参数 public static class xExtension { public static int x(this char s) { return Convert.ToInt32(s); ...

2020-03-18 22:10:17 126

原创 C#深度复制和浅度复制详解

C#深度复制和浅度复制复制一个值变量很简单,新建一个变量然后将原来的变量赋值过去就行,但是复制一个引用变量这种方法是不行的,如果不明白为什么可以先看看这篇解释引用类型变量和值类型变量在赋值时的不同如果要复制一个引用类型的变量,比如说类,需要在类定义中继承ICloneable接口,并实现Clone方法,这是一个固定格式,下面看一个例子 public class Test:ICloneable...

2020-03-09 12:35:23 1342 1

原创 引用类型变量和值类型变量在赋值时的不同

C#浅度复制和深度复制先讲变量在内存中的存储位置:值类型存储在栈中,引用类型存储在堆中,堆栈这里不明白也不影响,有个基本的概念就行了先谈复制int a = 5;int b = a;这是值类型,存储在栈中,这个例子中变量b就复制了a,下面看引用类型Test t1 = new Test();Test t2 = t1;这时候t2和t1指向了同一个对象,为什么会这样呢,看看内存中是怎么...

2020-03-08 22:44:14 775

原创 Linux下制作Windows启动U盘的工具

Linux下制作Windows启动U盘的工具很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘一样,Linux下也有这样的工具这个工具的名字叫WoeUSB操作简单一看就会,就不放步骤了...

2019-09-26 20:20:41 7857

原创 将samba共享目录映射为本地文件夹(百度网盘直接下载到samba共享目录下)

将samba共享目录映射为本地文件夹(百度网盘直接下载到samba共享目录下)前面淘了一个蜗牛星际的矿机,打算拿来做个个人云盘,就装上了Linux用smb把硬盘共享出来访问倒是很爽,就是发现下东西的时候不能直接通过远程路径下载到矿机的硬盘中,网上查了一下,发现了这么个操作E:\>mklink /D Net \\192.168.123.22\a这行命令的的意思呢,就是在E盘创建一个...

2019-05-26 21:04:01 9168

原创 python引用C++ DLL文件若干解释及示例

python引用C++ DLL文件若干解释及示例首先说一下,python不支持C++的DLL,但是支持C的DLL;C++因为和C兼容可以编译为C的DLL,这是下面文章的背景与前提首先我这儿的示例使用VS2017编译的DLL,先讲过程,再解释第一步,新建DLL项目确定之后我们可以看到默认的文件这时候我们需要新建一个与Test.cpp对应的头文件这是完成之后的代码结构下面是Te...

2018-11-23 15:58:07 1237

原创 Fedora一键安装NVIDIA显卡驱动Fedora28+

Fedora一键安装NVIDIA显卡驱动,适用于Fedora28+自从Fedora28开始,rpmfusion源就包含了nvidia显卡驱动,再也不用像原来一样到nvidia的官网下二进制包编译了首先添加rpmfusion源https://rpmfusion.org/下载自己对应的版本,我的是Fedora28 x64下载完成后使用软件安装使用终端dnf安装都可以安装完成后dnf u...

2018-10-30 18:54:20 10496 5

原创 Fedora/CentOS使用dnf/yum为Firefox安装Flash,两行命令超简单

Fedora/Centos使用dnf/yum为Firefox安装Flash,两行命令超简单Fedora和CentOS都是没有为默认的Firefox内置Flash插件的,虽然现在Html5已经越来越流行了,但是还是有很多网站是依赖Flash的,看了网上一些朋友给出的Flash安装方法都是从官网下载文件链接到插件目录,觉得很麻烦,就给出下面这种超简单的安装方式,两行命令,轻松搞定Fedor...

2018-09-15 14:35:42 1168

原创 Debian中的NVIDIA显卡驱动安装——超简单,一行命令

其实Debian的no-free固件中包含NVIDIA的显卡驱动,所以没必要在官网下run包一步一步来sudo apt install nvidia-settings安装时会提示与X冲突,没关系,确认,安装完重启就好了CUDA这些东西其实也都有apt list nvidia*就可以看到有哪些了,Linux装驱动也还是很简单的我用的是USTC(中科大)的源...

2018-06-22 09:43:52 19180 2

转载 左移与右移运算符

左移( << )与右移( >> )运算符左移运算符“<<”是双目运算符。左移n位就是乘以2的n次方。其功能把”<<”左边的运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,高位丢 弃,低位补0。右移运算符“>>”是双目运算符。右移n位就是除以2的n次方。 ( 其功能是把”>&g

2018-06-12 23:33:37 5222

原创 对象、字段、属性、方法、成员、接口各自含义

对象:对象就是OOP应用程序的一个组成部件。这个组成部件封装了部分应用程序,这部分程序可以是一个过程、一些数据或一些更抽象的实体字段字段是用来定义对象中包含的特征或行为,如:定义一个狗类,则可以设置以下字段: int 毛的长度; string 毛的颜色;属性属性包含get方法和set方法 通常利用属性的set方法对字段中的某个量进行合法性校验后间接赋值 如:利用...

2018-05-31 21:00:04 4530 3

原创 C#中的字段与属性的区别及属性的作用

C#中的字段与属性的区别及属性的作用先上代码public class Employee{ //字段 private string name; //属性 public string Name { get { return name; } set { name = value; } }}这段代码...

2018-05-26 09:56:15 11684 2

原创 C#的遍历循环和隐式类型变量

C#的foreach遍历循环和隐式类型变量foreach遍历循环foreach (<baseType> <name> in <array>>){ //can use <name> for each element}//foreach循环与python的for循环类似for l

2018-05-14 20:33:57 492

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除