next.js 是一个轻量级的react同构框架,使用它可以快速的开发出基于服务端渲染的react应用。它在支持ssr的同时支持快速导出静态站点,相比与常规的SPA页面,利用ssr我们能够得到更好的SEO和首屏响应时间等。这次恰好赶上从零开始的海外wap主站项目,借此机会一探next.js的究竟。 ...
React+Mobx+videojs重构web直播系统
在正式入职之后接手的第一个重点项目便是web直播系统的重构。因为在实习期间一直参与旧版直播系统的迭代开发,同时因旧版本技术栈相对陈旧、代码维护成本过高、扩展能力较弱等原因,决定于2018年进行彻底重构,针对UI做出重新设计。整体系统比较简单,主体由视频和讨论区两大元素构成,在技术选型上采用React ...
探索React与Three.js
在最近的工作中,逐渐增多了对用户体验、交互的需求:比如3D渲染与手势交互。WebGL是一种JavaScript API,用于在不使用插件的情况下在任何兼容的网页浏览器中呈现交互式2D和3D图形,但开发复杂,代码量巨大,这时候three.js应运而生,它是WebGL的JavaScript 3D库,其对 ...
Git Submodule
Git是程序员在日常开发中不可分割的强有力工具,有时候我们需要在两个甚至多个仓库间进行同步和公用,需要提取一个公共的类库提供给多个项目使用,或者说某个项目需要包含并使用另一(/多)个项目,这时候可以使用Git Submodule 解决。 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目 ...
带你入门React Hooks
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。Hook 是一些可以让你在函数组件里“钩入” React state 及生命周期等特性的函数。Hook 不能在 class 组件中使用 —— 这使得你不使用 cla ...
react-typescript-cheatsheet
最近在新项目里开始尝试ts,说实话对于写惯了js的人来讲,最初上手ts是会遇到一些阻碍的,有各种不适应,以及在与框架、lint等配合使用过程中会遇到各种问题。本片笔记记录一些在react中使用ts的代码段。 参考 无状态组件方式一: // 将 props 解构的时候指定它们的类型 const App ...
Blockly的其他特性
这篇文章介绍定义Blocks时的其他特性,作为上一篇笔记的补充。 Block colourBlockly推荐使用HSV颜色模型(0-360),当然也可以使用如 #ff0000 init: function() { // ... this.setColour(160);} Bl ...
Blockly之Define Blocks
既上一篇关于Blockly基础入门之后,这里我们重点深入介绍如何自定义Blocks。Blockly自带了大量预先定义好的块,从数学函数到循环结构的一切。但是,往往我们的应用中需要创建自定义块以适应特殊场景。例如,在创建绘图程序时,可能需要创建“半径为R的绘制圆”块。 下面我们主要从三部分介绍: 1 ...
Blockly: A JavaScript library for building visual programming editors
最近在线教育领域比较火热的当属少儿编程,主要针对6-16岁青少年儿童提供在线编程教育。恰好最近经手一个少儿编程项目,里面的可视化编程部分使用了谷歌的Blockly库。Blockly库可以为web&移动应用添加一个可视代码编辑器,它使用互锁的图形块来表示代码概念,如变量,逻辑表达式,循环等;通 ...
python初探:pyenv&pipenv
本着艺多不压身的革命宗旨,计划从今天开始学习下python。之前有粗略的看过两眼,一直没有系统的学习或者实际的使用,希望能够在业余时间接触下这门已经热火朝天口口相传的编程语言,打开新世界的大门,扩充自己的知识面。 作为第一篇python笔记,从开发环境入手,介绍pipenv与pyenv这两个重要的工 ...