- 博客(812)
- 资源 (12)
- 收藏
- 关注

原创 ############---------写博客的意义---------############
简介 每个人对于博客的用户可能不一样,我这个博客呢主要记录一些我在工作中遇到的一些技术问题,或者是网上查找的一些资料整理。有原创文章,也有转载的,都是记录自己觉得有意义的东西。起因 2014年的一天,开始进行部分EveryNote资料迁移 2011年毕业工作我就在记录自己接触到的知识了,之前我都是将自己的资料和整理的信息记录到EveryNote上,但是...
2014-02-24 10:01:34
2218
1
原创 MyBatis if choose 动态 SQL
动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。
2025-03-27 17:00:48
1008
原创 nginx之gzip_static详解
Nginx支持静态和动态两种包体gzip压缩方式,分别对应模块ngx_http_gzip_static,ngx_http_gzip。我们知道gzip是CPU密集型的应用,实时动态压缩比较消耗CPU资源。另外,如果使用gzip,则sendfile零拷贝技术无法使用。为进一步提高Nginx的性能,我们可以使用静态gzip压缩,提前将需要压缩的文件压缩好,当客服请求到达时,直接发送压缩好的.gz文件,如此就减轻了服务器CPU的压力,提高了性能。
2025-03-21 14:41:42
334
转载 IT在35岁做到财务独立
十二年以后的2021年,他已经是亚马逊的高级工程师,年薪62.5万美元(含股票),年支出7.8万美元,净资产达到了240万美元(含股票)。最早的时候,他的履历没有特别的亮点,他就去一个名校,读了一年制硕士(欧美硕士一般都是一年)。有了积蓄以后,不要让钱在银行闲置,要学会投资。不过,IT 行业跟律师和金融业不一样,就算没有名校经历,只要自身水平过硬,也能求职成功,只是开始时的机会可能会少一些。不过,换公司是双刃剑,为了获得更高的薪酬,就需要在面试和工作中给别人留下深刻印象,后面的公司对你的要求也会越来越高。
2025-03-21 10:10:08
18
原创 Nexus
Nexus 的全称是 Nexus Repository Manager(Nexus 仓库管理器),是 Sonatype 公司的一个产品。Nexus 是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。Nexus 分为开源版和专业版,其中开源版足以满足大部分 Maven 用户的需求。
2025-03-10 14:25:36
477
原创 Ollama 简介
用户不仅可以使用 Ollama 提供的预训练模型,还可以在此基础上进行模型微调。根据自己的特定需求,开发者可以使用自己收集的数据对模型进行再训练,从而优化模型的性能和准确度。
2025-03-06 16:56:01
1166
原创 为什么我们的Redis集群总是这么慢
Redis的网络IO模型,集群模式下需要额外的网络传输,大量的key分片导致性能损耗30%以上,高峰期直接触发雪崩!某电商大促期间,Redis集群疯狂抖动,3分钟内宕机2个节点,订单系统直接崩溃,CTO当场自闭💔。💎 缓存系统是性能的最后一道防线,架构设计要慎重,不要为了看起来高大上就盲目上集群!原本0.1ms的操作啊!集群部署:QPS 降到5万-,延迟飙升到 0.5ms(主从复制+网络开销)2️⃣ 本地缓存补充:Caffeine二级缓存,降低集群压力。💥 先说结论:不是Redis慢,是你用得不对!
2025-02-27 08:44:37
174
转载 未来三年,AI 不会完全取代程序员,而是作为工具提升效率。
程序员的核心价值在于解决复杂问题、创新和系统设计,这些是 AI 难以替代的。最近一两年来,大家都在说Ai要取代程序员了,不能再学习编程了,但是AI 目前还无法完全取代程序员,但已经在某些方面显著提升了开发效率。- 需求理解:AI 无法完全理解模糊或复杂的需求,仍需人类介入。- 协作模式:AI 将成为程序员的助手,提升效率,而非完全取代。- 新岗位:AI 的发展将催生新的岗位,如 AI 模型训练师等。- 问题解决:程序员具备解决复杂问题的能力,能够设计系统架构。1. AI 的优势。2. AI 的局限。
2025-02-24 08:56:06
154
原创 HTTP3详解
HTTP协议在近十年发生了很大变化,整体方向都是为了降低延迟、提升响应速度和网络利用率,下面我们从网络链接的角度来看看HTTP在HTTP/1.1中引入了keep-alive使得TCP链接可以被多个请求复用,解决了每个http请求都需要建立TCP链接的三次握手和断开链接的四次挥手的开销。HTTP/2在链接优化方面主要引入了http多路复用,解决了HTTP/1.1同一个TCP链接上的HTTP请求都需要串行(HTTP队头阻塞)的问题。HTTP/3在链接优化方面,引入了基于UDP的QUIC协议,解决了TCP。
2024-12-27 11:20:21
1293
原创 详解Nginx: no live upstreams while connecting to upstream
NGINX 中的“no live upstreams while connecting to upstream”错误,表示 NGINX 无法找到实时后端服务器。这可能会中断您的 Web 服务。我们将探讨常见原因和解决方案。错误的常见原因诊断错误:查找 NGINX 日志中的错误消息。:确保后端服务器正在运行且可访问。:检查您的 NGINX 配置是否有错误。解决方案 1:重新启动后端服务器如果后端服务器宕机,请重新启动它们。解决方案 2:修复配置错误确保 NGINX 中的上游块配置正确。
2024-12-23 16:50:59
2166
原创 Envoy 与 Nginx 对比
综上所述,Envoy 适用于云原生应用和微服务架构,具有高度可扩展性和丰富的可观察性功能;而 Nginx 则是一种通用的服务器软件,具有高性能和灵活的配置语言。选择使用哪种解决方案取决于具体的应用需求和场景。
2024-12-04 09:56:58
861
原创 Nginx 缓存 DNS 解析问题
我使用了容器化的oprenresty,一般都会使用 upstream 特性转发到多个后端。因为是高可用的架构,后端偶尔也会手动重启服务。但问题在于 nginx 原生不支持动态解析 dns,需要做额外的模块编译。这篇文章记录我手动编译 openresty 容器的过程。
2024-12-03 16:00:40
1569
原创 Nginx auth_request详解
return 401;这个server块模拟了一个简单的认证服务,它监听127.0.0.1:8080,根据请求头Authorization判断用户是否经过认证。在实际应用中,这个应该是一个调用外部服务的代理配置。
2024-11-29 10:32:28
1440
原创 Nginx $proxy_add_x_forwarded_for and $real_ip_header, X-Forwarded-For proxy IP changes
这两个的变量的值的区别,就在于,proxy_add_x_forwarded_for 比http_x_forwarded_for 多了一个$remote_addr的值。但是只能获取到与服务器本身直连的上层请求,所以设置remoteaddr只能获取到与服务器本身直连的上层请求ip,所以设置remote_addr一般都是设置第一个代理上面但是问题是,有时候是通过cdn访问过来的,那么后面web服务器获取到的,永远都是cdn 的ip 而非真是用户ip。
2024-11-22 13:55:50
1220
原创 SSL_ERROR_BAD_CERT_DOMAIN错误,requested domain name does not match the server‘s certificate.
【代码】SSL_ERROR_BAD_CERT_DOMAIN错误,requested domain name does not match the server‘s certificate.
2024-11-21 10:49:25
1175
原创 sizeof(Vector<>)大小问题
则sizeof(record)大小为多少?答案是:20(G++编译器下)了解string,int的朋友很熟悉,string和int在G++下都是4字节,这样看来 grades的大小应为12字节。给grades中放入三个整型值,100,110,120,sizeof(grades),竟然还是12!由此说来,sizeof(vector)的大小,跟容器里面存放多少数据无关,它是在编译期确定的一个值,仅。
2024-09-29 16:03:50
932
转载 iOS 唤起APP之Universal Link(通用链接)
网上看到这篇关于IOS Universal Link的文章,很不错,这里分享一下。iOS 唤起APP之Universal Link(通用链接) - Code.Rookie - 博客园 (通用链接)是Apple在iOS9推出的一种能够方便的通过传统链接来启动APP的功能,可以使用相同的网址打开网址和APP。当你的应用支持(通用链接),当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过浏览器。如果你的应用不支持的话,则会在中打开该链接。 在苹果开发者中可以看到对它的介
2024-09-20 08:04:39
2199
转载 HEALTHCHECK 指令详解
为了帮助排障,健康检查命令的输出(包括 stdout 以及 stderr)都会被存储于健康状态里,可以用 docker inspect 来查看。和 CMD, ENTRYPOINT 一样,HEALTHCHECK 只可以出现一次,如果写了多个,只有最后一个生效。假设有个镜像是个最简单的 Web 服务,希望增加健康检查来判断其 Web 服务是否在正常工作,可以用 curl 来帮助判断其。决定了该次健康检查的成功与否:0:成功;# 如果基础镜像有健康检查指令,使用这行可以屏蔽掉其健康检查指令。
2024-09-10 16:10:12
454
转载 AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode
我要测评(或者说介绍)的两款 AI 编程助手,分别是和豆包 MarsCode。是最早出现的 AI 编程助手,也是市场占有率和知名度最高的一个。它是微软出品,底层是 OpenAI,又依托着世界最大的程序员社区,自然是实力非凡。豆包 MarsCode是基于豆包大模型打造的智能开发工具。它的背后是字节跳动,本来是内部工具,据说字节超过70%的工程师都在用,每月贡献百万行量级的代码。6月26日,它正式在北京对外发布,外界可以免费使用,属于新鲜出炉。
2024-09-06 13:47:38
2518
转载 Universal Links apple-app-site-association文件 Not Found的问题,需要外网IP访问
这个Universal Links 之前一直能正常访问,ios app发版也没有动过相关配置。为什么就失效了呢?前2个链接是可以正常访问的,即apple-app-site-association的配置是ok的。问题出在最后一个连接上,Not Allowed 可能是我们的服务器不允许app-site-association.cdn-apple.com访问。联想到前几天服务器受到了攻击,所以运维调整了安全策略,有时候在我们的域名下可以安全提示。和运维确认以后,得知运维禁止了所有的国外ip访问。
2024-08-20 08:51:17
1473
原创 Nginx中$http_host、$host、$proxy_host的区别
变量是否显示端口值是否存在host浏览器请求的ip,不显示端口否"Host:value"显示值为a:b的时候,只显示ahttp_host浏览器请求的ip和端口号是"Host:value",value存在就显示proxy_host被代理服务的ip和端口号默认80不显示其他端口显示"Host:value"显示配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com);
2024-08-02 13:43:08
7339
2
转载 AES解密报错Invalid AES key length: xx bytes与Given final block not properly padded的解决方法
最近和其它系统联调接口,用到了Java的AES加解密。由其它系统AES加密,本人的系统获取到加密报文后,AES解密,获取到内容。本来是比较简单的,可是其它系统只提供了秘钥,没有提供解密方法,解密方法需要我们自己写……正常应该是加密方提供解密方法的吧,我觉得……还好最后都解决了,在此记录下。
2024-07-25 18:03:27
2160
转载 Nginx HTTPS反向代理,开启SNI,proxy_ssl_server_name 和proxy_ssl_name介绍
Nginx作用反向代理与上游服务器使用HTTPS建连时,默认不启用SNI,使用参数启用;默认不验证上游服务器返回的证书,使用开启上游证书验证后Nginx会使用配置文件中指定的CA验证上游服务器返回证书的合法性,同时也会比对证书中的CommonName信息。
2024-07-24 10:52:21
2574
原创 You can‘t specify target table ‘xxx‘ for update in FROM clause
可以作为临时表处理,因此可以通过如下更改 SQL 来执行。在添加或更新数据时不能在同一个表上使用子查询。
2024-07-05 11:27:46
369
转载 mybatis报错:Error querying database. Cause: java.lang.NumberFormatException: For input string: xx
'Y',此时,mybatis认为拿一个字符串(String)和一个字符(char)比较,也会报错。参数格式化异常导致,例如在动态sql拼接中String类型参数和数字比较。2. 改为双引号"2",外层使用单引号。3. 加转义实体字符串引号。
2024-06-14 16:53:38
580
转载 Nginx 中 proxy_cookie_path 的用法
昨天调试 nginx 的时候, 转发都配置好了, 结果登录之后又跳到了登录页面, 顿时一脸懵逼;
2024-05-14 16:22:08
1546
原创 后端nginx使用set_real_ip_from获取用户真实IP
假如说你的CDN厂商使用nginx,那么在nginx上将$remote_addr赋值给你指定的头,方法如下:后端PHP代码getRemoteUserIP.phpphpecho $ip;?访问getRemoteUserIP.php,结果如下:120.22.11.11 //取到了真实的用户IP,如果CDN能给定义这个头的话,那这个方法最佳优点:获取到最真实的用户IP地址,用户绝对不可能伪装IP缺点:需要CDN厂商提供。
2024-04-07 13:32:13
4057
原创 Nginx专栏分享
这里给大家分享一个其他博友的专栏,很不错:https://blog.youkuaiyun.com/wzj_110/category_9072895.html
2024-03-25 17:03:44
290
原创 安装python web.py Mako
sudo dnf install python3pip3 install --user mako在linux下安装python2.7.x,打开终端: wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz #下载到当前目录 tar xvfz Python-2.7.3.tgz #解压 cd Python-2.7.3 #进入目录 ./configure make #编译 su #转为root用户 make install #安装
2024-02-29 10:11:12
1007
原创 Mybatis 批量插入数据 SQL
上面代码中在 SQL 语句的最外层使用了 for 循环,好处是将 List 类型的集合传递来写入数据时可以有的是新增有的是修改,例如3行数据,第一三行由于主键字段对应属性 sid 被设置为 NULL ,会向数据库中新增行,第二行数据设置了 sid ,并且该值在数据库中有对应行,那么会修改数据库中的该行上的数据。通过在 java 中测试,发现上面的语句新增一行成功后会返回1,修改成功后会返回2(这里有疑惑,如果清楚原因的麻烦跟帖科普下)。这种写法适合插入数据的项不变,
2024-02-02 11:11:45
3833
linux 定时发送邮件 应用sendmail技术
2010-04-25
中文分词算法介绍、分类详解
2010-04-25
Cluence搜索引擎源码
2009-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人