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

使用 TypeScript 和依赖注入实现一个聊天机器人

翻译:疯狂技术宅 来源:toptal 类型和可测试代码是避免错误两种最有效方法,尤其是代码随会时间而变化。...但是不要关闭页面,我们需要尽快复制令牌。 将你 Discord Bot 添加到你服务器 为了测试我们机器人,需要一台Discord服务器。你可以使用现有服务器或创建新服务器。...如果你在服务器通道输入消息,它应该出现在命令日志,如下所示: 1> node src/index.js 2 3Logged in! 4Message received!...简而言之,我们代码应该实现最佳实践( SOLID ),不隐藏依赖项,不使用静态方法。 此外,它不应该在运行时引入副作用,并且很容易模拟。...仅仅使用类型就可以避免许多错误。在 TypeScript 中进行依赖注入会将更多面向对象最佳实践推向基于 JavaScript 开发。

11.1K20

【10】进大厂必须掌握面试题-版本控制面试

创建分支将开始下一个发行周期,因此此刻之后不能添加任何新功能,该分支仅应包含错误修复,文档生成以及其他面向发行版任务。一旦准备好发布,该发行版将合并到主版本并标记一个版本号。...这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新提交删除或修复错误文件,然后将其推送到远程存储库。这是修复错误最自然方法。...为此,将使用命令 git revert Q8。您如何将最后N次提交压缩为一次提交? 有两种方法可以将最后N个提交压缩为一个提交。...Git bisect命令是 **git bisect **现在,既然您已经提到了上面的命令,请解释该命令作用。该命令使用二进制搜索算法来查找项目历史记录哪个提交引入了错误。...对于此答案,而不仅仅是告诉命令,请解释命令的确切作用,这样可以说:要获取在特定提交已更改列表文件,请使用命令 git diff-tree -r {hash} 给定提交哈希,这将列出该提交已更改或添加所有文件

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

【10】进大厂必须掌握面试题-版本控制面试

创建分支将开始下一个发行周期,因此此刻之后不能添加任何新功能,该分支仅应包含错误修复,文档生成以及其他面向发行版任务。一旦准备好发布,该发行版将合并到主版本并标记一个版本号。...在Git,如何还原已经被推送并公开提交? 这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新提交删除或修复错误文件,然后将其推送到远程存储库。...这是修复错误最自然方法。...为此,将使用命令 git revert Q8。您如何将最后N次提交压缩为一次提交? 有两种方法可以将最后N个提交压缩为一个提交。...对于此答案,而不仅仅是告诉命令,请解释命令的确切作用,这样可以说:要获取在特定提交已更改列表文件,请使用命令 git diff-tree -r {hash} 给定提交哈希,这将列出该提交已更改或添加所有文件

2.5K30

rpc服务器不可用 dcom 无法使用任何配置协议与计算机,如何修复Windows上“RPC服务器不可用”错误?…

大家好,又见面了,是你们朋友全栈君。 问题:如何修复Windows上“RPC服务器不可用”错误? 有几次计算机上出现“RPC服务器不可用”弹出窗口。不确定它是什么?该怎么办这个错误?...如果没有,请按照方法4提供步骤操作。 方法2.检查Windows防火墙设置 修复“RPC服务器不可用”错误另一种方法是检查防火墙是否不阻止RPC连接。...如何在Windows上修复0x8024401c错误? 问题:如何在Windows上修复0x8024401c错误? Windows 10错误代码0x8024401c阻止安装更新。该怎么办?...如果方法无法帮助修复0x8024401c错误,请尝试以下方法。 方法2.更新驱动程序 单击“开始”按钮,然后在Windows搜索框输入“设备管理器”。...重新启动计算机并检查它是否有助于修复错误代码0x8024401c。 方法5.执行干净启动 如果您尝试了所有四种方法并且0x8024401c错误仍然困扰您,这是您解决问题最后机会。

8.8K30

基于 git flow + gitlab 协作开发:02 解决问题

