FCC 成都社区·技术周刊 第 12 期

【前端】

1. JavaScript 的新数据类型:BigInt

BigInt 是 JavaScript 中的一个新的数字基本(primitive)类型,可以用任意精度表示整数。使用 BigInt 可以安全地存储和操作大整数,即使这个数已经超出了 Number 能够表示的安全整数范围。V8 引擎已正式宣布支持 BigInt,从此 JS 可以精确表示任意位数的整数,再也不受 64 位双精度浮点数格式的限制了。本文将介绍一些用例,并通过比较 JavaScript 中的 BigInt 和 Number 来解释 Chrome 67 中的新功能。

详情: https://developers.google.com/web/updates/2018/05/bigint

2. NestJs:用 TypeScript 开发 NodeJs 服务器端的框架

Nest 是用于构建高效且可扩展的服务器端应用程序的渐进式 Node.js 框架,深受 Angular 的启发。它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和 FRP(函数响应式编程)的元素,底层使用 express,旨在提供一个开箱即用的应用程序体系结构,允许轻松创建高度可测试、可扩展、松散耦合且易于维护的应用程序。

详情: https://www.codementor.io/samueleresca/server-side-architecture-with-node-and-typescript-using-nest-jazqpf6db

3. 用 Puppeteer 和 Jest 测试你的 React App

端到端测试可以帮助我们确保我们的 React 应用程序的所有组件都按我们预期的方式协同工作,以弥补单元测试和集成测试的不足。Puppeteer 是谷歌出品的端到端测试库, 它为我们提供了一个高层次的 API,可以通过开发工具协议控制 Chromium。在这篇文章中,作者将展示如何使用 Puppeteer + Jest 在简单的 React 应用程序上运行不同类型的测试。

详情: https://blog.bitsrc.io/testing-your-react-app-with-puppeteer-and-jest-c72b3dfcde59?gi=18fdd22f6a0

4. 用 vue 开发一个实时报表系统

本文向我们展示了一个实时报表系统的搭建过程,它的交互式仪表板有一个折线图, 显示每天的收入和开支,能够添加新的开支和收入,并能看到图表的实时更新。技术栈采用 Node.js + Express做后端服务, Vue + vue-chartjs做前端框架。

详情: https://www.codementor.io/iamlese/build-a-realtime-chart-with-vue-js-j7h1yvcbk

5. 怎样规避 async/await 地狱

作者先介绍什么是 async/await 地狱,以及在开发过程中怎样去规避 async/await 地狱,async/await 一时爽、性能问题火葬场。

详情: https://medium.freecodecamp.org/avoiding-the-async-await-hell-c77a0fb71c4c

6. 那些前端 MVVM 框架是如何诞生的

作者从 最原始的刀耕火种直接操作 DOM → 模板引擎 → 局部更新 → 组件化, 一步一步来还原 MVVM 的历史,具体分析每一种方案的不足和下一代方案的优点。

详情: https://zhuanlan.zhihu.com/p/36453279

7. Guess.js 一个通过数据驱动去提高用户体验的套件

一个非常有趣的项目,开发者可以通过 Google Analytics 集合机器学习来为你的网站智能的预加载资源,Addy Osmani 在本周的 Google 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 运算 和 merge sort 举例说明 JSX 还有更多新奇的玩法,令人大开眼界。

详情: https://medium.com/@pomber/jsx-can-do-that-1b2666c23a32

9. 我关掉 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/web

11. Proton Native:使用 React Native 来构建桌面应用

和 React Native 一样的语法,使用原生组件而且跨平台。Proton Native 比 Electron更快,占用资源更少。React Native 在手机上做的一切你都可以用 Proton Native 在桌面端实现。

详情:https://proton-native.js.org/

12. CSS-Grid - 响应式布局和组件

css-grid 是新的特性(feature),<span data-type="color" style="color:rgb(36, 41, 46)"><span data-type="background" style="background-color:rgb(255, 255, 255)">跟着本文作者学习</span></span>用仅仅几行 CSS 代码实现一个响应式的相册。

详情:https://medium.com/deemaze-software/css-grid-responsive-layouts-and-components-eee1badd5a2f

【后端】

1. 后端架构师技术图谱

大波干货来袭,内容包括:数据结构,常用算法,并发,操作系统,设计模式,运维 & 统计 & 技术支持,中间件,网络,数据库,搜索引擎,性能,大数据,安全,常用开源框架,分布式设计,设计思想 & 开发模式,项目管理,技术资源等等。

详情: https://github.com/xingshaocheng/architect-awesome

