首页 文章 精选 留言 我的

精选列表

搜索[高度可定制],共10014篇文章
优秀的个人博客,低调大师

高度关注!2022开放原子开源峰会最新议程一览

鉴于北京市疫情防控相关要求,原定于2022 年 7 月 25—27 日举办的2022 开放原子全球开源峰会 ,调整为2022 年 7 月 27—29 日在北京亦创国际会展中心举办。对于峰会时间的调整,给诸位嘉宾、参会人员及共建单位等造成的不便,我们深表歉意!请您关注开放原子开源基金会官网(www.openatom.org)及开放原子公众号,了解最新峰会相关信息。 峰会最新议程如下: 根据防疫要求,为保障与会嘉宾及参会人员的健康安全,大会期间视情从严管控。所有与会嘉宾及参会人员须提供北京健康宝绿码、北京 48 小时核酸阴性证明方可入场。在坚持知情、同意、自愿原则下,鼓励接种新型冠状病毒疫苗。 温馨提示:所有与会嘉宾及参会人员亦须提前完成在线注册方可进行现场签到,否则无法进入会场。 报名通道现已开启,火热报名 移动端识别二维码或点击下方阅读原文,立即报名 https://www.bagevent.com/event/sales/gcm4yr2x15dayhvk14aaylfikiv1st8d 电脑端请访问官网,立即报名 开放征集: 诚邀您与我们共同开源共建(议题申报、峰会共建),探索中国开源繁荣生态的未来! 联系我们 2022开放原子全球开源峰会组委会 2022summit@openatom.org

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

LiFi会将大数据和物联网带到新高度吗?

Wifi和大量数据传输的巨大需求对于当前的技术有非常高的要求。随着目前移动设备的指数级的发展趋势,到2019年时超过100亿部移动设备每个月将会交换35万兆(10^18)比特的信息,而这还仅仅是移动端的数据。通过传统计算机、大数据服务和物联网设备等方面的影响因素,你会发现问题的严重性。 但是科学家已经发现了一种比传统Wifi传输数据速度要快100倍的方法,而你需要做的仅仅是打开电灯。 LiFi是一种可见光通讯:LED灯能以人眼无法察觉的速度进行闪烁,从而传输数据——这有点像高科技的莫尔斯电码。事实上,科学家已经在实验室中演示,表明通过这种方式可以实现每秒钟传输224千兆的信息,这相当于18部1.5G的电影。在一个办公室环境下,其信息传输速度可以达到传统Wifi速度的100倍。 LED灯所需要的能量非常小,它可以通过以太网电源线进行供电。该技术的发明人Harald Haas也建议道,这种智能光源可以用太阳能充电电池进行供电。除此之外,LiFi并不会产生和Wifi一样的电磁干扰,这意味着它也可以应用于很多非常敏感的环境中,例如医疗机构。 LiFi传感器——通过灯泡传输数据 当然,这种方式也有一些缺点。在阳光充足的白天,接收器将无法区分信号;和Wifi不同,LiFi信号不能通过墙壁。当然,随着技术的发展这些局限性都会克服,例如设计智能建筑,使得光可以在空间中跟随用户移动。算法将会越来越多地决定我们的光照和对数据的访问。 事实上,由于LiFi无法穿过墙壁,从而使得即时数据流更加安全;使用者必须出现在相应环境中才能访问数据。 除此之外,LiFi可以安装在任何用户喜欢灯光和数据服务的地方:公交候车亭、火车站、街灯、旅游信息亭,这些地方都可以提供数据传输服务。 随着物联网设备市场的增长,传感器可以部署到越来越多的设备和场所中,更加快速以及大量的数据传输就显得更加重要。如果物联网继续以目前预测的速率进行增长,那么我们目前的基础设施将无法处理这样的数据传输要求。 如果我们希望大数据和物联网继续发展,那么LiFi就是目前唯一可行的解决方案。 由于目前的LED灯技术仅仅需要加入一个微小的微型芯片就可以变成LiFi发送器,最终,全世界超过140亿的灯泡将会变成140亿个发送器。 pureLiFi公司已经推出了一种即插即用的LiFi系统,每秒可以传输11.5MB的数据,相当于第一代Wifi的传输能力。其他项目则正在全世界的办公大楼和医院中测试该技术。 随着我们对数据、物联网市场和移动市场的偏爱程度与日俱增,我们需要找到能更快传输更多数据的方法。这些技术要和网络紧密相连。因此我相信,一旦LiFi技术(或者类似技术)成熟,其市场需求会快速增长,成为市场的宠儿。 本文转自d1net(转载)

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

2026年WordPress定制开发最佳公司怎么选?

"需要做一个WordPress网站,要能做SEO"——这句话背后藏着至少三种完全不同的需求:品牌展示站、内容营销引擎、带会员体系和支付系统的业务平台。这三种需求技术架构差距悬殊,选错方向,后期改造成本是重做的两倍不止。2026年的WordPress生态已经不是"装个主题就能跑"的年代。Gutenberg全站编辑(FSE)、React驱动的Block开发、Headless架构、Core Web Vitals深度优化——这些技术栈的组合方式,直接决定了网站上线后能否在搜索结果里站稳脚跟。

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

