自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 收藏
  • 关注

转载 .NET Core 3.0正式版发布

是的,.NET Core 3.0正式版发布了,令人兴奋。WPF其实,.NET Core 2.1开始已经是个很完善的版本,3.0又带来了什么呢?我站在我的使用角度来看,最最令人振奋的就是:能用WPF了!能用WPF了!能用WPF了!那Linux能不能用WPF?——嗯……还是不行,虽然能够用.NET CoreSDK开发WPF程序,但它依赖于.NET Core Desktop...

2019-09-26 13:52:00 652

转载 快速删除一个“大目录”

我们在做前端开发的时候常用npm来管理包,npm会在项目目录下生成node_modules目录,下面有海量的文件,文件通常都不大,但数量很多,如果你想要删除这个目录,那很可能就会出现下面这个画面:耗费时间非常的长,而且很可能经过了漫长计算之后,还告诉你现在由于目录处于被打开状态等原因没法删除,真是浪费时间,对我们而言,只是删除一个不想要的目录而已,按照Windows的文件系统的规...

2019-08-24 11:21:00 435

转载 WSL2(预览版)体验笔记

WSL2安装WSL2在今年5月份Microsoft Build大会上发布了,但至今Windows10一直没收到更新推送,我想这么久过去就算没进入正式,至少也到了RC版了吧,于是开始折腾准备体验一把。WSL2需要Windows10的18917或以上版本的支持,截止至2019-08-22,这个版本仍然处于内部预览的状态,如需要,得把系统设置的“Windows预览体验计划”作相应的修改...

2019-08-24 00:04:00 1851

转载 群晖NAS再再折腾

问题最近电信把我的公网地址收回去了,之前做好的网络端口映射失效了,在公司已经不能愉快地访问家里的网络。原先网络结构示意图如下:(直接访问方案网络结构图)只需要对电信光猫(也是个路由器)和家用路由器进行端口映射的配置即可,而针对地址是“动态”的这个问题,只需要弄个动态域名解释即可。而现在变成这样:(无公网地址的直接访问方案网络结构图)电信光猫...

2019-05-19 23:24:00 882

转载 程序员的笔记本电脑

绝大多数时候,我都没在用笔记本(电脑),而是在用台式机,笔记本除了便携一个优点外,其余都是被台式机全面吊打,对我这种非常注重使用体验的人来说,笔记本用起来简直是受虐,除了在做iOS的APP开发不得不用Macbook Pro以外,我其它时候是能不碰就不碰了。但便携这个优点在某些时候就变成了压倒一切的优点,比如外出办公,比如现场实施运维,这样的场景是没办法搬着台式机走的,且如果自己一直用着一...

2019-03-31 12:35:00 4569

转载 群晖NAS再折腾

端口转发两年前我买了一台双盘位的群晖NAS,配置两个4T的硬盘,这玩意儿一度改变了我使用电脑的模式,真是爽爆了!最最主要的功能就是我能用它规整我所有的资料,并且不管何时何地,只要有网就能访问。为了能够做到这点,我需要一些网络配置,这就是:端口转发。(或者称作“虚拟服务器”)这是我家网络的结构图:群晖NAS放在我家的内网中,网段是192.168.1.0/24,家用路由器的...

2019-03-17 17:25:00 1773

转载 dotnet中Stream、string及byte[]的相关操作

string与byte[](UTF-8)//string to byte[]string str = "abc中文";//0x61 0x62 0x63 0xE4 0xB8 0xAD 0xE6 0x96 0x87byte[] bytes = Encoding.UTF8.GetBytes(str);//byte[] to string//abc中文str ...

2019-03-15 14:44:00 263

转载 被一个貌似简单的老技术问题虐了几天

公司的程序需要使用一套外部系统,是必须要用,没得商量的那种,这套外部系统Since 2001年,有将近18年的历史,跟它对接用什么方式?说出来你可能不信,竟然是用生成MicrosoftAccess(简称MSAccess)文件的方式,没错,就是生成mdb文件,往mdb里写数据,然后丢给这套外部系统。一个mdb,就是一个数据库,文件型数据库,这也是很多我这个年代来的程序员接触的第...

