- 博客(205)
- 收藏
- 关注
原创 蛙蛙推荐:从C#到C语言
相信肯定有些人和我一样,没学过C语言,是从做网页开始学习编程的,直接从ASP学ASP.NET,从VBScript学到C#的。现在c#比较熟悉了,我们可以回过头来做一下C语言的入门,补一课。 介绍学一门语言,最好的办法就先系统的看一遍教程,然后多多动手实践,我们拿老赵出的字符串提取信息的题目开始学习,题目要求如下:趣味编程:从字符串中提取信息http://www.cnblogs.com/Jef
2009-12-13 22:08:00
5162
1
原创 趣味编程:从字符串中提取信息(C语言版本)
大概就是如下一个字符串cpu-3.0g--color-red-green-black--price-5000-8000--weight-3---keywords-levis要拆分成如下格式{ "cpu", "3.0g" },{ "color", "red", "green", "black" },{ "price", "5000", "8000" },{ "weight", "3
2009-12-12 22:08:00
3504
2
原创 蛙蛙推荐:蛙蛙教你发明一种新语言之二--代码生成
摘要上一篇里我们构建了语法树,但他并不能执行,还要把它转换成可执行的代码。语法树是抽象的,可以把它转换到各种平台的执行文件,但我们现在只关注它是如何生成一个CLR的可执行文件。 IL指令介绍书接上文,话说曹操来到了景阳岗。。。,汗,串频道了。。。有人说,编译原理中语法分析是核心,有人却说语法分析没啥新花样,都是死的东西,代码生成才是最关键的,确实,你要到了那种水平,啥都觉得简单。我们要把语法
2009-11-17 00:07:00
3176
原创 蛙蛙推荐:蛙蛙教你发明一种新语言之一--词法分析和语法分析
摘要程序开发行业中有很多种编程语言,每个程序员大概也都会一两种,可你有没有想过自己DIY一种语言呢,本文就带你用.net DIY一种新语言--WawaSharp,我们将定义语法,实现词法分析,建立语法树,代码生成几个过程。引言 不要为摘要里的那些名词吓住了,什么词法分析,语法树之类的,其实要实现一个简单的语言并不复杂,就是做一些字符串的操作,以及运用几个IL指令。以前我也以为很复杂,很神秘,
2009-11-16 22:06:00
3162
原创 蛙蛙推荐:ASP.NET MVC学习笔记
ASP.NET MVC 1.0发布有段儿时间了,刚发布不久的时候试用了一下,做了一个简单的BBS,现在总结一些经验和小技巧和大家分享。网上关于ASP.NET MVC的系列教程有好几个,所以就不从头开始介绍了,结尾处给大家推荐了几个链接,需要的话可以从头系统的看看。 1、ASP.NET MVC介绍及与ASP.NET WebForm的区别 刚开始为了搞清楚ASP.NET MV
2009-10-31 21:07:00
3572
原创 蛙蛙推荐:统计最长不完全匹配子串频率的非递归解法(动态规划)
关于上次提出的“最长不完全匹配子串频率计算”的算法练习题,后来我看了下google的分析及其它人的解法,知道了这个题要靠“动态规划”来解决,我把其中一份c++代码转换成c#的了,确实很精妙。算法描述再说一下:找出一个长字符串里的某个特定的子串出现的频率,匹配的子串的上一个字符和下一个字符不需要紧紧相邻,只要满足下一个字符在当前字符的后面就行。算法要求:长字符串的宽度最长是500个字符。输入:
2009-09-08 21:34:00
2590
原创 蛙蛙推荐:[算法练习]最长不完全匹配子串频率计算
算法描述:找出一个长字符串里的某个特定的子串出现的频率,匹配的子串的上一个字符和下一个字符不需要紧紧相邻,只要满足下一个字符在当前字符的后面就行。算法要求:长字符串的宽度最长是500个字符。输入:一个长字符串,宽度不能超过500个字符,一个短字符串输出:短字符串在长字符串中出现的次数的后四位,不足四位左边填充零。举例来说:在“wweell”字符串中找“wel”出现的次数,可以匹配到8次,应输
2009-09-04 07:34:00
2488
原创 蛙蛙推荐:算法练习:最大间隙问题
问题描述:最大间隙问题:给定的n个实数x1,x2...,xn,求这N个数在实轴上相邻两个数之间最大差值。假设对任何实数的下去整耗时是O(1),设计最大间隙问题的线性时间算法。数据输入:输入数据由文件名为input.txt的文本文件提供,文件的第一行有一个正整数N,接下来的一行有N个实数x1,x2...,xn数据输出:程序运行结束时,将找到的最大间隙输出到output.txt里这是《算法设计与
2009-08-26 23:34:00
3097
1
原创 蛙蛙推荐:F#实现并行排序算法
摘要:F#是微软推出的一套函数式编程语言,能在CLR中运行,且和.NET其它语言能很好的交互,又因为它对并发编程的特殊支持,比如不变对象,异步表达式,新的并行基元等,所以很值得入门学习一下。现在我们综合应用这些技术写一个并行排序算法,并对其进行性能测试。思路:并行算法中其中有一种比较常见的方法就是先把要处理的数据分成若干份,然后让不同的线程(CPU)去处理,然后所有的线程处理完成后,把结果汇
2009-08-19 08:34:00
2648
原创 蛙蛙推荐:.net中的游标链表和普通链表对GC的影响
摘要:对普通链表进行添加和删除操作,会创建和销毁对象,如果操作太频繁会对GC造成压力,而游标链表是事先分配好一个大数组,然后用数组的下标代替普通链表的引用指针,这样链表节点的添加删除,只是下标指向的改变,不会创建和销毁对象,相当于自己管理了内存,所以降低了GC的压力。性能测试模型:1、往链表里添加500w个int节点2、把这500w个节点删除3、重复1和2进行10次,分别记录各代gc回收次数
2009-08-01 00:34:00
2557
原创 征求建议:成立北大青鸟找工作团队博客
看网上对北大青鸟的评论,大家长期以来对北大青鸟一直是意见比较多的,光有意见不行,对于那些已经花钱上完北大青鸟但找不到工作的同学来说,我们应该帮他们想想办法。 昨晚没睡好,因为亲戚家的孩子上完北大青鸟出来找不到工作,让我帮忙,去年也是我亲戚家的孩子上完青鸟找不到工作,他们都是上完初中,考不上高中(或者不愿意上高中)去上北大青鸟的。而听家里人说,今年大约有一半初中毕业生考不上高中(估计是各地普
2009-07-27 09:34:00
2761
原创 蛙蛙推荐: LRU缓存的实现算法讨论
业务模型读、写、删的比例大致是7:3:1,至少要支持500w条缓存,平均每条缓存6k,要求设计一套性能比较好的缓存算法。算法分析不考虑MemCached,Velocity等现成的key-value缓存方案,也不考虑脱离.net gc自己管理内存,不考虑随机读取数据及顺序读取数据的场景,目前想到的有如下几种LRU方案算法分析SortedDiction
2009-07-22 22:34:00
2630
原创 蛙蛙推荐:蛙蛙牌XML压缩算法
摘要:在用XML传输数据的时候,XML本身的元素名称,属性名称可能比有效的信息量占的地方还要大,本文示例一种简单实用的算法来进行XML压缩,主要思路是把XML标签和属性用整数来表示以便降低传输量。单元测试代码 class Program { public static string XML = @" ALFKI9572658 One Main
2009-07-13 23:35:00
2854
原创 蛙蛙推荐:程序员基本状况调查统计结果
我用Google表单做了一个关于程序员基本状况的调查报告,包括工作经验,月薪满意度,购房购车情况等信息,以下是简单的分析结果。 1、 你最想从工作中得到什么? 这是道多选题,所以用条形图来展现,看来为钱而工作的人还是最多的,呵呵,但又近30%的人没有选择为薪水而工作,也比较奇怪。同时程序员在工作中最在意的就是成就感和自我价值的实现,公司的管理层也应该尽量让员工得到这些。
2009-07-05 23:35:00
2696
原创 .net自带二进制序列化,XML序列化和ProtoBuf序列化的压缩对比
测试结果:ProtoBuf Length:115BinaryFormatter Length:1177XmlSerializer Length:814xml length:825做了一个各种序列化方案的压缩比例测试,可以看到protobuf序列化后的大小是xml原始格式的8分之一,是xml序列化后的8分之一,是二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的,不过Prot
2009-07-02 23:35:00
3375
原创 蛙蛙推荐:一键定位CPU百分百问题
摘要:当一个.net应用在生产环境CPU突然居高不下,如何快速准确的定位问题所在,并且对实时业务影响最小化?如何不抓Dump也不用live debug就可以知道你的应用在做什么?如何确认你的应用是由于哪个线程的执行造成的CPU升高,该线程正在执行什么代码?分析:CPU升高的原因有很多, 1、有时候应用的负载大了,CPU自然会受业务请求的增加和增高; 2、有时候因为GC回收使用了过高的
2009-06-24 22:35:00
3248
原创 蛙蛙推荐:自己写个分布式监控软件玩
摘要如果你有多台windows服务器需要监控,又不想买很贵的MOM,开源的监控软件部署配置又麻烦,咋办?.net公开了好多监控和管理方面的API,jquery有一些跨浏览器的图表插件,有了这些就可以自己做一个符合自己需求的监控软件。思路:1、要监控一个服务器的运行状况,可能有很多指标,比如某端口是否监听,某进程是否还存在,是否产生了某个EventID的EventLog,某些性能计数器
2009-06-20 14:35:00
2944
原创 疲惫的五月
5.1 5点起床赶火车回家5.2 6点一刻起床参加我哥婚礼5.3 5点一刻起床给我姐家补房顶5.4 正常上班,6点多下班5.5 8点半到公司,7点下班后从公司走回家,总长12公里,用时3小时15分,路上买了个大麻花和一瓶橙汁5.6 白天正常上班,下班后通宵加班,一直到第二天7点到家,打车路上吃了一个3+2饼干和两个切肠5.7 白天没怎么睡着,老被电话打醒,上午不到九点
2009-05-09 20:35:00
2319
原创 谁能把这个程序的性能提升一倍?---并行排序算法
如下,一组4元矢量的排序,如何把排序时间缩减一半?可以用并行算法。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Diagn
2009-04-21 22:35:00
2405
原创 蛙蛙浏览器v1.0 Beta
你是否对IE,Firefox,Opera,傲游等大牌浏览器失去了新鲜感? 你是否有感觉生活太忙打开浏览器不知道看什么的时候? 你是否有工作间隙看会儿网页又怕影响不好的情况? 蛙蛙牌浏览器是一款纯绿色,纯天然浏览器,满足你的新鲜感。 如果你厌倦了各种浏览器,可以尝试使用一下蛙蛙牌浏览器器。 据说它是史上最小的浏览器,只占用很少的桌面空间。 也有人说它是唯一一款上班看网页不怕被
2009-04-19 11:35:00
2684
原创 蛙蛙推荐:设计一个高效的缓存管理服务
蛙蛙推荐:设计一个高效的缓存管理服务摘要:一般大家做的缓存都是实时更新,并且用LRU算法实现缓存过期策略,但当缓存越来越大的时候,对缓存做的线程同步会导致应用的响应便慢。如何更有效的使用缓存,如何提高缓存命中率,如何减少对缓存加锁操作,如何提高缓存的性能,我们来讨论一下。1、找出活跃数据,我们用一种分离的方式来找出活跃数据,单独写一个提取活跃数据的后台程序从数据库里统计出最近一小时查阅次
2009-04-18 00:35:00
693
原创 蛙蛙推荐:设计一个高效的网络服务器用户管理类
蛙蛙推荐:设计一个高效的网络服务器用户管理类摘要:做一个有状态的网络服务端应用,一般需要维护一个在线用户列表,每次用户登录、注销都要修改这个列表,还得考虑超时清理的逻辑,对这个列表的操作大多时候需要用锁来进行线程同步,我们试图来用一种不需要线程同步的方法来做到这些事情。分析:1、我们可以预算好一个系统承受在线用户的上限,比如1w人,或者2w人,这样我们就可以初始化一个固定长度
2009-04-11 00:35:00
639
原创 实现UDP IOCP心得-zt
http://h-lm.spaces.live.com/blog/cns!C523F565A10E3B66!824.entry 2008/11/11实现UDP IOCP心得当前许多资料都是介绍TCP的IOCP的实现,UDP的较少。 1.很多人在讨论UDP是否需要IOCP。借http://jlbookworm.spaces.live.com/blog/cns!e
2009-04-06 14:35:00
2682
原创 整理:[保留] [算法] 超高性能网络编程, Asynchronous network I/O
http://bbs.chinaunix.net/viewthread.php?tid=1214570&extra=&page=1[保留] [算法] 超高性能网络编程, Asynchronous network I/O 为什么是超高性能?因为常见资料太过普通, 没有讨论到核心问题.本贴目的:讨论Linux下的高性能网络编程.热烈欢迎参加讨论, 或提供关键的技术参考资料. 最新的资料
2009-04-06 12:35:00
1303
原创 杨建:网站加速--Cache为王篇
杨建:网站加速--Cache为王篇(2008-12-08 20:14:58) --提升性能的同时为你节约10倍以上成本From: http://blog.sina.com.cn/iyangjian一,Cache, 王道也二,Cache 基本原理介绍三,我划分的3个刷新级别四,我对HTTP协议做的一点创新(?maxage=6000000)五,Yslow优化网站性能的14条军规点评六
2009-04-06 11:36:00
1155
原创 杨建:网站加速--系统架构篇
杨建:网站加速--系统架构篇(2008-12-08 20:14:53) --提升性能的同时为你节约10倍以上成本From: http://blog.sina.com.cn/iyangjian一,系统部署(高并发,可扩展)二,负载均衡LVS(高可用,低成本)三,IDC分布,DNS解析(快速)----------------------------------------------
2009-04-06 11:36:00
1063
原创 杨建:网站加速--服务器编写篇 (下)
杨建:网站加速--服务器编写篇 (下)(2008-12-08 20:08:42) --提升性能的同时为你节约10倍以上成本From: http://blog.sina.com.cn/iyangjian七,NBA js直播的发展历程这一节就谈下这个项目发展过程中所遇到的瓶颈,以及如何解决的。应该是06年吧,当时NBA 比赛比较火,woocall负责高速模式图文直播放,普通模式和动态
2009-04-06 11:36:00
777
原创 杨建:网站加速--服务器编写篇(上)
杨建:网站加速--服务器编写篇(上)(2008-12-08 20:04:03) --提升性能的同时为你节约10倍以上成本From: http://blog.sina.com.cn/iyangjian一,如何节约CPU二,怎样使用内存三,减少磁盘I/O四,优化你的网卡五,调整内核参数六,衡量Web Server的性能指标七,NBA js直播的发展历程八,新浪财经实时行情系统的历史遗
2009-04-06 11:36:00
1021
原创 JavaEye推荐:软件开发的葵花宝典 zt
http://hi.baidu.com/zeorliu/blog/item/4f389894a29b6616d21b700c.htmlhttp://robbin.javaeye.com/blog/338453 软件开发的葵花宝典 zt注:转载,原文已经没有出处了。总是有人问我怎么学习技术,贴出来给大家参考吧。中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害
2009-04-06 11:36:00
476
原创 转:Sina的开源项目:Memcachedb与NCache
http://hi.baidu.com/zeorliu/blog/item/4ba513f4a3b7fbe77609d74e.htmlhttp://www.dbanotes.net/opensource/sina_memcachedb_ncache.html Sina 开发团队的开源项目: Memcachedb 与 NCache作者: Fenng | 可以转载, 转载时务必以超链接形式标
2009-04-06 10:36:00
1058
原创 整理:不用ACE你不知道ACE有多烂,给饱受ACE折磨的弟兄们散分了。
不用ACE你不知道ACE有多烂,给饱受ACE折磨的弟兄们散分了。楼主vcclass(黑山老妖)2006-11-07 15:41:41 在 专题开发/技术/项目 / 网络通信 提问以前没有用过ACE,一直对ACE有非常崇高的敬意,一个网络的跨平台库,应该非常简单,非常不错。可以提供开发效率。今有项目开发,领导让用ACE,非常高兴,有机会练手了,抱着向ACE学习的精神研究ACE,
2009-04-06 10:36:00
2686
原创 蛙蛙推荐:自己写个IIS玩-协议解析篇
这里不是说用System.Web.Hosting.ApplicationHost和System.Net.HttpListener做的那种web server,而是直接用socket api做一个简单的能收发HTTP包的网络服务器,当然也不会完全实现RFC 2616,主要学习探索用。我们先来看HTTP协议解析部分,做一个HTTP协议栈-HttpStatck,大概看一下HTTP协议基础,1、
2009-04-05 10:36:00
788
原创 蛙蛙推荐:简化基于数据库的DotNet应用程序开发
分析 要做一个基于数据库的应用程序,我们有大量的重复劳动要去做,建表,写增删改查的SQL语句,写与数据库表对应的实体类,写执行SQL的c#代码,写添加、修改、列表、详细页面等等。这些活动都是围绕着一个个都数据表来开展的,在.NET领域有很多的OR Mapping的方案,但好多方案用起来好用,但原理很复杂,而且性能也不好把握,所以我们可以做一个轻型的ORM方案。有了ORM框架,根据数
2009-04-01 22:36:00
581
原创 整理:分页存储过程整理
一、TOP n 实现的通用分页存储过程(转自邹建)Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATE PROC sp_PageView@tbname sysname, --
2009-03-26 06:36:00
648
原创 判断一个char[]里是否包含两个连续的/r/n
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public static int ContainsHeaderEndToken(char[] chars, int start, int end) {
2009-03-06 15:36:00
879
原创 蛙蛙推荐:如何编写异步的WebService(不是异步调用WebService)
如何编写异步的WebService(不是异步调用WebService)摘要:我们做webService的时候,如果在处理用户请求的时候需要进行异步IO操作,在异步IO完成前会有一个线程在那里同步等待,正在等待的请求太多的话会大大降低服务的吞吐量,asp.net2.0里有异步的HttpHandler能解决这个问题,可.net2.0没给弄一个异步的webservice,这就需要我们自己去实现
2009-02-28 12:36:00
844
原创 蛙蛙推荐:新学一招,教大家怎么看死锁
新学一招,教大家怎么看死锁 代码如下,3个线程,第一个线程得到锁,Sleep一分钟,后两个线程都等待锁。 class Program{ static List _list = new List(); static object _syncRoot = new object(); static void Main(string[] args
2009-02-04 13:36:00
772
原创 让DotNet2.0使用高性能的读写锁
摘要:做线程同步的时候一般都用Monitor对象或者lock关键字,其实好多场景是对资源读多写少,这时应该使用读写锁,而.net自带的ReaderWriterLock的性能有问题,于是我把.net 3.0的ReaderWriterLockSlim类给提取出来了。关于ReaderWriterLock和ReaderWriterLockSlim的对比,参考如下链接:并发数据结构 : .NET
2009-01-13 17:36:00
1009
原创 蛙蛙推荐:改进同步等待的网络服务端应用
-蛙蛙推荐:改进同步等待的网络服务端应用摘要:服务端收到客户端的请求,如果该请求的处理依赖另一个服务,而且客户端要求同步返回结果,一般得把请求的线程等待一个信号,等请求处理完毕再发送一个信号,给客户端返回结果,但如果这样的同步等待请求并发量很大的话,会很快耗费完线程池线程。思路:ThreadPool的静态方法RegisterWaitForSingleObject是专门解决这个问题
2009-01-12 23:36:00
652
原创 翻译:改进.NET应用程序的性能和可伸缩性(四)-SQL Server性能
摘要:本来是想把SQL Server性能这节分两篇发出来的,但为了完整还是整成一篇发出来吧,从执行计划一节到最后是今天翻的。红色标注的是拿不准的地方,不对的地方大家指正。对于英文差的同学,阅读英文资料是个痛苦的过程,但通过阅读,让我更深入的了解了SQL Server。向上扩容和平面扩容 Optimize the application before scaling up or s
2009-01-02 18:36:00
1660
CHATGPT训练指令模板
2023-03-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人