Skip to main content

Posts

Showing posts from December 16, 2012

黑莓手机

黑莓手机(英语:BlackBerry)是加拿大的一家手提无线通信设备品牌,于1999年创立。其特色是支持推动式电子邮件、移动电话、文字短信、互联网传真、网页浏览及其他无线信息服务。较新的型号亦加入个人数码助理功能如电话簿、行事历等及话音通信功能。大部份BlackBerry设备附设小型但完整的QWERTY键盘,方便用户输入文字。 BlackBerry品牌由Research In Motion(RIM)公司开发,通过移动电话网络提供信息。一些大型企业提供BlackBerry予其行政人员及其他雇员使用,以便他们随时随地收发电邮。 BlackBerry亦为其他品牌的移动电话及个人数码助理推出BlackBerry Connect软件,提供推动式电子邮件服务。 BlackBerry是RIM公司提供的一套完整的端到端的无线移动解决方案,个人和企业用户可以通过该方案,将最新的重要信息(Email,Address book,Calendar等)和重要数据(报告,报表等)适时、主动的通过无线方式推送到用户的BlackBerry专用终端上,使用户时刻得到最新的信息和资料。这套解决方案包括硬件(BlackBerry专用终端)和软件,通常说的“黑莓手机”只是该解决方案的硬件部分。政府客户更可选择端对端加密方案,例如AES。 BlackBerry手机使用的操作系统是BlackBerry OS。 目录     1 CPU     2 型号     3 中国市场     4 断网     5 BlackBerry e-mail client手机     6 禁止     7 参考文献     8 外部链接 CPU 早期的黑莓手机大多使用Intel 80386处理器。[2]最新的9000系列黑莓手机,则配备英特尔 XScale 624MHz CPU,使黑莓手机运行得更快。之前的8000系列黑莓手机,如8700和Pearl都使用ARM XScale ARMv5TE PXA900 312MHz CPU。然而黑莓8707使用Qualcomm 3250 80MHz芯片组,这是由于ARMv5TE ARM的XScale PXA900芯片组不支持3G网络。所以尽管黑莓8707支持3G网络,但由于使用了较差的芯片组,实际上其速度与较慢的EDGE网络差不多。在2011年,较高级的黑莓手机如Bold 9900/993

selecting rows that are the same in one column, but different in another

  X Y DATE 1 20 20120101 1 21 20120101 2 30 20120201 3 40 20120201 3 41 20120301 I want to select any rows that have another row where X is the same, but the date is different, i.e. the answer would be 3 40 20120201 3 41 20120301   SELECT * FROM YourTable WHERE X IN ( SELECT T1 . X FROM YourTable T1 INNER JOIN YourTable T2 ON T1 . X = T2 . X WHERE T1 . DATE <> T2 . DATE );     select distinct t1 .* from table t1 join table t2 on ( t1 . X = t2 . X and t1 . date <> t2 . date );  

As easy as pie

