一、序

今天是中国农历一年的最后一天,往年都叫年三十,今年没有三十,最后一天是二十九。厨房的柴火味、窗外的鞭炮声还有不远处传来的说笑声,一切都是熟悉味道,新年到了,家乡热闹起来了。平常左邻右舍都是看不到人的,门口的杂草随意生长。只有到了逢年过节,在外奔波的人们才会回到老家,这时的家乡就格外的热闹。

外面的天还是阴沉沉的,偶尔有阳光射进大厅,只停留一小会又消失了,希望明天是个好天气,疫情的原因已经两年没有挨家挨户拜年,今年应该可以拜年,很期待。现在 “拜年” 似乎成了走进邻居家的一个理由,平日大家各奔东西,交流太少,见面又不知到拿什么当话题唠嗑两句。

刚刚吃完年夜饭,稍坐了一会,构思着怎么给博文起个目录,介绍下这几天完成的一个项目,输出一下心得体会,上午写完了 README.md,代码已经发布到 Github 上了。

takoyaki 这个名字来自上次公司团建认识的一个妹子,只觉得姑娘长得好,相处时很舒心,名字起得也好,故引用作为项目的名字。别无他想,名字的故事到此为止。

这个项目的思路受启发于公司内部的一个管理后台,它用于对一些业务数据进行简单的增删改查,每个页面就是一个业务。当时让我感到好奇的是页面的 排版、按钮、背景色 都是统一的,不像是单独开发出来的,更像是一个模板里面配置出来的。当时,脑海隐约又想起以前供职的公司,也有类似的管理后台,供内部使用,比较粗糙,功能是类似。而且,当时我还参与过开发,都是一个页面一个页面的用HTML 写出来的,大致是下面这样:

瞬间觉得那时的自己好蠢啊,如果抽离出一个通用的模板,那么就可以减少好多的开发工作量。再往深入想,其实每个公司乃至个人开发者,都有这么一个页面的需要,如果是懂前端的开发者,虽然页面简单,但也是有一定的开发工作量;如果是不懂前端的后台开发者,那就有点麻烦了。如果此时有一个只需要简单配置,就可以生成上面这样的 增删改查 页面,就可以解决他们的问题,同时节省工作量。

二、takoyaki 介绍

takoyaki 是一个通用的数据表格组件,只需少量的配置,无需人力开发,就可以快速生成一个常见的支持业务 “增删改查” 的 Web 管理平台。 其受启发于业务场景,将常见的数据管理功能,抽离成通用的组件,目的是减少的重复开发工作,进一步帮助开发人员形成一种抽象的软件思维。

Features

  • 配置化,无需开发
  • 支持数据的增删改查
  • 支持 Excel 导出数据

产品图

页面配置

编辑数据

三、抽象能力

随着项目做的越来越多,现在有一些很深的感触。做这些项目耗费了我们大量的时间,但回头复盘却感觉收获很少。大部分时间都花在和不同的人反复沟通需求,编程方面很多都是重复的工作。

现在愈发觉得,写代码的速度应该要慢下来,将更多的时间用于思考,去做提升自己的事,而不是盲目填满自己的时间。

开始这个项目时,就想起前段时间学习了 左耳朵耗子的极客时间专栏-高效学习 一篇,里面提到的抽象能力:

抽象能力是举一反三的基本技能。平时你解决问题的时候,如果你能对这个问题进行抽象,你就可以获得更多的表现形式。抽象能力需要找到解决问题的通用模型,比如数学就是对现实世界的一种抽象。只要我们能把现实世界的各种问题建立成数据模型(如,建立各种维度的向量),我们就可以用数学来求解,这也是机器学习的本质。

我理解,这个项目就是抽象能力的一种实践,对问题进行抽象,找到解决问题的通用模型。放眼其它的领域,比如:Web 框架 Spring、前端框架 Vue、各种编程语言 其都是对特定领域的一种抽象的表现形式,都是将各种问题建立成数据模型,帮助人们更容易的理解。不敢妄言生活中的例子,生活阅历和修行还不够,或许数十载之后会加深这种理解吧。

说到底,我想表达的是,这个项目不是教你如何实现一个 “通用的表格组件”,而是想让你知道这么一个思维能力,掌握抽象能力可以站在更高视角看待问题,而且适用于任何领域。

尾声

新年好,感谢看到这里的你们,祝你们新年快乐,虎虎生威 !

新年好,takoyaki ,期待再次与你相见!

新的一年马上就要到来,希望你不要受限于教条的框框约束,敢于去突破自己,挑战自己,做自己未曾做过和不敢做的事。

最新文章

  1. linux 时间同步的2种方法
  2. Deep Learning入门视频(下)之关于《感受神经网络》两节中的代码解释
  3. Eclipse 创建maven项目
  4. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
  5. Intel Code Challenge Elimination Round (Div.1 + Div.2, combined)(set容器里count函数以及加强for循环)
  6. net 的单元测试 初学
  7. 解析Javascript中大括号“{}”的多义性
  8. Heritrix源码分析(七) Heritrix总体介绍(转)
  9. POJ_1065_Wooden_Sticks_(动态规划,LIS+鸽笼原理)
  10. 有趣的JavaScript
  11. asp.net 使用HttpModule记录全局错误
  12. Android studio 开发在真机测试
  13. HTTP认证方式详解
  14. CentOS6.7 mysql5.6.33修改数据文件位置
  15. prev_permutation(a+1,a+n+1)
  16. 单表40G,不要吃惊,还能往里面插入数据,哈哈
  17. [AWS] Amazon Cognito
  18. C# FTP常规方法
  19. django之创建站点之基本流程
  20. Gearman安装及使用

热门文章

  1. 【LeetCode】371. Sum of Two Integers 解题报告(Python)
  2. 【剑指Offer】链表中倒数第k个节点 解题报告(Python)
  3. Shortest Path(hdu5636)
  4. webservice websocket socket http rpc
  5. Adversarial Detection methods
  6. TensorFlow.NET机器学习入门【7】采用卷积神经网络(CNN)处理Fashion-MNIST
  7. 一文让你明白Redis持久化(RDB、AOF)
  8. python 数据库查询,将查询的列名也保存下来,返回字典类型的数据
  9. HDU 1754 I Hate It(线段数-单点更新)
  10. vant引入及配置