- 博客(801)
- 资源 (12)
- 收藏
- 关注
原创 ############---------写博客的意义---------############
简介 每个人对于博客的用户可能不一样,我这个博客呢主要记录一些我在工作中遇到的一些技术问题,或者是网上查找的一些资料整理。有原创文章,也有转载的,都是记录自己觉得有意义的东西。起因 2014年的一天,开始进行部分EveryNote资料迁移 2011年毕业工作我就在记录自己接触到的知识了,之前我都是将自己的资料和整理的信息记录到EveryNote上,但是...
2014-02-24 10:01:34 2161 1
原创 Envoy 与 Nginx 对比
综上所述,Envoy 适用于云原生应用和微服务架构,具有高度可扩展性和丰富的可观察性功能;而 Nginx 则是一种通用的服务器软件,具有高性能和灵活的配置语言。选择使用哪种解决方案取决于具体的应用需求和场景。
2024-12-04 09:56:58 735
原创 Nginx 缓存 DNS 解析问题
我使用了容器化的oprenresty,一般都会使用 upstream 特性转发到多个后端。因为是高可用的架构,后端偶尔也会手动重启服务。但问题在于 nginx 原生不支持动态解析 dns,需要做额外的模块编译。这篇文章记录我手动编译 openresty 容器的过程。
2024-12-03 16:00:40 995
原创 Nginx auth_request详解
return 401;这个server块模拟了一个简单的认证服务,它监听127.0.0.1:8080,根据请求头Authorization判断用户是否经过认证。在实际应用中,这个应该是一个调用外部服务的代理配置。
2024-11-29 10:32:28 805
原创 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 797
原创 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 916
原创 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 703
转载 iOS 唤起APP之Universal Link(通用链接)
网上看到这篇关于IOS Universal Link的文章,很不错,这里分享一下。iOS 唤起APP之Universal Link(通用链接) - Code.Rookie - 博客园 (通用链接)是Apple在iOS9推出的一种能够方便的通过传统链接来启动APP的功能,可以使用相同的网址打开网址和APP。当你的应用支持(通用链接),当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过浏览器。如果你的应用不支持的话,则会在中打开该链接。 在苹果开发者中可以看到对它的介
2024-09-20 08:04:39 1595
转载 HEALTHCHECK 指令详解
为了帮助排障,健康检查命令的输出(包括 stdout 以及 stderr)都会被存储于健康状态里,可以用 docker inspect 来查看。和 CMD, ENTRYPOINT 一样,HEALTHCHECK 只可以出现一次,如果写了多个,只有最后一个生效。假设有个镜像是个最简单的 Web 服务,希望增加健康检查来判断其 Web 服务是否在正常工作,可以用 curl 来帮助判断其。决定了该次健康检查的成功与否:0:成功;# 如果基础镜像有健康检查指令,使用这行可以屏蔽掉其健康检查指令。
2024-09-10 16:10:12 254
转载 AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode
我要测评(或者说介绍)的两款 AI 编程助手,分别是和豆包 MarsCode。是最早出现的 AI 编程助手,也是市场占有率和知名度最高的一个。它是微软出品,底层是 OpenAI,又依托着世界最大的程序员社区,自然是实力非凡。豆包 MarsCode是基于豆包大模型打造的智能开发工具。它的背后是字节跳动,本来是内部工具,据说字节超过70%的工程师都在用,每月贡献百万行量级的代码。6月26日,它正式在北京对外发布,外界可以免费使用,属于新鲜出炉。
2024-09-06 13:47:38 932
转载 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 994
原创 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 5538 1
转载 AES解密报错Invalid AES key length: xx bytes与Given final block not properly padded的解决方法
最近和其它系统联调接口,用到了Java的AES加解密。由其它系统AES加密,本人的系统获取到加密报文后,AES解密,获取到内容。本来是比较简单的,可是其它系统只提供了秘钥,没有提供解密方法,解密方法需要我们自己写……正常应该是加密方提供解密方法的吧,我觉得……还好最后都解决了,在此记录下。
2024-07-25 18:03:27 1394
转载 Nginx HTTPS反向代理,开启SNI,proxy_ssl_server_name 和proxy_ssl_name介绍
Nginx作用反向代理与上游服务器使用HTTPS建连时,默认不启用SNI,使用参数启用;默认不验证上游服务器返回的证书,使用开启上游证书验证后Nginx会使用配置文件中指定的CA验证上游服务器返回证书的合法性,同时也会比对证书中的CommonName信息。
2024-07-24 10:52:21 1849
原创 You can‘t specify target table ‘xxx‘ for update in FROM clause
可以作为临时表处理,因此可以通过如下更改 SQL 来执行。在添加或更新数据时不能在同一个表上使用子查询。
2024-07-05 11:27:46 345
转载 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 442
转载 Nginx 中 proxy_cookie_path 的用法
昨天调试 nginx 的时候, 转发都配置好了, 结果登录之后又跳到了登录页面, 顿时一脸懵逼;
2024-05-14 16:22:08 1266
原创 后端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 3509
原创 Nginx专栏分享
这里给大家分享一个其他博友的专栏,很不错:https://blog.csdn.net/wzj_110/category_9072895.html
2024-03-25 17:03:44 273
原创 安装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 972
原创 Mybatis 批量插入数据 SQL
上面代码中在 SQL 语句的最外层使用了 for 循环,好处是将 List 类型的集合传递来写入数据时可以有的是新增有的是修改,例如3行数据,第一三行由于主键字段对应属性 sid 被设置为 NULL ,会向数据库中新增行,第二行数据设置了 sid ,并且该值在数据库中有对应行,那么会修改数据库中的该行上的数据。通过在 java 中测试,发现上面的语句新增一行成功后会返回1,修改成功后会返回2(这里有疑惑,如果清楚原因的麻烦跟帖科普下)。这种写法适合插入数据的项不变,
2024-02-02 11:11:45 3447
原创 HandlerMethodArgumentResolver用于统一获取当前登录用户
为了将 HTTP 请求参数转换为 Java 对象,我们需要创建一个自定义的实现类。在这个类中,我们需要实现方法和方法。要在 Spring Boot 应用程序中使用自定义的实现类,我们需要将其注册到应用程序上下文中。为此,我们可以创建一个类,并实现接口。在这个类中,我们需要重写方法,并将自定义的实现类添加到参数解析器列表中。3.1 自定义权限拦截器自定义权限拦截器AuthenticationInterceptor,需实现HandlerInterceptor。
2023-12-14 17:28:33 1529
原创 springboot-redis设置定时触发任务详解
从Redis 2.8.0开始,Redis加入了发布/订阅模式以及键空间消息提醒(keyspace notification)功能。键空间消息提醒提供了允许客户端通过订阅指定信道获取Redis数据变化的能力。需要注意的是,键空间消息提醒并非可靠的,它不会对订阅端是否接收到消息进行确认。例如某个订阅的客户端暂时断开连接,在其直到恢复连接期间发生的事件将无法再次获得。
2023-12-14 15:39:40 1632
原创 @FunctionalInterface、Lambda表达式和方法引用
小插曲:Callable和Runnable到底什么区别?这两者也都是JDK预定义的函数接口,两者都不接收参数,主要用于多线程编程。Runnable无返回值,一般用于new一个新线程的时候,在新线程中执行代码。Callable一样一般用于在新线程中执行,只不过执行成功后有返回值,如果执行失败还会抛异常。最后,一起分析:c1引用了一个Lambda表达式;c2引用了一个新的Lambda表达式,表示式的实现代码中调用了c1提供的call()方法,并将call()方法的返回值返回。
2023-12-08 10:37:26 1328
转载 Redis实战之Redisson使用技巧详解
什么是 Redisson?来自于官网上的描述内容如下!Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格客户端(In-Memory Data Grid)。它不仅提供了一系列的 redis 常用数据结构命令服务,还提供了许多分布式服务,例如分布式锁、分布式对象、分布式集合、分布式远程服务、分布式调度任务服务等等。相比于 Jedis、Lettuce 等基于 redis 命令封装的客户端,Redisson 提供的功能更加高端和抽象,逼格高!
2023-12-07 19:13:39 2130 1
原创 WebMvcConfigurer配置详解
WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个类并实现接口;在Spring Boot 1.5版本都是靠重写的方法来添加自定义拦截器,消息转换器等。
2023-11-14 10:17:42 2108
原创 SpringBoot项目中ModelMapper配置以及使用
项目中对象与对象赋值转换使用的频率非常的高,比如数据库表实体对象(Entity)与业务类对象(Model)之间的赋值传递,或者模型对象(Model)与视图对象(ViewModel)之间的赋值传递。如果我们一个一个字段的赋值,将是非常繁琐并且毫无价值的重复工作,此时虽然我们可以自己通过反射提取个公共的方法来处理,但是更高效的方式是查看是否有第三方已经提供了比较成熟稳定的工具包,避免重复造轮子的工作。
2023-11-13 16:06:32 1074
原创 Spring Data JPA方法名命名规则
简单条件查询:查询某一个实体类或者集合。按照Spring Data的规范的规定,查询方法以find | read | get开头(比如 find、findBy、read、readBy、get、getBy),涉及查询条件时,条件的属性用条件关键字连接,要注意的是:条件属性以首字母大写。框架在进行方法名解析时,会先把方法名多余的前缀截取掉,然后对剩下部分进行解析。
2023-11-13 11:29:29 2233
原创 Redis ACL安全策略详解
在 Redis6 之前的版本,我们只能使用 requirepass 参数给 default 用户配置登录密码,同一个 redis 集群的所有开发都共享 default 用户,难免会出现误操作把别人的 key 删掉或者数据泄露的情况。因此 Redis6 版本推出了 ACL(Access Controller List)访问控制权限的功能,基于此功能,我们可以设置多个用户,并且给每个用户单独设置命令权限和数据权限。
2023-11-03 14:57:23 1195
原创 HSTS详解,以及HSTS VS 301 redirect
看到这篇文章,感觉不错,这里转载记录一下:https://juejin.cn/post/6844903865788137479本文主要是通过梳理一下相关概念,理清这两种配置的目的。
2023-10-30 14:54:55 1162
原创 ElasticSearch 8.x 安装及集群搭建
Elasticsearch,简称为ES。ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据。Elasticsearch是面向文档的一种数据库,这意味着其不再需要行列式的表格字段约束。ES会存储整个构造好的数据或文档,然而不仅仅是储存数据,这使得文档中每个数据可以被标识,进而可以被检索。在ES中,执行index,search,sort或过滤文档等操作都不是传统意义上的行列式的数据。ES从根本上对数据的不同思考方式也正是他能应对复杂数据结构的全文检索的原因之一。
2023-10-17 15:31:19 7584
转载 Shiro的基础知识、回顾URL拦截
本文主要讲解的知识点有以下:权限管理的基础知识模型粗粒度和细粒度的概念回顾URL拦截的实现Shiro的介绍与简单入门只要有用户参与的系统一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。用户认证用户授权shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。
2023-10-13 15:59:56 495
linux 定时发送邮件 应用sendmail技术
2010-04-25
中文分词算法介绍、分类详解
2010-04-25
Cluence搜索引擎源码
2009-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人