首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 NextJS 和 TailwindCSS 重构我的博客

与 TypeORM 对比 TypeORM 是一种传统的 ORM,它将表映射到模型类。这些模型类可用于生成 SQL 迁移。然后,模型类的实例在运行时为应用程序的 CRUD 查询提供一个接口。...Prisma 是一种新的 ORM,它缓解了传统 ORM 的许多问题,例如: 模型实例的膨胀、业务与存储逻辑的混合、缺乏类型安全性或由延迟加载引起的不可预测查询。...它使用 Prisma Schema,以声明的方式定义应用程序模型。然后使用 Prisma Migrate 命令, Prisma Schema 会生成 SQL 迁移并根据数据库执行它们。...Prisma CRUD 查询由 Prisma Client 提供,这是一个针对 Node.js 和 TypeScript 的轻量级且完全类型安全的数据库客户端。...codemiror 和 remark 自己写的组件 ,这一版发现掘金的 Markdown 编辑比较好用,就直接使用了bytemd, 底层都是使用了 remark 和 rehype,支持任何框架,并且拥有丰富的插件

2.4K20

使用 NextJS 和 TailwindCSS 重构我的个人博客

与 TypeORM 对比 TypeORM 是一种传统的 ORM,它将表映射到模型类。这些模型类可用于生成 SQL 迁移。然后,模型类的实例在运行时为应用程序的 CRUD 查询提供一个接口。...Prisma 是一种新的 ORM,它缓解了传统 ORM 的许多问题,例如: 模型实例的膨胀、业务与存储逻辑的混合、缺乏类型安全性或由延迟加载引起的不可预测查询。...它使用 Prisma Schema,以声明的方式定义应用程序模型。然后使用 Prisma Migrate 命令, Prisma Schema 会生成 SQL 迁移并根据数据库执行它们。...Prisma CRUD 查询由 Prisma Client 提供,这是一个针对 Node.js 和 TypeScript 的轻量级且完全类型安全的数据库客户端。...codemiror 和 remark 自己写的组件 ,这一版发现掘金的 Markdown 编辑比较好用,就直接使用了bytemd, 底层都是使用了 remark 和 rehype,支持任何框架,并且拥有丰富的插件

