(30 hackdays day 24) Atatus - what happened before crash

Atatus是一款用于记录web应用异常并追踪用户行为的工具,尤其适用于解决Angular框架中难以追踪的错误问题。通过配置Atatus SDK,开发者能够轻松地收集异常发生时的用户操作详情,包括在遇到问题前的输入、点击等行为。文章还介绍了如何为Angular应用添加错误处理代码,实现异常统计,并讨论了Atatus的离线存储功能以及其定价策略。

Atatus是一个用来记录“犯罪现场”的工具。正如其他类似的统计异常的SDK一样,Atatus除了收集你的web app里发生的异常,在后台看到各种Bug的统计,最重要的功能的可以记录发生异常的时候用户的行为。

如何重现

工程师在解决bug的时候遇到的最讨厌的事情莫过于不知道如何重现问题。现代Web App的复杂度越来越高,一个错误可能是长时间的javascript执行的积累造成的,很可能用户遇到一个问题,但只能报告一个有#的url。而之前的操作才是引发这个bug的原因。
Atatus就是来解决这个问题的。用户只要配置好SDK,一旦遇到Exception,Atatus就会把它,以及之前所做的行为报告给服务器。

比如我做了个登陆页面,我在一个input里输入了用户名,在另一个密码登陆框里输入了密码,然后点击了登陆按钮,bang,出bug了。整个栈被如实打出。同时,一旦你觉得某个bug被解决了,可以点resolve隐藏掉这个bug。对于小型项目来说还是很方便的。

Angular

Angular是个FrontEnd又爱又恨的的框架,其中一恨就是有些错误超难track。Atatus专门为Angular写了一小段错误处理代码(当然这个不是Atatus专用的)。

.factory('$exceptionHandler', ["$window", function ($window) {
  return function (exception, cause) {
    if (exception.stack) {
      exception.stack = exception.stack.replace('new ', '');
    }
    if ($window.atatus) {
      $window.atatus.send(exception);
    }
  };
}]);

增加这么一个处理exception的factory,你的Angular程序就能在发生错误的时候统计下整个的用户行为和错误了。

离线存储

一个H5应用经常会面临用户不在线的情况,只要打开offline模式,等到用户连上网以后就会自动发送。它用的是localstorage,所以不用怕关掉tab。

atatus.enableOffline(true)

Pricing

唯一有点遗憾的就是它不提供永久免费的方案。当然你可以试用30天之后再注册一个账号...
不过,12刀15万个exception听起来还是不错的(除非你的App写了个抛异常的死循环)~

【源码免费下载链接】:https://renmaiwang.cn/s/trd05 Quartus II是一款由Altera公司开发的FPGA(Field-Programmable Gate Array)设计软件,主要用于VHDL和Verilog HDL等硬件描述语言的设计、仿真、综合、配置和编程。对于初学者,掌握Quartus II的基本操作是进入FPGA设计领域的第一步。在Quartus II的使用过程中,首先需要进行的是软件的安装和启动。安装完成后,打开Quartus II,会显示欢迎界面,点击"OK"继续。接下来是创建一个新的工程,这是设计流程的起点。在创建工程时,确保工程文件名与顶层实体名一致,这是良好工程组织习惯的一部分,有助于后期的管理和调试。选择原件(Components)是设计过程中的关键步骤。Quartus II提供了丰富的元件库,包括各种逻辑门、触发器、计数器、D/A转换器等。在本例中,我们选择了四分频触发器。选择原件时,需要根据设计需求和FPGA芯片的特性来决定,不熟悉的原件可以通过查询文档或在线资源来了解其功能和用法。新建VHDL文件是实现逻辑设计的地方。在"File"菜单中选择"New",然后选择VHDL源文件,输入文件名并点击"OK"。接着,就可以在文本编辑器中编写VHDL代码了。VHDL是一种强大的硬件描述语言,用于描述数字系统的结构和行为。四分频触发器的VHDL代码通常会包含一个时钟信号的分频逻辑,例如通过计数器实现。完成代码编写后,需要进行编译。在Quartus II中,编译是通过点击工具栏上的"Start Compilation"按钮或者在"Project"菜单中选择"Compile Project"来实现的。编译过程会检查语法错误、逻辑错误,并生成相应的逻辑结构。编译成功后,可以进行仿真以验证设计的功能。在工具栏上点击仿真图标,或者在"
【源码免费下载链接】:https://renmaiwang.cn/s/9p75y 在C#编程中,TabControl是一类广泛使用的用户界面组件,它通过不同的选项卡帮助组织和切换多个内容区域。本资源提供了一种TabControl的自定义实现方案,命名为TabStrip控件,该方案包含源代码文件并经过VS.NET 2010平台的严格编译验证,确保其稳定运行。在Windows应用开发中,TabControl扮演着关键角色,它通过直观的方式让用户管理多个相互关联但独立的数据或功能区域。开发者可以通过C#语言及其System.Windows.Forms命名空间中的相关类库方便地创建和管理选项卡组件。TabStrip控件可能包含了一些高级功能或优化措施,如自定义样式、动态选项卡添加以及触摸友好的交互体验。Delegates.cs文件中记录了用户与控件交互的事件处理策略,而Enums.cs则定义了控件相关的枚举类型,例如选项卡布局方式和状态设置等。TabStrip项目的构建信息包含在两个主要工程文件中:TabStrip.csproj用于项目配置,而TabStrip.sln则是Visual Studio的工作方案文件。同时,在开发过程中还涉及多个支持文件,如".csproj.user"以存储用户特定的IDE设置,Properties目录收集项目属性信息,并通过BaseClasses实现控件的基础功能。此外,相关的控制集和辅助类也可为TabStrip控件提供额外的功能支持。FATabStrip.bmp可能用于选项卡图标或设计预览图。通过深入研究这份源码,开发者可以掌握自定义Windows Forms控件的开发方法,并学习如何利用C#语言进行组件设计、委托与枚举的应用以提升代码质量和可维护性。同时,分析项目的构建过程也能帮助理解项目结构和资源管理方式。这些内容对于提升C#编程技能和优化Win
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值