2019-01-12 00:42:00 119

转载 以Windows服务方式运行.NET Core程序

在之前一篇博客《以Windows服务方式运行ASP.NET Core程序》中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,也就是普通的.NET Core程序(而不是ASP.NET Core程序)如何以服务的方式运行呢?这个问题我们在.NET Core之前早就遇到过,那是是.NET Framework的...

2018-12-09 20:48:00 389

转载 给代码起个好名字

在公司里,我有个不怎么常用的绰号,叫“算命先生”——帮别人起名字的,准确说,帮别人的代码起名字,包括项目名,目录名,类名,属性名,方法名,变量名等。事实上,我也确确实实帮过别人起名字,起名字总归有些套路,要避开一些坑,一个好的名字就是一个成功的开始,反之可能后面会带来很多困扰。我跟同事说,好的名字让你行走江湖更容易,你看“叶孤城”、“西门吹雪”、“东方不败”这些名字一听就知道是绝世高手,...

2018-11-18 21:46:00 1395

转载 连表查询都用Left Join吧

最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在哪),我用最简单的方式来描述这两者的区别,直接看图(有点草啊):我的做法是永远把查询主体放在左边,然后右边挨个连上要附加的信息,有则连上,没有则留null,这样思路是最清晰的。Inner Join跟这个的区别是如果附...

2018-09-23 16:21:00 229

转载 Excel日期中那个著名的bug

一个软件中的bug能够持续多久?答案不一,大多数bug在软件测试阶段就已经被干掉,又有许多死在Preview阶段,抑或正式上线后不久被干掉,有些则伴随软件终生,直到下一代产品发布才寿终正寝,而Excel的日期计算上面有个非常著名的bug,从Excel诞生的时刻起,一直存在,不管Excel已经更新换代几个版本,它依旧存在,并且会一直存在下去。要重现这个bug非常简单,打开Exce...

2018-08-04 18:11:00 172

转载 解决ASP.NET Core MVC调试慢的问题

最近在做的一个项目中,发现网页端同时发起了4个AJAX请求需要数秒才获取到响应,太慢了,当我把请求数降低为1个的时候,速度看起来就比较正常,增加到2个同时的请求后,速度就有些慢了,3个的话就明显慢了,4个更慢,如下图:而这几个请求获取的数据量都是非常少的,且服务器端也没什么重量级的操作,这太奇怪了。我到处寻找解决方案,未果,仔细查看output窗口中日志,也没发现警告或者错误...

2018-07-02 10:33:00 507

转载 .NET+PostgreSQL实践与避坑指南

简介.NET+PostgreSQL(简称PG)这个组合我已经用了蛮长的一段时间,感觉还是挺不错的。不过大多数人说起.NET平台,还是会想起跟它“原汁原味”配套的Microsoft SQL Server(简称MSSQL),其实没有MSSQL也没有任何问题,甚至没有Windows Server都没问题,谁说用.NET就一定要上微软全家桶?这都什么年代了……PG和MSSQL的具体比较我...

2018-06-23 15:58:00 1212

转载 以Windows服务方式运行ASP.NET Core程序

我们对ASP.NET Core的使用已经进行了相当一段时间了,大多数时候,我们的Web程序都是发布到Linux主机上的,当然了,偶尔也有需求要发布到Windows主机上,这样问题就来了,难道直接以控制台形式运行这个Web程序吗?直接以控制台形式运行程序当然是可以的,但有以下问题:需要敲命令行(这个可以通过制作一个快捷方式解决)用户也许会说有一个“黑黑的DOS窗口”,很奇怪...

2018-06-19 12:27:00 400

转载 .NET Core 2.1来了!

