工程师
普通网友
这个作者很懒,什么都没留下…
展开
-
聊聊skywalking的lettuce-plugin
skywalking-plugin.defskywalking-6.6.0/apm-sniffer/optional-plugins/lettuce-5.x-plugin/src/main/resources/skywalking-plugin.deflettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5.define.AbstractR...原创 2020-03-14 11:16:20 · 437 阅读 · 0 评论 -
iOS UIImagePickerController上载后结果图像方向
我正在iOS 3.1.3 iPhone上测试我的iPhone应用程序。 我正在使用UIImagePickerController选择/捕获图像:UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];[imagePicker setSourceType:UIImagePickerControll...原创 2020-03-14 11:15:45 · 193 阅读 · 0 评论 -
打造自己的UI库--分割线篇
顾名思义,为了达到更好的阅读效果,合理地对内容进行分割,这就是分割线。我们来看下今天要开发的几种分割线的实际效果:大体就是:普通分割线垂直分割线文字分割线虚线分割线以及以上分割线的组合使用定义props看看我们定义了哪些props来完成以上的几个功能:props: {// 水平或者垂直type: {type: String,default: “horizontal”},...原创 2020-03-06 19:28:34 · 714 阅读 · 0 评论 -
从此以后运维与开发过上了没羞没臊的性福生活
你可能会疑惑为什么是一堆,因为我不是一个人,我只是众多控制器中的一员,你也可以把我看成是众多控制器的集合。我的职责就是监控集群内资源的实际状态,一旦发现其与期望的状态不相符,就采取行动使其符合期望状态。想当初,Kubernetes 老大哥创造我时,只是打算让我用控制循环简单维护下资源的状态。但我后来的发展,远远超出了他的想象。控制循环所谓控制循环就是一个用来调节系统状态的周期性操作,在 K...原创 2020-02-26 21:36:27 · 827 阅读 · 0 评论 -
从浏览器跳转到前端框架的路由实现
还记得jquery时代吗,那时前端三大框架还没流行,前端开发者疯狂查着jquery的API文档来进行dom操作,还记得这个地址吗 jquery.cuishifeng.cn/ 是不是很有感觉!(想了解前端历史的,请看我这篇文章前端技术发展 juejin.im/post/5cc6b5…记得在学校里刚开始写网页的时候,只是对JavaScript学了个大概,然后就开始学jquery进行网页开发了。如果...原创 2020-02-26 21:34:54 · 451 阅读 · 0 评论 -
没有内存,怎么还能跑程序呢
主存(RAM) 是一件非常重要的资源,必须要小心对待内存。虽然目前大多数内存的增长速度要比 IBM 7094 要快的多,但是,程序大小的增长要比内存的增长还快很多。正如帕金森定律说的那样:不管存储器有多大,但是程序大小的增长速度比内存容量的增长速度要快的多。下面我们就来探讨一下操作系统是如何创建内存并管理他们的。经过多年的探讨,人们提出了一种 分层存储器体系(memory hierarchy),...原创 2020-02-26 10:56:16 · 211 阅读 · 0 评论 -
80%程序员不了解的调试技巧
今天我们来谈谈调试代码的一些技巧,在使用IDE提供的debugger时一些快速定位问题的方式。看到这里的朋友,不要马上认为我标题党,再往下看看,如果你还有一些更好用的技巧,欢迎留言。1.多线程调试开发过多线程应用的朋友应该有体会,有些时候,为了观察多个线程间变量的不同状态,以及锁的获取等,就会想到在代码里加个断点debug一下。在IDE里断点停下来的时候,可以切换到另外的线程中,跑其他的代...原创 2020-02-26 10:52:48 · 143 阅读 · 0 评论 -
Go中的time操作
程序开发中,时间操作是不可避免的,在这里记录一下Go中常见的操作。DurationGo中的时间最底层的数据结构为Duration, 在Duration的基础上,我们定义了下面的概念:const (Nanosecond Duration = 1 // 纳秒,计算Duration的是使用nsMicrosecond = 1000 * Nanosecond 微秒,计算Duration的是使用us...原创 2020-02-25 11:16:48 · 1330 阅读 · 0 评论 -
Antd Vue 表单生成快速开发指南
之前发布了一款基于Element的表单设计器,可以快速设计和生成表单,设计器地址:form.xiaoyaoji.cn/。现在我可以告诉大家,Antd表单支持来了,可以使用设计器设计好表单后,快速生成Antd表单,提供了强大的Api操作。接下来就来看看如何快速生成表单:引入 Ant Design Vuenpm install ant-design-vue -S复制代码import Antd ...原创 2020-02-25 11:15:38 · 944 阅读 · 0 评论 -
Android必知必会的四大组件 -- Service篇
写着一篇文章的原因,主要是因为在面试中,服务这个关键词的出现频率非常高。很多时候,面试官会问你,Service中能否进行耗时操作? 我们稍后就会揭晓那么这个答案。思维导图生命周期由图中可以直观的看出几点。启动方式存在方式startService()独立于Activity运行,自行结束或被叫停bindService()绑定于Activity运行,Activity结束时,会被叫停涉...原创 2020-02-25 11:14:05 · 188 阅读 · 0 评论 -
自我、价值、未来与LuLu UI
我经常会思考这样一个问题,宇宙之大,生命之少,我们每个人能够出现在这个世界上都是一个奇迹。如果每一天我们都是做些重复的事情,没有做有挑战的事情,没有做打破常规的事情,没有做引领方向的事情,赋予我们的奇迹岂不是一种莫大的浪费?二、一叶蔽目不见泰山人的认知和决策非常容易收到接触到的信息影响。世界是巨大的,行业是广阔的,但是在前端行业说话的那些人是只是其中的一小部分。这些有话语权的人多大厂背景,多人团队...原创 2020-02-24 20:12:26 · 264 阅读 · 0 评论 -
将Spring Boot应用程序注册成为系统服务
在之前的文章中,我们提到了很多Spring Boot的技巧,那么当我们创建好了Spring Boot应用程序之后,怎么在生成环境中运行呢?如果只是以原始的java -jar 的方式来运行的话,不能保证程序的健壮性和稳定性,最好的办法是将程序注册成为服务来使用。本文将会讲解如何将Spring Boot应用程序注册成为Linux和windows的服务。前期准备首先我们需要将应用程序打包成为一个可...原创 2020-02-24 12:17:24 · 135 阅读 · 0 评论 -
避开NullPointerException的10条建议
NullPointerException应该是 Java 开发中最常出现的问题,也是 Java 程序员最容易犯的错误。虽然看起来是个小错误,但带来的影响却不小,Tony Hoare(null 引用的发明者)在 2009 年说过 NPE 大约给企业造成数十亿美元的损失。在这工作半年内,我就踩了好几次 NPE 的坑。举个例子,我需要在原有逻辑上加一段代码,而新加的代码报错抛出了 NPE,同时又没做异常...原创 2020-02-23 20:31:03 · 234 阅读 · 0 评论 -
响应式原理-vue源码动手写系列
1️.准备工作目录结构├── public│ ├── index.html // 模版文件├── src│ ├── index.js // 测试页面├── source│ ├── vue // vue代码├── webpack.config.js复制代码配置resolve让项目中import Vue from 'vue’指向source目录的vue。// webp...原创 2020-02-23 13:45:00 · 309 阅读 · 0 评论 -
tomcat-CNVD-2020-10487-漏洞处理
2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身...原创 2020-02-21 21:21:28 · 1562 阅读 · 0 评论 -
故障分析 | binlog flush 失败导致的 Crash
某项目上出现 MySQL Crash,相关 errorlog 日志如下,从日志可以看出是 binlog error 导致的问题,但是无法确认具体原因,网上大部分资料都说是由于空间已满导致,后来在系统日志(/var/log/message)中确实找到了 / 分区空间已满的信息,所以基本可以确认 binlog error 是由于磁盘空间已满导致,进而造成 MySQL Crash。2019-09-24...原创 2020-02-21 21:19:02 · 1454 阅读 · 0 评论 -
协同办公风口来袭,在线文档顺势崛起!
疫情过后复工在即,预计疫情带来的影响还将持续一段时间。面对此类重大突发事件,企业该如何通过数字化转型,借助信息化系统转危为机?前文提要通过此前在《远程办公,即将开启企业办公的全新时代!》文章中的分析,可以预测:受本次疫情影响,企业数字化转型的步伐会持续加快,信息化系统的应用会持续加深,企业协同办公的需求亦会日益剧增,具体体现在两个方面:更加多元化的业务场景需求,和可满足不同场景的信息化系统。...原创 2020-02-20 22:02:02 · 144 阅读 · 0 评论 -
多线程——系列六
volatile 关键字的作用(变量可见性、禁止重排序)Java 语言提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程。volatile 变量具备两种特性,volatile 变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取 volatile 类型的变量时总会返回最新写入的值。变量可见性其一是保证该变量对所有线程可见,这里的可见性指...原创 2020-02-20 22:01:10 · 144 阅读 · 0 评论 -
System.err.println与System.out.println的区别
System.err:标准错误输出流,此流已打开并准备接受输出数据,通常此流对应于显示器或者由主机环境或者用户指定的另一个输出目标。按照惯例,此输出流用于显示错误信息,或者显示那些即使用户输出流已经重定向到通常不被连续监视的某一文件或者其他目标,也应该立刻引起用户注意的其他信息。System.out:标准输出流,此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另...原创 2020-02-20 21:59:13 · 592 阅读 · 0 评论 -
数据结构——30行代码实现栈和模拟递归
原本今天想给大家讲讲快速选择算法的,但是发现一连写了好几篇排序相关了,所以临时改了题目,今天聊点数据结构,来看看经典并且简单的数据结构——栈。栈这个结构我想大家应该都耳熟能详,尤其是在很多地方将和堆并列在一起,称作“堆栈”就更广为人知了。但其实堆和栈本质上是两种不同的数据结构,我们不能简单地混为一谈。让我们先从比较简单的栈开始。栈和队列的本质其实都是数组(严格地说是线性表)。只不过我们在数组上...原创 2020-02-20 11:43:37 · 114 阅读 · 0 评论 -
如何防范误植攻击
除了常规手段以外,网络罪犯还会利用社会工程的方式,试图让安全意识较弱的人泄露私人信息或是有价值的证书。很多网络钓鱼骗局的实质都是攻击者伪装成信誉良好的公司或组织,然后借此大规模传播病毒或恶意软件。误植Typosquatting就是其中一个常用的手法。它是一种社会工程学的攻击方式,通过使用一些合法网站的错误拼写的 URL 以引诱用户访问恶意网站,这样的做法既使真正的原网站遭受声誉上的损害,又诱使用...原创 2020-02-20 11:40:16 · 174 阅读 · 0 评论 -
iOS App 的最佳架构,存在么?
前一段时间,我偶然发现了有关 iOS 体系结构模式的文章,标题颇具挑衅性:“唯一可行的 iOS 架构”。标题中问题的答案实际上是 MVC。简而言之,MVC 是 iOS 应用程序唯一可行的也是最好的架构。该文章的主要思想是人们只是以错误的方式去理解 MVC。该 ViewController 实际上是表示层的一部分,而 Model 部分则代表整个 Domain Model,而不仅仅是某些数据实体。总...原创 2020-02-19 10:47:46 · 206 阅读 · 0 评论 -
MyBatis源码解析(一)——构造篇
好久不见,从上一篇文章过后,休整了两个月,又逢疫情特殊时期,天天宅在家里挺尸,真是见证了一个人可以懒惰到什么境界。好吧废话不多说了,今天会给大家分享我们常用的持久层框架——MyBatis的工作原理和源码解析。说实话MyBatis是我第一个接触的持久层框架,在这之前我也没有用过Hibernate,从Java原生的Jdbc操作数据库之后就直接过渡到了这个框架上,当时给我的第一感觉是,有一个框架太方便...原创 2020-02-18 20:29:34 · 152 阅读 · 0 评论 -
分布式与集群的区别是什么?
在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这...原创 2020-02-18 20:25:47 · 158 阅读 · 0 评论 -
优雅地管理 loading 界面和标题栏
现在绝大多数 App 都需要请求网络数据,loading 动画必不可少,而网络请求会存在失败的情况,所以通常有 loading 页面也会有加载失败或者别的页面。这些页面的样式大多时候是统一的,一般会想到的处理方式是把这些界面 include 到一个布局里,然后通过显示隐藏的方式来切换所需的视图。不过总是会写很多重复代码,可能会想到把这部分切换的逻辑抽取到 Activity 基类中或者抽取到一个自...原创 2020-02-18 19:37:39 · 275 阅读 · 0 评论 -
使用IDEA详解Spring中依赖注入的类型
在Spring中实现IoC容器的方法是依赖注入,依赖注入的作用是在使用Spring框架创建对象时动态地将其所依赖的对象(例如属性值)注入Bean组件中。Spring框架的依赖注入通常有两种实现方式,一种是使用构造方法注入,另一种是使用属性的setter方法注入。使用构造方法注入Spring框架可以采用Java反射机制,通过构造方法完成依赖注入。创建项目及导入Maven模块过程请看《使用ID...原创 2020-02-18 19:34:01 · 436 阅读 · 0 评论 -
上次送女神死亡芭比粉口红后,我痛定思痛
今天是一年一度的情人节。都说女生的梳妆台上永远缺一支口红,在这个时候,给心仪的女神送一支适合她的口红,表达自己的想念之情准没错。想到女神收到口红后欣喜的样子,还真有点小激动呢!作为技术直男,怎样挑选色号才能不出错呢?上次送女神死亡芭比粉的翻车经历还历历在目。为此,在这段宅家的日子里,小编痛定思痛,制作出了一款口红分析神器:计算机根据女神的照片,自动识别其唇色,从而帮她挑选与唇色最匹配的口红色号。...原创 2020-02-14 20:56:07 · 334 阅读 · 0 评论 -
年底面试之JavaScript总结(用心收集)
1.如何理解 JS 中的this关键字?this表示当前对象,this的指向是根据调用的上下文来决定的,默认指向window对象。全局环境:全局环境就是在里面,这里的this始终指向的是window对象。局部环境:1.在全局作用域下直接调用函数,this指向window。2.对象函数调用,哪个对象调用就指向哪个对象。3.使用 new 实例化对象,在构造函数中的this指向实例化对象。...原创 2020-02-14 20:55:12 · 128 阅读 · 0 评论 -
useRequest-蚂蚁中台标准请求 Hooks
useRequest 是一个超级强大,且生产完备的网络请求 Hooks,目前已经成为蚂蚁中台最佳实践内置网络请求方案。在蚂蚁内部中台应用,写网络请求,都推荐用 useRequest。useRequest 可能是目前社区中最强大,最接地气的请求类 Hooks 了。可以覆盖 99% 的网络请求场景,无论是读还是写,无论是普通请求还是分页请求,无论是缓存还是防抖节流,通通都能支持。只有你想不到,没有它...原创 2020-02-14 20:53:39 · 2577 阅读 · 0 评论 -
Streams:深入理解Redis5.0新特性
相较于Redis4.0,Redis5.0增加了很多新的特性,而streams是其中最重要的特性之一。streams是redis 的一种基本数据结构,它是一个新的强大的支持多播的可持久化的消息队列,在设计上借鉴了kafaka。streams的数据类型本身非常简单,有点类似于hash结构,但是它的额外特性异常强大且复杂:支持持久化。streams能持久化存储数据,不同于pub/sub机制和list ...原创 2019-12-04 20:31:49 · 138 阅读 · 0 评论 -
package.json 详解
Node 项目在项目根目录中名为 package.json 的文件中跟踪依赖关系和元数据。这是你项目的核心。它包含名称、描述和版本之类的信息,以及运行、开发以及有选择地将项目发布到 NPM 所需的信息。在本教程中,我们将:了解 package.json 与项目之间的关系确定重要字段和元数据了解如何管理 package.json目标了解什么是 package.json 文件,它与你项目的...原创 2019-11-28 20:35:31 · 360 阅读 · 0 评论 -
消息队列助你成为高薪的 Node.js 工程师
为什么写这篇文章现在的面试要求越来越高了,打开看了看几个BOSS招聘 Node.js 全栈开发的,其中都有一条“了解消息队列,并在项目中应用过”,呜呜呜后端开发者应该都知道消息队列,但是一些前端开发者可能知道的并不多,但是你们可能好奇抢票,商品秒杀等功能是如何实现的,其实没有多么高大上,看了消息队列就知道了。文章导图(你能学到)作者简介:koala,专注完整的 Node.js 技术栈分享,...原创 2019-11-23 20:47:41 · 160 阅读 · 0 评论