- 博客(140)
- 资源 (35)
- 收藏
- 关注
原创 MFC创建窗口流程
一个MFC程序框架1、应用程序类 CWinApp2、框架类 CFrameWnd流程:1、有且仅有一个全局的应用程序类对象 MyApp myApp;2、在程序入口函数实现InitInstance()1)、给框架类对象动态分配空间(自动调用它的构造函数)框架类MyFrame对象构造函数里创建窗口Create()2)、框架类对象显示窗口ShowWindow()3)、框架类对象更新窗口UpdateWindow()...
2021-04-14 14:51:44 748 1
转载 关于__declspec(dllimport)的理解
一、基本概念_declspec(dllexport)与_declspec(dllimport)都是DLL内的关键字,即导出与导入。他们是将DLL内部的类与函数以及数据导出与导入时使用的。主要区别在于:dllexport是在这些类、函数以 及数据的申明的时候使用。用过表明这些东西可以被外部函数使用,即(dllexport)是把DLL中的相关代码(类,函数,数据)暴露出来为其他应用程 序使用。而 dllimport关键字是在外部程序需要使用DLL内相关内容时使用的关键字。二、初步理解考虑下面的需求,
2021-04-12 17:51:58 10186 3
转载 C++ ifstream open 读取txt文件出现中文乱码的解决方法
由于编解码的问题,txt读写会出现中文乱码,打开txt文件,点另存为,可看到编码方式有:编码方式为UTF-8时,会出现中文乱码。将编码方式换为ANSI时,问题解决。
2021-04-05 15:10:22 1100 1
原创 MySQL之Explain 应用于sql性能调优
一、Explain基本概念1. Explain定义· 我们知道MySQL中有一个查询优化器Query Optimizer,它的作用是找到最小代价的正确执行方案;· EXPLAIN :模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。· explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。2. Explain的作用通过在select..
2020-11-19 14:12:40 328 1
原创 WPF 使用自定义控件(custom control),资源字典(ResourceDictionary),用户控件(user control),及之间的对比
一、创建自定义控件1、控件后台交互类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using
2020-11-11 16:11:54 3845
原创 seata1.3.0 系列学习(三、nacos+seata使用,多次请求问题解决)
上篇文章讲到,使用过程中发现,第二个微服务的请求会出现多次问题,为了验证此问题跟seata无关,我又添加了第三个服务并且把seata相关代码注释目前接口A->B->C发起请求,查看数据库,发现问题依然存在,A生成一条数据,B、C都分别生成了两条,依然重复,目前说明为机制问题,搜索网上资料得知,是feign的重试机制,好苦恼,应该是服务刚启动时没有即时返回,前一个服务触发feign重试造成的解决办法:配置文件添加feign超时时间feign: clie
2020-09-27 09:51:51 644
原创 seata1.3.0 系列学习(二、nacos+seata使用)
上篇文章讲了如何安装seata,这篇文章主要讲如何使用,分布讲解什么情况回滚,不回滚一、新建父级mavenpom.xml文件导入<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo
2020-09-25 15:56:04 920 1
原创 seata1.3.0 系列学习(一、seata1.3.0 安装)
下载seata此处选用目前最新版本1.3.0解压完成后注:seata官方从1.0版本后不再提供sql脚本,以及nacos推送配置脚本,需要从0.9.0的版本复制将红色框框的四个文件复制到1.3.0/conf目录下执行db_store.sql脚本,数据库名为seata修改file.conf文件将mode="db"指定seata以数据库启动将下面db的配置修改为自己的配置注意使用mysql8.0及以上版本的需要更改:driverClassName = "com.my
2020-09-21 15:29:55 2091 1
原创 nacos 系列学习(三、Nacos配置中心)
一、新建config 模块pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.a
2020-09-16 17:46:10 270
原创 nacos 系列学习(二、Nacos服务注册与发现)
一,首先需要启动nacos服务nacos->bin->startup.cmd,直接双击运行浏览器访问localhost:8848可以看到以下界面二,创建Maven父工程。后引入架包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema
2020-09-15 14:06:00 329
原创 spring cloud系列学习(十一、额外篇-建多模块项目-maven的聚合和继承)
一个项目有很多模块,每个模块都会用到一些公共的依赖.这些公共的依赖若交由各个模块独自管理,若每个模块同一个依赖的版本号不一致,会造成很比问题。打包和开发测试环境下对同一jar包不同版本号的处理可能不一致,造成运行时和测试时结果不一致项目升级时,会造成修改版本号时遍地开花的问题。该标签通常适用于多模块环境下定义一个top module来专门管理公共依赖的情况下。若dependencies里的dependency自己没有声明version元素,那么maven就会到depenManagement里去找有
2020-09-14 17:15:37 157
原创 nacos 系列学习(一、nacos服务安装)
前几章写了使用Eureka作为服务注册,开始学习使用nacos1、下载下载地址:https://github.com/alibaba/nacos/releases/tag/1.3.1选择这个zip下载。下载完毕后我们可以看看目录结构:修改application.properties文件。端口8848为默认端口,可修改可修改链接数据库修改完毕后即可启动nacos服务bin目录里面有windows启动文件startup.cmd,我们双击就能启动了,和大多数w.
2020-09-10 14:10:40 145
原创 spring cloud系列学习(十、 使用Spring Security实现OAuth2授权认证存储redis)
1、新增spring boot,导包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>org.springframework.cloud</gro
2020-08-27 16:26:37 404
原创 spring cloud系列学习(九、SpringCloud之 OAuth2.0系列之密码模式)
授权流程图官网图片:(A)用户访问客户端,提供URI连接包含用户名和密码信息给授权服务器 (B)授权服务器对客户端进行身份验证 (C)授权通过,返回acceptToken给客户端从调接口方面,简单来说:第一步:直接传username,password获取tokenhttp://localhost:8888/oauth/token?client_id=cms&client_secret=secret&username=admin&password=123456&am
2020-08-24 14:32:44 289
原创 spring cloud系列学习(八、SpringCloud之 OAuth2.0系列之授权码模式)
OAuth2.0的授权模式可以分为:授权码模式(authorization code) 简化模式(implicit) 密码模式(resource owner password credentials) 客户端模式(client credentials)授权码(authorization code)方式,指的是第三方应用先申请一个授权码,然后再用该码获取令牌。授权码模式功能最完整、使用最广泛、流程最严密的授权模式官网图片:(A):客户端携带client_id、redirect_uri,中间
2020-08-24 13:32:54 617
原创 spring cloud系列学习(七、SpringCloud之 gateway网关实现动态路由)
前几章分别对 Spring Cloud Zuul 与 Spring Cloud Gateway 进行了简单的说明并简单实现,但是在实际生产环境中为了保证高可靠和高可用,尽量避免重启(如何为配置文件配置或代码中写死不能实现热加载实时更新),如果有新的服务要上线时,可以通过动态路由配置功能上线。就需要对网关的动态路由...
2020-08-07 16:44:40 968 1
原创 spring cloud系列学习(六、SpringCloud之 gateway网关)
Spring Cloud Gateway 是基于 Spring Framework 5.0 和 Spring Boot 2.0 构建的 API 网关,提供路由等功能。其旨在提供一种简单而有效的方法路由到 API,并为它们提供跨领域的关注点,例如:安全性、监视/指标和弹性。特性: Java 8 Spring Framework 5 Spring Boot 2 动态路由 Spring Handler Mapping 内置的路由匹配 HTTP 请求上的路
2020-08-05 15:02:36 278 1
转载 IDEA开发SpringBoot+hibernate新手快速入门
一、新建项目打开 idea 新建一个 Spring Initializr 项目。二、测试项目找到 “启动类” 如下图,右键,Run 就行了,由于 springboot 是内置 tomcat ,所以不需要自己配置 tomcat ,跑完之后在地址栏输入:http://localhost:8080/访问项目。会出现下面的错误页面,不用担心,这是正常的!!!因为我们都没有写实现类。新建一个 HelloController,java 的类。 @RestC...
2020-07-29 15:05:57 982 1
原创 spring cloud系列学习(五、SpringCloud之 Hystrix熔断)
Hystrix的由来什么是服务器雪崩服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的不可用,并将不可用 逐渐放大 的过程.如果所示:上图中, A为服务提供者, B为A的服务调用者, C和D是B的服务调用者. 当A的不可用,引起B的不可用,并将不可用逐渐放大C和D时, 服务雪崩就形成了.雪崩行成的原因大致可以分成三个阶段: 服务提供者不可用 原因有: 硬件故障: 硬件故障可能为硬件损坏造成的服务器主机宕机, 网络硬件故障造成的服务...
2020-07-29 11:00:46 151
原创 spring cloud系列学习(四、SpringCloud之 Zuul网关)
Zuul 简介 Zuul 微服务网关是为Spring Cloud Netflix提供动态路由,监控,弹性,安全等服务的框架。可以和Eureka、Ribbon、Hystrix等组件配合使用。Zuul 主要功能 1、 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。 2、审查与监控:在边缘位置追踪有意义的数据和统计结果,从而为我们带来精确的生产视图。 3、动态路由:动态地将请求路由到不同的后端集群; 4、压力测试:逐渐增加指向集群的流量,以了解性能;
2020-07-22 19:58:48 192
原创 spring cloud系列学习(三、SpringCloud之服务调用 Feign)
Feign 是一个声明式的伪RPC的REST客户端,它用了基于接口的注解方式,很方便的客户端配置,刚开始使用时还不习惯,感觉是在客户端写服务端的代码,Spring Cloud 给 Feign 添加了支持Spring MVC注解,并整合Ribbon及Eureka进行支持负载均衡。Feign的使用很简单,有以下几步:1、添加依赖2、启动类添加@EnableFeignClients 注解支持3、建立Client接口,并在接口中定义需调用的服务方法4、使用Client接口。上一章讲了如...
2020-07-22 17:33:37 154
原创 spring cloud系列学习(二、SpringCloud之服务注册之Ribbon负载均衡)
上个章节我们已经启动了服务生产者实例,这一章我们会启动四个不同端口的实例,然后如何通过负载平衡访问呢?这时就需要Ribbon,为了使用Ribbon,我们需要使用@LoadBalanced元注解,那么这个注解放在哪里呢?一般有两个DiscoveryClient 和 RestTemplate然后选择spring web 、spring cloud discovery和spring cloud routing支持下一步,生成目录pom.xml文件内容自动生成<?xml ver.
2020-07-21 17:47:55 245 1
原创 spring cloud系列学习(一、SpringCloud之服务注册与发现Eureka)
本系列开始实践springcloud微服务应用,首先是Eureka一、以下为Eureka的介绍,此文章会对Eureka Server和Eureka Client以及之间的心跳配置进行配置Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka包含两个组.
2020-07-17 18:19:43 300 1
原创 IDEA开发SpringBoot+mybatis 新手快速入门
因为最近学习Java 自己练习springboot和mybatis,练习一下一、IDEA创建springboot项目2、pom.xml 引用相关文件<!--web核心依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId><.
2020-07-09 17:16:49 431
原创 windbg远程调试(通过tcp-socket)--C#控制台程序
设定,A,调试机--本机 B,被调试机。192.168.0.10 两台机器可PING通在同一局域网内在B机上安装windbg--过程省略控制台程序复制到B机器桌面,然后进入windbg安装路径,默认为“C:\Program Files\Debugging Tools for Windows (x64)”此路径进入cmd窗口然后输入:windbg -server tcp:port=5699 C:\Users\Administrator...
2020-06-30 13:59:33 400
转载 自定义WPF面板
WPF拥有很多布局面板,比如Grid, StackPanel等,这让我们的界面布局更加的灵活,但也许这些面板并不能完全满足你的需求,这时你需要自定义面板来满足你的布局要求.1,面板布局是如何实现的WPF布局引擎采用了一种递归的方式来实现控件及其子控件的布局,大致过程是这样的:要实现控件A的布局,那么先要实现A的子控件a1,a2,a3...的布局,要实现a1的布局,那么得实现a1的子控件a11,a12,a13...的布局,如此循环,然后但子控件的布局完成后,在完成父控件的布局,最后递归回去,递归结束,布局才
2020-05-25 14:15:35 209
原创 使用powshell构建使.NetCore控制台程序的docker镜像
首先上docker基本命令构建镜像docker build -t myconsole/v1.运行docker run -d --name mymyconsole/v1.查看容器日志 docker logs --since 30m my一、创建控制台程序(不做介绍)二、容器业务流程协调程序支持选择确定这个时候会出现这个时候需要修改Dokerfi...
2020-04-29 10:40:29 396
原创 win10系统下安装Kafka 的详细步骤
Win10 系统下要使用Kafka需要经过以下三个步骤:1.安装JDK(需要安装依赖java JDK)2.安装zookeeper(资源协调,分配管理)3.安装Kafka一、安装 Java SE Development Kit 13.0.1 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/j...
2020-03-30 16:10:52 2687 2
原创 StackExchange.Redis加锁机制实例
1、redis下载安装Github下载地址:https://github.com/MicrosoftArchive/redis/releases安装过程不做写明1、VS引用StackExchange.Redis通过“工具”=》“库程序包管理器”=》“程序包管理器控制台”pm>Install-Package StackExchange.Redis -Version 1.2...
2020-03-26 13:46:31 1735
原创 httpWebRequest请求错误,基础连接已经关闭: 连接被意外关闭
win10下,C# 用httpWebRequest 执行post请求出现“请求错误,基础连接已经关闭: 连接被意外关闭”,经测试设置如果不发送数据是成功连接并得到返回数据,如果发送数据会提示,基础连接已经关闭: 连接被意外关闭//Post请求方式request.Headers.Add("Authorization", Authorizati...
2020-03-23 16:46:03 2931 1
原创 .net IOC之Spring.Net
一、开发环境编译器:VS2013.Net版本:.net framework4.5二、涉及程序集Spring.Core.dll:1.3Common.Logging三、开发过程1.项目结构2.添加Person.csnamespace CreateObjects{ public class Person { public ove...
2019-12-18 15:23:45 170
转载 C# 依赖注入 & MEF
1、什么是MEF先来看msdn上面的解释:MEF(Managed Extensibility Framework)是一个用于创建可扩展的轻型应用程序的库。应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。通过 MEF,不仅可以在应用程序内重用扩展,还可以在应用程序之间重用扩展。也有人把MEF解释为“依赖注入”的...
2019-12-18 13:50:44 1306
原创 .Net 不同版本的.Net框架的代码之间互相引用
有时候想用高版本的.Net框架,而某一部分封装好的工具类是低版本的例: 使用.Net 4.7.2写的主程序,需要引用.Net 4.5.2写的数据库帮助类,因为数据库帮助类已经引用了对应4.5版本的Mysql.dll或其他的数据库引擎提供的dll,不方便更改帮助类的框架 就可以使用这个方法对.Net 4.5.2的数据库帮助类进行调用Config配置文件里:<Config......
2019-08-21 15:33:56 3068
转载 数据库组合索引
索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行,还需要考虑每次读入数据页的IO开销。而如果采取索引,则可以根据索引指向的页以及记录在页中的位置,迅速地读取目标页进而获取目标记录。大多数情况下都(默认)采用B树来构建索引。只是空间列类型的索引使用R-树,并且MEMORY表还支持hash索引。B树是平衡多叉树,每个节点存放多少个值...
2019-08-09 15:53:56 667
转载 C#Windows Service程序的创建安装与卸载
C#Windows Service程序的创建安装与卸载一、开发环境操作系统:Windows7x64 sp1 专业版开发环境:Visual studio 2013编程语言:C#.NET版本: .NET Frmework 4.0二、创建Windows Service程序1.新建一个windows Service程序起名为ServiceDemo2.修改Service1...
2019-08-06 16:55:10 231
转载 【MySQL】数据库主主备份
我们先以A服务器为起点,配置它的数据库同步到B。这就是主-从复制了。之后再反过来做一次,就可以互相备份了。热备份的条件(1) mysql的版本都要高于3.2。(2) 两者数据库版本相同。(3) 主主备份相当于在原先主从备份的基础上反过来再操作一次。范例环境1、操作系统: windows72、MySQL版本: 5.7.183、服务器A的IP: 192.168.68.56...
2019-08-01 13:54:08 350
原创 Rabbit MQ使用
rabbitmq支持.net framwork 3.5的最后版本rabbitmq支持.net framwork 3.5的最后版本是3.4.3,安装步骤:1、工具->库程序包管理器,进入程序包管控制台2、Install-Package RabbitMQ.Client -Version 3.4.33、代码中添加引用即可。...
2019-07-26 18:11:50 124
原创 C# .net 使用RabbitMq讲解
一 环境搭建首先,由于RabbitMQ使用Erlang编写的,需要运行在Erlang运行时环境上,所以在安装RabbitMQ Server之前需要安装Erlang 运行时环境,可以到Erlang官网下载对应平台的安装文件。如果没有安装运行时环境,安装RabbitMQ Server的时候,会提示需要先安装Erlang环境。 安装完成之后,确保已经将Erlang的安装路径注册到系统的环境变量中。安...
2019-07-25 17:43:50 3617 2
原创 windows下Nginx实现socket代理功能
一、下载:http://nginx.org/en/download.html二、下载后解压:三、修改配置文件修改解压文件夹下conf文件夹内的nginx.conf配置文件ps:下载的配置文件中是不支持socket代理的,我们需要手动写入配置stream{ upstream socket_server{ server 192...
2019-03-08 11:34:29 2596
转载 Mysql数据库toomanyconnections错误问题解决办法
MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接,max_connections的默认值为100。本文将讲解此参数的详细作用与性能影响。与max_connections有关的特性MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connectio...
2018-08-23 17:36:24 4459
mvc+EF+easyui+ztree
2017-04-28
.net版微信支付接口
2017-01-10
C#多线程编程实战_中文完整版
2016-10-28
C#线程参考手册
2016-10-28
WPFtest.rar
2020-11-11
springcloud+Eureka +Ribbon.rar
2020-07-22
helloword.rar
2020-07-15
springdemo.rar
2020-07-15
WindowsFormsApplication4.rar
2020-05-26
WPF StaticResource点击F12报错无法导航到定义
2022-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人