【前台】1.新的JavaScript数据类型:BigIntBigInt是JavaScript中一种新的数字原始类型,可以表示任意精度的整数。使用BigInt可以安全地存储和操作大整数,即使该数字超出了Number可以表示的安全整数范围。V8引擎已经正式宣布支持BigInt。从此,JS可以准确表示任意位数的整数,不再受64位双精度浮点数格式的限制。本文将通过比较JavaScript中的BigInt和Number来介绍一些用例并解释Chrome67中的新功能。详情:https://developers.google.com/web/updates/2018/05/bigint2。NestJs:使用TypeScriptNest开发NodeJs服务器端的框架是一个用于构建高效且可扩展的服务器端应用程序的渐进式节点。js框架,深受Angular的启发。它使用现代JavaScript或TypeScript(保留与纯JavaScript的兼容性),结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数式响应式编程)的元素,并在底层使用express,旨在提供一个输出开箱即用的应用程序架构,允许轻松创建高度可测试、可扩展、松散耦合且易于维护的应用程序。详情:https://www.codementor.io/samueleresca/server-side-architecture-with-node-and-typescript-using-nest-jazqpf6db3。使用Puppeteer和Jest对你的React应用程序进行端到端测试可以帮助我们确保我们的React应用程序的所有组件以我们期望的方式协同工作,以弥补单元和集成测试的不足。Puppeteer是Google出品的端到端测试库,它为我们提供了一个高级API,通过开发工具协议来控制Chromium。在这篇文章中,作者将展示如何使用Puppeteer+Jest在一个简单的React应用程序上运行不同类型的测试。详情:https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59?gi=18fdd22f6a04。用vue开发一个实时报表系统这篇文章给我们展示了一个实时报表系统它的交互式仪表板有一个折线图显示每天的收入和支出,可以添加新的支出和收入,并实时看到图表更新。技术栈采用Node.js+Express作为后端服务,Vue+vue-chartjs作为前端框架。详情:https://www.codementor.io/iamlese/build-a-realtime-chart-with-vue-js-j7h1yvcbk5。Howtoavoidasync/awaithell笔者首先介绍什么是async/awaithell,以及在开发过程中如何避免async/await的地狱如何避免async/await的地狱,async/await凉了一阵子,火葬场了性能问题。详情:https://medium.freecodecamp.org/avoiding-the-async-await-hell-c77a0fb71c4c6。那些前端MVVM框架是如何诞生的笔者从最原始的刀耕火种→模板引擎→局部更新→组件化直接操作DOM,一步步还原MVVM的历史,具体分析各个方案的不足之处以及下一代方案的优势。详情:https://zhuanlan.zhihu.com/p/364532797。Guess.js是一个数据驱动的套件,用于改善用户体验。一个非常有趣的项目。开发人员可以将机器学习与GoogleAnalytics集成,为您的网站提供情报。AddyOsmani在本周的谷歌I/O大会上也介绍了这个项目。开发者可以通过webpack插件快速将其添加到React和Anguar项目中。详情:https://blog.mgechev.com/2018/05/09/introducing-guess-js-data-driven-user-experiences-web/8。JSX还能这么玩笔者首先简单介绍了JSX的常规用法,然后通过使用JSX实现了一些简单的Math运算和归并排序,说明了JSX还有更多新奇的玩法,让人大开眼界。详情:https://medium.com/@pomber/jsx-can-do-that-1b2666c23a329。我在互联网上关闭了Javascript一天,现在我可以在没有JavaScript的情况下在线做任何事情吗?这篇文章不仅以简洁的方式回答了这个问题,还提供了很多关于如何改进自己的网站和应用程序的见解。详情:https://www.smashingmagazine.com/2018/05/using-the-web-with-javascript-turned-off/10。使用React为初学者打造Instagram!这个分为四部分的教程将带您逐步使用React、Node和Pusher实现像Instagram这样的照片共享应用程序。详情:https://react.statuscode.com/link/46696/web11。ProtonNative:使用ReactNative构建桌面应用程序,语法与ReactNative相同,使用原生组件和跨平台。ProtonNative比Electron更快,资源占用更少。ReactNative在移动设备上所做的一切,您都可以使用ProtonNative在桌面上完成。详情:https://proton-native.js.org/12。CSS-Grid-响应式布局和组件css-grid是一个新特性,跟随这篇文章的作者只使用几行CSS代码的响应式图片库。详情:https://medium.com/deemaze-software/css-grid-responsive-layouts-and-components-eee1badd5a2f【后端】1.后端架构师的技术图,干货满满,包括:数据结构,常用算法、并发、操作系统、设计模式、运维&统计&技术支持、中间件、网络、数据库、搜索引擎、性能、大数据、安全、常用开源框架、分布式设计、设计思维&开发模式、Project管理、技术资源等。详情:https://github.com/xingshaocheng/architect-awesome2。200行Java代码实现依赖注入框架作者写了一个基本符合标准依赖注入规范“JSR-330”的小框架iocids。这个小框架只有一个主要的类注入器,大约200行代码,它有以下功能:单例/非单例注入、构造函数注入、字段注入、循环依赖注入和限定符注入。该项目在GitHub上开源。详情:https://mp.weixin.qq.com/s/R14Xaq2iSUbVphdVtRiyjg3。JavaDevelopersin2018文章提出2018年Java开发者的10个Tips:学习Java8,学习Spring框架(SpringBoot),学习单元测试,学习API和库,学习JVM原理,学习设计模式,学习DevOps工具,学习Kotlin,学习微服务,更好地使用你的IDE。详情:https://javarevisited.blogspot.ca/2018/05/10-tips-to-become-better-java-developer.html4。互联网公司技术架构国内外互联网公司技术架构及开源项目,包括:微信/淘宝/微博/网易/腾讯/阿里/美团点评/百度/谷歌/Facebook/亚马逊/eBay。详情:https://github.com/davideuler/architecture.of.internet-product5。Python开发者画像:Whattouse,whattodo这是PyCharm的开发公司JetBrains在2017年底进行的一项调查,收集了全球约9500名Python程序员的反馈。看看大家都在用Python做什么,最常用的工具和库有哪些,你是典型的Python开发者吗?详情:https://www.infoworld.com/article/3269582/python/python-developers-profiled-what-you-use-what-you-do.html6.Python中优化数据分析和处理代码的七种策略这是在正在进行的PyCon2018上分享的幻灯片演示。Python为操作数据提供了一个强大的平台,但通常最直接的数据分析可能会非常缓慢。但是,如果使用得当,Python可以像C这样的编译语言一样快。本次分享概述了如何有效地使用Python来优化数值代码,涉及到numpy、pandas、scipy、cython和numba等工具库。详情:https://speakerdeck.com/jakevdp/seven-strategies-for-optimizing-numerical-code7。号称性能翻倍的MySQL8来了。我们应该如何处理呢?这是OSCHINA第196期的Q&A。距离MySQL8.0正式版发布已经两周了。官方表示,MySQL8.0的速度是之前版本MySQL5.7的两倍。对于开发者来说,性能的提升固然令人兴奋,但除了这些肉眼可见的提升之外,更值得我们关注的是我们应该如何应对和利用新版本带来的变化?详情:https://www.oschina.net/question/2720166_22793718。如何使用GitMerge(正确的打开方式)来管理不同分支的函数对于认真的开发者来说至关重要。通过分离出每个功能、错误修复或一些实验代码,您可以避免许多问题并保持开发分支的清洁。在某个时候,一段代码达到了你想要将它与项目的其余部分集成的状态,此时使用gitmerge命令。详情:https://dev.to/neshaz/how-to-use-git-merge-the-correctway-25pd[Others]1.2018GoogleI/O亮点汇总2018GoogleI/O开发者大会召开在北京5月9日凌晨,在美国山景城正式开幕。全新AndroidP系统发布,更智能、更简洁;发布下一代安卓组件AndroidJetpack;Kotlin开发体验提升;AI芯片TPU3.0发布;Gmail新增实时推荐功能,可智能撰写邮件;可以还原旧照片的颜色;GoogleAssistant提供6种全新语音,更加逼真自然,同时还扩展了视觉交互能力和电话预约功能;此外,还有GoogleMaps、GoogleLens、AndroidThings1.0和无人驾驶汽车等技术更新。详情:https://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650080824&idx=1&sn=61f913b655fe4bcf2b846a0191251fc12。高效阅读Github源码文章介绍三种方法,帮助你更有效地阅读Github源码。使用Chrome插件Octotree,左侧会出现一个树状结构,方便你浏览源码;配合GithubDesktop桌面应用,方便将代码clone到本地,然后进行各种git操作;直接把Chrome变成在线IDE,帮你准备好所有的npm包,直接运行。详情:https://zhuanlan.zhihu.com/p/35778751每周一更新到github,欢迎star:)