简单的面试题目,大跌眼镜的结果(JAVA)
大老远跑来面试,总不能聊几句就走人吧。碍于情面,起码也得聊上十几分钟。招聘高峰这种情况尤甚,浪费你我时间。所以越来越多的组织会采用电话面试的方式,进行初步筛选。 题目难度一再降低,结果却大跌眼镜,HR都哭了。以下是一个简单统计,样本几百人不等,能够全部答上来的,不超过10%。 …
使用expect实现自动2步登录
以前的公司,由于机器太多太多,使用了跳板机。it觉得仅证书系统不够安全,所以开启了二次验证。 也就是每次登陆,都要Google Authenticator中的动态令牌。 但我不想每次登陆机器都输入这个动态密码。 expect命令可以实现自动交互式任务,自动输入一些信息,无需人为…
Linux生产环境上,最常用的一套“Sed“技巧
sed命令应用广泛,使用简单,是快速文本处理的利器。它其实没多少技巧,背诵、使用是最合适的学习渠道,属于硬 技能。但它又很复杂,因为高级功能太多。本篇不去关注sed的高级功能,仅对常用的一些操作,进行说明。 随着使用,你会发现它和vim的一些理念是想通的,正则表达式的语法也基本…
到处是map、flatMap,啥意思?
更多精彩文章。 最近入职一个有趣的年轻同事,提交了大量大量的代码。翻开git记录一看,原来是用了非常多的java8的语法特性,重构了代码。用的最多的,就是map、flatMap之类的。 但是其他小伙伴不愿意了,虽然有的人感觉代码变的容易懂了,但有更多的人感觉代码变的很晦涩。 那…
程序员画像,十年沉浮
十年,转瞬即逝,人生进入下半场。众生皆苦,万相本无。且看风云变幻,慢品苦辣酸甜。小姐姐味道微信公众号首发。 更多精彩文章。 小胡很久没有笑过了。他在房价的次高点买了套超出自己承受能力的房子,紧接着老婆失业了,失业以后脾气变得特别的不好。 他每天都下班很晚,最近终于鼓足勇气换了份…
如何实现类似 lodash 的 get 与 merge 函数
lodash 基本上成为了写 javascript 工具库的标配,它广泛应用在各种服务端以及前端应用中,但是它的包体积略大了一些。对于服务端来说,包的体积并不是十分的重要,或者换句话说,不像前端那样对包的体积特别敏感,一分一毫都会影响页面打开的性能,从而影响用户体验。 正因为前…
【教程】如何做apm客户端(关键字:Zipkin、Jaeger、SkyWalking、OpenTracing)
随着微服务架构的流行,一次请求往往需要涉及到多个服务,因此服务性能监控和排查就变得更复杂。APM因此而生。 目前,市面上的APM服务端已经有了非常多的实现。比如Zipkin、Jaeger、SkyWalking、Elastic APM等(Pinpoint并不支持OpenTraci…
[jaeger] 四、微服务之调用链(Feign+SpringCloud)
终于到了我们的重点,微服务了。 与使用OkHttp3来实现的客户端类似,Feign接口本来也就是一个Http调用,依然可以使用Http头传值的方式,将Trace往下传。 本文更多的是关于SpringCloud的一些知识,你需要了解一些基本的Spring相关的知识。 Spring…
[jaeger] 三、实现一个分布式调用(OkHttp+SpringBoot)
很多情况,trace是分布在不同的应用中的,最常用的远程调用方式就是Http。 在这种情况下,我们通常通过增加额外的Http Header传递Trace信息,然后将其组织起来。 本部分通过构建一个目前最火的SpringBoot服务端,然后通过OkHttp3进行调用,来展示分布式…
从数据库到前端,使用 enum 代替 constant number
在我经历过的几个以node为主的后端项目中,都有一个文件 constant.js。顾名思义,里边保存着各种常量,而大多是字符串与数字的对应关系。 但是在实际工作中,根据数字来调试相当费劲,先不说后端代码中 where (status === 1) 这种可避免的神奇操作。(PS:…
[jaeger] 二、客户端使用 (Java版本)
本文通过两个简单的示例,说明如何使用java的api构建一个简单的调用链。更多连载请关注《小姐姐味道》。相关代码见github。 由于jaeger是基于OpenTracing的,所以只要你的应用支持OpenTracing协议,就可以和Jaeger集成起来。 接下来我们开动双手吧…
[登录那些事] 邮件发送,限流,漏桶与令牌桶
前段时间,我使用了 jwt 来实现邮箱验证码的校验与用户认证与登录,还特别写了一篇文章作为总结。 在那篇文章中,提到了一个点,如何限速。 在短信验证码和邮箱验证码,如果不限速,被恶意攻击造成大量的 QPS,不仅拖垮了服务,也会心疼如水的资费。鉴于君子固穷的原则,在我的邮箱服务里…
一个吃货来说明Spring Boot与Spring cloud 是什么关系
虽然知道用交通管理来说明更加符合实际,但我还是要拿做一桌菜来说明。谁让我是个吃货呢哈哈。 昨天晚上,家里来了客人,我想亲自做一桌菜。比如欧阳茄子、诸葛萝卜、令狐鲤鱼之类的。 然后用我锋利的瑞士军刀把菜切的整整齐齐。我是练家子,所以切的很6 这些步骤中,都有具体的细节。比如调料,…
[jaeger] 一、安装和部署
支持OpenTracing的server端有很多,我们总要选一个。在这里,选用jaeger。 jaeger的开发较为活跃,支持的客户端实现也较多。由于采用了golang开发,发行包也比较简洁。 jaeger是二进制发行包,使用wget下载即可,这里以linux版本为例。 增加执…
json web token 实践登录以及校验码验证
去年我写了一篇介绍 jwt 的文章。 文章指出如果没有特别的用户注销及单用户多设备登录的需求,可以使用 jwt,而 jwt 的最大的特征就是无状态,且不加密。 除了用户登录方面外,还可以使用 jwt 验证邮箱验证码,其实也可以验证手机验证码,但是鉴于我囊中羞涩,只能验证邮箱了。…
使用纯 CSS 实现仿 Material Design 的 input 过渡效果
以前一段时间,基于对 next 与 graphql 的调研,再加上本人的兴趣,我做了一个站点,也作为我以后各种技术折腾,实践以及兴趣交汇的试验田。 最近我需要在我的实验田使用 jwt 实践校验码的功能。校验码,就是指注册时邮箱或者短信的校验码。需要校验码则需要有登录注册,而在登…
冷门instrument包,功能d炸天
5版本以后,jdk有一个包叫做instrument,能够实现一些非常酷的功能。市面上一些APM工具,就是通过它来进行的增强。 这是基础架构的必备技能,但对业务开发来说并不是。许多面试会问到这个知识点,并不是因为将来会用到,而是因为你说对jdk比较熟悉,他想杀杀你的威风。 不会用…
callback(data)
在ajax success:function(data){ callback(data); 作用是什么}
一句话设计模式,不再迷路~
Simple Factory,是由一个工厂对象决定创建出哪一种产品类的实例,是工厂模式家族中最简单实用的模式。 Factory Method,定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。为了遵循扩展开放,修改关闭原则,将简单工厂类…
余额,危险的操作,给996留点福报
想象一下你在一个月黑风高的夜晚,大概是10点多钟的样子,加班归来,打算到小卖部弄盒烟抽。 夜凉风急,你用力裹了下被风鼓起的外套。 那里有你暗恋的收银姑娘。 没日没夜的工作,只有这十几分钟,能让你感到些许生活的意义。 从羞涩的钱包里翻出仅存的一张百元大钞,结账。然后用颤抖的双手接…