Stella981 Stella981
4年前
Docker学习笔记
docker通过带环境安装来解决开发和运维之间的鸿沟问题,属于云计算方面的技术。也就是说安装的时候把原始环境一模一样地复制过来,开发人员利用Docker来消除协作代码时,“在我的机器上可以正常工作啊"的问题。一次构建,处处运行。dev本地测试完毕后,打包递交docker镜像,而运维则只装一个docker作为鲸鱼,将各个镜像放到鲸鱼背上作为独立的集装箱
Wesley13 Wesley13
4年前
10天学安卓
说明1:本系列教程仅针对新手入门,高手勿入!说明2:本系列教程均不考虑安卓版本低于4.0的情况。说明3:本系列教程假定您了解一些编程的基础知识,对于Java语言略懂即可。 说点废话从什么时候说起呢,应该是很久以前的事情了。2008年的早春,因为工作的原因在日本工作了一个月,当我和同事们在XXX闲逛的时候,发现了以前从未见
Wesley13 Wesley13
4年前
DDD分层架构最佳实践
还在单体应用的时候就是分层架构一说,我们用得最多的就是三层架构。而现在已经是微服务时代,在微服务架构模型比较常用的有几个,例如:整洁架构,CQRS(命令查询分离)以及六边形架构。每种架构模型都有自己的应用场景,但其核心都是“高内聚低耦合”原则。而运用领域驱动设计(DDD)理念以应对日常加速的业务变化对架构的影响,架构的边界越来越清晰,各司其职,这也符
Stella981 Stella981
4年前
Spring AOP
9.SpringAOP:切面之前谈到的AOP框架其实可以将它理解为一个拦截器框架,但这个拦截器似乎非常武断。比如说,如果它拦截了一个类,那么它就拦截了这个类中所有的方法。类似地,当我们在使用动态代理的时候,其实也遇到了这个问题。需要在代码中对所拦截的方法名加以判断,才能过滤出我们需要拦截的方法,想想这种做法确实不太优雅。在大量的真实项目中,似乎我
Stella981 Stella981
4年前
Istio的性能实测@KubeCon 2019 Day2
大魏说:Topic的Speaker是IBM的两位专家。、Istio是一个迭代非常快的开源项目,在2019年初1.0版本发布,如今最新版本已经是1.2。在1.1版本中,我进行过一些测试,Istio绝大多数的功能是没问题的。但在测试限流的时候,有时候不生效。Istio1.1的限流需要借助于memqouta或redisqouta。前者不能做
Wesley13 Wesley13
4年前
23种架构模式
1、FACTORY?追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做
Stella981 Stella981
4年前
Redis客户端多线程跟多个连接不是一回事
先抱怨一波,大国庆节的放假前一天的下班前15分钟,通知让我加班,因为一个Redis的bug,而这个bug我在1个半小时之前刚听说了个大概,心里很不情愿;好了,说正事;问题现象:bug是这样的,两个线程同时请求Redis服务器,但是只有一个线程收到了回复,另一个线程卡死;拿到这个问题,我先是想了想到底怎么查,于是想了可能出问题的
Wesley13 Wesley13
4年前
2020.10.19
前段时间,和一个朋友聊天。聊最近在做的一些事情,比较有意思的是:他说,很多事情,刚开始想法挺多,但平时时间太少,下班就想休息休息,不想动了。这可能也是很多人面临的问题,很多事想尝试,但是觉得很麻烦,想想就行了。长期以往,越来越焦虑,因为人生的很多道路是需要自己去探索尝试的。所以会造成上周周报中提到的,中
Wesley13 Wesley13
4年前
GNU 对自由软件的定义:与免费无关
近年来,很多开源项目在商业化的过程中遇到了困难,抗议开源商业化的声音也一直存在。在很多对自由与开源软件不太了解的人眼中,开源软件免费软件——这其实是一个错误的观念。自由软件运动之父RichardStallman(RMS)曾在GNU章程中明确表示,自由软件是可以被售卖的。也就是说,自由与开源软件的商业化其实是一件非常合理的事情。
Stella981 Stella981
4年前
Lua 排序算法
冒泡排序(BubbleSort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法步骤1.有一个长度为n