上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 46 下一页
摘要: 我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发,做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设计专注于html的制作,让后端开发人员更加专注于业务逻辑的编写,可以看到,我们这么做的目的就是想最大程... 阅读全文
posted @ 2014-05-08 01:28 一线码农 阅读(13090) 评论(25) 推荐(3)
摘要: 说到缓存,我想大家跟我一样都很兴奋,当我们遭遇网站性能瓶颈的时候,缓存是一剂强心针,也是一粒紧急妈富隆,从而在优化网站性能方面冠上了第一定律的帽子,我们前年在做淘应用的时候,就遭遇了性能瓶颈,短时间内采用缓存紧急优化,给我们大优化之前争取了宝贵的时间。一:缓存的种类 要说缓存有多少种,太多了,比... 阅读全文
posted @ 2014-05-05 00:34 一线码农 阅读(12938) 评论(23) 推荐(9)
摘要: 这篇文章本来准备前几天就得写的,谁也没想到这段时间公司的RC太多了,含酸苦逼的加班,加班。。。所以在大一点的公司上班,写代码的责任心一定要强,或许就因为你的一些小bug,给公司带来不少损失。。。这在以前公司真的没多大体会的。 好了,继续说说架构的演变,从第四代架构中可以看到,我们通过做应用程序... 阅读全文
posted @ 2014-04-30 00:49 一线码农 阅读(10556) 评论(23) 推荐(25)
摘要: 我们知道一个网站都是随着业务的发展,逐渐演变成几万服务器,几亿用户数的大型网站,经历了若干年,甚至上十年的发展成为大型网站,然而真正亲身经历这个发展过程的人已经不多了,这种人也是拿着公司股票,赶都赶不走的人,所以正因为很多人没有亲身经历过,所以对架构的演变没有深刻的了解,包括我自己在内,不过没吃... 阅读全文
posted @ 2014-04-23 00:28 一线码农 阅读(13541) 评论(54) 推荐(42)
摘要: 对于内容型,不易变动的东西我们都希望给它来个静态化,还有种情况就是比如新浪云不支持.net,为了能跑起我们的网站,只能放些静态页面上面,外加jsonp来实现交互,我们知道.net中有很多模板引擎,但都不是原装的,所以基本都没有代码提示,用起来比较不爽,自razor出来后,私活中也抛弃了原先使用的NVelocity,而采用原装的razor。 好了,我们先看看怎么玩,首先我们去codeplex上下两个dll。http://razorengine.codeplex.com/ 我想razor语法,大家都已经滚瓜烂熟了,不过我快一年都没接触mvc了,也忘了差不多了,就简单介绍一些吧~~~一般来说,只.. 阅读全文
posted @ 2014-04-04 01:18 一线码农 阅读(14626) 评论(43) 推荐(13)
摘要: 时间太快了,三月又要过去了,告别一下。。。继续期待生死未卜的四月,今天我们继续挖一挖。一: Environment.StackTrace 可能我们看到最多的就是catch中的e参数,里面会有一个StackTrace,然后不可否认的这玩意太有用了,它会把调用堆栈中的信息输出出来,有了它,我们就可以快速的知道运行代码的执行流并且快速的定位到问题。 有时候我们会遇到这样两个问题:①:线上的bug在本地不能重现。②:由于太多的多态,设计模式,程序员反而对线上的代码执行流向会搞的稀里糊涂的。 为了搞清楚并解决这两个问题,我们看生产日志的时候很在乎代码的执行流以及想获取当前上下文的可疑变量值... 阅读全文
posted @ 2014-03-30 14:47 一线码农 阅读(12629) 评论(59) 推荐(23)
摘要: 不知道有人做没做过对日外包,如果做过的话,那么对vb.net应该非常熟悉了,当年我刚毕业的时候也做过四个月的外包,那种日子简直不是人过的,就连大楼下面买珠宝的阿姨都说,这些孩子,只看过他们上班,就没见过他们下班,不过有一点好,有个QA的小姑娘天天下午6点教我们倭瓜语,现在还在勾搭中。。。 好了,现在我们看看需求。一: 如何判断“a”是不是数字类型。 ①:在C#中我们可能会用TryParse来判断当前的”a“是否为整数。 1 static void Main(string[] args) 2 { 3 var a = "a"; 4 ... 阅读全文
posted @ 2014-03-26 23:34 一线码农 阅读(6909) 评论(91) 推荐(21)
摘要: 这个系列我们看看C#中有哪些我们知道,但是又不知道怎么用,又或者懒得去了解的东西,比如这篇我们要介绍的toDictionary和ToLookup。 从图中我们看到有四个ToXXX的方法,其中ToArray和ToList,我想大家用的是非常非常多,但是ToDictionary和ToLookup不... 阅读全文
posted @ 2014-03-23 12:16 一线码农 阅读(19143) 评论(51) 推荐(35)
摘要: 在.net中我们知道有一个叫做WebHttpRequest的东西,用它我们可以实现各种网络偷窥,监控,采集和机器人,如果外加一个模式识别,那真是吊爆了。。。 在as中我们也可以实现同样的功能,而且我们可以配合js来做到跨域,采集cookie等等一些用户行为分析,也算是web开发中的一把利器。一:构建与外部程序的通信 1:一般要三个步骤 使用UrlRequest创建请求对象。 使用UrlLoader载入请求对象,然后就可以发出请求了。 监听UrlLoader对象,通过各种事件来反馈处理的结果。二:构建UrlRequest下面来看看UrlRequest中的常用属性1: url这个很简单了,... 阅读全文
posted @ 2014-03-18 23:22 一线码农 阅读(5993) 评论(6) 推荐(0)
摘要: 最近搞了个私活,需要用as去加载一个网站的xml,不过本人as也不咋滴,就去看看怎么玩,看完之后也蛮简单的。由于业务上比较复杂,就随便说个小例子吧。 很多时候,为了页面区域更加灵活,生动,有吸引力,或多或少的都要使用flash,如果flash不能与外界进行交换,那确实会大大限制的flash的功能,也就不好玩了,在很多网站上我们都能看到用flash来显示当前的在线用户数,或者用flash展现当前的用户参与数,或者滚动显示当前中奖名单。 由于是纯教学的,所以业务非常简单,动态显示当前的用户参与数,不过好玩的地方在于很多程序拿到一个基准的人数后,不再向服务器轮训状态,而是采用在flash上用随机.. 阅读全文
posted @ 2014-03-17 22:53 一线码农 阅读(2701) 评论(4) 推荐(0)
摘要: 昨晚在家看 “南洋十大邪术”,又发现徐锦江了,果然是在情色片中起家的,起兴处。。。被以前学校的一个小师弟抖屏搅了。。。悲剧!由于金三银四的好时期,小师弟也跑去找工作了,也就碰到了各种各样的面试题,然后也就引出了今天的这篇博文,就是:如何产生1-100之间的100个不重复的随机数,不过这里还好,在携程面试.net是没有笔试的:-) 如果这是你是第一次看到这个题目,也许你的想法有很多。1:首先从原始数组中随机选择一个数字,然后将该数字从数组中剔除,再随记选,再剔除,重复99次,就解决了。 我们知道从数组中剔除一个元素的复杂度为O(N),那么随机选取n个数字,它的复杂度就是O(N2)了。... 阅读全文
posted @ 2014-03-16 23:29 一线码农 阅读(6003) 评论(14) 推荐(1)
摘要: 准备写点扯淡些的博客,然后想了好半天,终于想到了个稍微有点文艺的标题,不喜勿喷啊,喷着我这里到处都是就不好拉。。。一:场景先说说场景吧,为了不过分暴露业务,就用字母代替下吧,半个月前业务那边报了个bug,说根据A条件和B条件筛选一批数据,当把时间(C条件)范围拉小点,可以筛选出数据,把(C条件)时间拉大点,就没有数据了。二:分析 乍一看,泥煤的。。。真的有点神奇哦,0-24点可以拉到数据,0-12点反而就拉不到了,晕。。。。然后就仔细分析了下代码,然来不知道哪一个程序员在M库里根据各种条件筛选出了20条数据,因为B条件在N库里面,所以他拿着这20条数据到N库去做筛选,结果20条数据全部暴毙.. 阅读全文
posted @ 2014-03-06 00:42 一线码农 阅读(6941) 评论(72) 推荐(4)
摘要: 在数据结构的世界里,我们会认识各种各样的数据结构,每一种数据结构都能解决相应领域的问题,每一种数据结构都像是降龙十八掌中的某一掌,掌掌毙命。。。 当然每个数据结构,有他的优点,必然就有它的缺点,那么如何创造一种数据结构来将某两种数据结构进行扬长避短,那就非常完美了。这样的数据结构也有很多,比如:双端队列,还有就是今天讲的 块状链表, 我们都知道 数组 具有 O(1)的查询时间,O(N)的删除,O(N)的插入。。。 链表 具有 O(N)的查询时间,O(1)的删除,O(1)的插入。。。 那么现在我们就有想法了,何不让“链表”和“数组”结合起来,来一起均摊CURD的时间,做法将数... 阅读全文
posted @ 2014-03-04 22:26 一线码农 阅读(11449) 评论(7) 推荐(4)
摘要: 这篇再看看一个经典的排序,梳排序,为什么取名为梳,可能每个梳都有自己的gap吧,大梳子gap大一点,小梳子gap小一点。上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化,将单向的比较变成了双向,同样这里的梳排序也是在冒泡排序上做了一些优化。冒泡排序上我们的选择是相邻的两个数做比较,就是他们的gap为1,其实梳排序提出了不同的观点,如果将这里的gap设置为一定的大小,效率反而必gap=1要高效的多。 下面我们看看具体思想,梳排序有这样一个1.3的比率值,每趟比较完后,都会用这个1.3去递减gap,直到gap=1时变成冒泡排序,这种算法比冒泡排序的效率要高效的多,时间复杂度为O(N2/2... 阅读全文
posted @ 2014-03-02 23:59 一线码农 阅读(5429) 评论(3) 推荐(3)
摘要: 这篇我们继续扯淡一下鸡尾酒排序,为了知道为啥取名为鸡尾酒,特意看了下百科,见框框的话,也只能勉强这么说了。要是文艺点的话,可以说是搅拌排序,通俗易懂点的话,就叫“双向冒泡排序”,我想作为码农的话,不可能不知道冒泡排序,冒泡是一个单向的从小到大或者从大到小的交换排序,而鸡尾酒排序是双向的,从一端进行从小到大排序,从另一端进行从大到小排序。从图中可以看到,第一次正向比较,我们找到了最大值9. 第一次反向比较,我们找到了最小值1. 第二次正向比较,我们找到了次大值8. 第二次反向比较,我们找到了次小值2 。。。 ... 阅读全文
posted @ 2014-03-02 11:54 一线码农 阅读(10789) 评论(4) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 46 下一页