2. 200 行 Java 代码实现依赖注入框架

作者写了一个基本满足标准依赖注入规范「JSR-330」的小框架 iockids,这个小框架只有一个主类 Injector,大约 200 行代码,它具备以下功能:单例/非单例注入,构造器注入,字段注入,循环依赖注入和 Qualifier 注入。该项目在 GitHub 上开源。

详情: https://mp.weixin.qq.com/s/R14Xaq2iSUbVphdVtRiyjg

3. 2018 Java 开发人员的 10 个 Tips

文章提出了 2018 Java开发人员的 10 个 Tips:学习 Java 8,学习 Spring 框架(Spring Boot),学习单元测试,学习 API 和库,学习 JVM 原理,学习设计模式,学习 DevOps 工具,学习 Kotlin,学习微服务和更好地使用你的 IDE。

详情: https://javarevisited.blogspot.ca/2018/05/10-tips-to-become-better-java-developer.html

4. 互联网公司技术架构

国内外互联网公司技术架构和开源项目,包括:微信/淘宝/微博/网易/腾讯/阿里/美团点评/百度/Google/Facebook/Amazon/eBay.

详情: https://github.com/davideuler/architecture.of.internet-product

5. Python 开发者画像:用什么,做什么

这是由开发 PyCharm 的 JetBrains 公司在 2017 年末进行的一项调查,收集了全球约 9500 名 Python 程序员的反馈。看看大家都在用 Python 做什么,最常用的是哪些工具和库,而你是不是一个典型的 Python 开发者呢?

详情:https://www.infoworld.com/article/3269582/python/python-developers-profiled-what-you-use-what-you-do.html

6. Python 中优化数据分析处理代码的七个策略

这是正在进行的 PyCon 2018 上分享的一个 Slides 演示文稿。Python 为处理数据提供了一个强大的平台,但通常最直接的数据分析可能会非常缓慢。 但是,如果使用得当,Python 可以像 C 这样的编译语言一样快。这个分享概述了如何有效地利用 Python 优化数字类代码,涉及 numpy、pandas、scipy、cython 和 numba 等工具库。

详情:https://speakerdeck.com/jakevdp/seven-strategies-for-optimizing-numerical-code

7. 号称性能提升 2 倍的 MySQL 8 来袭,我们该如何应对?

这是 OSCHINA 第 196 期的高手问答。MySQL 8.0 正式版发布已有两周,官方表示 MySQL 8.0 要比上个版本 MySQL 5.7 快 2 倍。对于开发者来说,性能的改进固然是让人兴奋的,不过除了这些看得到的改进,更值得我们关注的是,我们该如何应对和利用新版本带来的变更?

详情:https://www.oschina.net/question/2720166_2279371

8. Git Merge 怎么用(正确的打开方式)

将功能用不同的分支来管理,对于认真的开发人员来说是至关重要的事情。 通过分离开每个功能、错误修复或者一些实验性代码,能帮您避免很多问题并保持开发分支的清洁。直到某个时候,一段代码会达到了你想要将它与项目其余部分整合的状态,这时候就要用到 git merge 命令了。

详情:https://dev.to/neshaz/how-to-use-git-merge-the-correctway-25pd

【其他】

1. 2018 Google I/O 亮点汇总

2018 Google I/O 开发者大会已于北京时间 5 月 9 日凌晨在美国山景城正式启幕。新的 Android P 系统发布,更智能、更简化;下一代的 Android 组件 Android Jetpack 发布;改善 Kotlin 开发体验;AI 芯片 TPU 3.0 发布;Gmail 新增实时推荐功能,可智能书写邮件;Google Photos 可智能 P 图,可对老照片进行色彩还原;Google Assistant 提供 6 种新声音,更加真实自然,还扩展了视觉交互能力和电话预约功能;此外还有 Google Map、Google Lens、Android Things 1.0 和 无人驾驶等技术更新。

详情: https://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650080824&idx=1&sn=61f913b655fe4bcf2b846a0191251fc1

2. 高效阅读 GitHub 源代码

文章介绍三种方法帮助你更有效的阅读 Github 源代码。用 Chrome 插件 Octotree,左侧会出现树形结构,方便你浏览源代码;用 Github Desktop 桌面应用,方便把代码 clone 到本地,然后进行各种 git 操作;直接把 Chrome 变成一个在线 IDE,帮你把npm 包都准备好,直接可以运行。

详情:https://zhuanlan.zhihu.com/p/35778751

每周一同步更新到 GitHub, 欢迎 star :)

相关推荐