可删,是对线上最新版本或长期服务版本做紧急修复时使用分支,他不是常驻 说多不多,说少也不少,还没有了解 git-flow 同学可能会有点不太好理解,下面就详细介绍每个分支类型是如何在我们平时工作协作起到重要作用...之所以建议在 release/* 分支做发布操作,是因为有些时候在你执行完 git flow release finish 后还会发现有一些非常简单错误需要修复,比如对外文档一个符号错误、一个错别字...线上缺陷紧急修复 git flow hotfix 谁都不愿意看到线上出现紧急问题,出问题不要怕,解决它并告诉自己不要再犯同样错误,这也是为什么使用 git flow 一个很重要原因。...在新 hotfix 分支上我们进行问题代码修复修复完成后执行 git flow hotfix finsih '7.4.1' 执行命令后会有如下几个操作: 合并 hotfix/7.4.1 到 support...现有的一些 GUI 管理工具 SourceTree 则通过界面交互方式让开发者少敲一些命令相信学习成本会有一些降低。

1K10

使用‘fsck’修复Linux中文件系统错误方法

这可以通过名为fsck系统实用程序( 文件系统一致性检查)完成。 检查可在引导期间自动完成或手动运行。 在本文中,我们将回顾fsck实用程序及其用法,以帮助您修复磁盘错误。...如何运行fsck来修复Linux文件系统错误 要运行fsck ,您需要确保未安装要检查分区。 出于本文目的,将使用安装在/mnt第二个驱动器/dev/sdb 。...在Linux分区上运行fsck 了解fsck退出代码 运行fsck后 ,它将返回退出代码。...同样,您可以在所有文件系统上运行相同操作(没有root ): $ fsck -AR -y 如何在Linux根分区上运行fsck 在某些情况下,您可能需要在系统根分区上运行fsck 。...停止任何关键服务,MySQL / MariaDB等,然后键入。 # reboot 在启动过程,按住shift键以显示grub菜单。 选择“ 高级选项 ”。 ?

5.2K10

如何撤消 Git 中最新本地提交?

在使用Git进行版本控制时,有时我们可能会犯下错误或者想要撤销最新本地提交。Git提供了一些强大工具和命令,使我们能够轻松地撤消最近提交并修复错误。...图片本文将详细介绍如何在Git撤消最新本地提交。步骤1:查看提交历史在撤消最新本地提交之前,首先需要查看提交历史,以确定要撤消提交哈希值。...请注意,强制推送可能会覆盖远程仓库历史记录,请确保在执行操作之前进行确认。...请谨慎使用命令,并确保您具有相应权限。总结在Git撤消最新本地提交是一项有用操作,可以帮助我们修复错误并保持代码一致性。...请记住,在撤消最新本地提交之后,如果已将错误提交推送到远程仓库,则可能需要执行强制推送来更新远程仓库。在进行操作之前,请确保您已经仔细考虑,并确保对代码其他开发人员没有负面影响。

1.2K30

​2019 DevOps 必备面试题——代码版本控制篇

创建分支将启动下一个发布周期,因此在这之后不能添加任何新功能,只有错误修复、文档补齐和其它面向发布任务能够包含在此分支。一旦准备好发布,该版本将合并到 master 并标记版本号。...此外,尽管自发布以来开发分支可能已经有新代码更新,但它依然应该被合并回开发分支。 最后告诉他们分支策略因组织而异,所以我知道基本分支操作:删除,合并,检出分支等。...问题可以有两个答案,根据具体情况可以使用以下任意选项: 在新提交删除或修复错误文件,并将其推送到远程存储库。这是修复错误最自然方式。...对文件进行必要更改后,将其提交到远程存储库,将使用: git commit -m“commit message” 创建一个新提交,撤消在错误提交中所做所有更改,使用命令: git revert...它如何在合并之前解决特性分支冲突?

2K50

价值100W经验分享: 基于JSPatchiOS应用线上Bug即时修复方案,附源码.

简评: 混合应用常用方式,PhoneGap等;对于大多数原生应用来说,方案基本无适用性....基本实现原理 安装本地所有补丁 --> 联网更新补丁信息,并安装有更新或新增加补丁.注意此处安装,指的是执行以下JS文件代码.此段代码会替换某个类默认实现.当App运行到需要某个类某个被JSPatch...关于校验md5代码,其实最核心是如何在oc中使用代码获取某个文件md5值,然后进行比对.网上示例很多,但可能不太靠谱,下面贴一段确实可行,注意要引入系统库 #include <CommonCrypto...< 补丁有更新.即服务器最新返回补丁列表包含补丁,但补丁md5或url已改变. YFPatchModelStatusAdd //!...官方有个内测平台http://jspatch.com,来支持在线更新,但是时候,是不知道,有点重复造轮子感觉.但是,也就两天左右就实现了,只要能捋顺补丁状态控制时机,代码本身其实并没有真正技术难点

1.4K100

我们对此引起不便表示抱歉

用黄山IE修复专家,或者其他IE修复软件修复IE。祝你成功~! 为什么电脑常常出现以下提示:drwtsn32.exe 遇到问题须要关闭。我们对此引起不便表示抱歉。谢谢各位!...间谍软件:No 广告软件:No 病毒:No 木马:No 解决方式: 採取下面任一措施皆可解决问题, 1、键入不带參数drwtsn32,更改故障转储文件到一个特权路径,: \Documents...为什么电脑老是跳出一个错误报告方框?请各位大虾为小弟指点迷津!...解决方式: 採取下面任一措施皆可解决问题, 1、键入不带參数drwtsn32,更改故障转储文件到一个特权路径,: \Documents and Settings\Administrator\...在可用补丁出来之前,採取下面任一措施皆可解决问题, 1、键入不带參数drwtsn32,更改故障转储文件到一个特权路径,: \Documents and Settings\Administrator

89020

Git 相关问题

这是修复错误最自然方式。对文件进行必要修改后,将其提交到我将使用远程存储库 1git commit -m "commit message" 创建一个新提交,撤消在错误提交中所做所有更改。...为此,将使用: git config –global user.name "Your Name": 命令将添加用户名。...如何在Git创建存储库? 这可能是最常见问题,答案很简单。 要创建存储库,先为项目创建一个目录(如果该目录不存在),然后运行命令 git init。...命令用了二进制搜索算法来查找项目历史记录哪个提交引入了错误。你可以通过告诉它已知包含该错误错误”提交以及在引入错误之前已知“良好”提交来使用它。...创建该分支将会启动下一个发布周期,所以在此之后不能再添加任何新功能,只有错误修复,文档生成和其他面向发布任务应该包含在此分支。一旦准备好发布,该版本将合并到主服务器并标记版本号。

2K10

亿级流量多级缓存 - Lua整合RedisNginx

Lua 脚本内部执行 Redis 命令 Lua 脚本内部允许通过内置函数执行 Redis 命令: redis.call() redis.pcall() 两者非常相似,区别在于: 若 Redis 命令执行错误...两者不存在竞争关系,而是增强关系,lua可以完成redis自身没有的功能 在lua可以使用上一步结果,也就是可以开发后面操作依赖前面操作执行结果应用,MULT命令都是独立操作 redis...Redis Lua 脚本管理 1.script load 命令用于将Lua脚本加载到Redis内存 2.script exists scripts exists sha1 [sha1 …] 命令用于判断...sha1是否已经加载到Redis内存 3.script flush 命令用于清除Redis内存已经加载所有Lua脚本,在执行script flush后,sha1不复存在 4.script kill...命令用于杀掉正在执行Lua脚本 死锁 下面代码会进入死循环,导致redis无法接受其他命令

1.2K30

Linux 系统故障排查和修复技巧

来源:Linux爱好者 ID:LinuxHub 发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,在这里写了几个应用单用户模式、GRUB命令操作、Linux救援模式故障修复案例帮助大家了解此类问题解决...为文件系统检测修复命令,“-y”设定检测到错误自动修复,/dev/hda6为发生错误硬盘分区,请依据具体情况更改参数) 系统修复完成后,用命令“reboot”重新启动即可。...我们可以按任意键回到GRUB编辑界面,修改错误,回车保存后按“b”键即可正常引导,当然不要忘记进入系统后修改grub.conf文件此处错误。...这是很多初学Linux用户在修改GRUB设置时很容易犯错误,出现黑屏提示时注意观察报错信息,即可针对性修复。.../etc/inittab文件丢失引导错误示例 1、有备份文件恢复办法进入救援模式,执行chroot命令后,如果有此文件备份(强烈建议系统重要数据目录,/etc、/boot等要进行备份),直接将备份文件拷贝回去

5.3K00

5 分钟比较理解 require() vs import()

它们只允许在 ES 模块中使用,无法使用它们导入具有其它文件类型( .json)其它模块。...但实际上,你可以在代码任何位置调用 require(),而 import() 语句只能在文件开头定义。在别处使用 import() 语句,会报错:要求移动到文件开头。.../xxx' 点非常重要,注意区分! //dynamic import let {hi, bye} = await import('./say.js'); hi(); // Hello!....· }); import() 是异步; 在使用 require 命令加载模块时,就会运行整个模块代码; import 虽然写在文件顶部,但是脚本执行时,只有在碰到这个只读变量时候,才执行被加载模块.../xxx) 差异; 是掘金安东尼,输出暴露输入,技术洞见生活,再会~

66020

大家好,给大家介绍一下,这是Linux故障排查思路

发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,在这里写了几个应用单用户模式、GRUB命令操作、Linux救援模式故障修复案例帮助大家了解此类问题解决。...为文件系统检测修复命令,“-y”设定检测到错误自动修复,/dev/hda6为发生错误硬盘分区,请依据具体情况更改参数) 系统修复完成后,用命令“reboot”重新启动即可。...我们可以按任意键回到GRUB编辑界面,修改错误,回车保存后按“b”键即可正常引导,当然不要忘记进入系统后修改grub.conf文件此处错误。...这是很多初学Linux用户在修改GRUB设置时很容易犯错误,出现黑屏提示时注意观察报错信息,即可针对性修复。.../etc/inittab文件丢失引导错误示例 1、有备份文件恢复办法进入救援模式,执行chroot命令后,如果有此文件备份(强烈建议系统重要数据目录,/etc、/boot等要进行备份),直接将备份文件拷贝回去

3.6K30

何在Ubuntu 18.04和Ubuntu 18.10,16.04上安装Systemback

本教程将向您展示如何在Ubuntu 18.04和Ubuntu 18.10上安装Systemback。 Systemback是一个简单系统备份和恢复应用程序,根据GPLv3许可条款发布。...升级软件 下面描述方法也适用于Ubuntu 19.04。...在Ubuntu 18.04和Ubuntu 18.10上安装Systemback Ubuntu 16.04和14.04用户可以通过在终端运行以下命令从PPA安装Systemback。...如果您在Ubuntu 18.04上运行上述命令,您将看到以下错误, E: The repository 'http://ppa.launchpad.net/nemh/systemback/ubuntu...您所见,您可以创建系统还原点,还原到某个点,将系统复制到另一个分区,将系统安装到新分区,创建实时系统(可引导ISO映像),修复系统和升级软件 系统。

1.3K20

Linux系统故障排查和修复技巧

发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,在这里写了几个应用单用户模式、GRUB命令操作、Linux救援模式故障修复案例帮助大家了解此类问题解决。...,“-y”设定检测到错误自动修复,/dev/hda6为发生错误硬盘分区,请依据具体情况更改参数)系统修复完成后,用命令“reboot”重新启动即可。...我们可以按任意键回到GRUB编辑界面,修改错误,回车保存后按“b”键即可正常引导,当然不要忘记进入系统后修改grub.conf文件此处错误。...这是很多初学Linux用户在修改GRUB设置时很容易犯错误,出现黑屏提示时注意观察报错信息,即可针对性修复。.../etc/inittab文件丢失引导错误示例1、有备份文件恢复办法进入救援模式,执行chroot命令后,如果有此文件备份(强烈建议系统重要数据目录,/etc、/boot等要进行备份),直接将备份文件拷贝回去

3K40

在你CVM上安装SteamCMD服务器

Steam命令行版客户端(SteamCMD)是一个命令行版本Steam客户端。它主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用专用服务端。...如果您使用是iptables,请跳过步骤。...: tar -xvzf steamcmd_linux.tar.gz 错误修复 运行Steam游戏时,您可能会遇到以下错误: /home/steam/.steam/sdk32/libsteam.so: cannot...open shared object file: No such file or directory 尽管出现错误,游戏服务器仍然可以运行,并且它应该在以后SteamCMD版本修复。...你可以点击下面的链接查看更多游戏服务器教程: 如何在Ubuntu上搭建方舟:生存进化服务器 如何在Ubuntu上搭建饥荒服务器 如何在Ubuntu上安装MutliCraft 如何在Ubuntu上搭建Minecraft

6.5K41

10个常见 Java 错误及避免方法之第二集(后续持续发布)

“Reached End of File While Parsing” 当程序缺少关闭大括号(“}”)时,Java代码中就会发生错误消息。 有时我们可以通过在代码末尾放置大括号来快速修复错误。...要修复的话,就需要将字符串转换为整型或浮点型。 阅读说明非数字类型如何导致Java软件错误从而警报操作符无法应用于类型例子。 (@StackOverflow) 15....阅读关于如何在Java软件中转换不可转换类型讨论。(@StackOverflow) 16....在静态方法代码创建非静态对象实例。 阅读介绍静态和非静态变量之间区别的教程。(@sitesbay) ? 19....;array[1] = object2; 而非: AClass[] array; ...array = {object1, object2}; 阅读关于如何在Java软件初始化数组讨论。

2.2K30
领券