黄腾霄 - Windows Developer
还记得我10min之前发的2019-11-10-使用StringInfo正确查找字符个数 - huangtengxiao这篇博客么?
你们以为2个Unicode组成的emoji就是极限了么?
这篇文章会带你们体验下世界语言的博大之组合字。
之前在处理文本的时候遇到过这样的一个问题,有的字,它看着是一个,但是程序说他是两个,但是实际真的是一个。 好吧,你们一定没有听懂我在讲什么。没关系一起来看看代码
之前大佬要我做一款windows一键激活工具。基本原理是利用我们的license,从后台请求一个微软的正版license,然后调用slmgr进行windows激活。这样就可以把license的控制权留在自己这里,而不用传递给工厂,避免license流失。(所以期望从本文找破解方案的同学可以散了233)所以记录下对slmgr的研究。
出让执行权:Task.Yield, Dispatcher.Yield - walterlv,毅仔的博客珠玉在前。同学们可以直接跳转过去看。
比较遗憾的是我没有在里面找到Task.Yield
的合适的应用场景。关于Task.Yield
的应用场景也是争论纷纷,可见这个东西必然很鸡肋。本文尝试了Task.Yield
的几种使用场景,看看是否能够将代码变得更加优雅。
坐在MVP旁边狗尾续貂,诚惶诚恐。。
使用过命名元组的同学都知道,命名元组可以使用“有意义的字段名”来代替Item
,用于表示元组的成员。在C#7.1中引入了“元组投影初始值设定项”(tuple projection initializers)提升了命名元组的编程体验
元组作为轻量级的数据结构,在c#中具有广泛的引用。但是元组的比较一直以来都是对于成员的依次比较。好在C#7.3开始,引入了元素的相等性比较,让元组的易用性有了大幅提升。
本文demo已上传至github:xinyuehtx/WCFdemo
在之前的2019-1-27-wcf入门(6) - huangtengxiao博客介绍了wcf的会话,这一篇介绍可靠会话
本文demo已上传至github:xinyuehtx/WCFdemo
在之前的2019-1-31-wcf入门(12) - huangtengxiao博客介绍了wcf的异步,但是发现一些小伙伴没有注意到的问题。因此做一些补充实验
在之前的博客2019-1-24-Task真的取消了么 - huangtengxiao介绍了task.run需要在方法执行过程中主动调用ThrowIfCancellationRequested()才能取消,这次我们研究下其他情况的取消场景
本文demo已上传至github:xinyuehtx/WCFdemo
这个博客会介绍如何设置服务操作调用模式的第三种双工模式(Duplex)
本文demo已上传至github:xinyuehtx/WCFdemo
这个博客会介绍如何设置服务操作调用模式的第二种单向模式(One-Way)
我们都知道Task.Run
方法可以传入一个CancellationToken
,用于取消。可是有多少人真的去了解过当调用CancellationSource.Cancel
方法时,Task
是否真的被取消了
在一些并行操作或者任务列表执行的过程中,会需要用到AggregateException
进行聚合异常的处理
在一些并行操作或者任务列表执行的过程中,会需要用到AggregateException
进行聚合异常的处理
发现一些小伙伴的代码中CancellationToken
-CancellationTokenSource
-CancellationTokenRegistration
傻傻分不清楚,今天就对这三个类的使用进行下区分。
桌面应用常常会遇到多显示器适配问题,比如我们会期望让小人从最左边的屏幕跑到最右边,或者将一个窗口藏在所有显示器的显示区域之外。
对于double的比较,存在一些可能的坑,大家应该都清楚。比如容易注意的是double==double的精度问题。但是比较少注意的是double.NaN的比较
git tag 与branch 不同,tag是用于为指定的commit添加共享信息的。因此当你辛辛苦苦的为本地仓库清理完了tag列表后,同事又推送了之前的本地tag,心情可想而知。
涉及加密算法的python代码,尤其是git上down下来的“老代码”经常会遇到神奇的报错 ImportError: No module named Crypto.Cipher
, 这个问题谷歌上也是哀鸿遍野,简单描述下可能遇到的坑,以及解决方案
当你完成了一个awesome的程序之后,如何分享给你的小伙伴?压缩包?太low。安装包?太难。
折中一下,搞一个自解压安装包如何?
对于我们这种修电脑、卖电脑的行业(软件工程师(大雾))。可能会遇到出货产品需要进行windows软件激活的订单。(真的就是属于卖电脑的范畴)
先上堆栈
TaskCanceledException at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout) at
System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout) at
System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout) at
MS.Internal.WeakEventTable.OnShutDown() at
MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e)
我们都知道RotateTransform会受到旋转中心RenderTransformOrigin的影响