zyl910

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

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  192 随笔 :: 0 文章 :: 115 评论 :: 0 引用

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 阅读 (4370) 评论 (0) 编辑

2018年8月11日

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

2018年5月25日

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

2018年5月17日

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

2018年4月21日

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

2018年3月7日

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

2018年2月17日

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

2018年2月13日

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

2018年1月30日

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

2018年1月4日

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

2017年12月24日

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

2017年11月9日

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

2017年10月26日

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

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 阅读 (429) 评论 (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 阅读 (1777) 评论 (0) 编辑

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 阅读 (617) 评论 (0) 编辑

2017年9月1日

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

2017年7月28日

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

2017年3月16日

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

2016年10月26日

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

2016年2月2日

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

2016年1月13日

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

2015年8月13日

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

2015年7月23日

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

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 阅读 (867) 评论 (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 阅读 (17909) 评论 (2) 编辑

摘要:成功在神舟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 阅读 (3883) 评论 (2) 编辑

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 阅读 (14515) 评论 (0) 编辑

2013年8月23日

摘要:作者:zyl910一、缘由 在写一些生成文本的程序时,经常需要使用带缩进的格式化输出的功能。以前为此写过不少类似的函数,可惜它们的可重用性很差。 这是因为——1) C语言的FILE*不支持重定向到自己的缓冲区。2) C++的流机制允许重定向到自己的流缓冲区。可惜这依赖了C++的专有语法,纯C无法用上。 因为上述原因,以前至少得为C与C++编写两套函数集。如果考虑到char/wchat_t/TCHAR,函数集会变得更加臃肿。 于是我决定编写一套“能以相同的代码绑定到 C FILE 或 C++流”的带缩进的格式化输出库。zltabout就是该想法的成果。二、C范例Step 1 定义 ZLT... 阅读全文
posted @ 2013-08-23 23:31 zyl910 阅读 (729) 评论 (0) 编辑

2013年8月16日

摘要:作者:zyl910 v1.1版的改动如下——将源码上传到github.调整目录结构.添加CMake编译配置文件.使用doxygen规范注释. 文件清单——docs\docs\images\docs\images\examples_tcharall.pngexamples\examples\tcharall\examples\tcharall\makefileexamples\tcharall\tcharall.cexamples\tcharall\tcharall_2003.slnexamples\tcharall\tcharall_2003.vcprojexamples\tcharall.. 阅读全文
posted @ 2013-08-16 21:41 zyl910 阅读 (518) 评论 (0) 编辑

2013年8月11日

摘要:作者:zyl910 很多文章介绍了详细的解说了各种开源许可证及它们的区别。但是,具体该选择哪一种许可证?如何修改项目使其符合某种开源许可证?就很少见到指导了。于是本文探讨这两个问题。一、如何选择开源许可证 阮一峰《如何选择开源许可证?》中的图片清晰的展示了各种开源许可证的区别—— 可是,对于新手来说,一下子见到这么多种许可证,还是会感到有些眼花缭乱,难以抉择。 于是,我建议最初时只关注三种开源许可证——1) 如果您想为GPL世界添砖加瓦,或者项目引用了GPL许可证的模块,那么当然得使用GPL许可证;2) 如果您想分享自己的编程心得,不想让许可证限制了知识的传播,这时可使用MIT许可证;... 阅读全文
posted @ 2013-08-11 18:25 zyl910 阅读 (877) 评论 (0) 编辑

2013年7月31日

摘要:新版本——http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC、TC等编译器自动兼容C99的整数类型)V1.0。支持Turbo C++ 3等DOS下的编译器作者:zyl910一、改动简介 V1.02版的改动如下——将源... 阅读全文
posted @ 2013-07-31 23:58 zyl910 阅读 (1748) 评论 (0) 编辑

2013年6月14日

摘要:作者:zyl910 现在比较流行使用侧开菜单设计。试了不少控件,感觉GHSidebarNav最成熟,尤其对纯代码创建的界面兼容性最好。但若想使Storyboard界面也支持该控件,该怎么做呢。于是我做了一番研究。 系统环境——Mac OS X Lion 10.7.5Xcode 4.6.2一、功能需求 对于实际项目中使用侧开菜单,有以下功能需求——1. 非启动。程序启动时位于登陆页面,点击“登录”才进入主页。2. 点击弹出菜单。点击主页中左上角的按钮,打开左侧的菜单列表。3. 菜单操作。点击左侧菜单列表中(除“注销”之外)的项目,会对内容页面进行切换。但点击“注销”时,会全部退出,回到登录... 阅读全文
posted @ 2013-06-14 23:02 zyl910 阅读 (7559) 评论 (1) 编辑

2013年6月7日

