zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年4月26日

摘要: 作者:zyl910 关于SIMD(MMX、SSE、AVX)编程的资料一直很零散,于是我试图进行收集整理,便于随时翻阅学习。而且很多代码是直接用汇编写的,易读性差、难以重用,于是我决定将其统一改写为Intrinsics函数版。一、Instructions函数对照表 在使用Instructions函数时,很多时候会发现MSDN说的不详细,这时只有去翻阅Intel、AMD文档了。但Intel、AMD文档都是按照汇编指令名排序的,查起来不太方便。 而且SIMD指令大多很复杂,文字描述难以详细的解释其功能,唯有伪代码才能精确的解释其功能。但Intel、AMD文档上的伪代码大多很长,不适合随时翻阅。... 阅读全文
posted @ 2012-04-26 21:53 zyl910 阅读(6263) 评论(0) 推荐(2) 编辑

2022年11月28日

摘要: 作者: zyl910 在前一篇文章(在亚马逊AWS上创建ARM服务器并配置好RDP远程桌面连接的心得)里,我们成功在亚马逊AWS上创建了Ubuntu系统的ARM服务器。现在准备在该服务器上安装 .NET SDK。 一、尝试 apt-get 安装 首先尝试了之前在 x86 处理器的Ubuntu系统上安 阅读全文
posted @ 2022-11-28 22:36 zyl910 阅读(54) 评论(1) 推荐(0) 编辑

2022年11月27日

摘要: 作者: zyl910 听说亚马逊AWS上能创建ARM服务器,且亚马逊云服务器能免费使用12个月,于是我尝试了一下。还尝试了在创建的ARM服务器上装好了Ubuntu桌面,并配置好RDP远程桌面连接,从而能够通过Windows的“远程桌面连接”程序来远程操作它。 其实网上的资料已经很详细了,故摘录其他文 阅读全文
posted @ 2022-11-27 22:16 zyl910 阅读(12) 评论(0) 推荐(0) 编辑

2022年11月20日

