自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(158)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hyper-V设置多个网口

主机的网口可能有多个,有些连的是外网,有些连的是内网,如果默认的网口连接的是内网,则Hyper-V创建是连接的就是这个内网,就无法上网了了。想要Hyper-V的虚拟机支持不同的网卡,就要使Hyper-V这个容器连接多个网卡。设置步骤如下:1. 打开多网卡的设置界面2. 创建一个新网卡3. 选择对应的物理网卡4. 为虚拟机创建网络或直接选择网络5. 虚拟机应该能自动发现新的网络了...

2022-01-29 09:54:22 5940

原创 Visual Studio [code]实用快捷键

ctrl+c 不选中 直接复制一行 ctrl+x 不选中 直接剪切一行 alt+↑ 向上交换一行 ↓同理

2021-06-15 13:57:07 191

原创 C# 设计模式-访问者模式

访问者模式:表示一个作用于某对象结构中各元素的操作。它使你可以在不改变个元素的前提下定义作用于这些元素的新操作。对象结构不能变,必须是固定的。

2021-06-11 16:07:39 235 1

原创 C# 设计模式-解释器模式

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的例子。当一个语言需要解释执行,并且可以将该语言中的句子表示为抽象语法树时,可以使用解释器模式...

2021-06-11 14:50:48 257 1

原创 C# 设计模式-享元模式

