Becomin' Charles

算法 | LNMP | Flutter | Mac

Becomin' Charles

前文说过,我在招聘产品经理。

其实,我是一个研发 Leader,按照我现在管理的团队规模来说,还没到能配置产品经理的程度。但是为什么会有一个产品经理的岗位划归我管?这就是我本文想谈的问题,产品经理为什么失败。

阅读全文 »

最近,我在招聘一位产品经理。陆续,我已经面试了四位候选人。能明显感觉到,一些产品经理比较好,另一些不太好。但是,好在哪里,又不好在哪里呢?似乎缺乏一个清晰简易的模型来刻画。

于是,我今天就打算探究一下,到底怎么才能通过面试去测试一个产品经理的好坏,怎么去比较不同的人之间的高下之分。

阅读全文 »

在重构一个历史遗留系统的时候,我发现权限角色和用户授权系统,实现得稀烂。权限角色系统,是所有后台管理系统都绕不开的一个重要模块,但是,因为用户需求的灵活性要求,系统管理的高效性要求,实际业务的复杂性要求,鲜少看见一个高度成熟,开箱即用的权限角色系统。不是需要大量的二次开发,就是配置复杂无比。

而又因为权限角色系统抽象的复杂性,学习曲线陡峭,导致开发者无法简单上手,所以,虽然有了很强大的 RBAC 模型,以及很多实现的范本,但是,常见的情况仍然是各种后台管理系统的权限角色体系,甚至包括操作界面,都实现得差强人意。

阅读全文 »

最近 5 个月,我都在忙着构建我的第一开源项目 HexoPress,这个项目是使用 Electron + Vue 3 + TypeScript 等技术实现的,一方面,我真的很需要一款合自己心意的博客编辑器,另一方面,我也是真心想学习 Electron 和 Vue 3 的技术,当然还有 TypeScript。

现在,项目终于有了雏形,所以,这里我给出 0 基础学习 Vue 的第一个建议,找一个真实的项目做,在实现项目的过程中学习,这可能是学习某种技术的最佳方法。

阅读全文 »

缘起

昨天,我写了一篇文章,介绍如何使用项目模板,构建一个 Electron 项目的脚手架,我发现我自己在本地无法运行成功,出现了错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
✖ Failed to install modules: ["@electron-forge/plugin-vite@^7.2.0","@typescript-eslint/eslint-plugin@^5.0.0","@typescript-eslint/parser@^5.0.0","eslint@^8.0.1","…
With output: Command failed with a non-zero return code (1):
yarn add @electron-forge/plugin-vite@^7.2.0 @typescript-eslint/eslint-plugin@^5.0.0 @typescript-eslint/parser@^5.0.0 eslint@^8.0.1 eslint-plugin-import@^2.25.0…
yarn add v1.22.21
info No lockfile found.
[1/4] Resolving packages...
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
(node:89705) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
error Error: certificate has expired
at TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)
at TLSSocket.emit (node:events:515:28)
at TLSSocket._finishInit (node:_tls_wrap:1085:8)
at ssl.onhandshakedone (node:_tls_wrap:871:12)
(node:89705) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
error Error: certificate has expired
at TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)
at TLSSocket.emit (node:events:515:28)
at TLSSocket._finishInit (node:_tls_wrap:1085:8)
at ssl.onhandshakedone (node:_tls_wrap:871:12)
⚠ Finalizing dependencies

错误内容如上,看着一大段,很吓人的样子,不过可以仔细阅读一下,真正的错误是在第 10 行,Error: certificate has expired,如果你去网上搜,遇到这个错误怎么办?

阅读全文 »