学英文的儿歌

一个driver, 掉进river, 生命over。
太有才了。有空让小孩背背!

英文 三字趣味经:

我家dad,脾气bad,让我sad。
有只cat,非常fat, 专吃rat。
放下plate,赶到gate,已经late。
清晨wake,来到lake,钓上snake。

撇下net,鱼没get,衣服wet。
为捉pest,从不rest,本领best。
一只pig,非常big,把洞dig。
没给tip,把我lip,装上 zip。

一只kite,颜色white,被狗bite。
学会ride,妈妈pride。
清晨jog,带上dog,踩到frog。
轻轻hop,跳上top, 唱起pop。

把眼close,用我nose,去闻rose。
喝着coke,听着joke,把腰broke。
举着gun,瞄准sun,不停run。
小小bug,把我hug。

找个excuse,借车use,遭到refuse。
假装mute,真是cute。
开着car,向着star,路途far。
想变smart,必须start ,学习art。

一个driver,掉进river,生命over。
一个robber,专抢 rubber。
穿上shirt,脱下skirt,扔进dirt。
这只bird,总跑third。

个子short,喜欢sport,跑到airport。
拿着fork,吃着pork。
一个nurse,丢了purse。
买只turtle,颜色purple。

一只goat,穿件coat,上了boat。
一片oat,卡在throat。
燃烧oil,直到boil,倒进soil。
是否join,抛起coin。

带上hook,来到brook,水面look。
手拿book,一边look,开始cook。
炎热noon,跳上spoon,飞到moon。
一个fool,掉进pool,真是cool。

西瓜round,长在ground,被我found。
一只mouse, 穿件blouse, 走进house。
天在snow, 风在blow,树在grow。
秋风follow,树叶yellow,落到pillow。

不知cow,近况how,去问now。
一座town,不停down,快要drown。
一只bee,躲进tree,没人see。
悬崖deep,开着jeep,莫要sleep。

抱着Barbie,吃着cookie, 看着movie。
被我niece,摔成piece。
丢了glue,没有clue,脸气blue。
手拿tissue,排好queue。

一颗pea,掉进sea,泡壶tea。
身体weak,爬上peak,无力speak。
吞进lead,摸摸head,已经dead。
吃着bread,报纸spread,开始read。

不停train,没 有pain,哪有gain。
把手raise,老师praise。
小狗paw,那根straw,把画draw。
坐在lawn,学习law。

被窝cozy,床上lazy,真是crazy。
抱着puppy,心里 happy。
如果shy,不敢try,无机会fly。
不停cry,眼泪dry,下锅fry。

很多day,没发pay,无话say。
天空gray,无心play ,回家stay。
顽皮monkey,捡起key,扔向donkey。
为了honey,节省money。

有个boy,玩着toy,心中joy。
跳进soy,尽情enjoy。
一只hare,居然dare,对我stare。
困难share,互相care,赶走scare。

天气fair,凉爽air,吹拂hair。
崭新chair,滚下stair, 需要repair。
昨天fire,今天hire,后天retire。
扑灭fire,真是tire。

离我near,含着tear,叫我dear。
一头bear,裙子wear,采摘pear。
一只deer,举起beer, 大喊cheers。
这个engineer,事事pioneer。

洗完face,系好lace,参加race。
吃着rice,加点ice ,口喊nice。
听听music,变变magic,吃吃garlic。
看完comic,野外picnic。

动作quick,把只cock,藏进sock。
脱下jacket,忘记 ticket, 还在pocket。
同学each,手拿peach,来到beach。
观众watch,激 烈match,球来catch。

天气sunny,身无penny,感觉funny。
最快runner, 成了wIinner, 享受dinner。
拿起ink,不加think,仰头drink。
敌人tank,装上bank,老天thank。

一首song,歌词long,总唱wrong。
山路along,跑步long,身体strong。
像个king,插上wing,不停swing。
美好spring,歌儿 sing,鲜花bring。

一头fox,躲避ox,藏进box。
忘背text,绝无next。
身体ill,买来 pill,堆成hill。
一根needle,掉进noodle。

饭后hurry,书包carry, 迟到sorry。
我家parrot,爱吃carrot,
做个dream,掉进stream, 大声scream,
穿着dress,下着chess, 结果mess.

一辆truck,满载duck,一路luck。
碰到trouble,努力double。
小小age,读读page,提高wage.
打开fridge, 端出porridge, 扔下bridge.

他很tough, 喝酒enough,从不laugh。
心中wish,钓到fish,做成dish。
飞机crash,烧成ash,损失cash。

一个youth,张开mouth,吹到south。
洗完bath,学 习math。
我的mother, 生个brother, 想要another.
寒冷weather, 身披leather, 头戴feather.