摘要:作者:zyl910 手工写文档是一件苦差事,幸好现在有从源码中抽取注释生成文档的专用工具。对于Objective-C来说,目前最好用的工具是appledoc和doxygen。可是这两种工具对于注释的要求略有区别。于是我经过一番摸索,找到了一套能同时兼容这两种工具的注释写法。 工具简介——appledoc:简单方便,适于生成apple风格的html文档,及直接集成到xcode帮助(docset)。官网 http://gentlebytes.com/appledoc/ 。doxygen:功能强大,适于生成html文档与pdf文档。官网 http://www.stack.nl/~dimitri/.. 阅读全文
posted @ 2013-06-07 19:52 zyl910 阅读 (28019) 评论 (3) 编辑

2013年6月2日

摘要:作者:zyl910 众所周知,能够利用doxygen生成pdf文档——但是,如果其中含有中文的话,那就会遇到一大堆问题无法顺利输出。我花了很长时间摸索,最终找到了让doxygen顺利生成中文pdf的办法。 系统环境——1) Mac OS X Lion 10.7.5 + MacTeX-2012 。2) Windows XP SP3 + CTeX 2.9.2.164 。一、原理解释 doxygen本身并不能直接输出pdf文件,而是生成了latex目录,其中有一个 makefile 文件。若系统中装好了pdflatex,可在latex目录中运行“make”命令来生成pdf文件。 怎样才能装好... 阅读全文
posted @ 2013-06-02 23:46 zyl910 阅读 (8667) 评论 (0) 编辑

2013年4月26日

摘要:作者:zyl910 在iOS开发时,有时候需要在UIToolBar中增加UILabel等控件。见过很多资料是以代码方式完成此功能,不易维护。于是我进行了一番摸索,找到了xib/storyboard图形界面下的处理办法。一、代码方式 代码方式是很多资料上提到的,关键是利用UIBarButtonItem的initWithCustomView方法来绑定UILabel控件。代码如下——UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0f, 20.0f, 45.0f, 10.0f)]; myLabel.font=[UI... 阅读全文
posted @ 2013-04-26 15:10 zyl910 阅读 (1719) 评论 (0) 编辑

2013年4月17日

摘要:作者:zyl910 “点击空白处隐藏软键盘”是一个很常见的功能。最简单的实现办法是将背景View设为为UIControl类,然后在Touch Down事件中隐藏软键盘。详见 http://www.cnblogs.com/zyl910/archive/2013/03/29/ios_textfield_keyboard.html。 但是当文本框放在UIScrollView控件中时,上述方法就失效了。UIScrollView本身没有提供触摸事件,但它会拦截触摸操作,使背景View无法收到触摸事件。 该怎么办呢? 曾在网络上找到过一个解决方案——写UIScrollView的派生类,提供触摸事件... 阅读全文
posted @ 2013-04-17 19:03 zyl910 阅读 (2287) 评论 (1) 编辑

2013年4月16日

摘要:作者:zyl910一、背景 现在很多常用的UML工具不支持Objective-C,在绘制UML时很不方便。得手工将Objective-C语法的参数列表,转为UML语法或C++语法。比较费力且容易出错。 于是我想编写一个工具,自动的将Objective-C语法的参数列表转为UML或C++语法。 用什么语言开发呢? 为了跨平台,我决定采用JavaScript来编写该工具。 现在只是一个字符串分析与生成的小工具,JavaScript足以胜任。二、功能设计 界面如下—— 基本使用方法——1. 在“源参数列表”填写Objective-C方法的声明;2. 点击“转换”按钮,UML与C++文本... 阅读全文
posted @ 2013-04-16 11:21 zyl910 阅读 (337) 评论 (0) 编辑

2013年3月29日

摘要:作者:zyl910 关于隐藏软键盘,网上的办法良莠不齐,大多是通过实现UITextFieldDelegate来隐藏软键盘,该方法代码较多,且在文本框很多的时不好处理。我经过搜索与摸索,找到了最佳的处理办法。一、隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软键盘右下角的“Return”按钮后,会触发该事件。 该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件)——- (IBAction)TextField_DidEndOnExi... 阅读全文
posted @ 2013-03-29 18:08 zyl910 阅读 (11761) 评论 (1) 编辑

2013年1月22日

摘要:作者:zyl910 前面测试了各种编译器的执行结果,但为什么它们的执行结果是那样呢?这需要仔细分析。VC2005的测试结果比较典型,而且调试跟踪比较方便,于是本篇对VC2005的crt源码进行分析。一、须知 开发工具是VC2005,平台为32位的x86,编译模式为Debug,使用MBCS字符集。二、cout输出窄字符串2.1 已初始化locale “已初始化locale”是指——在输出前执行了初始化locale,即执行了下列语句—— // init. locale::global(locale("")); wcout.imbue(locale("")); 阅读全文
posted @ 2013-01-22 21:13 zyl910 阅读 (3929) 评论 (0) 编辑