- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 linux,从零安装mysql 8.0.30 ,并且更新至mysql 8.0.36
CentOS,安装mysql8.0.30,mysql8.0.30更新至mysql8.0.36。
2024-04-25 17:50:47 922 3
原创 Anolis(龙蜥),解决System.TypeInitializationException: The type initializer for ‘Gdip’ threw an exception.
Anolis(龙蜥)8.6,部署.net Core的应用程序,程序中有一个功能使用System.Drawing.Common生成拼接图片,在调用这个功能时报了错误。第一反应时,需要安装libgdiplus,之前在CentOS时,安装这个可以解决问题,但是在Anolis,不起作用了。将这三个文件夹上传到服务器之后,进入软件路径执行 rpm -Uvh ./*.rpm --nodeps --force。后来从网上搜索了解决方式,需要安装libpng15,总共是三个软件,将这三个软件安装之后,可解决这个问题。
2024-04-17 10:33:38 343
原创 C# 浅析并行任务同步机制——Interlocked
i++和i-- 这种原子操作,都不是线程安全的,它的操作包括从内存中读取一个值,给值递增或递减,然后再将它存储回内存。场景:实现一个人数访问的次数,每一个线程代表一次访问,线程安全的操作,应该是最后的访问人数和总数相等,不安全的操作,访问的次数有重复。ConcurrentDictionary:线程安全字典,用来存放访问次数的存放。访问人数实体,声明了一个线程安全的递增操作,一个线程不安全的递增操作。当运行结果中,不安全线程,中存在数据,而安全线程中,不存在重复的数据。优点:与其他技术相比,较快。
2023-04-12 19:41:00 1316
原创 C#使用Graphics简单横向拼接图片
一、功能介绍: 单纯将图片进行横向拼接,并且拼接的图片上面留下黑条。int blackHeight = 100; //拼接图片上面黑条//拼接图片的列表List<string> imgList = new List<string>();imgList.Add(@"D:\Image\timg1.jpg");imgList.Add(@"D:\Image\timg2.jpg");imgList.Add(@"D:\Image\timg3.jpg...
2021-06-25 16:12:31 683
原创 .Net Core 注册请求响应处理的中间件
一、声明中间件处理类 1、类中必须有一个公共构造函数,并且构造函数的第一个参数时RequestDelegate。 2、类中有Invoke或者InvokeAsync函数,并且参数为HttpContext。 例如:public class NameMiddleware { public NameMiddleware(RequestDelegate next) { } public async Task Invoke(HttpCon...
2021-04-28 17:47:31 277 1
原创 反射 + 自定义特性,根据实例对象生成SQL语句
一、反射和自定义特性 1、反射及其能实现的功能: 是一个普通术语,它描述了在运行过程中检查和处理程序元素的功能。 枚举类型成员、实例化新对象(创建对象)、执行对象的成员(执行对象的方法)、查找类型信息(获取属性或字段的类型)、查找程序集信息、检查应用于某种类型的自定义特性、创建和编译新程序集。 2、自定义特性 允许自定义元数据与程序元素关联起来,这些元数据是...
2021-04-26 11:49:26 294
原创 WPF(VlcPlayer)实现RTMP电视直播功能
主页左侧电视直播列表,有的播放源可能存在不能播放的情况,这个只是测试了几个,可以播放,直接单击左侧列表中的播放功能可以直接播放。 主窗体部分,就是视频播放。VlcPlayer首先在程序运行目录必须有需要引用的文件,如下图主要代码:在窗体中,增加命名空间的引入窗体使用播放控件初始化控件播放的方法:停止的方法:...
2021-04-22 14:53:21 1037 1
原创 如何设计一个多读少写的多线程同步
1、如题:资源可能是很少次的写入,但是,会经常读写。如果使用lock,读一次,锁定一次资源;写一次,锁定一次资源。读取资源相对写入资源消耗会小一些,但是多次去读的话,每次锁定一次,会造成资源的浪费。.Net FrameWork为我们提供了更好的解决方式,ReaderWriterLockSlim,这个类提供了一个锁定功能,如果没有写入器锁定资源,就允许多个读取器访问资源,但只能有一个写入器锁定该资源。1》获取读取锁和写入锁的方式:读取锁、写入锁获取方式 读取锁 写入锁 阻塞.
2021-03-20 12:33:35 281
原创 C#浅析并行任务同步机制——Events 之 ManualResetEvent类
一、ManualResetEvent类 命名空间:System.ThreadingManualResetEvent类的继承结构,事件是一个系统范围内的资源同步方法。为了从托管代码中使用系统事件,.Net FrameWorkd在System.Threading中定义了ManualResetEvent事件。可以使用事件通知其他任务:这里有一些数据,并完成了一些操作。事件可以发出信号,也可以不发出信号。Event 同步事件的一个特点:多个同步任务可以交叉运行。线程A、B同时运行,下面...
2021-03-19 16:21:03 313 1
原创 C# 浅析并行任务同步机制——Mutex类
一、Mutex类 Mutex(mutual exclusion,互斥),是.Net Frameworkt中提供跨多个进程同步访问的一个类。 注:一次只能有一个线程访问互斥保护的同步代码区域。二、应用场景 可以禁止同一应用程序启动两次。 /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : Applica...
2021-03-18 11:01:21 378
原创 C# 6的新特性
一、C# 6的新特性,可以增加开发人员的效率。///特性2:可以在引用命名空间是,使用静态字段/// 官方:静态的using 声明允许调用静态方法时不使用类名using static System.Console; namespace CSharp6New{ class Program { static void Main(string[] args) { NewAttr a = new NewAttr(); .
2021-03-17 10:30:45 463
原创 C# 浅析并行任务同步机制——lock锁
lock:lock语句时设置锁定和解除锁定的一种简单方式。一、通常怎么使用?1、通常是,我们将lock的对象设置为,私有的,只读并且是引用类型的。private readonly static object oLock = new object(); //只读的静态锁,静态变量所有的用户共享一个 这个可以实现共享锁的安全 私有,是防止外部访问到锁。 只读是初始时锁已经创建了,不能再使用过程中更改。 引用类型而不是值类型,1、因为编译过程中...
2021-03-16 13:36:02 1094 1
原创 C# 浅析并行任务同步机制——Semaphore类
一、SemaphoreSemaphore(信号量)是一种轻量级替代方案,它限制了可以同时访问资源或资源池的线程数。 命名空间:System.Threading 平台提供了Semaphore和SemaphoreSlim。 Semaphore:类可以命名,使用系统范围内的资源,允许在不同进程之间同步 SemaphoreSlim:是对较短等待时间进行了优化的轻型版本。 与互斥...
2021-03-12 10:39:34 541
原创 C# 浅析并行任务同步机制——Barrier类
Barrier:非常适用于其中工作有多个任务分支且以后又需要合并的工作情况。简单场景:假设有三个队伍拉练,队伍全部拉练完成之后,才算顺利完成下面为实现代码class Program{ static void Main(string[] args) { Begin(); ReadLine(); } private static void Begin() { .
2021-03-10 11:23:08 1073 1
原创 围炉夜话——一百二十八则
为人循矩度,而不见精神,则登场之傀儡也。 做事守章程,而不知权变,则依样之葫芦也。 做人如果只知循规蹈矩,而不知规矩的精神所在,那么就与戏台上的木偶没有什么两样。做事如果只知墨守成规,而不知随机应变,那么只不过是照样模仿而已。...
2019-11-06 23:06:25 219
原创 围炉夜话——第二十则
读书无论资性高低,但能勤学好问,凡事思一个所以然,自有义理贯通之日。 立身不嫌家世贫贱,但能忠厚老成,所行无一毫苟且处,便为乡党仰望之人。 读书是没有说资质高低之分的,只要能勤奋好学,遇事认真思考,在乱象中抽丝剥茧,找出事情的起因,长此以往,总有拨开云雾见天日,体会书中的道理,那时便是“书中自有颜如玉,书中自有黄金屋”了。 做事先做人,当我们踏...
2019-11-05 23:28:09 214 1
原创 点点滴滴——如何管理一个项目
一、进行中的项目这是我第一次,以一个小组长的身份来带一个团队开发一个项目,包括前期的框架选择,真真实实的感受到了一个项目,从无到有所经历的一切。现在,这个项目可以说已经到了后期,剩下的工作不是太多,但是也是最关键的时候了,项目的工期一拖再拖,不知其他的项目也是像这样的吗?也许吧。也许前方不远处,就是我拨开迷雾之时,现在的团队可以是处于疲惫状态了,有道是,“一鼓作气,再而竭,三而衰”,诚然如是,
2017-04-17 23:23:52 528
原创 点点滴滴-人生中的短板
背景:2016年,金秋十月,收获的季节。而成为我职业道路的上的播种季节。我接手了一个项目,一个关于采购的项目。项目的大部分的设计已经由客户完成了,而我的工作就是找到合适的框架,去实现这个项目,此项目类似于工作流的一个类型的,简单的开始是定义好固定的流程,按照流程去进行开发,这样是相对简单实现模式,但是也大大降低了项目的适应性,因为客户的需求是不同的,因此产生的变化也不是能够完全枚举出来。因此客
2017-04-13 23:48:44 377
原创 点点滴滴——近段工作回顾
(1):心路历程从事软件开发的行业已经有已经六年了,但是接触软件开发已经九年了。为何这样说呢?学习软件开发是在2007年9月,学习了一年半,在此期间学习了C语言、JAVA、.NET开发,学完是09年3月。然而在09年3月至10年的11月,并没有从事软件开发工作。然后后来又踏入这个行业,感觉自己还是比较庆幸的,因为自己所学的知识,并没有全部忘却。(2):现在所从事的行业的介绍现在在一家外
2016-11-29 23:37:45 492
原创 如何去接触一项新的技能之为自己制定一个计划
因为工作的需要,最近在研究工作流,工作流有已经开发好的,公司之前的同事写的,有了实现的代码,文档也只有简单的介绍,而且里面的代码写的也很复杂。我是上周三,开始接触这个的,到现在差不多4天吧。但是进度不是太乐观。下面对我的工作进行一下分析吧,并做一个计划。需求:员工制定计划报批之后,由工作流制定审核流程,实现计划的审核、回退的功能。需求看来很简单。起初自己也有些大意,并没有制定计划,认为根据已有
2015-11-24 00:14:13 544
原创 糟糕的一天
刚步入冬天的门槛,阴天和严重的雾霾天气接踵而至。淅淅沥沥的小雨下了一天,温度也伴随着这场雨下降到了零度以下。骑车上班是我近段时间新的爱好,为了不在人群中拥挤,我选择了去拥抱城市的道路。到今天我的骑行记录已经达到了了750公里,历时一个月吧。为自己的壮举感到自豪。早晨起来发现是阴天,整装待发的时刻,心里突然冒出了很不好的想法,万一路上雨下起来怎么办,在骑回来?心中不禁自问,但是后来没有答案,
2015-11-19 23:51:54 491
原创 15-11-18平静的一天
一、应该是昨天晚上的一个问题,同事在用json串的时候在页面展示数据的时候,出现了undefined,从字面的意思就可以看的出来,是未定义的,但是我的解释是在查询数据库的时候未增加该字段的查询,因为临近下班了,也没仔细去看,结果到今天问题没解决,后来,仔细去排查,问题解决了,原来是实体中定义的和页面定义的实体属性不同。二、今天有多了一个新的任务,工作流的研究,并在这个星期结束时给个解决方案。这
2015-11-18 22:57:09 413
原创 日记
2015-11-17 天气阴 星期二回顾今天所做的事情,一、新买的上网卡到手了,但是无线路由器不能用,又得退货重新去买。已经办理了退货的手续。二、我所做的模块功能已完成95%以上,剩下的就是细节去更改。三、今天看了个如何用C++开发游戏的基础视频,学习的是利用GDI+在,单文档的mfc程序上画出矩形,并且使用Timer,实现简单的红绿色矩形交替显示。 四、利用jQuery的
2015-11-17 23:48:18 422
原创 js之异常捕捉
今天看了javascript的书籍,刚知道js也可以使用异常捕捉机制。实现了可以捕捉到弹出框的错误。 function tst() { try { alllert("asdf"); //var i = 1; //i = "sss"; } catch(msg) { /*for(var p in msg){ docu
2015-09-26 23:21:59 1726 1
原创 C++学习,总结二(模拟鼠标键盘操作和进程之间的通信)
环境VS2013+Win7X64,根据学习资料。从一个进程到另外一个进程之间的通信,可以利用模拟键盘按键的方式,首先得到需要通信的进程,在此模拟向浏览器发送刷新按键(F5)。获得进程的句柄通过FindWindow m_hWnd = ::FindWindow(NULL,L"进程的标题"); //因为VS2013建立的程序默认是,Unicode的编码方式,所以为L“进程的
2015-07-26 16:13:46 3045
原创 C++学习,总结一
接连几天的阴雨天气,现在感觉很闷热,闷热的让人难受。不过现在正处于伏天,这样的天气也是正常的。今天学习了什么新东西呢?来总结一下吧,一是加深一下印象,二是留下一段记忆。
2015-07-25 23:52:13 603
原创 安装VC 6.0,出现 DOSX.EX must be in your AUTOEXEC.NT的信息
今天一个同事安装VC6.0,出现了一个错误 :The Win16 Subsystem was unable to enter Protected Mode,DOSX.EXE must be in your AUTOEXEC.NT and present in your PATH 。从网上搜索到了一些解答,大致就是缺少了系统文件。但是找到System32的文件中,这些文件一个都不少。那这是怎么回事
2015-07-16 20:48:23 1320
原创 DH项目总结一(模板方法模式的使用)
最近在学习设计模式,在一个项目中用到了模板方法模式。模板方法模式:在父类中定义了算法骨架,而其中有的步骤需要延迟到子类中去实现。项目功能需求是,有两个功能是执行的步骤大致相同,其中的一个功能,比另外一个功能要少一些步骤。实现将这些操作步骤封装到一个类中,定义了一个虚方法去执行这些步骤public class ParentExample{ //公用的步骤1 protect
2015-07-01 21:33:32 668
原创 记录:C++11 新特性基本数据类型
C++11新增了内置类型类型字节大小char16_t2char32_t4long long8char16_t和char32_t是用来处理Unicode字符集的。
2015-07-01 20:47:00 542
原创 基于Vs2013 C++连接 2010Access 数据库
近来在自学C++,在写一个连接excel的时候,想到,既然能操作2010的excel,那么也能操作2010的access。代码在流于此。希望有人能用到。 char* strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='D:\\str.accdb';Persist Security Info=True";m_p
2015-05-15 23:05:30 5073 1
原创 物联网之第二天:寻找硬件。
日期 2013年12月02日 星期一 在昨天确立了项目之后,今天就开始马不停蹄的找寻合适我们的硬件了。 刚开始我的概念还有些模糊,这就是我的第一个难题。通过和搞硬件的朋友沟通了一下,说了我们的应用场景,大致确定了我们的需求。由于要在短时间内,开发出雏形,所以我们的目标,单片机支持ZigBee,使用现成的例子,这样我们就会相对来说更快的出样品了。
2013-12-02 22:19:38 838
原创 物联网第一步之zigbee
时间 2013年12月01日 地点 北京 新上马的项目,是现在最新潮的:物联网。我有幸能搞参与其中并且是公司的创始项目。想象一下,将来不远的某一天,有人因为用了我们的产品而能够事半功倍,做梦都能笑醒的。这我们一定要实现的。现在我们要做的是回到现实中来,去解决我们面前的问题。 新的项目,有很多的问题摆在了我们的面前需要解决。 1:首先
2013-12-01 22:32:27 825
原创 .net 4.0与.net 3.5不同(一)
今天做软件的vb代码迁移到C#,遇到了一个问题,vb支持方法的参数可选。开始以为C#不支持,直到今天看到了这个知识点,运行于.net 4.0版本的C#语言支持参数可选。 vb的参数可选是在声明之前加上关键字,但是C#就不需要了。 C#声明参数可选 1> 参数设置默认值
2013-11-04 21:36:05 1419
原创 多线程面试题(二)
面试题意思:启动三个线程,第一个线程生成随机数,生成的偶数传给B线程开平方,生成的奇数传给C开平方。 代码如下: 由于在线程方面的知识尚浅,不知有没有疏忽的地方,还请大牛指教。 static ArrayList arrayB = new ArrayList();
2013-02-28 23:16:32 2067 1
libpng15,解决The type initializer for ‘Gdip’ threw an exception
2024-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人