自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1284)
  • 资源 (2)
  • 收藏
  • 关注

原创 .net iText7 导出网页pdf 文件流

三. controller 层使用。

2024-05-14 21:09:57 832

转载 Linux挂载Windows共享、Linux共享

no_root_squash表示当前客户机以root身份访问时,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待) (NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。192.168.0.104:/root/sharedir /root/linux nfs proto=tcp,vers=4.0 0 0 可以一定程度上解决远程挂载卡死的问题,(strace df -h卡在挂载的目录下)

2024-05-14 20:30:13 16

转载 Linux和windows文件相互共享

鼠标右键点击选中的->属性,然后出现弹框点击弹框的界面的共享,设置文件夹的共享用户,按照以下图片顺序点击图1然后等待几分钟,待完成图2图3选中文件夹->鼠标右键->属性->共享,如下图,能看到该文件夹的网络路径图4网络路径:\\DESKTOP-DD2JT1M\Users\admin\Desktop\tt登录linux此处可能可每个人的linux环境有关系,vers=2.0参数可以省略,如果报错,再mount的时候直接加上此参数即可1、mount之前先要在 linux创建挂载的目录。

2024-05-14 20:28:48 16

原创 Vue常见简写 “:“ , “@“ , “#“

首先需要了解一下v-bind,v-bind指令指示Vue将元素的id属性与组件的tabalData属性保持一致.如果绑定的值为null或undefined,那么该属性将从渲染的元素上移除.通常想要响应式的绑定一个属性,都会选择v-bind.而 : 就是v-bind的简写形式,可能看起来和一般的HTML属性长得不太一样,但它的确是合法合规的属性绑定字符,并且所有支持Vue的浏览器都可正常解析它.并且,它不会出现在最终渲染的Dom中,相信在你深入了解过它后,会喜欢这种写法的.label: "日期",

2024-04-07 14:54:29 599 1

原创 使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析

针对进程3411, 我们还需要知道是哪个线程占CPU, 使用 top -Hp 3411 可以列出所有线程, 由于top每隔3秒刷新一次, 所以可能需要多观察几秒才能看到具体是哪个线程占用CPU比较高, 这里我们可以看到是PID=3418的线程(Linux的进程ID和线程ID请自行了解一下).我们关心的线程3418的16进制是d5a, 也就是最后一行, 它的DBG是7, 我们需要使用 setthread 7, 将其设置为 当前操作的线程。这张图是重新运行问题程序的结果, 进程ID和线程ID与前面不一样。

2024-04-04 17:49:58 1156

转载 分析.NET Dump原来这么简单

今天正好看到一篇文章说到了分析dump的,流程很简单,今天用BlogCore项目给大家分享下过程,全程看完只需要五分钟,自己动手只需要十分钟,十五分钟后,分析.net内存爆炸问题,你就入门了。我相信,只要代码写到足够多的时候,就肯定会遇到足够的BUG和难题,常见有错误日志的还是比较简单的,最让人头疼的就是OOM,内存溢出,各种重启,内存居高不下等等疑难杂症。启动项目,一顿操作,访问这个api接口,看到内存瞬间就炸了,1.7G,还一直在GC,这下子有用了。现在到了重头戏,有了dmp文件,开始分析了。

2024-04-04 16:56:08 142

转载 CPU持续100%及分析方法

上面的图很清晰的告诉我们,有一个 ConverAgeMonth 的方法,里面用到了正则。说到正则,用的不好,真的很容易出问题。虽然 WinDbg 用起来感觉很不错,不过整体流程相对复杂一点,相当于是离线分析,不能实时进行观测和分析。同样看了其他几个,都是如出一辙,可以断定就是那个正则惹的祸了。后续调整了这一块的内容后就没有出现过了 CPU 爆表的情况了。WinDbg分析CPU,用的比较多的其实就那几个命令。上面主要的是 76% 的 CPU 使用率。下面就是切换到对应的线程看具体的信息了。

2024-04-04 16:21:09 37

转载 windbg排查CPU高问题

使用命令 kv 查看当前线程的调用堆栈,可以看到线程中使用到了一个封装的网络通讯库,一直在RecvFrom,猜测可能就是此线程在死循环在等待接收数据,中间没有等待时间,根据这个线索,然后继续定位代码模块。函数内部是在不断的调用循环接收客户端数据,查看调用了通讯库的函数声明,最后一个参数就是等待的时间(单位ms),正常如果设置了阻塞等待的时间应该就不会产生如此高的CPU,那么肯定就是该通讯库的该参数无效,问题大概已经能定位,修改代码,在调用RecvFrom的函数后面,如果没有接收到网络数据就等待10ms。

2024-04-04 16:01:07 42

转载 Process Explorer下载安装使用教程(图文教程)超详细

这样会被进程替换技术绕过。选中可疑进程,双击或右键 - Properties,检查Image标签,点 Verify 验证签名,(红框圈中的地方)显示verified,说明签名合法,(大概率)不是可疑文件。随便打开一个文件(这里用文本文档),长按上方的靶标,拖拽到程序窗口上,Process Explorer 会自动选中程序对应的进程并高亮显示。遇到无法确认的进程时,比如想知道广告弹窗是哪个进程,可以点左上角的「靶标图标」,摁住靶标「拖动」到目标窗口上,即可跳转到对应的进程。杀软也会从这里提取病毒特征码。

2024-04-04 11:46:28 127

转载 在vue中如何引入外部的css文件

这篇文章主要介绍了在vue中如何引入外部的css文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

2024-03-16 10:42:34 1015

转载 vue 导入js中的方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。4.2 vue 导入js文件 -->XXX 是一个自定义的变量名。4.2 vue 导入js文件 -->XXX 是一个自定义的变量名。2 方法二:使用 import 语句。2 方法二:使用 import 语句。5 修改文件后一定要保存 在运行。5 修改文件后一定要保存 在运行。3.2 vue 导入js文件。3.2 vue 导入js文件。1 方法一:使用 标签。1 方法一:使用 标签。

2024-03-16 10:39:11 212

转载 15款备受推崇的K8S可视化工具

Kubevious (https://github.com/kubevious/kubevious) 是一个开源的 Kubernetes Dashboard,但是和我们主流的 Dashboard 却不太一样,可以说非常有特色,他将应用程序相关的所有配置都集中在一起,这可以大大节省操作人员的时间,其实这都不是最主要的,主要的是他具有一个 TimeMachine(时光机)功能,允许我们回到之前的时间去查看应用的错误信息。一款监控和可视化工具,Grafana也可以与K8S集成,提供对集群的可视化展示。

2024-03-02 15:15:31 950

转载 RabbitMQ集群方案

大家可以去对应的GitHub页面下载3.8.9版本的插件,地址为https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/tag/3.8.9这个对应RabbitMQ的3.8.5以上版本。"ha-sync-mode":"automatic":同步策略,默认是manual,即新加入的镜像节点不会同步旧的消息。而镜像模式下,创建队列的节点被称为该队列的主节点,队列还会拷贝到集群中的其它节点,也叫做该队列的镜像节点。

2024-02-18 16:47:07 55

转载 RabbitMQ集群部署指南

"ha-sync-mode":"automatic":同步策略,默认是manual,即新加入的镜像节点不会同步旧的消息。镜像模式:与普通模式不同,队列会在各个mq的镜像节点之间同步,因此你连接到任何一个镜像节点,均可获取到消息。而镜像模式下,创建队列的节点被称为该队列的主节点,队列还会拷贝到集群中的其它节点,也叫做该队列的镜像节点。用户发送给队列的一切请求,例如发送消息、消息回执默认都会在主节点完成,如果是从节点接收到请求,也会路由到主节点去完成。甚至,一个队列的主节点可能是另一个队列的镜像节点。

2024-02-18 15:26:53 64

转载 Java消息队列总结篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka)

中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。Kafka是linkedin开源的MQ系统,主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务。与串行的差别是,并行的方式可以提高处理的时间。Kafka 使用自己的协议。

2024-02-17 15:45:45 249

转载 [高可用Nginx]Keepalived详解

keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

2024-02-17 10:26:50 48

转载 IO多路复用——深入浅出理解select、poll、epoll的实现

多路: 指的是多个socket网络连接;复用: 指的是复用一个线程、使用一个线程来检查多个文件描述符(Socket)的就绪状态多路复用主要有三种技术:select,poll,epoll。epoll是最新的, 也是目前最好的多路复用技术;select,poll,epoll都是IO多路复用机制,即可以监视多个描述符,一旦某个描述符就绪(读或写就绪),能够通知程序进行相应读写操作。但select,poll,epoll本质上都是同步I/O。

2024-02-17 10:21:47 124

转载 nginx配置反向代理

区别于正向代理,客户端对代理无感知,通过代理服务器将请求转发给真实服务器,获取返回数据后在发送给客户。location后面可以带一个参数,是正则匹配的规则,如果满足规则才会采取以下的配置。主要配置文件:/usr/local/nginx/conf/nginx.conf。:在8080端口开启tomcat,在9001端口访问进入tomcat主页。路径中带有edu则进入8080端口,带有vod则进入8081端口。

2024-02-16 15:47:30 33

转载 linux通过命令行启动.net core项目,关闭shell后项目就被关闭

一般会报:nohup: ignoring input and appending output to 'nohup.out'如果想要关闭shell后网站依然可用,则可通过 nohup命令实现。此命令可启动.net core的web项目,但关闭此shell后,网站则会关闭。关闭shell后如何保持程序继续运行。centos下使用nohup。图略,过程简单,没必要。此后网站则不会关闭。

2024-02-16 15:06:03 64

转载 Linux安装Nginx

说明:centos系统中默认的yum仓库中没有nginx的安装包,所以要想安装nginx需要单独指定它的仓库地址。链接:https://pan.baidu.com/s/15a-Tzo_FN8hV9a6rgvF99Q。配置文件路径: /etc/nginx/conf.d/default.conf (默认加载)1.1 将nginx.repo上传到Linux服务器下的/etc/yum.repos.d/下。配置文件位置: /etc/nginx/nginx.conf。systemctl stop nginx 关闭。

2024-02-16 14:06:03 23

转载 【WPF】Behavior 行为

行为是一类事物的共同特征,在WPF中通过行为可以封装一些通用的界面功能,从而实现代码重用来提高开发效率。因此他是一个非常好用的工具。行为将事件和处理方法封装到一起,简化ui界面xaml代码的复杂性和复用性。通常情况下不用自己写行为, 直接使用Behaviors包中的行为就行了。也可以自定义行为。1.创建一个行为类TextBoxWaterMarkBehavior,继承 Behavior,并指定行为覆盖元素类型UIElement。

2024-02-16 09:18:21 144

转载 wpf Interaction Triggers 绑定任意方法、任意Command

通过在代码中引入System.Windows.Interactivity.dll,引入了这个dll后我们就能够使用这个里面的方法来将事件映射到ViewModel层了,我们来看看具体的使用步骤,第一步就是引入命名控件。安装 Microsoft.Xaml.Behaviors.Wpf 包。另外还可以通过另外一种方式来引入命名空间 是一样的。

2024-02-16 09:17:16 224

转载 WPF-控件应用多个样式

2.所引用的样式的TargetType不能与引用者的TargetType不一致,但如果两者所应用的控件类型就是不一致怎么办,可在所引用的样式写Property时标注控件类型,例如行3-7中标注的TextBlock.(而如果想不限定控件类型,使样式通用:不标注TargetType,在Property中标注Control.即可,例如)1.BaseOn所引用的样式一定要写在引用者的前面才有效;2.在xaml页面引用;

2024-02-13 17:45:01 88

转载 WPF资源字典

总结说:用新资源字典去替换之前的资源字典,this.rd3.Source = new System.Uri("pack://application:,,,/资源字典;this.rd3.Source = new System.Uri("pack://application:,,,/资源字典;经过测试发现不会,也就是说,虽然把不同类型的资源字典合并到一个ResourceDictionary里面,但是再后台修改时,只会影响新加的资源字典的targetname的目标类型,其他类型的控件不会受到影响。

2024-02-13 17:33:41 26

转载 WPF自定义控件

上面的代码中,我们定义了一个名为"Number"的依赖属性,并在控件类中实现了该属性的get和set方法。上面的代码中,"local"是我们定义该控件的命名空间,"NumberDisplay"是控件的名称,而"Number"是我们在控件类中定义的依赖属性。要使用自定义控件,您可以将其添加到您的WPF应用程序的视图中,并使用控件的属性和事件进行交互。WPF中的依赖属性是一种特殊的属性,允许属性的值从多个来源获取,并且能够自动更新控件和其他属性。// 封装依赖属性的属性访问器。// 封装依赖事件的事件访问器。

2024-01-28 10:27:48 47

转载 WPF - 自定义控件

自定义控件是一个类,它提供自己的样式和模板,这些样式和模板通常在 generic.xaml 中定义。自定义控件用于以下方案 −如果该控件不存在,则必须从头开始创建它。如果要通过添加额外的属性或额外的功能来扩展或向预先存在的控件添加功能,以适合您的特定方案。如果您的控件需要支持主题和样式。如果要跨应用程序共享控件。

2024-01-28 10:26:28 133

转载 WPF样式 Style

每个WPF元素一次只能使用一个样式对象,这像是一种限制,但由于属性值的继承和样式继承特性,这种限制实际是不存在的。例如,希望为一组控件使用相同的字体,又不想为每个控件应用相同的样式。不是使用重复的标记填充XAML,以便设置外边距、内边距、颜色以及字体等细节,而是创建一系列封装所有这些细节的样式,然后再需要之处通过属性来应用样式。这些动作常用于动画。上面的例子中第二个按钮显示替换了样式,将style设置为null,有效的删除了样式。使用触发器可自动完成简单的样式的改变,不需要使用代码,也可以完成不少工作。

2024-01-21 20:51:07 86

转载 C# .Net Nginx组合获取客户端真实IP

nginx.conf配置文件部分信息。C# 获取IP帮助类代码。

2024-01-08 20:35:32 244

转载 WPF开发中的资源引用

在项目中直接添加一张图片,并将属性的生成操作改为"资源",在XAML中直接引用文件路径正在上传…重新上传取消。

2024-01-07 19:09:39 416

转载 WPF 中Pack URI机制

siteoforigin:/// 指定原始文件的站点(The siteoforigin:/// authority identifies site of origin files.)WPF支持两种authority , 分别是application:///和siteoforigin:///绝对Pack URIs: pack://application:,,,/ResourceFile.xaml。application:/// 指定的应用程序数据文件,在编辑的时候是已知的,包括资源和内容文件。

2024-01-07 19:05:36 141

转载 WPF 中的 Uri 地址的不同写法

引用地址:http://www.cnblogs.com/xietianjiao/p/5640269.htmlpack://application:,,,/是协议;“,,,”是“///”的变体1.资源文件 — 本地程序集子文件夹中的资源文件 — 本地程序集(资源文件在本地程序集的子文件夹)2.资源文件 — 所引用的程序集(资源文件在别的程序集)3.所引用的程序集的子文件夹中的资源文件(资源文件别的程序的子文件夹)4.所引用的版本化程序集中的资源文件(版本化在中间加入版本信息)

2024-01-07 18:57:57 224

转载 WPF开发中的资源引用

文章主要内容:项目资源管理常用资源引用控件模板动态资源变更。

2024-01-07 18:50:36 114

转载 WPF中的RESOURCEDICTIONARY

1.新建一个WPF Application,在Application中添加一个New Item,选择ResourceDictionary。为了增加资源文件的可维护性,我们应该使用ResourceDictionary对资源进行:分类、汇总。1. 创建一个新的工程,然后把ResourceDictionary文件加入到改工程中。3. 然后就像使用本地工程样使用style,template等公用的资源。在实际开发中更常用的做法是:直接在使用的View内部Merge。3.这样我们就可以在页面中正常使用了。

2024-01-07 18:11:27 296

转载 WPF 之 资源(Resource)

每一个在资源字典中的资源都有一个唯一不重复的键值(key),在标签中使用x:Key属性来标识它。也就是说,应用程序中非程序代码的内容,比如点阵图、颜色、字型、动画/影片档以及字符串常量值,可将它们从程序中独立出来,单独包装成"资源(Resource)"。在WPF的资源中,几乎可以包含图像、字符串等所有的任意CLR对象,只要对象有一个默认的构造函数和独立的属性。由于依赖属性具有属性系统提供的值缓存机制,所以,如果能在程序装载时设置依赖属性的值,这样,依赖属性就不需要检查自己的值并返回最后的有效值了。

2024-01-07 18:03:31 198

转载 【C#】wpf中的xmlns命名空间

原文链接:https://blog.csdn.net/weixin_68636636/article/details/128588705。版权声明:本文为CSDN博主「嘟嘟嘟嘟嘟489」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。等效于导入4个WPF必备的程序集。

2024-01-07 17:31:25 87

转载 wpf中mc:Ignorable=“d“的作用

d可以理解为是设计时的状态,d:DesignWidth="480"就是说这个宽度和高度只是在设计时有效,也就是我们在设计器中看到的大小,并不意味着真正运行起来是这个值,有可能会随着手机屏幕的不同而自动调整,所以我们不应该刻意地设置页面的宽度和高度,以免被固定了,不能自动调整。从语义上翻译是,是标记兼容性相关的内容,其中我们看到一句:mc:Ignorable="d",正如上面所说,d:DesignWidth是设计时的,所以,Ignorable="d"就是告诉编译器在实际运行时,忽略设计时设置的值。

2024-01-07 17:24:53 124

转载 WPF学习笔记:x名称空间详解

字母x其实是XML的首字母,x命名空间对应的就是这一条语句:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml",它包含的类均与解析XAML语言相关,主要分为3类:Attribute、标记扩展、指令元素。它的作用是通过它的Items属性向使用者暴露一个类型已知的ArrayList实例,ArrayList内成员的类型由x:Array的Type指定。x:Key的作用就是为资源贴上用于检索的索引,检索的方式是key-value。

2024-01-07 15:53:31 119

转载 深入浅出WPF笔记——X名称空间详解

“x”名称空间的成员引导XAML编译器将XAML编译成CLR代码 “x”就XAML首字母。凡包含XAML代码的WPF程序都需要通过语句 引入。此名称空间是程序员与XAML编译器沟通的工具。x名称空间有Attribute、标记扩展和XAML指令元素组成。如下表。Attribute:语言层面的东西, 是给编译器看的。Property:对象上面的东西,是给编程逻辑用的。XAML标签的Attribute大部分对应对象的Property。在XAML编程中,你想添加特殊的标记从而影响XAML编译器的解析,这时候就要

2024-01-07 15:51:14 79

转载 Java Class对象的理解

Class引用表示的就是它所指向的对象的类型,而该对象便是Class类的一个对象。如果已经有了该类型的对象,那么就可以通过调用getClass()方法来获取Class对象引用了,getClass方法属于根类Object的一部分,它返回的是表示该对象的实际类型的Class对象引用。比较直白的理解是:使用反射机制,我们不需要在代码中指明我们想要创建什么类型的实例,而是让代码自动地去获取我们想要创建的实例的它的类的信息再自动去创建,这样做,我们可以极大程度地降低程序的耦合程度。

2023-12-10 14:49:42 284

转载 java-读取配置文件自定义字段(yml、properties)

result = "目前角色是"+role+",人数为"+number+",职责是"+job+",穿着"+wearing+"。log.info("我叫"+name+",性别是:"+sex+",今年"+age+"岁,我还是个"+height+"cm大高个的帅小伙!return "我叫"+name+",性别是:"+sex+",今年"+age+"岁,我还是个"+height+"cm大高个的帅小伙!"在"+subject+"课上是"+character+"的,年龄是"+age+",性别是"+sex+"。

2023-12-10 12:15:35 446

spring mybatis web框架

spring mybatis web框架

2017-02-22

spring mvc web框架 第二部分

spring mvc web框架

2017-02-22

空空如也

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

TA关注的人

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