太棒了!.NET Core 2.0正式发布至今已经过去了大半年,这大半年说长不长说短不短,这段时间里,我是充分地体会到了微软的诚意,那就是认认真真打造一个优秀的开源平台。这大半年的时间里,微软一直在为.NET Core发布新的更新,每次都进步一点,日积月累至今,终于发布了.NET Core 2.1,这是一个重大的改进版本。.NET Core 2.1的发布时间是2018年5月...

2018-06-02 16:51:00 176

转载 使用WSL吧

WSL(Windows Subsystem for Linux)已经装在电脑上好一阵子了,谁如果还没装的,可以看看本文,至少知道个大概,觉得有用的话知道该如何做。简介WSL简单说就是一个能让你在Windows上跑Linux程序的子系统,什么是子系统?贴个图:其实我们一直在用子系统,它就是Windows子系统,它提供了一系列我们的Windows应用程序所需要的接口,是子系统...

2018-04-30 23:44:00 196

转载 Could not load file or assembly……

今天在运行一个ASP.NET Core项目的时候发现这样的错误:我一开始觉得这是个很简单的问题,很明显,出错的原因是项目中某些地方还保留了对Njt.MvcAuthLib这个库的引用,而现在我不需要了,只需要把相关的引用去掉就可以了,我搜索了整个项目,很奇怪,没有任何关于MvcAuthLib的字样,一个都没有,难道Visual Studio的搜索有问题?我换了Visual Stud...

2018-03-20 20:18:00 570

转载 ASP.NET的版本?

问题源于这么一本书:《ASP.NET 4 解密(卷1)》,这本书大约是六七年前买的了,根据其名字,它讲述的是ASP.NET 4,那么ASP.NET现在究竟是什么版本?与.NET Framework版本的关系是什么?与.NET Core,ASP.NET Core又有什么关系?我整理了这么一张表,可能其中有些瑕疵,但总体八九不离十。时间Visual Studio...

2018-03-08 09:13:00 296

转载 如何从一堆数中选出若干个数,使其和等于给定的数?

如题,比如有一堆数:13,2,4,2,4,8,7,8,6要从中挑选出若干个数,使得它们的和等于32,挑选出来的数是:20,6,4,2我是使用“试探”法来解这个题目,思路如下:先对数进行排序:13,8,8,7,6,4,4,2,2选出最大的数字,以及不大于目标数字后续数字,于是我挑选到了13,8,8,其和是29,如果这个时候再挑选7的话就会超过32,所以就跳...

2018-02-13 16:15:00 6468

转载 ASP.NET开发中修改代码而不重启网站

我们在做网站开发的时候,通常是写好了一个功能就要进行测试,Visual Studio上点“Start Debugging”(快捷键是F5),这是调试模式,也有直接运行模式,“Start Without Debugging”(快捷键是Ctrl+F5),网站启动,并且默认会打开一个浏览器窗口让你看到结果,假如这个时候你发现点问题,需要调整代码……对于非*.cs文件如果是cshtml、...

2017-12-16 23:51:00 558

转载 CORS的简单理解

去年我在做一个项目,是关于标签打印的,它就是一个Windows程序,提供标签打印功能,由其它程序(包括网站)告诉它需要打印怎样的标签,它就出标签,这个“告诉它需要怎样的标签”的过程,是通过HTTP的Post请求实现的,我把这个程序做成一个Self-Host的小网站,接受来自各方面的HTTP请求,测试下来可行,我分别自己写了个HTTP客户端以及使用现成的Postman来测试,都没问题。...

2017-12-16 15:32:00 269

转载 C# XML序列化/反序列化参考

