自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (4)
  • 收藏
  • 关注

原创 2023最好用的5个图片去背景工具

PhotoRoom 是一款图像编辑应用程序,支持多种免费小工具:删除背景,白色背景,即时背景,添加文字,模糊背景,批量调整图片大小,非常实用,并且提供图像处理API,非常不错的一个平台。Claid AI 可在短短 1-2 秒内自动编辑和统一用户生成的照片,它可以提高照片的质量和光线,去除和对齐背景 ,非常适合做产品图片。手残党的福音,别再费劲琢磨ps抠图了,给大家分享5个一键抠图的工具,上传下载一气呵成!有大量模型的支持,基于人工智能生成设计,支持草图渲染,尺寸外扩等强大功能,不免费,更适合专业人士。

2023-10-18 22:38:59 133 1

原创 一款免费的企业团队协作软件,开源Wiki,太香了

团队协作软件很多,今天我们分享的这款软件,轻量简洁,没有哪些花里胡哨的东西,非常方便的进行团队文档的管理和任务的协作。相对其他软件而言,部署相当方便,提供了各个平台一键安装方式。是一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。(关注“Echo工具人”,回复数字“2”获取下载地址)

2023-10-06 23:52:57 196 1

原创 假期做的一个小工具,一键查找资料

作为一个懒程序员,肯定是不能忍受这种操作的,找了很多资料管理的软件,都不符合我的操作习惯,要么太复杂,要么就是只能管理特定类型的文件,而我的要求很简单,就是快速知道每个文件夹下是什么内容就可以了,不需要花里胡哨的东西。提供exe程序和源码两种方式,程序是使用go开发的,页面基于vue3,多任务并发处理,扫描资料速度还是很快的。这个小工具是通过web方式使用的,也就是说,如果你懂技术,完全可以让你的资源在互联网上访问,如果你有给客户演示案例的需求,那么这个小工具非常有用,不需要你一个个的截图然后发给客户了!

2023-10-06 16:20:31 58 1

原创 go并发编程实战,彻底搞懂channel机制

而我们的程序中只有写入数据,并没有接收数据,所以在c<-x这段代码执行之后,writeChan就进入堵塞状态,直到主goroutine结束而被强制结束。第一个示例中我们说过,channel写入数据之后会等待接收方接收数据,第二个示例中fmt.Println("Read:",<-c)读取了channel的数据,所以不会再堵塞,程序可以正常向下执行。之所以出现第二种情况的结果,没有打印出End: 666,是由于主goroutine已经执行完了,而writeChan还没有执行到打印End的代码,被强制结束。

2023-07-06 23:22:26 153 1

原创 关于MySQL的锁,你想知道的全在这里了

在上述示例中,Session 1在事务开始之后使用`SELECT...FOR SHARE`语句对`products`表的`id=1`行加共享锁。在上述示例中,Session 1使用`FOR SHARE`语句获取`products`表中`id`为1的记录的共享锁,用于读取操作。在上述示例中,Session 1在事务开始之后使用`SELECT...FOR UPDATE`语句对`products`表的`id=1`行加排它锁。在事务执行期间,其他事务可以获取相同数据页的共享锁,但无法获取排他锁。

2023-07-05 14:42:23 107 1

原创 彻底搞懂MySQL索引失效原理,知其然,更要知其所以然

SQL中使用phone和lan_id两个字段进行查询,phone在B+树上是有序的,通过二分查找可以找到对应的phone,由于是联合索引,在确定phone的位置之后,再次对lan_id进行二分查找,在数据结构上这时lan_id也是有序的(看不懂这个逻辑,需要先搞明白图1的逻辑和B+树相关知识),所以这种情况是可以使用phone和lan_id两个索引的,也是最左前缀法生效的原理。索引进行二分查找,前提是有序的,这个很重要,也是导致索引失效的根本原因(所查找的数据是无序状态)。为什么这条SQL不能使用索引呢?

2023-07-05 14:34:56 71 1

原创 go并发编程实战:彻底理解sync.WaitGroup

state1字段是一个计数器,每当有一个goroutine运行时,就调用wg.Add()方法给计数器加1,当一个goroutine完成时,调用wg.Done()方法给计数器减1,wg.Wait()等待计数器变为0。这里注意add和done方法都是在主goroutine中执行的,而Done方法是在启动的goroutine中执行的。我们看到每次“The End”都可以正确输出,也就是所有goroutine都执行完之后才会执行我们最后一句代码。下面我们就来分析一下sync.WaitGroup的原理。

2023-07-05 14:29:12 126 1

Android-PullToRefresh 的library

Android-PullToRefresh 的library

2015-03-29

SSH框架常用jar包

包含SSH框架常用的jar包,省的自己再去找了

2013-01-31

thinkphp 3.0最全包

thinkphp 3.0的完全包,操作说明,代码演示实例

2013-01-31

php5,mysql,apache环境及配置教程

包含php5.3.13,mysql5.5.15,apache2.2.21,phpMyAdmin3.4.8环境及相应的配置教程。

2013-01-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除