Lighthouse

14 个 JavaScript 代码优化技巧

倖福魔咒の 提交于 2020-10-07 05:27:22
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! JavaScript 已经成为有史以来最受欢迎的编程语言之一。根据 W3Tech 的数据,全世界将近 96%的网站都在使用它。关于 Web 有一个关键的事实是,你无法控制访问网站的用户所用设备的硬件规格。最终用户访问你的网站时,使用的可能是高端设备也可能是低端设备,网络连接条件也有好有差。这意味着你必须尽可能优化自己的网站,以满足任何用户的需求。 这篇文章列举了一些技巧,可帮助你写出更好的 JavaScript 代码,从而提高性能。 附带提一下,请共享和重用你的 JS 组件,以在高质量代码(写起来需要花费时间)和合理的交付时间之间保持适当的平衡。你可以使用 Bit 等流行工具将任何项目中的组件(普通 JS、TS、React、Vue 等)共享到 Bit 的组件中心,用不了多大功夫。 1、删除未使用的代码和功能 你的应用程序包含的代码越多,就需要将更多的数据传输到客户端。浏览器也需要更多时间来分析和解释代码。 有时,你可能打包了很多根本用不到的功能。最好只在开发环境中保留这些额外的代码,而不要将其推送到生产环境中,以免给客户端的浏览器增加负担。 要不断问自己,某个功能或代码段是否是必要的。 你可以手动移除未使用的代码,也可以使用 Uglify 或谷歌的 Closure

Ethereum 2.0 Meeting #43 | 以太坊 2.0 会议第43期

假装没事ソ 提交于 2020-10-02 05:15:21
会议: 以太坊2.0会议#43 会议日期: 2020 年7月9日 会议时长: 1 小时 会议视频链接: https://youtu.be/4IooxDX_GfU 会议日程: 1. 测试和版本更新 2. 测试网更新 3. 客户端更新 4. 应急响应 5. 关系到用户安全和用户体验的弱主观性 6. 研究更新 7. 网络侧更新 8. 规范讨论 9. 开放讨论/总结 会议主要内容: 1. 会议开始,主持人Danny先开始第一个议题,即 测试和版本更新 。Danny介绍说v12.2版本马上就要发布,并能完全向后兼容。现在主要做的就是在发布前再调试一下gossipsub的参数。 Proto 对团队的进展进行了介绍。其中,最重大的进展是上周发布了Rumor v2,里面包含了许多新的命令,并对脚本进行了优化。现在仍然在做一些类似同步命令的优化工作。Proto说针对Phase1的测试才刚开始,同时Python Eth2的规范同步在升级。他认为现阶段测试分叉选择实施方法的最佳方案是在Rumor上面测试,而不是之前大家认为的在每个不同的客户端上面开放接口来测试,所以他会准备一个Rumor教程给大家。Danny强烈推荐各个客户端团队都仔细地阅读这个教程。 Mehdi 介绍说上周更新了信标模糊测试,文字帖在同步准备。Docker化和信标模糊测试都完成了,这样用户就可以轻松地在家使用

Preloading Google Fonts

偶尔善良 提交于 2020-08-27 05:54:46
问题 Light House audit is suggesting that I preload key requests, specifically the two google fonts that I'm using in my React app. A Light House member suggested using: <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Open+Sans|Roboto:700" crossorigin> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin> I know it's making the request because I see it in the waterfall and I get this console warning: "The resource https://fonts.googleapis.com/css?family

GLUT Tutorials 17:子窗口

拥有回忆 提交于 2020-08-18 08:22:09
博客转自: http://www.lighthouse3d.com/tutorials/glut-tutorial/subwindows/ 创建和销毁子窗口 With GLUT we can define subwindows, i.e. divide the main window in different regions, each with its own OpenGL context and callbacks. One possible application is to provide several views of the same scene simultaneously. In order to create a subwindow we use the function glutCreateSubWindow with the following syntax: int glutCreateSubWindow( int parentWindow, int x, int y, int width, int height); Parameters: parentwindow – the id of the parent window x, y – the top left corner of the subwindow, relative to the

GLUT Tutorials 17:子窗口的reshape

◇◆丶佛笑我妖孽 提交于 2020-08-17 04:02:08
博客转自: http://www.lighthouse3d.com/tutorials/glut-tutorial/subwindow-reshape/ The callback for the reshape function needs to do two things: it resizes the subwindows, and recomputes the projection matrices for each subwindow. In our case we’re not rendering any geometry in the main window, so we’ll skip recomputing the projection matrix for the main window. First let’s introduce the functions to resize, and reposition the subwindows. void glutPositionWindow( int x, int y); void glutReshapeWindow( int width, int height); Parameters: x,y – the top left corner of the window width, height – the

GLUT Tutorials 18:多窗口的rendering

