阿里IM技术分享(六):闲鱼亿级IM消息系统的离线推送到达率优化
本文由阿里闲鱼技术团队逸昂分享,原题“消息链路优化之弱感知链路优化”,有修订和改动,感谢作者的分享。
十载的南岔网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整南岔建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“南岔网站设计”,“南岔网站推广”以来,每个客户项目都认真落实执行。
闲鱼的IM消息系统作为买家与卖家的沟通工具,增进理解、促进信任,对闲鱼的商品成交有重要的价值,是提升用户体验最关键的环节。
然而,随着业务体量的快速增长,当前这套消息系统正面临着诸多急待解决的问题。
以下几个问题典型最为典型:
1) 在线消息的体验提升;
2) 离线推送的到达率;
3) 消息玩法与消息底层系统的耦合过强。
经过评估,我们认为现阶段离线推送的到达率问题最为关键,对用户体验影响较大。
本文将要分享的是闲鱼IM消息在解决离线推送的到达率方面的技术实践,内容包括问题分析和技术优化思路等 ,希望能带给你启发。
(本文已同步发布于: )
本文是系列文章的第6篇,总目录如下:
《 阿里IM技术分享(一):企业级IM王者——钉钉在后端架构上的过人之处 》
《 阿里IM技术分享(二):闲鱼IM基于Flutter的移动端跨端改造实践 》
《 阿里IM技术分享(三):闲鱼亿级IM消息系统的架构演进之路 》
《 阿里IM技术分享(四):闲鱼亿级IM消息系统的可靠投递优化实践 》
《 阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践 》
《 阿里IM技术分享(六):闲鱼亿级IM消息系统的离线推送到达率优化 》(* 本文)
从数据通信链接的技术角度,我们根据闲鱼客户端是否在线,将整体消息链路大致分为强感知链路和弱感知链路。
强感知链路由以下子系统或模块:
1) 发送方客户端;
2) idleapi-message(闲鱼的消息网关);
3) heracles(闲鱼的消息底层服务);
4) accs(阿里自研的长连接通道);
5) 接收方客户端组成。
整条链路的核心指标在于端到端延迟和消息到达率。
强感知链路中的双方都是在线的,消息到达客户端就可以保证接收方感知到。强感知链路的主要痛点在消息的端到端延迟。
弱感知链路与强感知链路的主要不同在于: 弱感知链路的接收方是离线的,需要依赖离线推送这样的方式送达。
因此弱感知链路的用户感知度不强,其核心指标在于消息的到达率,而非延迟。
所以当前阶段,优化弱感知链路的重点也就是提升离线消息的到达率。换句话说, 提升离线消息到达率问题,也就是优化弱感知链路本身 。
下图一张整个IM消息系统的架构图,感受下整体链路:
如上图所示,各主要组件和子系统分工如下:
1) HSF是一个远程服务框架,是dubbo的内部版本;
2) tair是阿里自研的分布式缓存框架,支持 memcached、Redis、LevelDB 等不同存储引擎;
3) agoo是阿里的离线推送中台,负责整合不同厂商的离线推送通道,向集团用户提供一个统一的离线推送服务;
4) accs是阿里自研的长连接通道,为客户端、服务端的实时双向交互提供便利;
5) lindorm是阿里自研的NoSQL产品,与HBase有异曲同工之妙;
6) 域环是闲鱼消息优化性能的核心结构,用来存储用户最新的若干条消息。
强感知链路和弱感知链路在通道选择上是不同的:
1) 强感知链路使用accs这个在线通道;
2) 弱感知链路使用agoo这个离线通道。
通俗了说,弱感知链路指的就是离线消息推送系统。
相比较于在线消息和端内推送(也就是上面说的强感知链路),离线推送难以确保被用户感知到。
典型的情况包括:
1) 未发送到用户设备:即推送未送达用户设备,这种情况可以从通道的返回分析;
2) 发送到用户设备但没有展示到系统通知栏:闲鱼曾遇到通道返回成功,但是用户未看到推送的案例;
3) 展示到通知栏,并被系统折叠:不同安卓厂商对推送的折叠策略不同,被折叠后,需用户主动展开才能看到内容,触达效果明显变差;
4) 展示到通知栏,并被用户忽略:离线推送的点击率相比于在线推送更低。
针对“1)未发送到用户设备”,原因有:
1) 离线通道的token失效;
2) 参数错误;
3) 用户关闭应用通知;
4) 用户已卸载等。
针对“3)展示到通知栏,并被系统折叠”,原因有:
1) 通知的点击率;
2) 应用在厂商处的权重;
3) 推送的数量等。
针对“4)展示到通知栏,并被用户忽略”,原因有:
1) 用户不愿意查看推送;
2) 用户看到了推送,但是对内容不感兴趣;
3) 用户在忙别的事,无暇处理。
总之: 以上这些离线消息推送场景,对于用户来说感知度不高,我们也便称之为弱感知链路。
我们的弱感知链路分为3部分,即:
1) 系统;
2) 通道;
3) 用户。
共包含了Hermes、agoo、厂商、设备、用户、承接页这几个环节。具体如下图所示。
从推送的产生到用户最终进入APP,共分为如下几个步骤:
步骤1 :Hermes是闲鱼的用户触达系统,负责人群管理、内容管理、时机把控,是整个弱感知链路的起点。;
步骤2 :agoo是阿里内部承接离线推送的中台,是闲鱼离线推送能力的基础;
步骤3 :agoo实现离线推送依靠的是厂商的推送通道(如:苹果的 apns通道 、Google的fcm通道、及 国内各厂商的自建通道 。;
步骤4 :通过厂商的通道,推送最终出现在用户的设备上,这是用户能感知到推送的前提条件;
步骤5 :如果用户刚巧看到这条推送,推送的内容也很有趣,在用户的主动点击下会唤起APP,打开承接页,进而给用户展示个性化的商品。
经过以上5个步骤,至此弱感知链路就完成了使命。
弱感知链路的核心问题在于:
1) 推送的消息是否投递给了用户;
2) 已投递到的消息用户是否有感知。
这对应推送的两个阶段:
1) 推送消息是否已到达设备;
2) 用户是否查看推送并点击。
其中: 到达设备这个阶段是最基础的,也是本次优化的核心。
我们可以将每一步的消息处理量依次平铺,展开为一张漏斗图,从而直观的查看链路的瓶颈。
漏斗图斜率最大的地方是优化的重点,差异小的地方不需要优化:
通过分析以上漏斗图,弱感知链路的优化重点在三个方面:
1) agoo受理率:是指我们发送推送请到的数量到可以通过agoo(阿里承接离线推送的中台)转发到厂商通道的数量之间的漏斗;
2) 厂商受理率:是指agoo中台受理的量到厂商返回成功的量之间的漏斗;
3) Push点击率:也就通过以上通道最终已送到到用户终端的消息,是否最终转化为用户的主动“点击”。
有了优化方向,我们来看看优化手段吧。
跟随推送的视角,顺着链路看一下我们是如何进行优化的。
用户的推送,从 Hermes 站点搭乘“班车”,驶向下一站: agoo 。
这是推送经历的第一站。到站一看,傻眼了,只有不到一半的推送到站下车了。这是咋回事嘞?
这就要先说说 agoo 了,调用 agoo 有两种方式:
1) 指定设备和客户端,agoo直接将推送投递到相应的设备;
2) 指定用户和客户端,agoo根据内部的转换表,找到用户对应的设备,再进行投递。
我们的系统不保存用户的设备信息。因此,是按照用户来调用agoo的。
同时: 由于没有用户的设备信息,并不知道用户是 iOS 客户端还是 Android 客户端。工程侧不得不向 iOS 和 Android 都发送一遍推送。虽然保证了到达,但是,一半的调用都是无效的。
为了解这个问题: 我们使用了agoo的设备信息。将用户转换设备这一阶段提前到了调用 agoo 之前,先明确用户对应的设备,再指定设备调用 agoo,从而避免无效调用。
agoo调用方式优化后,立刻剔除了无效调用,agoo受理率有了明显提升。
至此: 我们总算能对 agoo 受理失败的真正原因做一个高大上的分析了。
根据统计: 推送被 agoo 拒绝的主要原因是——用户关闭了通知权限。同时,我们对 agoo 调用数据的进一步分析发现——有部分用户找不到对应的设备。 优化到此,我们猛然发现多了两个问题。
那就继续优化呗:
1) 通知体验优化,引导打开通知权限;
2) 与agoo共建设备库,解决设备转换失败的问题。
这两个优化方向又是一片新天地,我们择日再聊。
推送到达 agoo ,分机型搭乘厂商“专列”,驶向下一站:用户设备。
这是推送经历的第二站。出站查票,发现竟然超员了。
于是乎: 我们每天有大量推送因为超过厂商设定的限额被拦截。
为什么会这样呢?
实际上: 提供推送通道的厂商(没错, 各手机厂商的自家推送通道良莠不齐 ),为了保证用户体验,会对每个应用能够推送的消息总量进行限制。
对于厂商而言,这个限制会根据推送的类型和应用的用户规模设定——推送主要分为产品类的推送和营销类的推送。
厂商推送通道对于不同类型消息的限制是:
1) 对于产品类推送,厂商会保证到达;
2) 对于营销类推送,厂商会进行额度限制;
3) 未标记的推送,默认作为营销类推送对待。
我们刚好没有对推送进行标记,因此触发了厂商的推送限制。
这对我们的用户来说,会带来困扰。闲鱼的交易,很依赖买卖家之间的消息互动。这部分消息是需要确保到达的。
同样: 订单类的消息、用户的关注,也需要保证推送给用户。
根据主流厂商的接口协议,我们将推送的消息分为以下几类,并进行相应标记:
1) 即时通讯消息;
2) 订单状态变化;
3) 用户关注内容;
4) 营销消息这几类。
同时,在业务上,我们也进行了推送的治理——将用户关注度不高的消息,取消推送,避免打扰。
经过这些优化,因为超过厂商限额而被拦截的推送实现了清零。
通过优化agoo受理率、厂商受理率,我们解决了推送到达量的瓶颈。但即使消息被最终送达,用户到底点击了没有?这才是消息推送的根本意义所在。
于是,在日常的开发测试过程中,我们发现了推送的两个体验问题:
1) 用户点击Push有开屏广告;
2) 营销Push也有权限校验,更换用户登陆后无法点击。
对于开屏广告功能,我们增加了Push点击跳过广告的能力。
针对Push的权限校验功能,闲鱼根据场景做了细分:
1) 涉及个人隐私的推送,保持权限校验不变;
2) 营销类的推送,放开权限校验。
以上是点击体验的优化,我们还需要考虑用户的点击意愿。
用户点击量与推送的曝光量、推送素材的有趣程度相关。推送的曝光量又和推送的到达量、推送的到达时机有关。
具体的优化手段是:
1) 在推送内容上:我们需要优化的是推送的时机和相应的素材;
2) 在推送时机上:算法会根据用户的偏好和个性化行为数据,计算每个用户的个性化推送时间,在用户空闲的时间推送(避免在不合适的时间打扰用户,同时也能提升用户看到推送的可能性)。
3) 在推送素材上:算法会根据素材的实时点击反馈,对素材做实时赛马。只发用户感兴趣的素材,提高用户点击意愿。
通过以上我们的分析和技术优化手段,整体弱推送链路链路有了不错的提升,离线消息的到达率相对提升了两位数。
本篇主要和大家聊的是只是IM消息系统链路中的一环——弱感知链路的优化,落地到到具体的业务也就是离线消息送达率问题。
整体IM消息系统,还是一个比较复杂的领域。
我们在消息系统的发展过程中,面临着如下问题:
1) 如何进行消息的链路追踪;
2) 如何保证IM消息的快速到达(见《 闲鱼亿级IM消息系统的及时性优化实践 》);
3) 如何将消息的玩法和底层能力分离;
4) 离线推送中如何通过用户找到对应的设备。
这些问题,我们在以前的文章中有所分享,以后也会陆续分享更多,敬请期待。
[1] Android P正式版即将到来:后台应用保活、消息推送的真正噩梦
[2] 一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实践
[3] 一套亿级用户的IM架构技术干货(上篇):整体架构、服务拆分等
[4] 一套亿级用户的IM架构技术干货(下篇):可靠性、有序性、弱网优化等
[5] 从新手到专家:如何设计一套亿级消息量的分布式IM系统
[6] 企业微信的IM架构设计揭秘:消息模型、万人群、已读回执、消息撤回等
[7] 融云技术分享:全面揭秘亿级IM消息的可靠投递机制
[8] 移动端IM中大规模群消息的推送如何保证效率、实时性?
[9] 现代IM系统中聊天消息的同步和存储方案探讨
[10] 新手入门一篇就够:从零开发移动端IM
[11] 移动端IM开发者必读(一):通俗易懂,理解移动网络的“弱”和“慢”
[12] 移动端IM开发者必读(二):史上最全移动弱网络优化方法总结
[13] IM消息送达保证机制实现(一):保证在线实时消息的可靠投递
[14] IM消息送达保证机制实现(二):保证离线消息的可靠投递
[15] 零基础IM开发入门(一):什么是IM系统?
[16] 零基础IM开发入门(二):什么是IM系统的实时性?
[17] 零基础IM开发入门(三):什么是IM系统的可靠性?
[18] 零基础IM开发入门(四):什么是IM系统的消息时序一致性?
(本文已同步发布于: )
flutter 路由监听友盟页面统计方案
1.当我们使用flutter开发的时候 页面里面只有 initState 与dispose方法.
initState 只有进入页面的时候调用,并且在二级页面返回的时候 是不会有调用的
dispose 当页面销毁的时候 才会调用,你进入二级页面是不会调用的
综上分析者两个方法没有办法友盟页面统计分享上报
2.我们可以使用 NavigatorObserver来解决
首先新建一个 继承与NavigatorObserver的类 实现NavigatorObserver 的方法就可以了
最后我们需要再 MaterialApp里面的navigatorObservers添加监听就可以了
这时候 会有一个问题点击tabbar几个主页是没有统计的 ,我们也需要再tabbar的点击方法来进行处理
女生的话学UI设计容易还是WEB前端好些?
其实,这两个方向没有谁比谁好,选择什么方向还是需要看你的兴趣,因为兴趣是最好的老师。有了兴趣,你才可能愿意花更多的时间和精力去学习,才能将这个方向的专业知识学到极致,才有可能在这个领域得到更好的发展。
转行的目的不同,有的人是因为想要获得更好的发展,有的人是不满意目前的收入,有的人是想要让自己的兴趣和职业结合。那不管原因是什么,转行之前我们都要先深入调查这个行业,包括这个行业的性质、工作内容、发展前景等等。那我们就来一起来简单了解一下UI设计和Web前端。
一、UI和前端
UI:全写User Interface,简称用户界面,是指对软件的人机交互、操作逻辑、界面美观的整体设计。
前端:是创建Web页面或app等前端界面呈现给用户的过程。通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。通俗一点来讲,前端就是客服,主要跟顾客(用户)交流。
从以上可以看出,其实UI设计和前端的工作相互相成,按照项目流程,一般是UI设计师设计好产品界面,前端工程师通过编码实现界面。通俗来说,UI设计师好比服装设计师,而开发工程师好比裁缝。两者都是在一个完整的互联网项目中不可缺失的岗位。
前端主要是需要掌握前端语言、框架等,都是编码的工作,而UI设计是属于视觉设计,需要具备设计基础、设计思维、设计技能,两者不是一个类别。可以说前端比较偏向于软件工程、计算机科学等专业,而UI设计比较偏向于视觉设计、平面设计等。
二、UI和前端的前景如何
随着互联网行业的发展,也在带动行业内岗位的发展,所以UI设计和前端开发都有很不错的前景。那我们来看看UI设计和前端的市场需求曲线图,直观感受两个岗位的需求变化。
说明:曲线越向上代表市场需求量越大,就业情况越好。反之,代表该类职位需求量较少。该数据由各地招聘网站统计而来,可能因抓取系统稳定性等因素而致使数据偏离客观实情,仅供参考。
从图片可以看出UI设计和前端的需求在前几年是基本持平的,近几年变化浮动较大,近两年前端需求高于UI,最近半年UI的需求高于前端设计。所以两次的需求量量都大,只是时段不同,需求量也在不停变化。
我们通过平均工资去对比一下UI和前端的薪资待遇有何区别。
图片来源:职友集
图片可以得出,前端的平均薪资高于UI设计,其实主要原因有以下几点:
1、学历要求不同。从职友集数据可以看出,对于UI设计本科学历占49%,大专占48%。但是对于前端开发本科学历占71%,而大专学历仅占28%。虽然学历不能代表一切,但是不得不说学历对薪资待遇也有一定的影响。
2、工作经验的要求。从职友集数据可以看出,对于UI设计有49%的公司要求有1-3年工作经验,而对于前端有41%的公司都要求必须有1-3年的工作经验。对于3年以上的工作经验的要求前端开发远远大于UI设计。工作年限前端的需求一定程度上也说明了工作经验以及技能熟练度,所以工作年限的不同对薪资待遇肯定也不同。
三、UI设计和前端需要具备哪些技能?
了解了UI设计和前端的简要信息,如果想要转行,因为要知道转行的条件。需要学习哪些技能才能达到入行的标准。
1、前端
前端开发零基础好入门,上手快可以立马看到学习效果,可以大大提高学习兴趣。但是并不是说前端没有技术含量,我们不仅需要学习前端基础,还需要学习vue.js、react.js、react-native和Flutter等主流框架,并扩展three.js、typescript等等技术,深挖、剖析框架原理。甚至了解后端的知识,在工作中才能减少沟通成本。
2、UI设计
现在的UI不仅要懂交互知识、平面设计,甚至还要会代码、AE制作动效、以及插画、手绘等等,UI设计也因此有了一个新名“全链路UI”。
四、UI和前端到底应该怎么选?
从上面的分析我们可以得出,前端的工作比UI设计略高,但是企业的对于前端的学历要求、工作经验的要求也比UI设计严格。我们不能一味的因为薪资待遇而去选择方向,而是一个依据自己的兴趣去选择,让兴趣和梦想一起成长。
前端属于技术岗位,技术随着时间的改变也在不断的进步、更新,而UI设计也需要根据市场的流行趋势、设计要求的变化去学习最新的设计知识。不管选择什么方向,都要持续的对这个方向保持热爱,保持持续的学习,才能有顺应市场需求有更好的发展。
web前端主要做的是什么工作
Web前端可以做的工作,可以分为以下几点:
1、Web前端是什么意思
Web前端是网站前台部分,运行在PC端,移动端等浏览器上展现给用户所浏览的网页。
用我们的话来说,前端就是网页给访问网站的人看的内容和页面,Web前端开发意思就是这些内容的制作,也就是代码的实现。
WEB前端
简而言之Web前端就是实现客户端(手机和电脑)上看到的页面和一些交互效果(比如点击、查看详情、查看更多)等,从事WEB网页开发、HTML5页面开发。
2、Web前端开发具体要做什么
前端开发最主要的是掌握三种基本能力,HTML、CSS,JavaScript。前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。
Web 前端开发三大技术 html,css,js
还运用大量的 js 库,可以将前端的交互效果做得更加炫酷,除了基本语言,还要掌握各种开发工具的应用。Dreamweaver:,Sublime,HBuilder等都是比较热门的工具。
前端开发需要掌握的能力很多,知识范围很广,要付出的代价很多。不过,前端的前途也是相当光明的,前端现在正在走向工程化发展,无论权是大小公司企业,对前端开发的需求都是越来越大了,也越来越专业了。
3、朗沃教育Web前端课程做什么
Web 前端除了最基本的 html,css,js 还有大量的技术内容,也会运用到一定的框架,而朗沃教育的 WEB 前端开发一般会学到这些内容。
HTML/CSS 基础和高级
JavaScript 基础语法和高级应用
Node 服务端开发
Web前端框架开发(React 技术栈,Vue 技术栈)
移动端开发(React Native,跨端开发框架之微信小程序开发,Flutter,PWA 等)
前端运维(Docker 与 Linux 基本操作等)
详细课程请浏览朗沃教育Web前端课程。
WEB前端是什么?零基础可以学吗?初期阶段只是了解一些Web前端基础内容,后面会涉及到一些Web前端交互的内容,再涉及到服务器的一些知识,最后再学习Web前端的三大框架,再加上一些前端项目。
英语名人名言并有翻译
All for one, one for all.
人人为我,我为人人。—— [法] Dumas pére大仲马
Other men live to eat, while I eat to live.
别人为食而生存,我为生存而食。—— Socrates 苏格拉底
Easy come, easy go.
易得者亦易失。 —— Hazlitt赫斯特
Love rules his kingdom without a sword.
爱,统治了他的王国,不用一枝利剑。—— Herbert 赫伯特
We soon believe what we desire.
我们欲望中的东西,我们很快就信以为真。—— Chaucer乔叟
The darkest hour is that before the dawn.
黎明前的时分是最黑暗的。—— Fuller 富勒
The longest day has an end.
最难过的日子也有尽头。—— Howell 贺韦尔
Living without an aim is like sailing without a compass.
生活而无目标,犹如航海之无指南针。—— J. Ruskin 鲁斯金
A bird in the hand is worth two in the bush.
手中的一只鸟胜于林中的两只鸟。—— Heywood 希伍德
One swallow does not make a summer.
一燕不成夏。—— Taverner 泰维纳
A man may lead a horse to the water, but he cannot make it drink.
一个人可以把马带到河边,但他不能令它饮水。 —— Heywood 希伍德
One cannot eat one’s cake and have it.
一个人不能把他的糕饼吃掉之后还留在手上。 —— Davies 戴维斯
Time is money.
时间就是金钱。—— Benjamin Franklin富兰克林
Time and tide wait for no man.
时间不等人。—— Scott 斯科特
There is no rose without a thorn.
没有玫瑰花是不长刺的。—— Ray 雷
Lookers-on see most of the game.
旁观者清。—— Smedley 斯密莱
Beggars cannot be choosers.
行乞者不得有选择。—— Heywood 希伍德
First catch your hare.
首先必须捕获兔子,然后才能宰之。—— Thackeray 萨克雷
Victory won’t come to me unless I go to it.
胜利是不会向我走来的,我必须自己走向胜利。—— M. Moore 穆尔
A great man is always willing to be little.
伟大的人物总是愿意当小人物的。—— R. W. Emerson 爱默生
Cowards die many times before their deaths.
懦夫在未死之前,已身历多次死亡的恐怖了。 —— Julius Caesar 凯撒
Anything one man can imagine, other men can make real.
但凡人能想象到的事物,必定有人能将它实现。 —— Jules Verne 凡尔纳
Early to bed and early to rise, makes a man healthy, wealthy, and wise.
早睡早起使人健康、富裕又聪明。—— Benjamin Franklin 富兰克林
Life is just a series of trying to make up your mind.
生活只是由一系列下决心的努力所构成。—— T. Fuller 富勒
Goals determine what you are going to be.
目标决定你将成为为什么样的人。—— Julius Erving欧文
All human wisdom is summed up in two words ?C wait and hope.
人类所有的智慧可以归结为两个词 — 等待和希望。—— Alexandre Dumas Pére大仲马(法国作家)
It is not enough to be industrious, so are the ants. What are you industrious for?
光勤劳是不够的,蚂蚁也是勤劳的。要看你为什么而勤劳。—— H. D. Thoreau梭罗
You have to believe in yourself. That’s the secret of success.
人必须相信自己,这是成功的秘诀。—— Charles Chaplin卓别林
Nothing is more precious than independence and freedom.
没有什么比独立自由更可宝贵的了。—— [越南] Ho Chi Minh胡志明
I like the dreams of the future better than the history of the past.
我不缅怀过去的历史,而致力于未来的梦想。—— T. Jefferson 杰弗逊(美国第3任总统)
Money is round. It rolls away.
圆圆钱币,滚走容易。—— S. Aleichen 阿雷钦
We are here to add what we can to life, not to get what we can from it.
我们要尽可能为生活增加一些东西,而不是从中索取什么。—— William Osler 奥斯勒
Life itself, without the assistance of colleges and universities, is becoming an advanced institution of learning.
没有学院和大学的帮助,人生本身也正在变成一所高等学府。 —— Thomas Alva Edison 爱迪生
Work while you work;
Play while you play;
This is the way;
To be cheerful and gay.
工作时工作,
玩乐是玩乐,
依此方法做,
轻松与欢乐。—— A. D. Stoddart 斯道达特
Do not, for one repulse, give up the purpose that you resolved to effect. (William Shakespeare, British dramatist)
不要只因一次失败,就放弃你原来决心想达到的目的。(英国剧作家 莎士比亚.W.)
Don't part with your illusions. When they are gone you may still exist, but you have ceased to live. (Mark Twain, American writer)
不要放弃你的幻想。当幻想没有了以后,你还可以生存,但是你虽生犹死。((美国作家 马克·吐温)
I want to bring out the secrets of nature and apply them for the happiness of man. I don't know of any better service to offer for the short time we are in the world. (Thomas Edison, American inventor)
我想揭示大自然的秘密,用来造福人类。我认为,在我们的短暂一生中,最好的贡献莫过于此了。 (美国发明家 爱迪生. T.)
Ideal is the beacon. Without ideal, there is no secure direction; without direction, there is no life.( Leo Tolstoy, Russian writer)
理想是指路明灯。没有理想,就没有坚定的方向;没有方向,就没有生活。(俄国作家 托尔斯泰. L.)
If winter comes, can spring be far behind ?( P. B. Shelley, British poet )
冬天来了,春天还会远吗?( 英国诗人, 雪莱. P. B.)
If you doubt yourself, then indeed you stand on shaky ground. (Ibsen, Norwegian dramatist )
如果你怀疑自己,那么你的立足点确实不稳固了。 (挪威剧作家 易卜生)
If you would go up high, then use your own legs ! Do not let yourselves carried aloft; do not seat yourselves on other people's backs and heads. (F. W. Nietzsche, German Philosopher)
如果你想走到高处,就要使用自己的两条腿!不要让别人把你抬到高处;不要坐在别人的背上和头上。(德国哲学家 尼采. F. W.)
It is at our mother's knee that we acquire our noblest and truest and highest, but there is seldom any money in them. ( Mark Twain, American writer )
就是在我们母亲的膝上,我们获得了我们的最高尚、最真诚和最远大的理想,但是里面很少有任何金钱。(美国作家 马克·吐温)
Living without an aim is like sailing without a compass. (Alexander Dumas, Davy de La Pailleterie, French Writer)
生活没有目标就像航海没有指南针。 (法国作家 大仲马. A.)
The ideals which have lighted my way, and time after time have given me new courage to face life cheerfully 19 have been kindness, beauty and truth.(Albert Einstein, American scientist)
有些理想曾为我们引过道路,并不断给我新的勇气以欣然面对人生,那些理想就是--真、善、美。 (美国科学家 爱因斯坦. A.)
The important thing in life is to have a great aim, and the determination to attain it. (Johan Wolfgang von Goethe, German Poet and dramatist)
人生重要的事情就是确定一个伟大的目标,并决心实现它。(德国诗人、戏剧家 歌德. J.
The man with a new idea is a crank until the idea succeeds. (Mark Twain, American writer)
具有新想法的人在其想法实现之前是个怪人。 (美国作家 马克·吐温)
The only limit to our realization of tomorrow will be our doubts of today. (Franklin Roosevelt, American president)
实现明天理想的唯一障碍是今天的疑虑。(美国总统 罗斯福. F.)
When an end is lawful and obligatory, the indispensable means to is are also lawful and obligatory. (Abraham Lincoln, American statesman)
如果一个目的是正当而必须做的,则达到这个目的的必要手段也是正当而必须采取的。(美国政治家 林肯. A.)
行动是通往知识的唯一道路 。 (英国剧作家 肖伯纳. G.)
A free man obtains knowledge from many sources 1 besides books . (Thomas Jefferson , American president)
一个自由的人除了从书本上获取知识外,还可以从许多别的来源获得知识。(美国总统 杰斐逊 . T.)
A great part to the information I have was acquired by looking up something and finding something else on the way. (Adams Franklin , American humorist )
我的大部分知识都是这样获得的:在寻找某个资料时意外的发现了另上的资料。(美国幽默作家 富兰克林. A.)
If a man empties his purse into his head , no man can take it away from him , an investment in knowledge always pays the best interest . (Benjamin Franklin , American president )
倾已所有追求知识,没有人能夺走它;向知识投资,收益最佳。(美国总统 富兰克林. B.)
Imagination is more important than knowledge .(Albert Einstein , American scientist )
想象力比知识更为重要。 (美国科学家 爱因斯坦. A. )
Knowledge is power . (Francis Bacon , British philosopher )
知识就是力量。 (英国哲学家 培根. F.)
The empty vessels make the greatest sound . (William Shakespeare , British dramatist )
满瓶不响,半瓶咣当。 (英国剧作家 莎士比亚. W.)
1
夏天的飞鸟,飞到我的窗前唱歌,又飞去了。
秋天的黄叶,它们没有什么可唱,只叹息一声,飞落在那里。
stray birds of summer come to my window to sing and fly away.
and yellow leaves of autumn, which have no songs, flutter and fall
there with a sign.
2
世界上的一队小小的漂泊者呀,请留下你们的足印在我的文字里。
o troupe of little vagrants of the world, leave your footprints in my words.
3
世界对着它的爱人,把它浩翰的面具揭下了。
它变小了,小如一首歌,小如一回永恒的接吻。
the world puts off its mask of vastness to its lover.
it becomes small as one song, as one kiss of the eternal.
4
是大地的泪点,使她的微笑保持着青春不谢。
it is the tears of the earth that keep here smiles in bloom.
5
无垠的沙漠热烈追求一叶绿草的爱,她摇摇头笑着飞开了。
the mighty desert is burning for the love of a bladeof grass who
shakes her head and laughs and flies away.
6
如果你因失去了太阳而流泪,那么你也将失去群星了。
if you shed tears when you miss the sun, you also miss the stars.
7
跳舞着的流水呀,在你途中的泥沙,要求你的歌声,你的流动呢。你肯挟
瘸足的泥沙而俱下么?
the sands in your way beg for your song and your movement, dancing
water. will you carry the burden of their lameness?
8
她的热切的脸,如夜雨似的,搅扰着我的梦魂。
her wishful face haunts my dreams like the rain at night.
9
有一次,我们梦见大家都是不相识的。
我们醒了,却知道我们原是相亲相爱的。
once we dreamt that we were strangers.
we wake up to find that we were dear to each other.
10
忧思在我的心里平静下去,正如暮色降临在寂静的山林中。
sorrow is hushed into peace in my heart like the evening among
the silent trees.
Adversity reveals genius; fortune conceals it. (Horace, ancient Roman poet)
苦难显才华,好运隐天资。(古罗马诗人 贺拉斯)
Almost any situation---good or bad ---is affected by the attitude we bring to. (Lucius Annaus Seneca, Ancient Roman philosopher)
差不多任何一种处境——无论是好是坏——都受到我们对待处境的态度的影响。(古罗马哲学家 西尼加 L A)
Although the world is full of suffering, it is full also of the overcoming of it. (Hellen Keller, American writer)
虽然世界多苦难,但是苦难总是能战胜的(美国作家 海伦·凯勒)
As fruit needs not only sunshine but cold nights and chilling showers to ripen it, so character needs not only joy but trial and difficulty to mellow it. (Hugh Black, American writer)
水果不仅需要阳光,也需要凉夜。寒冷的雨水能使其成熟。人的性格陶冶不仅需要欢乐,也需要考验和困难。(美国作家 布莱克 H)
Everything can be taken from a man but one thing; the freedom to choose his attitude in any given set of circumstances. (Leonhard Frand , German novelist)
我可以拿走人的任何东西,但有一样东西不行,这就是在特定环境下选择自己的生活态度的自由。(德国小说家 弗兰克 L)
Every tragedy makes heroes of common people. (Normna Stephens, American writer)
每场悲剧都会在平凡的人中造就出英雄来。(美国作家 斯蒂芬斯 N)
He who allows himself to be insulted, deserves to be. (F.C.Comford, British writer)
自己甘愿受辱的人,受污辱也活该。(英国作家 科福德 F C)
I find life an exciting business and most exciting when it is lived for others. (Helen Keller,Ameican writer)
我发现生活是令人激动的事情,尤其是为别人活着时。(美国作家 海伦·凯勒)
I wept when I was born, and every day shows why.(Jack London, American novelist)
我一生下来就开始哭泣,而每一天都表明我哭泣的原因。(美国小说家 杰克·伦敦)
If you want to live your whole life free from pain
如果你想一生摆脱苦难
You must become either a god or else a coupes
你就得是神或者是死尸
Consider other men's troubles
想想他人的不幸
That will comfort yours
你就能坦然面对人生
Menander, Ancient Athenian playwriter
古雅典剧作家 米南德
当前题目:flutter统计,flutter统计图
文章网址:http://lswzjz.com/article/dseihie.html