.NET提供了很不错的XML序列化/反序列化器,(它们所在的命名空间为System.Xml.Serialization)这是很方便的,下面对它的使用做一些总结,以供参考。1,简单序列化public static string SerializeXml(object data) { using (StringWriter sw = new StringWriter()...

2017-09-07 13:43:00 213

转载 C#操作剪切板(Clipboard)

剪切板是Windows系统提供的功能,从我最早接触到的Windows 3.2版本开始,就一直带着了。以前使用C++的时候,是直接使用Windows API对其进行操作的,到了.NET下,在WinForm中也有一个对剪切板的封装类,即System.Windows.Forms.Clipboard,这个类其实是通过COM组件间接地使用剪切板的,我个人觉得COM是一个设计非常糟糕的东西,难懂坑多...

2017-09-02 11:41:00 1255

转载 Nuget私有服务搭建实战

最近更新了Nuget私有服务器的版本,之前是2.8.5,现在是2.11.3。Nuget服务器的搭建,这里有篇很详细的文章,跟着弄就好了:https://docs.microsoft.com/en-us/nuget/hosting-packages/nuget-server不过我在做的过程出现了个令我非常困惑的问题:程序按部就班做好我就扔到IIS上,但一直提示404,但以前一直...

2017-08-10 16:00:00 162

转载 C#的几种文件操作方法

创建或覆盖文件需求:如果文件不存在,创建之,如果存在,覆盖之。1,可能有问题的方法using (FileStream fs = File.OpenWrite(@"d:\work\1.txt")) { byte[] toBytes = Encoding.UTF8.GetBytes("11111111"); fs.Write(toBytes, 0, t...

2017-05-03 17:20:00 92

转载 ASP.NET MVC防范CSRF最佳实践

XSS与CSRF哈哈,有点标题党,但我保证这篇文章跟别的不太一样。我认为,网站安全的基础有三块:防范中间人攻击防范XSS防范CSRF注意,我讲的是基础,如果更高级点的话可以考虑防范机器人刷单,再高级点就防范DDoS攻击,不过我们还是回到“基础”这个话题上吧,对于中间人攻击,使用HTTPS是正确且唯一的做法,其它都是歪门邪道,最好还要购买各个浏览器都承认的S...

2017-01-05 00:13:00 165

转载 让ASP.NET接受有“潜在危险”的提交

什么是有“潜在危险”的提交?马上动手写个简单的例子:用Visual Studio创建一个空白的ASP.NET MVC程序,一切默认即可,添加一个空白的HomeController,增加一个Index Action及一个Index View,View也可以暂时留空白,运行这个程序,一切都没毛病,好,现在在地址栏上敲入:http://localhost:37538/%3Cscri...

2016-12-30 00:05:00 152

转载 读完成精

(纯恶搞,图片来自网络,侵删)年底了,弄点东西出来博大家一乐,祝大家新的一年身体健康,生活愉快。《圣码》,里面必有蹊跷。《用周末写代码》,是被逼加班还是周末在家做点外快?《如何折腾让程序跑起来》,你这么拽你的老板知道吗?《受虐狂宝典:如何用C++进行函数式编程》,生命在于折腾。《如何忽略“过时”警告》,把Deprecated注解移除么?...

2016-12-23 18:20:00 70

转载 再见Windows C++

我3年多以前写过一个小工具,是用来检测Windows操作系统的版本及其所安装的.NET Framework版本的,我用它来排查由于缺乏运行环境支持所导致的程序无法运行的问题。这个工具是用Visual Studio 2010的C++写的,为什么不用C#写?——很明显,如果一台电脑连.NET都没安装的话,那我这个小工具也运行不了啊。我后来还把这个小工具发布出来了:《Windows及.NET ...

2016-08-06 19:25:00 170

转载 用Maven部署war包到远程Tomcat服务器

过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署。很显然,这样做不够方便,且我们在用SSH把文件拽上去的时候很可能会搞错。(当然了大厂就不会有这样的问题,因为人家有运维团队专门来干这个事情,哈哈)现在我要的是:一行命令部署到本地服务器,在本地测试一番,没有问题的话...

2016-05-18 17:07:00 150

转载 用IntelliJ IDEA创建Gradle项目简单入门

Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都有,且看起来更漂亮,咱么就用起来吧。装好Intellij IDEA之后,Gradle也就默认装好了,现在我们仅需直接创建工程:当然选择Java了,Next:GroupId...

2016-05-06 15:26:00 836

转载 Java的异步HttpClient

上篇提到了高性能处理的关键是异步,而我们当中许多人依旧在使用同步模式的HttpClient访问第三方Web资源,我认为原因之一是:异步的HttpClient诞生较晚,许多人不知道;另外也可能是大多数Web程序其实不在意这点性能损失了。而要自己实现一个异步的HttpClient则比较困难,通常都是自己开一个新的工作线程,利用HttpClient的同步去访问,完成后再回调这种形式,这样做...

2016-05-05 17:12:00 129

转载 高性能的关键:Spring MVC的异步模式

我承认有些标题党了,不过话说这样其实也没错,关于“异步”处理的文章已经不少,代码例子也能找到很多,但我还是打算发表这篇我写了好长一段时间,却一直没发表的文章,以一个更简单的视角,把异步模式讲清楚。什么是异步模式要知道什么是异步模式,就先要知道什么是同步模式,先看最典型的同步模式:(图1)浏览器发起请求,Web服务器开一个线程处理,处理完把处理结果返回浏览器。好像没什么...

2016-05-04 15:53:00 450

转载 .net的简易多线程处理

这篇文章是对几年前写的<Task及其异常处理的若干事项>的一些狗尾续貂的补充。更简单的写法几年前写的那篇文章很详细地描述了.net用Task对线程进行封装的相关技术。开一个新的线程去执行一个任务,当时是这么写的:Task taskA = Task.Factory.StartNew(() =>{ //Do something...});...

2016-05-03 16:29:00 90

转载 快速了解必要的网络知识

这是一篇非常简单的文章,帮助程序员快速地、大致地了解下网络相关的基础知识。写这篇文章的目的当然是想帮助许多对网络知识不了解的朋友用尽量少的时间了解必要的知识,学习网络相关知识当然少不了去看书,如被奉为经典的《TCP/IP详解》,但对大多数程序员来说,没那么多时间看完这么枯燥的书,也没必要(嗯,我承认我这里有点政治不正确了),而当我们想快速补习下这方面的知识而去搜索技术博客或者知乎的时候,...

2016-04-22 16:57:00 182

转载 SSH免密码登录

每次用SSH登录服务器都要输入密码,次数多了就觉得有些麻烦,反正是自己个人用的电脑,安全应该有保障,如何能直接登录上去而不需要输入密码呢?其实一句话就讲清楚了:把自己公钥放在服务器上。Linux客户端ls -l ~/.ssh看看id_rsa和id_rsa.pub这两个文件是否存在?如果不存在,那现在就来生成一对:ssh-keygen -t rsa一路回...

2016-03-25 13:42:00 66

转载 用SSH访问内网主机的方法

如今的互联网公司通常不会直接自己直接配主机搭建服务器了,而是采用了类似阿里云的这种云主机,当应用变得越来越大了之后,就不可避免地增加主机,而出于成本考虑,不可能给每一台主机都分配公网带宽,所以实际的情况可能会变成这样:内网IP为10.51.15.12和10.51.15.13的两台主机并没有外网带宽,通常是作为后端数据库服务器或者后端业务逻辑处理服务器使用,这样我们会遇到一个问题:...

2016-03-24 13:46:00 200

转载 快速查询

我的GIT手册转载于:https://www.cnblogs.com/guogangj/p/5313996.html

2016-03-24 08:39:00 102

转载 MongoDB与PostgresQL无责任初步测试

PostgresQL一秒能插入多少条记录,MongoDB呢?读取的情况又如何?我写了一些简单的程序,得出了一些简单的数据,贴在这里分享,继续往下阅读前请注意下本文标题中的“无责任”,这表示此测试结果不代表真实的生产环境下的情况,只能说给大家一个比较直观的概念,可用于设计架构时候的估算。(量级上来说应该基本上是正确的)本次测试选择的服务器环境为:VMWare虚拟机(双核,4G内...

2016-03-23 15:57:00 126

空空如也

空空如也

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

TA关注的人

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