定制个机器人帮你和Ta聊天

自动聊天示例 这是基于200万聊天记录训练出来的,你可以用自己和女朋友的记录训练了试试效果 :P 至于微信机器人怎么用,你可以 GitHub 搜搜看哈 聊天1: user: 在吗? bot: 在 user: 在干嘛呢? bot: 看电视 user: 看啥电视呀 bot: 活色生香 user: 很好看吗? bot: 特搞笑 user: 你在哪里呀? bot: 家里 user: 家里就你一个人嘛? bot: 我喜欢一个人玩 user: 那我过来找你? bot: 不可以,乖乖上班去 聊天2: Q: 在吗? A: 在 Q: 干嘛呢? A: 没事 Q: 陪我去逛街嘛? A: 嗯 Q: 你在打游戏? A: 没有 Q: 那去不去? A: 去 项目说明 chatbot 是一个通过已知对话数据集快速生成回答的 Go 问答引擎。 为啥会有 chatbot 项目呢? 好多年前,当我们需要一个聊天机器人的时候,我是先用了 ChatterBot,但是使用下来,我们的1.2亿对话语料训练后的模型回答一个问题需要21秒左右,实在没法接受。仔细看了 ChatterBot 源码之后,我用 Go 重新实现了一个,并用 go-zero 的 MapReduce 框架做了并行优化,结果我们一个回答平均耗时大概18毫秒。 国庆假期,我有点空闲时间,所以就把这个项目整理了开源出来,一是给大家一个实际的 go-zero 的 MapReduce 示例;二是也提供大家一个闲聊机器人的项目玩玩。 BTW:后续我可能会开源智能客服机器人的项目,可以关注我的github: https://github.com/kevwan 代码目录和命令行使用说明 bot 问答引擎,可以自定义自己的匹配算法 cli train 训练给定的问答数据并生成 .gob 文件 -d 读取指定目录下所有 json 和 yaml 语料文件 -i 读取指定的 json 或 yaml 语料文件,多个文件用逗号分割 -o 指定输出的 .gob 文件 -m 定时打印内存使用情况 ask 一个示例的问答命令行工具 -v verbose -c 训练好的 .gob 文件 -t 数据几个可能的答案 数据格式 如果你有语料数据,可以自行整理用来训练。 数据格式可以通过 yaml 或者 json 文件提供,参考 https://github.com/kevwan/chatterbot-corpus 里的格式。大致如下: categories: - AI conversations: - - 什么是ai - 人工智能是工程和科学的分支,致力于构建具有思维的机器。 - - 你是什么语言编写的 - Python - - 你听起来像机器 - 是的,我受到造物者的启发 - - 你是一个人工智能 - 那是我的名字。 致谢 go-zero - https://github.com/zeromicro/go-zero go-zero 的 core/mr 包的 MapReduce 实现使 chatbot 的回答效率得到了巨大的提升! ChatterBot - https://github.com/gunthercox/ChatterBot 最早我是使用 ChatterBot 的,但由于回答太慢,所有后来只能自己实现了,感谢 ChatterBot,非常棒的项目! 项目地址 https://github.com/kevwan/chatbot 欢迎使用并 star 支持!

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

【实战】再见Excel,我能自由定制表格

