Write Typescript UT with Karma & Jasmine

Let’s learn how to write typescript UT with Karma & Jasmine, including the karma introduction, installation, writing typescript UT and run.

用正则表达式实现一个简单的string.Format方法

最近在学习正则表达式,于是尝试了下用正则表达式实现一个简单的string.Format方法。遇到了几个问题并提供了一些解决思路和办法。

WCF Callback回调显示进度
WCF Callback回调显示进度

利用WCF的Callback Contract实现服务端回调显示进度百分比示例,客户端暴露出一个回调的EndPoint给服务端,服务端从调用的Context中拿到回调地址,然后通过CallbackContract进行回调,包含服务端和客户端实现

[C#]WaitOne与AutoResetEvent

AutoResetEvent根据我的理解,是做线程互斥时所使用的信号量,在有独占资源时使用,它提供了一对方法,WaitOne()与Set(),用以阻塞线程进入等待状态与发出信号让阻塞的线程放行,WaitOne()就像一个闸门,程序执行到这里会被阻塞,直到Set()方法被别的线程调用,发出信号,闸门打开,阻塞的线程才会继续执行,否则会一直等待下去。

DataGridView 使用笔记

记录一下常用的DataGridView操作,例如禁止选中,数据绑定,按条件设置单元格样式等

厌倦了编程书?来试试这3种提高编程技能的有趣方法吧
厌倦了编程书?来试试这3种提高编程技能的有趣方法吧

如果你曾经从书上学习编写代码,你就知道那有多乏味。为什么不试试一些激动人心的方法来使学习更有乐趣呢?

JS实现replaceAll

今天在codewars上尝试解决一个小问题,题目是要求把一行文字里的所有元音字母替换掉,心想这个应该挺简单的吧,一个replaceAll应该就可以了,结果发现JS里面没有带replaceAll这个方法,想通过for循环实现起来效率太低了,于是就google了一下,发现replace方法是支持正则表达式替换的,就是把所有匹配到的结果都替换掉

Linux使用mysqlbinlog恢复mysql误删除的数据
Linux使用mysqlbinlog恢复mysql误删除的数据

昨天在使用mysql的时候,大脑一热,一条本来带where子句的delete被我把where条件删除掉之后当成select给执行了,结果就是把整个表给清空了,4000条数据瞬间蒸发了,当时真想把手指头切了算了,然后在各种百度+谷歌的帮助下花了将近4个小时找方法成功恢复

[C#] .net WebService返回 Dictionary 时序列化问题

今天在实现一个WebService方法时想放回一个Dictionary,编译通过,但是运行时报“is not supported because it implements IDictionary.”,这时由于Dictionary不能进行xml序列化引起的

利用淘宝API批量获取淘宝产品(不是商品!!!)

淘宝API里有两个概念,产品(Product)和商品(item),产品就像一个模板,可以用它来发布商品,比如现在有一个产品叫打火机,然后卖家A利用这个产品发布了一个商品A,定价是15块,卖家B也利用这个产品发布了一个商品B,定价是20块,那商品A和商品B就是两个不同的商品

[C#].net webservice实现调用身份认证

WebService发布之后,任何用户都可以对其进行调用,为了防止一些接口被匿名用户访问,可以对.net webservice实现调用认证,把要认证的信息填入SoapHeader中,在调用Api时一并发给服务端,服务端取出认证信息进行验证

解决VS不显示最近打开项目问题

前几天使用了下优化软件优化了一下系统,可能把显示最近打开的文档功能给关了,所以导致VS打开时不显示最近打开的项目了,每次都需要到项目路径下面去找,十分不方便,还是把这个功能恢复回来吧

Discuz 用户密码加密算法

Discuz的密码加密算法其实就是两次MD5加密,首先用明文进行一次加密,之后随机生成一个salt,再把第一次的密文后面添加salt作为明文再进行一次MD5加密。

Mysql Unix_TimeStamp转C#.net DataTime

MySQL UNIX_TIMESTAMP()返回了一个从1970-01-01 00:00:00UTC时间到现在的秒数,它是一个无符号整数,因此我们在转化成.net的DataTime时,要从1970-01-01 00:00:00时开始加上这么多秒数,最后得到DateTime的时间

用TortoiseGit Git clone时 “Load Putty Key”为灰色
用TortoiseGit Git clone时 “Load Putty Key”为灰色

今天在使用TortoiseGit clone代码时,发现不能load私钥文件,就是”Load Putty Key”是灰色的,
研究后找到了解决办法,现在记录一下