376

async & await 的前世今生

async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了。但是这也给我们编程埋下了一些隐患,有时候可能会产生一些我们自己都不知道怎么产生的Bug,特别是如果连线程基础没有理解的情况下,更不... ...

腾飞(Jesse) 发布于 2014-02-24 08:24 评论(155)阅读(56339)
460

好的用户界面-界面设计的一些技巧

如此有用的文章我已记不得是什么时候发现的了,但在看完的那一刻便想将之翻译,分享给大家自己也受用。时间过了很久,来到了2014年,终于静下心来花了大把时间连同图片一起译成了中文。像我这样业余的翻译六级分数只够及格的程序员,不敢说做到信雅达,但求意思到位。1 尽量使用单列而不是多列布局单列布局能够让对全... ...

刘哇勇 发布于 2014-02-07 19:17 评论(173)阅读(90882)
22

C#4.0泛型的协变,逆变深入剖析

C#4.0中有一个新特性:协变与逆变。可能很多人在开发过程中不常用到,但是深入的了解他们,肯定是有好处的。 协变和逆变体现在泛型的接口和委托上面,也就是对泛型参数的声明,可以声明为协变,或者逆变。什么?泛型也有参数?对,如果有了声明的参数,则该泛型接口或者委托称为“变体”。 ...

心出发 发布于 2014-01-17 17:55 评论(14)阅读(8746)
136

从登录框看前端

我们会骂 12306 的网站界面挫,效果差,速度慢,回头看看自己写的代码,是不是也一样的狗血!在前端,很多看似简单的东西,内藏无数玄机。本文将以一个小小的登录框为入口,谈一谈如何完善自己的程序。在很多人眼里,前端就是 DIV+CSS+JQuery,甚至还有些人停留在 table 布局的迷雾当中(这些... ...

Barret Lee 发布于 2014-01-13 15:30 评论(70)阅读(31666)
339

找工作的一些感悟——前端小菜的成长

前些日子辞掉了工作,比较轻松,有大把的时间写博客神马的,陆续面了几个不错的互联网公司,有成功的也有失败的,阿里的面试及offer都来的很意外,还没来得及投百度,由于阿里给的条件及工作内容都让我很满意了,唯一的遗憾是得离开北京去杭州,不知道现在还要不要投投其他的也试试。至于为什么选在年前离职,其实这并... ...

谦行 发布于 2014-01-09 07:54 评论(328)阅读(32819)
65

NoSql数据库使用半年后在设计上面的一些心得

NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题?这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒。为了一探究竟,半年前我决定用Mongodb这个著名的NoSql数据库做个产品试试... ...

AllenDang 发布于 2014-01-06 20:12 评论(116)阅读(19289)
25

架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)

一、下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为【编辑推荐】的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天,按中国辞旧迎新的传统,也作为我2014年第一篇博客,我想开篇前要总结下2013年的技术学习。今..... ...

夏天的森林 发布于 2014-01-01 18:14 评论(9)阅读(16394)
31

架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)

一、序言 Hadoop是一个技术生态圈,zookeeper是hadoop生态圈里一个非常重要的技术,当我研究学习hadoop的相关技术时候,有两块知识曾经让我十分的困惑,一个是hbase,一个就是zookeeper,hbase的困惑源自于它在颠覆了我对数据库建模的理解,而zookeeper的困惑却.... ...

夏天的森林 发布于 2013-12-29 19:02 评论(12)阅读(23832)
113

JavaScript性能优化

如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度。 这种情况下决定程序速度的另一个重要因素就是代码本身。 本文分门别类的介绍JavaScript性能优化的技巧,并提供相应的测试用例,供大家在自己使用的浏览器上验证, 同时会对特定的J... ...

微软互联网开发支持 发布于 2013-12-27 17:52 评论(44)阅读(16430)
23

细说WebSocket - Node篇

