自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 asp.net 的 web form 过时了吗?

web form 其实是一个超前的设计。每个厂商都希望服务器端和客户端采用同样的语言编程,这是为了商业利益考虑,如果能实现,对程序员来说,也是一个福音。sun 在服务器端有 java,在客户端就做了 javascript,但据说 javascript,的设计者其实不太喜欢 java,所以它们只有名字是相似的。微软在 asp 的时代,有一种叫 vbscript 的客户端脚本,如果页面只在 ie 上跑...

2018-03-12 14:01:44 12874 4

原创 浅谈 SQL 中的锁(七)如何生成自定义的自增 ID

在 SQL 表设计中,自增 ID 的使用很广泛。因为有些数据的属性并不具有唯一性,所以要给它加上一个生成的主键。生成主键最方便的方式,就是采用 SQL 产品提供的自增 ID 功能。可能自增 ID 的使用太过方便了,现在大有泛滥的趋势,甚至有资深的工程师说:所有的表都应该有一个自增的主键。不过 SQL 产品的自增 ID 功能,一般都只使用简单的自增整型,就是第一行记录的 ID 是 1,第二行记录的 ...

2018-02-23 14:13:37 1047

原创 KindEditor 的 html 标签自动解码问题

我的博客是使用 KindEditor 编辑的。我经常会使用代码模式在标签里面写一些 html 标记,我是在输入的时候,已经使用编辑器进行了编码的,比如,我输入的是<p>如果文章只编辑一次,是没有问题的。但是在第二次打开,想要修改一点东西的时候,发现我输入的编码后的 html 标签被自动解码了,这样显示的文章内容就和预期不符了。开始我以为这是KindEditor 的 b

2017-06-29 18:08:39 3297 5

原创 一个犀利的 HTML 解析器 —— Less.Html

我写了这个解析器之后才知道,原来 C# 写的 html 解析器有很多。但是因为我没有参照别人的做法,Less.Html 有一个特点,就是它的用法是最接近 jQuery 的。我刻意模仿了 jQuery。比如我写的示例一:123456789var q = HtmlParser.Query(testHtml);foreach (Element i in q("td")){if (!q(i)....

2017-06-19 13:51:50 13149 1

原创 session 为什么不见了?谈 IIS 应用程序池的两个重要设置

经常听到程序员会说,明明设置了很长的超时时间,为什么没有生效呢?session 很快就被清空了。asp.net 默认的 session state 模式是 in proc(进程内),数据是在网站的应用程序池里面保存的。这样在 web.config 设置的超时时间,是在应用程序池没有发生回收的基础上才是有效的。这样就出现了问题,为什么应用程序池会发生回收?如何禁止应用程序池的回收,让

2017-05-17 15:08:14 7162

原创 asp.net 中的相对路径

在 web form 编程中,一个完整的 url 是一般是这样的:http://yourdomain.com/dir/file.aspx程序员在编写指向 file.aspx 这个页面的代码的时候,往往不知道项目会部署到什么域名中,又或者测试的时候所使用域名与正式环境所使用域名不相同。在 IIS 中,还有在一个网站中创建应用的做法,更有多个域名指向同一个网站的情况……可能在网页部

2017-05-10 18:53:38 1806

原创 京东在用 .NET 吗?

很多人在讨论 .net 的时候,都会拿出京东做例子。支持者说京东能用 .net,说明 .net 很好,只要用得好,可以做大型网站。反对者说京东早期是用 .net 的,但是网站做得很烂,完全不能支撑业务,转投 java 的怀抱之后才好转,所以 .net 不如 java。其实 web 程序员都知道,一个网站用什么技术,可以在 http 请求和响应中看出来,只要这个网站不是故意去伪装的话。一般网

2017-05-04 18:13:53 6606 1

原创 原生 APP 与 HTML5 哪个好?

我认为原生 APP 和 HTML5 的不同在于表达界面方式的不同,原生 APP 使用绘图表达,HTML5 使用 HTML(超文本标记语言)表达。原生 APP 的宿主是操作系统,HTML 5 的宿主是浏览器,浏览器就是系统的一个原生 APP。这样就使得原生 APP 可以获得更多的系统权限,更灵活的编程方式,用绘图可以实现的效果无论如何都会比 HTML 要多。HTML5 有了浏览器这个隔离层次

2017-02-06 14:39:31 1372 1

原创 浅谈 SQL 中的锁(六)查看锁的基本方法

像前面的例子那样,阻塞事务的语句是必须的:--延长处理时间waitfor delay '0:00:10'这个语句代表在查询中等待 10秒,这样我们才能模拟并发的情况,如果事务很快执行完毕了,就无法重现并发的情况。我在网上看到有些例子是使用 C#、Java 等语言启动多个线程去模拟并发,而不是使用阻塞,虽然这样更接近生产环境,但并不利于简化问题。多个线程模拟并发,取决于线程数和

2017-01-18 14:50:15 1278

原创 浅谈 SQL 中的锁(五)另一种解决方案

余额问题 http://blog.csdn.net/closurer/article/details/54291241 的处理,还有一种等价方法:update balance set value = value - 1 where id = 1 and value >= 1用一个 update 语句表示如果用户余额足够,即扣减余额,数据库会对数据放置排它锁。这样既不会出现余额负数的

2017-01-16 16:51:57 444

原创 浅谈 SQL 中的锁(四)如何检查重复用户

上一节 http://blog.csdn.net/closurer/article/details/54342831 说了一个注册用户的事务没有互斥,导致注册用户失败的问题。也说了解决方法就是使用 serializable 隔离级别去执行事务:--开始事务begin transaction--设置串行式事务set transaction isolation le

2017-01-12 17:15:14 500

原创 浅谈 SQL 中的锁(三)重复用户问题

拿 Web 项目中常见的注册用户场景做例子:--测试用户表create table app_user( mobile varchar(11) primary key)--添加测试数据delete app_userinsert app_user values('13800001111')现在新注册一个手机号为 13800002222 的用户:--开始

2017-01-11 14:05:06 737 1

原创 浅谈 SQL 中的锁(二)余额问题的处理

上次模拟了 SQL 中并发执行更新余额的语句,出现余额负数的问题:http://blog.csdn.net/closurer/article/details/54288628现在说说它的解决方法。事务要正确地执行,就需要【隔离性】这个基本要素。更新余额的语句之所以会偏离期望的结果,是由于查询并没有互斥,也就是没有相互隔离:--检查用户的余额是否足够if(exist

2017-01-09 17:53:54 2436

原创 浅谈 SQL 中的锁(一)余额问题

这两天看到数据库的数据一致性和锁定的问题:http://bbs.csdn.net/topics/392072953http://bbs.csdn.net/topics/392073296写一个帖子专门说说这个。举一个用户余额的例子,余额可以是现金、虚拟币、积分等,可以看作对数据准确度要求高的数据,一旦出错,就会造成客户或公司的直接损失。在SQLServer建立

2017-01-09 14:25:54 2113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除