高高sky ,不知why,掉下spy。
站在peak,对天speak。
到了night,打开light,保护sight。
方法right,坚持fight,前途bright。

一只chick,动作quick,把我kick 。
吃饭quiet,注意diet。
猫吃mice,味道nice,想吃twice。
这对twin,总是win!

 

发表在 社会生活 | 12条评论

UfqiNews有福常在Google Books亮月亮科技Apache Softwares

JavaScript tidbits

如下是从Google JavaScript Style Guide里摘录的,感兴趣的同学可以翻译一下。
True and False Boolean Expressions

The following are all false in boolean expressions:

  • null
  • undefined
  • '' the empty string
  • 0 the number

But be careful, because these are all true:

  • '0' the string
  • [] the empty array
  • {} the empty object

This means that instead of this:

while (x != null) {

you can write this shorter code (as long as you don’t expect x to be 0, or the empty string, or false):

while (x) {

And if you want to check a string to see if it is null or empty, you could do this:

if (y != null && y != '') {

But this is shorter and nicer:

if (y) {

Caution: There are many unintuitive things about boolean expressions. Here are some of them:

  • Boolean('0') == true
    '0' != true
  • 0 != null
    0 == []
    0 == false
  • Boolean(null) == false
    null != true
    null != false
  • Boolean(undefined) == false
    undefined != true
    undefined != false
  • Boolean([]) == true
    [] != true
    [] == false
  • Boolean({}) == true
    {} != true
    {} != false

 

Conditional (Ternary) Operator (?:)

Instead of this:

if (val != 0) {
  return foo();
} else {
  return bar();
}

you can write this:

return val ? foo() : bar();

The ternary conditional is also useful when generating HTML:

var html = '<input type="checkbox"' +
    (isChecked ? ' checked' : '') +
    (isEnabled ? '' : ' disabled') +
    ' name="foo">';

 

&& and ||

These binary boolean operators are short-circuited, and evaluate to the last evaluated term.

“||” has been called the ‘default’ operator, because instead of writing this:

/** @param {*=} opt_win */
function foo(opt_win) {
  var win;
  if (opt_win) {
    win = opt_win;
  } else {
    win = window;
  }
  // ...
}

you can write this:

/** @param {*=} opt_win */
function foo(opt_win) {
  var win = opt_win || window;
  // ...
}

“&&” is also useful for shortening code. For instance, instead of this:

if (node) {
  if (node.kids) {
    if (node.kids[index]) {
      foo(node.kids[index]);
    }
  }
}

you could do this:

if (node && node.kids && node.kids[index]) {
  foo(node.kids[index]);
}

or this:

var kid = node && node.kids && node.kids[index];
if (kid) {
  foo(kid);
}

However, this is going a little too far:

node && node.kids && node.kids[index] && foo(node.kids[index]);

 

Iterating over Node Lists

Node lists are often implemented as node iterators with a filter. This means that getting a property like length is O(n), and iterating over the list by re-checking the length will be O(n^2).

var paragraphs = document.getElementsByTagName('p');
for (var i = 0; i < paragraphs.length; i++) {
  doSomething(paragraphs[i]);
}

It is better to do this instead:

var paragraphs = document.getElementsByTagName('p');
for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) {
  doSomething(paragraph);
}

This works well for all collections and arrays as long as the array does not contain things that are treated as boolean false.

In cases where you are iterating over the childNodes you can also use the firstChild and nextSibling properties.

var parentNode = document.getElementById('foo');
for (var child = parentNode.firstChild; child; child = child.nextSibling) {
  doSomething(child);
}
发表在 编程技术, 计算机技术 | 2条评论

UfqiFina有福金融UfqiWork有福工坊UfqiNews有福常在Google Books

在gMIS更新中的几点备忘

昨天在进行gMIS的功能开发时梳理了一些情况,记录如下,供以后gMIS开发及在其上的二次开发参考。

该次开发主要是为gMIS引入可视化编辑器的任务。

1.

在gMIS的设计中,特殊I/O应该走extra目录,使用外挂的方式进行非常规的输入和输出操作。在本次可视化编辑器的探索中,一开始走了弯路,在字段上,显示尝试了UEditor,KindEditor和XhEditor,均告失败,由于gMIS的特殊结构,这些成熟的编辑器也无法在其中顺利运行。

在这个思路上走得更远的是,自行改制了 UFQIEditor, UFQIEditor相对于其他编辑器来说,精炼了很多,改制完成后,尝试将其嵌入到gMIS中调试时,发现也不行,程序中,连window,document等基本的JavaScript运行和操作DOM的基本环境都没有。

这个方向看来真的有问题。于是赶紧撤出来,使用“特殊I/O走extra目录”来处置的思路。

在window.open和iframe两种方式对比中,选择使用iframe方式。

2.

gMIS严重依赖GTAjax,经由GTAjax通信的页面,其中的JavaScript程序基本无法得到准确执行。这主要是因为GTAjax中大量使用iframe方式递交用户的请求,iframe本身会构造一个全新的document对象,因此通过GTAjax带来的JavaScript的执行,也只是在iframe内部,如果要通过在iframe内部的JavaScript来改变当前页面的行为或者状态,就需要使用parent之类的窗口继承关系。

3.

gMIS只有一个HTML页面运行环境,所有的操作都在一个HTMLObject中进行,这为程序的运行提供了便利,在处理复杂问题时,也容易导致问题,需特别注意。

这个HTMLObject的组成包括:

HTML —- 通过GTAjax 方式 include进来一个 ido的内容文件 —- 在ido的元素上做进一步的操作 —- 后台程序jdo负责处理这些操作,对其应答 —- 循环往复….

 

 

发表在 -gMIS, 计算机技术 | 留下评论

护发素发膜正品修复干枯免洗家用护发补水顺滑女士发热焗油膏捐助乌克兰Help Ukraine老板选址BossXuanzhiUfqiFina有福金融

在浏览器中启用自然域名(NatureDNS)的方法

刘振兴,2013年7月

自然域名(NatureDNS)是网民使用各自的母语来访问网络资源的一种域名表达方式(形如“-ufqi”)。现有域名系统(DNS)存在问题,带着对这些问题的研究,我们推出了自然域名系统。

自然域名的详细说明及演示、案例,请前往http://ufqi.com/naturedns,在已经支持自然域名的浏览器中输入–naturedns 即可抵达,如使用“–中国工商银行”代替www.icbc.com.cn来访问工行网站,使用“–工信部”代替www.miit.gov.cn来访问工信部网站。

我们知道全面升级现有DNS系统到自然域名系统是一项长期、复杂的工程,需要计算机行业各个领域的通力合作、共同推进。

目前,我们发现一条向公众演示自然域名的先进性的方法之一,在网络浏览器中首先启用对自然域名的支持。这里有两个原因促使我们进行这项探索:1)浏览器是公众使用互联网最频繁的应用之一;2)现代浏览器多数已具备推送更新、实时更新的功能。

在浏览器中启用对自然域名的支持,对公众来说具有很好的亲和性和便利性,免去记忆各种复杂、多级的英文域名,使用母语的品牌名称即可快速抵达,同时也是浏览器先进性的一种体现。

在浏览器中启用对自然域名的支持可以有两种方式:

1.      将浏览器的默认搜索引擎设置为UFQI-NatureDNS[1],浏览器侦测到用户输入的是非常规域名时,请求UFQI-NatureDNS进行自然域名解析,域名匹配成功直接抵达目标站点,匹配不成功,继续前传请求到浏览器设定的“默认搜索引擎”进行搜索,并返回相应结果,该过程描述为:

support-naturedns-in-browser-01

Figure 1 替换默认搜索引擎

 

2.      在浏览器中内置用户输入字符串的过滤模块[2],如果用户输入了自然域名格式(/^\-[^\-]+[.*][^\-]+$/)的查询字符串则将请求发往UFQI-NatureDNS,否则按此前的流程将请求转给原来的默认搜索引擎,其过程可以描述为:

support-naturedns-in-browser-02

Figure 2 内置字符串判断模块

 

[1]关于使用UFQI.NatureDNS的具体参数设置,请参考 http://ufqi.com/naturedns

[2]建议使用此方式,将自然域名的识别与过滤集成到浏览器内不影响现有默认搜索引擎模式。

发表在 -NatureDNS/-自然域名, 计算机技术 | 4条评论

京东制作护发素发膜正品修复干枯免洗家用护发补水顺滑女士发热焗油膏捐助乌克兰Help Ukraine老板选址BossXuanzhi

12 Ways to Spot a High Achiever/12种方法找到优秀人才

(这或对写好一份简历有很好的指导意义)

As part of my day job, I run a company that trains recruiters and hiring managers on how to attract, assess and hire top performers using Performance-based Hiring. To overcome the impact of first impressions – the primary cause of most hiring errors – we advise using the first 20-30 minutes of the interview to look for the Achiever Pattern during the resume review. This indicates the candidate is in the top 25% of his or her peer group. None of this has to do with academic credentials, how smart someone is, their communication skills, personality or first impression. It all has to do with how others have recognized the candidate’s on-the-job performance.

Being pretty cynical and somewhat analytical, the following is how I go about spotting a high achiever. (Note: job-seekers can use this information to make sure the Achiever Pattern is easy to spot on both your resume and LinkedIn profile if you have it. If you’re not quite there yet, use these tips to find a job that offers you the chance to get into this elite 25%. See point 6 below for the importance of this.)

  1. They’ve been assigned difficult challenges ahead of their peers. The best people, including engineers, accountants, and sales reps, plus everyone else, are typically assigned tasks, clients and projects that are normally given to more senior people. If it happens regularly, especially during the first year of each new job, you’ve found tangible evidence of the Achiever Pattern.
  2. They volunteer or ask to be assigned to projects over their heads. A person needs a lot of confidence to take on a task where they have little or no experience. If they’re successful at it multiple times, the person deserves double bonus points.
  3. They’re put on important multifunctional teams. Managers assign their strongest staff members to critical team projects. Look for a consistent pattern, including teams growing in size, importance and impact over time. This is great evidence of strong team skills, as well as the Achiever Pattern.
  4. They get a chance to demonstrate their abilities to more senior executives. Managers put their subordinates in front of a company exec to both demonstrate the manager’s good judgment, and to help the subordinate get more exposure.
  5. They get promoted more rapidly. Look for promotions due to exceptional performance. More proof: a consistent track record of increasing responsibility at different companies.
  6. The reason they change jobs is long-term career focused. For each job change, ask the person how they got their new job, why they changed jobs, and if these objectives were met. Changing and accepting jobs is one of the most important decisions a person can make. Make sure you hire people who have made them wisely.
  7. They’ve established and achieved major goals. Rather than asking about a person’s goals, ask first about the biggest goal they’ve already achieved. Then ask how they’re going about achieving their next one.
  8. They’ve been rehired by a former manager. Top managers tend to rehire their best subordinates from previous companies.
  9. They rehire their former subordinates. Ask more seasoned managers if they’ve ever hired someone they’ve worked with in the past. Top people follow other top people.
  10. They’re the “go to” person inside their department. Find out where the person has been recognized for outstanding work and where they’ve coached others. Map this to what you need done.
  11. They’ve received formal recognition outside of their department. The best people have reputations beyond their department and function. It could be a company award, a white paper, a fellowship, speaking at a conference, or assigned for special training.
  12. They were mentored and/or mentored others. Just ask, and look for a continuous pattern. Then find out why, and the results.

When I was a full-time executive recruiter, my goal was to find talented people who had a track record of top performance. Finding the Achiever Pattern allowed me to use facts to counter a hiring manager who conducted a superficial or biased interview. More important, it provided hiring managers a concrete way to trade-off a contrived list of skills and experiences with a track record of exceptional performance. As a minimum, just looking for these factors as soon as you meet a person will lessen the impact of first impressions. Many times candidates overlook these important factors, so it’s up to the interviewer to seek them out. Once you hire a few top people this way, you’ll realize it’s worth the extra effort.

—–

有兴趣的人可以翻译一下。

 

发表在 社会生活 | 3条评论

护发素发膜正品修复干枯免洗家用护发补水顺滑女士发热焗油膏捐助乌克兰Help Ukraine老板选址BossXuanzhiUfqiFina有福金融

曼德拉告诉你三句话

–
1、在事情未成功之前,一切总看似不可能;
2、生命中最伟大的时刻不在于永不坠落,而在于坠落后总能再度升起;
3、怨恨如同牢狱,原谅别人,等于升华自己。 今天是曼德拉95岁生日和第四个曼德拉国际日。此刻的他正与死神搏斗。祝他生日快乐!

mandela

还记得起Beyond乐队的有名歌曲《光辉岁月》吗? 一定要听粤语版的,就是献给曼德拉先生的赞歌。
“今天只有残留的躯壳,迎接光辉岁月,风雨中抱紧自由;一生经过彷徨的挣扎,自信可改变未来,问谁又能做到….”
2010年南非世界杯开幕前,国际足联主席布拉特曾说,只要曼德拉出现在开幕式上,就是“南非世界杯的胜利”。但令人悲伤和遗憾的是,世界杯开幕之前,曼德拉13岁的曾孙女泽娜妮遭遇车祸身亡,曼德拉家庭陷入悲痛之中,92岁的老人也确定不会参加世界杯开幕式。
布拉特11日给曼德拉写信表示哀悼和慰问,并对他无法出席开幕式表示理解。曼德拉错过了开幕式,而世界则错过了他们最想看到的“巨星”。
这次南非举办世界杯,曼德拉居功至伟。2004年5月15日在苏黎世的举办地投票大会上,曼德拉亲临现场发表激情演说,并为南非赢得关键的支持。可以说,这是曼德拉足球情结的一次胜利。当年在罗本岛监狱服刑期间,他走出不足5平方米的囚室,穿着46664号“囚衣”,组织过多场足球比赛。

 

refer: http://ufqi.com/bbs/thread-24-1-1.html

 

—-

斯人已逝。

2013.12.05

 

发表在 社会生活 | 2条评论

捐助乌克兰Help Ukraine老板选址BossXuanzhiUfqiFina有福金融UfqiWork有福工坊