As easy as pie is a popular colloquial idiom which is used to describe a task or experience as pleasurable and simple.[1][2] The idiom does not refer to the making of a pie, but rather to the act of consuming a pie ("as easy as eating a pie") which is usually a simple and pleasurable experience.[2] The phrase is often interchanged with piece of cake, which shares the same connotation.[2] It has been compared to the Chinese idiom "yi ru fan zhang", meaning "very easy", and literally "as easy as turning one's hand over".[

Cookies

Cookie(复数形态Cookies),中文名称为小型文本文件或小甜饼[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。定义于RFC2109。为网景公司的前雇员Lou Montulli在1993年3月所发明。 目录     1 分类     2 用途     3 使用和禁用Cookies         3.1 Chrome浏览器         3.2 Konqueror         3.3 微软 Internet Explorer         3.4 Mozilla Firefox         3.5 Opera         3.6 苹果公司 Safari     4 识别功能     5 反对Cookies者         5.1 识别不精确         5.2 隐私,安全和广告     6 偷窃Cookies和脚本攻击     7 Cookies的替代品     8 外部参考         8.1 外部链接         8.2 注 分类 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。 内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。 用途 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么。 所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。 在刚才的购物场景中,当用户选购了第一项商品,服务器在向用户发送网页的同时,还发送了一段Cookie,记录着那项商品的信息。当用户访问另一个页面,浏览器会把Cookie发送给服务器,于是服务器知道他之前选购了什么。用户继续选购饮料,服务器就在原来那段Cookie里追加新

Friendship

Friend functions In principle, private and protected members of a class cannot be accessed from outside the same class in which they are declared. However, this rule does not affect friends . Friends are functions or classes declared with the friend keyword. If we want to declare an external function as friend of a class, thus allowing this function to have access to the private and protected members of this class, we do it by declaring a prototype of this external function within the class, and preceding it with the keyword friend : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 // friend functions #include using namespace std; class CRectangle { int width, height; public : void set_values ( int , int ); int area () { return (width * height);} friend CRectangle duplicate (CRectangle); }; void CRectangle::set_values ( int a, int b) { width = a; height = b; } CRectangle duplicate (CRectangle

dynamic vs. static libraries

A static library gets compiled into the client. A .lib is used at compile time and the contents of the library become part of the consuming executable. A dynamic library is loaded at runtime and not compiled into the client executable. Dynamic libraries are more flexible as multiple client executables can load a DLL and utilize its functionality. This also keeps the overall size and maintainability of your client code to a minimum. You should think carefully about changes over time, versioning, stability, compatibility, etc. If there are two apps that use the shared code, do you want to force those apps to change together, in case they need to be compatible with each other? Then use the dll. All the exe's will be using the same code. Or do you want to isolate them from each other, so that you can change one and be confident you haven't broken the other. Then use the static lib. DLL hell is when you probably SHOULD HAVE used a static lib, but you used a dll instead, and not all

PI System

Unlike a DCS or HMI that can display real-time data within a short term time horizon, the PI System allows manufacturing sites to view data real-time as well as easily look back at data from years ago. There are times when it's useful to graphically overlay or compare tabular data from multiple time ranges (ex. compare a current production campaign against a known good production run from a year ago). The OSIsoft PI System with real-time data acquisition offers a central repository for data through a facility or across multiple locations. Information can be automatically collected from many different sources (Control systems, Lab equipment, Calculations, Manual Entry, and/or Custom software). Most information is gathered using one of the many OSIsoft and third party PI Interfaces. Users can then access this information using a common set of tools (ex. Excel, web browser, PI ProcessBook) and look for correlations:     Analyze seasonal trends     Determine if utilities is not meetin

我的美国CS面试经验分享

过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾。毕竟自己也是花了大量的时间和精力在这一场场的面试里。所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮助。   开始前的一些说明: 1. 笔者只是一介小本科,虽然留了学,但是留了级,学识浅薄,目光短浅,文章若有不恰之处,恳请各位大牛不吝指正! 2. 笔者面试的岗位均为Software Engineer,俗称“程序猿”。如果读者是非CS专业或没有找此类工作的需求,请ctrl + w。本文更多的倾向于CS技术层面,关于面试仪表妆容礼仪等等的其他问题,请出门右拐。 3. 鉴于保密协议,本文只谈面试准备材料和方法,不涉及任何具体面试题。(当然,你如果单独请笔者吃饭,可以考虑) 4. 本文涉及的内容更多地适用于在美国本土的技术面试。美国的面试更加正式规范,国内同学可做适当参考。 5. 个人认为,面试的成功 = 60%的平时积累 + 30%的考前准备 + 10%的其他因素(如自信、谈吐)。所以,面试的准备对于我们这类凡人来说,异常重要;靠平时积累就能虐了面试官的大牛,不在本文考虑之列。    我面过的公司: 公司 时间 岗位 地点 过程 百度 2010年 实习   中关村总部 3轮onsite Microsoft 2011上半年 实习 西雅图总部 1轮on-campus + 4轮onsite Bloomberg 2011上半年 实习 纽约总部 1轮网

时间数列

     内涵 时间序列是用时间排序的一组随机变量,国内生产毛额(GDP)、消费者物价指数(CPI)、台湾加权股价指数、利率、汇率等等都是时间序列。 时间序列的时间间隔可以是分秒(如高频金融数据),可以是日、周、月、季度、年、甚至更大的时间单位。 时间序列是计量经济学所研究的三大数据形态(另两大为横截面数据和纵面数据)之一,在总体经济学、国际经济学、金融学、金融工程学等学科中有广泛应用。 时间序列变量的特征     非平稳性(nonstationarity,也译作不平稳性,非稳定性):即时间序列变量无法呈现出一个长期趋势并最终趋于一个常数或是一个线性函数     波动幅度随时间变化(Time-varying Volatility):即一个时间序列变量的方差随时间的变化而变化 这两个特征使得有效分析时间序列变量十分困难。 平稳型时间数列(Stationary Time Series)系指一个时间数列其统计特性将不随时间之变化而改变者。 传统的计量经济学的假设     假设时间序列变量是从某个随机过程中随机抽取并按时间排列而形成的,因而一定存在一个稳定趋势(stationarity)     假定时间序列变量的波动幅度(方差)是固定的(这明显不符合实际,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数) 这样的假设使得传统的计量经济学方法对实际生活中的时间序列变量无法有效分析。克莱夫·格兰杰和罗伯特·恩格尔的贡献解决了这个问题。 非平稳性的解决 克莱夫·格兰杰解决了这个问题。 虽然单独看不同的时间序列变量可能具有非稳定性,但按一定结构组合后的新的时间序列变量却可能是稳定的,即这个新的时间序列变量长期来看,会趋向于一个常数或是一个线性函数。 例如,时间序列变量X(t)非稳定,但其二阶差分却可能是稳定的;时间序列变量X(t)和Y(t)非稳定,但线性组合X(t)-bY(t)却可能是稳定的。 分析非稳定的时间序列变量,可从寻找结构关系入手(例如寻找上述常数b),把非稳定的时间序列稳定化。 共整合性 克莱夫·格兰杰在1981年的一篇论文中引入了“共整合性”(cointegration,也译作协整)这个概念。 如果上述常数b存在,那么原时间序列X(t)和Y(t)就具共整合性。 格兰杰和怀思(Weiss)合著的1983年的一篇论文中提出了“格兰杰表述定理”(Granger

How to Enable Mobile Version of Your Blog in Blogger

How does a visitor read your content or view your blog? Mostly they will visit your blog through internet browser on their computer. Or some may have already subscribed to your blog updates via email or through your blog feed . And next one which would be most considerate is mobile. Do users view you blog via mobile devices? You can find it out via Statistics tab on Blogger Dashboard. Else you can make use of user tracking tools to find out how many of mobile users reading your blog frequently. Unlike desktop web browser, mobile devices got small screen to view your content. So you have to think about optimizing your blog for mobile users. Don't you think so? Why You Should Go Mobile? As never before, now mobile platforms getting more and more closer to users. Mobile web is getting more important to users. M ore readers are now use their mobile devices or smartphones to browse web and read sites easily, on the go.  As a report , mobile now accounts for 10% of i

madison 印象

去了madison, wisconsin, 终于去了一个新地方。 不会写游记,也从来读 不进游记,只有杂七杂 八的一点印象: -- 从chicago往m adison开,两边 是安静的玉米地。我想 ,ll也曾经这样路过 吧。 -- 过了四个toll station,郁闷 死了,还是南方好。 -- 虽然是盛夏,晚上很凉 ,有人穿着冬天的衣服 ,还有人干脆裹着被子 在街上走。 -- 很典型的univer sity town,有很多小店 和自由的年轻人,像a thens,chap el hill,和东岸一切 平凡的小town。可 是另一个角落,静谧破 旧的房屋和街道,又像 寥落时的new orleans。湖岸 边车来车往的景象,可 以冒充一下玄武湖畔。 -- 冰淇淋店出奇得多。后 来方知,这里盛产奶制 品。我的确吃到了最好 吃的冰淇淋,可惜是在 last minute;如此后 知后觉。

std::nothrow

constant std::nothrow                    extern const nothrow_t nothrow; Nothrow constant This constant value is used as an argument for operator new and operator new[] to indicate that these functions shall not throw an exception on failure, but return a null pointer instead. By default, when the new operator is used to allocate memory and the handling function is unable to do so, a bad_alloc exception is thrown. But when nothrow is used as argument for new, it returns a null pointer instead. This constant (nothrow) is just a value of type nothrow_t, which only purpose is to trigger an overloaded version of function operator new or operator new[] that takes an argument of this type. In C++, the new operator can be overloaded to take more than one parameter: The first parameter passed to the operator new function is always the size of the element type to be allocated, but more arguments can be passed to this function by enclosing them in parentheses. For example: int * p = new (x) int