摘要: 作者: zyl910 一、背景 从.NET Core 1.0(或 .NET Framework 4.5、.NET Standard 1.0)开始,.NET中便可以使用具有SIMD硬件加速的向量类型了。 其中大小与硬件相关的向量(Vectors with a hardware dependent si 阅读全文
posted @ 2022-11-20 21:51 zyl910 阅读(58) 评论(0) 推荐(0) 编辑

2022年11月16日

摘要: 作者: zyl910 一、背景 先前的2篇文章,说了向量类型的类型选择问题。本文讨论一个使用方面的问题——循环展开。 现在的CPU采用了流水线、超标量等机制来提高运算性能。如果完全是顺序代码,那么流水线的效果会非常好。 但是程序中不可避免的需要 分支 与 循环来处理各种复杂的逻辑。分支与循环会被编译 阅读全文
posted @ 2022-11-16 23:57 zyl910 阅读(179) 评论(0) 推荐(0) 编辑

2022年9月18日

摘要: 作者: zyl910 一、缘由 在 上一篇文章,介绍了.NET的2种向量类型(Vector4、Vector<T>)。本文来介绍第3种。 .NET Core 3.0 增加了对内在函数(Intrinsics Functions)的支持,并增加了第3种向量类型—— 3. 总位宽固定的向量(Vector o 阅读全文
posted @ 2022-09-18 22:25 zyl910 阅读(111) 评论(0) 推荐(1) 编辑

2022年8月20日

摘要: 作者: zyl910 一、缘由 从.NET Core 1.0开始,.NET里增加了2种向量类型—— 大小固定的向量(Vectors with a fixed size)。例如 结构体(struct) Vector2、Vector3、Vector4。 大小与硬件相关的向量(Vectors with a 阅读全文
posted @ 2022-08-20 11:55 zyl910 阅读(789) 评论(1) 推荐(5) 编辑

2022年8月7日

摘要: 作者: zyl910 一、缘由 上一篇文章“用于分析26种画布合成模式(globalCompositeOperation)的演示页面”给出了便于测试的演示页面,现在探究一下合成模式的计算公式。 在网上搜索了一下,发现W3C《Compositing and Blending Level 1》对合成模式 阅读全文
posted @ 2022-08-07 00:14 zyl910 阅读(160) 评论(0) 推荐(0) 编辑

2022年7月30日

摘要: 作者: zyl910 一、缘由 Html5画布(Canvas)的上下文(Context2D)提供globalCompositeOperation属性,可用于控制图形的绘制时的合成模式。 查了一下文档,发现多达共有26种合成模式。且文字介绍很简略,部分模式看不太懂。 于是我编写了一个功能丰富的演示页面 阅读全文
posted @ 2022-07-30 23:29 zyl910 阅读(192) 评论(0) 推荐(0) 编辑

2022年4月16日

摘要: 作者: zyl910 一、原初 .NET平台很早就提供了条件编译的语法(#if)。 但是当时官方未制定标准的条件编译符号(Conditional compilation symbols)的名称,而是让各程序自行约定。 由于早期只有“.NET Framework”这一种平台,且每次升级都是向下兼容的。 阅读全文
posted @ 2022-04-16 17:19 zyl910 阅读(663) 评论(0) 推荐(1) 编辑

2020年8月3日

摘要: 作者: zyl910 一、缘由 上一篇文章演示了无需解压的替换zip内文件的技术原理。本文准备编写一个实际的例子——演示修改zip内的txt文件,在后面追加文本。 二、封装zip内文件处理的函数 因为替换zip内文件是一个比较常用的功能,于是考虑将zip压缩流的处理封装为一个函数。这就实现了解耦,使 阅读全文
posted @ 2020-08-03 21:38 zyl910 阅读(964) 评论(0) 推荐(0) 编辑

2020年7月16日

摘要: 作者: zyl910 一、缘由 有些时候需要替换zip内的文件。 网上的办法大多是——先解压,然后对解压目录替换文件,最后再重新压缩。该办法需要比较繁琐,且需要一个临时目录。 于是想找无需解压的方案。 后来找到利用 ZipInputStream、ZipOutputStream 实现该功能的办法。 二 阅读全文
posted @ 2020-07-16 20:12 zyl910 阅读(1300) 评论(0) 推荐(0) 编辑

2020年7月14日

摘要: 作者: zyl910 一、缘由 现在zip类的文件越来越多了,例如jar、docx。 有时我们需批量处理这些文件中的数据,若都是手工操作的话就太麻烦了。于是考虑编程自动处理。 Java提供了ZipInputStream等zip的操作类。但是有些内容比较抽象,没有代码范例的话有点难以理解。例如zip中 阅读全文
posted @ 2020-07-14 21:02 zyl910 阅读(891) 评论(0) 推荐(0) 编辑

2018年8月11日

摘要: 一、问题 今天遇到了一个神奇的问题——表中有数据,但select count( )的结果为0。 这个问题最初的表现形式是“查询报表没有分页”。 最开始还以为是java端的问题。后来才发现,查分页的sql语句是返回0的。 随后将该sql语句放到PLSQL里运行,发现也是返回0条。 数据库版本是 Ora 阅读全文
posted @ 2018-08-11 15:54 zyl910 阅读(2760) 评论(1) 推荐(0) 编辑

2018年5月25日

摘要: 作者: "zyl910" 一、缘由 在项目开发时,因为运行环境的不同,导致有时得分别为不同的环境,切换配置参数打不同war包。但手工切换配置文件的话,不仅费时费力,而且容易出错。 有些打包工具支持配置切换。这样我们只要配好有那几组参数,然后便可分别打war包了。但该办法还是存在多个war文件易搞错的 阅读全文
posted @ 2018-05-25 20:36 zyl910 阅读(3364) 评论(0) 推荐(0) 编辑

2018年5月17日

摘要: 作者: "zyl910" 一、缘由 BLOB是指二进制大对象,也就是英文Binary Large Object的缩写。 在很多时候,我们是通过其他编程语言(如Java)访问BLOB的字节数据,进行字节级的操作的。 但是有些时候工作量很小,感觉专门为BLOB字节级操作而专门开发个程序,是比较麻烦的。于 阅读全文
posted @ 2018-05-17 20:50 zyl910 阅读(4339) 评论(0) 推荐(0) 编辑

2018年4月21日

摘要: 作者: "zyl910" 一、缘由 NLog是一个很好用的日志类库。利用它,可以很方便的将日志输出到 调试器、文件 等目标,还支持输出到窗体界面中的RichTextBox等目标。 而且它还支持在运行时修改配置,例如可用于实现这样的需求——在界面上做个下拉框,可动态调整RichTextBox的日志级别 阅读全文
posted @ 2018-04-21 21:16 zyl910 阅读(1919) 评论(3) 推荐(0) 编辑

2018年3月7日

摘要: 作者: "zyl910" 一、缘由 最近有在对接一个无证书的HTTPS接口时,总是收到“SSLHandshakeException: DHPublicKey does not comply to algorithm constraints”异常。 通过浏览器、telnet测试了接口地址,确认了TCP 阅读全文
posted @ 2018-03-07 20:06 zyl910 阅读(2177) 评论(0) 推荐(0) 编辑

2018年2月17日

摘要: 如今京东的商品列表已经没有“自营”筛选了,只有“京东物流”筛选。导致找商品时不方便。 于是我开发了一下Chrome插件——SelectJd(京东自营筛选器)。 SelectJd (京东自营筛选器) 是一个谷歌浏览器扩展. 用于在 jd.com 筛选自营商品。 功能特性—— 隐藏: 隐藏非自营的商品, 阅读全文
posted @ 2018-02-17 17:36 zyl910 阅读(1335) 评论(0) 推荐(0) 编辑

2018年2月13日

摘要: 作者: "zyl910" 一、缘由 RSA是一种常用的非对称加密算法。所以有时需要在不用编程语言中分别使用RSA的加密、解密。例如用Java做后台服务端,用C 开发桌面的客户端软件时。 由于 .Net、Java 的RSA类库存在很多细节区别,尤其是它们支持的密钥格式不同。导致容易出现“我加密的数据对 阅读全文
posted @ 2018-02-13 18:39 zyl910 阅读(6433) 评论(1) 推荐(2) 编辑

2018年1月30日

摘要: 作者: "zyl910" 一、缘由 在Silverlight中使用反射动态访问时,经常遇到“System.MethodAccessException: 安全透明方法 XXX 无法使用反射访问……”等错误。 其中最常见的情况,是因为这些成员具有 安全关键(SecuritySafeCritical)的特 阅读全文
posted @ 2018-01-30 22:51 zyl910 阅读(953) 评论(0) 推荐(0) 编辑

2018年1月4日

摘要: 作者: "zyl910" 一、问题 今天需要调试一个SilverLight程序。运行时ie弹出了一个升级提示,于是手贱点了升级。 随后便悲剧了,VS调试时报“无法启动调试 未安装 Silverlight Developer 运行时。请安装一个匹配版本”。 打开控制面板里的“卸载或更改程序”,发现版本 阅读全文
posted @ 2018-01-04 22:03 zyl910 阅读(554) 评论(0) 推荐(2) 编辑

2017年12月24日

摘要: 作者: "zyl910" [TOC] 一、缘由 由于在ES6之前,JavaScript中没有定义类(class)语法。导致大家用各种五花八门的办法来定义类,代码风格不统一。而且对于模拟面向对象的三大支柱“封装”、“继承”、“多态”,更是有许多专门的深度研究,实现办法更加复杂,不利于JavaScrip 阅读全文
posted @ 2017-12-24 18:16 zyl910 阅读(5063) 评论(2) 推荐(1) 编辑

2017年11月9日

摘要: 作者: "zyl910" 一、缘由 在很多的面向对象编程语言中,我们可以使用命名空间(namespace)来组织代码,避免全局变量污染、命名冲突。遗憾的是,JavaScript中并不提供对命名空间的原生支持。 有不少人提出各种办法在JavaScript中模拟命名空间,但这些办法存在以下问题—— 1. 阅读全文
posted @ 2017-11-09 20:22 zyl910 阅读(10200) 评论(0) 推荐(1) 编辑

2017年10月26日

摘要: 作者: "zyl910" 一、工具比较 为了让前端JavaScript程序更具可维护性,更利于团队开发,文档非常重要。此时便需要使用自动化文档工具了。 我对比了各种JavaScript自动化文档工具,发现JSDuck最适合我。它的优点有—— 生成文档的易读性高,界面美观。 文档注释的语法简单,功能丰 阅读全文
posted @ 2017-10-26 21:23 zyl910 阅读(885) 评论(0) 推荐(1) 编辑

2017年10月4日

摘要: 作者: "zyl910" 一、缘由 XML序列化是一个很常用的功能,但对于.NET Core/Standard,其直到2.0版才内置支持XML序列化。具体来说, .NET Core 2.0 或 .NET Standard 2.0 才有 "XmlIgnoreAttribute" 类,而1.X版(.NE 阅读全文
posted @ 2017-10-04 16:03 zyl910 阅读(847) 评论(0) 推荐(0) 编辑

2017年9月23日

摘要: 作者: "zyl910" 一、缘由 当创建 .NET Core/Standard 2.0项目时,VS不会像.NET Framework项目一样自动生成AssemblyInfo.cs文件。 而且,若是手工在项目中加入以前写好的 AssemblyInfo.cs 文件,编译时会报告“CS0579: Dup 阅读全文
posted @ 2017-09-23 16:19 zyl910 阅读(6425) 评论(0) 推荐(5) 编辑

2017年9月15日

摘要: 作者: "zyl910" 一、缘由 最近遇到了一个奇怪的问题——明明已经在VS2017里装好了 .NET Core 2.0 SDK,且测试过新建一个 .NET Core 2.0控制台项目能成功使用。但是在项目目录中实际使用新建.NET Core 2.0控制台项目时,会遇到不支持 .NET Core 阅读全文
posted @ 2017-09-15 23:05 zyl910 阅读(1145) 评论(0) 推荐(0) 编辑

2017年9月1日

摘要: 作者: "zyl910" 一、缘由 项目规模大了后,经常会出现源码文件分布在不同目录的情况,但.NET Core项目默认只有项目目录下的源码文件,且不支持“Add As Link”方式引入文件。这时需要手工修改project.json文件了。 可能是因为最新版本已将 project.json 转为 阅读全文
posted @ 2017-09-01 22:45 zyl910 阅读(1196) 评论(0) 推荐(0) 编辑

2017年7月28日

摘要: 作者: "zyl910" 一、缘由 “Sandcastle Help File Builder”(简称SHFB)是一个很好用.NET 帮助文档生成工具。 但它的每个版本支持的VS版本范围有限,且官网没有明确说明它与VS版本的区别。导致经常出现“明明装了SHFB,但VS打开不了它的项目”问题。 这时只 阅读全文
posted @ 2017-07-28 22:07 zyl910 阅读(2654) 评论(0) 推荐(0) 编辑

2017年3月16日

摘要: 作者: "zyl910" 一、缘由 当数据库服务器很多时,或者要与第三方公司做数据库表交换时,此时觉得若有一个简单快捷的数据库连接测试工具就好了。 因为若是采取直接把程序部署到tomcat等容器再测试的办法,那就太费功夫了。 其次,连上数据库后最好能显示一下数据库名称、版本等基础信息,这样便能判定所 阅读全文
posted @ 2017-03-16 17:16 zyl910 阅读(4009) 评论(1) 推荐(0) 编辑

2016年10月26日

摘要: 最大化利用工厂等影响6格建筑的六边形网格规划(2016 10 27增加五、六节,19城+133锤方案,37城+259锤方案) 作者: "zyl910" 一、原理 文明6里有一些特殊的建筑及奇观,它们不仅对所属城市有效,还能覆盖一定范围内的城市。 工业区(Industrial Zone)建筑—— 工厂 阅读全文
posted @ 2016-10-26 18:18 zyl910 阅读(7255) 评论(0) 推荐(0) 编辑

2016年2月2日

摘要: 作者: "zyl910" 查过了很多文章,都说需要root后才能转移存档。但很多时候是不能root的,此时该怎么办呢? 我研究了很久,最终找到了一种办法,无需root也能转移存档。 一、备份 我用的是联想手机,备份的步骤如下。其他品牌的手机可能有一些差异,但大同小异。 在安卓手机上点击“Home”键 阅读全文
posted @ 2016-02-02 00:03 zyl910 阅读(38458) 评论(0) 推荐(0) 编辑

2016年1月13日

摘要: 作者: "zyl910" 以往我们想在spring的xml配置文件中增加说明文本时,只能使用xml注释( )。这对于“调试、部署时想批量屏蔽部分bean”是不利的。于是本文讨论如何解决这个难题,并给出一个对项目配置改动少的方案。 一、最初问题 例如现在想用quartz管理一个定时... 阅读全文
posted @ 2016-01-13 22:02 zyl910 阅读(1160) 评论(0) 推荐(0) 编辑

2015年8月13日

摘要: 作者:zyl910一、说明本工具有适合以下情况使用——* 快速查看数据库中数据及表结构信息。* 测试ADO.Net下连接字符串的写法。* 帮忙分析ADO.Net数据库操作。二、用法运行本程序。在“Provider”下拉框中选择数据提供者工厂。(若没有的话,请尝试在 zdbviewcs.exe.con... 阅读全文
posted @ 2015-08-13 17:00 zyl910 阅读(1303) 评论(0) 推荐(0) 编辑

2015年7月23日

摘要: 作者:zyl910如今,UTF-8字符串的使用频率越来越多了。但是在VC中,不能直接处理UTF-8字符串,得专门去写UTF-8与窄字符串、宽字符串、TCHAR字符串相互转换的代码。不仅费时费力,而且稍不留心就容易造成内存泄露问题。于是我便想专门编写个库来解决UTF-8字符串编码问题。特性——支持 T... 阅读全文
posted @ 2015-07-23 22:41 zyl910 阅读(1572) 评论(0) 推荐(0) 编辑

2015年7月12日

摘要: 最近有个项目需要用snmp远程监控进程信息。于是我查了一下资料。一、资料.1.3.6.1.2.1.25.4.2.1.1.iso.org.dod.internet.mgmt.mib-2.host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunIndexA uniqu... 阅读全文
posted @ 2015-07-12 19:35 zyl910 阅读(3604) 评论(1) 推荐(0) 编辑

2015年5月17日

摘要: 作者:zyl910 以前我曾为了让VC++等编译器支持C99的整数类型,便编写了c99int库来智能处理(http://www.cnblogs.com/zyl910/p/c99int_v102.html)。如今为了兼容Turbo C++ 3等DOS下的编译器,做了重大改变,不再适合沿用旧名,于是采... 阅读全文
posted @ 2015-05-17 23:10 zyl910 阅读(1450) 评论(0) 推荐(0) 编辑

2014年2月21日

摘要: 作者:zyl910 参考教程——http://bbs.pcbeta.com/viewthread-1432534-1-4.html笔记本SNB和IVY平台Win7/Win8/Win8.1安装OS X Mavericks懒人版通用教程 根据该文的操作步骤,顺利时略写,遇到问题或需要补充时才详细叙述。 教程贴外所用的软件、驱动——http://pan.baidu.com/s/1i3HpnHr 硬件配置——型号:神舟K650c-i7 D2磨具:Clevo W350STQ主板:Intel HM87CPU:Intel Core i7-4700MQ核芯显卡:Intel HD Graphics 46... 阅读全文
posted @ 2014-02-21 00:55 zyl910 阅读(19370) 评论(2) 推荐(1) 编辑

摘要: 成功在神舟K650c-i7 d2(i7-4700MQ、HM87)上装好了Windows XP 本来已经在K650c上装好了Windows7、Windows8双系统,奈何某些旧软件只能在Windows XP运行,于是开始折腾装XP。 经过多次尝试,成功在K650c上装好了Windows XP,仅2个不常用设备缺少驱动,不影响使用。核芯显卡、声卡等都功能正常,能玩游戏,旧软件都能正常工作。该方法不仅适用于安装版系统,而且适用于克隆版系统,适应性非常强(我最初是在克隆版系统中试成功的,后来为了系统纯净性,又重装了一遍安装版)。 该方法的不足之处——1) 硬盘必须工作在IDE模式,不能设为AHC... 阅读全文
posted @ 2014-02-21 00:02 zyl910 阅读(5343) 评论(2) 推荐(0) 编辑

2013年12月31日

摘要: 作者:zyl910 从VS2010开始,提供了一个平台工作集(Platform ToolSet)选项用于配制vc编译版本。到了VS2012,更是因为默认平台工具集不支持WindowsXP,导致经常需要切换到xp版平台工具集,VS2013也是如此。在某些时候,我们需要使用条件编译判断平台工具集的版本去做不同的操作,而VS中没有提供一个标准的检测办法。本文就是我的一些心得。 在设置了平台工作集后,环境变量宏会发生变换,而且“VC++目录”、“预处理器定义”等地方也会发生一些变化。 以VS2013为例,注意观察“Visual Stdio 2013 (v120)”、“Visual Stdio 2... 阅读全文
posted @ 2013-12-31 22:58 zyl910 阅读(16948) 评论(0) 推荐(2) 编辑