缩略图

如果为每一张图片都生成某一比例的缩略图,显的有些浪费。而有时候甚至是无法做到。有时候需求的比例总是会有不同,也许到手机平台了,网站上的比例其实也并不符合要求。所以按用户需要什么类型的图片动态生成。也就是url请求的时候动态生成相应比例的图片就可以了。当然有一些经常访问的图片还是预先定义好,不能一概而论。

Joe Lencioni的PHP解决方案via

1、通过类似<img src=”/image.php/image-name.jpg?width=100&height=100&image=/path/to/image.jpg”  /> 路径动态生成
2、自带Cache规则(MD5路径加密的Hash),减少重复生成。

但有个很不方便的地方就是imge路径只能是本地图片,所以修改了代码,可以将image直接访问http,并调整了代码顺序,减少了请求的次数。via

如果担心效率问题:http://groupface.fetiononline.com/ShowGroupPortrait.ashx?GroupId=4146859&Size=96 看看这个网址就明白了。

GA支持Mobile统计

又见高人!同时又是有些郁闷的消息。GA将在最近支持Mobile!!。上个月开始计划的统计平台,而且当时还苦苦的寻找是否可以利用GA的方法。发现没有官方支持,民间山寨的总是扼杀几率太大。
现在官方说话了,而且还有aspx代码参考。不知道说什么好了,具体地址:http://www.google.com/analytics/googleanalyticsformobile.zip

怀着激动的心情看了一下文档:

1:需要在Server端添加代码
2:申请一个GA帐号,将原来的UA-XX替换成MO-XX
3:页头添加一段code(主要获取请求中包含的信息等)
4:页尾添加一段code(主要是一个图片,将结果get方式传个GA)

不过这个也是测试阶段,GA不能保证都正常。明天准备测试一下。

拥堵de队列

人造的拥堵和高并发,在有缓存和队列情况下的表现:

缓存、队列

直接处理

下载:performance-msc

多线程多CPU的控制

看到tu豆关于多核CPU的使用。也就借鉴过来。虽然是不同的技术,不同的系统,但原理是一个。就是有效的控制CPU的使用,特别是多核时代。

先看看MSSQL2005在多核的情况下的设置

再来看看我的实现:一台系统上跑了几个关键作业。如果我有2个核,我希望分配给指定应用指定的CPU(多核还是多CPU不在此讨论)。

A应用程序有两个线程:

ThreadStart ts = new ThreadStart(ThreadHandler);
Thread thread = new Thread(ts);
thread.IsBackground = true;
thread.Start();

ThreadStart ts1 = new ThreadStart(ThreadHandler1);
Thread thread1 = new Thread(ts1);
thread1.IsBackground = true;
thread1.Start();

这种情况下CPU可是100%的使用率。2核的CPU已经无法进行别的操作。

而如果使用下面的代码CPU将一直控制在50%(只在一个核上运行),效果很满意。

Process.GetCurrentProcess().ProcessorAffinity = (System.IntPtr)1;

ThreadStart ts = new ThreadStart(ThreadHandler);
Thread thread = new Thread(ts);
thread.IsBackground = true;
thread.Start();

ThreadStart ts1 = new ThreadStart(ThreadHandler1);
Thread thread1 = new Thread(ts1);
thread1.IsBackground = true;
thread1.Start();

有了这样的控制,你的某些耗时长的应用就可以很好的解决了。

同时感谢 Ricky两位的帮忙。

用于测试的辅助代码

ManagementClass m = new ManagementClass(“Win32_Processor”);
ManagementObjectCollection mn = m.GetInstances();
Console.WriteLine(“CPU个数:” + mn.Count.ToString());
ManagementObjectSearcher MySearcher = new ManagementObjectSearcher(“SELECT * FROM Win32_Processor”);
foreach (ManagementObject MyObject in MySearcher.Get())
{
Console.WriteLine(“主频:” + MyObject.Properties["CurrentClockSpeed"].Value.ToString());
}

西溪湿地

公司上周六周日出去旅游了。只能说都被《非诚勿×》骗了。在艺术家的眼里那是一片绿地。

DSC02348
游船上景色

DSC02372
就是这么一艘让人看了无语的船

DSC02478
如果没看到这个,我觉得西溪是白来了。这是水下湿地观察点。厚实的玻璃深入到湿地底部,像看切面图一样观察。很有创意!

DSC02481
水中长廊

DSC02495
惯坏的孩子,没上次住的白鹭湾的舒适

DSC02508
酒店里的别墅,在外面吃早饭,欣赏景色,很惬意!

DSC02506
美丽的黑天鹅

DSC02534

茶文化博文馆。馆不大,公益性质,如果要讲解需要收费!

