Code & Discover Weekly: Edition 01
Code & Discover 刘宇帅 1年前 阅读量: 3492
为什么要写 Code & Discover Weekly:
在信息爆炸的今天,无数的开源项目和工具每天都在涌现。一些精致、有趣或者别具一格的项目总能引起我们的兴趣。可能你像我一样,体验过之后会觉得“这个以后一定要用!”然而因为现实的项目需求或工作内容,很多优秀的工具都被我们遗忘在了时间的长河里。所以,我决定开始这个“Code & Discover Weekly”系列,记录下我探索和尝试的每一个技术宝藏。
本期精选内容
- slidev 一个为开发人员设计的优雅的幻灯片框架
- kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工
- tailwindcss 一个实用性优先的 CSS 框架,通过提供一组预定义的工具类
slidev 一个为开发人员设计的优雅的幻灯片框架
做工作汇报或者做技术分享的时候需要写PPT,但是如果因为不经常写PPT,那么偶尔写一次还是很困难的,布局不会做、动画不会搞。而 Slidev 旨在为开发者提供灵活性和交互性,通过使用我们熟悉的工具和技术让演示文稿更加有趣、更具表现力和吸引力。
功能特性:
- 📝 Markdown 支持 —— 使用你最喜欢的编辑器和工作流编写 Markdown 文件
- 🧑💻 开发者友好 —— 内置代码高亮、实时编码等功能
- 🎨 可定制主题 —— 以 npm 包的形式共享、使用主题
- 🌈 灵活样式 —— 使用 Windi CSS 按需使用的实用类和易用的内嵌样式表
- 🤹 可交互 —— 无缝嵌入 Vue 组件
- 🎙 演讲者模式 —— 可以使用另一个窗口,甚至是你的手机来控制幻灯片
- 🎨 绘图 - 在你的幻灯片上进行绘图和批注
- 🧮 LaTeX 支持 —— 内置了对 LaTeX 数学公示的支持
- 📰 图表支持 —— 使用文本描述语言创建图表
- 🌟 图标 —— 能够直接从任意图标库中获取图标
- 💻 编辑器 —— 集成的编辑器,或者使用 VS Code 扩展
- 🎥 演讲录制 —— 内置录制功能和摄像头视图
- 📤 跨平台 —— 能够导出 PDF、PNG 文件,甚至是一个可以托管的单页应用
- ⚡️ 快速 —— 基于 Vite 的即时重载
- 🛠 可配置 —— 支持使用 Vite 插件、Vue 组件以及任何的 npm 包
相关资料:
GitHub:https://github.com/slidevjs/slidev
文档:https://cn.sli.dev/guide/#overview
kratos 一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具
在做微服务开发的时候我们可以基于 golang 以及相关的开源项目组装一套集成服务注册、服务发现、配置中心、日志、链路追踪等基础功能的框架,但这其实是一个不小的工作量,除此以外还要考虑框架设计规范性、所有项目一致性等等。kratos就是一套轻量级 Go 微服务框架,包含大量微服务相关框架及工具,不仅封装好了常用的功能特性而且还制定了一套项目脚手架可以让我们快速开发。
功能特性:
- APIs:协议通信以 HTTP/gRPC 为基础,通过 Protobuf 进行定义;
- Errors:通过 Protobuf 的 Enum 作为错误码定义,以及工具生成判定接口;
- Metadata:在协议通信 HTTP/gRPC 中,通过 Middleware 规范化服务元信息传递;
- Config:支持多数据源方式,进行配置合并铺平,通过 Atomic 方式支持动态配置;
- Logger:标准日志接口,可方便集成三方 log 库,并可通过 fluentd 收集日志;
- Metrics:统一指标接口,可以实现各种指标系统,默认集成 Prometheus;
- Tracing:遵循 OpenTelemetry 规范定义,以实现微服务链路追踪;
- Encoding:支持 Accept 和 Content-Type 进行自动选择内容编码;
- Transport:通用的 HTTP/gRPC 传输层,实现统一的 Middleware 插件支持;
- Registry:实现统一注册中心接口,可插件化对接各种注册中心;
相关资料:
GitHub仓库:https://github.com/go-kratos
文档:https://go-kratos.dev/
示例:https://github.com/go-kratos/examples
kratos gateway:https://github.com/go-kratos/gateway
tailwindcss 一个实用性优先的 CSS 框架,通过提供一组预定义的工具类
在开发前端代码的时候我们需要在html和css直接来回切换,而tailwindcss让我们不必再为每个组件编写独立的 CSS,可以迅速原型化,并在不离开 HTML 的情况下构建响应式设。总之,Tailwind CSS 是一个通过原子类和丰富的工具类来帮助开发者构建用户界面的强大框架。它可以提高开发效率,同时也允许个性化的定制。
功能特性:
- 原子类: Tailwind CSS 的核心概念是原子类,它允许你通过添加单个类来应用特定的样式。这使得样式的重用和组合变得非常容易。比如,你可以使用不同的原子类来设置边距、字体大小、背景颜色等。
- 响应式设计: Tailwind CSS 提供了一套方便的响应式类,使你能够根据不同的屏幕尺寸应用不同的样式。比如,你可以在不同的屏幕尺寸下调整元素的显示方式、边距等。
- 插件系统: Tailwind CSS 允许你自定义和扩展样式,你可以通过配置插件来添加新的样式特性。这使得你可以根据项目的需求定制样式。
- 功能丰富的工具类: Tailwind CSS 提供了许多实用的工具类,帮助你处理排版、颜色、阴影、边框等各种样式属性。
相关资料:
GitHub仓库:https://github.com/tailwindlabs/tailwindcss
文档:https://tailwindcss.com/docs/installation