GraphQL + Koa + React 项目实践

项目背景

源于 2019 年 11 月 16 日 FCC 成都社区主办的 Web 全栈大会上尹吉峰老师的 GraphQL 的分享,让我产生了浓厚的兴趣。GraphQL 是一个用于 API 的查询语言,是使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。一个 GraphQL 服务是通过定义类型和类型上的字段来创建的,然后给每个类型上的每个字段提供解析函数。

参考学习资料:

基于以上的一番学习,做了个实践的小项目,就代码做以下分析。

(附上项目地址:react-graphql-project


JavaScript 效率工具

每当看到发在 FCC 成都社区群里的技术文章,水歌都忍不住去指出它的不足。

今天评注的文章题为《一批提升你工作效率的 JS 工具方法》,文中的 60 个方法与上次评注的“24 个 ES 方法”类似,不够简洁优雅,与最新 ECMAScript、DOM 标准有些差距,有些“复制粘贴老文章片段”的感觉。

接下来,我就按功能类别来对一些有必要优化的工具方法一一重构。


【青铜三人行】每周一题之验证栈序列

先说一个消息,为了方便互相交流学习,青铜三人行建了个微信群,感兴趣的伙伴可以扫码加下面的小助手抱你入群哦!

青铜三人行小助手(其实是 Helen)

每周一题,代码无敌~ 这次的主题是 「贪心算法」


【青铜三人行】外篇之循环与递归

不知不觉青铜三人行已经做了两个月的题了,这次轻松点,看看不一样的吧。

机器擅长的事 —— 重复

作为专业的程序猿,经常被行业外的朋友问到,为什么要学习编程?其实,除了掌握技能提高工作效率、甚至成为职业以外。学习编程更重要的是:思维训练

其实,计算机从一开始就是为了帮助人们解决复杂问题而设计出来的。而在这个过程中,计算机程序的「思考」模型是一个叫“图灵机”的计算模型,图灵机是图灵 (Alan Mathison Turing) 祖师爷模拟人思考而发明出来的。为什么图灵祖师爷要发明图灵机呢?是因为他想要试图以自己和自己周围的天才科学家的思维方式作为人类的具体实例,来抽象总结出一套解决问题的办法。所以说,计算机程序的运作方式其实是一种人类尝试用简单的方式逐步去解决复杂问题的天才的思考方式。


webpack 打包文件分析(下)

回顾

上一篇webpack 打包文件分析(上)我们讲到 webpack 打包源码中文件加载的部分,通过分析了解了在 webpack 中不同模块规范相互加载的处理。而至此,只包括了文件的同步加载分析,对于文件的异步加载又是如何处理的呢?

我们使用 webpack 将项目打包为一个 bundle.js 文件,通过 script 标签插入到页面中引用。但如果这个 bundle.js 体积特别大,就会导致我们加载时间过长,阻塞页面的渲染。

其次,这个打包出来的 bundle.js 中其实部分的代码资源是当前加载页面用不到的,这样也导致了浪费。于是,资源加载的优化就成了必须要考虑的问题,而异步加载(或者说动态加载)就是解决这个问题的方案之一。


【青铜三人行】每周一题@组合总和

每周一题,代码无敌~

这次让我们回到算法本身,来探讨一下回溯算法:

组合总和

力扣 ​leetcode-cn.com

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的数字可以无限制重复被选取。


webpack 打包文件分析(上)

前言

webpack 是一个用于静态资源打包的工具。它分析你的项目结构,会递归的构建依赖关系,找到其中脚本、图片、样式等将其转换和打包输出为浏览器能识别的资源。

本篇文章仅对 webpack 打包输出的文件进行简要的分析。


【青铜三人行】匹配子序列的单词数

每周一题,代码无敌~

这次让我们换换口味,讨论一个稍微偏实际一点的问题:


67 个你的浏览器不想让你知道的奇怪调试技巧

一份实用而不显眼的黑客高手列表,让您充分利用浏览器的调试器。假设您对开发工具有中级或更高程度的了解。


【青铜三人行】二叉树中的最大路径和

每周一题,代码无敌~ 这一次,青铜三人行决定在五一假期期间挑战一道难度为「困难」的题目:


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×