新年好 takoyaki,期待再次与你相见
一、序
今天是中国农历一年的最后一天,往年都叫年三十,今年没有三十,最后一天是二十九。厨房的柴火味、窗外的鞭炮声还有不远处传来的说笑声,一切都是熟悉味道,新年到了,家乡热闹起来了。平常左邻右舍都是看不到人的,门口的杂草随意生长。只有到了逢年过节,在外奔波的人们才会回到老家,这时的家乡就格外的热闹。
外面的天还是阴沉沉的,偶尔有阳光射进大厅,只停留一小会又消失了,希望明天是个好天气,疫情的原因已经两年没有挨家挨户拜年,今年应该可以拜年,很期待。现在 “拜年” 似乎成了走进邻居家的一个理由,平日大家各奔东西,交流太少,见面又不知到拿什么当话题唠嗑两句。
刚刚吃完年夜饭,稍坐了一会,构思着怎么给博文起个目录,介绍下这几天完成的一个项目,输出一下心得体会,上午写完了 README.md,代码已经发布到 Github 上了。
takoyaki 这个名字来自上次公司团建认识的一个妹子,只觉得姑娘长得好,相处时很舒心,名字起得也好,故引用作为项目的名字。别无他想,名字的故事到此为止。
这个项目的思路受启发于公司内部的一个管理后台,它用于对一些业务数据进行简单的增删改查,每个页面就是一个业务。当时让我感到好奇的是页面的 排版、按钮、背景色 都是统一的,不像是单独开发出来的,更像是一个模板里面配置出来的。当时,脑海隐约又想起以前供职的公司,也有类似的管理后台,供内部使用,比较粗糙,功能是类似。而且,当时我还参与过开发,都是一个页面一个页面的用HTML 写出来的,大致是下面这样:
瞬间觉得那时的自己好蠢啊,如果抽离出一个通用的模板,那么就可以减少好多的开发工作量。再往深入想,其实每个公司乃至个人开发者,都有这么一个页面的需要,如果是懂前端的开发者,虽然页面简单,但也是有一定的开发工作量;如果是不懂前端的后台开发者,那就有点麻烦了。如果此时有一个只需要简单配置,就可以生成上面这样的 增删改查 页面,就可以解决他们的问题,同时节省工作量。
二、takoyaki 介绍
takoyaki 是一个通用的数据表格组件,只需少量的配置,无需人力开发,就可以快速生成一个常见的支持业务 “增删改查” 的 Web 管理平台。 其受启发于业务场景,将常见的数据管理功能,抽离成通用的组件,目的是减少的重复开发工作,进一步帮助开发人员形成一种抽象的软件思维。
Features
- 配置化,无需开发
- 支持数据的增删改查
- 支持 Excel 导出数据
产品图
页面配置
编辑数据
三、抽象能力
随着项目做的越来越多,现在有一些很深的感触。做这些项目耗费了我们大量的时间,但回头复盘却感觉收获很少。大部分时间都花在和不同的人反复沟通需求,编程方面很多都是重复的工作。
现在愈发觉得,写代码的速度应该要慢下来,将更多的时间用于思考,去做提升自己的事,而不是盲目填满自己的时间。
开始这个项目时,就想起前段时间学习了 左耳朵耗子的极客时间专栏-高效学习 一篇,里面提到的抽象能力:
抽象能力是举一反三的基本技能。平时你解决问题的时候,如果你能对这个问题进行抽象,你就可以获得更多的表现形式。抽象能力需要找到解决问题的通用模型,比如数学就是对现实世界的一种抽象。只要我们能把现实世界的各种问题建立成数据模型(如,建立各种维度的向量),我们就可以用数学来求解,这也是机器学习的本质。
我理解,这个项目就是抽象能力的一种实践,对问题进行抽象,找到解决问题的通用模型。放眼其它的领域,比如:Web 框架 Spring、前端框架 Vue、各种编程语言 其都是对特定领域的一种抽象的表现形式,都是将各种问题建立成数据模型,帮助人们更容易的理解。不敢妄言生活中的例子,生活阅历和修行还不够,或许数十载之后会加深这种理解吧。
说到底,我想表达的是,这个项目不是教你如何实现一个 “通用的表格组件”,而是想让你知道这么一个思维能力,掌握抽象能力可以站在更高视角看待问题,而且适用于任何领域。
尾声
新年好,感谢看到这里的你们,祝你们新年快乐,虎虎生威 !
新年好,takoyaki ,期待再次与你相见!
新的一年马上就要到来,希望你不要受限于教条的框框约束,敢于去突破自己,挑战自己,做自己未曾做过和不敢做的事。
新年好 takoyaki,期待再次与你相见的更多相关文章
- 【循序渐进MVC】第一回——一物多用Project.json依赖关系之dependencies节点
Project.json统一了ASP.NET vNext之前版本的packages.config.NuGet 配置(nuspec)以及项目文件(csprojs):并集成在Project.json中. ...
- 文章之间的基本总结:Activity生命周期
孔子:温故而知新.它可以作为一个教师.<论语> 同样的学习技巧.对于技术文件或书籍的经典技术,期待再次看到它完全掌握,这基本上是不可能的,所以,我们常常回来几次,然后仔细研究,为了理解作者 ...
- YYModel底层解析- Runtime
这段时间一直在忙新的需求,没有时间来整理代码,发表自己技术博客,今天我们来看一下YYModel的底层解析以及如何使用,希望对大家有所帮助! 一 概述 概括 YYModel是一个轻量级的JSON模型转换 ...
- HTML 圆心节点
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python接口自动化--Json数据处理 5
1.Json模块简介,全名JavaScript Object Notation,轻量级的数据交换格式,常用于http请求中. Encoding basic Python object hierarch ...
- C#如何解析JSON数据(反序列化对象)
第一章:C#如何拿到从http上返回JSON数据? 第二章:C#如何解析JSON数据?(反序列化对象) 第三章:C#如何生成JSON字符串?(序列化对象) 第四章:C#如何生成JSON字符串提交给接口 ...
- 如何在 CentOS 7 上生成 SSL 证书为 Nginx 加密
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Let’s Encrypt 是由 Internet Security Research Group (ISRG) 开发的一个自由.自动 ...
- 如何在 CentOS 7 上安装 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- C#解析JSON数组
方式一 第一步:使用前,需下载:Newtonsoft.Json.dll 没有的,请到我百度云盘下载 链接:https://pan.baidu.com/s/1JBkee4qhtW7XOyYFiGOL2Q ...
随机推荐
- 【LeetCode】900. RLE Iterator 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/rle-itera ...
- Notepad++汉化教程
Notepad++汉化方法总结 Notepad++系统只带了中文语言包,不需要像其他软件一样破解 打开Notepad++(通过文本文件右键选择以Notepad++打开或者找到Notepad++的快捷方 ...
- DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT
目录 概 主要内容 Effective Model Complexity(EMC) label noise data augmentation 下降方式 SGD vs Adam Adam SGD SG ...
- CS5213demoboard设计电路|DMI转VGA带II2S音频输出转接线|CS5213方案
CS5213是台湾CAPSTONE瑞奇达推出的一款HDMI(高清多媒体接口)到VGA转换芯片. CS5213设计HDMI转VGA带II2S转接线产品特性: ◇将完整的HDMI信号转换为VGA输出◇支持 ...
- <数据结构>KMP算法
next数组 定义 严格定义:next[i]表示使子串s[0...k] == s[i-k...i]的最大的k(前后缀可以重叠,但不能是s[0..i]本身) 含义:最长相等前后缀的下标,没有则赋-1 图 ...
- Java Web程序设计笔记 • 【第8章 会话跟踪技术进阶】
全部章节 >>>> 本章目录 8.1 Session机制 8.1.1 Session 简介 8.1.2 创建 HttpSession 实例 8.1.3 HttpSesiso ...
- Java程序设计基础笔记 • 【第4章 条件结构】
全部章节 >>>> 本章目录 4.1 条件结构 4.1.1 程序流程控制 4.1.2 单分支if结构 4.1.3 双分支if结构 4.1.4 实践练习 4.2 多重条件结 ...
- 编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。
需求说明: 模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员.教练员包括乒乓球教练和篮球教练.为了方便出国交流,根乒乓球相关的人员都需要学习英语.具体分析如下: (1)共同的属性 ...
- SpringBoot集成log4j,解决log4j.properties不生效问题
Spring Boot集成log4j其实比较简单,maven的话,在xml中增加log4j依赖就行 <dependency> <groupId>org.springframew ...
- 【Warrior刷题笔记】力扣169. 多数元素 【排序 || 哈希 || 随机算法 || 摩尔投票法】详细注释 不断优化 极致压榨
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element/ 注意,该题在LC中被标注为easy,所以我们更多应该关 ...