1.

还记得18年秋天,我研究生第二年,在繁忙的金九银十校招季里,我最常对别人说的一句话就是,尽管上海工作机会多,可我不想去上海工作。

“为什么不愿意选择上海呢?”,通常HR会在面试时候反问我。

“也没有什么特别的理由,就是感觉,在那里生活压力蛮大的。” 我话里也带着些许真诚,和无知。

当时的我对上海很熟悉吗?显然不熟。

我二十几年的人生中,去上海旅游的次数不是特别多,最重要的是,我根本没有在上海长时间生活过。

那我为啥就觉得不想去上海呢,这个问题,问任何一个人都能回答出两句:

“你看上海,生活压力多大啊,买房压力大啊,天天上班挤地铁,上下班都要几小时,这生活肯定没意思啊。

2017年摄于陆家嘴,出国留学前

2.

但是我等凡人终归抵不过人类的三大本质,打了自己的脸。

经过一系列阴差阳错,我最终还是来了上海,开启了我的工作生涯。

刚到上海,高高在上的租房价格和物价,20一碗的阳春面,30都吃不饱的午饭,和想象中的一模一样呢~

原来上海真的和想象中的也差不离。

但是初入职场的忙碌和热情,让我也无暇顾及这些感受,只求一门心思的好好工作。

所以,你说上海能过日子吗?也能过。

我租的房间离公司近,不用挤好几个小时的地铁,上下班体验还不错。

人们一旦适应了一个环境,最后总归会陷入这个环境,并“享受”它,很难逃离。

阅读全文 »

什么是微服务网关

SpringCloud Gateway是Spring全家桶中一个比较新的项目,Spring社区是这么介绍它的:

该项目借助Spring WebFlux的能力,打造了一个API网关。旨在提供一种简单而有效的方法来作为API服务的路由,并为它们提供各种增强功能,例如:安全性,监控和可伸缩性。

而在真实的业务领域,我们经常用SpringCloud Gateway来做微服务网关,如果你不理解微服务网关和传统网关的区别,可以阅读此篇文章 Service Mesh和API Gateway关系深度探讨 来了解两者的定位区别。

以我粗浅的理解,传统的API网关,往往是独立于各个后端服务,请求先打到独立的网关层,再打到服务集群。而微服务网关,将流量从南北走向改为东西走向(见下图),微服务网关和后端服务是在同一个容器中的,所以也有个别名,叫做Gateway Sidecar。

为啥叫Sidecar,这个词应该怎么理解呢,吃鸡里的三蹦子见过没:

摩托车是你的后端服务,而旁边挂着的额外座椅就是微服务网关,他是依附于后端服务的(一般是指两个进程在同一个容器中),是不是生动形象了一些。

由于本人才疏学浅,对于微服务相关概念理解上难免会有偏差。就不在此详细讲述原理性的文字了。

本文只探讨SpringCloud Gateway的入门搭建和实战踩坑。 如果小伙伴们对原理感兴趣,可以等后续原理分析文章。

注:本文网关项目在笔者公司已经上线运行,每天承担百万级别的请求,是经过实战验证的项目。

文章目录

  • 手把手造一个网关
    • 引入pom依赖
    • 编写yml文件
    • 接口转义问题
    • 获取请求体(Request Body)
  • 踩坑实战
    • 获取客户端真实IP
    • 尾缀匹配
  • 总结

源代码

完整项目源代码已经收录到我的Github:

https://github.com/qqxx6661/springcloud_gateway_demo

阅读全文 »

image.png

大家好,我是蛮三刀。今天,我们来讨论一个非常有趣的话题,赛博朋克。

本篇文章为独家原创稿件,转载请联系作者授权。公众号:蛮三刀酱

要说2020年,最出圈的游戏,还要属赛博朋克2077,且不论游戏本身质量如何,它实实在在让赛博朋克这个词火了一阵子,甚至还火出了圈外。

image.png

在游戏发售日前后,赛博朋克频繁登上微博热搜。

image.png

