基于Node框架Nest实现的短链接服务

日常生活中能见到各种奇怪的短链接,每次点击跳转的时候,笔者都会觉得神奇,这短链是怎么将用户引导到正确页面的呢? 短链原理短链的原理就是以短博长,那么这个短的字符串怎么才能变成一长串链接呢?难道是靠某些神奇的加密算法?并不是,我们只需要依赖key/value的映射关系就能轻松实现这个看似神奇的以短博长。 用一张...

日历组件-PRO

这段时间忙着晋级的事情,都没心思总结博客了(借口)。本次想总结的是一个日历组件的迭代历程,做一个能给大家带来便利的日历组件是我一直以来的小目标,希望这次的短文能给大家带来些许帮助。 在年轻的时候写过这样一篇文章基于Vue开发一个日历组件,回头看看觉得还是比较粗糙,所以抽空优化迭代了一下。 逻辑优化 本次优化的...

借助Node实现博客素材自动上传

相信大家在本地用Markdown写博客的时候都遇到过这个情况:文章写好了,但是图片都是本地的引用路径,不能直接copy到线上博客,需要自行手动上传。 饱受手动上传的痛苦之后,本搬砖工决定写个小脚本解放双手。本脚本依赖腾讯云的静态存储,无论用的是哪种静态储存,本质都是一样的,就是运用的API可能有细微的差别。 ...

微保统一配置平台的探索与实践

本文收录在微保技术公众号 – 微保统一配置平台的探索与实践 公司是不断在发展的,业务也是不停拓展的,在业务堆叠时相关的配置数量自然也是疯狂增长的,如果在这个时候没有对配置的整体规划,我们很快就会无法掌控这日益庞大的配置树。笔者将会在下文给大家介绍,我们团队在处理配置时遇到了些什么,又做了些什么,希望...

一个Markdown在线编辑器的开发全剖析

还是讲讲背景吧,公司技术团队做了自己的公众号,不知为何笔者就成了小编之一。为了解放生产力,果断决定撸个可以一键生成微信推文的编辑器,也就是我们下面会讲到Markdown在线编辑器啦~ 如图,这就是编辑器的全貌,分为编辑区域与预览区域,其中预览区域可以通过菜单中的按钮实现隐藏或展示,方便不同的编辑需求。 ...

记一次proto仓库的pre-commit开发

背景介绍 – 因业务需求,我们需要维护一个proto仓库用于前后端同学的数据结构定义,然而在仓库使用的过程中经常发生proto文件格式错误的情况,导致系统对应的页面会发生崩溃。所以,我们打算在proto仓库中启用pre-commit检验的方案,来降低这类事件发生的概率。 什么是pre-commit?pre...

nestjs项目初探

最近在重构一个内部使用的配置平台,主要重构平台的后端部分,目标是使用nest框架替换原有的koa框架。跌跌撞撞了几天,把项目慢慢的重构好了,在重构的过程中慢慢体会到nest框架的优势。 本文将会介绍nest框架,以及为什么我们选择使用这个框架(关于迁移过程遇到的问题可以关注后续的文章)。 进入正题,为什么...

Fast-Nest -- 基于Nest.js的Node后端服务(Typescript)

久违的背景介绍:) 近期在做一个KOA内部管理系统的框架迁移,在迁移的过程中逐渐熟悉Nest.js的开发模式,对它的目录结构设计以及框架自带的装饰器支持颇有好感,固有将其整合成快速启动框架的想法。 本项目适用: node简易应用初始化 node项目初学试验 typescript项目初学试验 有兴趣的童鞋...

如何实现一个移动端极简PDF浏览页面

近期沉迷…(不想再编了,就是偷懒了) 为什么会有这么个需求呢?因为我们的业务特性,用户会很经常的需要打开页面中的PDF进行浏览查阅,然而不同的手机在打开PDF的表现上各有千秋,特别是安卓机,大部分会直接将其下载到用户手机且没有明显提示。基于此,我们需要一个统一的PDF浏览页面。 关于“统一浏览”,我们应该...

极简实现列表内容查看

最近在和各类文档文案展示斗智斗勇,在解决帮助列表静态化的同时,尝试了一下之前构思过的极简列表实现,发现竟然还不错。 本文可能涉及的内容– 模板渲染 比较冷门的CSS用法 一些小声哔哔 场景简介假如我们有下面这组数据,需要将它们变成一个常规的Q&A页面,并且希望它是个独立的、小型的静态页。(如果...