无人久伴 提交于 2020-08-17 02:39:10
博客转自: http://www.lighthouse3d.com/tutorials/glut-tutorial/rendering-to-multiple-subwindows/ Before we start lets recall our callback definitions, as defined when the window and subwindows were created: idle function – renderSceneAll display func for main window – renderScene display func for subwindow 1 – renderScenesw1 display func for subwindow 2 – renderScenesw2 display func for subwindow 3 – renderScenesw3 We’ll start by the display functions for each window. The main window is covered with subwindows so we only want to paint it black. Since we are working with multiple windows the first

数据科学是城市减少碳排放的有力工具

百般思念 提交于 2020-08-17 00:13:02
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 至顶网CIO与CTO频道 07月15日 编译:2019年11月,中国武汉报告第一例COVID-19感染病例。在疫情爆发初期,当地主管机构曾试图控制病毒外流,但随着病例的大面积扩散,整个湖北省开始实施封锁措施。今年1月22日,武汉成为首个全面进行检疫的大型城市;随后几个月,全球多个城市纷纷效仿,交给全球经济带来巨大冲击。根据经济合作组织今年6月发布的预测,即使不出现疫情的二次爆发,2020年全球经济总量也将缩水6%。而如果出现二次爆发,全球经济缩水将达到7.6%。 2020年5月27日,一位骑自行车出行的居民经过法国巴黎的Ubeeqo SAS电动汽车充电桩。法国总统马克龙推出的碳减排计划包括鼓励购买电动汽车,并以现金奖励形式引导消费者以旧换新。此外,政府还将为经济压力较大的汽车零件制造商提供补贴。 在COVID-19爆发期间,政策制定者与科学家们开始利用数据洞见跟踪并控制城市中的病毒。随着经济秩序重归正常,城市不仅需要继续运用数据资源监控COVID-19,还需要顶住疫情压力推动经济复苏。世界银行报告称,全球城市产生的GDP占GDP总量的八成以上,但同时亦消耗着全球三分之二的能源,二氧化碳排放量亦超过七成比例。考虑到城市在实现经济可持续恢复中发挥的不可或缺的作用

GLUT Tutorials 19:glutPostRedisplay vs. Idle Func

别来无恙 提交于 2020-08-16 20:25:57
博客转自: http://www.lighthouse3d.com/tutorials/glut-tutorial/glutpostredisplay-vs-idle-func/ . GLUT将会调用显示函数知道没有事件函数去处理,也就是说,只要没有事件函数处理,主程序尽可能调用显示函数。我们将建立一个很简单的交互程序,当我们按下键盘,触发键盘事件之后,显示函数将会被调用,屏幕将会被重新绘制。我们需要做的就是 注册显示函数和空闲处理函数为同一函数。 如果只有我们的OpenGL程序运行,或者仅仅是想要测试,这样设置是OK的。但是当OpenGL程序仅仅是我们想要运行的程序其中之一时,计算机资源此时将显得匮乏。导致这个问题的当然是GLUT程序,因为他一直持续调用显示函数,即使在没有任何需要更新的时候。Try checking the task manager tab for the processes and you can see that even if the render does not change from frame to frame, our GLUT app is eating CPU resources. GPU resources are also being used, of course. 当我们需要CPU或者GPU去处理其他事情的时候

预告 |【腾讯云Lighthouse惊喜夜】给你一个不一样的直播带货体验

丶灬走出姿态 提交于 2020-08-16 09:25:22
直播带货卖衣服——你常见 直播带货卖零食——你常买 直播带货卖轻量应用服务器——你体会过吗? 直播预告 8月13日 19:00 【腾讯云Lighthouse惊喜夜】 初次见面,带了些鹅厂特产送给大家 蓝牙音响、腾讯公仔、限量按摩锤、限定笔记本······ 才华横溢的你们当然不满足于以上见面礼:【Lighthouse全网最低价】【Lighthouse无门槛代金券】 甚至还有免单机会,统统送给各位大家 老用户们的心声我们都有接收到呢~ 这次,我们带着全网最低价兑现承诺来了! 本次直播间冰点价不限新老用户,一律同享! 除此之外,还特意请来了 腾讯云产品布道师卷爷 现场挑战「3分钟建站」「性能跑分」 满足大家对腾讯云Lighthouse的所有好奇! 或长按识别下方海报二维码,预约Lighthouse直播👇 【腾讯云大学】公众号活动除直播间活动外,腾讯云大学公众号转发海报集赞活动仍在火热进行中哦~ 并转发“海报”到朋友圈集赞,截图提交到【腾讯云大学】公众号后台,集赞前三名的用户将获得,腾讯定制精美礼品1份! (直播结束的晚上零点截止) 具体活动详情,可参考【腾讯云大学】公众号 —— 【 腾讯云Lighthouse惊喜夜 不一样的直播带货】 来源: oschina 链接: https://my.oschina.net/u/4297117/blog/4497068