2.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    prisma后端框架基本使用

    prisma后端框架基本使用 重点 定义:GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义) prisma logout prisma...account prisma help Prisma API基于数据模型进行部署,并为该文件中的每个模型公开CRUD和实时操作。...数据模型中的每种类型都映射到数据库表(或无模式数据库的等效结构),并且将CRUD操作添加到GraphQL schema中。 Relations描述类型之间的relationship关系。...接口目前不适用于Prisma中的数据建模,但将来会支持待实现功能。...在具有相关节点的节点被删除的情况下,删除行为确定相关节点应该发生什么。此参数的输入值定义为具有以下可能值的枚举: - SET_NULL(默认值):将相关节点设置为”null”。

    1.7K10

    精读《Prisma 的使用》

    Prisma 是一个现代 Nodejs ORM 库,根据 Prisma 官方文档 可以了解这个库是如何设计与使用的。...了: import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient() CRUD 使用 create...ORM 容易引发性能问题 当数据量大,或者性能、资源敏感的情况下,我们需要对 SQL 进行优化,甚至我们需要对特定的 Mysql 的特定版本的某些内核错误,对 SQL 进行某些看似无意义的申明调优(比如在...Prisma Schema 的好处 其实从语法上,Prisma Schema 与 Typeorm 基于 Class + 装饰器的拓展几乎可以等价转换,但 Prisma Schema 在实际使用中有一个很不错的优势...data: /** ... */, // 条件,大部分情况都可以用到 where: /** ... */, // 其它特殊参数,或者 operater 特有的参数 }) 所以总的来说,Prisma

    3.8K30

    在NestJS中配置微服务:初学者指南

    技术灵活性: 在微服务架构中,每个服务可以使用最适合其特定需求的技术、语言或框架进行开发。这种灵活性允许开发团队为每个任务选择最佳工具。...接下来,使用 npm(与 Node.js 捆绑在一起)安装 Nest 命令行界面 (CLI),这是一个简化 NestJS 应用程序创建和管理的工具。...对于 Sublime Text,您可能需要使用 Terminus 等插件在编辑器中打开终端。...您将在本教程中实现两个独立的服务:一个用于管理读者,另一个用于处理博客文章的创建、读取、更新和删除 (CRUD) 操作。如果您以前使用过 NestJS,那么项目结构将很熟悉且简单。...使用 Prisma 与您的数据库交互 要使用 Prisma 与您的数据库交互,请创建一个 Prisma 模块和服务,您可以在 app.service.ts 文件中使用它。

    23610

    第一个SpringBoot插件-捕获请求并且支持重新发起

    SpringBoot 插件入门 简介 公司用的是SpringBoot,api框架用的是swagger-ui,确实用的不错,但是在使用过程中发现一个问题,就是当前端正式调用的时候,如果参数一多的话模拟请求比较麻烦...,或者swagger-ui无法模拟出前端的完整请求参数,比如参数放到header里面的,就萌生了一个想法,可以不可以自己写一个类似swagger-ui的插件,通过捕捉访问进来的请求,将其header和param...这个逻辑其实蛮简单的,难点在于如何将一个springboot打成jar包供其他项目引用,如何把页面集成到springBoot中,是否需要进行其他的配置,如何将其他包内的Bean引入到主项目中....下一步就是编写改插件的配置文件,通俗点就是注册一个Filter,将下面的配置方法放到主项目中,即可以开启插件效果,到此,一个非常简单的Spring Boot的插件就算开发完成....-- nexus服务器中用户名:在settings.xml中的id --> nexus-releases <!

    1.6K10

    Typescript 全栈最值得学习的技术栈 TRPC

    autocompletion(出色的自动补全功能) Light bundle size(轻量级打包大小) 什么时候该使用 tRPC​ 这个问题非常好,因为我在了解到 tRPC,并参阅了一些基本示例与实践一段时间后发现...要支持传递参数,首先需要在服务端定义传递参数的类型(会有 Zod 对参数效验),这样客户端才有对应的类型提示。然后调用 greeting 函数时,通过通过函数参数的形式来传递请求参数。...此时请求变为 post 请求,并且携带的参数也以 body 形式传递。 通过 useQuery 和 useMutation 就能够用 tRPC 实现最基本的 CRUD。...Done in 81ms 这会将数据库与 prisma 的 schema 同步,说人话就是将数据库的表与 schema.prisma 文件中的 model 对应。...---- prisma 不是本文重点,篇幅略少,但是作为 Typeorm 的长期使用者而言,我认为 prisma 会比 typeorm 友善一些,至少从文档上来说 prisma 大胜一筹,而且很多 node

    3.4K51

    Typescript 全栈最值得学习的技术栈 TRPC

    autocompletion(出色的自动补全功能)Light bundle size(轻量级打包大小)什么时候该使用 tRPC这个问题非常好,因为我在了解到 tRPC,并参阅了一些基本示例与实践一段时间后发现...要支持传递参数,首先需要在服务端定义传递参数的类型(会有 Zod 对参数效验),这样客户端才有对应的类型提示。然后调用 greeting 函数时,通过通过函数参数的形式来传递请求参数。...:::此时请求变为 post 请求,并且携带的参数也以 body 形式传递。图片图片通过 useQuery 和 useMutation 就能够用 tRPC 实现最基本的 CRUD。...Done in 81ms这会将数据库与 prisma 的 schema 同步,说人话就是将数据库的表与 schema.prisma 文件中的 model 对应。...------prisma 不是本文重点,篇幅略少,但是作为 Typeorm 的长期使用者而言,我认为 prisma 会比 typeorm 友善一些,至少从文档上来说 prisma 大胜一筹,而且很多 node

    2K20

    有了 Prisma,就别用 TypeORM 了

    目前解决方法则是用 createQueryBuilder().where({ id }).getOne() 平替上一条语句或者确保查询参数不为 undefined。...再来看看 Prisma 是怎么导入的,你可以使用 nestjs-prisma 或者按照官方文档中创建 PrismaService。...但从开发者的体验角度而言,**既然我选择查询 id 和 title 两个字段,那么你所返回的 post 类型应该也只有 id 与 title 才更符合预期。...这还不是最关键的,当 TypeORM 通过需要使用 createQueryBuilder 方法来构造 sql 语句才能够满足开发者所要查询的预期,而当你使用了该方法,你就会发现你所编写的代码与 js 无疑...许多涉及多表的 CRUD操作可以通过一条简洁的表达式来完成,而在使用 TypeORM 时,常常需要编写繁琐臃肿的 queryBuilder。

    2.7K22

    APISIX Ingress 认证使用

    身份认证在日常生活当中是非常常见的一项功能,大家平时基本都会接触到,Apache APISIX 作为一个 API 网关,目前已开启与各种插件功能的适配合作,插件库也比较丰富,目前已经可与大量身份认证相关的插件进行搭配处理...basic-auth 首先我们来了解下最简单的基本认证在 APISIX 中是如何使用的。basic-auth 是一个认证插件,它需要与 Consumer 一起配合才能工作。...,目前只支持 BasicAuth 与 KeyAuth 两种认证类型,在 basicAuth 下面可以通过 value 可直接去配置相关的 username 和 password,也可以直接使用 Secret...service_id:把 service 的 id 列入白名单或黑名单(支持一个或多个 service)来限制 service 的访问,需要结合授权插件一起使用。...jwt-auth 在平时的应用中可能使用 jwt 认证的场景是最多的,同样在 APISIX 中也有提供 jwt-auth 的插件,它同样需要与 Consumer 一起配合才能工作,我们只需要添加 JWT

    1.2K20

    适用于Node.js和TypeScript的完整ORM —— Prisma

    可以通过Prisma CLI提供的 prisma migration 命令使用它。...schema自动生成 SQL 的同时,您可以轻松地根据自己的特定需求对其进行自定义。...使用 Prisma Client 进行直观且类型安全的数据库访问 与 Prisma Client 一起使用的主要好处是,它使开发人员可以在对象中进行思考,因此提供了一种熟悉且自然的方式来推理其数据。...Prisma 适合任何技术栈 Prisma 与你构建的应用程序无关,并将很好地补充你的技术栈,无论你喜欢的技术是什么。你可以在这里找到更多关于 Prisma 如何与你喜欢的框架或库一起工作的信息。...如果你想使用这些技术或其他方法来探索 Prisma,你可以查看我们的即时运行示例 已经为关键型应用程序的投产做好准备 Prisma 在过去三年中发展了很多,我们非常高兴与开发人员社区分享结果。

    1.8K50

    【译】适用于Node.js和TypeScript的完整ORM —— Prisma

    schema 自动生成 SQL 的同时,您可以轻松地根据自己的特定需求对其进行自定义。...使用 Prisma Client 进行直观且类型安全的数据库访问 与 Prisma Client 一起使用的主要好处是,它使开发人员可以在对象中进行思考,因此提供了一种熟悉且自然的方式来推理其数据。...image.png Prisma 适合任何技术栈 Prisma 与你构建的应用程序无关,并将很好地补充你的技术栈,无论你喜欢的技术是什么。...你可以在这里找到更多关于 Prisma 如何与你喜欢的框架或库一起工作的信息。...如果你想使用这些技术或其他方法来探索 Prisma,你可以查看我们的即时运行示例 已经为关键型应用程序的投产做好准备 Prisma 在过去三年中发展了很多,我们非常高兴与开发人员社区分享结果。

    1.9K01

    从0开始,构建前后端分离应用

    作为自己的技术积累 后端使用Spring+SpringMVC+Mybatis框架、前端使用Vue+iView作为基础开发一个前后端分离的SPA应用 目录 1、环境搭建 1.1 Maven+Nexus搭建后台构建环境...推荐两款工具 DataGrip:作为数据库客户端工具,和以往用过的Sequel Pro、Navicat对比,它的提示功能非常强大,提供了很多提高工作效率的小功能,与IDEA同出一门,很赞!...与它类似的还有apache出品的atom,这两款工具我都使用过。后者的定制性更强,有很多插件可以使用,但是需要花时间去研究。我比较懒因此选择了出厂就配置好的WebStorm。...技术选型 后端: Spring+SpringMVC+MyBatis、对象序列化采用google的GSON、针对通过用的CRUD使用Mybatis的SqlBuilder进行封装 使用testNG进行单元测试...前端: 选择最近比较火热的Vue作为前端框架、使用官方推荐的iView作为UI库、路由同样使用Vue的Vue-Router、异步请求使用axios、less、es6

    83430

    idea-ssm项目实战(二)

    前面我们已经在idea上手工搭建好了maven项目,这一章节开始整合ssm框架以及mybatis分页插件和mvc框架的单元测试。...现在首先要下载相关的依赖jar,大家一般都是使用阿里云下载,现在就来配置一下。 1.maven配置阿里云 一般maven大家都会使用阿里云下载jar到本地,现在来说说配置阿里云下载。...com.adu.crud.dao com.adu.crud.entity com.adu.crud.service com.adu.crud.utils 还有一个测试的包,这个就随便取了。...详情见问题源码 4.spring整合mybatis mybatis.xml代码很简单,配置了一个别名和一个分页插件的拦截器 5.测试程序 1.现在为了测试我们首先需要创建一个数据库和表(员工表和部门表两个有主外键关系),创建2个实体类,类的属性与数据库的字段类似

    2K31

    写在 2021: 值得关注学习的前端框架和工具库

    XState[4],不止适用于React,可以和Vue/Svelte/Ember这样的框架一起,也可以和RxJS这样的响应式库一起用。...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...但我只是比较简单的使用过,用于和TypeGraphQL一起实现自定义指令,详见 这里[52] Engine GraphQL Engine其实是一个非常神奇的方向,有点像REST那边的各种自动生成REST...PostGraphile[54], 只支持PostgreSQL,优势在于性能与插件系统来实现高度定制,还提供了数据库工具。和Hasura一样能自动基于级联关系生成CRUD操作,同样提供了企业级支持。...,但有一定的学习成本,比如海量的操作符与操作符组合,想要熟练的搭配出适合当前场景的操作符组合需要一定的使用经验,我也还在入门阶段。

    4.2K10

    写在2021: 值得关注学习的前端框架和工具库

    XState,不止适用于React,可以和Vue/Svelte/Ember这样的框架一起,也可以和RxJS这样的响应式库一起用。...在TS中这个工具的主要能力就是生成TS的类型定义,同时它的插件体系还提供了更多的额外能力,如Apollo-Client的插件,让你可以直接使用封装好的的useXXXQuery等,前端连查询语句都不用写了...但我只是比较简单的使用过,用于和TypeGraphQL一起实现自定义指令,详见 这里 Engine GraphQL Engine其实是一个非常神奇的方向,有点像REST那边的各种自动生成REST API...PostGraphile, 只支持PostgreSQL,优势在于性能与插件系统来实现高度定制,还提供了数据库工具。和Hasura一样能自动基于级联关系生成CRUD操作,同样提供了企业级支持。...以上就是我 关注/接触/尝试/深度使用 过的大部分框架与工具库了,如果你恰好学有余力又不知道该学啥,不妨就从这里找找感兴趣的

    2.9K10

    制品库实践: Jenkins&Nexus&Artifactory集成

    本章我们主要讲述Jenkins与制品库nexus、artifactory集成,上传下载制品。 ?...目录 部署 功能 基本概念 上传制品 集成jenkins上传制品 使用nexus插件上传制品 发布制品 nexus接口 artifactory集成 构建制品 上传制品 ---- 部署 测试环境使用Docker...可以通过组装并添加自己的业务相关组件来创建功能强大的完整应用程序。在不同的工具链中,组件称为工件,程序包,捆绑包,归档和其他术语。概念和想法保持不变,组件用作通用术语。组件由一组特定值(坐标)标识。...实际的存档文件(pom.xml)是与组件( jar/war包)关联的资产。但是,更复杂的格式具有与组件(jar包)关联的众多资产(pom)。...nexus插件上传制品 安装nexus artifact uploader插件、使用片段生成器生成DSL。

    5K20

    Spring AI 再更新:如何借助全局参数实现智能数据库操作与个性化待办管理

    那么,今天我们就利用这个全局参数的特性,来实现一个数据库插件。具体来说,我们将实现一个完整的增删改查(CRUD)操作。...刚才我们新增了一些参数,我现在来详细解释一下每个参数的作用和使用场景: advisor.param:这是用于单独修改我们默认增强器(增强型顾问)的参数。...sessionId:这个参数用于标识每个独立的会话,它帮助我们控制每个用户的会话状态。通过给每个会话分配一个唯一的 sessionId,我们可以确保每个函数调用是针对特定用户的,而非共享的全局数据。...String tableinfo = """ - Role: SQL语句生成专家 - Background: 用户需要根据特定的表结构和参数信息生成精准的...实际上,我们完全可以将其设计成一个可传入的参数,这样不仅提升了插件的灵活性和可复用性,而且使得该插件不再仅仅局限于待办事项的使用场景,而能够作为一个通用的数据库操作插件,适应不同的需求和应用场景。

    59391

    【腾讯云 HAI域探秘】CloudStudio与HAI技术携手,AI绘画轻松入门

    ## 与同类型的AI绘画工具对比以下是对比腾讯云HAI技术、DeepArt.io、Prisma、Artisto和Doodle Art,Midjourney的来源、共同点、优缺点的详细列举:1....共同点:- 提供强大的AI绘画能力,可以根据用户提供的素材生成高质量的艺术作品。- 支持定制化,用户可以调整参数来满足不同的创作需求。...Prisma:来源:由Prisma Labs开发的移动应用程序。共同点:- 利用神经网络技术将用户的照片转化为艺术作品。- 提供多种艺术风格可供选择。优点:- 提供多种艺术风格可供选择。...优点:- 提供手绘风格的艺术效果。- 用户可以调整参数来改变绘画效果。缺点:- 可能限制于特定的风格和效果。- 可能缺乏一些高级的定制化选项。6....日常开发中,GPU卡型多样,算力、显存差异大,选型困难,环境配置复杂、模型安装和调试门槛高,各类插件迭代频繁,难以在进行环境管理,等诸多因素导致AI绘画非常困难,如今我们使用基于HAI部署的StableDiffusionWebUI

    42130
    领券