杂记
文章平均质量分 57
无风听海
这个作者很懒,什么都没留下…
展开
-
解决vscode控制台中文乱码问题
Ctrl + R输入intl.cpl命令,在弹出的框体中选择Admintrative标签,然后选择change system local,然后选中最下方的复选框 “Beta:Use Unicode UTF-8 for worldwide language support”,然后重启操作系统即可;我这里选择的是cmd.exe,既然输出中文乱码,那么肯定跟cmd.exe的编码有关系;使用visual studio code的terminal编译程序,输出的中文是乱码;查看当前控制台程序的编码格式。原创 2023-05-13 17:53:55 · 1470 阅读 · 1 评论 -
ZIP64压缩扩展的兼容性问题
ZIP64作为一个后来的扩展,虽然有很长的时间了,但是还是有一些操作系统或者开发语言的类库都不支持,从而会造成兼容性问题,最好是Zip64Option.AsNecessary选项,只有在必要的时候自动使用ZIP64位扩展;DotNetZip 是一个快速、免费的类库和工具集,用于处理 zip 文件。zip64 格式是标准 zip 格式的扩展,实际上消除了 zip 存档中文件大小和数量的限制。.NET提供了以下几个类来完成压缩功能,但是没有找到ZIP64的选项;二、.NET提供的ZIP压缩能力。原创 2023-03-21 13:32:05 · 610 阅读 · 0 评论 -
KaTex, markdown支持数学公式
KaTeX就是这样一个支持HTML的轻量级的数学公式引擎,它由Khan Academy开发,使用起来也非常简单。第一步,引入KaTeX的JS代码与CSS样式:<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReV原创 2021-11-27 09:44:36 · 540 阅读 · 0 评论 -
表达式树,一种提高代码复用性的方式
一、问题源起在有些情况下,我们的计算逻辑跟传入数据的内部结构有关系,不仅不同的数据的计算逻辑不同,即使同一种数据结构的计算逻辑也会随时间变化;例如我们的大数据收集系统,需要根据前方业务人员配置的过滤表达式,来决定数据是否可以入库;那么我们就需要这个筛选的逻辑既要有通用性,也需要保证执行的高效性;那么表达式树或许是一种可能的选项;二、什么是表达式树表达式树是以类似树的结构来表达代码逻辑的一种方式;其中每一个节点都是一个表达式,例如一个方法调用或者赋值语句等。我们可以编译表达式树,然后可以像普通方法那样原创 2021-11-14 21:52:36 · 647 阅读 · 0 评论 -
体验webhooks
一、webhooks是什么webhooks是一种实现在web api跟web service之间的发布订阅的轻量级的模式;当服务中心某个事件发生的时候,就会向订阅者发送一个POST请求形式的通知,这个POST请求中会包含事件的相关信息。webhooks是一种与外部系统进行交互的简单的轻量级的方式,目前已经有Dropbox、Github、PayPal等很多服务提供了webhooks功能。二、体验Github中的webhooks在Github中,我们可以在组织机构、代码仓库、Github App上设置w原创 2021-11-12 08:57:49 · 296 阅读 · 0 评论 -
Chrome89针对sessionStorage的更新导致数据共享问题
最近将chrome更新到最新的版本,然后发现以前可以正常使用的功能无法使用了,经过分析后发现是浏览器新版本才出现的问题,今天记录以下。一、遇到的问题我们具体的问题场景,在A页面中需要打开B页面,同时需要在两个页面之间共享一些数据;在A页面中我们将共享的数据保存到sessionStorage中,并新建超链接元素并触发其单击事件。sessionStorage.setItem('parameter', JSON.stringify(parameter));var link = angular.eleme原创 2021-04-09 23:13:26 · 485 阅读 · 0 评论 -
魔鬼的梦魇—验证IE中的js内存泄露模式(三)
魔鬼的梦魇—验证IE中的js内存泄露模式(三) 按照Justin Rogers文章的顺序,接下来的这个模式应该是跨页内存泄露模式(cross-page leak),但是由于这个模式产生的中间对象,我们并不能访问到,所以我也想不到好的有可视效果的验证方式,所以就不介绍了,有兴趣的话大家可以看一下原文;今天简单的来学习这篇文章的最后一个模式Pesudo-Leak。原创 2012-05-14 05:26:55 · 1172 阅读 · 0 评论 -
魔鬼的梦魇—验证IE中的js内存泄露模式(续)
魔鬼的梦魇—验证IE中的js内存泄露模式(续) 前面几篇文章我们验证学习了Justin Rogers文章中提出的集中泄露模式,但是其中并没有介绍Iframe的内存泄露情况;其中的各种原因,我觉的虽然当时ajax的兴起,极大地促进了web应用程序的开发和发展,但是并没有涉及到大规模的动态更新页面DOM元素,所以这个时候的泄露都不至于会引起大家的关注;但是随着大量js类库框架原创 2012-05-15 23:57:07 · 1866 阅读 · 1 评论 -
并发编程下的性能定律(翻译)
并发编程下的性能定律(翻译) 理解Amdahl定律 如果你想利用多核的优势在尽可能少的时间运行尽可能多的指令,那么就需要以并行的序列分离代码。然而,大多的算法需要运行一些串行代码来调整并行执行。例如,并行执行很多代码块,最后收集他们执行的结果。那些分解并行执行工作复杂和收集执行结果的代码是串行代码,它是不能利用并行的优势的。如果你的算法中有很多这样的代码片段,那么串翻译 2012-06-04 04:44:33 · 844 阅读 · 0 评论 -
并发编程中的重重量级模型和轻量级模型
并发编程中的重重量级模型和轻量级模型 使用轻量级并发开发 不管是Amdahl定律还是Gustafson的定律都没有考虑引入并发需要付出的额外开销。同时也没有考虑那些可以将顺序代码转变成可以利用并行优势的算法的设计模式。重要的是减少程序中必须执行的顺序代码,改善对并行执行单元的利用。 以前的.NET 版本,如果你想在一个进程内并行执行C#应用程序,翻译 2012-06-10 21:32:05 · 1209 阅读 · 0 评论 -
技术背后的故事缘起
技术背后的故事缘起 本文缘起 前两天写了一篇题名为“委托背后的故事”的博文,主要是关注委托这种技术需要解决的具体的问题,其中也穿插着简单的介绍了其他的实现技术,但是都没有介绍具体的实现细节。每一篇技术分享,我都需要查阅、阅读相关的资料力求准确无误,深怕自己的不慎会误人子弟。这篇文章几个园友评论没有关注委托的技术实现细节,我想有必要解释一下起初写这篇文章以及其设置器所原创 2012-06-17 06:33:15 · 950 阅读 · 2 评论 -
typescript
TypeScript是一个应用程序级的JavaScript开发语言。 TypeScript是JavaScript的超集,可以编译成纯JavaScript。 TypeScript跨浏览器、跨操作系统、跨主机,开源。 Starts from JavaScript, Ends with JavaScript TypeScript遵循JavaScript的语法和语义原创 2012-10-21 18:59:26 · 715 阅读 · 0 评论 -
Modernizr:为HTML 5和CSS3而生
10年前,只有最尖端的网站设计师会为网页的布局和修饰使用CSS。那时的浏览器对CSS进行布局的支持即不完善又漏洞百出,所以这些人在坚持WEB标准化的同时,也不得不采用hacks来使得他们的页面在所有浏览器中都能正常显示。其中一个被使用的越来越多的hack技术是浏览器嗅探(browser sniffing),使用Javascript里的navigator.userAgent属性来判断用户使用的是什么转载 2012-10-21 19:02:56 · 634 阅读 · 0 评论 -
SQL Server中char、nchar、varchar、nvarchar的区别
SQL Server中char、nchar、varchar、nvarchar的区别 对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。1.定长或变长所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应原创 2013-05-03 06:57:25 · 991 阅读 · 0 评论 -
SQL server中SET ANSI_PADDING对char、varchar、nvarchar的影响
对列存储长度小于列的定义大小的值以及在 char、varchar、binary 和 varbinary 数据中含有尾随空格的值的方式进行控制。此设置只影响新列的定义。 创建列后,SQL Server 会基于创建列时的设置存储这些值。现有的列不受以后对该设置更改的影响。下表显示在将值插入含有 char、varchar、binary 和 varbinary 数据类型的列时,SET ANSI_PAD原创 2013-05-03 20:50:48 · 835 阅读 · 0 评论 -
Unicode字符编码简单总结
Unicode字符编码简单总结 字符编码(英语:Character encoding)、字集码是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数串行、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,原创 2013-05-05 10:33:34 · 827 阅读 · 0 评论 -
基于任务模型的并发编程(二)
基于任务模型的并发编程(二)并发编程和多核编程传统的顺序代码一个指令一个指令的执行,并不能充分的利用多核的优势,因为这些串行执行的指令仅仅能够运行在这些内核中的某一个。使用visual C# 2010编写的顺序代码,如果没有使用.NET 4.0提供的新特性将任务分派到多个核心上,那也是不能充分的利用多核心的优势的。对于已存的顺序代码并不存在一种自动的并发。并发编程是一种代码充分的利翻译 2012-05-31 06:48:46 · 1007 阅读 · 1 评论 -
引用传参--面向对象的魅力
引用传参--面向对象的魅力 面向对象开发作为一种主流的软件开发方式,极大地改变了我们开发软件的方式。其遵从人类认识世界的普遍规矩,将现实中纷繁复杂的事物抽象为业务实体类,这就是由具体到抽象的认知过程;其积极响应软件工程的需求,其使我们开发的软件具有灵活性、扩展性、维护性的能力,极大地促进了软件开发的发展。 那么传递参数的时候,面向对象技术能给我们带来什原创 2012-05-13 21:31:34 · 1365 阅读 · 0 评论 -
ThreadLocal分析学习
ThreadLocal分析学习 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thre原创 2011-06-27 22:25:00 · 367 阅读 · 0 评论 -
主键思维定势导致的惨案
<br />主键思维定势导致的惨案<br /> <br /> 记录一下前段时间工作中遇到的问题,希望这血淋淋的惨案可以警醒与我有相同思维定势的网友。<br /> 众所周知一般情况下数据库中的记录是按照主键(主键是整数)递减排列的<br /> select*from Person.Address<br /> <br /> <br />这种情况下我们直接使用top (100),自然会正确的返回前100条记录<br />selecttop(100)*from Person原创 2011-06-27 23:50:00 · 489 阅读 · 0 评论 -
学债虽偿,奋力不止
学债虽偿,奋力不止 ----记毕业一周年 这几天一直在国家开发银行助学贷款信息网上打转!转什么呢,主要是看看自己卡里的钱是不是被扣了!回头想想也怪,哪有这么急切的希望自己卡上的钱被扣掉呢!不过静静的想一想自己的学债都还清了,心里还是挺高兴的!原创 2011-06-30 23:27:00 · 788 阅读 · 2 评论 -
使用Jasob混淆javascript代码
使用Jasob混淆javascript代码 在平常的web开发中,我们时常需要写一些js的类库,当我们发布自己产品的时候,不得不把源代码分发出去;但是这样就会泄露自己的代码。今天使用了一下Jasob感觉不错; 使用Jasob,我们的JavaScript代码无法被任何原创 2011-07-10 06:28:42 · 2211 阅读 · 0 评论 -
每个人眼中都有一个哈姆雷特
每个人眼中都有一个哈姆雷特原创 2011-07-17 09:55:39 · 2392 阅读 · 0 评论 -
利用javascript的面向对象的特性实现限制试用期
利用javascript的面向对象的特性实现限制试用期Javascript是一种面向对象的脚本语言,其也具有面向对象的三大特性,但是今天我们不详细的讲解javascript的面向对象特性,今天我们简单的了解一下javascript的面向对象特性,然后学习一下怎样实现试用期原创 2011-08-04 00:21:26 · 739 阅读 · 1 评论 -
RoadMap,走出自己的特色主义
RoadMap,走出自己的特色主义这几天上班交通特别拥挤,可能是因为各个学校陆续开学了吧。在这个金秋时节,很多经历了高考折磨的孩子挥手告别往日的苦难,兴高采烈的走进了自己或许是梦寐以求的象牙塔;对于很多人来说,这不仅仅是人生的一次新的起点,这也是人生的一次很大的转折点,当然了原创 2011-09-04 12:17:25 · 593 阅读 · 0 评论 -
偷懒也得怀揣个性
偷懒也得怀揣个性 --定制具有个性的VS代码模板 开始使用VS进行程序开发也快有两年的时间了,从开始对其一无所知,到现在的日常工作开发,我的生活已经离不开她了!虽然原创 2011-12-25 10:11:47 · 487 阅读 · 0 评论 -
集合,没那么简单
集合,没那么简单 好久都没有碰过前端页面的东西了,前几天做一个下拉列表的动态增删,是由js在前台操作select的option来实现的,但是奇怪的事,有的时候不能正确的清空列表的所有选项!本来觉得没有什么可以记的,但是细细咀嚼,还是有必要的! 先贴出我实现清空列表的代码 //删除列表的所有选项function clearListBox原创 2012-01-13 23:40:23 · 1049 阅读 · 0 评论 -
Object Oriented Programming in JavaScript
IntroductionThe first version of this paper, written in 2003, had several shortcomings, not the least of which was that the techniques described were specific to Internet Explorer. I've updated and转载 2012-03-08 22:10:25 · 727 阅读 · 0 评论 -
垃圾回收器算法之引用计数器法
垃圾回收器算法之引用计数器法 微软将运行在公共语言运行时里的代码成为托管代码;但是从更广泛的意义上来说,只要语言提供了自动内存管理功能,我们使用其开发的代码都可以称为托管代码;自动内存管理即我们平时所说的垃圾回收器,垃圾回收器的实现是一个复杂的过程,其中涉及到很多的细节;垃圾回收器的难点并不是垃圾的回收过程,而是定位垃圾对象。当一个对象不再被引用的时候就可以被回收了,但是原创 2012-05-03 05:57:12 · 4197 阅读 · 0 评论 -
垃圾回收器之标记擦除法
垃圾回收器之标记擦除法 这一次我们来简单的了解一下标记擦除法(mark-and-sweep),标记擦除法是第一个被广泛使用的,并且可以解决循环引用问题的垃圾回收算法; 使用标记擦除法的时候,垃圾对象并不能立即被回收,相反垃圾的回收是等到内存不够使用的时候才触发;这个时候程序的执行流程将被暂时的休眠,一旦所有的垃圾回收后,才会唤醒正常的程序执行流程。原创 2012-05-04 06:34:31 · 1489 阅读 · 0 评论 -
魔鬼的梦魇—验证IE中的JS内存泄露模式(一)
随着移动互联网的发展,现在越来越多的应用开始想bs方向转移,原来很多复杂的计算逻辑也自然随着转移到了客户端,需要客户端的javascript来担任实现的角色;原本不起眼的内存泄露,现在却犹如恶魔会很快的吞噬掉用户的内存。从去年开始就在专注js面向对象开发实现、托管代码垃圾回收算法、js内存泄露相关的东西;如果大家关注过这方面的东西,那我想你一定读过微软开发人员Justin Rogers撰写的那篇经原创 2012-05-08 05:54:20 · 1914 阅读 · 0 评论 -
基于任务模型的软件开发
基于任务模型的软件开发多核心共享内存下的软件开发 在2005年,Herb Sutter在Dr.Dobb’s Journal上发表了题为“免费午餐结束:软件开发将转向并发编程”的文章。其中他谈到现在又必要在软件开发中考虑并发了,从而充分的挖掘呈指数量级增加的微处理器的潜能获取生产力的提高。现在微处理器厂商一直都在增加处理器的核心,而不是增加时钟频率。软件开发者将不能够依赖增翻译 2012-05-29 23:51:57 · 1349 阅读 · 0 评论 -
魔鬼的梦魇—验证IE中的JS内存泄露(二)
魔鬼的梦魇—验证IE中的JS内存泄露(二) 闭包往往是需要为内存泄露负责的,因为使用它会很容易产生不为程序员所发现的循环引用。父函数的参数和局部变量将会一直被冻结、引用和持有,知道闭包本身被释放,这并不是显而易见的。事实上闭包已经变成如此普遍的变成策略,以至于开发人员经常的深陷问题之中,但是已存的我们可以依赖使用的资源却很少。我们来看看这个使用了闭包的循环引用图,它详细的原创 2012-05-11 06:01:28 · 1140 阅读 · 0 评论 -
ThreadLocal分析学习
ThreadLocal分析学习 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thre原创 2011-06-27 22:25:00 · 375 阅读 · 0 评论