日志作为应用故障排查的一个重要利器,是应用开发中的重要一环。但是日志如何打印、打印那些信息却没有一个非常好的规范,本文根据自己多年开发经验,总结出一些日志打印的好的实践。...好的日志用一句话来说就是在正确的位置输出有用的信息。...,又不会丢失一些重要的应用运行信息。...当然只有这些信息还是不够的,应该将输出日志时的上写文也输出到日志中才能方便后续问题的定位。...如果应用是单机部署,可以直接使用grep来过滤查询日志,但是当应用部署在多台机器再使用grep来查询日志会有点不太现实,这时候需要一个日志搜集处理系统,但是此系统不做为本文的重点,只是简单介绍一些平台:
不仅是内存的利用率,CPU的利用率,也有错误日志上报,profile分析等等,利用这些指标,来提高应用的健壮性,快速的修正问题。...今天我想分享一下,原生原味和eggjs比较贴切的阿里云-Node.js性能监控平台,目前这一项服务还是免费的,它的前身就是之前的alinode项目,通过这个平台来将应用进行性能监控,也能在一些日常的事务中...不过,我还想额外提一句,也是阿里巴巴开源的一套应用监控器,https://github.com/midwayjs/pandora ,它几乎集成了多种类型的能力诸如:监控、链路追踪、调试、进程管理等等,虽然在某些方面与...Node.js性能监控平台有一定的重合,不过毕竟是在阿里云ecs上能原生契合的一个产品,双重保障,更能掌控好一个应用的全面。...由于,我也是才刚刚上车,这两块东西,深入下去,怎么用起来,还是要花一些时间去梳理这一块的知识结构,比如你怎么看指标,通过什么样的指标能反映什么样的问题,这些思考,还是要契合服务端的知识体系,去看这个问题
我在乐视过得蛮滋润,我可以按照自己希望的样子进行发展。这是建立在我这么多年磕磕碰碰,有了很多思考和自己想做的事情的基础上。但是我也很想知道,我怎样能领导让更满意。很多刚毕业的同学,更想得到很多的引导。...我希望大家有很多想法,大家一起拿出来探讨。我希望大家可以遇到事情或者有什么思路可以自己主动找我商量,我觉得这是对我的尊重和认可。...我希望我有什么问题或者团队有什么问题,大家看到了或者想到了能告诉我,大家一起想办法。乐于分享,有团队精神。我希望这些是团队的共性。这和每个人的性格没有关系,更多的是一种团队合作沟通的技巧。 ...性格方面,我觉得遵从天性就好。如果非说要有点共性,那么我希望是感恩之心。可能其他人有自己的生活方式,但就我自己的经验而言,这在整个人生中,工作上、生活上都是成功的关键。...而有效沟通的最好方式就是态度。 我自身要做的事情 我应该是规划者和决策者,不是执行者。我更不需要是最好的执行者。比较喜欢的美剧是《神盾局特工》和《罪恶黑名单》。
正文前序 我在之前的文章推送里写了不少关于SAP Fiori的文章,有关于技术的也有浅谈理论发展的文章,有兴趣的朋友可以阅读一下。...SAP Fiori launchpad是一个托管SAP Fiori应用程序的shell,作为应用的入口,为应用程序提供导航,个性化,嵌入式支持和应用程序配置等服务。...启动板是基于角色的,根据用户的角色显示切片。 今天聊一下,如何使自定义UI在SAP Fiori启动板中显示为应用程序磁贴,使用自定义UI应用程序扩展业务目录。...查找应用程序 所以,我们知道自定义应用的ID,应用程序的ID是我们从SAP Cloud Platform部署到S/4 HANA Cloud时所提供的名称的组合,包括前缀YY1_加后缀_UI5R。...如下图所示: image.png 这个步骤的前提也是在已有的UI应用上,找到这个应用而已。 扩展业务目录 我们点击下图中的Add按钮,开始扩展新应用程序,扩展到需要添加的业务目录里。
1、微信:我是如何在Fiori上添加UI应用的 2、知乎:我是如何在Fiori上添加UI应用的 正文前序 我在之前的文章推送里写了不少关于SAP Fiori的文章,有关于技术的也有浅谈理论发展的文章,...SAP Fiori launchpad是一个托管SAP Fiori应用程序的shell,作为应用的入口,为应用程序提供导航,个性化,嵌入式支持和应用程序配置等服务。...SAP Fiori launchpad是移动或桌面设备上Fiori应用的切入点。Lunchpad会显示各种功能性的磁贴。每个磁贴表示用户可以启动的业务应用程序。...启动板是基于角色的,根据用户的角色显示切片。 今天聊一下,如何使自定义UI在SAP Fiori启动板中显示为应用程序磁贴,使用自定义UI应用程序扩展业务目录。...自定义目录 首先,我们在SAP Fiori launchpad里找到自定义目录扩展应用程序,这个是SAP系统提供的,以方便使用或者实施者方便进行应用扩展。如下图所示: ?
子曰:"工欲善其事,必先利其器" Mac到底有啥好 相信大家或多或少都会碰到这种问题:Mac到底有什么好的,同样或者更低的价钱,我可以买一个配置更好的Windows电脑了。...Mac应用 Homebrew + cask Mac应用中最实用的工具,没有之一,它类似yum或者apt-get一样快速安装应用的功能,其中brew和brew cask的区别在于,brew install...xxx是安装源码,而brew cask install xxx是安装编译好的应用包,比如dmg。...漂亮的用户界面和非凡的功能,例如迷你地图,多选择,Python的插件,代码段,等等。完全可自定义键绑定,菜单和工具栏。...Navicat Premium Navicat Premium for mac是一个可多重连接的数据库管理工具,Navicat 的功能足以符合专业开发人员的所有需求,但是对数据库服务器的新手来说又相当容易学习
子曰:"工欲善其事,必先利其器" Mac到底有啥好 相信大家或多或少都会碰到这种问题:Mac到底有什么好的,同样或者更低的价钱,我可以买一个配置更好的Windows电脑了。...Mac应用 Homebrew + cask Mac应用中最实用的工具,没有之一,它类似yum或者apt-get一样快速安装应用的功能,其中brew和brew cask的区别在于,brew install...xxx是安装源码,而brew cask install xxx是安装编译好的应用包,比如dmg。...漂亮的用户界面和非凡的功能,例如迷你地图,多选择,Python的插件,代码段,等等。完全可自定义键绑定,菜单和工具栏。...写在最后 上述这些应用安装包怎么获取?大家可以自行上网下载,也可以发送关键字「Mac应用包」到公众号""木可大大"获取。
若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。...写在开头 在今年初,我就打算迁移我的博客了,主要原因是ueditor编辑器不支持go代码的高亮,所以打算换,但是由于本人比较懒,同时事情又多,就耽搁了下来 此次迁移,跨度半年,实际消耗了3,4天左右,使用到了...go,js,java,等语言技术栈等等,这个在后面会讲到 环境 服务器使用了腾讯云的2核2G4M轻量级应用服务器,3年800.找人返现了80 博客环境使用了oneblog https://docs.zhyd.me...= nil { log.Fatal(err) } //同步文章的标签 //根据文章的分类id,去获取文章的分类名,然后根据分类名关联标签表...// lines[index] = previousLine; } } str = lines.join("\n"); } // 输出修改后的字符串
背景 一些网站特别是以内容呈现为主的,经常会有图片的显示。一方面图片要懒加载,另一方面要设置图片占位以避免页面抖动。 懒加载的这篇文章先不说,先说下图片占位中,保持图片原始宽高百分比的问题。...图片原始宽高百分比,在英文里有个专有名词,Intrinsic ratio,在Google搜这个会出来很多文章的。...demo jsbin.com/copogub/edi… HTML 首先设定页面上图片的原始高度宽度是已知的,自然百分比也是已知的了 里面的$ratio为服务端渲染的变量,一般的4x3比率:75%,16x9...其中padding-top是控制百分比的关键,padding-top的百分比又是相对于宽度的,具体解释文章看这里 然后里面的图片用绝对定位来撑开 .main { display: inline-block...; /* 注意这里设置的是max-width,而不是width,以兼容小图片 */ width: 200px; .intrinsic { position: relative;
关于tsharkVM tsharkVM这个项目旨在构建一台虚拟机,以帮助广大研究人员分析tshark的输出结果。...虚拟设备是使用vagrant构建的,它可以使用预安装和预配置的ELK堆栈构建Debian 10。...; Kibana会在虚拟机中运行,可以通过“http://127.0.0.1:15601/app/kibana#/dashboards”访问; 工具安装-如何在Ubuntu桌面系统上构建虚拟机...映射模板,主要针对的是frame、eth、ip、udp、tcp、dhcp协议。...如需处理其他额外的协议,我们可以根据自己的需要并以下列方式映射模板: # 1.
JAVA输出的三种方式 JAVA循环输入 import java.util.Scanner; public class TestDemo4 { public static void main(String...- 利用辗转相除法 辗转相除法: 例如:a = 24 , b = 18 24 % 18 = 6 因为余数不等于0,所以我们可以把原来的除数变成被除数,余数变成除数,再进行计算. 18 % 6...= 0 当余数为0时,除数6就是它的最大公约数. public class TestDemo4 { public static void main(String[] args) {...比如: 15 ---> 0000 1111 4个1 tip:将n的二进制与上(n-1)的二进制,直到n=0为止 写法一: public class TestDemo4 { public...int n = 7; //初始化一个变量 count 计算按位与的次数(也就是1的个数) int count = 0; while(n !
, 52).First(&newData) //输出 //[0.773ms] [rows:1] SELECT * FROM `User` WHERE ID = 52 ORDER BY `User`....只打印慢查询 slowLogger := logger.New( //将标准输出作为Writer log.New(os.Stdout, "\r\n", log.LstdFlags...logger.Config{ //设定慢查询时间阈值为1ms SlowThreshold: 1 * time.Microsecond, //设置日志级别,只有Warn和Info级别会输出慢查询日志...logger.Warn, }, ) DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ Logger:slowLogger, }) //输出类似...age`,`is_admin`,`is_valid`,`login_time`) VALUES ('ball',0,true,false,'2021-05-14 11:36:28.436') 说明: 默认的SlowThreshold
这顿时激起了我的斗志,我决定拿它来练练手~ 初步侦察 我立马从PlayStore下载了这个应用程序,并以普通使用者的身份对它的可用功能进行了初步的了解。...这种应用程序的代码位于assets/index.android.bundle文件中; 该应用会要求授权许多敏感权限。 接着,我查看了values/strings.xml文件。 ?...漏洞利用 我创建了一个新的Android应用并添加了Firebase。具体操作可以参阅本指南。 在我的项目中有一个google-services.json文件,其中存储了所有Firebase设置。...在静态分析那部分我提到过,React Native应用程序的代码位于assets/index.android.bundle文件中。让我们来逆向它!...这段代码将会读取数据库的所有“rooms”,即“匹配”。 这里我编写了一个PoC,可用于验证Donald Daters应用程序数据库的脆弱性。
在我工作的第一个项目里,由于大家都是年轻人(Junior Consultant),我们实施了一系列的基础措施,来提升应用质量,诸如写测试、追求测试覆盖率、运行预提交脚本等等。...这篇文章大致可以分为这几个部分: Web 应用的质量问题 使用测试提升质量 使用 Lint 和 Git Hooks 检测代码 如何防范危险提交 那么,让我们继续回到老生常谈的 “Web 应用的质量问题...Web 应用的质量问题 Web 应用通常面临着上线和质量之间的博弈——只要不影响用户体验,小的 Bug 往往对于项目来说可以 “容忍” 的。这样一来说可以早些上线,实现用户价值。...而取决于这些变更的时间,它往往会影响到代码质量和开发速度——实现一个需求的时间越短,那么其测试的时间越短,Bug 出现的可能性就更高。过去我遇到过,今晚上线,下午临时改需求。...我们往往无法阻止别人做这样的事情,特别是当出现多个团队协作的时候。 难以防范的危险提交 原本,我想将标题取为 “有风险的提交”,但是我觉得危险的提交更为可靠。
更新: 在调试的时候可以把所在的类名、方法名、行数等相关信息也打印出来,更方便调试,更新一下宏定义 问题: 之前一直觉得用在调试的时候用NSLog无所谓,但是接口有很多坑的时候就需要非常多的打印,然后就越来越多的无用信息打印出来...,严重影响了后面的调试,而且只是希望在调试的时候打印,发布的时候不需要打印,然后就记得好像可以用宏定义来解决。...:表示宏定义的可变参数 // __VA_ARGS__:表示函数里面的可变参数 #ifdef DEBUG #define FuLog(...)...#endif ---- 使用: 在需要用NSLog()的地方可以用FuLog()替换,这样的话在Debug的模式就可以打印,在Release的模式下就不会打印 如何测试成不成功呢?
个人感觉这样实现都不是很合适,感兴趣的兄弟可以看一下我是如何使用的。 1....如何自定义注解 这个其实网络上的文章太多太多了,我这里就简单的说一下 @Target(ElementType.TYPE)//ElementType.TYPE表示可以用在类上,ElementType.METHOD...如何应用于实践呢 在1和2的两个步骤中,我们自定义了一个注解,也给他写了一个处理方法,如果是我们应用于自己的项目其实已经是没问题的,只要让ClassAnnotationAspect类被Spring管理就行了...比如说,我的很多bean,包括刚才说的ClassAnnotationAspect类都在在cn.org.zhixiang包和它的子包下,那么我就可以新建一个配置类 @Configuration@...ComponentScan(basePackages="cn.org.zhixiang")public class EnableSyjRateLimitConfiguration { } 当别人要使用我提供的服务时只需要这样引入即可
facerecognition的应用开发极为简单,只用几行 Python 命令行就可以轻松实现人脸识别应用,而且也提供了树莓派的支持。...cpuset cgroup_memory=1" echo $orig | sudo tee /boot/cmdline.txt sudo reboot 3、安装 Raspberry Camera ,我用的是...基于 examples/facereconraspberry_pi.py 我修改了一个面部识别应用供参考,其实现如下: # This is a demo of running face recognition...Docker镜像中,可以添加修改Dockerfile,我就不多说了。...最后来晒一下我的树莓派3配置,除了Camera之外还加装了一个液晶显示屏,通过GPIO驱动,可以方便地通过编程来显示CPU/Memory/温度等各种信息。 ?
前面我介绍了可以使用 Minify 这个工具和其 WordPress 插件对 CSS 和 JS 进行最小化压缩和合并,但是对于服务器输出的 HTML 代码,是否也可以进行压缩呢?...下面就是一个对 HTML 进行压缩的 PHP 函数: function wpjam_minify_html($html) { return preg_replace( $search...'\\1' ), $html ); } [/code] 对于 WordPress 博客来说,将上面的函数和下面的代码复制到当前主题的...functions.php 文件中,就可以实现输出页面 HTML 代码的压缩: [code] if(!
例如“abc”输出a,b,c,ab,ac,bc,abc #include void DFS(char str[],char ss[],int pos,int cnt,int n) {
大家好,又见面了,我是你们的朋友全栈君。 我的世界游戏中,/tp 玩家id,开启了作弊模式与朋友联机时可以使用,作用是传送到该玩家身边。...在命令方块中输入: /tp @a 坐标 (将全部玩家传送到该坐标,@a表示全部玩家,@p表示最近的玩家,@r表示随机玩家) /tp @e[type=生物的ID,name=你给生物取的名字] 坐标 服务器的...id (需要有op权限) /tpa 玩家id (请求传送到该玩家身边,需要该玩家需要输入tpaccept回复) /res tpa 某领地 (传送到某领地,要有领地插件) /spwan (回到出生点) 我的世界...《我的世界》是一款3D的第一人称沙盘游戏,所呈现的世界并不是华丽的画面与特效,而是注重在游戏性上面。...玩家在游戏中做着「建设」与「破坏」两件事,但是透过像乐高一样的积木来组合与拼凑,轻而易举的就能制作出小木屋、城堡甚至城市,但是若再加上玩家的想像力,空中之城、地底都市都一样能够实现。
领取专属 10元无门槛券
手把手带您无忧上云