Fundebug

Results 50 issues of Fundebug

**摘要:** 代码越短越好! 我们发布了[fundebug-vue](https://www.npmjs.com/package/fundebug-vue)插件,可以简化Vue框架接入[Fundebug](https://www.fundebug.com/)的代码。 ### Vue如何接入Fundebug **1. 安装[fundebug-javascript](https://www.npmjs.com/package/fundebug-javascript)与[fundebug-vue](https://www.npmjs.com/package/fundebug-vue)** ```bash npm install fundebug-javascript fundebug-vue ``` **2. 配置** ```javascript import * as fundebug from "fundebug-javascript"; import fundebugVue from "fundebug-vue"; fundebug.apikey = "YOUR-APIKEY"; fundebugVue(fundebug,...

将jar包发布到Maven中央仓库([Maven Central Repository](https://mvnrepository.com/)),这样所有的Java开发者都可以使用Maven直接导入依赖,例如[fundebug-java](https://mvnrepository.com/artifact/com.fundebug/fundebug-java): ```xml com.fundebug fundebug-java 0.2.0 ``` 但是,Maven中央仓库并不支持直接发布jar包。我们需要将jar包发布到一些指定的第三方Maven仓库,然后该仓库再将jar包同步到Maven中央仓库。 其中,最"简单"的方式是通过[Sonatype OSSRH](https://central.sonatype.org/pages/ossrh-guide.html)仓库来发布jar包。接下来,我会介绍如何将jar包发布到Sonatype OSSRH。 本教程所使用的系统配置如下: - OS:macOS 10.14.2 - JDK:1.8.0_192 - Maven:3.5.4 ### 1. 注册JIRA账号 JIRA是一个项目管理服务,类似于国内的Teambition。Sonatype通过JIRA来管理OSSRH仓库。 注册地址:[https://issues.sonatype.org/secure/Signup!default.jspa](https://issues.sonatype.org/secure/Signup!default.jspa) 需要填写Email, Full Name, Username以及password,其中**Username与Password后面的步骤需要用到**,请记下来。 ###...

**摘要:** **0.2.0**支持监控Spring应用,并且支持使用Maven接入插件,请大家及时更新。 ![](https://image.fundebug.com/2019-01-08-fundebug_java_spring.jpg) ### 支持监控Spring应用 #### 1. pom.xml配置[fundebug-spring](https://mvnrepository.com/artifact/com.fundebug/fundebug-spring)依赖 ```xml com.fundebug fundebug-spring 0.2.0 ``` #### 2. 在项目中引入fundebug并配置apikey 新增FundebugConfig.java ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import com.fundebug.Fundebug; import com.fundebug.SpringConfig; @Configuration @Import(SpringConfig.class)...

GitHub仓库:[Fundebug/maven-tutorial](https://github.com/Fundebug/maven-tutorial) ### Maven简介 [Maven](https://maven.apache.org/)是Java项目构建工具,可以用于管理Java依赖,还可以用于编译、打包以及发布Java项目,类似于JavaScript生态系统中的NPM。 Maven的命令行工具为**mvn**,其常用命令如下表所示: | 命令 | 说明 | | ----------- | -----------------------| | mvn compile | 编译Java源代码 | | mvn package | 打包Java项目 | | mvn deploy |...

**摘要:** 常见的微信小程序BUG! 小程序开发越来越热,开发中遇到各种各样的bug,在此总结了一些比较容易掉进去的坑分享给大家。 ### 1. new Date跨平台兼容性问题 在Andriod使用`new Date(“2018-05-30 00:00:00”)`木有问题,但是在ios下面识别不出来。 因为IOS下面不能识别这种格式,需要用`2018/05/30 00:00:00`格式。可以使用正则表达式对做字符串替换,将短横替换为斜杠。`var iosDate= date.replace(/-/g, '/');`。 ### 2. wx.getUserInfo()接口更改问题 微信小程序最近被吐槽最多的一个更改,就是用户使用wx.getUserInfo(开发和体验版)时不会弹出授权,正式版不受影响。现在授权方式是需要引导用户点击一个授权按钮,然后再弹出授权。 解法很长,请参考: - [微信小程序不支持wx.getUserInfo授权的解决方法](http://caibaojian.com/wx-getuserinfo.html) - [getUserInfo兼容解决方案 ](https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=&docid=000aacd65388b86a44c69fd9a52804) ### 3. 只有在调试模式下,才能发送数据到自己的正式服务器 其实,只要注意配置合法域名,这个问题就解决了。有的时候,因为一上来就开发,忘记掉去配置域名。后来发现数据没法出去,可能半天没想来忘记配置了! ###...

**译者按:** 能够读懂这篇博客的JavaScript开发者,运气不会太差... - 原文: [10 JavaScript concepts every Node.js programmer must master](http://www.infoworld.com/article/3196070/node-js/10-javascript-concepts-nodejs-programmers-must-master.html) - 译者: [Fundebug](https://www.fundebug.com/) **为了保证可读性,本文采用意译而非直译,并且对示例代码进行了大量修改。另外,本文版权归原作者所有,翻译仅用于学习。** ### 1. 立即执行函数 **立即执行函数**,即Immediately Invoked Function Expression (IIFE),正如它的名字,就是创建函数的同时立即执行。它没有绑定任何事件,也无需等待任何异步操作: ```javascript (function() { // 代码 //...

**摘要:** 数据还是要备份的,万一删库了呢? ![data](https://user-images.githubusercontent.com/26496557/46117691-aa414d00-c23d-11e8-8d2a-890c47d187bc.png) - **本文代码仓库:** [fundebug-mongodb-backup](https://github.com/Fundebug/fundebug-mongodb-backup) ### 引言 今年8月,腾讯云竟然把客户前沿数据的数据弄没了,[Fundebug](https://www.fundebug.com/)在第一时间进行了一些简单的[技术分析](https://blog.fundebug.com/2018/08/07/tencent-cloud-disck-incident/): > 一方面,腾讯云对这件事负有不可推卸的责任,他们刚开始说是什么[硬盘固件版本bug](https://mp.weixin.qq.com/s/9bP6abnvOpufN3fomB4weQ)(该声明已删),后来承认是[人为操作失误](https://mp.weixin.qq.com/s/8JSPY6vHPhg8pX0JwjqttQ)导致的。 > 另一方面,前沿数据没有备份业务数据,也是一种非常不专业的行为,导致业务无法恢复,必须完全重新开始。 因此,所有的开发者都应该从这个事件吸取教训,不要偷懒,严格备份业务数据,否则数据一旦出问题,损失将无法挽回。 ### Fundebug数据备份方案 我们还分享了Fundebug的数据备份方案,供大家参考: | 备份方案 | 时间粒度 | 细节 | | --------------------- | -------- | ------------...

SSH有三种端口转发模式,**本地端口转发(Local Port Forwarding)**,**远程端口转发(Remote Port Forwarding)**以及**动态端口转发(Dynamic Port Forwarding)**。对于本地/远程端口转发,两者的方向恰好相反。**动态端口转发**则可以用于科学上网。 ![ssh](https://user-images.githubusercontent.com/26496557/45524830-fbdfe580-b802-11e8-910f-37124d205348.png) SSH端口转发也被称作SSH隧道([SSH Tunnel](http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html)),因为它们都是通过SSH登陆之后,在**SSH客户端**与**SSH服务端**之间建立了一个隧道,从而进行通信。SSH隧道是非常安全的,因为SSH是通过加密传输数据的(SSH全称为Secure Shell)。 在本文所有示例中,本地主机A1为SSH客户端,远程云主机B1为SSH服务端。从A1主机通过SSH登陆B1主机,指定不同的端口转发选项(**-L、-R和-D**),即可在A1与B1之间建立SSH隧道,从而进行不同的端口转发。 ### 本地端口转发 #### 应用场景: > 远程云主机B1运行了一个服务,端口为3000,本地主机A1需要访问这个服务。 示例为一个简单的Node.js服务: ```javascript var http = require('http'); var server = http.createServer(function(request, response) {...

**摘要:** JavaScript语言从设计之初就是考虑带分号的,使用不带分号的编码规则就要小心点啦。 ### 背景 最近在项目中开始使用新的编码规范,一开始ESLint报一大堆错误,改得我想砸键盘,花了好些时间才适应,下面列出一些代表性的规则: - 只能使用单引号 - 函数定义的圆括号和左大括号之间一定要有空格: `function(args) { .. }` - import语句在大括号之后一定要有空格: `import { fa, fb } from moduleC` - 不用分号!!! ### 起因 早上在实现一个功能的时候,写了一个`map`函数来复用部分代码。程序运行起来后,没有执行结果,而且没有报错。通过console.log打印数据发现,整个程序执行到map前面就再也不往下走了,很奇怪。因为没有报错信息,无法推测具体原因。于是,我将其抽象成非常简单的代码来排查。如下所示: ```js console.log("hello, fundebug")...

部署前端之前,开发者通常会对代码进行打包压缩,这样可以减少代码大小,从而有效提高访问速度。然而,压缩代码的报错信息是很难Debug的,因为它的行号和列号已经失真。这时就需要Source Map来还原真实的出错位置了。 ![fundebug-sourcemap](https://user-images.githubusercontent.com/26496557/45632814-3b475400-bad9-11e8-9078-190d80675167.jpg) ### 为啥变换代码? 前端代码越来越复杂的情况下,开发者通常会使用[webpack](https://github.com/webpack/webpack)、[UglifyJS2](https://github.com/mishoo/UglifyJS2)等工具对代码进行打包变换,这样可以减少代码大小,有效提高访问速度。关于变换代码的原因,这里不妨引用一下大神[阮一峰](http://www.ruanyifeng.com/blog/)的[JavaScript Source Map 详解](http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html): > - 压缩,减小体积。比如jQuery 1.9的源码,压缩前是252KB,压缩后是32KB。 > - 多个文件合并,减少HTTP请求数。 > - 其他语言编译成JavaScript。最常见的例子就是CoffeeScript。 ### 如何变换代码? 下面是一个简单的“hello World”程序**hello.js** ```js function sayHello() { var name =...