作为一个开发者,应该都能理解一个网站从开发到上线,要经过很多繁琐的步骤。

编写代码,部署应用,部署数据库,申请域名,申请SSL证书,域名备案,到最终上线起码要几天时间。

作为一个不精通代码的业务玩家,当你想搞个网站玩玩时,经常会被淘宝贵得离谱的报价吓跑。

这两年Serverless的概念被炒得火热,顾名思义,“无服务”。今天的这篇文章,我想站在一个开发者的角度,带大家简单的体验下使用腾讯云Serverless来开发网站的整体流程。看看在Serverless的概念下,开发网站是不是变得更加简单了。

本文的主要内容:

  • Serverless概念解释
  • 3分钟部署一个网站
  • 10分钟开发一个在线RSS阅读小站
  • 腾讯Serverless Web Function的优缺点分析

我是蛮三刀,关注我的个人原创技术公众号:后端技术漫谈

首先放一个我部署好的RSS在线阅读器页面:

阅读全文 »

前言

各位读者,新年快乐,我是过了年匆忙赶回上海努力搬砖的蛮三刀。

Github之前更新了一个Action功能(应该是很久以前了),可以实现很多自动化操作。用来替代用户自己设置的自动化脚本(比如:钩子+Jenkins)。

由于平时根本不会有需求用到它,毕竟平时都在用公司的CI/CD流程,所以一直没有机会玩Action。

借着春节放假,就自己写个小Demo体验一下。

本文通过实现一个提交代码后自动执行Junit单元测试并输出测试报告的自动化流程小Demo,来快速上手Github Action。

Github Action 是什么?

如果你对Github Action完全没有概念,我推荐先去看一下CI/CD(持续集成/持续交付)的概念:

https://www.redhat.com/zh/topics/devops/what-is-ci-cd

Github Action官方文档中对自身的定义:

在 GitHub Actions 的仓库中自动化、自定义和执行软件开发工作流程。 您可以发现、创建和共享操作以执行您喜欢的任何作业(包括 CI/CD),并将操作合并到完全自定义的工作流程中。

阅读全文 »

前言

记录一次线上JVM堆外内存泄漏问题的排查过程与思路,其中夹带一些JVM内存分配机制以及常用的JVM问题排查指令和工具分享,希望对大家有所帮助。

在整个排查过程中,我也走了不少弯路,但是在文章中我仍然会把完整的思路和想法写出来,当做一次经验教训,给后人参考,文章最后也总结了下内存泄漏问题快速排查的几个原则。

本文的主要内容:

  • 故障描述和排查过程
  • 故障原因和解决方案分析
  • JVM堆内内存和堆外内存分配原理
  • 常用的进程内存泄漏排查指令和工具介绍和使用

文章撰写不易,请大家多多支持我的原创技术公众号:后端技术漫谈

阅读全文 »

前言

忙,是我这个月的主旋律,也是我频繁鸽文章的接口————蛮三刀把刀

公司这两个月启动了全新的项目,项目排期满满当当,不过该学习还是要学习。这不,给公司搭项目的时候,踩到了一个Spring AOP的坑。

本文内容重点:

  • 问题描述
  • Spring AOP执行顺序
  • 探究顺序错误的真相
  • 代码验证
  • 结论

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

码字不易,求个关注,欢迎关注我的个人原创公众号:后端技术漫谈(二维码见文章底部)

阅读全文 »

前言

大多数情况下,我们会在打印日志时定义日志的LOGGER级别,用来控制输出的信息范围。

一方面,过多的输出会影响查看日志的效率,另一方面,过少的日志让问题定位变得困难。

但当线上出现问题时,线上容器通常定义在info级别,发生一些疑难问题时,光靠info级别的日志很难定位问题。

一个典型的场景:在一些需要打印MySQL语句的场景,如果你正在使用MyBatis框架,由于MyBaits中SQL语句是DEBUG级别的信息,通常在线上容器就没法看到。

阅读全文 »

前言

本篇文章是我之前系列文章中的一篇,主要讨论了我们在平时的开发过程中,各大系统中都要用到的缓存数据的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给出了所有方案的实现代码方便大家参考。

本篇文章主要内容

  • 数据缓存
    • 为何要使用缓存
    • 哪类数据适合缓存
    • 缓存的利与弊
  • 如何保证缓存和数据库一致性
    • 不更新缓存,而是删除缓存
    • 先操作缓存,还是先操作数据库
    • 非要保证数据库和缓存数据强一致该怎么办
  • 缓存和数据库一致性实战
    • 实战:先删除缓存,再更新数据库
    • 实战:先更新数据库,再删缓存
    • 实战:缓存延时双删
    • 实战:删除缓存重试机制
    • 实战:读取binlog异步删除缓存

码字不易,只求关注,欢迎关注我的原创技术公众号:后端技术漫谈(二维码见文章底部)

阅读全文 »

前言

大家好,在下蛮咕咕(我是“鸽”王),好久不见啊。

最近我司已经放假过年了,在家里就不免会多逛一些“稀奇古怪”的网站,通过阮一峰的每周新闻,发现了一篇比较不错的英文文章。

里面的大部分观点我都比较认同,在这里做了一个比较接地气的翻译,分享给大家。

正文

在软件产业工作六年后,我对软件行业的一些想法发生了改变。

以下这些观点是我以前内心比较矛盾,但是现在坚信的事情:

  1. 当你工作在一个开发人员众多且拥有不同开发水平的小组中,使用强类型语言显然更为合适。
  1. 站会(敏捷开发中的站立会议)对于跟进团队中新手的进度来说,非常有用。
  1. 敏捷开发中的迭代复盘会,是有其意义的,前提是为了纠正过往迭代的失误(比如发现一些“这样做真蠢!”的故事),而不是在一些‘敏捷大师’的教条下,浪费大家的时间。
阅读全文 »

[toc]

开头

如果你看到了这篇文章,你可能已经已经翻阅了无数的centos安装python教程,可能都没有作用,甚至还把环境快搞报废了,网上有的教程实在是太不负责任!

阅读全文 »

crontab是Linux一个定时执行特定任务的程序,网上也有很多使用教程,在这里举一个例子,抛砖引玉。

为了运行.py,建议使用.sh脚本批量运行,并且在.sh内输出日志。

阅读全文 »