折腾前端条形码(Barcode)扫描识别, 笔记

2019-12-31
阅读 2 分钟
6.6k
本地勉强把 Demo 在 React 里面跑通, 但是不好控制开始结束, API 不明确.实际识别率很低. 我是用手机屏幕放的条形码, 大概也有影响.

ruled-router 生成路由类型细节记录

2019-10-29
阅读 4 分钟
2k
ruled-router 是我们(积梦前端)定制的路由方案, 另外强化了类型方面,之前的介绍可以看文章: 积梦前端的路由方案 ruled-router. 关于跳转方法的类型 路由生成部分, 大致上就是对于规则: {代码...} 会通过脚本生成路由的调用方法, 现在的生成结果是: {代码...} 这样可以通过调用方法来进行路由跳转, {代码...} 这个步骤, ...

Respo 增加 Effects 功能支持

2019-10-26
阅读 3 分钟
2k
这次更新以后, respo.core 当中新增了一个 defeffect 的宏用来定义副作用,defeffect 需要的不单单是多个参数, 而且是很多组参数.

[小组分享] React 当中性能优化手段整理

2019-10-22
阅读 4 分钟
4.3k
内部小组分享底稿. 回顾一下 React class 组件的优化 useMemo 提供的优化 React.memo 优化 useCallback 优化 避免 render 当中的 DOM 操作 class 组件的优化 通过判断减少数据变化触发的重新渲染, 以及之后的 DOM diff {代码...} JavaScript 对象引用问题 函数式语言当中, 语言设计允许两个对象一样, 举例 Clojure: {代...

TypeScript 用 Webpack/ts-node 运行的配置记录

2019-10-11
阅读 3 分钟
6.8k
公司项目代码是用 TypeScript 写的, 中间遇到有些代码不要放到 Node 里面去跑.具体场景一些路由配置, 比较大的一块 JSON 数据定义在 TypeScript 里.我另外有增加脚本, 基于这些 JSON 数据用来生成切换路由的函数.这就需要运行 TypeScript 了, 而且可能包含一些额外的业务代码.

font-carrier 生成字体操作记录

2019-09-26
阅读 2 分钟
3.8k
主要是公司内部的 SVG 制作的图标, 提供网页当中使用的字体.代码仓库在 [链接] 字体生成步骤 从 SVG 文件到可以给前端用的 npm 模块, 主要经过: SVG 文件使用第三方模块生成字体文件(ttf, svg, woff...) 生成图标跟 CSS 的映射 生成 TypeScript 组件当中使用枚举类型 打包更新 npm 模块 生成字体文件跟 CSS 映射我们之前...

Linaria 替换 Emotion 操作记录

2019-09-26
阅读 3 分钟
3.3k
我们的 Emotion 现在都是跟着 JavaScript 走到, 没有做 CSS 分离,之前尝试过生产环境分离 CSS, 但是因为 CSS 规则顺序问题, 效果不够可控,加上不想在 TypeScript 后面套一层 Babel, 这条路也就不想走了.所以目前打包的 JavaScript 里面就有图片上这么大的 Emotion 代码的体积.

Cirru 后续更新维护: 2016~2019

2019-09-16
阅读 3 分钟
2.3k
大致从 2017 年以后, Cirru 在图形探索上面就比较少了, 还是基于原来的方案.主要在 Stack Editor 基础上设计了新的 Calcit Editor.另外围绕 Calcit Editor 做了一些辅助工具.大多想法还是用 Calcit Editor 维护以前整理出来的这些小的应用.

Nim 语言写 Cirru Parser 的上手记录

2019-09-07
阅读 5 分钟
3.4k
前端码农, 写了多年的动态语言了, TypeScript 算下来也用了两年.之前试过 Go, 但是 interface {} 简直是 any 一般的存在.由于 Clojure 语言本身有开销, 所以尝试考虑学 Nim 来应对一些极端性能的情况.

积梦前端 Meson Form 的分层抽象设计

2019-06-26
阅读 6 分钟
3k
这篇文章大致梳理积梦采用的表单方案做的一些尝试和回顾.目前从用的方案是 Meson Form, 名字大致来源于 immer json:[链接]目前 Meson Form 形态逐渐开始稳定了, 方案上基本还是可靠的.过程当中的考虑有一些曲折, 大致做一些梳理.

前端代码兼容 Chrome 44 的部分操作记录

2019-06-14
阅读 2 分钟
5.8k
公司项目原有的代码计划支持到 Chrome 49, 特殊项目需要支持到 Chrome 44. 从网上可以找到 Mac 上的 dmg 安装文件, 这个页面能拿到 Chrome 48,[链接] 安装以后需要指定一个目录启动, 否则低版本浏览器读取高版本的配置, 会报错,--profile-directory=chrome-old/ 网上有 Webpack 配置使用 Babel 的详细教程,[链接] 大致安...

新的 Vue Function-based API 当中的看到的 Clojure Atom 的影子

2019-06-12
阅读 5 分钟
4.1k
这次 Vue 大会看到了 Vue 新的 API 设计, 中间有一些觉得眼熟的写法,后面也看到了工业聚的一些解读, 大致知道是什么样的用法吧..当然现场演讲过 Vue 具体实现的优化是更复杂的, 比这个 API 要多..

尝试 Clojure Spec 的笔记

2019-06-05
阅读 5 分钟
2.4k
工具当中需要检测数据格式, 试着用了一下 Clojure Spec.如果英文好, 直接看文档就行了, 也不用这篇笔记, 太琐碎了, 也缺失例子...[链接]

积梦前端的路由方案 ruled-router

2019-05-11
阅读 5 分钟
4.3k
积梦([链接] ) 是一个为制造业制作的一个平台.积梦的前端基于 React 做开发的. 早期使用 React Router.后来出现了一些 TypeScript 集成还有定制化的需求, 自己探索了一套方案.

积梦前端采用的 React 状态管理方案: Rex

2019-04-21
阅读 3 分钟
5.1k
积梦([链接] 是一个为制造业制作的一个平台.积梦的前端基于 React 做开发的. Rex 是我们在前端使用的状态管理方案, 类似 Redux.从名字也可以看, Rex 是一个基于 Redux 做了大幅简化的方案.另一方面, Rex 跟 Immer 有比较好的整合, 能够很轻松得使用不可变数据.

笔记, 创建 VS Code 的 snippets 扩展

2019-04-10
阅读 2 分钟
4.3k
关于扩展的结构, 可以直接参考官方给出的示例,一个 package.json 文件, 加上一个 Snippets 的 JSON 文件, 就算写完了:[链接]

跟帖"我对技术会议的一些看法"

2018-12-11
阅读 3 分钟
3.1k
这些年参加的会议都是国内的, 之前是同城的聚会, 然后有一些其他城市的活动,最远的一次跟着勾股去了台湾那边参加 ModernWeb, 体验也更特殊一些.

关于 ClojureScript 裸写 stateful React Component

2018-10-28
阅读 2 分钟
2.3k
目前的 ClojureScript React 绑定都是比较复杂的, 比如 Reagent, 做了不少的修改,我打算看看直接用 cljs 裸写, 按照 React 本身的语义, 会是什么样子,网上搜到几个版本的代码, 总之核心代码就是这样了

不用 Lein/Boot 部署代码到 Clojars

2018-09-12
阅读 3 分钟
2.2k
Clojure 部分代码是按照 Java 生态的习惯打包发布到 Maven 仓库上面的.作为 npm 程序员, 我对 Maven 相当了解...Clojars 是一个类似 Maven 的仓库, 相对于 Maven, 更多包会发布在这里.一般要发布 Clojure 或者 ClojureScript 模块, 就是发布到 Clojars.

台北 ModernWeb.tw 参会流水账以及感想

2018-07-23
阅读 4 分钟
3.4k
大会的主页可以看 [链接]大部分的 slides 已经放出, 有兴趣可以点开看看.这次我是跟随勾股去提供分享, 另外还有几个同行做分享的朋友,我没出去过, 一路是跟着赵洋走的, 算是有惊无险. 手续上有点麻烦.

笔记, 若干个流程图前端类库

2018-06-06
阅读 1 分钟
11k
为了方案探索, 查看了一下几个网上比较好找到的库, 看下对于我们定制的需求是否足够... Raphael SVG 可以拖拽卡片, 不能拖拽线条 没有文字 [链接] gojs [链接] SVG 可以编辑文字 注意左边是有编辑区域 可以拖拽卡片, 可以拖拽连线 连线上有节点连线上不能新增节点, 只能在某些方向上调整 不知道怎么删除 jointjs [链接] ...

笔记, threejs 和 glTF 的一些 tips

2018-06-04
阅读 2 分钟
15.2k
glTF 查看工具的实现 完整的 glTF 3D 模型查看工具的例子: [链接] Object3D 获取中心点和尺寸 Object3D 物体可以获取一个包含物体的 Box, 这个 Box 有一些功能, 比如获取中心点: [链接] {代码...} 也可以用了获取物体的大小: {代码...} 获取中心点的主要目的是处理模型本身的偏移, 模型文件未必是把模型放在正中间的.这...

关于 Threejs 模型旋转问题(笔记)

2018-05-20
阅读 3 分钟
25.4k
用到一个基础的 three.js 的拖拽旋转, 梳理了一下资料, 欧拉角旋转的问题 定义的话看 Wiki, 数学描述太晦涩, 没细看 [链接] 简单的描述就是定义了沿着 X Y Z 方向的依次旋转, 来模拟空间当中的任何一个旋转, 但是用欧拉角描述旋转有问题, 就是一个空间旋转这里是拆成三个旋转来描述的,存在问题, 就是不同的多个旋转合并...

关于在 ClojureScript 当中引入依赖 document 对象的包(笔记)

2018-05-18
阅读 2 分钟
2.2k
一般前端代码崔主要是为了在浏览器环境运行,在有服务端渲染的需求的时候, 也会兼容一下代码的加载,比如同一个 React 组件, 同样可以用于服务端渲染,而其中涉及到浏览器 API 的代码, 可以选择不执行, 经典的:

又一份 ClojureScript 介绍

2018-04-22
阅读 5 分钟
3.7k
ClojureScript 是一门编译到 JavaScript 的 Lisp 方言, 就像 CoffeeScript.Clojure 是 Lisp 方言, 所以它的语法基于 S-Expression(S 表达式), "S 表达式"大量使用圆括号比如 (f arg1 arg2) 来控制代码的嵌套结构,甚至于像是平常的 a + b + c 在 S 表达式当中也编程 (+ a b c).

ClojureScript 1.10.x 新技能 cljs.main 快速开启

2018-03-05
阅读 3 分钟
5k
翻译自 [链接]遇到问题, 请用英文反馈至 [链接] 内容: ClojureScript 编译器 生产环境编译 在 Node.js 环境运行 ClojureScript Node.js REPL 依赖 这个版本基于 macOS 或者 Linux, 需要系统已经依赖 Clojure. Windows 用户请查看英文版. ClojureScript 编译器 首先创建项目文件: {代码...} 在项目中创建 deps.edn 文件, ...

对 2018 年的一些执念和想法

2018-02-21
阅读 3 分钟
4.6k
这一年因为很多原因, 出去逛了不少地方. 以前我的真的是太宅了.以前是穷乡僻壤出来, 做学生又没钱, 一直就是怕出门的习惯.总是要改的, 响应国家战略大力发展高铁, 大家连接在一起, 共同创造财富.夏天发动过一次长途旅行, 回来衣服汗臭, 皮肤晒伤, 一副变了个人的样子.人也不小了, 一定要多出去走走, 多见见世面, 不要整...

Luxon 初步介绍(Moment 团队日期另一个类库)

2018-02-21
阅读 3 分钟
12.8k
我不是 Moment 的深度用户, 只是日常会遇到一些时间格式化的需求,之前用的都是 Moment, 不过对 Moment 的 mutable API 感到有些不舒服,同事介绍过 Luxon, 里边用不可变数据的风格设计的 API, 所以就试试.GitHub 上星星很多, 请放心食用 [链接]

笔记, 配置阿里云 Cumulo(ClojureScript) 临时开发环境

2018-02-21
阅读 2 分钟
3k
我要在云服务器上开发 Cumulo 的服务, 基于 Node 和 shadow-cljs 运行,刚发现阿里云有按小时租赁服务器的设置, 感觉自己以前的服务器太慢, 就试试,

关于发送代码到 shadow-cljs 环境执行的细节

2018-02-10
阅读 3 分钟
4.1k
起因是看到了网上有人写 Clojure 然后用快捷键直接执行代码,感觉还是蛮舒服的, 特别是用来教学的时候, 或者试验一些功能的时候,因为直接在 REPL 里写肯定是很累的, 但是写在编辑器是文件, 不好单独执行,而执行某一段选中的代码, 应该是不错的办法.Lisp 跟 Smalltalk 都搞过...