WAP开发中使用Google Map(静态地图的偏移)

最近WAP站点新增的地图功能。因为WAP网站的特殊性,所以就只能使用静态地图。Google静态地图的使用参见。如果希望提高效率,再架设一层图片缓存,而且图片缓存这一层很有必要。

wapmap1

偏移量的计算

lat、lng 起始中心点
lat1、lng1 偏移后的中心点
top、lef偏移量
z地图缩放级别

public string StaticMapMove(double lat, double lng, double top ,double left,int z)
{
double lat1;
double lng1;
int lm = z – 16;//地图的缩放级别16

lat1 = lat + top / 100000 / Math.Pow(2,lm);
lng1 = lng + left / 100000 / Math.Pow(2, lm);

}

这个是关键实现代码,具体比例大家要调试。地图的尺寸、缩放比例都会影响到这些。

一秒之后

想到西铁城的广告,也就想到了今天比较切合的一句话“前一秒我还是你的BF,这一秒我已经是你的LG”。民政局的整个过程也就25分钟,但这25分钟却花了很多年的经营,而且今天是一个新的开始。我不相信天长地久,我也不知道未来会如何,但两人的彼此珍惜和幸福经营是我们懂得的。港汇喷水池、地铁末班车、被窝短信、披星戴月公交车。感叹这些事情也是曾经我所为乎!

今天请了一天假。本来是不打算请的,我说了一句话“我还要赶去上班噢!”,结果被MM说了将近2周,也成为了我们生活的一段“俚语”。之后MM仿效我的语气“我还要赶去上课哦”,“我还要赶着吃饭噢”都冒出来了。

正好也是周二,电影都是半价。结果柯达清一色的《建国××》,最后永华看的《大明宫》。这难道就是周二的场次,这一天我们看了一场唐朝历史教育片。

逛街对于男生来说很多时候不是银子问题(爱你的女生会看好你的钱包),而是体力问题。其实分析下来到不是女生真的体力好,而是拎包的活都男生干了。今天这样的日子,埋怨是不敢的,否则又会被MM当成话柄,用于日后的“佐证”。所以秉承逛街哲学“逛街不是我的爱好,但是和美女逛街绝对是我的一大癖好”,从徐家汇再转战南京路。夜幕降临后,终于可以回家了。

最后用MM的GTalk话结束这一天“晚安,已婚人士的第一天”

WM6.5餐饮版本

最近能说的事情挺多的。诺基亚2009年“创新者召集令”上公司获得了第一,后来的消息也知道我们获得了世界第二!API的运用也算是有了重要实践。WCF的使用也有了实例!
目前API支持的系统有很多,也包括最近在测试的WM6.5。10月上旬MS的WM6.5会正式发布了,也许能在发布会上看到。发几张有趣的WM版本图。

ss3_conew2

ss2_conew2

太阳岛之行

最近一直在忙API的事情。改进改进再改进,老代码的问题也的确有不少。上周六、日部门出去活动了。可以带家属,偶带了MM一起出行,开心不少。但基本我就变成搬运工了,用MM的话来说“和BF出去就是好,不用提行李”

中午吃饭的地方,味道还可以。早上的自主餐也是在这里解决的。
DSC03636

吃玩饭后我们去游泳了。这个游泳池就在吃饭的后面。商家也特意开了玻璃,可以边吃饭边欣赏游泳池噢!
游泳池

拍的照片没什么人,其实到了3点多,人还是蛮多的。有人的风景其实更美!
吃好了饭,大家自由活动了。岛上有免费的接送班车到相应的娱乐地点。我和MM去了骑马。因为MM上次来没敢骑,到我来了就敢骑了。这个逻辑就是典型的“怕死还得拿上一个垫背的!”

DSC03639

平时第一次这么近距离的接触马!记得小时候也看过,但好像没这么大。马的脸真的好大!好大!
DSC03637

骑马的感觉不是很妙,太颠簸了。马背上的生活,我是不喜欢。下来的时候,我的左腿都磨破皮了。同事说我做的姿势有问题!

打Golf的地方!俺没去,有同事把手都给打破了。同事的外挂,美女噢!

高尔夫球场

—=待续=—

我们晚上入住的地方,只能说一般吧,环境还可以!

别墅2

.NET WAP网站开发系列

应德军兄的要求,完成了WAP2.0开发相关的文章。想想这个系统也写到了第3篇,不知道WAP3.0的时候,是否还会继续。
从最先的.NET控件,到WML1.1,再到WAP2.0。对.NET WAP网站的开发总结也一直在进行的。其中遇到了很多问题,有解决了,也有正在想办法解决的。这些经验分享也希望对大家有用。