自从娃上了小学,如何在家辅导数学始终是一个问题。不是娃不愿意学,而是作为家长,总是很难抽出足够的时间来辅导。举例来说,今年倡导双减,因此二年级就没有了书面作业,那么乘法口诀的练习,就需要家长在家口头陪小孩练习。这个方法本身是没问题,但是比较依赖家长的时间,虽然每天只需要一二十分钟,但每天各种事情忙完准备练习,就基本上晚上八点之后了。当开始练习的时候,虽然只是九九乘法口诀,需要记忆的成分很高,但是有...
当前Git最新的版本已经是2.34.1,但是我的Ubuntu 18.04.2 LTS系统里的Git版本是2.17.1,由于更新版本的Git更加安全,因此还是有必要升一下。Ubuntu默认的安装包仓库里的版本只是2.17.1,所以直接通过sudo apt install git来安装,是不会安装到最新的版本的。为了达到目的,我们可以用Git团队为Ubuntu用户开发的一个PPA (Personal ...
问题的背景是这样的:我希望每天能够给小孩出一份乘法口诀的练习题,题目的顺序每天都不重复。作为程序员,肯定是不愿意手动去一道道出题的,那么写程序去生成这些题目是必须的。生成题目简单,二重循环就可以,但是把题目随机排序,有没有简单的办法?在JavaScript里面,对于数组里面的元素,我们可以使用Array.prototype.sort()来对数组的内容进行排序。使用这个方法,我们可以按照数据的值或属...
用Jest做JavaScript单元测试是个不错的选择,在Jest的基础上,用@testing-library/react是锦上添花的方法。React Testing Library提供了render() API,可以用这个API在jsdom里渲染React的组件。jsdom是一个模拟的浏览器里的JS运行时,实现了很多重要的web标准,比如DOM和HTML。但是在运行涉及到canvas的元素测试的...
在HTML里画一些简单的图的时候,有时候我们并不需要像HighCharts这样重量级的画图库。在HTML5的canvas里面画一些简单的图并不难。从一个最简单的例子看起:运行代码,可以看到我们很容易在canvas里面画了一个方框:方框的起始位置是(20, 20),宽度和高度分别是150和100。有了这个基础,我们可以再画一个简单的柱状图(点“运行”按钮来查看运行结果):这样,一个简单的柱状图就画好...
在HTTP的请求header里,我们经常可以看到类似这样的内容: 如果要取客户端的IP地址,如何取才对?X-Forwarded-For (XFF) 在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。在消息流从客户端流向服务器的过程中被拦截的情况下,服务器端的访问日志只能记录代理服务器或者负载均衡服务器...
在JavaScript里,我们有时候需要根据一些条件给一个变量赋值,比如,当value是有值的时候,要显示这个值,没有值的时候,显示"--"。勤快人的做法:代码写的好长啊,看起来有点累,有没有简单点的写法?让我们看看懒人的写法吧。懒人的做法:在这里,用三目运算符(ternary operator),可以只用一行代码就达到上面多行代码就能达到的效果,太好了!不过,上面的这个场景,三目运算符的条件判断...
在JavaScript里,访问一个外面传入的对象的属性前,先判断这个对象是否为null或者undefined会是个很好的习惯。勤快人的写法一看这个代码,就知道写代码的人很严谨,为了获取city,把整个属性链上的对象都判断了一下是否为空,可以有效地防止程序出错。有点懒的人的写法但是,上面的写法有点要人太勤快了点,要敲好多代码来判断,并且一堆的if语句,看着不怎么爽。那怎么省事呢?我有lodash啊!...
Node.js的代码在运行的时候,默认情况下最大能用的内存空间大概是1.4GB左右。也就是说,哪怕你的机器有更多的内容,比如说32GB,那么Node.js也只会用到1.4GB。从实际的情况来看,即使用到了1.4GB,那么NodeJS的进程也不一定会崩溃,可能到接2GB的时候才会崩溃,但是从内存占用超过1.4GB之后,进程的响应时间就开始增大了,结果也可能会出错FATAL ERROR: CALL_A...
在Node.js的request对象里,客户端的IP地址可能会存在多个不同的地方,比如,可能在HTTP header的x-forwarded-for,或者其他的一些地方如request.connection, request.socket, request.info, 或者request.raw。自己写代码,这不是一个复杂的事情,但是还是尽量避免自己去重复造轮子。NPM仓库里有一些针对的模块,比如...
Chrome DevTools的简明教程
JSON格式的简明教程
面向新程序员的简短教程
快速掌握VSCode
介绍基础的JavaScript知识,学习用JavaScript进行编程
帮编程初学者解决方向上的疑惑
面向初学者的HTML5和CSS的教程
快速学习Git进行高效的代码管理
学会用Python语言来编程
为找到理想的工作,做好完善的准备