摘要:
前言: 多线程无处不在,平常的开发过程中,应该算是最常用的基础技术之一了。以下通过Thread、ThreadPool、再到Task、Parallel、线程锁、线程取消等方面,一步步进行演示多线程的一些基础操作。欢迎大家围观。如果大佬们有其他关于多线程的拓展,也欢迎在评论区进行留言,大佬们的知识互助, 阅读全文
摘要:
前言: Wpf开发过程中,最经常使用的功能之一,就是用户控件(UserControl)了。用户控件可以用于开发用户自己的控件进行使用,甚至可以用于打造一套属于自己的UI框架。依赖属性(DependencyProperty)是为用户控件提供可支持双向绑定的必备技巧之一,同样用处也非常广泛。 以下案例, 阅读全文
摘要:
前言: 以下内容为前几天在备考PostgreSQL入门考试时候做的笔记,经过了全职的两天的奋战与实验,并最终顺利通过了PCA初级认证考试。现在把我学习的笔记分享给大家,文中有对应的思维导图图片可供查看,内容与后面正文文本一致。另外,由于SQL语句部分比较基础,基本上会一门数据库就都会,所以此处部分省 阅读全文
摘要:
前言:随着工业化的发展,目前越来越多的开发,从互联网走向传统行业。其中,工业领域也是其中之一,包括各大厂也都在陆陆续续加入工业4.0的进程当中。 工业领域,最核心的基础设施,应该是与下位硬件设备或程序进行通信有关的了,而下位机市场基本上是PLC的天下。而PLC产品就像编程语言一样,类型繁多,协议也多 阅读全文
摘要:
前言 唠嗑一下。都在说去O或者开源,但是对于数据库选型来说,很多人却存在着误区。例如,去O,狭义上讲,是去Oracle数据库。但是从广义上来说,是去Oracle公司产品或者具有漂亮国垄断地位和需要商业授权的数据库产品。 去O,目前国内有一个现象,就是很多公司或个人听到去O,第一反应是改用Mysql, 阅读全文
摘要:
前言:随着跨平台越来越流行,.net core支持跨平台至今也有好几年的光景了。但是目前基于.net的跨平台,大多数还是在使用B/S架构的跨平台上;至于C/S架构,大部分人可能会选择QT进行开发,或者很早之前还有一款Mono可以支持.NET开发者进行开发跨平台应用。 以下内容,我使用Avalonia 阅读全文
摘要:
前言:在C/S架构上,WPF无疑已经是“桌面一霸”了。在.NET生态环境中,很多小伙伴还在使用Winform开发C/S架构的桌面应用。但是WPF也有很多年的历史了,并且基于MVVM的开发模式,受到了很多开发者的喜爱。 并且随着工业化的进展,以及几年前微软对.NET平台的开源,国内大多数企业的工业系统 阅读全文
摘要:
前言:基于Windows系统下的Kafka环境搭建;以及使用.NET 6环境进行开发简单的生产者与消费者的演示。 一、环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Java环境,以及Scala语言环境。 Java环境配置,如果不清楚的,可以查看鄙人的另一篇博客: ht 阅读全文
摘要:
软件开发模型笔记(下篇)—— 敏捷开发模型/方法 # 敏捷开发 ## 特点 ### 以人为本 ### 迭代、循序渐进 ### 适用于小团队和小项目 ## 敏捷开发宣言 ### 1、最重要的是通过尽早和不断交付有价值的软件满足客户需要 ### 2、即使在开发后期,也要拥抱变化。敏捷过程能够驾驭变化,保 阅读全文
摘要:
软件开发模型笔记(上篇)—— 经典的几个软件开发模型 # 常见软件开发模型 ## 原型模型⭐ ### 特点 - 适用于需求不明确的场景,可以帮助用户明确需求 ## 瀑布模型⭐ ### 特点 - 软件开发阶段划分明确,每个阶段有明显界限,一旦发生错误,需要推倒重来 - 1、需求分析 - 2、总体设计 阅读全文
摘要:
软件开发方法的主要分类笔记 # 软件开发方法 ## 原型图的方法 ### 分类 - 按功能 - 水平原型(针对界面) - 垂直原型(针对复杂算法) - 按最终结果 - 抛弃型[Throw Away Prototype] - 此类原型在系统真正实现以后就弃用了 - 演化型/进化型[Evolutiona 阅读全文
摘要:
一、Redis位图 1、位图的最小单位是bit,每个bit的值只能是0和1,位图的应用场景一般用于一些签到记录,例如打卡等。 场景举例: 例如某APP要存储用户的打卡记录,如果按照正常的思路来做,可能是用户每天是否打卡的记录都单独设置一个key-value键值对来存储,这样的话,每个用户每天都需要耗 阅读全文
摘要:
Redis是什么 Redis,全称是Remote Dictionary Service,翻译过来就是,远程字典服务。 redis属于nosql非关系型数据库。Nosql常见的数据关系,基本上是以key-value键值对形式存在的。 Key-value: 就像翻阅中文字典或者单词字典,通过指定的需要查 阅读全文
摘要:
前言: 今天没有前言。 一、先来一点C++的资源分享,意思一下。 1、c++类库源码以及其他有关资源。站点是英文的,英文不好的话可以谷歌浏览器在线翻译。http://www.cplusplus.com/ 2、C++参考手册。页面有点复古,不过有中文版本的。https://zh.cppreferenc 阅读全文
摘要:
前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿。而这之前,程序之间通信效率的王者也许可以算得上是gRPC了。那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着比拼一下minimal api服务和gRPC服务在通信上的效率。以下,Enjoy: 1、创建一个gR 阅读全文
摘要:
前言:在实际项目过程中,经常可能遇到被引用的项目要向上传递消息,但是又不能通过方法进行返回等操作,这个时候委托就派上用场了。以下使用委托,来实现被引用的项目向上传递消息的小教程,欢迎各位大佬提供建议。 1、新增控制台项目(一般在CS架构中会用的比较多,用于跨线程传递消息使用)。此处用一个控制台项目来 阅读全文
摘要:
前言: .net 6 LTS版本发布已经有若干天了。此处做一个关于使用.net 6 开发精简版webapi(minimal api)的入门教程,以及VS2022 上面的两个强大的新技能(热重载、代码自动反编译)的顺带演示。 1、新建一个项目。此处就命名为 SomeExample: 2、选择 .net 阅读全文
摘要:
第一个Unity程序——Hello World。 1、需要先下载一个Unity Hub,以及安装Unity编辑器。Unity Hub需要登陆,激活码可以选择个人用户,免费的。免费的无法改变启动画面,其他的都还好。以下案例,我以Unity2020.3.22 LTS 版本进行创建,其他大佬们可以根据自己 阅读全文
摘要:
大佬们如果经常遇到要写注释,但是手写又那么费时间,并且存在有格式标准化的情况下,可以试试使用注释模板进行配置。教程如下: 1、找到对应的VS所安装的路径下。例如我的VS2022版本安装路径,如下所示,然后找到对应的版本文件夹,例如我的是企业版,对应的是 Enterprise,最后面几个路径基本各个版 阅读全文
摘要:
打打酱油,写点不需要费脑筋的博客先压压惊。 下面讲个关于个人如何开发nuget包,并部署到nuget服务器上的例子。为了保证.net framework和 .net core都可以访问到我的包,我此处以新建一个.net standard 2.0的版本为例子,提供一个简单的示范。以下,enjoy: 1 阅读全文
摘要:
Cygwin工具编译Redis Redis6.x版本是未编译版本(官方很调皮,所以没办法,咱只好帮他们编译一下了),所以咱们先下载一个Cygwin,用它来对Redis进行编译。 Cygwin下载地址: https://cygwin.com/setup-x86_64.exe 下面是安装Cywin的一些 阅读全文
摘要:
本篇文章接前一篇,建议可以先看前篇文章,再看本文,会有更好的效果。 前一篇跳转链接:https://www.cnblogs.com/weskynet/p/15046999.html 正文: Autofac通过构造函数注入 如前一篇所示,获取实例都是通过构造函数进行。此处通过构造函数获取实例,还有一种 阅读全文
摘要:
使用Autofac进行服务注册实践: 新建三个项目,分别是webapi项目 Wesky.Core.Autofac以及两个类库项目 Wesky.Core.Interface和Wesky.Core.Service。 在Webapi项目下,引用Autofac的三个包:Autofac、Autofac.Con 阅读全文
摘要:
使用SoapCore实现在.net core平台下开发webservice;以及使用HttpClientFactory动态访问webservice。 首先,需要在包项目下面引用SoapCore: 然后新建项目Wsk.Core.WebService,用于开发webservice有关功能。 新项目下,需 阅读全文
摘要:
使用NSSM工具安装bat文件为Windows服务 nssm是一个可以把bat批处理文件部署为Windows服务的小工具。例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供了.bat文件,例如elk三件套、或者后面会用到的kafka等等。 都是开一个批处理窗口也是可以的, 阅读全文
摘要:
使用Logstash通过Rabbitmq接收Serilog日志到ES 首先,要部署logstash 为了与前面的ElasticSearch版本保持一致,此处Logstash下载的版本也是7.13.1,下载地址: https://artifacts.elastic.co/downloads/logst 阅读全文
摘要:
搭建基于Quartz组件的定时调度任务 先在package包项目下,添加Quartz定时器组件: 新建类库项目Wsk.Core.QuartzNet,并且引用包类库项目。然后新建一个中间调度类,叫QuartzMiddleJob: 中间Job源码: public class QuartzMiddleJo 阅读全文
摘要:
搭建基于Redis的Hangfire定时器 Hangfire的定时配置信息会自动生成在指定到数据库内,包括关系型数据库或非关系型数据库内。目前为止,它在Redis、Oracle上面,可以支持最短15秒的定时周期,其他数据库是分钟级别到。以下使用Hangfire+Redis来实现定时任务。 首先创建新 阅读全文
摘要:
搭建RabbitMQ简单通用的直连方法 如果还没有MQ环境,可以参考上一篇的博客: https://www.cnblogs.com/weskynet/p/14877932.html 接下来开始.net core操作Rabbitmq有关的内容。我打算使用比较简单的单机的direct直连模式,来演示一下 阅读全文
摘要:
搭建Windows环境下的Rabbitmq环境 下载erlang语言包OTP。官网地址: https://www.erlang.org/downloads 如果下载不了,可以选择百度网盘下载,里面的版本是21.2: 链接:https://pan.baidu.com/s/11catQGzkw1EpFo 阅读全文
摘要:
给ES添加SQL插件的方法: 下载SQL插件地址:https://github.com/NLPchina/elasticsearch-sql 当前最新的是7.12版本,我的ES是7.13版本,暂且将就用一下,也许能用呢? 把最后面的下载链接地址复制一下,输入到浏览器,就可以开始下载了。 然后放到ES 阅读全文
摘要:
.net core操作ES进行读写数据操作 在Package包项目下,新增NEST包。注意,包版本需要和使用的ES的版本保持一致,可以避免因为不兼容所导致的一些问题。例如我本机使用的ES版本是7.13版本,所以我安装的NEST包也是7.13版本: 在Common文件夹下,新建类库项目 Wsk.Cor 阅读全文
摘要:
开发通用的访问webapi方法。 在common工具文件夹下,新建一个类库项目:Wsk.Core.WebHelper,并引用Package包项目,然后新建一个类HttpClientHelper,用于使用HttpClient方法进行访问webapi: 新建一个接口IHttpClientHelper,用 阅读全文
摘要:
搭建ElasticSearch+Kibana环境 前提条件:已经配置好JDK环境以及Nodejs环境。如果还未配置,请查看我的上一篇博客内容,有详细配置教程。 先下载ElasticSearch(以下文章简称ES))、Kibana、以及简单可视化工具 head-master。注意,ES版本和Kiban 阅读全文
摘要:
安装java jdk环境:我此处使用的是jdk16版本。下载地址: https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 然后运行,直接默认都是下一步进行安装: 安装完成以后,打开CMD,输入java和javac,如 阅读全文
摘要:
.net core 编写通用的Redis功能 在 Package项目里面,添加包:StackExchange.Redis: 在Common工具文件夹下,新建 Wsk.Core.Redis类库项目,并新建 RedisManage 类和对应接口 IRedisManage,如下图。然后,在该项目里面,引用 阅读全文
摘要:
添加通用读取配置文件功能 在Wsk.Core.Package项目下,新增Microsoft.Extensions.Configuration包: 在启动项目下,设置appsettings.json属性为始终复制: 新建一个文件夹Common,用于存放工具类项目。并且新建项目:Wsk.Core.App 阅读全文
摘要:
使用Serilog来实现日志记录 先安装Serilog六件套神装包: 也可以对个别相应的包进行删除等,都是可以的。例如,标注的1是读取配置文件的,如果不需要通过配置文件进行操作,就可以使用这个包。2是打印到控制台的,如果不需要打印到控制台,也可以不引用。3是写入到文件的,如果不需要写入到文件,也是可 阅读全文
摘要:
使用Docker部署应用程序 首先确保已经安装Docker 桌面软件,如下图: 然后,把需要部署到Docker上面的项目,咱们先添加Docker的支持,启动项目右键 -> 添加 -> Docker支持,选择 Linux 然后会自动生成Dockerfile文件,在里面可以看见Docker有关的配置信息 阅读全文
摘要:
Autofac的简单使用: 由于将来可能引用很多包,为了保持统一队形,我们再新建一个类库项目Wsk.Core.Package,当做包的引用集合: 删掉Class1,把Wsk.Core、Wsk.Core.Filter里面到包删掉,引用到Package里面,然后需要用到包的项目,都引用package这个 阅读全文