在上一篇提高到了 web 通信的各种方式,包括 轮询、长连接 以及各种 HTML5 中提到的手段。本文将详细描述 WebSocket协议 在 web通讯 中的实现。一、WebSocket 协议1. 概述websocket协议允许不受信用的客户端代码在可控的网络环境中控制远程主机。该协议包含一个握手和... ...

Barret Lee 发布于 2013-12-20 13:42 评论(20)阅读(29630)
227

“不给力啊,老湿!”:RSA加密与破解

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 加密和解密是自古就有技术了。经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫无意义的数字苦恼,忽然灵光一闪,翻出一本厚书,将第一个数字对应页码数,第二个数字对应行数,第三个数字 ...

Vamei 发布于 2013-12-19 22:31 评论(109)阅读(43956)
277

Visual Studio 常用快捷键

最近看到很多同事用 VI 来开发Ruby,Python脚本。 编辑代码全部用的是快捷键,效率很高。 其实Visual Stuido也有非常多的快捷键,熟练运用后,能大大提高工作效率。 本文介绍一些最常用的快捷键本文用的GIF动画图片,是通过LICEcap工具录制的。 阅读目录 VS快捷键教程 htt ...

小坦克 发布于 2013-12-11 09:03 评论(135)阅读(27364)
32

[NodeJS] 优缺点及适用场景讨论

概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨。一. NodeJS的特点 我们先来看看NodeJS官网上的介绍: Node.js is a platform... ...

鱼松 发布于 2013-12-05 23:47 评论(37)阅读(18005)
6

跟我一起云计算(5)——Shards

什么是shardingSharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表... ...

skyme 发布于 2013-12-05 16:15 评论(1)阅读(5768)
68

由浅入深表达式树(二)遍历表达式树

为什么要学习表达式树?表达式树是将我们原来可以直接由代码编写的逻辑以表达式的方式存储在树状的结构里,从而可以在运行时去解析这个树,然后执行,实现动态的编辑和执行代码。LINQ to SQL就是通过把表达式树翻译成SQL来实现的,所以了解表达树有助于我们更好的理解 LINQ to SQL,同时如果你有... ...

腾飞(Jesse) 发布于 2013-12-05 08:44 评论(33)阅读(10868)
151

Git与Repo入门

版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。。。一、原始版本控制 最原始的版本控制是纯手工的版本控制:修改文件,保存文件副本。有时候偷懒省事,保存副本时命名比较随意,时间长了就不知道哪个是新的,哪个是老的了..... ...

AngelDevil 发布于 2013-11-26 13:58 评论(53)阅读(69688)
36

也谈哈希表

基本概念 哈希表(Hash Table)是一种根据关键字直接访问内存存储位置的数据结构。通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数(如图)。哈希函数构造方法 哈希表的构造方法是:假设要存储的数据元素个数为n,设置一个长度为m(m≥n)的... ...

LukyW 发布于 2013-11-22 17:21 评论(38)阅读(7860)
24

如何在高并发环境下设计出无锁的数据库操作(Java版本)

一个在线2k的游戏,每秒钟并发都吓死人。传统的hibernate直接插库基本上是不可行的。我就一步步推导出一个无锁的数据库操作。1. 并发中如何无锁。一个很简单的思路,把并发转化成为单线程。Java的Disruptor就是一个很好的例子。如果用java的concurrentCollection类去做... ...

发布于 2013-11-18 22:38 评论(48)阅读(17627)
190

背后的故事之 - 快乐的Lambda表达式(一)

快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜。它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能降低发生一些潜在错误的可能。LINQ包括ASP.NET MVC中的很多功能都是用Lambda实现的。... ...

腾飞(Jesse) 发布于 2013-11-18 08:41 评论(65)阅读(15912)
11

Hello Web API系列教程——Web API与国际化

软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。这在很多成熟和软件开发平台中非常常见。在.net平台中,软件的国际化主要依靠工作线程的国际化来完成。在.net框架的的处理线程中,我们通过设置Thread... ...

粉-笔-灰 发布于 2013-11-06 11:37 评论(11)阅读(10039)