对于大多数人,可能看到这个词,第一反应觉得这个词有点酷,有点炫之外,总是会发出灵魂的一问,赛博朋克是什么?

阅读全文 »

前言

2020年11月11日双十一上午,苹果发布了M1芯片的新款Mac,其最大的变化就是将处理器从Intel换成了苹果自研的ARM芯片M1。

上一次苹果更换Mac芯片要追溯到2006年,14年前,苹果选择从PowerPc转向Intel,事实证明当时的换代给Mac带来了性能的大幅提升,是一次正确的选择。

时隔14年,苹果再一次选择了更换芯片,摆脱了如日中天的x86架构Intel芯片,拥抱移动时代崛起的ARM架构。毕竟,苹果在手机和平板的A系列芯片上投入了太多精力和心血。

本篇文章是我个人购买的MacBook Pro M1 16G+512G版本使用体验和总结,在拿到电脑的一周里,我尽量把这台笔记本作为我的主力开发机,尝试了许多软件,当然也包括后端开发常用的工具,希望给大家带来一些关于新芯片MacBook的使用感受和理解,最后我也会和大家聊聊我的想法以及这代Mac的购买建议。

本文目录如下:

  • M1芯片给Mac带来了什么
    • 插电源?不存在!
    • 风扇是什么?不需要!
    • IOS应用,大杀器!
    • 其他特点
  • M1芯片软件兼容性测试
    • 编码相关软件
    • 日常使用软件
  • 一些吐槽与不满
  • 我的想法和购买建议

本文阅读大概需要:5~10分钟

码字不易,欢迎关注我的个人公众号:后端技术漫谈

让我们开始…

在购买新笔记前,我一直是一位Windows用户,办公时也用着Windows笔记本外接24寸Dell显示器使用。

Win10的强大软件兼容性和丰富的游戏生态让我对苹果的Mac系列一直不感兴趣。(主要是价格太贵,果断不感冒了)

不过最近几个月,我也开始使用公司的MacBook Pro,原因很简短,我需要一台可以随时背回家,拿上床使(jia)用(ban)的笔记本。要达到这个目的,就要满足两个要求:

  • 第一,续航要长:带回家的笔记本,最好是能塞进包里就走,不要背电源线回家。
  • 第二,触摸板要好用:在床上没法很好的用鼠标,所以所有的操作都要在触摸板上完成。

也许有不少的Windows笔记本可以满足第一点要求,但是满足第二点要求的WinWindows笔记本却很少,Mac的触摸板让我感觉到能用,并且舒适,这是别家笔记本目前很难做到的。

购买这台Mac前,我也去华为、小米和联想的店里摸了摸几款他们各自的旗舰超薄本,不得不说他们的触摸板还是和Mac有很大差距,要么非常小,要么不流畅。当然,也和MacOs对于触摸板的优化有关。

阅读全文 »

前言

又和大家见面了!又两周过去了,我的云笔记里又多了几篇写了一半的文章草稿。有的是因为质量没有达到预期还准备再加点内容,有的则完全是一个灵感而已,内容完全木有。羡慕很多大佬们,一周能产出五六篇文章,给我两个肝我都不够。好了,不多说废话了…

最近在线上环境遇到了一次SQL慢查询引发的数据库故障,影响线上业务。经过排查后,确定原因是SQL在执行时,MySQL优化器选择了错误的索引(不应该说是“错误”,而是选择了实际执行耗时更长的索引)。在排查过程中,查阅了许多资料,也学习了下MySQL优化器选择索引的基本准则,在本文中进行解决问题思路的分享。本人MySQL了解深度有限,如果错误欢迎理性讨论和指正。

在这次事故中也能充分看出深入了解MySQL运行原理的重要性,这是遇到问题时能否独立解决问题的关键。 试想一个月黑风高的夜晚,公司线上突然挂了,而你的同事们都不在线,就你一个人有条件解决问题,这时候如果被工程师的基本功把你卡住了,就问你尴不尴尬…

本文的主要内容:

  • 故障描述
  • 问题原因排查
  • MySQL索引选择原理
  • 解决方案
  • 思考与总结

