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不能保证都正常。明天准备测试一下。

多线程多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);

}

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