享元模式的核心在于使用共同的代码来创建不一样的对象。把不同的点都拎出来,剩下相同的用同一套代码。 abstract class Website { public abstract void Use(User user); } class ConcreteWebsite : Website { public ConcreteWebsite(string name) { Name = nam

2021-06-09 16:41:31 136

原创 C# 设计模式-中介者模式

中介者模式可以协调多个毫无关系的对象,对于中介者来说,所有对象都必须是透明的,中介者保持所有对象的引用,知道所有引用对象的所有方法。毫无关系的对象可以用中介来转发消息。 abstract class Medaitor { public abstract void Send(string message, Colleague colleague); } class ConcreteMediator : Medaitor { priv

2021-06-09 16:10:26 195

原创 C# 设计模式-职责链模式

职责链模式类似于递归,将需要比较的东西一层一层的向下传递。或者说当自己没有能力处理问题时,向上抛出问题。关键是必须有自己上家的引用,以及向上家抛出问题的能力

2021-06-09 15:25:15 138

原创 C# 设计模式-桥接模式

实现系统可能有多角度分类,每一种分类都有可能变化,那么把这种多角度的变化抽离出来让他们独立变化,减少它们之间的耦合。 摘自(大话sheji)

2021-06-09 13:35:57 185

原创 C# 设计模式-组合模式

将对象组合成树形结构以表示“部分-整体'的层次结构”。组合模式使得用户对单个对象和组合对象的使用具有一致性。操作部分和操作整体的方法一样。

2021-06-08 17:08:08 339

原创 C# 设计模式-备忘录模式

备忘录模式:建立一个对象,保存需要存储的值,在需要复原的时候,赋值过来就可以了。 class Originator { public string State { get; set; } public Memento CreateMemento() { return new Memento(State); } public void SetMemento(Memento mement

2021-06-08 16:28:02 120

原创 C# 设计模式 观察者模式

核心就是在一个有某种状态的对象中维护一个list,将需要获取这个状态改变的其他对象添加到这个list中。当状态改变时,遍历这个list,通知所有list中的对象。

2021-06-08 15:46:03 86

原创 C# 设计模式 建造者模式

建造者模式:将一个复杂对象的构建和表示分离,使得同样的构建过程可以创建不同的表示建造者模式注重对象的创建,而模板模式注重执行的顺序 abstract class PersonBuilder { public abstract void BuildHead(); public abstract void BuildBody(); public abstract void BuildArmLeft(); public abs

2021-06-08 14:00:11 89

原创 C# 设计模式 原型模式

原型模式就是以原始对象为模板,创建出其他相同或相似内容的同一个类型的对象,然后再此基础上,修改成最终的想要的对象。原型模式可以使用浅拷贝,也可以使用深拷贝

2021-06-08 13:29:34 137

原创 wpf 圆形进度条

效果图Style<Style x:Key="CircleProgressBar" TargetType="{x:Type ProgressBar}"> <Setter Property="Width" Value="100" /> <Setter Property="Height" Value="100" /> <Setter Property="Template"> <Setter.Value>

2021-05-19 09:22:09 2181

原创 wpf 自定义颜色滑动条获取颜色

效果图下面上代码Windows1.xaml<Window x:Class="WpfApp.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/e

2021-05-12 10:53:41 557

原创 WPF 等长的多个圆弧构成一个圆

效果前台代码<Grid x:Name="grid" />后台代码using System;using System.ComponentModel;using System.Windows;using System.Windows.Media;using System.Windows.Shapes;namespace WpfApp{ /// <summary> /// Window3.xaml 的交互逻辑 /// </

2021-05-11 16:08:20 213

原创 C# 数组

static void Main(string[] args){ #region 一维数组 int[] a1 = new int[100]; string[] a2 = new string[] { "aaa", "bbb", "ccc" }; var a3 = new double[] { 1, 2, 3 }; var a4 = new double[3] { 1, 2, 3 }; var a5 = new[] { 1, 2, 3 }; stri.

2021-04-24 10:58:59 79

原创 C# 事件的理解

先看事件的使用using System.Collections.Generic;namespace ConsoleApp1{ class Program { static void Main(string[] args) { Maker maker = new Maker(); Subscrib subscrib = new Subscrib(); maker.FunEven

2021-03-20 19:54:02 110

原创 C# 委托delegate的理解

委托的目的就是将函数能够像普通参数(string、int、bool)作为函数的参数来传递, 其实就是C中函数指针.以下全是个人的猜想, 便于理解.C#中定义一个委托, 表达式 delegate int Del(string name);delegate是一个修饰符, 我将它理解成一个模板,被delegate修饰的东西, 会被自动扩展成一个类,类似于下面的形式. 其中int(string)就相当于函数指针class Del{ private List<int(string)&

2021-03-12 11:20:49 261

原创 家庭电脑创建共享文件夹

1.给电脑换一个简单的名字, 例如:pc1 pc2, 不要DESKTOP-XXX的不好记2.给电脑账号换一个简单的名字, 例如name1 name2, 不要administrator3.被共享的电脑需要给账号设置一个密码4.被共享的电脑需要建立一个文件夹,以这个文件夹为基础来设置共享文件夹5.右键->属性->共享->高级共享6.设置权限7.应用->确定8.在地址栏输入 \\pc1 输入对方的用户名密码 可以选择记住密码9.然后就可以获取到共

2021-02-04 19:40:59 576

原创 wpf 缩放导致线宽不一致

wpf画矩形和划线时需要横向放大或者纵向放大,导致线宽不相等,如下图所示1.矩形代码如下 <Rectangle Width="100" Height="100" Stroke="Black" Canvas.Top="20"> <Rectangle.RenderTransform> <ScaleTransform ScaleX="3" ScaleY="1"/>

2020-12-23 11:15:47 794

原创 android webview与js交互

js调用android1.创建js需要调用的java方法import android.util.Log;import android.webkit.JavascriptInterface;public class JsFun { @JavascriptInterface public void fun1() { Log.d("js", "fun1"); } @JavascriptInterface public void fun2()

2020-10-27 13:24:18 296

原创 svg移动端拖动和缩放

注意:本文的拖动和缩放指的是svg本身的位置不变,但是对里面的元素进行拖拽和缩放svg的拖动和缩放主要运用的就是svg的transform属性,操作里面的translate和scale就可以了,就是计算方面要用到一些数学变换的知识。1.缩放比拖动要麻烦很多,先实现拖动,直接看下面的例子。注意测试的时候要换成手机模式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

2020-08-10 16:06:29 2871 2

原创 svg按中心放大

svg正常放大<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="1000"> <rect x="30" y="20" width="100" height="100" fill="none" stroke="red" stroke-width="1"/> <rect x="30" y="20" width="100" height="100" fill="none" stroke="yell

2020-07-27 10:59:50 2104

原创 Postman测试

访问url地址点击send即可发送请求点击get即可选择请求方法设置Query参数设置Header红色为默认,蓝色为自定义,当自定义的中含有默认的,那么最终为以自定义的为准设置授权认证信息这个其实可以自己直接在Header中设置设置Body返回信息查看将url加入集合1.创建集合2.点击New Collection3.将url加入集合中测试集合点击Runner选择集合选择次数,开始

2020-06-12 11:52:13 612

原创 asp.net core通过fiddler抓包

捕捉http包1.下载最新版fiddlerhttps://www.telerik.com/download/fiddler需要填写一些必要信息2.然后打开fiddle就直接可以开始抓包了对于浏览器和postman都可以直接进行http的抓包,https还是无法解析3.抓asp.net core的httpclient包 services.AddHttpClient("aaa").ConfigurePrimaryHttpMessageHandler(()=&g

2020-06-10 11:36:55 1215

原创 postman raw模拟各种http post请求

在url或者query里面传递参数这个最简单http://localhost:5000/queryhttp://localhost:5000/query/xxxhttp://localhost:5000/query/id=xxx上传表单key-value数据1.使用自带的功能body设置header设置2.使用raw来模拟body设置header设置不变上传单个文件1.使用自带功能body设置header设置上传文件时C.

2020-06-08 16:45:37 7807

原创 装机+装系统

装机1.准备所有材料主板 CPU 内存 风扇 硬盘(固态+机械) 显卡 机箱 电源 外设(显示器+键鼠+音响)2.硬件安装安装CPU 安装内存(用2,4通道) 涂硅脂 安装风扇(风扇朝向内存条),将风扇的电源插到风扇电源上(带FAN字样) 安装固态 将I/O挡板安装到机箱 将主板固定到机箱上(对比机箱上的螺丝孔和主板上的孔位是否一致)(注意机箱的几种螺丝) 安装电源,用螺丝固定(注意机箱的出风口和电源的出风口) 安装机械硬盘至硬盘笼,可以安装2块(注意螺丝类型)

2020-05-13 09:54:14 427 1

原创 jni 复杂类型参数传递测试全记录

使用android studio直接创建带有C++的安卓项目,C++文件地址为./app/src/main/cpp/native-lib.cpp具体代码全部放在了GitHub上,地址如下GitHub下面是Java的本地方法 //返回一个字符串 public native String stringFromJNI(); //返回传入的字符串,做处理 ...

2020-01-08 15:33:33 435 2

原创 nodejs搭建服务器,返回json文件

使用nodejs搭建一个最简单的服务器,用来返回自定义的json数据。server.jsvar http = require('http');var fs = require('fs');http.createServer((req,res)=>{ //data.json为自定义的json文件 fs.readFile('./data.json',(err, data)...

2019-12-18 15:39:37 3103

原创 js 模块

1.直接定义变量let pwd = 'name'通过script标签引入多文件会产生冲突2.定义自调用函数(function(){ console.log('111')})()没有命名冲突,但无法服用3.有返回值得自调用函数var module = (function(){ return { name:'zhang', ...

2019-12-18 13:52:32 165

原创 js axios

基本访问 axios.get('http://feiniaomuyu.top/value') .then(res=>{ console.log(res) })带参数访问 axios.get('http://feiniaomuyu.top/value',{ params:{ name: 'lang'...

2019-12-18 13:51:13 272

原创 vue js 高级函数

定义集合nums: [1, 2, 6, 7, 3, 4, 5]objectNums:[ {count:1, value:2}, {count:2, value:3}, {count:3, value:4}, {count:4, value:5}]map遍历集合中的所有元素,对每一个元素进行单独的相同的操作1.每个成员乘以2倍;对象数组计算...

2019-12-05 11:28:44 249

原创 C# NutShell 第二十三章 任务并行

任务并行创建并启动任务1.指定状态对象 static void Main(string[] args) { var task = Task.Factory.StartNew(Go,"hello"); task.Wait(); var task2 = Task.Factory.Sta...

2019-11-14 21:57:13 137

原创 Asp.Net Core MemoryCache

MemoryCache主要几种用法Get:获取key=name的valueGetOrCreate,GetOrCreateAsync:如果key=name的value存在,则获取,不存在则设置一对新的Set:设置key=name的valueTryGetValue:判断key=name是否存在,存在则返回true,不存在则返回false。同时将结果赋给一个值。Get ...

2019-11-12 08:40:18 1029

原创 C# NutShell 第二十二章高级线程处理

排它锁排它锁三种:lock,Mutex,SpinLock排它锁锁住的是代码块,而不是代码块里面的变量。当别的线程也想要使用这一部分代码时,就需要判断这个锁可不可以用。lock语句 class ThreadSafe { static readonly object _locker = new object(); static int _...

2019-11-09 23:10:20 196

原创 C# NutShell 第二十一章 安全

散列法1.Encoding.UTF8.GetBytes将一个字符串变成字节数组2.Encoding.UTF8.GetString将一个字节数组转变成字符串3.Convert.ToBase64String将一个字节数组以Base64编码的方式展现成字符串,本质上是字节数组4.FromBase64String将一个Base64编码的字符串转成字节数组,本质上是字节数组5.MD5.C...

2019-11-06 22:46:18 162

原创 Mac Openssl命令

注意:命令和值之间最好只有一个空格符,不然openssl会吧多余的空格当成命令或值得一部分,导致出错消息摘要openssl dgst -md5 1.txt //输出到stdoutopenssl md5 1.txt //输出到stdoutopenssl md5 -out 3.txt 1.txt //将1.txt的MD5值输出到3.txt对称加密openssl enc -...

2019-11-06 08:49:16 1338

原创 C# NutShell 第二十章 动态编程

数值统一类型1.使用dynamic类型,编译时不会有错误,但是运行时如果类型错误,会报异常。2.通常的做法是用泛型来约束类型(参数和返回值),在方法内部转成dynamic进行计算,最后再转回来。3.由于最后再转回来的时候,会造成值损失,所以另外的办法就是重载多重类型 static T Mean<T>(T a, T b) { ...

2019-11-05 22:18:30 146

原创 C# Nut Shell 第十九章 反射和元数据

反射和激活类型获取类型1.GetType()和typeof都可以获取类型,GetType是在运行时,而typeof是在编译时2.可以在获取一个基础类型后再构造其他类型 Type simpleArray = typeof(int).MakeArrayType(); Console.WriteLine(simpleArray == typ...

2019-11-01 22:18:50 202

gsoap http webapi

gsoap 使用http get post调用web api接口

2021-08-18

空空如也

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

TA关注的人

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