博客

  • 微信小程序分享朋友圈和转发朋友

    onShareAppMessage: function() {
    	wx.showShareMenu({
    	      withShareTicket: true,
    	      menus: ['shareAppMessage', 'shareTimeline']
          })
          return {
            title: '帮我选车',
            path: ''
    	    }
    	},
    	//用户点击右上角分享朋友圈
    	onShareTimeline: function () {
    		return {
    	      title: '帮我选车',
    	      query: {
    	        key: ''
            },
    	      imageUrl: ''
    	    }
    	},

    体验版已支持iOS和android,只是微信官方文档还未做更新

  • 观《乐队的夏天》有感

    周末两天在手机端看马东的《乐队的夏天》第一季。以前没怎么了解过摇滚乐,或者说对于音乐听歌就没有怎么痴迷过。因为总觉得听歌会放大自己的情绪,尤其是一些悲伤的歌儿。让稳定的情绪都受到感染变得低落和流泪。听说这种人属于客场型人,容易受氛围的影响,和比如对方打哈欠,更容易打哈欠的一类人。

    在看《乐队的夏天》这个综艺的时候,有的地方也哭了起来。比如九连真人的唢呐响起来的时候,主唱的眼睛里在喷火,小民在用客家话碎碎念的要不要出去闯荡的时候,当《莫欺少年穷》歌名撞出来的时候。当新裤子乐队的改编的汪峰的《花火》唱到“所以我变了”的时候和他们自己的歌曲《生活因你而火热》,当刺猬乐队的《白日梦蓝》的响起来的时候,没想到据采访被队友总是吐槽不洗澡缺点多如星星的子健,一开口就跪了,清澈辽远的嗓音,就像未经社会历练的少年。跟他做程序猿邋遢的头发胖胖的样子形成了巨大的反差。打鼓的石璐真帅,女生的打鼓真帅。斯斯与帆的声音好干净,她俩在台上紧张的手抖,弹不了吉他的样子。当歌词出来的时候就好动人,好干净,太干净了。又是唱的对于外婆外公的改编自儿歌的,哎呀我又流泪了。还有痛仰乐队回来《西湖》。

    尤其是新裤子乐队的《生活因你而火热》这首,我想忍住(主要是旁边有人),轻轻的吐着气,但是眼泪它自己就跑出来。哈,搞我很不好意思啊,不过我还是忍不住。

    “我倒下后

    不敢回头

    不能再见的朋友

    有人堕落

    有人疯了

    有人随着风去了

    那些昙花一现的灿烂

    是爆炸的烟火”

    他们好厉害,他们做喜欢的乐队,也有中断坚持不下去,有队友离开,有生活所迫,去做广告去做程序员去做等等,而后又回到梦想出发的地方。《海龟先生》的歌曲很有哲学的意义,我觉得最后乐队比拼的不仅仅是个人情感的宣泄,而是社会层面的,和人生的了。尤其是海龟先生说的,为什么离去的人不是我,那些离去的人是不是更有价值?突然就大批的人在你面前消失。就已经达到了伤害后的“幸存者内疚症”

    他们的歌曲有延伸感,扩展到了更辽阔的高度。

    这是31支乐队的比拼,是比赛。

    刚开始感觉新裤子乐队 彭磊,看样子真不像玩乐队的,长得更像一个教书文弱先生,不过每次开场都要蹦一蹦哈哈

    九连真人,刚开始听到名字的时候觉得这个莫不是95后看玄幻小说毒害的,起了这个名字

    有瞬间灵感的神作,也更有日复一日的长期的坚持的爆发力。

    通过看《乐队的夏天》得到的经验是

    业务技术要强(坚持到最后都是实力的比拼,而不是最初的反差和手段)

    舞台表演要完整,而不是仅仅靠偶然的灵光(需要多多的经验积累,舞台演出经验、痛仰乐队、海龟先生、斯斯与帆)

    热情,表演的时候要自信要热情,享受舞台(新裤子乐队、click#15 乐队态度很重要)

  • 天道酬勤和蚂蚁搬家

    昨天和牡丹下山,在逛了n个地方后,我们找了一块靠近松月湖的凉快的小树林休息。我们坐着边聊边看风景,后来我注意到有一只蚂蚁扛着一只比它自身大四五倍的大虫子飞快的走动着。

    不一会儿走到了一根树枝前方,它拖动着虫子艰难的想翻过去。可是怎么也翻不过去,如果它把它的食物扔掉它就能很快的爬过去,可是拖动着虫子总是被绊住,它尝试了七八次就在那个小树枝的范围,无论怎样努力也拖动不过去。牡丹看着说:“我们就是上帝视角“,想到蚂蚁可以换个方向来个曲线绕过去,可是蚂蚁不知道,它继续尝试,终于决定稍稍绕一点弯,可是树枝相对于它来说还是有长,它还是需要翻过树枝,还是失败了。

    牡丹不忍心就轻轻的把拦在它面前的树枝给拿掉了。蚂蚁顺利的拖着食物过去了。它会感慨什么吗?

    我在想,天道酬勤是不是就是老天看我们就像蚂蚁,我们持之以恒的撞南墙撞了好多次,失败了好多次的继续撞南墙,最后老天也不忍心看下去了,就轻轻的把拦在我们面前的障碍给拿掉了。我们就恍若如神助直达目标。就像稻盛和夫在《活法》里面写的自己,绞尽脑汁的做实验,百思不得其解找不到合适的材料,终于某天他又思考着进实验室,突然被某个容器绊了一下,下意识一看脚下,发现了松香。他立即拿松香做起了实验,那么令人头痛的难题居然一下子就解决了!他就感慨道“看到我那么拼命的工作,那样苦苦思索,神都看不过去了,神可怜我,赋予了我智慧。我想事情只能这样来解释”。

    现在疫情很严重,我们都戴口罩😷,有的时候我觉得可能老天会看到我们戴着口罩,是不是就像我们看到仓鼠🐹可可爱爱的戴着口罩,严谨的戴着口罩,也许老天会放我们一条生路。当然我们的医生更伟大,全心全意,专心致志的研究疫苗,是不是老天也可以给他们启示呢?

    做事情就要全力以赴,认真的工作也会锤炼自己的性格。

  • 我为嘲笑17岁而抱歉

    上周六抄小道步行3.7公里下山去买洗发水牙膏,上山的时候爬不上来了。绕大路就需要6公里了。找了家水饺店。在微信群帮同事订了四份水饺,然后让老板娘帮我找了人,花了20块雇了一辆四座小面包车把我送上山,提溜着包装好的四盒水饺问了下司机大叔放在了后排座的中间。这时候遇到了你,你拎着大箱子放在了车厢内后方。上了车也坐在后排,你就自顾自的倒豆子似的讲话了。

    你对司机大叔说你打车打了俩小时都没打上车,才通过同学的电话联系到了大叔。大叔说可以坐公交车,你说从不坐公交车,都是打车,说五莲火车站到莒县是7块钱,坐大客车是15块钱。老家是莒县,现在住日照东港。是艺考生,刚从南京回来。

    司机大叔问:你为什么来松柏镇啊?你说有同学在这里。你后面回去济南考试。我拎着四盒水饺问现在疫情还可以考试吗?你说不是现场考试,你讲自己如果不是因为疫情就会在3月份出国了,你拿到了几个国家的音乐的证书,有东京大学的,有俄罗斯师范大学的等等。你又讲自己心情状态不好,感觉迷茫,也许10月份才能出国。司机大叔说现在疫情,国外特别严重现在都是留学的回国的。你没有接话,继续说你谈了个对象,但是又分手了,感觉心里空落落的。你说自己在唱歌完去后台的时候,有个女生一直问你要微信,要了五次,你终于同意给出了自己的微信号,某天,你和她走在小公园,她对你说:“你做我男朋友吧”然后你就答应了。可是好了一周,那个女生就告诉你不想玩了。“分手吧”,你很难受。再次觉得心里空落落的,觉得人生很无常,怎么会这样。隔着四份水饺的我搭话问你多大了,你说你是02年出生的,那个女生是97年的。然后看到窗外的山上,说自己喜欢在山上。不喜欢人群太吵闹。你去国外也觉得国外是幽静的。当然你还是觉得中国也挺好的。我和大叔盯着窗外忍住笑看着窗外。人和人的悲喜并不相通。司机大叔和我都在沉默着,我拍了拍司机的椅背说,大叔你不安慰安慰啊,司机大叔说不用安慰。好吧,司机大叔比我成熟,我说时间久了就好了,而且你和她谈了一周,这一周占你一年的多少时间,又占你一生的多少时间呢?时间会稀释掉一切的。下了车我就去酒店了,不知道司机会不会跟你聊些什么。

    后来回到我跟三个同事讲你的故事,高声的大笑,弯腰狠狠的嘲笑着,我在嘲笑02年出生的你所谓好了一周的爱情你的伤春悲秋,喜欢幽静的小山,就像嘲笑我的17岁,就像自己没有那么傻过自卑过暗恋一个没有说过话的人一样。也像嘲笑这个住了3个月的酒店周边3公里内都没有超市吧。就像你打车打了俩小时还打不到车。

    虽然这些你都不会知道,嘲笑完后,但17岁知道。

    17岁的我想着要出一趟远门,自己也去跑到济南去找姐姐。一个人独自出远门第一次坐火车。也和同一排的一个姐姐聊了一路,当时还把自己买的零食给周围的人吃,当然他们都没吃。当时那个在威海上学,济南转火车的姐姐还担心我被骗,让我下了火车赶紧和自己的姐姐联系,不要乱跟别人讲话和走。

    想必未来你也会游历四方,祝你远行顺利。

    我好像是为了背叛自己的17岁而深深的嘲笑忧伤的你。

    每个人的17岁都是哲学家。不去思考还能做什么呢?时而能上天入地,无所不能,时而颓废沮丧,无地自容

    我为嘲笑17岁而抱歉。

    小道景色
    山路小道
    风景如画

  • 如何理解多租户架构?(转)

      1.什么是多租户架构?
      2.多租户架构的优缺点?
      3.多租户架构的适用场景?

      让我们带着这几个问题进入下面的阅读。

    一、对多租户的理解

      多租户定义:多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。对于实现方式,我们下面会讨论到。

      在了解详细一点:在一个多租户的结构下,应用都是运行在同样的或者是一组服务器下,这种结构被称为“单实例”架构(Single Instance),单实例多租户。多个租户的数据是保存在相同位置,依靠对数据库分区来实现隔离操作。既然用户都在运行相同的应用实例,服务运行在服务供应商的服务器上,用户无法去进行定制化的操作,所以这对于对该产品有特殊需要定制化的客户就无法适用,所以多租户适合通用类需求的客户。那么缺点来了,多租户下无法实现用户的定制化操作。

      在翻阅多租户的资料时,还有一个名词与之相对应,那就是单租户SaaS架构(也被称作多实例架构(Multiple Instance))。单租户架构与多租户的区别在于,单租户是为每个客户单独创建各自的软件应用和支撑环境。单租户SaaS被广泛引用在客户需要支持定制化的应用场合,而这种定制或者是因为地域,抑或是他们需要更高的安全控制。通过单租户的模式,每个客户都有一份分别放在独立的服务器上的数据库和操作系统,或者使用强的安全措施进行隔离的虚拟网络环境中。因为本篇主要是讨论多租户,所以单租户的相关知识就简单了解一下,不做过多的阐述了。

    二、多租户数据隔离的三种方案

      在当下云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍可以保障客户的数据隔离。目前各种各样的云计算服务就是这类技术范畴,例如阿里云数据库服务(RDS)、阿里云服务器等等。

      多租户在数据存储上存在三种主要的方案,分别是:

      1. 独立数据库

      这是第一种方案,即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本较高。 
      优点: 
        为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。 
      缺点: 
        增多了数据库的安装数量,随之带来维护成本和购置成本的增加。 
      这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。

      2. 共享数据库,独立 Schema 
      这是第二种方案,即多个或所有租户共享Database,但是每个租户一个Schema(也可叫做一个user)。底层库比如是:DB2、ORACLE等,一个数据库下可以有多个SCHEMA 
      优点: 
        为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可支持更多的租户数量。
      缺点: 
        如果出现故障,数据恢复比较困难,因为恢复数据库将牵涉到其他租户的数据; 
      如果需要跨租户统计数据,存在一定困难。

      3. 共享数据库,共享 Schema,共享数据表
      这是第三种方案,即租户共享同一个Database、同一个Schema,但在表中增加TenantID多租户的数据字段。这是共享程度最高、隔离级别最低的模式。 
      即每插入一条数据时都需要有一个客户的标识。这样才能在同一张表中区分出不同客户的数据。
      优点: 
        三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。 
      缺点: 
        隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量; 数据备份和恢复最困难,需要逐表逐条备份和还原。

      如果希望以最少的服务器为最多的租户提供服务,并且租户接受牺牲隔离级别换取降低成本,这种方案最适合。 
        
      在SaaS实施过程中,有一个显著的考量点,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享安全隔离性能间取得平衡。

      因为我们用的底层库是MySQL,且要保证数据的完全隔离,所以用的方案属于第一种。独立数据库。因为MySQL下SCHEMA就是他的数据库名。所以每多服务一个用户,都需要新建一个数据库。如果是DB2或者是ORACLE的话,一个数据库下,可以采用独立的SCHEMA来进行数据隔离,这样会相对节省成本,且数据隔离的强度高。

    三、选择合理的实现模式 
      衡量三种模式主要考虑的因素是隔离还是共享

    成本角度因素 

        隔离性越好,设计和实现的难度和成本越高,初始成本越高。共享性越好,同一运营成本下支持的用户越多,运营成本越低。

      安全因素 

        要考虑业务和客户的安全方面的要求。安全性要求越高,越要倾向于隔离。

      从租户数量上考虑
        主要考虑下面一些因素 
        系统要支持多少租户?上百?上千还是上万?可能的租户越多,越倾向于共享。 
        平均每个租户要存储数据需要的空间大小。存贮的数据越多,越倾向于隔离。 
        每个租户的同时访问系统的最终用户数量。需要支持的越多,越倾向于隔离。 
        是否想针对每一租户提供附加的服务,例如数据的备份和恢复等。这方面的需求越多, 越倾向于隔离

      技术储备 
        共享性越高,对技术的要求越高。

      以上三部分内容分别针对开头的三个问题做了概要的阐述,文章中部分内容也是摘录自查阅的资料,实乃他人总结的非常好,所以就直接把轮子拿过来用了,旨在让你我更加了解多租户这种架构,还望勿喷!


    查阅资料如下:

       多租户和单租户SaaS的架构对比 http://blog.sina.com.cn/s/blog_a5ed66830102wddk.html
       数据层的多租户浅谈 https://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/
       SaaS多租户数据隔离的三种方案 http://blog.csdn.net/yown/article/details/51288549

    转自:https://www.cnblogs.com/pingfan21/p/7478242.html

  • 大屏设计中echart 各种图形元素记录

     

    注:如果需要百度地图,需要百度账号生成apikey调用百度地图链接 

    下面列出的是利用echart开发数据大屏和管理驾驶舱所遇到的和值得记录下来的点。包含飞行运动轨迹,GPS百度地图和柱状图边距,文本倾斜显示,饼状图,异型图,世界地图,中国地图下钻地图,折线图,雷达图,云标签图,自动轮播效果等等

    0.Echart 数据

    X轴标题倾斜

    axisLabel:{

    Rotate:60 //倾斜角度

    }

    1、柱状体刚开始的距离

    xAxis: [{

        // boundaryGap: false,

    2、横向柱状图和纵向柱状图的区别,在于 纵向树状图

    yAxis:【type: ‘value’,】

    xAxis:【type: ‘category’,】 

    3、给X轴Y轴,加单位

    echarts柱状图的XY轴加单位的写法

    yAxis : [

            {

                type : ‘value’,

                axisLabel:{formatter:'{value} %’}

            }

    ],

    如果想控制百分比最大到100% 可添加

    yAxis : [

            {

                type : ‘value’,

                max:100,//Y轴最大值 不写的话自动调节

                axisLabel:{formatter:'{value} %’}

            }

        ],

    > max:100,//Y轴最大值 不写的话自动

    4、修改legend字体颜色

    修改legend字体颜色:

     legend: {

                    y:’55%’,

                    textStyle:{

                                fontSize: 18,//字体大小

                                color: ‘#ffffff’//字体颜色

                            },

                    data: []

                }

    修改x轴字体颜色:

    xAxis : [

              {

                      type : ‘category’,

                      data : [],

                      axisLabel: {

                                show: true,

                                textStyle: {

                                    color: ‘#ffffff’

                                }

                            }

                        }

                    ]

    修改y轴字体颜色:

    yAxis : [

                {

                       type : ‘value’,

                       name : ”,

                       axisLabel : {

                                textStyle: {

                                    color: ‘#ffffff’

                                }

                            }

                   }

            ]

    5、echart设置柱子之间的宽度,和柱子本身的宽度

            series : 

                  {

                     name:”,

                     type:’bar’,

                     barWidth:20,

                     barGap:’80%’,/*多个并排柱子设置柱子之间的间距*/

                     barCategoryGap:’50%’,/*多个并排柱子设置柱子之间的间距*/

                     data:[],

                     itemStyle: {

                         normal: {

                         barBorderRadius: false,

                             color: ‘#1E9FFF’,

                         }

                     }

                 }

    6、鼠标点击出现圆点放大

    7、柱体上有数据

    var labelOption = {

        normal: {

            show: true,

            position: ‘top’,

            align: ‘center’,

            formatter: ‘{c}’,

            fontSize: ‘100%’,

            rich: {

                // name: {

                // textBorderColor: ‘#fff’

                // }

            }

        }

    };

    orientation: portrait;/

    强制竖屏

    http://localhost:8080/cabin_portal_war_exploded/a/module/exclusive/showJspfl?dateStamp=201908&busType=%E5%85%A8%E9%99%A9%E7%B1%BB

    如何多个数据进行,ffarmat排序进行

    //数据进行push出来整个

    success: function (result) {

        $.each(result, function (index, item) {

            qddat1.push(item.channelName);

            qddat2.push(item.premiumBudget);

    // 拼接出新的数据,进行移除隐藏问题

            qddat3.push({

                “name”:item.channelName,

                “value”:item.premiumY,

                “premiumYRate”:item.premiumYRate,

                “premiumBudgetComplete”:item.premiumBudgetComplete

            });

        });

        var qddat4 = [];

        var qddat5 = [];

        var qddat6 = [], qdata7 = [], qdata8 = [];

        for (var i = qddat1.length – 1; i >= 0; i–) {

            qddat4.push(qddat1[i]);

            qddat5.push(qddat2[i]);

            qddat6.push(qddat3[i]);

           /* qdata7.push(qtbzf[i]);

            qdata8.push(qysdc[i]);*/

        }

        chart2(qddat4, qddat5, qddat6, qdata7, qdata8);

    },

    formatter: function (params) {

        var htmlStr = “”;

        for (var i = 0; i < params.length; i++) {

            if (params[i].seriesName == ‘实际’ ) {

                htmlStr += “同比增幅” + “:” + params[i].data.premiumYRate + “%” + “</br>”;

                htmlStr += “预算达成” + “:” + params[i].data.premiumBudgetComplete + “%” + “</br>”;

            }

        }

        console.log(htmlStr);

        return htmlStr;

    }

    8、设置网格背景 x轴和y轴内

    splitLine: {

    show: true,

    lineStyle: {

    color: ‘#1e2c41’, // 网格颜色

    width: 1, //网格线宽

    type: ‘solid’, //网格borderstyle

    shadowColor: ‘rgba(255, 255, 255, 0.5)’,

    shadowBlur: 10,

    shadowOffsetX:2,

    shadowOffsetY:1

    },

    },

    9.echart 设置yAxis.min y轴的数据

    min: function(value) {

    return value.min – 100;

    },

    max: function(value) {

        return parseInt(value.max +100);

    }

    10、去除指示线

    echarts中如何去除(修改)指示线

    tooltip:{

    axisPointer :{

    type: (‘line’ | ‘cross’ | ‘shadow’ | ‘none'(无)) ,

    lineStyle ->color: (填颜色值) ,

    type: (‘solid’ | ‘dotted’ | ‘dashed’, 树图还可以选:’curve’ | ‘broken’) ,

    width: (指示线宽) ,

    shadowColor : (指示线阴影颜色) ,

    shadowBlur: (大约0的数) ,

    shadowOffsetX : (横向偏移正右负左) ,

    shadowOffsetY : (纵向偏移正上负下)

    }

    }

    11、x轴y轴颜色

    xAxis: [{

    type: ‘category’,

    axisLine: { //x轴颜色

    lineStyle: {

    color: ‘#1e2c41’

    }

    },

    splitLine: { //网格颜色

    interval: 0,

    show: true,

    lineStyle: {

    color: ‘#1e2c41’,

    width: 1,

    type: ‘solid’,

    shadowColor: ‘rgba(255, 255, 255, 0.5)’,

    },

    },

    boundaryGap: 10,

    data: dataX

    // data: [‘2015’, ‘2016’, ‘2017’, ‘2018’, ‘2019’]

    }],

    12、tip总是显示

    13扩展效果

    圈层颜色修改

    color:’blue’,

    series: [{

    type: ‘effectScatter’,

    coordinateSystem: ‘geo’,

    zlevel: 2,

    rippleEffect: { //涟漪特效

    color:’white’,

    period: 4, //动画时间,值越小速度越快

    brushType: ‘stroke’, //波纹绘制方式 stroke, fill

    scale: 20, //波纹圆环最大限制,值越大波纹越大

    },

    label: {

    normal: {

    show: true,

    position: ‘right’, //显示位置

    offset: [5, 0], //偏移设置

    formatter: function(params) { //圆环显示文字

    return params.data.name;

    },

    fontSize: 13,

    },

    emphasis: {

    show: false

    }

    },

    // symbol: ‘circle’,

    showSymbol: false,

    hoverAnimation: true,

    itemStyle: {

    normal: {

    color: ‘#ec8000’, //设置图例颜色cricle边框

    borderWidth: 2,

    show: false,

    }

    },

    // symbol: ‘circle’, //折点设定为实心点

    symbolSize: function(val) {

    return 8; //圆环大小

    },

    data: res11

    },

    14、echart legend 用自定义图片

    当折线图时,legend默认时rect形式,如果需要改图例形状,可以自己设置legend的icon属性

    legend: {

        icon:’stack’

    },

    15、自定义每个图例样式:为data的每个对象修改icon属性

    legend:{

        show:true,

        orient:’horizontal’,

        borderColor:’#df3434′,

        borderWidth:2,

        data:[

            {

                name:’蒸发量’,

                textStyle:{

                    fontSize:12,

                    fontWeight:’bolder’,

                    color:’#cccccc’

                },

                icon:’stack’

            },

            {

                name:’降水量’,

                textStyle:{

                    fontSize:12,

                    fontWeight:’bolder’,

                    color:’#df3434′

                },

                icon:’pie’

            }

        ]

    }

    2、修改图例的图标为自定义图片

      首先我找了如下两张图片放在根目录下的images文件夹下

    legend:{

        show:true,

        orient:’horizontal’,

        borderColor:’#df3434′,

        borderWidth:2,

        data:[

            {

                name:’蒸发量’,

                textStyle:{

                    fontSize:12,

                    fontWeight:’bolder’,

                    color:’#cccccc’

                },

                icon:’image://./images/icon1.png’//格式为’image://+icon文件地址’,其中image::后的//不能省略

            },

            {

                name:’降水量’,

                textStyle:{

                    fontSize:12,

                    fontWeight:’bolder’,

                    icon:’image://./images/icon2.png’//格式为’image://+icon文件地址’,其中image::后的//不能省略

                },

                icon:’pie’

            }

        ]

    }

    legend:{

    itemWidth: 10 , //设置图片宽度为10

    itemHeight: 10 //设置图片高度为10

    }

    15、html页面地图图层,display:none; display:block

    type: ‘scatter’,

    coordinateSystem: ‘geo’, 出现数据被隐藏的情况。

    可以把地图的areaColor设置为有色进行检查

    itemStyle: {

    normal: {

    areaColor: ‘none’,

    borderWidth: ‘0px’,

    borderColor: ‘none’

    },

    emphasis: {

    areaColor: ‘none’

    }

    }

    数组状的字符串,转成对象数组

    eval(“(“+data[i].carLine+”)”);

    Ajax出现进入到error,解决方案是空白和json对象的属性值key值是没有双引号

    16、饼状图 指引线

        series : [

            {

                type: ‘pie’,

                radius : ‘65%’,

                center: [‘50%’, ‘50%’],

                selectedMode: ‘single’,

                data:[

                    {value:535, name: ‘荆州’},

                    {value:510, name: ‘兖州’},

                    {value:634, name: ‘益州’},

                    {value:735, name: ‘西凉’}

                ],

                itemStyle: {

                    emphasis: {

                        shadowBlur: 10,

                        shadowOffsetX: 0,

                        shadowColor: ‘rgba(0, 0, 0, 0.5)’

                    }

                },

                 label: {

                    normal: {

                        show:true,//标签隐藏

                        // position: ‘center’

                    },

                    emphasis: {

                        show: true,

                        textStyle: {

                            fontSize: ’30’,

                            fontWeight: ‘bold’

                        }

                    }

                },

                labelLine:{//指示线

                    show:true

                }

            }

        ]

    17、116.404, 39.915 百度地图设置中心点不起作用 echart

     缺少 Cannot read property ‘0’ of undefined

        at e.getLineCoords (echarts-3.8.5.min.js:22)

    地图的中心点在左上角

    只要先去show

    然后再生成

     Math.max.apply

    取出数组中最大数据

     Math.max.apply(null, [‘1′,’2′,’3.1′,’3.2’])

    < 3.2

     

    17、百度地图和echart结合,出现个个性地图设置

    地图版本要用v3.0 样式

    var bmap = myChart.getModel().getComponent(‘bmap’).getBMap();

    bmap.setMapStyleV2({

    styleId: ‘7479f0ec695598ad21b6ddfb3367d34f’

    });

    map.setViewport(pointsView)

    var points = [point1, point2,point3];

    var view = map.getViewport(eval(points));

    var mapZoom = view.zoom; 

    var centerPoint = view.center; 

    map.centerAndZoom(centerPoint,mapZoom);

    //异型图的加载,和边距。边距barCategoryGap和barWidth不能同时设置,且x轴的和数据个数要一致

    option = {

        xAxis: {

            data: [‘a’, ‘b’, ‘c’, ‘d’,’3′,’3′,’3′,’9′,’9′],

            axisTick: {show: false},

            axisLabel: {

                formatter: ‘barGap: \’-100%\”

            }

        },

        yAxis: {

            splitLine: {show: false}

        },

        animationDurationUpdate: 1200,

        series: [{

            type: ‘bar’,

            itemStyle: {

                normal: {

                    color: ‘#ddd’

                }

            },

            silent: true,

            // barWidth: 40,

            barGap: ‘-100%’, // Make series be overlap

            data: [60, 60, 60, 60, 60, 60, 60, 60],

            barCategoryGap:’20%’

        }, {

            type: ‘bar’,

            // barWidth: 40,

            z: 10,

            data: [45, 60, 13, 25, 60, 60, 60, 60],

            barCategoryGap:’20%’

        }]

    };

    var barGaps = [‘30%’, ‘-100%’];

    var loopIndex = 0;

    // setInterval(function () {

    //     var barGap = barGaps[loopIndex];

    //     myChart.setOption({

    //         xAxis: {

    //             axisLabel: {

    //                 formatter: ‘barGap: \” + barGap + ‘\”

    //             }

    //         },

    //         series: [{

    //             barGap: barGap

    //         }]

    //     });

    //     loopIndex = (loopIndex + 1) % barGaps.length;

    // }, 2000);

    18、多个设置轮播图 后台控制tooltip的时候会出现,多个tooltip直接删除div即可(利用打印来调试程序)

    19.echart运动线轨迹飞行图 3.2.2版本以上

    function convertDataLines(data) {

    var res = [];

    var toCoord = [‘111.461338’, ‘40.752298’];

    for (var i = 0; i < data.length; i++) {

    var dataItem = data[i];

    res.push(

    {

    coords: [

        dataItem.value,  // 起点

        toCoord   // 终点

    ]

    }

    );

    }

    return res;

    };

  • https页面引用外部http文件出现“Mixed Content”

    Mixed Content: The page at ‘https://www.XXXX.com/’ was loaded over HTTPS, but requested an insecure script ‘http://libs.baidu.com/jquery/1.4.2/jquery.min.js’. This request has been blocked; the content must be served over HTTPS.

    刚刚在看小说的时候,发现某小说网站控制台报了俩错误,查看了一下发现是因为,https安全机制页面,引入了baidu的jQuery的文件使用的是http导致的。
    http:超文本传输协议
    https:添加了加密及认证机制的http成为https,https要比http慢2-100倍

    解决方式:

    1、可以把外部资源下载到自己服务器上,统一使用https(如果使用的是外部分享邮箱之类的,这种能方法不可取)
    2、可以在页面头部加上

    会把http请求转化为https请求

    扩展

    Content-Security-Policy(CSP 内容安全政策)



    default-src 'self'; img-src https://*; child-src 'none';

    • 作用
    1. 使用白名单的方式告诉客户端(浏览器)允许加载和不允许加载的资源。
    2. 内容安全策略   (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段

    content 内部代码

    upgrade-insecure-requests: 指示 User Agent 将 HTTP 更改为 HTTPS,重写网址架构。 该指令适用于具有大量旧网址(需要重写)的网站。
    base-uri: 用于限制可在页面的 <base> 元素中显示的网址。
    child-src: 用于列出适用于工作线程和嵌入的帧内容的网址。例如:child-src https://youtube.com 将启用来自 YouTube(而非其他来源)的嵌入视频。 使用此指令替代已弃用的 frame-src 指令。
    connect-src: 用于限制可(通过 XHR、WebSockets 和 EventSource)连接的来源。
    font-src: 用于指定可提供网页字体的来源。Google 的网页字体可通过 font-src https://themes.googleusercontent.com 启用。
    form-action: 用于列出可从 <form> 标记提交的有效端点。
    frame-ancestors: 用于指定可嵌入当前页面的来源。此指令适用于 <frame>、<iframe>、<embed> 和 <applet> 标记。此指令不能在 <meta> 标记中使用,并仅适用于非 HTML 资源。
    frame-src: 已弃用。请改用 child-src。
    img-src: 用于定义可从中加载图像的来源。
    media-src: 用于限制允许传输视频和音频的来源。
    object-src: 可对 Flash 和其他插件进行控制。
    plugin-types: 用于限制页面可以调用的插件种类。
    report-uri: 用于指定在违反内容安全政策时浏览器向其发送报告的网址。此指令不能用于 <meta> 标记
    style-src: 是 script-src 版的样式表

    参考文档:
    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP

  • 《富兰克林自传》读书笔记

    《富兰克林自传》 富兰克林 译林出版社

    点评:★★★★★
    富兰克林是一个勤奋 聪明 坚强 谦逊 善良 热心 巧言善辩 智慧 理性 自律 强悍的行动力和学习力的人。很佩服他,希望能学习到他的优点。这本书值得再三阅读。里面有一些他遭受的苦难一笔带过,对于读书他都有详细的描述。以前对其了解仅限于他制定的自律习惯十三条,和捕捉雷电。以及后面巴菲特是他的铁粉,还写了本书名类似他的书《穷查理年鉴》的《穷查理宝典》。看过本书后,去查询了他的生平纪事,越发佩服他。他书中对于自己的贡献并没有提及太多,本杰明·富兰克林是美利坚开国三杰之一。100美元上印的他的头像。对于只正经上过两年学的他来说,能一生达到如此多的成就,非常厉害。不论是这本书的语言风格还是内容都值得一看。现在计划看他写的《穷查理年鉴》
    这本书没有夸张,没有说理,就是娓娓道来的白话描述自己的人生时光。
    童年的苦难和当时离家出走的被迫,一笔带过。到了青年时期被骗的团团转,辗转奔波6个多月,也只是因为别人的谎话。他得到了很多自己的经验,然后对于朋友对于读书对于学习,都有自己的很多独到的见解。

    以下是本书我所做的标记

    ◆ 译者导言

    因撞到千载难逢的大运而得者为数寥寥,由日积月累的小惠而生者比比皆是

    ◆ 自传

    于是就打发我试着跟他学一段时间的手。谁曾想他要向我收取学费,这一下可惹恼了我父亲,于是又把我领回了家。

    还有一本笛福的书,叫做《论计划》,另外一本是马瑟博士的书,叫做《论行善》,后面这两本书扭转了我的思想,从而影响了我未来生活的一些重大事件。

    我看书非常小心,很快就能干干净净地归还。书要是晚上借的,第二天一早必须归还,以免被以为丢失或缺货,我往往在自己的屋子里开夜车赶着读。

    认为要是我坚持写诗,这些缺欠就可以避免,因为为了合律协韵就不断需要用意思相同、长短不一、声音多变的词,这就会逼着我为这些变化而苦苦搜索,而且也会让我把那些变化牢记心头,最后使我完全将它掌握。于是我找了几个故事,把它们改写成诗歌。过上一段时间,等我把原来的散文忘在脑后时,我又把诗歌还原成散文

    无论读书还是做练习,时间只能定在晚上,下班后或早上上班前;要么就是礼拜天。一到礼拜天,我总想方设法一个人待在印刷所里,尽量逃避到教堂做例行的礼拜,而在父亲管教下时,他总是逼着我去:不过我确实认为这是一项职责;但对我而言,只是挤不出时间去履行而已。
    大约十六岁的时候,我碰到一本倡导素食的书,是一个姓特赖恩的人写的。我决定吃素

    在他们回来之前,剩下的时间我就可以学习,于是我的学习大有长进,因为饮食节制可以使人头脑更清楚,领悟更敏捷。我

    还读了洛克的《人类理解论》和罗亚尔港的先生们的《思维的艺术》。

    找到了色诺芬的《回忆苏格拉底》,其中不乏这种方法的例证。我对这种辩论方法着了迷,便采用了它,丢弃了我那一套贸然反驳和武断论证的做法,拿出一副不耻下问和满腹疑团的样子。

    而宁可说,我心想,我恐怕一件事情是如此这般,由于某种理由,在我看来,或我倒认为它如何如何,或者我想象事情如何如何,或者如果我没有弄错的话,事情就是这样。当我需要反反复复坚持自己的见解并说服人们相信我时不时地鼓动宣传的措施时,我相信这种习惯对我好处极大。由于交谈的主要目的是提供信息或者获取信息,使人心悦或使人信服,所以我希望善意明达之人不要以武断自负的方式说话,而使行善的力量减弱,原因是用这种方式往往使人反感,容易造成对立,使我们专靠语言达到的这些目的——即提供或获取信息或者提供或获取快乐——一一泡汤:因为如果你要提供信息,在你提出自己的见解时,一种武断教条的态度可能招致反驳,也阻碍了坦诚的关注。

    蒲柏

    教人时要让人觉得你不是在教他,
    人所不知的事情你就说他是忘啦,

    他肯定会反对在他的报纸上刊印出来的,

    可以想象出他当时的处境是多么的艰难。走投无路,只能卖掉自己一部分收藏的书籍来获得路费,卖的时候犹豫再三可能还挑拣了半天才决定卖掉哪些书。换取一些钱当作路费。
    他被哥哥雇佣最后关系闹崩,想找个其他的活干,都找不到。因为他哥哥找到所有可能要雇佣他的人一一告诫别人都不要雇佣他弟弟。连曾经站他立场的人—父亲也跟哥哥站在一起。他找不到工作,也没有钱,亲人反对抱有怨言,他写自己属于被千夫所指。用了一个非常不体面的谎言说搞大了别人的肚子逃离,与其说投奔另一个城市不如说是被逼迫离开了家乡。但凡心里脆弱者可能都自杀了。所以才在后面他提到说当他回去的时候把自己收拾漂漂亮亮,口袋里装满了银币,他就是给他哥哥看的。这轻描淡抹得一笔。

    于是我把一部分书卖了,凑了一点钱

    于是我把一部分书卖了,凑了一点钱

    发现已经到了纽约,离家快三百英里了,一个十七岁的孩子,既没有带给任何人的推荐信,也没有一个认识的人,囊中又是十分羞涩

    《天路历程

    就在我吃点心的当儿,他跟我聊了起来,发现我读过几本书,态度顿时变得亲切友好。我们的交往一直持续到他去世。

    铜板我给了船家当路费,起初他们不肯收,因为我也出力划过船了;但我执意要他们收下。有时候一个人钱少时比钱多时出手更大方,也许是怕被人小瞧的缘故吧。

    现在我开始在镇上的年轻人中间结交朋友了,这些人都喜欢读书,我和他们晚上聚在一起,过得十分惬意。我靠自己的勤奋和节俭,攒了一点钱,日子过得挺滋润

    在此期间,这个意向仍然保密,所以我照旧在凯默那里打工,

    父亲认为我太年轻不能经管重大事业的判断不无道理。然而威廉爵士读过他的信后说他过于谨小慎微。人和人有天壤之别,年长难保事事谨慎,年幼未必处处唐突。

    这样我就放放心心地吃起鳕鱼来,而且跟别人一样继续吃下去,只是偶尔回头吃吃素。这么看来,做一个理性的动物倒是一件十分方便的事情,因为人想做一件事,它总能使人找出一个或造出一个理由来。

    我习惯用苏格拉底辩论法跟他周旋,提一些表面上离题万里的问题,然后步步逼进切入正题,往往使他陷入为难和矛盾的境地,引他钻进圈套,最后他变得战战兢兢,令人喷饭,如果不先问一句,你打算由此推定什么呢?

    她很有教养,头脑明达,举止活泼,谈起话来娓娓动听。

    就这样,那些可怜鬼总是把自己搞得紧巴巴的

    因为我相信,跟自己必须朝夕相处的人交恶是愚蠢透顶的

    汇总了一下我替他们垫付的款项,有时候一周得付他们的欠账接近三十先令

    所以当我谈及听说有个离工作地点更近的住处

    研究练习了泰弗诺所有的动作和姿势,再加上自己的一些独创,决心达到不仅实用而且优美、轻松的目的

    除了看戏,买书,自己的开销不大

    他活泼,机智,性情好,和蔼可亲,但吊儿郎当,缺心眼儿,为人做事可轻率到家了。

    我告诉他他不必后悔,我立马就走;

    再说,他看到我对他儿子有很大影响,早就说服他戒了酒,还指望我们关系更为密切时可以使他完全摒弃那种恶习,所以就更加支持

    我又回去了,我们的关系比前一段时间顺溜了许多。新泽西的生意搞到手了,为此我设计了一台铜板印刷机,这在美洲还是第一次见到。为了印钞票我还刻了一些装饰花纹和格子图案。我们俩去了一趟伯林顿,在那里我独当一面全盘处理,搞得人人满意,他从中大赚了一笔钱,所以好长一段时间暂无灭顶之虑。

    对于公认的看法总爱顶牛,又不修边幅,衣着脏得一塌糊涂,在一些宗教问题上又是个狂热分子,还带点儿流气。

    我逐渐确信人际关系中的真实、诚信、正直对于人生的幸福至关重要,我写成了决心书(这些仍然保留在我的日记本里),在有生之年时时躬行实践。诚然,启示论对我而言本身并不那么重要;但我仍然抱有这么一种观念:有些行为也许不是因为启示论禁止就是坏的,或者因为启示论提倡就是好的;然而,将事物的性质,也就是种种情况,都考虑进去,这一点倒很有可能:这些行为之所以会被禁止,是因为它们对我们有害,或者之所以会被提倡,是因为它们对我们有益。这种信念,多亏了上帝或守护天使的恩佑,或者碰巧形势有利,或者兼而有之,使我(度过这段危险的青年时代和远离父亲关照劝导后有时陷入的举目无亲的险境)没有因为缺乏宗教信仰而可能铸成任何任性的不道德或不正义的大错。我说任性,是因为我提到的一些事例,由于我的少不更事和别人的狡诈无赖,具有某种必然性,因此当我开始步入社会时,我有一种差强人意的品格,我对它给予适度的重视并决心保持到底。

    我逐渐确信人际关系中的真实、诚信、正直对于人生的幸福至关重要,

    由于我对豪斯满怀感激之情,这就使我比在别的情况下更加乐意帮助刚开始起步的年轻人。

    继续弹着同一个老调,多少年就是不在那里买房,因为一切将会毁于一旦,终于有一天我有幸看到他买房子,花的钱可是他第一次呱哒时的一倍。

    我们这样勤奋苦干,邻居们有目共睹,我们开始赢得了声望和信誉;我还听说商界的夜夜俱乐部有人提起新开张的印刷所,普遍的看法是必死无疑,因为当地已经有了凯默和布雷福德两家印刷所;然而贝尔德博士(多年以后你我在苏格兰他的故乡圣安德鲁斯见过他)则力排众议;因为那个富兰克林的勤奋,他说,是他的同行们望尘莫及的:我离开俱乐部回家时,他还在干活呢;他的邻居还没有起床,

    之所以这样毫无顾忌地强调自己的勤奋,尽管有自吹自擂之嫌,目的无非是让读过它的子孙后代们看到在这段叙述中勤奋产生的于我有利的效果时,就可以知道这种美德的用处了。

    最后只好贱价甩卖给我,我已经准备多时,想继续办下去,所以立即接手,事实证明在以后几年内办报纸使我大发其财。

    为了确保我作为一个生意人的信誉和人格,我处处留心,不仅要实打实的勤奋节俭,而且在面子上也避免有相反的表现。我衣着朴素;从不到娱乐场消闲鬼混;我从不出去钓鱼打猎;的确,看书有时候使我忘乎所以,误了正事;不过这种情况非常罕见,又十分隐蔽,没有引起物议:为了证明我不是个甩手掌柜,有时候我把从商店买来的纸张用手推车推过大街小巷送到家中。这样一来,人们认为我是个勤奋、发达的青年,买东西按时付款,进口文具的商人拉我做他们的客户,别的商人提议给我供书代销,我的事业顺风顺水。

    就算他真的死了,他留下的很多债务可能要求继承人来偿还。然而,尽管困难重重,我们豁出去了,1730年9月1日我娶她为妻。

    ◆ 〔两封信〕

    飞逝的时光总因洋溢着满足和快乐而叫人意气风发,而不是满载着愚蠢的忍耐和悔恨使人备受煎熬。那样的一种行为对这么一些人是轻而易举的,他们把美德和自身定为行为的准则,他们以效仿其他往往以忍耐为其特点的真正伟人,使自己做到宠辱不惊。

    ◆ 〔第二部〕生平自述续篇

    效法

    一,节制。
    饭不可吃胀。
    酒不可喝高。
    二,缄默。
    于人于己不利的话不谈。避免碎语闲言。
    三,秩序。
    放东西各归其位,办事情各按其时。
    四,决心。
    决心去做该做的事情,做就做到心想事成。
    五,节俭。
    不花于己于人没有好处的闲钱,杜绝浪费。
    六,勤奋。
    珍惜时光。手里总忙有益之事。剪除一切无谓之举。
    七,诚信。
    不害人,不欺诈。
    思想坦荡,公正;说话实事求是。
    八,正义。
    不损人利己,伤天害理的行为永不沾边,利公利民的应尽义务切勿放手。
    九,中庸。
    避免走极端。忍让化冤仇。
    十,清洁。
    身体、衣着、居所,不许不干不净。
    十一,平静。
    不可为小事、常事或难免之事搅乱了方寸。
    十二,贞洁。
    少行房事,除非为了身体健康或传宗接代;千万不可搞得头脑昏沉,身体虚弱,或者伤害自己或他人的平静或声誉。
    十三,谦卑。
    效法耶稣和苏格拉底。

    我相信很多人都是这种情况,他们由于缺少我用的手段,发现树立良风破除陋习十分艰难,在善与恶的其他一些交锋上放弃了斗争,还说什么麻脸斧头是最好的

    开始就说,在某种情况下他的见解可能是对的,但在目前看来,我觉得情况似乎或好像有所不同等等。很快我就发现了我这种改变态度的好处。我所参与的谈话进行得更加惬意了。

    ◆ 〔第三部〕

    最可取的对上帝的侍奉就是对人行善。

    一个能力尚可的人可以在人类中促成大变革,成就大事业,只要他首先制订一个好计划,然后剪除一切娱乐活动或其他可以让他分心旁骛的事务,把推行这一计划当作他唯一的研究和事业。

    穷理查历书

    日子之间出现的空白处填上一些谚语警句,主要劝导人把勤奋、节俭当作致富手段,进而培养美德,因为对一个穷人而言,总是老老实实地做事更难,因为(这里试用一句谚语)空袋子,难立直。

    我在1733年就开始学习外语。我很快就精通了法语,能够轻松地看法文书。然后我又学了意大利语。有一个熟人也学意大利语,他常常引诱我和他下棋。发现这么做占去了我为学习匀出来的过多时间,我最后再也不下棋了,除非满足这么一个条件:每盘棋的赢家有权布置任务,输家必须保证在下一次见面时完成,或者背会一部分语法,或者翻译出一段文章,等等。由于我们的输赢大致相当,这样便相互逼着掌握了那种语言。后来我又下了一点苦功学西班牙语,也能够读原著了

    但当我学会了法语、意大利语和西班牙语之后,我翻阅一本拉丁文《新约全书》时,惊讶地发现我对这种语言的理解比我想象的要多得多;这就鼓励我再次下工夫去学习拉丁文,因为前面几种语言为我铺平了道路,所以取得了更大的成功。

    我对他的回答是,我在什么地方读到或者听到有这么一位官场人物,他立下一条规矩,决不伸手要官,官帽落到头上时,也决不拒绝。我说,我赞成他的规矩,而且要身体力行,还要补充一点:我决不要官;决不拒官,也决不辞官。如果他们要把我的秘书职位交给别人,他们必须先从我手里拿走才行。我不会由于失去职位而丢弃跟对手秋后算账的权利。然而我此后再也没有听到有人说过这种话。下一次选举,我一如既往又是全票当选。长期以来,历任总督和议会在军备问题上争论不休,这让议会伤透了脑筋,咨议会的成员们在这一场争论中一直和总督们一个鼻孔出气,最近我又和这班人打得火热,可能议会对我的这种做法十分反感,所以如果我能自觉自愿地离开,也许会正中他们的下怀;不过他们并不喜欢仅仅因为我热心于社团就把我拉下马;可是他们又找不出别的堂而皇之的理由。其实我有理由相信,区防事务对哪一个议员也不是件头痛事儿,如果不要求他们参与的话。

    我决不要官;决不拒官,也决不辞官。如果他们要把我的秘书职位交给别人,他们必须先从我手里拿走才行。我不会由于失去职位而丢弃跟对手秋后算账的权利。

    哈哈有点可爱!装作没看到,闭着眼睛,顺手推舟。

    一方面,他不愿意断然拒绝,从而得罪政府;另一方面,他们也不愿意违背自己的原则,有求必应,从而得罪贵格会的大批教友。于是他们千方百计虚与委蛇,虚的实在玩不过去时,便又巧立名目,瞒天过海,最后常用的办法就是以国王专用的名目拨款,却从不过问这笔款项用于何处。

    首先,我劝你向你知道愿意出点钱的人去募捐;然后向你拿不准会不会给钱的人去募捐;最后,不要忽略那些你肯定是一毛不拔的铁公鸡;因为有些人你也许会看错。他大声笑了,千恩万谢,

    人的幸福,因撞到千载难逢的大运而得者为数寥寥,由日积月累的小惠而生者比比皆是。

    过我认为这种做法不太明智,因为经过我长期的观察;这些爱争长论短、反驳辩难的人做事一般都不走运。他们有时候能获得胜利,但永远也得不到友善,而友善对他们则更有用处。

    如果一天闲暇无事,他们就变得桀骜不驯,吵闹不休,总是鸡蛋里头挑骨头,不是嫌猪肉肥,就是嫌面包硬,总之,脾气一直很坏;这使我想起一位船长,他的原则就是让水手们一直忙忙碌碌;有一回他的大副告诉他什么事都干完了,再也没有让他们可忙活的了;噢,他说,那就让他们洗刷铁锚吧。

    龃龉

    我相信在公众事务之余下工夫做做新的实验,总比耗时间对已经做过的实验瞎争论强。

    喝下肚的酒越多,放出口的恳求和许诺也越多。

    唯一的补偿就是爵爷感谢我帮忙的几句套话,达成和解的功劳统统记在了他的账上。

    同是一条船,按一位船长的判断和命令装货,运行好,按另一位船长的判断和命令装货,运行则差。另外,一条船的建造、装配下海、扬帆航行很难由同一个人完成,一个人制造船身,另一个人配备帆索,第三个人装货、驾驶

    我强烈地感受到了灯塔的作用,使我狠下决心要鼓动人们在美洲多建一些灯塔,如果我能平安回去的话。

    ◆ 〔第四部〕


    我刚在查尔斯先生给我提供的住处安顿下来,就前去拜访福瑟吉尔博士,因为有人把我大力举荐给了他,他们还劝我设法听取他对讼诉问题的建议。他反对直接向政府投诉,认为先应当亲自向领主们提出申请,他们有可能在某些私交的干预或劝导下将事情和和气气通融过去。于是我又拜访了和我经常有书信往来的老朋友彼得·柯林森先生,他告诉我,弗吉尼亚大商人约翰·汉伯里要求我到了以后通知他一声,他可以带我去见当时的枢密院院长格兰维尔勋爵,勋爵也希望尽快见到我。我同意第二天早上随他前去拜访。
    于是汉伯里先生如约前来接我,用他的马车把我送到那位贵人府上,勋爵极其礼貌地接待了我;先问了几个关于美洲现状的问题,议论了一番,然后对我说,“你们美洲人对你们政治体制的性质有些错误的看法;你们硬说国王下达给你们总督的谕旨不是法律,认为你们可以自作主张随意照办或违抗。

    ◆ 致富之路

    那就让我们起来行动,行动还要得当。通过努力我们将多做事,少困惑

    起得晚就得整天奔波,到天黑还赶不完自己的工作。懒惰走路慢腾腾,穷困赶上快如风

    今日事今日毕,因为你不知道明天有多少障碍,这就使穷理查说:一个今天抵得上两个明天。他还说,如果你明天非干不可,还不如今天把事做完。

    懒惰生烦恼,安逸惹酸苦。不劳力的人只靠智谋生活,会因主干不牢而摧折

    我从未看见常移的树,
    也从未见过常搬的家,
    能像安定那样兴旺发达。

    一个劲地从饭盆里往外舀,从来不向里面添,很快露出底朝天

    你若要知道钱的价值,去借一些试试看。因为谁借钱谁就难堪。

    如果有人把钱借给那一类人,他去讨债时,也同样遇到难堪

    骄傲的早饭吃得满足,午饭吃得贫苦,晚饭吃得耻辱

    空袋子,难立直

    趁早把老年和贫穷提防,
    没有整天普照的朝阳,

    能抓到手的东西要抓紧,
    石头会把铅变成金

    记住约伯先受罪,后发迹。

    其实属于我自己的还不足十分之一,我只不过把古往今来、世界各国的道理做了一番搜集罢了。不过,我认为调嘴学舌反而更好。虽然我最初决定买些料子做一件新衣

    ◆ 富兰克林年表

    用了六个月的时间辗转奔波

    11月5日,启程前往伦敦,同行的有朋友詹姆斯·拉尔夫和商人托马斯·德纳姆,想靠基思总督许诺的信用证获得印刷设备。平安夜到达伦敦,发现基思“没有信用可给”,自己上当了

    这个世界上,除了死和税,什么也不能说是肯定的

  • js函数带括号和不带括号的区别

    先说结果

    1、加了括号的代表执行完毕得到函数的结果(括号的二义性,是“函数的调用运算符”)

    2、没加括号的,查看该函数的完整信息。指向函数的指针,只是传递了函数题所在的地址位置。

    举例:

    //demo1
    function demo1() {
        var m = 3;
        alert(m);
    }
    function demo2() {
        var m = 55;
        alert(m);
    }
    
    var e = document.getElementById('btn'); 
       
    // 点击的时候才进行执行  点击按钮“btn”后弹出3
    e.addEventListener('click', demo1); 
        
    // 直接就已经弹出进行了执行 弹出55    
    e.addEventListener('click', demo2());
    
    //demo2
    function foo(){
     var m = 3;
    return m;
    }
    var a = foo;
    var b = foo();
    console.log(a); //函数体
    console.log(b);//3

    其中括号的二义性。感觉像通假字,可以有俩意思。比如一个用红色墨水写的“蓝”字。这个字是什么颜色?蓝?红?

    2.7.2 括号"( )"的二义性
    
    我们来看下面语句中的括号"( )"应该是什么含义呢?
    
    var str = typeof(123);  
    var str = ('please input a string', 1000); 
    第一个 typeof 看起来好像被当成了函数使用--这是否说明 typeof 为一个"内部函数"呢?而第二行代码,你相信它会成功执行并使 str"意外地"赋值为 1000 吗?括号首先可以作为语句中的词法元素。例如函数声明中的"虚拟参数表":
    //声明函数时,括号用做参数表  
    function foo(v1, v2) {  
    //…  
    } 
    第二种情况,就是括号只作为"传值参数表(这有别于函数声明中的'虚拟参数表')",注意这里它并不表达函数调用的含义。目前为止,它只出现在 new 关键字的使用中:new关键字用于创建一个对象实例并负责调用该构造器函数,如果存在一对括号"( )"指示的参数表,则在调用构造器函数时传入该参数表,对此的具体分析,我们已经在"2.5.1.1使用构造器创建对象实例"中讲述过了。例如:
    //构造对象时,用于传入初始化参数  
    var myArray = new Array('abc', 1, true); 
    接下来,它也可以在 with、for、if、while 和 do...while 等语句,以及 catch()等子句中用来作为限定表达式的词法元素:
    // for语句(for…in语句类同)  
    for ( initialize; test; increment )  
    statement  
     
    // if语句  
    if ( expression )  
    statement  
     
    // while语句  
    while ( expression )  
    statement  
     
    // do…while语句  
    do  
    statement  
    while ( expression ) 
    在充当 if、while 和 do...while 语句中的词法元素时,括号会有"将表达式结果转换为布尔值"的副作用(参见"5.7.3.2语句(语义)导致的类型转换")。在很多时候,语句中的括号会产生类似于"运算"这样的附加效果。
    
    第四种情况,是括号"( )"用于强制表达式运算。这种情况下,基本含义是我们通常说的强制运算优先级。但事实上,不管有没有优先级的问题,括号总是会强制其内部的代码作为表达式运算。例如我们在这一小节开始列举的例子:
    
    var str1 = typeof(123);  
    var str2 = ('please input a string', 1000); 
    在第 1 行代码中,"( )"强制 123 作为单值表达式运算,当然运算结果还是 123,于是再进行 typeof 运算。所以这里的一对括号起到了强制运算的作用。同样的道理,第 2 行代码里的一对括号也起到相同的作用,它强制两个单值表达式做连续运算,由于连续运算符","的返回值是最后一个表达式的值,因此这个结果返回了 1000。所以我们要意识到,上面的第 1 行代码并没有调用函数的意思,而第 2 行代码将使 str2 被赋值为 1000。
    
    最后一种情况最为常见:作为函数/方法调用运算符。例如:
    
    //有(),表明函数调用  
    foo();  
    //没有(),则该语句只是一个变量的返回。  
    foo; 
    我们一再强调:函数调用过程中的括号"( )"是运算符。也因此得出推论,当"( )"作为运算符时,它只作用于表达式运算,而不可能作用于语句。所以你只能将位于:
    function foo() {  
    return( 1 + 2);  
    } 
    这个函数内的、return 之后的括号理解成"强制表达式优先级",而不是理解成"把 return当成函数或运算符使用"。所以从代码格式化的角度上来说,在下面两种书写方法中,第二种才是正确的:
    
    //第一种,像函数调用一样,return后无空格  
    return(1 + 2);  
     
    //第二种,return后置一空格  
    return (1 + 2); 
    基于同样的理由,无论"break (my_label)"看起来如何合理,也会被引擎识别为语法错误。因为 my_label 只是一个标签,而不是可以交给"( )"运算符处理的运算元,标签与运算元属于两个各自独立的、可重复(而不发生覆盖)的标识符系统。