请大家多多支持我的原创技术公众号:后端技术漫谈

阅读全文 »

前言

大家好,我是 刚进入春天还没来得及踏青又开始从早忙到晚的 蛮三刀。去年给大家带来了一篇比较详尽的MacBook M1评测。评测经历了全网的热情转载,成为了我唯一的一篇爆款文章(我该哭还是该笑!)。

上一期评测在这里:

《一枚程序猿的MacBook M1详细体验报告》

然后,今年春节一过,公司决定给大家一人一台MacBook M1,而且还同样是16G版本的,大家领电脑的那天,我的内心五味杂陈。

本篇文章算是一次M1评测番外篇吧。主要来感受一下MacBook M1芯片下使用Windows10虚拟机的体验如何。

文章目录如下:

  • 虚拟机视频演示
  • Parallels Desktop 是何方神圣?
  • 畅玩国服LOL?
  • Mac安装Win10虚拟机手把手教学
  • 在Mac安装Win10,我图的是什么?

本文阅读大概需要:3分钟

码字不易,欢迎关注我的原创公众号:后端技术漫谈

阅读全文 »

2021,我们继续奔跑。

大家好,我是蛮三刀。好久不见了。

2021年,就在这忙碌的日子下,悄然而至。

回首2020年,注定是一个载入历史的年份。

甚至能想象到若干年后的人类历史教科书上,后人需用多大的篇幅,来描述和评价这一年发生的事。

1. 疫情

拍摄于2020年2月,常州高铁站

这一年,小到我们每个人的日常生活,大到国家,乃至人类文明,都被疫情深深的影响了。

我不是个小粉红,也很少在网上讨论敏感话题。但是今年,我们国家还是向世界展示了这个民族集体作战的能力。当然,这其中也夹杂了很多负能量的事,但是总的来说,国内依然是目前最有安全感的地方。

有老粉可能会知道,我2017年在美国留学,美国作为世界的“灯塔国”,在几乎各个方面都是领先中国的,这种感觉在留学时,就非常明显。

记得当时留学期间,还出现了著名的“美国的空气都是甜的”这种有名的留学生新闻。且不说真的空气质量到底好不好,美国在很多方面,相较于国内,是实打实的领先的。

但是在2020年,川普证明了他的离谱,在他的带领下,美国人民的2020年,真的是水深火热的一年,也暴露出了非常多的潜在问题。

相信在这样的背景下,更多的留学生会选择回到国内,毕竟现在国内各行各业依然在发展,就算短时间内没法全面超越老美,并且发展速度也收到经济的限制,但依然拥有全世界最多的机遇。

毕竟,《流浪地球》里的那句话怎么说来着:

希望,是这个世界上最宝贵的东西。

阅读全文 »

编程本质上是一门手艺活,既然是手艺,里面就会有很多个人技巧和经验。

“破窗理论”,DRY(Don’t repeat yourself),曳光弹,正交性,这些词的意思是什么你还记得么?

《程序员修炼之道》这本书在我看来就是一本师傅写给徒弟的开发哲学指南

里面既讲了一些软件开发的哲学,比如破窗理论,它解释了你的代码为什么很快就会变成“屎山”。也讲了一些有用的技巧和工具,比如如何利用好shell,提升你的编程效率。

这本书没有复杂的代码,没有晦涩难懂的原理,你完全可以当作一本闲书来看

这本书里提到的看似人人都懂的道理,恰恰是很多码农们平常工作中最不重视,却应该去遵守的理念。

我提炼了一些书中我觉得至今仍然没有过时的观点(毕竟本书有一定的年头了,读起来很有年代感),和大家分享下,这中间也夹杂着一些我的看法和思考

一、开发的哲学

  1. 作为开发,你需要对自己说的话负责。对于不可能做到,风险太大的事情,你有权不去为之负责。

  2. 不要给做不到找借口,在你说做不到的时候,要提供你的想法,告诉大家,做不到的原因是需要重构,还是需要时间做原型,还是需要额外的资源支持。

阅读全文 »