拍照时最幸运的事必定是赶上了一个好天气,好看的天空背景能够直接拉满照片的艺术感。如果赶不上好天气怎么办呢?除了跟着网上的后期教程薅自己头发,你还可以用黑科技呀。就像这样▼图上展示的效果就是用智能图片编辑软件Luminar4实现的,只是换了个天空,平平无奇随手记录的生活摇身一变成为了艺术作品。这个黑科
从2016年起就开始接触Consul,使用的主要目的就是做服务发现,后来逐步应用于生产环境,并总结了少许使用经验。最开始使用Consul的人不多,这两年微服务越来越火,使用Consul的人也越来越多。经常有人会问一些问题,比如:服务注册到节点后,其他节点为什么没有同步?Client是干什
微信小程序中有大量接口是异步调用,比如wx.login()、wx.request()、wx.getUserInfo()等,都是使用一个对象作为参数,并定义了success()、fail()和complete()作为异步调用不同情况下的回调。但是,以回调的方式来写程序,真的很伤,如果有一个过程需要依次
最近,我让团队内一位成员写了一个导入功能。他使用了责任链模式,代码堆的非常多,bug也多,没有达到我预期的效果。实际上,针对导入功能,我认为模版方法更合适!为此,隔壁团队也拿出我们的案例,进行了集体codereview。学好设计模式,且不要为了练习,强行使用!让原本100行就能实现的功能,写了300
大家好,我是小马哥。线程池是一种基于 池化思想管理线程 的工具,使用线程池可以减少 创建销毁线程的开销,避免线程过多导致 系统资源耗尽。在 高并发以及大批量 的任务处理场景,线程池的使用是必不可少的。如果有在项目中实际使用线程池,相信你可能
文章目录前言一.list的基本功能的使用二.list的模拟实现总结 前言1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2.list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指
文章目录1.前言2.排序2.1概念2.2常见的排序算法3.常见排序算法的实现3.1直接插入排序3.2希尔排序3.3直接选择排序3.4堆排序3.5冒泡排序3.6快速排序3.6.1hoare版本3.6.2挖坑法3.6.3前后指针法3.6.4快速排序的优化3.6.4.1三数取中法3.6.4.2小区间简化法