首页 文章 精选 留言 我的

精选列表

搜索[AI技能],共10000篇文章
优秀的个人博客,低调大师

AWS 祖传技能 —— 重生(创建 fork 分支)之“我是真开源”

两天前,Redis 宣布修改开源协议:从 Redis 7.4 版本开始,Redis 采用 SSPLv1 和 RSALv2 双重许可证。具体来说,Redis 将不再采用 BSD 3-Clause 开源协议进行分发,其源代码将通过 Redis 社区版免费提供给开发者、客户和合作伙伴。 新许可证的条款提到,托管 Redis 产品的云服务提供商将不再允许免费使用 Redis 的源代码。因此 Redis 修改协议的原因显然意见——拒绝被云厂商白嫖。 当然,云厂商的套路也早已被大家熟知——你既然修改协议,我就基于旧的开源版本创建 fork 分支。 AWS 果然不负众望,其工程师今天宣布已创建新的 Redis 分支,还表示对 Redis 变更开源许可证感到不满,因此希望建立一个新的真正开放的社区来填补 Redis 留下的空白。 Amazon CTO 则在转发的推文称这是工程师自己的行为——与 AWS 官方无关。(emmm,你说是就是吧、、) https://twitter.com/Werner/status/1771324218506108995 还没取名的新 repo: https://github.com/placeholderkv/placeholderkv 延伸阅读: AWS 宣布创建 “真正” 开源的 Elasticsearch 分支 AWS 推出 OpenSearch:基于 Elasticsearch 的开源分支

优秀的个人博客,低调大师

后端开发必会技能-使用Jmeter对你的接口性能测试

一、Jmeter的介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。我们可以用来测试接口并发问题。 二、环境安装 1、先确保你的电脑上已经安装了jdk的环境 # 查看版本 java -version 2、官网下载JMETER,注意jdk的版本 如果你是window系统的电脑就下载下面的zip格式的包,mac就下载下图圈住的 3、解压文件运行命令 mac电脑解压后在bin的目录下运行命令sh jmeter window系统电脑直接单击bin/jmeter.bat的文件就可以启动 4、配置中文界面 三、模拟测试一个接口 1、创建线程组 2、线程组的基本配置 3、创建一个http请求(类似postman中发起一次请求) 4、配置请求信息 5、创建一个监听器(类似发起http请求后响应) 四、配置请求头 1、使用json的方法提取登录接口的token 2、在另外一个http接口中设置请求头,传递token 五、直接执行sql语句获取数据测试并发 1、下载mysql的包 2、解压下载的文件,将里面的jar包拷贝到jmeter/bin目录下(方便查找和不被意外删除) 3、在jemeter中创建一个线程组(和上面一样的) 4、配置jdbc连接 5、配置信息 url:jdbc:mysql://host:port/{dbname}?allowMultiQueries=true&serverTimezone=UTC DriverName:com.mysql.jdbc.Driver 6、创建一个JDBC Request 7、配置登录接口 配置全局的默认请求 配置登录请求接口 配置计数器(上面的sql语句中使用了${offset}变量)

优秀的个人博客,低调大师

现学现用:追女朋友必不可少的Python技能

