新年好 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】744. Find Smallest Letter Greater Than Target 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 线性扫描 二分查找 日期 题目地址:https:// ...
- 【LeetCode】138. Copy List with Random Pointer 复制带随机指针的链表 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人公众号:负雪明烛 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https:/ ...
- 【剑指Offer】栈的压入、弹出队列 解题报告(Python)
[剑指Offer]栈的压入.弹出队列 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- 【LeetCode】583. Delete Operation for Two Strings 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 1030 - Discovering Gold
1030 - Discovering Gold PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 M ...
- Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples
目录 概 主要内容 Obfuscated Gradients BPDA 特例 一般情形 EOT Reparameterization 具体的案例 Thermometer encoding Input ...
- 5分钟搭建wordpress个人博客网站——宝塔傻瓜式部署,无坑系列,附赠主题和md插件[2021-12-31]
一.前言 自从买了服务器,小编已经马不停蹄的学了两天服务搭建的知识,问了很多大佬,快速搭建自己的博客网站.有四种方式,我在这里全部分享给大家.自己已经搭建好,欢迎大家过来看一下,给你提供个思路哈! 小 ...
- 编写Java程序,判断输入的三条长度的边,是否能构成三角形
需求说明: 编写Java程序,判断输入的三条长度的边,是否能构成三角形. (三角形第三边大于两边之和小于两边之差) 实现代码: package test; import java.util.Scann ...
- Pycharm的界面修改与基本设置
Pycharm的一些基本设置 设置字体大小与字体样式 首先我们打开Pycharm,点击左上角File,找到sitting 点击后就能进入设置界面 xdm,我将介绍两种更改字体的设置 方法一 设置界面找 ...
- Pytest_Hook钩子函数总结(14)
前言 pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习.详细文档可以查看pytest官方文档https:// ...