关于服务
翻译我是一名后端开发者,专注于服务器端Dart,而不是出于必要而转向它。许多人知道Dart是Flutter中移动应用的语言,但我对它的另一面,即服务器端感兴趣。我设计并运行基于shelf风格中间件和框架(如Serverpod)的HTTP服务和REST API:我设置路由、身份验证、请求验证、结构化日志记录和优雅的关闭。我关心用户看不见但总能感受到的东西:可预测的响应延迟、合理的错误代码、连接池到Postgres或其他存储,以及同事在六个月后无需指南即可阅读的代码。除了网络服务,我还与开发者工具密切合作。我编写具有适当参数解析、子命令、彩色输出和有意义退出代码的控制台应用程序,以便它们在脚本和CI管道中运行良好。我积极使用Dart的构建系统和代码生成:source_gen和build_runner将注释和模式转换为类型安全的序列化、客户端存根和快速变得过时的样板代码。当一个项目需要一个小型内部守护进程、迁移运行器、数据导入器或服务连接系统时,Dart让我能够交付紧凑、静态类型且易于构建为一个自包含的可执行文件。
为了设定界限:我不是负责像素完美移动屏幕的人,我也不提议将所有内容重写为Node或Go。如果你的后端已经在Dart中,或者你希望在客户端和服务器上使用一个团队和一种语言,我会让服务器端变得稳固。我编写测试,记录端点,并交付你可以实际运行和维护的东西。
— 在shelf和Serverpod级框架上的REST和HTTP API
— 控制台工具、守护进程和CI自动化
— 通过build_runner和source_gen进行代码生成
— 与数据库、迁移和连接池(Postgres及其他)合作
— 身份验证、请求验证、日志记录和错误处理
— 将Dart构建为单个本地可执行文件
为了设定界限:我不是负责像素完美移动屏幕的人,我也不提议将所有内容重写为Node或Go。如果你的后端已经在Dart中,或者你希望在客户端和服务器上使用一个团队和一种语言,我会让服务器端变得稳固。我编写测试,记录端点,并交付你可以实际运行和维护的东西。
— 在shelf和Serverpod级框架上的REST和HTTP API
— 控制台工具、守护进程和CI自动化
— 通过build_runner和source_gen进行代码生成
— 与数据库、迁移和连接池(Postgres及其他)合作
— 身份验证、请求验证、日志记录和错误处理
— 将Dart构建为单个本地可执行文件