编者有言:多喝热水太敷衍,日常坚持不断的嘘寒问暖反而显得温馨。程序员怎么用自己最擅长的事追到女神?本文将给你一些实用建议。一、背景 上班的日子总是3点一线——家里,公司和上班的路径,对于我这样一个特别懒的人来说,经常遇到上班路上下雨了,而我却没带伞,多么痛的领悟。 最近对Python有一种狂热的学习热情,写了4年多的C++代码,对于Python我不能说简单,但是它做东西确实太快了,现有的第三方资源真的炒鸡多,用的我也是不亦乐乎。 除了上班忘记带伞,每天重复性的工作还有很多,比如上下班打卡、每个礼拜的周报,还有如果有关心的女神,也可以做定时发送心里话,或者定时提醒等各种服务。 有时候我就会想,如果有一个人能按时提醒我就好了,不过这种想法也就停留了那么几分钟,然后就被自己pass掉了,因为别人也可能忘记啊…… 那么这件事是不是可以交给程序来做呢?毕竟程序可是会老老实实的做重复性的工作,而且乐此不疲。 上述问题的场景大多都是需要程序在指定时间、或者指定场合提醒我们该干什么了,本篇文章就定时天气提醒服务来做开篇,讲述使用Python怎么完成这样一个任务,既然这样,那我们就开始构思我们的程序吧。 二、构思 看过背景中的需求描述,要实现这个功能,我们需要解决以下这么几个问题: 1、爬取天气信息 2、动态获取指定城市天气 3、发送天气信息给指定微信好友 4、定时触发爬取动作 5、怎么关联微信账号 下面我们将一步一步解决上述几个问题,并实现我们的需求。 三、爬取天气信息 我们解决问题的顺序不是简单的按照12345这样,而是会按照思考的顺序来。 首先来解决问题1: 对于使用过爬虫的同学来说,爬取天气信息并不难,之前也了解过一些爬取web信息的代码,简单的爬虫无非就是那么几步: 确定爬取的url,使用浏览器打开 F12查看网页布局信息 使用xpath或者bs4进行节点定位 拿到页面信息 自己拼接爬取到的信息 写文件、写数据库、发送网络等等 这里贴下我之前写的几个简单爬虫: Python-爬取校花网视频(单线程和多线程版本) https://www.cnblogs.com/swarmbees/p/10017073.html Python-爬取妹子图(单线程和多线程版本) https://www.cnblogs.com/swarmbees/p/10016919.html Python爬虫Scrapy(一)-我爬了boss数据 https://www.cnblogs.com/swarmbees/p/10011898.html 下面是爬取城市天气的python方法,需要注意一点的是getWeath接口的参数city_code,这是一个全国城市编码,每个城市都是唯一的,这个表格我已经整理成了一个txt文档,后续放源码的时候会一并提供。 上述方法可以获取一个城市的天气信息,并储存在一个字典中,我们要发送给好友,还需要对其进行字符串处理,处理代码如下:全国城市编码如下图所示,每个城市的编码都是一个9位的数字组成,获取天气信息时是通过指定该编码进行查询。 四、发送给指定好友 解决问题3:发送消息给好友。 解决问题5:怎么关联微信账号,使用wechat_sender库。 我们自己爬取到的天气信息怎么和微信能扯上关系呢? 可以看看我以前提到的《微信聊天机器人-存储好友分享消息》,简单来说就是登陆一个web版本的微信账号,在我们的电脑上,做这么一个机器人使用了库wxpy,要想和这个机器人勾搭上,那我们就需要请出我们今天的重磅嘉宾wechat_sender。 《微信聊天机器人-存储好友分享消息》 https://www.cnblogs.com/swarmbees/p/9996547.html wxpy https://wxpy.readthedocs.io/zh/latest/index.html https://github.com/youfou/wxpy wechat_sender是基于wxpy和tornado实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息(日志、报警、运行结果等)发送到微信的工具包,有了它,我们的消息就可以顺利的发送到我们的微信账户了。 wechat_sender https://wechat-sender.readthedocs.io/zh_CN/latest/index.html tornado https://github.com/tornadoweb/tornado 交互流程 如上图所示,首先使用wxpy登陆微信机器人,当然这个机器人使用的是我们自己的微信账号。 这里需要特别注意一点,《微信聊天机器人-存储好友分享消息》中讲述的机器人进入命令状态是使用的embed()方法,在这里我们不能使用该接口了,我们需要换成上述交互流程的很关键的一步,使用listen接口进行监听,这样我们的web工具才能发送消息给机器人,建议仔细阅读一遍wechat_sender说明文档,内容不多。登陆微信机器人 爬取到天气信息以后,使用wechat_sender中的Sender类直接发送消息给微信机器人,下属代码中尝试是用了多种发送消息的方式,代码中都有详细注释,可自行阅读。登陆微信机器人,下边代码中第12行非常关键,这一行就是用来监听外部程序发送消息的。五、城市编码解决问题2:根据配置的城市名称动态获取城市编码,然后请求数据。 由于没有接口可以直接获取城市编码,因此这里我们自己封装了一个类来进行管理城市名称和城市编码,拉取城市天气时,只要输入城市名称,那么城市编码即可通过该类获取到,具体代码如下: 六、定时任务 解决问题4:定时发送任务 我们的需求是每日定时拉取天气信息,并发送给指定好友,Python有一个APScheduler库,支持定时任务,具体使用比较复杂,我也没有仔细研究。这里我们只是需要使用一个定时任务,其他不做介绍,有兴趣的同学可自行研究。 在研究定时任务的过程中,一直没有找到BackgroundScheduler类add_job时,回调函数怎么传递参数,因此这里我封装了一个类,让定时任务和任务回调处于一个域内,这样参数就可以放在类的成员变量未知,不需要传递了,哪位大神如果会操作,可以评论区指出,非常感谢。 后期出现不同类型任务时,我们就需要再封装新的类。 上述MyJob类有2个接口,一个是任务调度器回调接口,不需要我们调用,另一个是加载任务接口,这个任务参数是一个标准的json串,由任务触发时间和具体的任务列表组成,任务触发时间主要是给调度器使用,任务列表就是调度器触发时的回调函数需要执行的任务数量。 如上述任务json串来说,我们的任务id为my_jobs,在每天的6:30和17:30,我们需要执行items列表所指出的任务,任务列表是一个列表,列表中存储的是具体任务,receivers代表任务执行完毕需要发送的好友,city是爬取的天气名称,测试效果如下图所示: 由于任务调度器不是一个阻塞性的程序,如果我们不在主线程进行阻塞程序,那么程序就会直接退出;如果阻塞了主线程,那么任务调度程序也将会被阻塞。 因此这里在添加任务调度后,我们开启了一个子线程,主要就是为了不让主线程退出,这样做其实不合理,但是我们这里仅仅是为了演示,对这些问题的进一步处理我们之后会有文章来详细分析。 喜欢的同学可以自己尝试完成下这个小程序,或者选择一个类似的场景进行处理,本篇文章中还有几个需要优化的地方,由于篇幅问题,我们之后再进行讲解: 1、定时任务做成windows服务,这样更优雅,随开机启动 2、发送消息给微信好友换成发送邮件给指定邮箱 原文发布时间为:2018-12-9本文作者: 朝十晚八本文来自云栖社区合作伙伴“ DBAplus社群”,了解相关信息可以关注“dbaplus”微信公众号