很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。 下面我来举几个例子。 1. 删除重复行和空行 我们直接用dict.fromkeys的方法把当前的数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 In [135]: for row in rows4: print(row) ('name', 'address') ('tom li', 'beijing') ('tom li', 'beijing') ('',) ('mary wang', 'shandong') ('mary wang', 'shandong') ('',) ('de8ug', 'guangzhou') In [148]: dict.fromkeys(rows4) Out[148]: {('name', 'address'): None, ('tom li', 'beijing'): None, ('',): None, ('mary wang', 'shandong'): None, ('de8ug', 'guangzhou'): None} In [137]: list(dict.fromkeys(rows4)) Out[137]: [('name', 'address'), ('tom li', 'beijing'), ('',), ('mary wang', 'shandong'), ('de8ug', 'guangzhou')] 这时候,重复数据直接去掉了,注意我们这里的dict是python3新版本的,所以顺序没有影响,如果你还在用python2或者python3.5以下,建议升级一下python版本。 接下来,就是空数据的处理了。观察('',)是个元组,第一个位置的数据为空字符串,那么整体长度为1,可以直接通过循环来去掉。这里的循环我们可以用Python中的语法糖写法,直接一行搞定,最后加个判断只留下长度大于1,最后用list转换为列表。 In [179]: list(x for x in dict.fromkeys(rows4) if len(x[0])>1) Out[179]: [('name', 'address'), ('tom li', 'beijing'), ('mary wang', 'shandong'), ('de8ug', 'guangzhou')] 上面的研究搞定了,直接把研究结果放到函数中解决重复行和空行的问题。 注意这时候我们处理的行数据,所以就不再按列循环了。而且,当前的sheet中处理之后,每一行的内容都会修改位置或删除。所以我们先用old_rows = [x for x in sheet.values]取到旧的每一行的数据,注意这里的sheet后直接用values取到数据,而不是cell对象。这里的old_rows是个列表,就可以用刚才的研究直接转为删除重复和空行的数据了。 接下来,用sheet.delete_rows(1, sheet.max_row)删除所有行,第一个参数表示从第一行开始,第二个参数为最大行数。最后,用循环新的行数据的方式,把新数据写入当前的sheet。 In [189]: def handle_duplicate(wb, sheetname): """ 去除重复行,空行 先取出每一行,清空sheet,处理后写回 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] old_rows = [x for x in sheet.values] print('修改前:', old_rows) new_rows = list(x for x in dict.fromkeys(old_rows) if len(x[0])>1) print('修改后-》》', new_rows) # 删除所有行 sheet.delete_rows(1, sheet.max_row) # 写入新数据 for row in new_rows: sheet.append(row) 运行测试,查看结果。再说一次,一定记得测试啊!如果有错误就根据错误提示,查看代码,反复调试,去除bugs。 In [190]: wb = load_data() handle_duplicate(wb, '重复行') save_as(wb) 2.删除空格 删除空格也需要用到字符串的函数,所以这里还是简单研究一下。如果我们想去除字符串中间的空格,可以用split默认进行分割,然后把分割的结果用’’.join方法连接起来就可以了。注意join前是空的字符串。这里也用不到strip去除两端的空格了,因为split分割后只有几个最后的字符串组成的列表。 In [192]: a="a b c " In [194]: a.strip() Out[194]: 'a b c' In [195]: a.split() Out[195]: ['a', 'b', 'c'] In [196]: ''.join(a.split()) Out[196]: 'abc' In [ ]: 研究成功后,写入函数。这次命名为handle_blank。 In [197]: def handle_blank(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(): # 不加参数,循环所有列 for cell in col: print('修改前:', cell.value, end='') cell.value = ''.join(cell.value.split()) print('修改后-》》',cell.value) In [198]: handle_blank(wb, '空格') 3.修改日期和时间格式 有时候,我们需要对表格中时间相关的单元格进行格式修改,这里需要用到Python中时间模块datetime,将需要的格式进行拼接后,用strftime进行转换。 假设这里我们想把之前简单的1/11月日格式,更改为年月日的样式,中间加上分隔符/或-,就需要用"%x"或"%Y-%m-%d"来进行操作了。注意这里的%加字母都是官方定义好的格式而已,我们用到时候进行拼接,传给函数就可以了。 具体更多的拼接格式如下: In [199]: import datetime In [209]: d=datetime.datetime(2019,1,11) In [203]: d.strftime("%x") Out[203]: '01/11/19' In [205]: d.strftime("%Y-%m-%d") Out[205]: '2019-01-11' 研究完成后,我们编写函数。 首先需要用m, d = cell.value.split('/')把之前简单的日期进行分割,得到m,代表月份和日期,然后用datetime进行转换,生成时间相关的对象day,注意里面的参数是数字,所以用int转换,最后把day进行格式化输出。编写函数后,一定记得测试。 In [218]: def handle_time(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(max_col=1, min_row=2): # 找到时间的列, 第一列,从第二行开始 for cell in col: print('修改前:', cell.value, end='') m, d = cell.value.split('/') day = datetime.datetime(2019, int(m), int(d)) cell.value = day.strftime("%Y-%m-%d") print('修改后-》》',cell.value) In [220]: wb = load_data() handle_time(wb, '时间') save_as(wb) 4.修复数字和符号 接下来,处理数字和符号相关的操作。加入我们之前的价格,很多是有小数点的,这时候还想保存两位小数,并加上人民币符号为前缀。就需要新的一波研究了。 有小数点,一是要保证位数,我们这里要求2位,二是要对多余的位数四舍五入。可以有以下俩个方式完成,一个用Decimal一个用round,两个的区别是Decimal("0.00")指定位数后,会自动补0,而round遇到0就自动舍掉了。而且round在四舍五入的计算中,还有点特殊。具体可查看官方文档。 我们这里用Decimal来完成函数内相关操作。记得测试啊! In [227]: from decimal import Decimal In [240]: a = 3.1 b=Decimal(a).quantize(Decimal("0.00")) print(b) 3.10 In [244]: round(a,2) # 位数自动省略0 Out[244]: 3.1 In [247]: def handle_num(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(min_col=3, max_col=3, min_row=2): # 找到时间的列, 第一列,从第二行开始 for cell in col: print('修改前:', cell.value, end='') # cell.value = round(float(cell.value), 3) cell.value = '¥' + str(Decimal(cell.value).quantize(Decimal("0.00"))) print('修改后-》》',cell.value) In [249]: wb = load_data() handle_num(wb, '数字符号') save_as(wb) 9元微专栏,带你《用Python玩转excel》 还有群答疑服务哦↓

资源下载

更多资源
Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

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等操作系统。

用户登录
用户注册