优秀的个人博客,低调大师

Java程序员快速提升技能的6个技巧

知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰。达妹今天为大家分享Java程序员学习的6个小技巧。 1一定要看书 现在学习Java变得比以前容易多了,除了有大量的视频教程外,还有专业的java培训机构,这都使学习变得更加傻瓜化,然而我要说的是,Java虽然变得越来越容易学,然而那只代表入门容易,并不代表这门编程技术就真的变简单了。 阿里云代金券1000元免费领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=2a7uv47d 新老阿里云账户均可领取!可用于购买阿里云服务器ECS、云数据库RDS、虚拟主机、安骑士、DDoS高防IP等100多云计算产品。 代金券自领取之日起,有效期是30天,请及时使用,过30天后还可以重新领取。 如果仅仅学了些皮毛,高手写的程序你是望尘莫及的。在学习的过程中,书籍永远是知识最好的载体,很多优秀的程序员大师精心编撰的编程书籍,富含的不仅仅是一些知识,更多的是他们所传授的思想,通过看书,专研书籍中的内容,会让你变得更加聪明,写的程序也更加的精炼。 2编程的时候,一定要独立思考 现在网络很发达,我见很多程序员总爱百度,包括我带的许多人都是这样,一个jdbc这么初级的东东,他们编程几年了,每次用还总是百度查。这个东西应该是熟记于心的,随时用,信手拈来,这样才能成为高手。就好像一个修理工,一遍查手册,一边给你修车,亦或是一个医生,一边看教程,一边给你看病,想想就觉得恐怖。 3算法很重要,要不断的优化程序 现在很多人都是快速的学习,快速的练习,反复的练习。而我的建议是,无论你学到什么阶段,都要去不断的优化自己的编程,能用3行实现的程序,不用5行,这样你编写的程序才能更加凝练。而且,编程学习的中后期,就要重视算法,尽量编程优质的程序,这才是编程的美妙之处。 4写一个程序,不断改进 你学习的过程可能很漫长,我建议你从一开始的时候,就想着写一个小程序,比如一个计算器的程序,开始可能很简单,仅仅通过命令行的方式呈现,功能可能也只有加减乘除,但是随着你学习的深入,你可以不断的完善这个程序,直到有一天,你把它做成一个非常完善,性能非常卓越的程序后,你就真正学成了。 5记得写一些经验和技巧,要不断总结 不要做黑瞎子,掰苞米,掰一个丢一个。要学会总结,经常把自己遇到的问题及解决思想记录下来,还要记下来自己的经验和技巧,然后经常浏览自己曾经记下的这些东西,这样有了积累,你会发现,你成长的很快。 6每个月至少研究一个技术点 直到今天,我还是会经常专研一个技术点,比如js的一个矩阵算法,实现色彩的霓虹灯变换;亦或是,Java多线程内存自动优化技术。我会去专研,而且总会研究出比我目前技术水平还高一点点的技术,这样我才能不断的拔高,而且出类拔萃,这是一般程序员没有做到的,当你做到了,你就更牛了。

优秀的个人博客,低调大师

100个容器周边项目,点亮你的容器集群技能树

扫码或点我直达 免费领 大规模的容器技术运用从来不是一项独立工程,而是一个汇集虚拟化技术、容器编排、任务调度、操作系统、容器仓库、跨节点网络、分布式存储、动态扩缩、负载均衡、日志监控、故障自恢复等系统性难题的复杂有机体。随着Docker的诞生和Google等互联网公司的推波助澜,这个领域出现了一大批优秀的开源项目,它们在简化容器技术使用成本的同时,也经常使得刚刚接触容器时间不太长的开发者和企业用户感到不知所措。 将知识分类是梳理零散信息的一种有效方式。对于容器技术的生态圈来说,其中涉及领域众多,有的项目横跨多个细分领域,有的项目则是针对特定场景需求定制的,难以对其功能类型做精确定义。不过,若仅考虑通用领域里的相关产品和工具,大致来说可以划分成14种主要类别。 以下将围绕容器生态,分别举例介绍这些类别中的典型开源项目,以及部分虽未开源但比

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册