C语言 完全平方数

若一个数能表示成某个数的平方的形式,则称为完全平方数。 #include<stdio.h> #include<math.h> int IsSquare(long int n); int main() { long n,p; scanf("%d",&n); if(p==IsSquare(n)) printf("%d 不是平方数",n); else printf("%d 是平方数\n",n); return 0; } int IsSquare(long int n) { int m,t; m=(int)sqrt(n); t=(int)sqrt(n)+1; if(m*m==n) return m; else if(t*t==n) return t; else return 0; } 小剧场:我希望我不会回头。I hope I will not turn back.

C语言成绩数组排序

由键盘输入30名同学的成绩,按成绩由高到低去排序并输出排序后的成绩。 主函数输入30名学生的成绩,输出排序后的成绩; 子函数中对30个成绩排序; #include<stdio.h> #define N 30 int main() { int ans[N],i; int fac(int ans[]); for(i=0; i<N; i++) scanf("%d",&ans[i]); fac(ans); for(i=0; i<N; i++) printf("%4d",ans[i]); printf("\n"); return 0; } int fac(int ans[]) { int i,j,t; for(i=0; i<N-1; i++) for(j=0; j<N-1-i; j++) if(ans[j]<ans[j+1]) { t=ans[i]; ans[j]=ans[j+1]; ans[j+1]=t; } } 小剧场:秘密在此被淹没。The secret is drowned here.

米尔边缘AI计算盒子FZ5体验评测:一款极高性价比AI开发板

相信大部分人都听过近几年大火的绝地求生游戏(吃鸡)里“落地成盒”的梗,形象、不失风趣,一度成为网络流行语,但是,这是贬义。而边缘AI计算盒子FZ5“落地成盒”的故事又是另一回事了。 在几个月前,笔者有幸试玩过米尔科技与百度合作推出的一款深度学习计算卡FZ3,有兴趣的可以点击看看,是一款基于赛灵思SoC设计的极高性价比AI开发板,与百度大脑工具平台(飞浆AI框架)的无缝兼容更是大大降低了AI应用门槛,但是,事情显然没有到此为止,现在FZ5来了。 FZ5边缘AI计算盒子 言归正传,FZ5,看名字就知道是FZ3的传承和升级,再进一步的话可以细分为FZ5C以及FZ5D。两者在主要功能上没什么差异,C为4GB运存,而D为8GB运存,我拿到的是C版本,价格3499元,D版本在此基础上加400元。 FZ5摒弃了米尔科技传统的包装风格,可能盒子不像板子,是太厚了(笑哭)?内部配件:一个AI BOX包含MicroSD卡(FZ5C边缘AI计算盒子),一根MicroUSB线,一份说明书,一个12V的电源适配器包含4种插头。 FZ5完全看不到板子,真正切切一个“黑盒”的模样。实物外观如下图所示。 外部功能接口示意图如下。 非常硬核的接口配置,4个USB3.0口,值得注意的是,这里的HDMI是输入源接口,而不是作为输出的,视频输出接口是miniDP,这些接口在传统的开发板上是并不常见的,可能这是今后AI开发板与传统嵌入式开发板的一个分水岭。FZ5具体的硬件框图如下。 “黑盒”核心,全能SoC XCZU5EV AI BOX FZ5虽然只一个成人巴掌大小的尺寸,但是拥有专业的AI应用潜力。核心采用赛灵思Zynq UltraScale + MPSoC SoC XCZU5EV系列产品,记得FZ3采用的是XCZU3EG系列,从这点上也可大致推断,FZ3,FZ5的命名有参考产品核心SoC的选型。 XCZU5EV完整规格型号为XCZU5EV-SFVC784,集成了 ARM 四核 Cortex-A53(PS),双核 Cortex-R5(PS),Mali-400 MP2 图形处理单元和Kintex Ultrascale + FPGA(PL)。四核 Cortex-A53 具有强大的计算能力,双核 Cortex-R5 可用于实时处理应用,Mali-400 MP2 可用于加速图形处理,VCU 可用于硬件视频编解码加速应用,而 FPGA 具有完全可编程性。简直就是一个全能选手,配合丰富且常用的接口以及可扩展接口,可适应各种应用场景。 上手体验 说那么说,实际上手体验又是如何呢? 相比FZ3开发板类型,FZ5的黑盒装无论是携带还是实际操作更加方便了,尤其加上出厂烧录的MicroSD镜像,让你真正体验什么叫开箱即用。 根据你实际的外设可以选择不同的调试方式,比如USB转串口,SSH,或者外接显示器,可能只有外接显示器比较麻烦,这里的输出显示是miniDP接口。而采用USB转串口工具是最为方便的,真正的开箱即用。 但是USB转串口调试对应设备的控制台,在进行一般调试时可能会有冗余的打印信息,并且初次使用的话还需要安装串口驱动 CP210x_Windows_Drivers。所以建议用户使用网口调试,FZ5默认的IP是192.168.1.254,所以网口调试需将计算机的IP段设置为192.168.1.x 无论是USB转串口调试,还是网口调试,FZ5在启动后都要求用户输入login和password,即root & root,输入成功,即可登录设备系统。 FZ5 出厂搭载了Linux系统,开发者可以基于Linux系统进行应用程序进行开发,系统中也有自带的深度学习预装环境以及为模型推理的例程,用户也可以直接使用。 主要调用流程:1.应用程序获取视频输入->2.调用预测库加载模型->3.调度模型和底层驱动加速模块进行计算->4.获得运行结果。 下面就来看看实际的体验如何。 分类模型示例 读取一张本地图片,调用模型进行推理,并输出结果。 考虑到简单通用性,该示例从json文件中读取模型和图片信息,加载并执行。执行时需要指定相应的配置文件。而配置文件其实是大同小异,我们可以看下Inceptionv2神经网络模型的配置文件示例,以此为例。 其中各个参数的含义如下表所示。 因为FZ5上具有编译能力,所以这里实际演示一下,进入到sample/classification示例的build目录下进行编译,如下如所示是已经编译过的结果。 编译结束后会在build 目录生成如下几个文件。 image_classify 为读取本地图片推理示例,运行./image_classify ../configs/resnet50/drink.json执行结果如下。 而video_classify 则是读取摄像头数据进行推理,需要连接摄像头,这里是使用USB摄像头,这个还好,但是,非常可惜的是官方没有配miniDP转接口,因此就没法连接显示器,因此下面的demo演示只能看看系统打印的log。 运行./video_classify ../configs/resnet50/drink.json 执行结果如下。 目标检测示例 和分类不同,物体检测除了能知道物体的类型,还能检测出物体所在的位置坐标。物体检测也分了两个示例,一个是在图片上检测物体,并绘制出坐标信息。还有通过摄像头采集视频,检测在屏幕上绘制坐标信息。 同样image_classify 读取本地图片推理示例。

留言板:简单的留言功能实现

记录学习的第一阶段 自从我开始学习Web一个月以来,照着视频课程写过不少的练习,所以当我粗略的学习了Web三件套和php+Mysql后。我决定要用自己的想法来实现留言板这个练习,来巩固自己的学习。毕竟纸上得来终觉浅,绝知此事要躬行,实践才是最好的老师。(网上留言板编写教程很多,建议还是先靠自己的想法来实现)虽然这个案例实现的功能不多,但是编写的过程还是遇到了挺多的问题,特别是接口的编写。(第一次写接口的时候真的是特别懵)。在这里也很感谢我同学对我的指引,让我在学习的路少走了很多弯路,感谢感谢感谢~。本来想把功能完善的更好一点(因为急着进入下一阶段的学习,所以实现了简单的留言功能之后就停下来了,以后一定回头把它完善好) 功能实现 提交留言,通过php把留言写入Mysql数据库,再通过AJAX从数据库查询最后一条留言显示出来实现局部刷新。 页面初始化,通过php查询Mysql数据库里的留言,全部显示出来。 心动画的实现(心会跳动) 效果图: html代码: <!DOCTYPE html> <html lang="en"> <style> div#dem p{ margin-top: 10px; margin-bottom: 10px; font-size: 24px; } </style> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="lyb.css?v=12"> <script>//按钮按下执行的脚本 function newmessage(){ var x =document.getElementById("srname").value; var y =document.getElementById("srmessage").value; if(x==""){ alert("必须填写姓名!"); return false; } else if (y == "") { alert("必须填写留言!"); return false; } else{ document.getElementById("srname").value="";//提交以后清空内容 document.getElementById("srmessage").value="";//提交以后清空内容 var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange=function(){ if(this.readyState==4&&this.status==200){ //先向数据库添加数据,当服务器响应则查询最后一个留言 var xhttp = new XMLHttpRequest();{ xhttp.

联通光猫上海贝尔阿尔卡特 100A-AA 刷 OpenWRT

硬件信息 https://openwrt.org/toh/alcatel-sbell/rg100a-aa https://openwrt.org/toh/hwdata/alcatel-sbell/alcatel-sbell_rg100a-aa 刷入 Openwrt 固件下载地址: https://archive.openwrt.org/releases/19.07.4/targets/brcm63xx/generic/openwrt-19.07.4-brcm63xx-generic-RG100A-squashfs-cfe.bin 也可以下载以前版本的固件 访问下面的网址,打到 brcm63xx 架构,然后搜索 RA100 https://downloads.openwrt.org/ 1、连接设备,有线网卡 IP 地址设置为 DHCP 自动获取,将有线网卡连接到光猫 LAN1口,打开浏览器,访问 http://192.168.1.1 用户名:光猫背面 密码:光猫背面 进入光猫界面后,地址栏输入 http://192.168.1.1/backupsettings.conf 提示出错不用理会,现在下载目录中会有一个 backupsettings.conf 文件。 2、使用 vscode 打开 backupsettings.conf 找到如下区域 <sysUserName value="cncadmin"/> <sysPassword value="Y25jYWRtaW4="/> <ctUserName value="cncadmin"/> <ctPassword value="Y25jYWRtaW4="/> 密码是加过密的了,猜测与用户名相同 3、关闭光猫电源,将网线连接到 LAN4 口,按住 Reset 后通电,所有灯亮,然后电源灯和LAN4亮,过等待,直到只有 LAN4 口灯亮起。 4、使用浏览器访问 http://192.168.1.1,可能需要设置一下网卡的 IP 地址为 192.168.1.2/255.255.255.0,显示 cfe 升级登陆(没错,就是这个字)页面 输入 2 步骤中的用户名和密码 5、选择下载 openwrt 固件,openwrt-19.07.4-brcm63xx-generic-RG100A-squashfs-cfe.bin,点击 升级软件 按钮。 6、等待所有灯亮起,这是重启加电的标志,如果此时 ping 192.168.1.1 -t 没有回包,换个接口,比如 LAN3。直到收到回包,使用浏览器访问 http://192.

idea中配置项目的运行内存大小

一、Java idea中配置项目的运行内存大小 参数描述 -Xms1024m //设置运行内存的最小值为1024m -Xmx2048m //设置运行内存的最大值为2048m -Xmn512m //设置新生代大小 -XX:MetaspaceSize=256m //设置初始Metaspace空间的大小 例如:(可根据自己所需的大小进行设定) -Xms200m -Xmx400m -XX:+HeapDumpOnOutOfMemoryError 第一步,找到Edit Configurations进行设置。 第二步,设置运行时内存大小 能够解决的问题:内存溢出

Dockerfile(jdk8环境启动镜像)

Dockerfile: FROM jdk:8-en_US.UTF-8 MAINTAINER somebody WORKDIR /root COPY app.jar app.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","app.jar"] # 制作镜像 $ docker build -t app:v1 . # 运行镜像 $ docker run -d -p 8081:8080 -v /root:/root app:v1 /bin/bash 现在就可以通过8081端口访问程序了。

中文文本时间抽取、时间转换及标准化

分享一个用于文本中的时间抽取、时间转换、时间标准化的实用工具。工具地址 Github 简介 Time-Extractor的python3版本 功能说明 用于句子中时间词的抽取和转换, 主要基于Time_NLP做了部分优化 效果如下: res = tn.parse(target=u'晚上8点到上午10点之间') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'2020年二月二十八日下午四点三十分二十九秒') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'预计耗时36天5小时30分') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'今年国庆节上午8点') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'下周五晚上') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'今天早上5点') # target为待分析语句,timeBase为基准时间默认是当前时间 print("extract_result:", res) res = tn.parse(target=u'明年大年初一') print("extract_result:", res) res = tn.parse(target=u'上个月5号半夜') print("extract_result:", res) 返回结果: time_extractor: ['晚上8点', '上午10点'] extract_result: {"type": "timespan", "timespan": ["2020-12-26 20:00:00"

html中如何设置几张图片在一个div里来回切换_我在 B站 的秋季主题中学习了 “图层组合动画”...

众所周知,B 站 是个适合学习的好网站,我们团队的小伙伴也是经常上 B站 学习。 某一天在 B站 学习的时候,发现 B站 已经开启了秋季主题,并且在头图的这个交互上还内有乾坤。随着我们的鼠标变换位置,头图也跟随着我们的鼠标位置进行变换,配上秋季主题,显得特别治愈。(如下图) 小编对这个交互也是挺感兴趣的,那接下来我们直接进入主题,来试着实现这种动画效果吧! 原理分析 我们先进行实现原理分析,打开控制台,可以发现这个效果是通过几个图层变换位置和高斯模糊来实现的(如下图) image 除此之外,还有个小女孩的 眨眼 特效,是通过切换图片来实现的。所以我们实现的步骤分解为四步: 获取对应的图片;将图片按照效果图,摆放在对应的位置,设置默认的高斯模糊;通过切换图片制作 眨眼 特效;根据鼠标位置切换图片位置和高斯模糊; 那我们遵循上面的步骤,开始制作吧! 获取图片 首先,我们打开控制台(F12),在控制台输入下面这行代码来获取图片。 var images = document.querySelectorAll(".animated-banner .layer img"); var urlList = [].slice.call(images).map((item) => item.src); console.log(JSON.stringify(urlList, null, 2)); image 如上图所示,我们将这几张图片下载到自己的电脑中(如下图) image 还有个动画轮播图,我们使用下面这行代码来获取不同的几张图片。 var animateImgList = []; setInterval(() => { var imgSrc = document.querySelector( ".animated-banner >.layer:nth-child(2) img" ).src; if (!animateImgList.includes(imgSrc)) { console.log(imgSrc); animateImgList.push(imgSrc); } }, 200); image 如上图所示,我们可以得到几张不同状态的图片,我们下载到自己的电脑里即可。 摆放图片 我们下载的几张图片都是 png 格式的,我们可以使用定位将其堆叠到一起。

周庄不买门票攻略_上海十大人气景点攻略

上海是中国繁华都市的代表,对应北京的"帝都",上海也素有"魔都"之称。今天我们来做一份上海最受欢迎的十大精华景点攻略!适合初次到上海旅游的小伙伴收藏作为打卡参考! 上海便捷的公共交通可以保证游客轻松往来于城区内的各处景点。以外滩沿线为中心,游客可一同造访南京路步行街、陆家嘴、城隍庙、人民广场等上海代表景点。迪士尼乐园距离市区较远,客流量较大,最好单放一天游玩。 外滩 图:外滩的万国建筑群。 外滩是近代上海城市的起点,位于上海市中心黄浦区的黄浦江畔,,是最具上海城市象征意义的景点之一,也收录着整座城市的精华。自1843年上海开埠(通商)以来,这里便成为了整座城市中最繁华的区域,时至今日。沿着宽阔的黄埔江,外滩一侧百年历史的万国建筑与对岸陆家嘴的新型都市交相辉映,转眼间展现着上海的过往与繁华。 图:外滩看到的陆家嘴风景。 游览方式推荐 漫步外滩: 大多数游客都会选择在外滩一侧赏景,因为这一侧可以拍到对岸陆家嘴鳞次栉比的摩天大楼,也是外滩标志性的取景区域。 渡轮夜赏: 外滩的渡轮分为两种,一种为从外滩往返对岸陆家嘴的跨江渡轮,一种为历时一个小时的游客观光渡轮。 跨江渡轮:跨江渡轮从外滩的金陵东渡码头购票登船,船票价格为2元,历时10分钟左右,将游客送至对岸的陆家嘴。 观光渡轮:观光渡轮从外滩的十六铺码头购票登船,票价从80-150元不等,区别在于是否含餐及赏景座位的区域。 观景台俯瞰: 在陆家嘴,有很多设有观景台的摩天大楼。这些观景台普遍位于百米高处,可从高空俯瞰外滩景致。设有观景台的摩天大楼包括 东方明珠、上海金茂大厦、环球金融中心、上海中心大厦。这其中最高的观景台位于上海中心大厦内,高546米。上海金茂大厦在340米处设有室外空中步道,百米高空的室外坐在摩天大楼的边缘想必会是场难忘的体验。 露台餐厅、酒吧 在外滩一侧的欧式建筑顶端有很多高端餐厅及酒吧,这些地方是远离拥挤人群的最佳去处,同时还为你营造出一片欣赏陆家嘴景致的绝佳区域。餐厅的价格不菲、人均在人民币300+。 人气露台餐厅: New Heights 新视角(西餐厅) House of Roosevelt(烧烤餐厅) M ON THE BUND(以欧洲菜为主) deCanto(意大利餐厅) Bar Rouge(露台酒吧) 周边顺道游: 外滩步行即可到达南京路步行街、城隍庙、豫园等景点。还可以顺路去陆家嘴的上海迪士尼旗舰店逛逛,哪怕是不去迪士尼乐园,也可以在这里买到正版迪士尼纪念品。 南京路步行街 图:上海历史最悠久的商业街。 南京路步行街紧邻外滩,是上海最繁华、游客最多的老牌商业街。这里一直以来被誉为中华商业第一节,素有"十里南京路,一个步行街"的称号,步行街两旁遍布了上海的老字号和各大商场!步行街西起人民广场、东至上海外滩。长1.2公里的距离,汇集了上海百年老字号餐厅、商铺及各大当代潮流品牌商厦。即使身为"老牌"、"游客多"的商业街,南京路仍然值得购物爱好者一去。 游客在这里可以逛到亚洲最大的MM豆旗舰店,也可以在百年的上海第一食品铺里买些上海特产。上海繁华中沉淀的新与旧,都被展现在了这条历经岁月的购物街中,等待你的发现。 老字号美食餐厅: 第一食品店(特产小吃) 沈大成(本帮菜) 泰康食品(鲜肉月饼、老酸奶) 老半斋(刀鱼面) 舒蔡记(咸肉菜饭、生煎) 上海迪士尼乐园 图:迪士尼乐园城堡。 作为中国大陆第一座超人气乐园,上海迪士尼乐园在国内掀起了一波乐园狂潮。这座让人向往的"梦幻世界",如今就开在家门口。园内不仅保留了经典的童话风格,还融入了更多的中国元素,中国公主花木兰的花车、十二生肖纪念墙壁及园林庭院式的漫月轩餐厅都领这里别具一格。乐园中的大部分项目都为"量身"打造,唯上海迪士尼独有。 推荐游玩时间: 上海迪士尼开业一年有余,但依旧人气不减。相比一周来讲,每周三、四的客流量最少。最好可以避开十一等法定节假日,节日期间不光游客激增,还有可能因当日门票售罄而买不到票。 门票价格: 门票分平日票和高峰日票两种。平日票适用于周一至周五。高峰日票适用于周末、节假日、暑期(7—8月)。 玩两天的游客可以买两日联票,价格在两天单日门票基础上打95折。 优惠票适用范围: 老年人:65周岁以上 儿童:身高1-1.4米(含) 残障游客:需提供残障证明 婴幼儿:1米及以下 营业时间: 9:00-20:00 暑期及十一等出行旺季,乐园闭园时间会顺延至22:00。具体当日营业时间游客可参考乐园官网。 到达方式: 最便捷的方式是搭乘地铁11号线,坐到终点 迪士尼站 出站步行5分钟即到迪士尼乐园。要注意的是迪士尼站发出的末班时间为22:30分。 乐园还在上海火车站、上海火车南站、虹桥枢纽站、浦东机场设有乐园快线巴士,游客可直接下火车、飞机后搭乘快线前往迪士尼乐园。 人气项目: 这些热门项目排队大多要超过1个小时,部门项目旺季等候时间甚至超过2小时。如果游客时间优先,可以考虑优先玩这些热门项目。 创极速光轮:全球首发的弹射式摩托过山车,融入《创战纪》电影元素。 加勒比海盗—沉落宝藏之战:融合全球顶尖船载系统的探险项目,仿佛进入加勒比海盗的远海之战。

React RFC Server Components

原文作者:魔术师卡颂 12月21日,React 团队公布了一个新的提案 Server Components。 伴随这个提案同时发出的,还有一个小时的视频讲解、可供运行的Demo、详尽的介绍。 这里有react团队的相关rfc 可见,React 团队很重视这个提案。本文会从如下方面讲解: Server Components 是什么Server Components 解决了什么问题 ServerComponent是什么 一句话概括: Server Components 是在服务端运行的 React 组件。 咦?这和 服务端渲染(SSR)有什么区别? 相比 SSR 将组件在服务端渲染成填充内容的 HTML 字符串,并在客户端 hydrate 后使用。Server Components 更像我们的在客户端写的普通组件一样,只不过他的运行环境是服务端。 我们可以将组件按照功能分为: 提供数据的 容器组件渲染数据并提供数据交互的 交互组件 举个例子,Note 组件是 容器组件,他负责请求并缓存数据。NoteEditor 是渲染 note 数据并执行用户交互的 交互组件。 function Note(props) { const [note, setNote] = useState(null); useEffect(() => { fetchNote(props.id).then(noteData => { setNote(noteData); }); }, [props.id]); if (note == null) { return "Loading"; } else { return <NoteEditor note={note}/> } } 如例子所述,我们可以通过在 useEffect 中发起请求并将返回的数据保存在 state 中。

replace和regexp_replace替换字符串

replace(字符串,要被替换的字符,替换后的字符) 如果替换后的内容为空,则变成删除作用了 replace(字符串,要被替换的字符) regexp_replace函数 REGEXP_REPLACE(source, pattern, replace_str) source: 对应字段 pattern: 正则表达式 replace_str:替换成什么 regexp_replace函数是replace函数的扩展函数,用于通过正则表达式来进行匹配替换,默认情况下,每次匹配到的正则,都替换为replace_str,返回的字符串与source字符集相同。如果source为非LOB类型,则返回varchar2数据类型,如果为LOB类型,则返回CLOB类型,该函数符合POSIX正则和Unicode正则。 替换字符串 2.使用正则替换第一个字符是数字为a select regexp_replace('123456788','^[0-9]','a') from dual 3.替换最后一个字符是字母的为9 select regexp_replace('12345678p','[a-zA-Z]$','9') from dual 4.把电话号码+86 13856427896,变换成(+86)138-5642-7896 select regexp_replace('+86 13856427896','(\+[0-9]{2})( )([0-9]{3})([0-9]{4})([0-9]{4})','(\1)\3-\4-\5') as new_str from dual; 由此看来regexp_replace比replace功能更强大,我们可以用regexp_replace来替代replace

[已解决]阿里云安全组开放端口,宝塔面板仍无法访问

前言: 1.购买阿里云轻量应用服务器,系统镜像为CentOS8.2(建议安装Cnetos版本在7-8之间) 2.安装宝塔面板,参考【宝塔面板手册】 # Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 安装完成后,获得面板访问地址和用户名密码 ================================================================== 外网面板地址: http://121.196.***.176:8888/c4c***** 内网面板地址: http://172.17.**.6:8888/c4c***** *以下仅为初始默认账户密码,若无法登录请执行bt命令重置账户/密码登录 username: qbtr**** password: ebc***** If you cannot access the panel, release the following panel port [8888] in the security group 若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口 ================================================================== 退出远程连接工具之后,也可以通过 /etc/init.d/bt 查看面板信息 4.配置安全组端口8888 配置地址:https://ecs.console.aliyun.com/ 配置方式:创建安全组 5.面板无法访问 [解决方案] 1.配置阿里云防火墙端口 配置地址:https://swas.console.aliyun.com/ 防火墙默认开放的端口为80、443、22,需要手动配置8888端口 2.访问面板地址,输入账号密码即可登录 如果登录问题已经解决,不妨听我讲述我的处理过程,希望对你也有帮助 [小结] 购买服务器后,通过远程连接工具连接服务器地址,想着傻瓜式操作部署服务器环境,就安装了一个宝塔面板,按照说明去阿里云安全组添加了开发端口8888,但是面板地址却没法访问 百度搜索这个问题,发现得到的答案都是配置了安全组,就能够访问宝塔面板了 花了大半天的时间还是没得到合适的答案,于是尝试直接通过远程终端连接服务器,用linux命令进行操作 随后我就将目光转向服务器的防火墙上 开放防火墙操作流程 开放防火墙指定端口; firewall-cmd --zone=public --add-port=8888/tcp --permanent # –zone 作用域 # –add-port=8888/tcp 添加端口,格式为:端口/通讯协议 # 关掉为remove-port # –permanent 永久生效,没有此参数重启后失效 查看防火墙开放端口列表,这里我添加了好几个开放端口;

网页被劫持怎么修复?主页被劫持修复方法

电脑的浏览器被劫持了应该怎么解决?小编今天就来教大家解决电脑浏览器自动跳转到一个网页中的问题。 方法步骤 1.随着网络的兴起,更多的小伙伴享受到网络带来的便利生活,其中上网浏览就是非常受欢迎的一个功能,但是很多不法分子看中了这部分的流量,通过一些非法的手段将我们的浏览器dns劫持,自动跳转到一个特定的网页,今天小编今天就来教大家如何去解决这个问题。 2.首先我们需要在桌面上找到浏览器的图标,在上面点击 右键 选择属性,然后我们在属性窗口上切换到快捷方式,在里面我们会看到有一个目标的参数,我们拉到最后面看看是不是有一个网址部分,如果有的话,将其删掉即可。 IIS7网站监控工具可以做到提前预防各类网站劫持、并且是免费在线查询、适用于各大站长、政府网站、学校、公司、医院等网站。他可以做到24小时定时监控、同时它可以让你知道网站是否被黑、被入侵、被改标题、被挂黑链、被劫持、被墙及DNS是否被污染等等功能、更是拥有独家检测网站真实的完全打开时间、让你作为站长能清楚的知道自己网站的健康情况! 官方图 官方地址:IIS7服务器管理工具 3.其次的话,部分的病毒程序可能还会通过 修改 我们电脑的hosts 文件 来进行定向,我们可以在 c盘 的windows-system32-drivers-etc文件夹下面找到hos ts文件 ,使用 记事本 打开,在里面就会看到很多的代码了,我们在里面会看到有一些特殊的例如下图所示的,就是会定向到这个网址中,我们将其 删除 掉即可 4.还有的话,一些浏览器也会修改我们的dns服务器 地址 ,我们可以点击桌面右下角的网络图标,进入到网络和共享中心,在里面点击一下我们当前使用的 网络连接 ,进入到属性页面。 5.之后我们需要选择里面的internet协议版本4的这个项目,打开他的属性,在里面我们只需要将dns服务器选择为自动获取,或者修改为114.114.114.114即可,这样就能够解决dns服务器被劫持的问题。 小编总结 以上就是几种解决电脑浏览器被劫持定向打开网页问题的办法了,小火把门一定要安全上网避免被病毒感染。

关于抖音抓包的一些分析和抖音视频批量下载

上一篇介绍了抓包软件的使用: Fiddler+夜神模拟器+xposed+justTrustMe手机抓包 这一篇介绍下对抖音里**“喜欢”**的视频批量下载,和一些分析。 1.根据上一篇的抓包软件介绍,我们先模拟器上登录抖音开始抓包。 1.1 经过分析发现“喜欢”的视频列表接口是: https://aweme.snssdk.com/aweme/v1/aweme/favorite/ 1.2 过滤下url: 1.3 headers参数: X-Gorgon:请求所需的加密参数 X-Tt-Token:在搜索接口用于用户身份的标示。 有的接口会有X-SS-STUB用于post请求时body部分的md5值,但是在为空的情况下,有时候不参与加密,有时候参与加密,具体接口需要具体分析。 经过测试,搜索接口的 xgorgon 一个大概可以用2分钟。1秒请求1次,请求130条数据需要重新获取xgorgon。 当然也可以每次请求都重新生成xgorgon。 每个账号每天请求搜索接口有次数限制,大概在300左右。 超过限制需要更换账号,另外params也要改变。 1.4 params参数: 总的有37个参数包括设备信息等。 比如: sec_user_id:加密后的你的抖音id longitude:经度 latitude:纬度 device_type:设备型号 manifest_version_code:抖音代码版本 其他的有两个参数需要注意,max_cursor 和 count 这两个参数 max_cursor : 根据这个参数来返回用户的视频列表 , 第一次访问时 , 本参数为0 , 会返回最新的20个视频 (count为20时) count : 返回视频的数量 第一次请求是20 , 后面每次是10。 我修改了count后得到的请求是这样的 估计是headers部分的参数有对params进行了md5校验,所以修改了参数校验不通过导致没有数据返回。 1.4 请求响应如下: ......省略 "aweme_list": [ { "aweme_id": "6908554513959898376", "desc": "奖励你 在下雨天还愿意送我回家#送你一朵小红花 #送一朵小红花告别2020", "create_time": 1608523210, "author": { "uid": "85837556756", "

提供HTTP、HTTPS都可访问的API

情景说明: 考虑到数据的安全传输,现在用到HTTPS进行API调用的越来越多了。本节就介绍如何使自己编写的API能让别人进行HTTP、HTTPS调用。 先看一下一般情况: 正常编写一个 使用HTTP访问一下(不写的话,默认使用HTTP协议进行访问) 由此可见:HTTP是可以访问的,那么HTTPS呢? 由此可见,此时HTTPS是无法访问的! 软硬件环境:JDK1.8、Windows10、Eclipse、SpringBoot2.0.4RELEASE 准备工作:生成keystore证书库(秘钥库) 第一步:找到安装JDK的目录下的bin目录,并在此处打开cmd(或PowerShell)窗口 第二步:执行指令,生成对应的证书 此时,在相应位置即可看到生成的秘钥库(证书库)文件了: 给出上上图中的指令文字版(方便拷贝): keytool -genkey -alias ds -keypass ds1994 -keyalg RSA -keysize 1024 -validity 730 - 提示一:出于安全考虑,kiysize最好设置大一点,如2048,密码应该设置强一点。 提示二:本文标题【提供HTTP、HTTPS都可访问的API】中,HTTPS指的是【不作CA验证的HTTPS】,如果想要进行CA验证的HTTPS访问的话,需要再根据此步骤中生成的keystore(如果想要进行CA验证的HTTPS访问的话,生成此步骤的keystore时,还需要指定hostname),生成ca证书,将ca证书交给客户端,客户端根据ca证书进行校验ca的HTTPS访问。具体细节以及操作示例可详见本人的这篇博客 https://blog.csdn.net/justry_deng/article/details/91569132。 相关指令说明(提示:如果比较着急的话,可以不看这一块儿): keytool工具:Java 数据证书的管理工具 ,keytool 将密钥(key)和证书(certificates)存在一个称为keystore的秘钥库(证书库)文件中,在keystore里,包含两种数据: 密钥实体(Key entity):密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)。 可信任的证书实体(trusted certificate entries):只包含公钥。 -genkey:生成一个秘钥库(证书库)文件(此文件的后缀名自定义也行,但一般按约定得来如:.keystory、.p12等等), 存放生成的密钥对(即:私钥和公钥、密钥实体和可信任的证书实体)。 -ailas:产生别名,每个keystore秘钥库(证书库)都关联这一个独一无二的alias,这个alias通常不区分大小写。 -keypass:指定别名条目ailas对应的密码(私钥的密码)。 -keyalg:指定密钥的算法(如:RSA、DSA、EC等,如果不指定则默认采用7DSA) -keysize:秘钥位大小(指定秘钥长度)。 -validity:指定生成的证书的有效天数 -storetype:秘钥库(证书库)类型。证书库类型为:JKS、PKCS12等。jdk9以前,默认为JKS。自jdk9开始,默认为PKCS12。 -keystore:指定存储密钥、证实实体的keystore名称,如果没有指定,那么将创建一个新的keystore库,并将其存储为 .keystore 文件。 注:我们在指定时,可以指定其keystore的生成位置、名字等如: C:/Users/JustryDeng/Desktop/dsstore.p12 -storepass:指定密钥库的密码,密钥库创建后,要对其做任何修改都必须提供该密码。 …… SpringBoot项目导入秘钥(证书)库 第一步:将生成的秘钥证书库放入项目资源文件夹下 第二步:在系统配置文件application.properties中,配置SSL # 此端口为HTTPS端口 server.port = 9527 # 秘钥证书库文件所在位置 server.ssl.key-store = classpath:dsstore.p12 # 密码 server.

UNITY历史版本下载列表

Unity历史版本下载列表 Unity2020系列最新版本:Unity 2020.1.0 Unity2019系列最新版本:Unity 2019.4.5 Unity2018系列最新版本:Unity 2018.4.25 Unity2017系列最新版本:Unity 2017.4.40 Unity5.x系列最新版本:Unity 5.6.7 Unity4.x系列最新版本:Unity 4.7.2 Unity3.x系列最新版本:Unity 3.5.7 注:最后更新2020.07.27 看有很多朋友需要找Unity的历史版本,特整理了一下.可以收藏可以怀旧. Unity 2020系列版本:http://1vr.cn/?p=2195 Unity 2019系列版本:http://1vr.cn/?p=2203 Unity 2018系列版本:http://1vr.cn/?p=2207 Unity 2017系列版本:http://1vr.cn/?p=2210 Unity 5.x系列版本:http://1vr.cn/?p=2213 Unity 3.x系列版本:http://1vr.cn/?p=2218 Unity 2.*系列及更早版本:http://1vr.cn/?p=2220 [Long Term Support] 长期支持版本:https://unity3d.com/unity/qa/lts-releases [UnityHub] For Mac:https://public-cdn.cloud.unity3d.com/hub/nuo/UnityHubSetup.dmg For Win:https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.exe Unity离线或手动激活:https://store.unity3d.com/manual/ Unity官网历史版本链接: http://unity3d.com/get-unity/download/archive 整理的很辛苦,转载请注明转自:http://www.1vr.cn Edit by XK

C++ 获取当前日期精确到毫秒的几种方法

以下几种方式都是来自网上搜集资料的汇总,对于老的方式,容易出现问题,比如:利用 ftime 函数的, ndk 下,就不通用了,编译不过(函数被弃用),下面的方式都是比较通用的做法,希望对大家有帮助。 方法一: #include <stdio.h> #include <string.h> #include <sys/time.h> #include <iostream> #include <iomanip> #include <ctime> #include <chrono> /* 取当前时间,精确到微秒; */ int main(int argc, char *argv[]) { auto now = std::chrono::system_clock::now(); //通过不同精度获取相差的毫秒数 uint64_t dis_millseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count() - std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()).count() * 1000; time_t tt = std::chrono::system_clock::to_time_t(now); auto time_tm = localtime(&tt); char strTime[25] = { 0 }; sprintf(strTime, "%d-%02d-%02d %02d:%02d:%02d %03d", time_tm->tm_year + 1900, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min, time_tm->tm_sec, (int)dis_millseconds); std::cout << strTime << std::endl; return 1; } 方法二 #include <ctime> #include <string> #include <chrono> #include <sstream> #include <iomanip> #include <iostream> // use strftime to format time_t into a "

js实现打印 print.js

如果单纯实现打印整个窗口, window.print() 就能实现,但是我们往往要打印一个区域或者说一个div块 由于print打印的是整个窗体,所以我们要把打印区域变成窗体,所以我们需要一个库,来实现这些事 下面介绍 2种 方式使用print.js库实现打印 第一种: (可加上样式) 安装 npm install print-js --save 引入 import print from 'print-js' 使用 –html部分 <div> <p>test print</p> <div class="print-div" id="print_area"> <p class="red">世上本没有路,走的人多了,便有了路 ---- 鲁迅</p> <p class="green">世上本没有路,走的人多了,便有了路 ---- 鲁迅</p> <p>世上本没有路,走的人多了,便有了路 ---- 鲁迅</p> <p>世上本没有路,走的人多了,便有了路 ---- 鲁迅</p> </div> <button @click="printSomething">打印</button> </div> –js部分 printSomething(){ // 此处的style即为打印时的样式 const style = '@page { } ' +'@media print { .print-div{ padding:8px;background-color:#cccccc;line-height:12px } .red{ color:#f00} .green{color:green}' ; print({ printable: 'print_area', type: 'html', style: style,// 亦可使用引入的外部css; scanStyles: false }) } 第二种: (本地print.

MyBatis-Puls 雪花算法生成的id传到前端精度丢失

1、官网连接 https://baomidou.com/guide/faq.html#id-worker-%E7%94%9F%E6%88%90%E4%B8%BB%E9%94%AE%E5%A4%AA%E9%95%BF%E5%AF%BC%E8%87%B4-js-%E7%B2%BE%E5%BA%A6%E4%B8%A2%E5%A4%B1 2、原因和解决方法介绍 JavaScript 无法处理 Java 的长整型 Long 导致精度丢失,具体表现为主键最后两位永远为 0 解决思路1: Long 转为 String 返回 解决思路2:使用String类型,数据库使用varchar() 3、FastJson 处理方式 @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter fastJsonConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fjc = new FastJsonConfig(); // 配置序列化策略 fjc.setSerializerFeatures(SerializerFeature.BrowserCompatible); fastJsonConverter.setFastJsonConfig(fjc); converters.add(fastJsonConverter); } 4、JackJson 处理方式 方式一 // 注解处理,这里可以配置公共 baseEntity 处理 @JsonSerialize(using=ToStringSerializer.class) public long getId() { return id; } 方式二 @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { // 全局配置序列化返回 JSON 处理 final ObjectMapper objectMapper = new ObjectMapper(); SimpleModule simpleModule = new SimpleModule(); simpleModule.

fsync fflush 相关

最近做保存数据到文件操作,有2个数据,一个是视频,一个是小数据,一样的操作函数,保存视频没有问题,但保存数据就不行,仔细查看, 保存视频数据时,由于视频数据都比较大,我每收到64kB保存一次,没有问题, 问题就出现 在保存信息数据上,这个数据量比较小,一秒10B,我不可能收到64KB再保存,于是 我就想着fsync同步一下, void test_file_wr() { FILE * g_fd; const uint8_t dat[10]={0,1,2,3,4,5,6,7,8,9}; g_fd = fopen("test.idx", "ab"); fwrite(dat, 1, 10, g_fd); fsync(g_fd); } 上面的程序,实际是不行的,虽然写数据成功,同步数据也成功,但是数据根本没有保存到磁盘里, 要想真正保存到磁盘里,在加fflush(),就可以了, void test_file_wr() { FILE * g_fd; const uint8_t dat[10]={0,1,2,3,4,5,6,7,8,9}; g_fd = fopen("test.idx", "ab"); fwrite(dat, 1, 10, g_fd); fflush(g_fd); fsync(g_fd); } 我的理解+解释:fflush把内核中的数据 清到stream中, fsync把文件属性更新, 如果stream流中没有数据,则只调用fsync是不起作用的。事实也证明了这一点。 fflush:是把C库中的缓冲调用write函数写到磁盘[其实是写到内核的缓冲区]。fsync:是把内核缓冲刷到磁盘上。 fsync 将文件相关的所有更改都发送到disk device。 这个调用是阻塞的,直到disk通知此函数传输完成。此函数也会将该文件的文件信息flush到disk。 仅仅是把上层缓冲区中的数据刷新到内核缓冲区就返回,因此相对于fsync而言不是很安全,还需要再调用一下fsync来把数据真正写入硬盘。

Javascript汉字转拼音,中文转拼音

地址 一个javascript将中文汉字、词语转换为拼音的包,功能非常强大: nom地址: pinin-pro github地址: pinin-pro 汉字转拼音的npm包现在还是很多的,今天发下来一个很好用的包:pinyin-pro 相对于其他的包,他的体积只有400kb,比部分包的体积要小数倍乃至十倍。而且功能十分丰富,识别很准确,下面一起来看看吧: 安装 npm 安装 npm install pinyin-pro yarn 安装 yarn add pinyin-pro 使用 浏览器端: import { pinyin } from 'pinyin-pro'; node 端: const { pinyin } = require('pinyin-pro'); 参数 pinyin(word, options) 接收两个参数 word:必填。String 类型,需要转化为拼音的中文options:可选。Object 类型,用于配置各种输出形式,相关配置在后面有所介绍 基本用法 import { pinyin } from 'pinyin-pro'; // 若为node环境请用require形式引入 // 获取带音调拼音 pinyin('汉语拼音'); // 'hàn yǔ pīn yīn' // 获取不带声调的拼音 pinyin('汉语拼音', { toneType: 'none' }); // 'han yu pin yin' // 获取声调转换为数字后缀的拼音 pinyin('汉语拼音', { toneType: 'num' }); // 'han4 yu3 pin1 yin1' // 获取声母 pinyin('汉语拼音', { pattern: 'initial' }); // 'h y p y' // 获取带音调韵母 pinyin('汉语拼音', { pattern: 'final' }); // 'àn ǔ īn īn' // 获取不带音调韵母 pinyin('汉语拼音', { pattern: 'final', toneType: 'none' }); // 'an u in in' // 获取音调为数字的韵母 pinyin('汉语拼音', { pattern: 'final', toneType: 'num' }); // 'an4 u3 in1 in1' // 获取音调 pinyin('汉语拼音', { pattern: 'num' }); // '4 3 1 1' 结果输出为数组格式 通过在 options 参数中加入type: 'array',可以以数组形式输出基本用法中的示例:

谈谈 React 新出的 Server Components

原文作者:justjavac 昨天看了 demo,今天翻了翻源码。我们应该从几个维度来“看待” React Server Components: 当前开发遇到了哪些痛点?这些痛点目前有哪几种解决方案?Server Components 是怎么解决这些痛点的?Server Components 是否比这些解决方案更优秀?Server Components 是某一个或某几个解决方案的升级、颠覆还是互补? 而最常拿来和 Server Components 对比的就是传统的 PHP/ASP 技术和为框架而生的 SSR 技术。React Server Components 这个技术,听起来和 SSR 很像,而代码看起来则和 PHP 很像。很多人认为这是一种倒退,“前端好不容易爬到了山顶,却发现 PHP 已经等待多时”。其实恰恰相反,使用一种“和现有技术类似的”方式来解决某个开发痛点的做法,正是一种先进而优雅的方式。就好比 jsx 和 html 很相似,vue template 和 mustache 很相似,极低的减轻了开发者的学习成本。 虽然表面相似,但是却完全不同。 在 PHP/ASP 时代,页面都是由服务器来渲染。服务器接到请求后,查询数据库然后把数据“塞”到页面里面,最后把生成好的 html 发送给客户端。当用户点击链接后,继续重复上面的步骤。这样用户体验不是很好,每个操作几乎都要刷新页面,服务器处理完之后再返回新的页面。 我们可以概括为: 痛点:用户体验太差(user experience)原因:页面总是刷新解决思路:让页面别刷新方案:使用 ajax 而 Angular/Vue/React 这种单页应用(SPA)则主要是客户端渲染。服务器接到请求后,把 index.html 以及 js/css/img 等发送给浏览器,浏览器负责渲染整个页面。后续用户操作和前面的 php/jquery 一样,通过 ajax 和后端交互。但是和 php 相比,第一次访问时只返回了什么内容都没有的 idnex.html 空页面,没法做 SEO。另一点就是页面需要等到 js/css 和接口都返回之后才能显示出来,首次访问会有白屏。 概括一下: 痛点:首次访问白屏原因:首次访问只返回了 index.html 页面解决思路:首次访问时返回渲染完的页面方案:SSR SSR 的方式是:首次访问的时候由服务器(通常是 Node.

自然语言处理数据集(NLP Datasets)

收集了一些中文自然语言处理数据集地址,在此分享出来。后续会在github中不定时持续更新,欢迎Star。 任务型对话数据、文本分类、实体识别&词性标注、搜索匹配、推荐系统、百科数据、指代消歧、中文完形填空数据集、中华古诗词数据库、保险行业语料库、汉语拆字字典、中文数据集平台情感/观点/评论 倾向性分析、中文命名实体识别、推荐系统、FAQ 问答系统维基百科、新闻语料、百科问答、社区问答、中英翻译语料中文语言理解测评基准,包括代表性的数据集、基准(预训练)模型、语料库、排行榜知识图谱的数据集:常识、城市、金融、农业、地理、气象、社交、物联网、医疗、娱乐、生活、商业、出行、科教等新冠开放知识图谱《大词林》开源75万核心实体和围绕核心实体的细粒度概念、关系列表大规模医疗对话数据集:包含110万医学咨询,400万条医患对话新冠及其他类型肺炎中文医疗对话数据集MedQuAD:(英文)医学问答数据集中文医疗对话数据集Chinese medical dialogue data大规模中文知识图谱数据中文语音语料:说话人约3200个,音频约900小时,文本约113万条,共有约1300万字THUOCL(THU Open Chinese Lexicon)中文词库面向中文处理的12类、百万规模的语义常用词典,包括34万抽象语义库、34万反义语义库、43万同义语义库等百度知道问答语料库,包括超过580万的问题,938万的答案,5800个分类标签公司名语料库、机构名语料库

折弯弹性计算公式_冲压模具回弹及其回弹计算公式

回弹,设计师都会遇到,而且无法避免,只能想办法补偿或者降低影响。那什么是回弹呢? 金属材料在塑性弯曲时总是伴随著弹性变形,因此当弯矩去掉之后,弯曲件的弯曲半径变得与模具尺寸不一致,这种现象称为回弹。而回弹的大小通常用角度回弹量∆a和曲率回弹量∆q来表示。 一.影响回弹的因素: 1.材料的力学性能:回弹角的大小与材料的屈服点S与a正比,与弹性模数E成反比. 2.相对弯曲半径r/t愈大,则表示变形程度愈小,回弹愈大. 3.弯曲中心角a:a愈大,则∆a愈大 4.弯曲方式,校正弯曲的回弹角小于自由弯曲的回弹角. 5.制件形状:u形状回弹角小于v形件,复杂的弯曲件, 一次弯曲成形,弯角数量越多,回弹量就越小. 6.模具间隙:u形弯曲模的凸.凹每侧间隙z/h越大,则回弹与越大,z/2<t时,可以发生负回弹. 二.回弹的计算 由于影响回弹角的因素较多,因此要在理输上计算回弹角是有困难的,在模具设计时 通常按实验总结的数据不修正,或经试衝后再修正. (一).当r/t<5时,直接放角度回弹即可不必缩R角. 1).当t≤0.3,⍬=90º时,如图所示,分两次折弯且第一次折弯时,折弯点外移0.1~0.2 2).当t>0.3, ⍬=90º时,所图所示,分两次折弯,第一次折弯时,折弯点不用外移 3). ⍬=90º时,一般一次成形,根据材质,料厚的不同,提供以下数据供参考. (4)U二)U当R/t≥5时,曲率回弹量比较大,需缩R角,其计算公式见R角回弹计算设计规范, 在模具设计时,弯曲凸模圆角半径,R一般要比计算值R凸小,然后再加一步整形即可. 产品回弹比较复杂,即使是相同材质的情况下,自身材料不同厚度、折弯角度、折弯内R都会对回弹产生很大影响。不同材质就更不用说了。 因此,回弹并非一个公式即可完全解决,需要我们在理论的基础上进行实践调试,以得到最终合格产品。

core sync是什么软件_CPU是什么

对于CPU这个名词,相信很多朋友在购买电脑的时候都会听到,但是CPU是什么,它的工作原理是什么呢,下面就来简单介绍一下。 CPU是什么 CPU中文名叫中央处理器(Central Processing Unit),是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。下面就来简单就来简单介绍一下,CPU的工作流程。 提取 第一阶段,提取,从存储器或高速缓冲存储器中检索指令,由程序计数器记录了CPU在目前程序里的踪迹。指令的提取必须常常从相对较慢的存储器寻找,因此导致CPU等候指令的送入。 解码 在解码阶段,指令被拆解为有意义的片断。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。 执行 在提取和解码阶段之后,接着进入执行阶段。该阶段中,连接到各种能够进行所需运算的CPU部件。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里,运算溢出(Arithmetic Overflow)标志可能会被设置。 写回 最终阶段,写回,以一定格式将执行阶段的结果简单的写回。运算结果经常被写进CPU内部的暂存器,以供随后指令快速存取。在执行指令并写回结果之后,程序计数器的值会递增,反覆整个过程,下一个指令周期正常的提取下一个顺序指令。 以上就是关于CPU是什么的介绍,希望对大家有帮助。

SpringBoot项目打成war包,部署到远端Linux服务器

文章目录 前言一、修改pom.xml文件1.改最开始的默认打包方式2.排除掉SpringBoot默认集成的tomcat3. 引入新的依赖4.修改你打war包的名称 二、修改主启动类,继承SpringBootServletInitializer三、在Maven中进行打包最后,推送到Linux远程服务器上,并使用tomcat的端口访问即可 前言 在使用SpringBoot打jar包,内置的Tomcat部署到Linux时出现了一些问题,于是产生了打成war包,不让内置的Tomcat生效,让线上的Tomcat运行程序的想法。 前提:你的Linux的jdk版本和本地的jdk版本必须一致,打的war包才能生效 一、修改pom.xml文件 1.改最开始的默认打包方式 <groupId>com.daji</groupId> <artifactId>dajiblog_springboot</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>dajiblog_springboot</name> 2.排除掉SpringBoot默认集成的tomcat <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion><!--排除掉默认的tomcat--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> 3. 引入新的依赖 <!-- 这个依赖让你能够在程序入口类:xxxAppAplication中直接执行main方法启动tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!-- 但是这里一定要设置为provided --> <scope>provided</scope> </dependency> 4.修改你打war包的名称 <build> <finalName>你war包的名称</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 二、修改主启动类,继承SpringBootServletInitializer @SpringBootApplication public class DajiblogSpringbootApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(DajiblogSpringbootApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { //下面的DajiblogSpringbootApplication.

佳能g3800编程器固件_佳能g3800清零软件 佳能g3800打印机废墨清零

佳能g3800清零软件是一款专门用来对佳能g3800打印机进行废墨清零的软件,假如您使用的是佳能g3800打印机遇到了墨水计数器满了等问题,说明需要对其进行清零了。该g3800清零软件可以清除掉打印机的废墨,让打印机正常打印。 界面预览图: 佳能G3800一体机是一个集成了扫描功能的喷墨无线一体打印机,支持复印、打印、扫描等一系列功能,本页小编发布的是它的专用佳能g3800清零软件,希望大家喜欢。 佳能g3800打印机什么时候需要清零? 佳能g3800打印报错,显示代码:5B00 5B02 5B04 5B14 1701 1702 1700 墨水收集器已满把满等,打印机发生错误,请参阅手册并与服务中心联系,等等信息,说明打印机需要清零,废墨计数器满了。 佳能g3800打印机进维修模式方法: 1、打印机一定用USB线接上电脑并确保打印机认墨盒再进。 2、关闭打印机,先按【停止】键,而后紧接着按【电源】 键。(两个按键都不要松开。) 3、当电源灯点亮时,不要松开【电源】键的同时,松开【停止】按键,而后按【停止】键5 次,接下来松开【电源】键。 4、当电源指示灯长亮时,维修模式进入成功。 本佳能g3800清零软件使用方法: 1、先按上面的方法让佳能g3800打印机先进入维修模式。 2、进入维修模式后,打开本佳能g3800清零软件,而后按如下步骤操作。 3、点EEPROM键(如果显示错误 例如 002 ,点确定即可)注意:请把其它的USB设备都关闭,不然会影响软件的操作。 4、点Main键进行废墨计数器清零;(打印机放一张纸,会打印出D=000.0,表示清零成功)。 5、点Platen压板墨垫清零;(如果出现报错:例如错误代码 001,没关系的,因为压板墨垫属损耗材料,不需要理它,只要没真的坏,就不需要更换)。 6、设置废墨吸收垫计数器的值(0):找到Ink Absorber Counter 项,Absorber 选 Main后面的值设0,而后点SET。 7、关闭打印机再打开,测试打印一般就正常了,说明清零完成。 佳能g3800无线设置教程: 1、AP模式无线直连的启用方法(不通过路由器直接打印) 1:确保打印机已打开。 2:按住Wi-Fi按钮,当电源指示灯闪烁时松开。 3:依次按黑白按钮,彩色按钮,Wi-Fi按钮。 4:如果电源灯由闪烁变为常亮,说明AP模式现在已打开。 2、关闭AP模式,启用无线LAN模式方法 1:确保打印机已打开。 2:按住Wi-Fi按钮,当电源指示灯闪烁时松开。 3:依次按彩色按钮,黑白按钮,Wi-Fi按钮。 4:确保电源灯由闪烁变为常亮,说明无线LAN已启用 3、禁用无线LAN与AP模式的方法 1:确保打印机已打开。 2:按住Wi-Fi按钮,当电源指示灯闪烁时松开。 3:按黑白按钮两次,而后安Wi-Fi按钮。 4:确保电源指示灯由闪烁变为亮起且Wi-FI指示灯熄灭,说明无线LAN禁用。 4、初始化网络 按住停止键 警告灯闪烁23次松开停止键,网络设置已初始化 5、初始化本机所有设置 按住停止键 警告灯闪烁24次松开停止键,本机所有设置已初始化

【复习】分支限界法

#include<stdio.h> #include<stdlib.h> #include<math.h> //做蛋糕 #define pai 3 int V=0,Q=0; int mins=99999; int h[], r[],v[],s[]; void cake(int t) { int n, m; int i; r[0] = m + 1; h[1] = n; if (t = m){ if (V != n * pai) return; Q += pai * pow(r[1], 2); if (Q < mins) mins = Q; return; }else { if (V > n* pai) return; if (pow(r[t], 2) > n) return; if (Q > mins) return; for (int i = r[t - 1] - 1; i > 0; i--) { r[t] = i; h[t] = 1; v[t] = pai * pow(r[t], 2) * h[t]; V += v[t]; s[t] = 2 * pai * r[t] * h[t]; Q += s[t]; cake(t + 1); } } } //8 最大装载问题:分支限界法 void enqueue(int x) { } void dequeue(int x) { } bool isempty() { } int maxloading(int w[], int n, int c) { enqueue(-1); int i = 1; int ew = 0, r = 0, bestw = 0; for (int i = 2; i <= n; i++) { r += w[i]; } while (true) { int wt = ew + w[i]; if (wt < c) { if (wt > bestw) bestw = wt; if (i < n) enqueue(wt); } if (ew + r > bestw&& i < n) { enqueue(ew); } dequeue(ew); if (ew == -1) { if (isempty()) return bestw; enqueue(-1); dequeue(ew); i++; r -= w[i]; } } } //01背包问题 typedef struct bnode { struct bnode *parent; int lchild; }bnode; typedef struct heapnode { int b; int ew; int ep; int level; bnode* p; bnode* E; }; #define n 5 int ew = 0,bestw=0; int ep, bestp; int w[n]; int p[n]; int nowv; int c, p; void queue(int b,int ew,int ep,bool ch,int level) {//依次是上界、当前重量、当前价值,左右子树(1左 0右)、层数 bnode* bb = (bnode*)malloc(sizeof(bnode)); heapnode* N; bb->parent = N->E; bb->lchild = ch; N->b = b; N->ep = ep; N->ew = ew; N->level = level; N->p = bb; } heapsort deletemax(heapsort h) { } struct heapsort { struct heapsort deletemax(heapsort); }; void bag() {//LCBB:优先队列 int i, j, k; int b = bound(ew); while (ew) { if (ew + w[i] <= nowv) { if (ep + p[i] >= bestp) { bestp = ep + p[i]; } queue(b,ew,ep,1,i+1); } if (b > ep + p[i]) queue(b,ew,ep,0,i+1); heapsort N; N.

【复习】回溯法

#include<stdio.h> #include<stdlib.h> #include<string.h> /* 回溯法思路: 1 确定解空间树的结构:排列树 or 子集树;m叉树(分两种),n层,mn分别对应题中哪些变量 2 确定限界函数:最优解或者限制变量(如最小价格,或者路线是否存在) 3 确定可行解,以及更新方式 4 确定最终输出,并在设计算法时更新答案(不能忽略) 注:解空间树的结构一般有三种: 一种是子集树问题,比如01背包,每次的选择相对独立,互不影响。 一种是排列树问题,如货郎问题,核心是perm算法。特点:不走重复路,不选重复人。 一种是路径问题,比如迷宫,n后问题,每次有上下左右四步可走。 有时可以用for循环代替对称选择问题,比如符号问题,换算成01for循环实现,可以简化过程。 易错点: 1 迷宫不能走重复路,走完要标记 2 迷宫不需要回溯,因为要走完才算 3 先剪枝,再更新可行解,因为此时函数传入的值是上一次递归的值 */ //1 最小重量机器设计问题 p157 /* 解空间树:子集树 m供应商:m叉树 n个零件:n层树 剪纸函数:价格上限c,最小重量minw 可行解:whight,prince; */ //注意答案:ans[i]=j,第i个零件从j供应商处买 #define n 7 #define c 5 int bestw,cp,cw; int x[n + 1]; int p[n + 1][n + 1]; int w[n + 1][n + 1]; void traceback(int i) { if (i > n) { bestw = cw; for (int k = 1; k <= n; k++) printf("

Elasticsearch启动时显示max virtual memory areas vm.max_map_count [65530] is too low

Linux在启动时报错显示max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 分析:报错原因是因为虚拟内存太低,所以我们的解决办法是增加虚拟内存。 解决办法: 使用命令打开修改虚拟内存的文件 vi /etc/sysctl.conf 在打开的文件中设置虚拟内存(后面的数可以设置的更大点) vm.max_map_count=262144 使设置的虚拟内存生效 sysctl -p 注意:使用docker或者k8s启动报该错误修改宿主机或者node的该参数,而不是修改容器镜像的该参数。

pe卸载win10更新补丁_win10补丁,小编告诉你如何卸载Win10上已安装的更新补丁

更新补丁是维持电脑安全运转的方法之一,而据网上体验Win10系统后的网友反馈,Win10会为用户自行下载安装驱动更新,有时候却导致系统故障。那么我们该如何卸载Win10系统上已安装的更新补丁呢?下面,小编给大家介绍卸载Win10上已安装的更新补丁的操作步骤。 越来越多的电脑开始进入win10系统的操作,Win10会为用户自行下载安装驱动更新,而升级后的我们却对很多熟知的操作变得陌生起来。既然如此,我们该如何卸载Win10系统上已安装的更新补丁呢?有时候却导致系统故障。下面,小编给大家分享卸载Win10上已安装的更新补丁的经验。 如何卸载Win10上已安装的更新补丁 首先右击左下角的“开始”选择“控制面板” 更新补丁系统软件图解1 打开控制面板后,选择“卸载程序” 卸载补丁系统软件图解2 然后选择左上角的“查看已安装的更新” 更新补丁系统软件图解3 这时系统会列出已经安装的更新,我们右键点击要删除的更新,再点击“卸载”即可 更新补丁系统软件图解4 以上就是卸载Win10上已安装的更新补丁的技巧。

删除字符

5.(20分) 从键盘输入一个字符串(最长不超过80字符),然后从键盘输入一个字符,删除字符串中与该字符相同的字符。其中,在字符串中删除与某字符相同的字符,要求用字符数组作函数参数编程实现。已知该函数的原型为: void Squeeze(char s[], char c); 程序运行结果示例: Input a string: hello, my friend!↙ Input a character: !↙ Results:hello, my friend 输入格式: 输入字符串用 gets()函数 输入单个字符用 getchar()函数 输出格式: 输入字符串的提示信息: “Input a string:\n” 输入单个字符的提示信息: “Input a character:\n” 输出格式: “Results:%s\n” 注意:不能使用指针、结构体和goto语句编程。 #include<stdio.h> #include<string.h> void Squeeze(char s[], char c); int main() { char s[80],c; printf("Input a string:\n"); gets(s); printf("Input a character:\n"); c=getchar(); Squeeze(s,c); printf( "Results:%s\n",s); return 0; } void Squeeze(char s[], char c) { int i,n,j,k=0; n=strlen(s); for(i=0;i<n;i++) { if(s[i]==c) { k++; for(j=i;j<n-k+1;j++) { s[j]=s[j+1]; } } } }

(四)最邻近插值、双线性插值

最邻近插值、双线性插值、三线性插值 零、图像的放大和缩小的基本原理–映射 图像的放大和缩小的基本原理就是一种映射,即缩小后或者放大后的图像像素位置向原图的一个映射。简单理解就是,将放大或者缩小后的图像将其的坐标(长宽)拉伸或者压缩到和原图一样大时,其像素坐标点对应在原图上的位置就是其映射位置 坐标映射图 一、插值法放缩放图像算法第一步映射 1. 值法算法流程----映射: (1)、插值法放大图像的第一步都是相同的,遍历新图。计算新图的坐标点像素值对应原图中哪个坐标点的像素值来填充,计算公式为: 对应成比例scrH/dstH = srcHeight/dstHeight >>> scrH = dstH * (srcHeight/dstHeight) 对应成比例scrW/dstW = srcWidth/dstWidth >>> scrW = dstW * (srcWidth/dstWidth) 其中,src表示旧图,dst表示新图。新图的坐标(dstH,dstW)对应于旧图的坐标(scrH,scrW)。 srcWidth/dstWidth 和 srcHeight/dstHeight 分别表示宽和高的放缩比。 2、总结 那么问题来了,通过这个映射公式算出来的 scrH,scrW(旧图坐标)有可能是小数,但是坐标点是不存在小数的,都是整数,得想办法把它转换成整数才行。 不同插值法的区别就体现在 scrH,scrW 是小数时,怎么变成整数----去取原图像中的像素值。 最近邻插值(Nearest-neighborInterpolation): 看名字就很直白,四舍五入选取最接近的整数。这样的做法会导致像素变化不连续,在目标图像中产生锯齿边缘。 双线性插值(Bilinear Interpolation): 双线性就是利用与坐标轴平行的两条直线去把小数坐标分解到相邻的四个整数坐标点。权重与距离成反比。 双三次插值(Bicubic Interpolation): 与双线性插值类似,只不过用了相邻的16个点。但是需要注意的是,前面两种方法能保证两个方向的坐标权重和为1,但是双三次插值不能保证这点,所以可能出现像素值越界的情况,需要截断。 二、最邻近插值法: 最邻近插值法: 看名字就很直白,将scrH,scrW ,四舍五入选取最接近的整数,得到该点的像素值(该整数坐标在原图上的像素值)。这样的做法会导致像素的变化不连续,在新图中会产生锯齿。 四、python实现最邻近插值算法 import cv2 import numpy as np scr_img = cv2.imread("lenna.png", 1) print(scr_img.shape) cv2.imshow("scr_img", scr_img) cv2.waitKey(0) # print(scr_img[0][0]) def nearest_neighbor_interpolation(scr_img,dstHeight,dstWidth): if(len(scr_img.shape)>2):# 图像不是灰度图像 srcHeight, srcWidth, channels = scr_img.

python中3and5为什么输出是5_为什么在Python 3.5中,round(4.5)== 4和round(5.5)== 6?...

Looks like both 4.5 and 5.5 have exact float representations in Python 3.5: >>> from decimal import Decimal >>> Decimal(4.5) Decimal('4.5') >>> Decimal(5.5) Decimal('5.5') If this is the case, then why >>> round(4.5) 4 >>> round(5.5) 6 ? 解决方案 In Python 3, exact half way numbers are rounded to the nearest even result. This behavior changed in Python 3 The round() function rounding strategy and return type have changed. Exact halfway cases are now rounded to the nearest even result instead of away from zero.

hibernate的查询条件lt_Hibernate Criteria按条件查询(Query By Criteria, QBC)

org.hibernate.Criteria接口表示特定持久类的一个查询。 Criteria 代表一次查询 Criterion 代表一个查询条件。 Restrictions 产生查询条件的工具类。 Criterion 是Criteria的查询条件。Criteria提供了add(Criterion criterion)方法来 1:添加查询条件。 Session是Criteria实例的工厂。 Criteria criteria = sess.createCriteria(News.class); Listnews = criteria.list(); 2:限制结果集内容 一个单独的查询条件是org.hibernate.criterion.Criterion接口的一个实例。org.hibernate.criterion.Restrictions类 定义了获得某些内置Criterion类型的工厂方法。Criterion的实例可以通过Restrictions工具类来创建 Listnews = sess.createCriteria(News.class) .add( Restrictions.like("title", "%fendou%") ) .add( Restrictions.between("id",2,8) ) .list(); Restrictions 提供了大量的静态 方法,如 eq(等于)、ge(大于等于)、between等来方法的创建Criterion查询条件 ,通过往该实例的add(Criteria)方法来增加查询条件形成一个查询条件集合。 HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于 <> Restrictions.not(Exprission.eq()) 不等于 > Restrictions.gt() 大于 >= Restrictions.ge() 大于等于 < Restrictions.lt() 小于 <= Restrictions.le() 小于等于 is null Restrictions.isnull() 等于空值 is not null Restrictions.isNotNull() 非空值 like

nginx 某个地址转发_nginx根据项目名实现内网地址转发

nginx根据访问的项目名进行内网地址转发 以下是nginx的配置信息: server { listen 8081; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #匹配以访问的项目名跳转到对应的内网地址 location /huwj { proxy_pass http://127.0.0.1:8002/huwj; } #跳转到test项目 location /test { proxy_pass http://127.0.0.1:8083/; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } --------------------- 作者:hu_wen 来源:CSDN 原文:https://blog.csdn.net/hu_wen/article/details/79959430 版权声明:本文为博主原创文章,转载请附上博文链接!

npm run serve命令报错

npm run serve运行报错 npm run serve 运行中最常遇到的问题 在运行命令时ERR报错了,问题是路径不对 npm ERR! code ENOENT npm ERR! syscall open npm ERR! path F:\VUE项目\xinguan\package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open ‘F:\VUE项目\xinguan\package.json’ npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! C:\Program Files\nodejs\node_cache_logs\2020-12-24T08_33_26_581Z-debug.log

w10投影全屏设置_win10投影仪怎么铺满全屏|win10投影器全屏的设置方法

如果说win10投影仪怎么铺满全屏|win10投影器全屏的设置方法就由小编带领大家来认识一下,都说有些小伙伴们在使用win10投影设置的时候,会发现投影无法铺满全屏,这就令人非常头疼,也不知道具体的设置方法,针对这一问题,小编立马找到了线管的解决教程,给予小伙伴们参考。 win10投影器全屏的设置方法 1,首先,在桌面上使用鼠标右键点击空白处。注意不要点到图标。 2,点击之后,会弹出菜单,在弹出的菜单中选择“显示设置”一项。 3,打开显示设置的窗口之后,找到“显示分辨率”一项,点击该项下方的下拉菜单。win10投影器全屏的设置方法 4,此时,在弹出的下拉菜单中找到投影仪的最佳分辨率,设置为该分辨率即可。 以上就是win10投影仪怎么铺满全屏|win10投影器全屏的设置方法了,小伙伴们可以根据本期小编带来的教程进行操作,就可以完美的解决这个win10投影仪怎么铺满全屏的问题了,是不是发现非常的简单呢?也希望本期小编给小伙伴们带来的教程,可以给大家带来帮助。

w10投影全屏设置_win10如何让投影仪铺满全屏

win10如何让投影仪铺满全屏?很多用户使用投影仪没有铺满,上下有空隙,不是全屏显示的,不知如何设置的用户,接下来就由小编教大家win10系统投影仪铺满全屏的设置方法吧。 win10如何让投影仪铺满全屏?升级win10后,尤其是目前的高分辨率电脑,经常会遇到用投影仪投影或者连接第二个屏幕的时候出现无法识别分辨率,或者投影出来的头像比例被拉扯或压缩的现象。今天小编整理了让投影仪铺满全屏的方法,现分享给大家 。 win10如何让投影仪铺满全屏 第一步:win+P,打开投影显示设置。 第二步:选择模式为“拓展”这样子第二屏幕或者投影仪会自动适配分辨率参数,可以完成投影。 第二种 第一步:在电脑桌面,右键--显示设置--显示适配器属性。 第二步:在弹出的窗口中,选择“适配器”目录下“列出所有模式”。 第三步:在跳出的“列出所有模式”窗口的“有效模式列表”中选择合适你投影仪或者显示器的模式,一般的投影器1024X768基本可以解决。当然,你可以尝试其他参数直到适合为止。

excel日期改成字符类型_Excel表格中怎么把日期格式转换成文本格式?excel表格自定义格式的日期...

Excel表格中怎么把日期格式转换成文本格式? excel表格自定义格式的日期 www.zhiqu.org 时间: 2020-12-15 可以选中需要的日期数据使用数据分列来先批量转换为文本格式。点击该数据选择数据分列,然后将日期数据分割并选个文本就可以实现了。具体的设置方法如下: 1、在电脑上打开一个EXCEL文件,点击右键选择格式选择设置格式进入。 2、在出现的设置格式界面中可以看到当前的数据为日期格式。 3、选中该日期格式的数据列,点击上方的分列按钮。 4、在弹出的数据分列对话框中勾选固定宽度以后点击下一步。 5、页面跳转以后使用鼠标点击该日期格式后面,可以看到出现的一条分割线,点击下一步。 6、在出现的数据分列界面中点击日期的数据列以后选择文本并点击完成按钮。 7、此时选中该列数据点击右键选择设置单元格格式进入。 8、在出现的设置单元格格式中就可以看到已经将该列的日期数据批量转化为文本格式数据了。 1、日期直接改成文本格式会变成乱码,所以首先选中该单元格。 2、点击工具栏中的“数据”选项。 3、在“数据”选项中选择“分列”选项。 4、之后在弹出的对话框中点击下一步到第三步后,将“列数据格式”选为“文本”。 5、点击完成即可将选中的单元格内的日期更改为文本格式,并没有改变日期格式。 见截图 B2输入=TEXT(DATE(RIGHT(A2,4),LEFT(A2,FIND("/",A2)-1),MID(A2,FIND("/",A2)+1,LEN(A2)-5-FIND("/",A2))),"e/m/d") 公式下拉 1、要求将A2:A7单元格区域的文本格式的数字转换为日期格式。 2、点击鼠标左键拖动鼠标选中A2:A7单元格区域,依次点击【数据】-【分列】选项。 3、如下图,弹出【文本分列向导—步骤1】对话框,勾选[固定宽度]选项,然后点击【下一步】按钮。 4、弹出【文本分列向导—步骤2】对话框,这里直接点击【下一步】按钮。 5、弹出【文本分列向导—步骤3】对话框,勾选[日期]选项,然后点击【完成】按钮。 6、返回到工作表中,原来的文本格式的数字就转换为了日期格式。此时,日期格式中的月份和日期都是单数显示,可以转换为双数。我们选中A2:A7单元格区域,点击鼠标右键,在弹出的菜单中选择【设置单元格格式】选项。 7、弹出【设置单元格格式】对话框,左边选择[自定义]选项,右边将[类型]变为[yyyy-mm-dd],设置好后点击【确定】按钮。 8、返回到工作表中,单日期就转换为了双日期的形式。 材料/工具:Excel2010 1、如本例A列中列示的内容为日期格式,要求将A列中的日期格式转换为文本格式,且最终在B列列示。 2、选中B2单元格,在单元格中输入运算符号=,然后点击【fx】按钮。 3、弹出【插入函数】对话框在【或选择类别】中选择[全部]选项【选择函数】中选择函数[TEXT],然后点击【确定】按钮。 4、下图弹出【函数参数】对话框:将光标移动到第一个参数后面的对话框中,直接选择工作表中的A2单元格;在第二个参数后面的对话框中输入[YYYYMMDD],参数设置好后点击【确定】按钮。 5、返回到工作表中,通过以上操作步骤,A2单元格的内容由日期格式就转换为了文本格式。 6、选中B2单元格,点击鼠标左键拖动鼠标将A2单元格的公式复制到其他单元格。这样,A列中所有的日期格式就转换为了文本格式。 Excel表格中怎么把日期格式转换成文本格式?_ : 如果只是日期的一种显示格式:选定——右键——设置单元格格式——数字——自定义——类型框输入:yyyymmdd——确定. 但日期格式的“日”位最高只能是“31”(大月),大家以上面数据,加上“31”看看,能实现最后两位数字(“日... excel中如何将日期格式转换成文本格式_ : ①启动Excel表格,输入相关数据,然后在单元格D2输入公式: =TEXT(C2,"0000年00月00日") ②按下回车得到结果,将纯粹的数字格式改为了文本加数字的格式.关于公式的意思,稍后为大家解释. ③光标移动到单元格右下角,出现+号,双击,就能自动填充完数据.这样整张表格都被转换了. 公式意义 text(数值,单元格格式):将数值转为按指定数字格式表示的文本. 将C2单元格的数字设置为XXXX年XX月XX日这种格式. Excel表格中把日期格式转换成文本格式_ : 原发布者:547954943 如何把excel日期格式转换成文本日期格式1.修改表格的格式YYYY-M-D,自定义格式yyyy-mm-dd.没有的话,手动修改YYYY-M-D为yyyy-mm-dd. 2.第一步,把电子表格中日期数据列复制到word中,编辑选择性粘贴选择无格式文本第二步,选定复制文本转换为表格,表格转换文本分隔位置为段落标记,复制word中表格.第三步,在excel中,将相应列转为文本格式,然后选择性粘贴——文本.得以成功转换. 怎么把Excel表中的日期格式变成文本格式_ : 点一下要修改的单元格,点右键,选设置单元格格式,在“数字”标签下点击“文本”,确定就可以了.可以再把单元格的列宽调宽一点 excel 表格中怎么样把日期格式转换成文本格式 : 假设日期值在A列B1输入公式=text(a1,"emmdd")双击填充柄,即可在B列得到相应文本值 在excel表中如何将日期格式改为文本格式_ : 右击 选择“设置单元格”,在“数字”选项卡中,选择“文本”,确定,就行了 Excel中如何将日期格式转化为文本格式?_ : 全部选定你要转换的内容然后点击右键---储存格格式---数值---文字

PyTorch 代码中 GPU 编号与 nvidia-smi 命令中的 GPU 编号不一致问题解决方法

问题描述 nvidia-smi -L 和 PyTorch 代码中 GPU 编号不一致 nvidia-smi -L 查看可用 GPU 列表 GPU 0: Quadro Kxxx (UUID: GPU-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) GPU 1: GeForce RTX xxxx (UUID: GPU-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) PyTorch 代码中查看可用 GPU 列表 device = torch.device("cuda:1" if torch.cuda.is_available() else "cpu") print("GPU 编号: {}".format(device)) print("GPU 名称: {}".format(torch.cuda.get_device_name(1))) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") print("GPU 编号: {}".format(device)) print("GPU 名称: {}".format(torch.cuda.get_device_name(0))) 输出: GPU 编号: cuda:1 GPU 名称: Quadro Kxxx GPU 编号: cuda:0 GPU 名称: GeForce RTX xxxx 可以看出 nvidia-smi 命令中的 GPU 编号与 PyTorch 代码中的 GPU 编号正好相反(两块显卡的情况) 原因 nvidia-smi 下的 GPU 编号默认使用 PCI_BUS_ID,而 PyTorch 代码默认情况下设备排序是 FASTEST_FIRST 解决方法 要使 PyTorch 代码中的 GPU 编号与 nvidia_smi 保持一致,需要讲 expert CUDA_DEVICE_ORDER=PCI_BUS_ID 添加到bashrc

C#-数据库数据表数据增删改查。

记录一下demo using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ConnectionSQLServer { public partial class Form1 : Form { //string conStr = “server = 192.168.100.146;uid = sa;pwd = sasa;database = ReportServer$SQLEXPRESS;”; string conStr = “server = 192.168.0.31;uid = sa;pwd = sasa;database = bookTest;”; SqlConnection con; public Form1() { InitializeComponent(); con = new SqlConnection(conStr); } private void button1_Click(object sender, EventArgs e)//增加数据 { string insert = "

NLP合集:教程/实体抽取/关系(三元组)抽取/文本分类/知识图谱/Bert系列/相似度判定/机器人问答/文本工具/竞赛方案精选/面试指南/NLP各类任务数据集等集合

Cool-NLPCV (持续更新中…) Some Cool NLP and CV Repositories and Solutions Cool-NLP | Cool-CV 旨在收集NLP中常见任务的开源解决方案、数据集、工具、学习资料、优质博客等,方便学习或快速查找。在此分享出来,供大家参考。欢迎积极分享并Star,谢谢! 会持续不定时更新,也欢迎加入共同分享。将在github持续更新 所有内容来源于网络,如果有侵权等问题,请及时联系我删除 1、机器学习&深度学习入门精选 Python-100天从新手到大师斯坦福大学2014(吴恩达)机器学习教程中文笔记《统计学习方法》第二版的代码实现Coursera深度学习教程中文笔记(deeplearning.ai吴恩达)《动手学深度学习》TensorFlow2.0版本《动手学深度学习》Pytorch版本Deep-learning-with-keras-notebooksTensorFlow2教程及深度学习入门指南Pytorch模型训练实用教程《机器学习》(西瓜书)公式推导解析数据科学笔记以及资料搜集Data-Science-Notes李宏毅《深度强化学习》笔记Pandas中文教程各种框架的深度学习环境Docker镜像 2、词向量&Bert系列预训练模型 100+ Chinese Word Vectors上百种预训练中文词向量腾讯词向量Pre-Training with Whole Word Masking for Chinese BERT(中文BERT-wwm系列模型)谷歌官方BERT中文ELECTRA预训练模型中文XLNet预训练模型中文MacBERT预训练模型中文AlBert预训练模型开源预训练语言模型合集JD客服对话数据(42G,12亿句子)预训练BERT及WordEmbedding以词为基本单位的中文BERT高质量中文预训练模型集合:最先进大模型、最快小模型、相似度专门模型 3、自然语言处理数据集&数据下载网站 任务型对话数据、文本分类、实体识别&词性标注、搜索匹配、推荐系统、百科数据、指代消歧、中文完形填空数据集、中华古诗词数据库、保险行业语料库、汉语拆字字典、中文数据集平台情感/观点/评论 倾向性分析、中文命名实体识别、推荐系统、FAQ 问答系统维基百科、新闻语料、百科问答、社区问答、中英翻译语料中文语言理解测评基准,包括代表性的数据集、基准(预训练)模型、语料库、排行榜知识图谱的数据集:常识、城市、金融、农业、地理、气象、社交、物联网、医疗、娱乐、生活、商业、出行、科教等新冠开放知识图谱《大词林》开源75万核心实体和围绕核心实体的细粒度概念、关系列表大规模医疗对话数据集:包含110万医学咨询,400万条医患对话新冠及其他类型肺炎中文医疗对话数据集MedQuAD:(英文)医学问答数据集中文医疗对话数据集Chinese medical dialogue data大规模中文知识图谱数据中文语音语料:说话人约3200个,音频约900小时,文本约113万条,共有约1300万字THUOCL(THU Open Chinese Lexicon)中文词库面向中文处理的12类、百万规模的语义常用词典,包括34万抽象语义库、34万反义语义库、43万同义语义库等百度知道问答语料库,包括超过580万的问题,938万的答案,5800个分类标签公司名语料库、机构名语料库中英文NLP数据集智源数据开放研究中心百度大脑滴滴数据开放计划 4、基于Bert(bert4keras)的各类任务统一框架实现: 中文分词、实体识别、文本(情感)分类、阅读理解、标题生成、关系抽取(三元组抽取)、对抗训练、图像描述生成、文本生成 5、BAT机器学习面试1000题系列 6、Macadam是一个以Tensorflow(Keras)和bert4keras为基础,专注于文本分类、序列标注和关系抽取的自然语言处理工具包, 支持RANDOM、WORD2VEC、FASTTEXT、BERT、ALBERT、ROBERTA、NEZHA、XLNET、ELECTRA、GPT-2等EMBEDDING嵌入支持FineTune、FastText、TextCNN、CharCNN、BiRNN、RCNN、DCNN、CRNN、DeepMoji、SelfAttention、HAN、Capsule等文本分类算法支持CRF、Bi-LSTM-CRF、CNN-LSTM、DGCNN、Bi-LSTM-LAN、Lattice-LSTM-Batch、MRC等序列标注算法 7、论文合集&实战分享 NLP相关顶会(如ACL、EMNLP、NAACL、COLING、AAAI、IJCAI)的论文、开源代码项目合集NLP论文多个领域经典、顶会、必读整理分享深度学习模型在各大公司实战落地细节解读,主要包括搜索/推荐/自然语言处理方向 8、实体识别合集 基于TF:BERT-BiLSTM-CRF-NER基于TF+Pytorch:CLUENER 细粒度命名实体识别基于Pytorch:Chinese NER(Named Entity Recognition) using BERT(Softmax, CRF, Span)基于TF:命名实体识别实践与探索工业界如何解决NER问题?12个trick,与你分享中文NER的正确打开方式: 词汇增强方法总结 (从Lattice LSTM到FLAT)支持批并行的LatticeLSTMmedical_NER - 中文医学知识图谱命名实体识别BERT/CRF实现的命名实体识别用预训练语言模型ALBERT做中文NER用 bilstm-crf,bert及相关方法进行序列标注BILSTM+CRF做医疗实体识别,包含医疗NER数据DeepIE:基于深度学习的信息抽取技术 9、文本(情感)分类 基于CNN,RNN 和NLP中预训练模型构建的多个常见的文本分类模型中文文本分类,TextCNN,TextRNN,FastText,TextRCNN,BiLSTM_Attention, DPCNN, Transformer,基于pytorch腾讯开源深度学习文本分类工具:NeuralNLP-NeuralClassifier,基于PytorchKeras-TextClassification中文ULMFiT 情感分析 文本分类基于Bert、Xlnet + cnn、lstm、gru的文本分类如何解决NLP分类任务的11个关键问题文本分类资料综述总结(含代码) 10、关系抽取(三元组抽取)

iphone相册储存空间已满_iPhone 总提示“iCloud储存空间将满”,如何解决?

问题描述:iPhone 总是出现提示“iCloud储存空间将满”。 解决方案一:整理或者删除储存空间内的数据 您可以查看iCloud储存空间并进行清理: 如果您使用的是 iOS 10.3 或更高版本,请前往【设置】-【您的姓名】-【iCloud】。轻点“iCloud 储存空间”或“管理储存空间”进行查看。 如果您使用的是 iOS 10.2 或更低版本,请前往【设置】-【iCloud】-【储存空间】。 您可以根据自己的需求来管理储存空间,关闭相应的应用。 或参考第二个解决方案,将设备内的文件通过爱思助手导入到个人电脑中进行储存,再删除iCloud中储存的数据。 解决方案二:使用爱思助手备份数据 一般在iPhone当中,占用空间比较多的就是照片或者是视频,您可以通过爱思助手将相关文件导出到个人电脑进行储存,再删除掉手机中的文件,来腾出更多空间。方法如下: 1.打开爱思助手PC端,将设备连接到电脑。 2.在【我的设备】中,您可以查看到设备中的相关文件。 3.以备份照片为例,您只需要在【照片】中勾选所需要导出的内容,点击上方的【导出】即可保存到个人电脑。 请注意:爱思助手只能导出储存在设备中的照片或者其它文件。如果您在移动设备【iCloud 】-【照片】中开启了【iCloud照片图库】并选择“优化储存空间”或 开启了“我的照片流”,该照片还没有从苹果照片服务器下载,就不能预览及导出。如果照片呈灰色,需要您在设备上打开一次这些照片后再进行导出。 通过此方法,您可以备份照片、音乐、视频等文件到个人电脑中。 解决方案三:付费升级储存空间 可以说这是最简单的方法,不过需要花费资金,您可以根据自己的需求来考虑。 升级方法: 1.前往【设置】-【您的姓名】-【iCloud】-【管理储存空间】或【iCloud 储存空间】。如果您使用的是 iOS 10.2 或更低版本,请前往【设置】-【iCloud】-【储存空间】。 2.选择“购买更多储存空间”或“更改储存空间方案”。选取一个方案后,轻点【购买】,然后按照屏幕上的说明进行操作。

beats耳机红白交替闪烁三次_beats耳机红白灯交替闪如何解决

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 以Beats Studio3 Wireless为例,其beats耳机红白灯交替闪的解决方法是: 1、首先要确认是否用的原机充电线,或者手机充电线也是可以的,但一定要是原装的。其次不能用移动电源充电,因为耳机伏数太小,移动电源不会放电出来的。 2、如果用的是原装充电线,又是用的电脑或者手机的充电插头还是充不进去电,那代表有短路现象,如果在质保期内,建议找商家维修或调换。 Beats Studio 3 Wireless新耳机是在此前耳罩式Studio Wireless耳机的基础上更新而来,苹果公司先已放弃了原先的Studio Wireless耳机。尽管Beats Studio 3 Wireless新版耳机在外观上几乎没有进行任何更新,但这款新耳机却内置了诸多更新功能,例如配置了苹果 的W1芯片等,W1芯片也配置在苹果的AirPods产品中,从而让这些设备与iPhone或iPad设备更加容易地配对使用。Beats Studio 3 Wireless新耳机还极大地完善了消除噪音功能。、 Beats Studio 3 Wireless耳机使用蓝牙技术,在开启无噪音功能的状态下,电池续航时间可以长达22小时。另外, 这款新耳机还配置了一个microUSB连接器,但不是苹果的Lightning连接器。

从idea 上传项目到git

1、首先git要创建该项目并创建分支 2、然后参照这个文章操作就可,这里引用作为记录,感谢原作者; https://www.cnblogs.com/zouhong/p/12598139.html

二进位注册文件_“无法导入桌面新建的文本文档.reg 指定的文件不是注册脚本。你在注册表编辑器中只能导入二进位注册文件”...

满意答案 c442049513 2013.06.08 采纳率:46% 等级:12 已帮助:11224人 看看你的格式 对不对 你在 右键 编辑 可以查看 改成 Windows Registry Editor Version 5.00 比如 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\http] "Source Filter"="{E436EBB6-524F-11CE-9F53-0020AF0BA770}" @="URL:HyperText Transfer Protocol" "AppUserModelID"="Microsoft.InternetExplorer.Default" "EditFlags"=dword:00000002 "URL Protocol"="" "WebNavigableCLSID"="{ae90e550-0443-47fb-a001-4875648d4ed3}" "FriendlyTypeName"="@C:\\Windows\\System32\\ieframe.dll,-903" [HKEY_CLASSES_ROOT\http\DefaultIcon] @="C:\\Windows\\System32\\url.dll,0" 08分享举报

Windows/Linux 一条命令简单搭建一个文件系统

文章目录 前言一、文件系统二、http.serverWindows/Linux(通用) 三、miniserveWindowsLinux 前言 防火墙记得关闭或者放行,python环境比较容易搭建,这里就不说了 一、文件系统 1.http.server(python自带,页面比较简陋,不可加密,不过不用下载,方便,适合内网同事互传文件) 2.miniserve(某位大佬用rust的Actix框架写的,可加密,页面看着也很舒服,适合生产环境公网云服务器,下载链接) 二、http.server Windows/Linux(通用) python2 python2 -m SimpleHTTPServer 8000 # 端口可自定义 # python2 -m SimpleHTTPServer 8000 --bind 127.0.0.1 # --bind参数选择网卡绑定特定地址 # python2 -m SimpleHTTPServer 8000 --directory /tmp/ # --directory指定目录 python3 python3 -m http.server 8000 # 端口可自定义 # python3 -m http.server 8000 --bind 127.0.0.1 # --bind参数选择网卡绑定特定地址 # python3 -m http.server --directory /tmp/ # --directory指定目录 三、miniserve Windows 将文件下载完放在某个目录下,将文件名改为miniserve.exe,命令行进入该目录 miniserve.exe file # 可文件可文件夹 -p # 指定端口 -h # 查看所有参数 -i # 绑定网卡,可多个 --auth test:test # 加密验证 --random-route # url后缀随机6位数字符串 Linux mkdir -p /data/miniserve cd /data/miniserve wget https://github.

查找版本_教你如何不用安装UG软件查看prt文件版本号

 提示:点击上方"NX网"↑ 免费订阅 关注老叶 好久没发点东西了,今天看到老叶的抖音上发的一个 如何知道PRT文件版本的视频。 我也来扩展一下,不需要使用UG NX软件,用一个文本编辑器即可 比如NOTEPAD++,记事本写字板应该也可以。 首先,找到这个文件,右键,用NOTEPAD++打开。 然后在NOTEPAD++查找 NX 注意是大写,查找前光标定位在文件最开头 找到的第一个NX处就有当前的版本号了: 所以这个文件的版本是 NX 12.0.2.9,后面还有其他几个版本(不一定是真实的),且后面有这么一行 这个其实是模板,而你如果是把文件另存为过的话,也会显示这个,且显示另存为前的名字。 大家可以试一下,有的还会显示用户名等,里面有不少信息是可以明文获取到的 有一点,这个模板似乎前面是CPart和Fpart,应该有什么特定的含义吧,另存为是Part开头的,大家可以验证下 还有一点,低版本,比如NX10.0新建的,查找当前版本后面还有几个版本的存在,而NX1926只有NX1926(其他没测试) 长按关注 此文为NX网原创文章,本着技术分享的精神,欢迎大家转载,但务必注明来源。擅自转载、复制、截取等,不注明出处均为侵权。 Email:SIEMENS_PLM@qq.com ↓ 点击下方“

在vscode终端中直接显示git的分支名称

标题 实现下面这种效果 准备工作 安装vscode与git 方法 打开vscode首选项 file=>preferencsd=>settings 在打开界面里搜索shell 找到terminal=>Integrated=>Shell: Windows 选择编辑json 把你的gitbash地址复制上去 注意:vscode里gitbash的路径写入是 \ "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe" // 自己注意改路径 重启vscode

python中screen用法_screen的用法

#screen使用 SSH登录后 screen -r #返回session There are several suitable screens on: #提示可用session列表 29793.demo(12/07/2018 12:18:04 PM)(Detached) 25851.demo(12/07/2018 11:55:52 AM)(Detached) 25598.demo(12/07/2018 11:54:46 AM)(Detached) 25803.mongo(10/18/2018 05:41:19 PM)(Detached) 25727.mongodb(10/18/2018 05:40:34 PM)(Detached) 17048.agile(08/16/2018 06:26:30 PM)(Detached) 4509.interface(05/20/2018 03:29:04 PM)(Detached) Type "screen [-d] -r [pid.]tty.host" to resume one of them. 选择一个screen进入 #只有Detached可以进入 screen -r 29793 回车 #如果有多个session需输入进程号来返回session screen -r demo 回车 #如果demo只有一个进程的话可以直接敲入demo即可返回session 显示为每口井的状态,如果列表刷新,证明有数据在采集,否则到网页点击发送读取请求,列表开始刷新。 命令: screen -S session名称 #新建一个session screen -S session数字 -X quit #杀掉进程并退出 screen -ls #查看进程列表

潭州python学院12306案例_人工智慧時代來臨,潭州教育開設Python課程帶學員入門機器學習...

當今時代,隨著人工智慧科技的飛速發展,人工智慧逐漸深入社會生活生産的方方面面。根據《2019中國人工智慧發展報告》相關數據顯示,人工智慧行業的融資規模呈上升趨勢。在當紅的人工智慧領域,機器學習作為該領域的核心技術,對於人工智慧由抽象概念轉為現實應用具有深遠的意義。對於IT從業者來説,人工智慧的發展也給自身的職業發展帶來了新機遇。而在機器學習中,Python語言的應用前景比較廣闊,是非常適合IT從業者深入學習的編程語言。在此背景下,一個能夠提供Python語言學習的優質教學平臺顯得十分重要。潭州教育作為國內知名的線上教育頭部平臺,在學習資源方面,潭州教育為廣大IT從業者提供了豐富的Python相關學習課程。 潭州教育 潭州教育Python學習課程,採用個性化的教學安排,針對不同基礎的學員因材施教,課程類別涵蓋入門班、補充班、項目班等,充分照顧到學員的學習需求。潭州教育《Python Django項目班》課程,由技術大神為機器學習初學者量身打造,使用當前流行的Python語言,將演算法與編程融合,深入淺出,幫助學員打開機器學習世界的大門。潭州教育《Python Django項目班》課程的教師,在教學過程中著眼全局,重視學員對知識的理解和運用。同時,教學老師們還具有獨特的教學思路,包括原理深入、場景切入、演算法對比、參數調整等,讓用戶不僅是停留于表面皮毛的學習,而是深入到機器學習的內部,全面掌握機器學習體系。如果學員對以上課程感到困難的話,潭州教育還開設的有入門級別的《Python入門基礎班》。入門基礎班的課程,不僅零基礎的小白學起來無壓力,而且對從事Web開發框架的用戶也能給予幫助。從Python基礎語法到Python運用,潭州教育的講師結合實際應用案例講解,幫助學員打下機器學習基礎。 作為一家自2007年就進入線上教育行業的企業,從潭州教育為“全球70億人提供教學服務”的企業願景就可以看出,潭州教育的經營理念絕不會是拘泥于單一品類的教學。而多年的發展也證明,潭州教育是一家面向多年齡段人群、發展多品類課程的線上教學平臺,如今,經過十餘年的沉澱,潭州教育已經開設集IT網際網路、設計創作、學歷考證、興趣藝術、實用外語、農業生産六大品類,打造了擁有200多門專業課程、上萬門精品小課的課程庫,極大程度地覆蓋了不同年齡段、不同職業人群的不同學習需求。 教育是關係個人成長的大事,更是關係國家發展的大事。潭州教育未來將不忘初心,不斷奮力前進,與時俱進,開發更多優質課程,培養更多專業教研團隊,為更多人提供有價值的教學服務,為祖國輸出更多優秀人才。

echarts按照时间显示柱状图_ECharts柱状图的标注如何实现

ECharts 中使用 markPoint 可以控制柱状图的标注。 series[i]-bar.markPoint 设置 ECharts 柱状图标注,这是一个 Object。 series[i]-bar.markPoint.symbol [ default: 'pin' ] 柱状图标注的图形设置,取值类型为 string。 ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow' 可以通过 'image://url' 设置为图片,其中 url 为图片的链接,或者 dataURI; 也可以通过 'path://' 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适的大小。路径的格式参见 SVG PathData。可以从 Adobe Illustrator 等工具编辑导出。 series[i]-bar.markPoint.symbolSize [ default: 50 ] 柱状图标注的大小,值类型为 number、Array、Function;可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,例如 [20, 10] 表示标记宽为20,高为10。 如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:(value: Array|number, params: Object) => number|Array 其中第一个参数 value 为 data 中的数据值。第二个参数 params 是其它的数据项参数。 series[i]-bar.markPoint.symbolRotate number 柱状图标注的旋转角度,值类型为 number。注意:在 markLine 中当 symbol 为 'arrow' 时会忽略 symbolRotate 强制设置为切线的角度。

mybatis plus 自定义sql 不生效_Mybatis中不建议使用动态sql

Mybatis是一个优秀的Java持久层框架,它通过xml的方式来管理要执行的sql语句,屏蔽了jdbc底层细节,让开发人员可以方便的操作数据库。 动态SQL 说到动态SQL,绝对是Mybatis引以为豪的东西,因为它可以使配置文件简洁,就像下面这个配置,我可以使用selectEntryByWhere来适配所有的查询语句,是不是感觉很爽。 SELECTFROM order AND order_id = #{orderId}AND user_id = #{userId}AND type = #{type} AND type in #{type} = #{startTime}]]> 不建议使用动态SQL 这里说下我的原因,为什么不建议使用动态SQL? (1)使用动态SQL存在内存溢出隐患。线上遇到过真实案例,就因为某个字段为null查询全表,导致OOM。写代码时很爽,一旦出了线上问题,排查起来就非常麻烦了,当时使用jmap dump出堆内存信息,慢慢才分析出来。 (2)代码可读性非常差。试想一下,如果你接手一个不熟悉的项目,一般情况下,我们都会从数据库底层开始,逐渐了解整个业务的逻辑。但是你一看到这个动态SQL,尤其是几十个查询SQL都走到这里,估计你会崩溃,因为你不知道参数是怎么传递的,所有的查询语句都走到这来了。 我的建议 强烈建议不要使用动态SQL拼接,DAO层的每个查询方法,在Mybatis的xml配置文件中都应该有对应的配置。比如我要根据订单ID查询,应该这么写而不是直接通过selectEntryByWhere方法查询。 SELECTFROM orderwhere order_id = #{orderId}

numpy 查找 返回索引_numpy中实现ndarray数组返回符合特定条件的索引方法

下面为大家分享一篇numpy中实现ndarray数组返回符合特定条件的索引方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧 在numpy的ndarray类型中,似乎没有直接返回特定索引的方法,我只找到了where函数,但是where函数对于寻找某个特定值对应的索引很有用,对于返回一定区间内值的索引不是很有效,至少我没有弄明白应该如何操作尴尬。下面先说一下where函数的用法吧。 (1)where函数的使用场景: 例如现在我生成了一个数组: import numpy as np arr=np.array([1,1,1,134,45,3,46,45,65,3,23424,234,12,12,3,546,1,2]) 现在arr是一个含有18个元素的ndarray类型的数组,后面就用数组来称呼它吧。假如我想返回数组中所有元素值为3所对应的索引位置,那么通过where函数可以很轻松地完成。 print np.where(arr==3) 它会返回一个包含所有值为3对应的索引位置的元组,如下图: 可以看到在索引为5、9、14的地方所对应的元素值为3。通过这样的方式可以轻松达到目的。但是对于一定变化范围内的索引这样就不行了。下面的方法是自己想出来的折衷办法,比较笨,高手清喷。 (2)通过一个辅助的数组来解决一定范围内值索引的查找 我们建一个标识元素索引的数组,然后通过它来显示符合条件的元素对应的索引。还是刚才的数组,假如我现在要返回元素值在3到100之间值的索引。我可以生成一个和arr相同大小的数组,然后首先通过一次筛选找到大于3的元素对应索引的数组,继而在其中再次筛选,最终得到想要的结果。代码如下: b=np.arange(len(arr))#生成和arr相同长度的数组 c=b[arr>3]#c存放的就是arr中大于3的元素对应的索引 #最后通过遍历c数组,选择3到100之间的值打印出来 for i in range(len(c)): if arr[c[i]]<100: print c[i], 下面看一下执行的效果: 可以看到程序将所有介于3和100之间的元素对应的索引值打了出来,如果想同时获得索引值和相应的元素,只需将上面的“print c[i]”, 替换为 “print c[i],arr[c[i]]”即可。 当然这种方法也适用于选择某个特定值对应的索引,例如我想找到所有3对应的位置,可以用print b[arr==3]即可打印出所有值为3的元素所对应的索引。其实不论怎么做,都是用到了数组进行关系运算后生成布尔数组,然后让数组中为True的地方进行显示。 当然还可以通过两次进行筛选,分别筛选出大于3的元素和小于100的元素对应的索引数组,然后两个数组做交集处理,在numpy中有一个intersect1d函数可以进行这样的运算,但是仍然麻烦。目前只能想到这些办法,不知道有哪位高手有更好的方法,欢迎大家一起交流一下。 相关推荐: 相关推荐: python3库numpy数组属性的查看方法 在python中numpy与array应该怎样转换

phoenix 根据条件更新_教您一步步升级Phoenix BIOS

现在的革新速度真让人叫绝,不管是在软件还是硬件方面,就拿操作系统来说吧,对于老主板用户,其BIOS未必那么给面子;我以前的主板是Intel AL440LX芯片组,对硬件了解的Fans一看就知道这是一块老古董似的板子了,用的是Phoenix BIOS,在Windows 2000 Professional系统风靡的那年,母板上带着的老版本的Phoenix BIOS提示俺与潮流无缘,让俺回家歇菜去,不然就去升级BIOS版本,那我也只能硬着头皮冒冒风险了,谁叫俺任性呢(那个年代我还只是个菜鸟级人物,刚刚近入这个领域),经过查阅大量的资料再加上高手的言传,才会在担惊受怕中顺利过了关。现在能查阅到的大部分资料都是关于Award BIOS和AMD BIOS的情况介绍,可是对于Phoenix BIOS却提及很少,不过在国内Phoenix BIOS也有一定的用户量,就此经验不敢独享,现在就将其整理出来和有相同情况的friends一起分享。在此特别提醒:升级BIOS有风险。 第一步.查阅当前BIOS的版本号 这一点是很重要的,现在的Intel英特尔AL440LX主板最新BIOS是4A4LL0X0.86A.0031.P14版;Phoenix:基础版本4,修改版本6,基本上所有的PhoenixBIOS基础版本都是4,所以是否需要升级主要看它的修改版本号。查询的方法是在开机时按F2健进入BIOS设置,在Main(主)菜单项中BIOS Version显示着BIOS的版本号。 第二步.记录当前的BIOS设置 开机时按F2健进入BIOS设置,写下BIOS设置程序中的当前设置,这一步是为了升级结束后,用这些设置来配置你的计算机。当然你要是对自己机子的BIOS设置清楚的很,那这一步也是多余的;你也可以到最后直接按F9健取出默认的BIOS设置。 第三步.获取升级使用程序 到[海阔天空下载站http://software.chinese.com/drive/drive_bios/intelal440lx_1.html]下载最新的升级 使用程序albios14.exe;或是到www.intel.com和www.phoenix.com查找最新的升级使用程序。 第四步.制作一张启动软盘 可以利用纯DOS或Windows 98系统制作该启动盘,将一张软盘插入软盘驱动器A,在C:\提示符下,如果是一张未格式化的盘应键入format a:/s命令,如果是一张已格式化的软盘则只需键入sys a:命令。 第五步.制作BIOS升级软盘 下载下来的升级文件albios14.exe是一个压缩的自解压文件,它包括升级BIOS说需的文件。将albios14.exe文件复制到硬盘的一个临时目录里,双击后会出现提示窗口,有关于albios14.exe升级文件的介绍和BIOS版本号,最后问你Do you want to extract these files now(y/n)?按y健回车后,便开始解压缩,解压的文件包括 LICENSE.TXT、README.TXT、BIOS.EXE、P14-0031.DOC、MK_BOOTZ.EXE,其中BIOS.EXE也是一个压缩的自解压文件,将启动盘插入A驱动器,在C:\提示符下进入该文件的临时存放目录并键入BIOS A:命令回车后,BIOS的升级文件和恢复文件就已经存放到启动盘中了。 第六步.升级BIOS 开机时按F2健进入BIOS设置,进入Boot(启动)菜单,把First Boot Device(第一启动设备)设置为软盘启动,把启动盘放入驱动器A启动计算机,屏幕上将显示BIOS升级使用程序。选择Update Flash Memory Form a File项,再选择Update System BIOS项按回车健,用箭头健选择正确的.bio(即P14-0031.BIO)文件并按车健,当该使用程序要求你将新BIOS输入到内存中进行确认时,选择Continue with Programming,然后回车。最后,到使用程序显示了upgrade is complete信息后,就可以把软盘取出并按车健,升级结束。 第七步.检查BIOS版本号 重启计算机后按F2健进入BIOS设置,检查BIOS版本号是否是4A4LL0X0.86A.0031.P14以确认升级是否成功。 第八步、恢复升级失败后的BIOS 一般来说,BIOS升级不会被中断,但是,如果因为停电或者误操作引起了中断,BIOS将会被破坏,如果不及时恢复,那么后果是很严重的。恢复损坏的主板BIOS一般有以下方法:其一,使用BIOS中的自举块;其二,换一块新的BIOS芯片;其三,热拔插;其四,送专业维修点用专业的EPROM写入器修复了。以上的方法一般都是基于Award BIOS或AMD BIOS主板的恢复,介绍以上方法的资料已经数不胜数了,我在这里就不再画蛇添足了。但是对于Intel AL440LX芯片组的Phoenix BIOS的恢复你就透着乐吧!绝对不是那么专业化的,(在恢复的过程中,因为无法支持视频显示,所以屏幕不会有任何显示,只有听扬声器的声音和观察软盘驱动器的指示灯了来判断了)下面就听我细细道来:首先,关闭计算机所有连接的外围设备,并关闭计算机,把机箱打开(放掉身上的静电),在母板上找到跳线J8B2(此跳线在Intel AL440LX主板的左下角,三针的,当跳线在1-2针上时,代表着是正常状态;在2-3针上时,表示是BIOS配置状态,此时的BIOS会显示全部的选项供用户设置;但当针上无跳线时,则表示BIOS处在恢复状态,可以恢复因升级失败的BIOS数据)。所以拔掉针上的跳线后,把之前制作的启动升级软盘放入驱动器A,重启计算机,恢复过程会持续几分钟,这时候如果扬声器发出两声蜂鸣声并且软盘驱动器A指示灯也停止了,那么就恭喜你了恢复成功;但是要是蜂鸣声连续不断那就表示失败咯!不用怕,重新按前边的步骤来一遍就是了;如果最终还是不行那只有用Award BIOS或AMD BIOS恢复的后三种方法中的一种了。恢复成功后再关闭计算机,把跳线J8B2恢复到1-2针的正常模式,将启动升级软盘放入驱动器A,重启计算机继续BIOS的升级。最终升级成功后再把J8B2上的跳线接之2-3针的设置模式,按F2进入BIOS设置安第二步记录下来的内容设置,最后,在把J8B2跳线恢复到正常模式,盖好机箱盖。大功告成,皆大欢喜! 严重声明:升级BIOS,有风险,后果自负.

maya批量导出obj脚本_【AE脚本】Projection 3D更新了!在AE中将图片转换成真实三维空间动画,还能支持OBJ模型的导入导出...

宣传视频 点击观看 脚本信息 【名称】:三维视差脚本Projection 3D v2.01 【系统】:Win&Mac 【语言】:英文含使用教程 【适用】:AE CS5及以上版本 脚本介绍 Projection 3D是一款著名的平面图片投射三维空间(具体效果见上方预览),此次更新的最新版本为V2.01版本。 Projection 3D可以在AE软件中将静态的二维图片转换成真实三维空间的摄像机动画,并且支持导入低精度的OBJ三维模型。 Projection 3D v2 新功能重要特性: 用户使用界面更加一目了然; 将图像直接导入到所选位置; 3D对象的创建及导入速度明显提升; 支持导出及导入OBJ文件; 支持导出摄像机动画; 所有工具都可以当场创建3d对象; 新工具-球体化,沿路径挤出,从点生成平面; 拉伸工具中的新增功能; 下载链接 https://pan.baidu.com/s/1ALGxnTM06oVxl5QspGX5Ug 提取码:gevw 若链接失效,请点击此处 AE爱好者聚集地 扫码关注 AE PLAYER

HIP4082电机驱动电路详解

一、原理图 以下内容是我在14届小白四轮组里使用到的驱动原理图,因为突然回顾以前做过的这个驱动电路,所以记录一下防止遗忘。以下只列出以下主要电路: 二、化简电路再做分析的前提 前提,我们先明确以下知识点,再来把无关器件省略掉,分析主干电路。 MOS管导通的实质是对GS结电容充电,在上图所示的原理图我在G级串联一个电阻是为了限制充电速度,防止充电过快产生震荡。栅极电阻一般串联一个10欧左右的电阻,GS级之间一般并联一个10K的电阻用来关断期间结电容的放电。与MOS管并联的二极管是不必要的,因为MOS管内部集成了二极管,即体二极管。 在不考虑串联的10欧姆左右的电阻以及GS级并联的10K欧姆的电阻,还有MOS管外面另外并联的二极管,电路简化至下图作分析: 三、分析一下自己的理解 < 1 > 引脚说明 < 2 > MOS管的高端驱动和低端驱动 所谓的高边驱动或者低边驱动,指的是在电子电路驱动负载时,当需要控制开关时,开关所处电路的位置。“高”指的是“电源”,“低”指的是“地”。 低边驱动简单的理解为:负载的一端默认与电路的正级即电源保持连接,负载的另一端与开关连接,当开关导通时,负载的另一端与地连接,负载开始工作,当开关与关断时,负载的另一端与地断开,负载停止工作。低边驱动/开关英文:Low Side Drivers,简称为LSD。具体到使用MOS管作为开关的情况的时候,MOS管相对于负载在电势的低端,其中D通过负载接电源,S直接接地。 对于NMOS管,只有当Vgs大于开启电压时,MOS管才能导通。所以当未导通时,S处于一个不能确定的电位。若让Vgs大于开启电压,则DS导通,S确定为地电位,此时仍可以保证Vgs大于开启电压,保持DS导通。 对于PMOS管,只有到Vgs小于一个值,MOS才能导通。此时S处于一个不确定的电位。若让Vgs小于开启电压,即使导通了,S确定下降到地电位,就不能保证Vgs小于开启电压。 高边驱动简单的理解为:负载的一端默认与电路的负级即地保持连接,负载的另一端与开关连接,当开关导通时,负载的另一端与电源连接,负载开始工作,当开关与关断时,负载的另一端与电源断开,负载停止工作。高边驱动/开关英文:High Side Drivers,简称为HSD;具体到使用MOS管作为开关的情况的时候,MOS管相对于负载在电势的高端,其中D直接连接电源,S通过负载接地。 对于NMOS,只有当Vgs大于开启电压时,MOS管才能导通。所以当未导通时,S处于一个不能确定的电位。即使让Vgs大于开启电压,DS导通后,DS电位相等,同为电源电位,除非G极电位比电源电位还高,则不能保持导通状态。 对于PMOS,只有到Vgs小于一个值,MOS才能导通。此时S处于一个不确定的电位。若让Vgs小于开启电压,使DS导通,DS同为电源电位,还是能保持Vgs小于开启电压,是MOS保持导通状态。 总结:PMOS适合作为高端驱动,NMOS适合作为低端驱动。但是由于工艺等各方面的原因。在大电流情况下,通常仍把NMOS作为高端驱动。于是,为了保证高端驱动的NMOS的Vgs保持大于开启电压。我们会使用半桥驱动芯片。半桥驱动芯片把高端驱动的NMOS的S极作为参考地,输出一个恒定的开启电压,来控制MOS的导通。 < 3 > 电机驱动电路分析 如上图所示电机驱动原理图,我采用的是HIP4082全桥驱动芯片。将高端驱动的NMOS作为参考地。 因为我们是用的是NMOS管,所以当Ugs的电压大于开启电压,MOS管才被导通,而我在此处采用的自举的方式,输出一个恒定的开启电压,来控制MOS管导通。 下面解释一下,在HIP4082驱动芯片这边的自举电路原理: 首先BHS引脚里的HS指的是High S极,也就是上管Q5的S极,可以看到此处下管Q7的S极是接地的,所以如果下管Q7处于导通状态的时候,BHS引脚,也就是上管Q5的S极就相当于接地了,这时BHS的电压也就是上图Q5的S极的电压。 这个时候,外部电源通过自举二极管向自举电容充电。 在处于目前下管Q7导通,上管Q5关闭的状态的时候,此时外部电源通过二极管和自举电容给电容充电,然后BHB和BHO引脚处于短接状态,此时上端MOS管Q5导通。 我们先假设这里C10充满电就是12V,因为BHB和BHO短路,此时自举电容充的电就通过BHS举给了BHO,所以BHB和BHO的电压是一样的。然后此时Q5的S级接地,忽略掉R13的时候电压约为12V,相当于Vgs之间是接了一个恒定的电压来保持这里NMOS管的必然导通。此处就是通过自举出来一个恒定的电压来确保Vgs的电压大于MOS管的导通电压解决了上面提到的当NMOS为高端驱动时的导通状态不确定的问题。 经过以上环节之后,上管Q5导通,下管Q7关闭,此时BHB和BHO就不处于短接的状态了,由于电容充满电了,BHB的电压是比BHS的电压高的。此时我手绘了一下电路如下图: 以上就是自举电路的原理。 值得注意的是: 正是因为这里自举电容只能在下管Q7导通的时候充电,所以一般的NMOS桥驱动都不能输出百分之百的占空比。你可以这么理解,就是此时电容里的电是维持上管Q5持续导通的,比如我假设的这里电容充满电之后电压是12V,但是总有时候电容里的电是会放光的,此时自举电容电没了就举不动了,这个时候上管Q5就关闭了,而这个过程是慢慢的,可能会导致上管的G极电压出现非饱和区和截止区,造成上管gg,所以一般限制占空比最高在 95 % 到 98 % 95\%\ 到\ 98\% 95% 到 98% 。然后上管Q5关闭之后,Q7导通,继续给电容重新充电。然后循环这个过程。上图只是我们使用的某一款驱动芯片,下面列出的是通用解释自举电路内部原理的图,其中Vbs(驱动电路Vb和Vs管脚之间的电压差)给集成电路高端驱动电路提供电源。该电源电压必须在10-20V 之间,以确保驱动集成电路能够完全地驱动MOS栅极器件。Vbs电源是悬浮电源,附加在Vs电压之上(Vs通常是一个高频的方波)。有许多方法可以产生Vbs悬浮电源,其中一种如本文中介绍的自举方式。这种方式的好处是简单、低廉,但也有局限性。占空比和开通时间受限于自举电容的再充电(长时间导通和大占空比时要求有充电泵电路支持,详见AN-978C了解): 对于含有自举电路的PCB布板方法,需要注意自举电容要尽可能靠近IC的管脚。如下图所示,至少有一个低ESR的电容提供就近耦合。例如:如果使用了铝电解电容做为自举电容,就应再用一个瓷电电容。如果自举电容是瓷电或钽电容,自己作为就地耦合也就足够了。 < 4 > 具体到通过PWM控制电机占空比 首先列出HIP4082芯片引脚的真值表: 首先看看DIS引脚,这个引脚的作用是控制芯片是否工作的。我当初接的是低电平,也就是芯片一直保持工作。但是它也可以接一个IO口,让GPIO输出高电平或者低电平来控制芯片是否工作。 再看BHO和BLO的引脚,我的理解是,B表示这个芯片控制的其中一个半桥的引脚开头字符,A就是另外一个半桥引脚的开头字符,H(high)表示的上管,L(low)表示的是下管,O表示的是ON,也就是打开的意思。通过真值表我们可以看到,这里以B开头的半桥引脚为例: 当BLI为高电平的时候,意思也就是比如我现在给的 90 % 90\% 90% 的占空比,他处于高电平的那段时间,此时无论BHI接的什么电平,此处接的是12V高电平,这个时候下管是关闭的,上管是导通的,也就是这段时间用来给电机以 90 % 90\% 90% 的占空比输出。当BLI为低电平的时候,也就是 90 % 90\% 90% 占空比的另外 10 % 10\% 10%处于低电平的时间段,若BHI为高电平的时候,此时上管关闭,下管导通,也就是这段时间去给自举电容充电。

RabbitMQ:Plugin configuration unchanged;解决RabbitMQ启动问题,Win10用户中文问题解决

近几天在学习RabbitMQ消息中间件,学习的途中记录一下遇到的问题 首先MQ是什么? MQ是Message Queue消息队列的缩写。消息队列是一种应用程序对应用程序的通信方法、应用程序通过写和检索入列队的针对应用程序的数据(消息)来进行通信,而不需要专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信,队列的使用除去了接收和发送应用程序同时执行的要求。 RabbitMQ是MQ的一种.还有几种,这里就不一一介绍了,大家可以自行查找翻阅 Plugin configuration unchanged问题 这是博主电脑用户名是中文的缘故导致的,即使改了还是中文,接下来教大家如何解决 (运行rabbitmq-plugins enable rabbitmq_management命令之后爆的错误) 在安装完RabbitMQ并且配置好环境变量之后.首先使用管理员权限打开命令控制符 注:一定要使用管理员权限打开,要不然权限不够 打开之后进入到安装RabbitMQ的安装目录sbin下 然后用命令进入到这个路径下 进入到这里之后在终端执行 rabbitmq-service.bat remove 命令 然后执行 set RABBITMQ_BASE=D:\rabbitmq_server\data 命令,后面的路径写自己的文件夹,可以创建一个data,此项操作是因为默认的路径在c盘用户的文件夹下 此项操作可以改变默认路径 然后执行下载命令: rabbitmq-service.bat install 执行完此命令之后再次执行 rabbitmq-plugins enable rabbitmq_management 命令 还没完,紧接着执行RabbitMQ启动命令: rabbitmq-server.bat start 如上则是启动成功,之后去浏览器打开RabbitMQ的Web端管理网页: localhost:15672 默认用户名和密码都是guest,点击登录即可.

Fiddler+夜神模拟器+xposed+justTrustMe手机抖音抓包

一、Fiddler下载安装 Fiddler是一款抓包神器,可以让电脑、手机、平板上所有应用发送的请求先通过Fiddler再发送到服务器,服务器返回的应答先通过Fiddler再返回给应用,相当于一个邮寄员。 Fiddler官网下载 或者 百度云(https://pan.baidu.com/s/1x-Y_mJ8Z8VEc4GCWiNkVsQ)(提取码:i8ex) 需要科学上网注册账号才能用,可以去网上找其他破解版安装。 1.Live Traffic是抓取开关,打开后电脑所有的请求就经过Fiddler代理,Fiddler就开始记录并抓取所有的请求。关闭Live Traffic或关闭Fiddler软件会退出Fiddler代理。 2.勾选Capture HTTPS trafficc后重启才能抓取https请求。 3.端口默认是8866,可自行修改,勾选Allow remote computers to connect才能抓取手机其他设备的包。 二、下载夜神模拟器 问题:为什么要下载夜神模拟器+xposed+justTrustMe? 答: 这就要谈到『SSL Pinning』技术。App 可以自己检验 SSL 握手时服务端返回的证书是否合法,“SSL pinning” 技术说的就是在 App 中只信任固定的证书或者公钥。 因为现在手机安卓系统7.0以上把证书分为系统证书和用户证书。 有些app默认只信任系统证书,而用真实手机抓包的话有些软件会提示没网(比如抖音)。所以需要使用 Android 下的一些 Hook 技术来绕过本地证书强校验的逻辑,比如我们使用的模拟器+xposed+justTrustMe, 以小米手机为例,在手机设置->密码与安全->系统安全->加密与凭据->信任的凭据中可以看到系统证书和用户证书: 所以用模拟器模拟一个低版本的安卓系统,而且下面安装xposed需要root权限,弄不好手机会变砖,所以模拟机比较放心。 另外一点需要注意的是,如果用模拟器登录抖音,第一次可能没问题.第二次会出现推荐为空,无法浏览视频之类的问题,因为用模拟器登录时定位可能变化的太快,导致抖音禁ip,如果退出再登录会显示操作频繁。 1.下载安装模拟器 夜神模拟器官网下载 2.安装好后打开夜神多开器 3.选择安卓5.0 安装xposed Xposed 框架是一款可以在不修改 APK 的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作. 百度云(提取码:2lx9) 将软件拖到上面的手机模拟器中安装,安装后如图点击下载xposed框架: 点击安装等待重启,期间会提示需要root权限。 安装justTrustMe 下载网址 或 百度云(提取码:6j3e) 将软件拖到上面的手机模拟器中安装。 夜神模拟器网络配置 1.首先查看电脑ip,可使用命令行ipconfig查看或者点击抓包软件Fiddler右下角网络图标查看 2.模拟器设置里找到WLAN网络设置,鼠标左键长按选择修改网络 3.代理选手动,输入电脑ip(必须确保模拟器和电脑在同一网络才能抓到包)和抓包软件Fiddler设置里的端口号。 4.电脑Fiddler启动,打开Live Traffic抓取开关,然后模拟器的浏览器打开http://你的电脑ip:Fiddler端口号。 比如我的是:http://192.168.137.1:8866 然后点击FiddlerRoot certificate下载Fiddler证书。 下载完后打开证书,然后你可以为证书重命名,然后可能会需要你设置锁屏密码,然后证书就安装成功了。 接下来在模拟器里运行软件,比如抖音,就可以在Fiddler中抓到包了。 以抖音为例子: 抖音这个app其实一开始是叫做A.me,也就是英文Awesome Me 崇拜我的意思,后来改名为抖音。抓到的请求aweme开头的就是抖音的请求了。

mysql 外键(foreign key)的详解和实例_MySQL的共享锁阻塞会话案例浅析

这是问题是一个网友遇到的问题:一个UPDATE语句产生的共享锁阻塞了其他会话的案例,对于这个案例,我进一步分析、总结和衍化了相关问题。下面分析如有不对的地方,敬请指正。下面是初始化环境和数据的脚本。 -- -- Table structure for table `tableA` -- DROP TABLE IF EXISTS `tableA`; CREATE TABLE `tableA` ( `id` varchar(10) NOT NULL, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; -- -- Dumping data for table `tableA` -- LOCK TABLES `tableA` WRITE; INSERT INTO `tableA` VALUES ('1','11'),('2','22'); UNLOCK TABLES; -- -- Table structure for table `tableB` -- DROP TABLE IF EXISTS `tableB`; CREATE TABLE `tableB` ( `id` varchar(10) NOT NULL,

studioone机架效果模板_studioone3机架效果包

studio one vst插件安装包是一款针对同名音乐剪辑软件所推出的音效插件合集。该效果包里面拥有100多款音效插件,使用起来也是非常方便的,给你提供环绕效果、回声效果、魔音、双音、震荡、失真、闪避、压限器等音效,喜欢的小伙伴赶紧下载收藏。 【插件包含】 Antares Harmony Engine 和声\Antares Harmony Engine 和声。dll AutoTune5音高修正\AutoTune5音高修正。dll Ambience现场混响\Ambience现场混响。dll AVOX PUNCH 人声增强\AVOX PUNCH 人声增强。dll AVOX SYBIL 人声动态\AVOX SYBIL 人声动态。dll AVOX THROAT 嗓音更改\AVOX THROAT 嗓音更改。dll AutoTune6音高修正\AutoTune6音高修正。dll AVOS SIBYL hh齿音去除器\AVOS SIBYL hh齿音去除器。dll AVOX DUO 二重唱\AVOX DUO 二重唱。dll Izotope Ozone 臭氧4 插件中文\Izotope Ozone 臭氧 混音母带效果插件中文视频教程。mht Izotope Ozone 臭氧4 插件中文\plugins\dsp_vst.dll Izotope Ozone 臭氧4 插件中文\plugins\foo_dsp_vst.dll Izotope Ozone 臭氧4 插件中文\plugins\VST_plugins\iZO4_Pre> 【使用说明】 点选项,然后定位,然后VST插件可以看到文件夹,把插件安装或放到文件夹就可以了。也可以自己添加文件夹

镜像电流源特点_镜像电流源电路分析

电流源也就是恒流源,是指输出恒定电流的电路,这里的恒定包括电流的大小以及波形,不随着外部负载的变化而变化。 电流源的内阻相对于负载阻抗来说是非常大的,这样负载阻抗波动几乎不会改变电流大小。 由于内阻等多方面的原因,理想电流源在真实世界是不存在的,但这样一个模型对于电路分析是十分有价值的。实际上,如果一个电流源在电压变化时,电流的波动不明显,我们通常就假定它是一个理想电流源。 今天我们来看一下镜像电流源,先看看电路图 三极管T0和T1匹配,也就是两个三极管的参数一致,R和T0构成参考支路,提供基准电流IR, Ib1 = Ib0=2 Ib Ic1 = Ic0= Ic ═〉 Ic1 = Ic0= Iref -2 Ib= Iref-2( Ic0/β) 得: Ic0≈ Iref×[1 ÷﹙1+2/β﹚] 当β>>2时,可得: Ic0≈ Iref =[ Vcc- Ube1 ]÷R 如上图计算,这样输出电流就可以消除掉外界的干扰,输出恒定的电流,为其他电流提供稳定的基准。

lgg7刷机包下载_LGG7One刷机包

详情 LGG7One刷机包是一款专门用于LG手机刷机的辅助工具,这款软件大大提升了系统的流畅性,实用性也得到了很大的提升,该工具剔除了繁琐的操作,让用户能够轻松上手。赶快来下载吧! LGG7One刷机包软件介绍 LGG7One刷机包是安卓手机刷机软件,实现了一键式操作,全程指引,能够轻松备份数据,且带有一键恢复功能,让你的刷机安全无风险。 刷机工具准备 刷机工具下载:刷机大师下载(可直接在下方下载地址下载) LGG7One刷机包可以去ROM基地下载,也可以直接在刷机大师里面下载。 刷机前置条件 手机电量充足,建议50%以上电量剩余。 保证手机内置存储或手机外置SD卡至少有大于ROM包100M以上的剩余容量。 LGG7One是否使用了原装数据线 刷机步骤方法 手机连接刷机大师 下载刷机大师解压后安装,开启手机USB调试模式后 (如何开启调试?),连接到刷机大师会自动安装手机端驱动,使手机保持正常的开机状态。 进行ROOT 点击“更多工具”,选择“ROOT大师"对LGG7One一键ROOT ,等待ROOT成功后自动重启。 数据备份 点击“更多工具”,选择“备份大师"对你的手机进行数据备份。 选择ROM包 选择LGG7One的刷机包或者是点击刷机大师里面的ROM基地,然后搜索LGG7One,点击进去就可以见到LGG7One的ROM包。 一键刷机 准备好ROM,我们就可以开始一键刷机了,刷机开始之前中刷机大师会对手机和对刷机包进行检查,点击“浏览”选中刚才下载好的ROM,别忘了按照提示备份好联系人、短信和应用哦。 进入“一键刷机”模式之后,我们的奇妙之旅就开始啦。接下来设备进入自动刷机模式,大概5-15分钟后,即可完成LGG7One的一键刷机!请务必耐心等待。 耐心等待几分钟,刷机就会自动完成啦!恭喜您刷机成功。

python同时执行5个sql_如何在Python脚本中执行多个SQL语句?

我正在使用Python中的以下代码模板(使用Atom构建/编写)。在import pyodbc import pandas as pd import win32com.client cnxn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server ='prodserver', database = 'XXXX') cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8') cnxn.setencoding(str, encoding='utf-8') cnxn.setencoding(unicode, encoding='utf-8', ctype=pyodbc.SQL_CHAR) cursor = cnxn.cursor() script ="""SELECT AccountsCount.AccountClass, COUNT(*) as Count FROM (SELECT * FROM XXXX.dbo.table where SubNo='001' AND (DATENAME(WEEKDAY, GETDATE()) = 'Sunday' AND convert(date,AddDate) = DATEADD(DAY, -2, CAST(GETDATE() as DATE)) ) OR (DATENAME(WEEKDAY, GETDATE()) = 'Monday' AND convert(date,AddDate) = DATEADD(DAY, -3, CAST(GETDATE() as DATE))

佳能g2810提示5b00_佳能G2810打印机清零软件5B00 5b01废墨清零1700代码

CANON佳能打印机上显示P07、E08,电脑上出现“错误号码:5B00”, 5B02、5B04、5B14、1700、1702、1704、1714“废墨收集 器将满”或“废墨收集器已满”时就是需要清零了. Canon The printer displays P07 and E08, and the wrong number is 5B00 on the computer. 5B02, 5B04, 5B14, 1700, 1702, 1704, 1714 "waste ink collection" When the device is full or the waste collector is full, it needs clearing. 佳能的打开打印首选项→维护→查看打印机状态 2、佳能打印机清零提示:“废墨收集器已将满或提示5B00或5B01 或P07 P08” 是需要清零了。 或者随便打印一个文件,就会弹出错误提示 ,截图发我看看; 以下部分打印机清零OK上图: 段师傅清零专家 专注软件清零10年 技术QQ :471000270 微信号:QL471000270 邮箱;471000270@qq.com Technology QQ: 471000270 micro signal: QL471000270 mailbox:471000270@qq.com 操作服务操作流程: 付款→QQ传软件→传教程→自己照教程操作→问题解决→你不能解决?→远程协助帮你解决 。 支持以下打印机型号: E400 series: E400, E404, E407, E408 (# 1)

佳能g2810提示5b00_canon佳能G1810 G2810 G3810 打印机5b00清零软件操作教程

机器在使用途中打印罢工出现5B00废墨清零故障,1700 1702 5B02 废墨满 教大家怎么正确清零打印机。 打印机为什么要清零? 答案 : 目前各个厂商凭借垄断技术,在各种打印设备上设置计数器,如时间计数器;故障计数器、印量计 数器、耗材计数器…………一旦机器达到计数器的设定值,通常就会拒绝工作;同时表现为指示灯 交替闪烁、提示特定代码、提示未知错误、通讯错误、废墨满、与经销商联系…………此时如果您 没有相应的清零软件,设备将如同报废;或找到经销商或者服务商,便会告知什么换主板;换墨垫;换这,换那……狠宰你一笔50-200元钞票,这样交费还不至是这一次,下次还出现同样问题 又得去维修站哪里去交费了,永无止境 直到你打印机不能使用报废而至,你算算你花多少冤枉钱啊,。所以打印 机清零就是买同型号清零软件将计满的计数器清零刷零即可 打印机就可以继续使用了。 工具/原料 电脑USB打印机线 清零软件 方法/步骤 使用服务站较新2020年升级软件原版维修程序(集成板ST5306),清零软件检测识别打印机型号 更稳定,更安全,更简单。2017-2020软件升级版本(ST4720 升级ST4905 ST4906 ST5103 ST5320 合成版 ST5306) 已经成功清零上百台较新款打印机,能进维修模式保证清零成功!技术成熟安全高效绝不会锁掉主板。其他版本点了直接报废主板,无法关机,在进去维修模式黄灯常亮换主板! 三、佳能打印机清零须进维修模式步骤如下: 打印机进入维修模式方法:打印机一定用USB线接上电脑并确保打印机认墨盒再进。 1.关闭打印机,先按【停止】键,然后紧接着按【电源】 键。(两个按键都不要松开。) 2.当电源灯点亮时,不要松开【电源】键的同时,松开【停止】按键,然后按【停止】键5 次松开,接下来松开【电源】键。 3、当电源指示灯长亮时,维修模式进入成功。电脑设备发现硬件,清零软件检测识别打印机型来完成软件清零。如下图 打印机会打印一张清零完成纸张 D=000.0!表示清零完成! 还做一下国内国外型号 清零:只要可以清零机器都支持! MX320/MX328系列 MX330/MX338系列 MX340/MX347/MX348系列 MX350/MX357/MX358系列 MX360 series系列 MX370 series系列 MX390 series系列 MX410 series系列 MX420 series系列 MX430 series系列 MX450 series系列 MX470 series: MX471 MX472 MX474 MX475 MX476 MX477 MX478系列 MX490 series: MX491 MX492 MX494 MX495 MX496 MX497 MX498 MX499系列

医学图像的数据集和资源

文章目录 一、数据集二、paper以及它的code 一、数据集 医学影像数据集 该网站目前已经收录了针对肝、心、肺、眼底等部位的超过40个数据集,并且数量会持续增加。 你也可以访问他们的在线表格,直接参与数据集的整理和订正 https://docs.qq.com/sheet/DUEl1aE1HR1hJbEJp?tab=agxhgp 二、paper以及它的code 医学图像分割及子任务 https://paperswithcode.com/area/medical/medical-image-segmentation

算法:归并排序

归并排序----分治 时间复杂度:O(n) = nlogn 稳定性:稳定的排序算法 步骤: 第一步:确定分界点:mid = (l + r) / 2 第二步:归并排序left,right 第三步:归并合二为一 代码: #include<iostream> using namespace std; int a[100010]; int n; int temp[100010]; void merge_sort(int l, int r){ if(l >= r){ return; } int mid = (l + r) >> 1; merge_sort(l, mid); merge_sort(mid + 1, r); int j = mid + 1; int i = l; int k = 0; while(i <= mid && j <= r){ if(a[i] <= a[j]) temp[k++] = a[i++]; else temp[k++] = a[j++]; } while(i <= mid) temp[k++] = a[i++]; while(j <= r) temp[k++] = a[j++]; for(int i = l, j = 0; i <= r; ++i, ++j) a[i] = temp[j]; } int main() { cin >> n; for(int i = 0; i < n; ++i){ scanf("

过滤器、拦截器、切面(AOP),及其之间的区别和执行顺序

首先了解一下SpringMVC的执行流程 具体流程如下 用户发起请求到前端控制器(Controller)前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model)。HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组前端处理器通过处理器适配器包装后执行Handler对象。处理业务逻辑。Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象。将ModelAndView返回给前端控制器。视图解析器(ViewResolver)返回真正的视图对象(View)。(此时前端控制器中既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。返回渲染后的视图(html/json/xml)返回。给用户产生响应。 核心就是DispatcherServlet核心控制器,我们看源码可知道DispatcherServlet是Servlet的子类 下面用一张图说一下过滤器、Servlet容器、拦截器、AOP、Controller之间的关系 然后具体执行流程如下: 拦截器和过滤器的区别 1、拦截器不依赖与servlet容器是SpringMVC自带的,过滤器依赖于Servlet容器。 2、拦截器是基于java的反射机制的,而过滤器是基于函数回调。 3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。 4、拦截器可以访问controller上下文、值栈里的对象,而过滤器不能访问。 (拦截器的preHandle方法在进入controller前执行,而拦截器的postHandle方法在执行完controller业务流程后,在视图解析器解析ModelAndView之前执行,可以操控Controller的ModelAndView内容。而afterCompletion是在视图解析器解析渲染ModelAndView完成之后执行的) ( 过滤器是在服务器启动时就会创建的,只会创建一个实例,常驻内存,也就是说服务器一启动就会执行Filter的init(FilterConfig config)方法.当Filter被移除或服务器正常关闭时,会执行destroy方法。init 和 destory都只会执行一次) 5、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。 (关于这句话的解读是:我们知道拦截器是SprinMVC自带的,而SpringMVC存在Controller层的,而controller层可以访问到service层,service层是不能访问service层的,而过滤器是客户端和服务端之间请求与响应的过滤) 6、过滤器和拦截器触发时机、时间、地方不一样 (过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是在servlet处理完后,返回给前端之前,如果看不懂可以看7完后再来理解) 7、过滤器包裹住servlet,servlet包裹住拦截器。(见上面那个包裹图) 顺便说下Filter,以加深理解: 一、Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,如下所示: 二、Filter是如何实现拦截的? Filter接口中有一个doFilter方法,当我们编写好Filter,并配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,因此,在该方法内编写代码可达到如下目的: 调用目标资源之前,让一段代码执行。是否调用目标资源(即是否让用户访问web资源)。调用目标资源之后,让一段代码执行。 web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对 象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源的service方 法,即web资源就会被访问,否则web资源不会被访问。 三、Filter开发入门 3.1、Filter开发步骤 Filter开发分为二个步骤: 编写java类实现Filter接口,并实现其doFilter方法。在 web.xml 文件中使用<filter>和<filter-mapping>元素对编写的filter类进行注册,并设置它所能拦截的资源。 过滤器范例: package me.gacl.web.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * @ClassName: FilterDemo01 * @Description:filter的三种典型应用: * 1、可以在filter中根据条件决定是否调用chain.

cad一键卸载工具叫什么_CAD卸载清理工具

CAD卸载清理工具专门为需要卸载CAD的用户准备的非常不错的工具系列,支持最新的多种系统版本,现在你能完美体验到完全卸载自己的全部的CAD软件相关,相信不少的小伙伴都会非常需要,赶紧下载体验吧! CAD卸载清理工具基本介绍 Autodesk CAD卸载工具(AUTO Uninstaller)是专门为了针对Autodesk CAD软件卸载不干净而导致CAD安装失败问题进行研发的Autodesk CAD一键卸载工具。 现在虽然像360或者其他一些卸载软件提供了强力卸载CAD的工具,可以将CAD的注册表和一些CAD安装目录的CAD残留信息删除,但仍不能确保将CAD所有相关程序文件和CAD注册表全部彻底删除掉。 本人也查过网上关于如何卸载CAD的一些文章,是说删除几个CAD文件和CAD软件注册表就可以了,实际的情况并没有这么简单。CAD安装时产生了几万条注册表,想要彻底卸载CAD软件,就有几万条CAD注册表要删,非人力所能为。 CAD安装失败还和C++版本问题有关,因为每个版本的CAD都是基于一定版本的C++版本而开发的。上面说了这么多,只是两种最常见的情况。 这里介绍一个CAD卸载工具(AUTO Uninstaller),专门用来解决卸载修复CAD软件卸载安装失败的问题。CAD卸载工具(AUTO Uninstaller)会自动执行一系列问题的排查和修复,极大的节省了排除安装CAD失败问题的时间,是目前最完美的CAD卸载修复工具了。 使用说明 1、解压缩 2、安装全部卸载即可

openGL兔兔大作业-面的鼠标拾取

好久没写过GL了,正好来发发教程 要求 给出兔兔的顶点坐标与三角面索引,需要实现: 绘制模型,冯氏光照模型及视角移动鼠标点选高亮某三角面 总体思路 & 坑点 ​ For 可以自己实现OpenGL编写的朋友 导入模型 :给出的数据为顶点坐标,没有法线信息,需要求解法线,在我的实现中对每一三角面根据三点坐标求解了法线,没有进行法线插值,这会使得兔兔表面不够圆润,并且需要 NumFace * 3 大小的VBO,较浪费空间。按道理可以对每一点求解法线,使用该点与邻接点的向量进行加权平均,具体可以参考链接 Weighted Vertex Normals 光照模型:没什么特别的,Blinn-Phong或者Phong的Shader 模型及视角移动:也没什么特别的,取下帧间鼠标Δ值和键盘按键变model view矩阵就行了 点选高亮:这个还蛮有趣的,想了个办法,应该不是最优解,用一个drawcall绘制一张每个面颜色都是该面索引值 / 总面数的RT,然后readBack一下鼠标位置的颜色,拿到高亮面的顶点,这里我直接再加了一个drawcall画这三角,应该是多余了。 实现细节 For 不怎么熟悉OpenGL的朋友 配置OpenGL环境 使用GLFW初始化窗口 GLFW is a lightweight utility library for use with OpenGL. GLFW stands for Graphics Library Framework. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mouse input. 一般使用GLFW作为跨平台的窗口工具,在本例中就作为创建OpenGL绘制窗口,处理鼠标键盘事件的API。

iptv全球直播_IPTV回看属于信网权还是广播权?

IPTV作为传统广播电视在互联网发展技术浪潮中的一种新的服务,在全球众多国家中都存在。经过十多年在技术和用户层面的发展,已经成为一种成熟的服务被广泛应用,可实现回看、时移、点播、直播等功能。IPTV回看引起的诉讼以及被认定为不同的法律责任引发了不少争议。 此前,杭州互联网法院和北京知识产权法院在短时间内出现两起案情近似但结论完全相左的判决,使得相关问题又被广泛讨论。相关争议主要集中在IPTV回看到底落入信网权还是归广播权如果构成侵权,内容集成运营方和专线传输接入方之间在侵权行为中的作用和责任如何承担。本文通过对相关理论和判决的梳理,以期总结出其中的分歧所在,从法律端进一步厘清该问题的性质和所涉主体的责任。 一、IPTV及IPTV回看概述 IPTV(Internet protocol TV)又称交互式网络电视,不同于有线电视、数字电视或网络电视,其可以实现广播电视直播、专线网络直播和专线回看等功能。IPTV系统由前端、网络传输和终端设备三部分组成,用户需要安装电信运营商相应的设备,开通相应的服务后方可使用,并非所有的广播电视用户或网络用户都可以享受服务。IPTV是电信网、广播电视网和互联网三网融合的产物,存在政策和技术因素,一般主要涉及主体含内容集成运营方、专线传输接入运营方两大类主体,前者为经广播电视局批准的提供以电视机为接收终端的信息网络传播视听节目业务,后者为经广播电视局批注的具有IPTV传输服务许可的企业。 2015年,国务院印发《三网融合推广方案》,“三网融合”结束试点阶段,在全国范国内正式全面推广。内容集成运营是由中央电视台会同地方电视台联合建设,IPTV集成播控总平台主要负责全国性节目源的集成、分发和播出情况监看,IPTV集成播控分平台主要负责本地区节目源的集成和播出情况监看。专线传输接入运营主要由联通、移动和电信等通信运营商提供。IPTV回看是IPTV可以实现的功能之一,是通过将接收的广播信号内容存储在本地,并在指定的时间过后覆盖删除的操作,从而实现用户可以在指定时间内随时观看相关节目内容。 二、广播权、信网权及其区别 广播权,具体到本文分析的IPTV回看内容,主要讨论其前两层意思,即以无线方式公开广播或者传播作品,以有线传播或者转播的方式向公众传播广播的作品,暂不讨论IPTV回看一般不涉及的扩音器等传播、转播情形。我国《著作权法》关于广播权的定义直接来源于《伯尔尼公约》,而伯尔尼公约关于广播权的规定出现于罗马修订文本中,因此条款是基于当时的技术情况进行规范的,与当下的技术实际存在不能完全覆盖的情况。由法律规定可以看出,直播时广播权指以无线的方式广播或者传播作品,转播指通过其他有线方式传播广播的作品。而IPTV直播时是通过接收广播信号接入互联网有线传播,广播是通过信号单向传输的,不具有交互性,即广播内容是根据广播组织者的安排在特定时间进行,用户没有选择权。 信息网络传播权,即以有线或者无线方式向公众提供作品,使公众可以在其个人选定的时间和地点获得作品的权利。信网权的特点在于交互性,即用户具有获取内容的选择权。 广播权和信网权,在传输方式上随着技术的发展,有一定的重合性,区分日渐艰难和存在模糊地带,如广播主体也大量的通过有线网络转播广播内容。IPTV回看,是用户可以选择回看前几日的内容,但仅限于当日起前推几日,超期后则无法观看。那么,此种情形是属于交互还是非交互呢?可回看几小时、1日、3日或7日,是否有本质区分呢?此问题的讨论,一方面是法律层面规定问题,另一方面涉及到产业发展和政策问题、经济利益分配问题。 仅从法律层面严格分析,本文认为,但凡用户可以在广播内容直播的时间后选择回看,即应视为具有交互性,落入到信网权范畴。信网权的交互性并不要求所有人在所有时间、所有地点均可以实现交互,交互时间的限制、地域的限制等,并不影响交互性落入信网权范围。 三、IPTV回看法律性质之争 IPTV回看问题产生的根源在于随着网络技术的发展,广播组织者的市场份额和利益受到了挤压,由此寻求新的发展。在三网融合和国家政策层面支持的情况下,出现了广播内容可以点播、回看等功能。由此导致信网权权利方和IPTV回看服务提供方两大利益群体之间的博弈,著作权法是为了在保护部分主体利益的情况下实现社会文化的繁荣与发展。而侵权、纠纷的出现又多是因利益、权利被侵害所导致。那么具体到IPTV中,电视端的回看是否侵害了交互式网络端传播的信网权呢?就此问题理论界和司法实践中均存在不同的声音。 (一)理论界观点 关于IPTV回看是否构成侵害信网权,理论界存在争议,如王迁老师认为IPTV回看完全落入到了信网权的构成要素,即向公众提供作品,公众可以在个人选定的时间地点观看,构成侵害信网权;熊文聪老师认为①交互性与非交互性之间有一个模糊地带;②即使电视端有回看功能,也不会对网络端用户造成实质的影响,不会分流用户;③二者权限分明,且可以通过约定排除;④符合产业政策和公共利益,综前述不构成侵权;祝建军法官在评述案件中表明,IPTV在直播时属于广播权范畴,而在回看时则属于信网权所规定的交互式行为。鲍征烨博士认为,交互式传播的选定时间和地点,主要针对的是传播者传播时接收者的接收时间、地点选择权,IPTV回看的几天后无法回看之时间限制无法改变交互性的本质,认为IPTV时移和回看均属于信网权规制的范畴。综前述,理论界主流观点认为IPTV回看构成信网权,而非广播权。个别学者认为不构成侵害信网权,也主要是从产业政策及发展角度分析。 (二)司法实践层面 1、认为构成侵害信网权 原告爱奇艺与被告爱上电视公司、联通公司信网权纠纷案[(2019)京73民终3696号]中,原告为《芈月传》电视剧合法权利人,拥有信息网络传播权。法院查明,用户可在满足安装机顶盒,开通服务后通过IPTV电视进行7日内容回看。被告系央视国际网络公司控股子公司,经央视国际网络公司授权开展IPTV业务,且其与重庆电视台、湖南电视台等均签订有合作协议,可以集成、分发前述电视台的卫视频道及相关节目。法院认为,首先,爱上公司提供的“回看”服务为用户提供了一种回溯式的、可重复的观看体验,用户可在相应时间段内按照其选定的时间和地点通过点击“回看”获取涉案作品,故被诉行为落入了信息网络传播权的控制范围。二审法院以相同事实和法律依据维持判决。 原告乐视网诉中国电信深圳公司等侵害信网权案[(2014)深中法知民终字第328号]中,原告享有电视剧《男人帮》的信网权,被告在IPTV中提供回看,经审理法院认为此种回看为用户选择时间地点接收内容提供了交互权利,接入网络实现的回看构成侵害信网权,且被告之间对侵权行为属于共同侵权。 根据案例显示,认定构成侵害信网权的案件中,法院一般是直接从涉案行为的性质进行分析,匹配落入信网权的法律要件,并未就被告提供的三网融合相关政策、央视集成授权以及广播信号等进行分析,也未从产业发展等层面进行探讨,仅是法律层面的就事论事。 2、认为属于广播权 原告乐视网诉中国电信杭州分公司侵害信网权案[(2018)浙0192民初4603号]中,原告为《芈月传》电视剧信网权独家权利方,被告提供服务的IPTV电视可实现《芈月传》电视剧3天回放功能。 法院认为,首先要考虑产业政策,三网融合的新业态和政策、技术中立因素;其次,法律层面上,IPTV回看的内容是电视广播信号指定时间内的回看,传播途径是通过专网进行,回看时间仅为3天而并非任何时间均可实现交互性;再次,从技术上分析,IPTV为互联网之外的专网,内容来源于广播信号,应属于广播权二次利用范畴;最后,从利益平衡角度分析,IPTV回看符合产业政策,且并未侵蚀信网权的蛋糕。综合前述,法院驳回原告诉讼请求。本案判决中,法院进行了大量的说理,除了法律层面分析外,大量分析产业政策和利益平衡问题。 本文认为此种分析是值得肯定的,判决的背后是商业模式和商业利益,在法律的框架内要充分考虑判决的社会效果和影响,情理兼备。但是,具体到本案,著作权法的目的是为了保护作者的著作权,从而达到鼓励创作,丰富文化创作和传播,如果该等行为是法律明确禁止的,那即使符合产业发展,也应在法律被修订之前,适用法律的规定。 原告乐视网诉广州珠江数码集团侵害信网权案[(2013)穗中法知民终字第1173号]中,原告经授权取得电视剧《密使》的信网权,被告经浙江广播电视集团节目覆盖办公室授权频道信号,被告可自行传输给用户,同意录播、点播、回看。现原告起诉主张点播、回看行为属于信网权范畴。法院经审理认为,首先,被告主体资格符合广播权实施主体特殊资格的要求;其次,浙江卫视将广播信号授权给被告,被告存储后重复使用,也是广播权范围内;最后,对象仅限开通相关业务的电视用户,并非不特定用户,不符合信网权的构成要件。最终,法院驳回原告全部诉请。 四、利益划分问题及影响 IPTV是技术发展和产业继续生存发展的产物,随着互联网的发展,TV已经无法安于仅提供接收广播信号并实时播放特定内容的服务,要么求变,要么被时代淘汰。IPTV中的回看等功能,一定程度实现了交互性,规避了广播实时性、单方传输的弊端,从而可以获取部分有回看需求的用户。有观点认为由于其技术、设备的固定性,即使有回看功能,对于网络用户的替代性也是极其有限的。 本文同样认为IPTV的回看功能对于信网权的影响是很有限的,尤其投屏技术成熟且广泛应用的情况下,电视剧、电影等内容网络传播普及的情况下,电视即使具有回看功能,分流的用户也是极其有限的,更多的是提高了原有用户的观看量情况。 但是,本文同样认为利益划分对于具体案件的赔偿等具有一定的参考价值,但无法影响IPTV回看的法律定性,在具体行为是信网权规制的情况下,即应该认定侵权,而不能通过产业支持等因素导致与法律规定相左。并且此类情况完全可以通过市场去调节,行为产生之初可能会存在划分不清、纠纷的情形,但随着争议的产生,相关利益主体已经通过合同端对权利的授予和利益划分进行了约定。求变谋生存应该是在法律的框架之内的,如纸质图书市场目前也受到了数字化阅读的冲击,专有出版权权利方也不能因此而在未获得信网权的情况下直接将纸质书通过信息网络进行传播。美国也有IPTV类似的业务,但此类服务商主动存储回看的业务均是需要取得公开表演权(可以实现规范广播权和信网权的行为)等权利之后而进行传播的,其他如提供设备具有相关的录制存储功能等,而具体由用户操作和选择是否录制的行为,通过“实质性非侵权用途”和“合理使用”等进行抗辩,也即“基于意志”的行为规则。不过也存在争议,如“Aereo案”在地区法院和第二巡回法院驳回原告关于构成侵害公开表演权的主张后,联邦最高法院又认定构成侵权。 关于授权的条款约定,如乐视取得的授权书中明确,“信息网络传播权,指以有线或者无线方式向公众提供作品,通过各种传输技术和传输网络进行传输,在不同地理场所,以计算机、电视机、手持移动设备、机顶盒、播放器等为接收终端或显示终端,为公众提供包括但不限于网络点播、直播(不包括传统电视频道播映权)、轮播、广播、下载、IPTV、交互式数字电视的方式进行传播的权利和与之相关的复制权、销特权、发行权、放映权及相应增值业务等权利,转授权之权利。”,因此,此等我国现行《著作权法》技术主义立法路径的缺陷,在现阶段可以通过市场经营主体的自主行为进行调节,通过协议取得相关授权,进行明确约定即可。 五、IPTV回看业务提供方责任 就IPTV回看业务服务提供所涉方,如果认定构成侵权,那么专线传输接入运营方也即通信运营商而言,是属于共同侵权、间接侵权还是不侵权呢?也是存在很多争议。《最高人民法院关于审理侵害信息网络传播权民事纠纷案件适用法律若干问题的规定》中规定,视网络服务提供者的具体行为可认为构成共同侵权或间接侵权、不侵权。IPTV回看内容由内容集成方负责接入,专线接入传输方主要负责网络及技术服务。本文认为,应适用一般的平台责任判断专线接入传输方的责任,适用通知删除规则,原则应认定属于提供技术服务。将版权的授权情况前置审查不现实,且赋予了过高的注意义务。司法实践中就此也存在争议,有的判决中IPTV内容和专线提供方属于分工合作的共同侵权,也有大量的判例认为属于提供技术服务。 如乐视网与中国电信深圳公司侵害作品信息网络传播权纠纷再审复查与审判监督民事裁定书[(2014)粤高法民三申字第96号]中法院认为,中国电信深圳公司不仅给百视通公司提供网络接口,设立专项链接,而且该链接所对应的频道为“点播” 频道。根据他们双方之间的协议约定,百视通公司与中国电信深圳公司之间实行分工合作、以联合运营品牌的形式共同经营IPTV业务,并共同分配由此获得的经济利益,应共同承担侵权责任。 在北京网尚文化传播有限公司诉中国电信海南公司侵害信网权案[(2012)琼民三终字第26号]中,法院经审理认为被告中国电信海南公司作为网络运营商,负责IPTV业务的技术管理,为内容提供方的内容提供接入、传输、传送等技术、设施支持的帮助行为,内容存储于内容提供方服务器,提供技术支持的行为不构成直接的信息网络传播行为。 综上述,尽管理论和司法实践中对于IPTV回看的法律定性和所涉主体之间责任认定仍存在较大的争议,且该等争议在短期内无法完全解决。在现有的法律规定下,回看属于信网权范畴应占主流观点,而专线接入提供方原则上应属于技术提供方,除非可以证明其与内容提供方存在共同提供侵权作品。由于立法技术问题和社会发展情况导致很多争议不可避免,且这种情况并非只有我国存在的个案,是大多数国家普遍面临的问题。但相信至少IPTV回看业务在该等争议的指导之下,现实中的利益相关方在实际经营中对此已有了足够的重视。作品版权方、广播权采购方、信网权采购方等之间会通过协议对具体的权利、传播形式、实践分类等结合定价等进行详细的约定,从而减少该等问题的出现。 而作为法律工作者,不能因为产业政策和法律规定存在冲突时,就贸然试图通过以利于自己主张的方向去解释法律,应从立法目的、法律体系等综合、客观的适用法律,部分问题完全可以交由市场去调节。 (本文为授权发布,未经许可不得转载)

影响程序运行速度的几个因素

1、数据库查询(没有对关键字段设置索引) 2、算法(复杂度大) 3、代码冗余 例如:下面的代码中可以设置全局变量,减少重复计算。 vec_sort_by_idx, datas = get_sql_keywords_and_vec() import time from compute_similarity import * vec_sort_by_idx, datas = get_sql_keywords_and_vec() class align_class: def align_func(self, input_word): result = [] result = compute_result(input_word, vec_sort_by_idx, datas, topk=10) t3 = time.time() result = choose_apposition(result) t4 = time.time() print('choose time is: t4-t3={}s'.format(t4-t3)) return result def sample_api(): align_api = align_class() start_time = time.time() for i in range(10): result = align_api.align_func("张三") print(result) end_time = time.time() print("cost %.2f" % (end_time - start_time)) if __name__ == "

关于清空在gitLab上传的项目文件夹

今天,遇到了一个gitlab上传项目文件的小问题,在我和同事一起上传代码后,发现远程仓库上传了我们之前写的不需要的代码,之后修改过的文件并没有上传。因为粗心大意的git pull之后,新旧代码一起被上传了上去,所以想把仓库清空重新上传,搞得很头疼。 在这里给大家提供一个思路, 先把你的项目仓库克隆到本地的一个新文件夹下把这个文件夹下的项目文件(夹)都删干净把这个空的文件夹push到gitLab上,远程仓库的项目文件会覆盖清空把你本地最新版本的项目代码再复制到本地的这个空文件夹再push到gitLab上就OK了 这个方法也是瞎摸索出来,目前还没有什么负面影响,欢迎大家一起谈论

Fun Times with DeFi ,关于 DeFi 的过去与未来我们有过这样的想法

10月16日,Injective 举办线上 Fun Times with DeFi 对话活动,Injective Protocol 联合创始人兼CEO Eric Chen 与 Pantera Capital 首席投资官 Joey Krug,Compoud Labs 首席战略官Calvin Liu,Perpetual Protocol 联合创始人 Yenwen Feng,UMA Protocol 联合创始人 Hart Lambur 共同围绕 AMM 模型与传统做市商的对比,Uniswap 对传统交易方式的颠覆,以及 DeFi 行业未来的发展趋势等问题展开讨论。 要点归纳 AMM 和传统的订单簿或做市商不应该被视为同一领域的不同方式,他们是完全不同的概念。 Uniswap 在极短的时间内便赢得了大家的青睐,它正在成为 AMM 的标准。 DeFi 领域还有非常大的探索空间。目前的只是让一些基础通用的东西发挥了作用。我们需要添加更多的组件,来让功能更加完善。 流动性挖矿的概念令人感到非常兴奋,它依旧处于刚刚起步的阶段,将来一定会被不同产品和协议发扬光大。 项目方最好能使通证有真正的用途,令用户不愿意出售, 就像我们最初考虑通证分配时一样,目标实际上是实现去中心化治理。 人物介绍 Eric Chen:大家好。首先,让我们介绍一下自己以及所属的项目,我是 Injective Protocol 的 CEO 兼联合创始人。Injective 是一个基于以太坊 layer2 的去中心化的衍生品交易平台。接下来,我们有请 Joey 做个简短的自我介绍。 Joey Krug:我是 Augur(REP) 的联合创始人,Augur 是基于以太坊公链平台上的去中心化预测市场平台。我同时也是 Pantera Capital 的首席投资官,我们几乎投资了加密货币领域的所有赛道。 Calvin Liu:感谢邀请,我是 Compound Labs 的首席战略官,我们创建了 Compound 协议。从我加入的三年来,我们的业务有了非常大的飞跃。因此,我们开始与加密货币领域的金融机构、项目开发人员以及越来越多的来自外部的金融科技初创企业一起开展工作,并且希望能够尽快跨越这一鸿沟。我个人也参与其中并投资了许多 DeFi 协议。

超五类和六类网线的区别—Vecloud

目前,在双绞线这个大家族里,五类/超五类/六类/超六类这些种双绞线的应用范围最为广泛,七类也紧随其后,那么它们之间存在着那些区别呢? 超五类和六类网线的区别 随着人们对更高带宽和更快速度网络的需要不断增长,超五类和六类双绞线被越来越多地应用到人们生活中。目前,在双绞线这个大家族里,与三类、五类及七类等双绞线相比,超五类和六类这两种双绞线的应用范围最为广泛。 尽管超五类和六类线缆的地位处于并驾齐驱状态,但这并不意味着超五类和六类线缆可以互相代替。消费者仍然需要掌握好两者各自的特征,以便根据自己的网络需求进行更好的选购。那么超五类双绞线与六类双绞线之间存在着那些区别呢? 首先,超五类网线与六类网线最大的区别在于其性能的不同。超五类和六类系统虽然都可以传输千兆网络,但是超五类系统传输千兆网络所采用的标准是1000Base-T,而1000BASE-Tx则是六类系统工作的方式。从这方面来看,超五类系统只是“能够”支持千兆以太网,而六类系统才是“真正有保证”地运用千兆以太网。 因而,六类系统更能够适应当下的建筑环境,尤其是在那些集中了大量的双绞线并拥有很多干扰源的地方,比如说拥有许多电器(电脑、电话、各种生产设备等)的房间、设备间、邻近有电力线、照明线的地方。下面将会从1000Base-T和1000Base-Tx的角度为您进一步揭示造成这种差别的原因。 1000Base-T一般是采用4对双绞线来完成1000Mbps的数据传送,每一对双绞线要传送250Mbps的数据流。但因为超五类双绞线的设计带宽仅有100MHz,要想实现双向传输1000Mbps的网络,就必须满足4对线全部使用(全双工)、每对线支持250Mbps的数据速率(每个方向)、每秒发送125M符号等要求。 但另一方,因为每条链路必须双向全双工传输信号,这就增大了误码的可能性。所以,全双工运行网络设备需要增加大量的串扰/回声消除DSP处理器,使网络设备能正确地辨识每一个方波信号,这也造成了支持1000Base-T的交换机平均端口成本的大大增加。 1000Base-TX虽然也是基于四对双绞线,但却是两对线发送信号,两对线接收信号,线缆本身不进行双向传输。因此,线缆之间的串扰也大大降低,从而进一步降低了网络接口的成本。但由于使用线缆的效率降低了(两对线收,两对线发),要达到1000mbps的传输速率,带宽要求就超过100mhz,因此五类和超五类的系统不能支持该类型的网络,只有六类系统才能支持。 由以上分析可得出,因为使用1000BASE-Tx的工作方式,相对于超五类系统,六类系统具有更强的抗干扰能力,这一特点使之能广泛应用于各种地方。 其次,在在结构上,超五类双绞线与六类双绞线也存在明显的差异。六类双绞线增加了绝缘的十字骨架,将双绞线的四对线分别置于十字骨架的四个凹槽内,而且电缆的导体直径大,扭矩小,外径也更粗。这一中心十字架新的生产工艺,也是为了避免在应用于1000BASE-T的网络时线缆之间的串扰。 另外,在价格上,六类双绞线的价格要高于超五类,这也是目前超五类双绞线应用相对广泛的一个因素。 从当前市场来看,超五类双绞线仍然是综合布线工程中的一个主流产品,其具备更好的性能,更好地支持网络的顺畅。虽然说六类双绞线从各方面的性能看都要比超五类双绞线出色,但目前超五类仍是主流。相信随着时代的发展,在综合布线中六类双绞线将会慢慢渗入,并且逐渐代替超五类双绞线。 Vecloud是一家面向企业提供云交换网络服务为核心业务的技术创新企业,在全球的数据中心节点30个,POP节点超过200个,服务的大客户超过300个,涉及金融、互联网、游戏、AI、教育、制造业、跨国企业等行业领域。http://www.vecloud.com/products/ip-transit.html

雷电3菊链功能_雷电接口有什么用处?说说雷电接口那些事

导读:雷电接口,在新的2021款本本中,已经升级到4代了,很多价格高点的笔记本也会配置这个端口,有的还配置了2个,那么我们买笔记本的时候,是否需要这方面考虑?或者他的性价比提升在何处?是否可以利用? 1、雷电接口相关知识总结下 雷电接口,实际上就是Type-c接口的一种(type-c种类太多),这个接口的最大特点是,速度快,能输出高清图像到显示器(4K8K),能接高速固态硬盘,能外接独立显卡,能充电、更能小集成的拓展坞(集合USB、网线口)等; 雷电3:40Gbps的数据传输速率,理论值是USB3.2的4倍;4k数据是 4096×2160 × 60Hz x 32位色 / (1024×1024×1024) = 15.8 Gbps ,考虑10%正常损耗,8K的外接显示器,一点问题也没有(雷电3的线不能太长,一般0.5m为佳,不如会快速折损); 雷电接口能集合的通讯协议 雷电4:依然40Gbs的速率,但雷电4普遍是独立双口,而雷电3普遍是2个接口共用1个通道,线路长度可以增长到2米了,拓展坞能1托4个雷电接口;相对雷电3,雷电4必带充电功能; 补充点额外的: 全速和半速:这个要看笔记本设置,我们看到不少笔记本采用半速(20Gbs的雷电3);双雷电共用接口和双雷电独立接口:这个上面已经解释了下,雷电3一般是一托二方式弄出2个接口; 2、雷电的接口使用开发 可以接显示器,可以实现4K、8K显示屏的性能发挥;可以借用其他品牌的充电口,大家通用的可能性比较大;可以外接独立显卡,散热不受笔记本体质限制,只要CPU能搞得起,吃鸡也不在话下了!更快得硬盘访问、移动硬盘更便捷;可以升级更高档次拓展坞,集成充电、网线口、usb3.0、sd卡、蓝牙、音频等,一条龙; 但真心的,这个预测是趋势,但当下来说,用处不大,电脑端口齐全,功能多样化,没有雷电4,一样能玩得转; 或许在更新换代的中间,能有个雷电口,或许在大几年后体现出威力; 十一代intel支持雷电4,上面的本本估计是趋势,2个雷电4,1个usb3.2; 有肯定比没有好,拓展的使用仅限少数人使用,usb-3.0系列,暂时够用~

为什么输入法显示中文打不出中文_输入法为什么打不出汉字_电脑输入法打不出汉字如何解决-win7之家...

我们要在电脑中使用输入法打字的时候,不急可以打出汉字也可以打出英文,不过有不少用户却遇到了输入法打不出汉字的情况,这让用户们很苦恼,那么输入法为什么打不出汉字呢?一般出现这样的问题是输入法出现了问题,我们只要修复一下即可,赶快随小编一起来看看电脑输入法打不出汉字的详细解决方法吧。 方法一、 1、电脑有输入法却打不出来汉字的话,很可能是输入法出了问题,我们右击输入法悬浮窗左边的S符号; 2、弹出的界面,我们点击设置属性; 3、然后点击输入法修复器; 4、之后点击快速修复,然后再打字往往也就可以打出来了。 方法二、 1、双击360安全卫士; 2、然后点击人工服务; 3、之后输入输入法,然后点击查找方案,之后看到输入法不能用了,我们点击后面的立即修复; 4、然后就会进行修复了,如图所示; 5、修复成功了,我们点击立即重启电脑,之后就可以输入汉字了。 上面给大家讲解的就是输入法为什么打不出汉字的详细解决方法,有遇到一样情况的用户们可以参考上面任意一种方法来解决吧。 我要分享到:

idea 使用svn将主分支修改的代码更新到子分支

hello,大家好~ 这是一个带着无奈和崩溃以及带着一些欣喜的态度,写下的一篇博客。 事情是这样发生的~~~~~~~~ 就在前几天晚上,涉及到了svn分支的情况。使用分支还没有完全改完。只改了一部分, 然后提交了svn后,切回主分支继续修bug了。 就在主分支的bug修复完成之后,出现了这样的场景,需要将主分支修复完的bug更新到子分支,怎么办~?因为之前几乎都么用到分支。 在网上查看了好多博客,有说 有说这样搞的。这样应该也是可以,但是我这里使用完之后 …………………………我左侧的项目就不见了…… 但是本地却有文件。 原地心态爆炸。然后开始了漫长的修复之路。经历了 半宿和半天的时间,总算是把代码弄回来了。我这里不评判上述方法是否正确,我只记录一下,我更新的办法。 办法如下~~ 在idea 底部有这样的一个菜单 叫做 version Control 。 点击能看到我们现在的分支。那么在下面就有一个 加粗 的蓝色字体 “Merge From...” 然后就回出来右侧的那个小框框 “trunk” 就是我们的主分支。 我们点击 trunk的那个,之后就会出现 这里 第一个选项是 合并所有 第二个选项是 快速手动选择 第三个选项是 使用预过滤器选择 第四个选项是 取消 因为这里 ,我只选择了第一个,就是合并所有,至于剩下的两个选择,我并没有研究过哦 然后我们点击 “合并所有” 会弹出一个对话框 这个对话框的意思是啥嘞,就是说“本地修改的文件可能会和合并的文件存在相交的情况,就是 可能会覆盖掉本地修改未提交的代码” 下面有三个选项 第一个选项是 “取消” 第二个选项是 “继续合并” 第三个选项是 “搁置本地的更改” 我这里选择了第二个 “继续合并” 然后等他更新完 会弹出一个让提交svn的框框。把合并后的文件提交到子分支,点commit 就可以啦。 如果有什么疑问,或者指教 欢迎加QQ:1318623133 ----------------------------------------- I`am Joshua,may god bless you

tps波动很大的原因_性能测试中TPS曲线上下抖动原因定位

在一个项目短链服务性能测试时,发现一个因为测试客户端造成的吞吐量异常波动的情况,最终原因是在域名多ip的情况下,测试客户端处理不当造成的。但涉及到的知识面包括JVM、DNS缓存,所以来详细说一下。 选用的测试工具是 grinder,grinder是纯java实现的负载测试工具。 并发策略,并发1个进程,10个线程,测试10分钟。 问题表现:测试发现整体性能还算平稳,但是吞吐量毛刺比较多,且波动浮动比较大。如下图表现: 根据图示中的 Transaction per second 波动曲线发现每个20~30s左右就会出现一次抖动,抖动幅度较大,tps成倍的下降。 这个时候观察两个nginx节点,发现每隔20~30s两个nginx会切换一次,也就是说同一时间只有1个nginx是有压力的,过20~30s之后,压力切换到另一个nginx上。 显然这种情况是不合理的,两个nginx节点是均等的,压力也应该是均衡的,因此怀疑负载均衡会有问题,于是开始分析为什么Nginx会出现这个情况。 分析思路1:是否是DNS负载均衡有问题? DNS解析多ip的策略是依次返回两个IP顺序为:AB,BA,AB...以此类推,得验证这个机制是否生效。 于是设置java启动参数:-Dsun.net.inetaddr.ttl=0也即是不缓存ip,每次都进行DNS解析,tcpdump查看数据包实际情况。从dump数据来看,每次域名解析返回的ip地址顺序没问题,是均衡的。所以问题不在Nginx这端,那就可能是客户端使用ip的时候出现了问题。 11:48:11.333446 IP 10.122.104.7.domain > 10.122.104.134.59030: 45250 2/6/6 A 221.222.198.143, A 221.222.198.142 (269) 11:48:11.333558 IP 10.122.104.7.domain > 10.122.104.134.59030: 36926 0/1/0 (79) 11:48:11.333804 IP 10.122.104.134.41170 > 10.122.104.7.domain: 64301+ A? xxx.im. (24) 11:48:11.333816 IP 10.122.104.134.41170 > 10.122.104.7.domain: 19384+ AAAA? xxx.im. (24) 11:48:11.334223 IP 10.122.104.7.domain > 10.122.104.134.41170: 19384 0/1/0 (79) 11:48:11.334393 IP 10.122.104.7.domain > 10.122.104.134.41170: 64301 2/6/6 A 221.

鼠标右键转圈圈_了解原理并解决鼠标右键转圈圈

遇到一个问题,我们要寻找引起此问题外在表现的内在原因,知其所以然 这两天为了写代码方便,就把一些文件放到了桌面上,有时候需要查看文件路径或者属性经常需要右键文件,结果经常一点右键鼠标就开始转圈然后过半分钟左右又恢复。本来以为是电脑太久没关机(10天左右没关),结果重启之后还是这样,水叔可是搞机小师,怎么能容忍这样的问题。我就搜遍全网,尝试了各种各样的方法,终于找到了解决方法并成功解决。 一起来看看效果 这是解决前 这是解决后 秒开有没有 下面来教大家如何处理 1、问题根源 2、解决办法 问题根源 遇到一个问题,我们要寻找引起此问题外在表现的内在原因,知其所以然 最常见的几个原因: 1、右键对应的注册表里添加了莫名其妙的键值,因此在你右键时,系统会企图寻找键值所对应的应用,但由于这些键值往往不合法或者地址不存在,因此导致右键鼠标这个进程得不到响应,所以就转圈圈 2、如果是安装了某些软件后开始卡,那么极大可能是软件与系统不兼容,最简单粗暴的方法是卸载软件或者对软件启用兼容模式 3、如果只是打开右键慢,也有可能是键值太多,只需要关闭那些不常用的右键项即可。 下面我们就来一次性彻底解决问题 解决办法 一、删除注册表里不需要的键值 首先我们删除掉一些非法的或者不常用的键值: 1.Windows+R快捷键打开窗口,输入Regedit 2.删除目录 HKEY_CLASSES_ROOT\Directory\Background\Shellex\ContextMenuHandlers 下的除new以外的选项. .. 直接把目录地址复制过来即可 二、取消显示右键里不需要的选项 这里最好是借助一些软件,我推荐火绒(无弹窗,不挟持浏览器页面,棒!) 如果你是第一次看这个,你应该会很惊讶,怎么会有这么多选项! 默认情况下都是打开的,我们把那些用不到的全部关闭就行,这样能大幅增加右键打开的时间。 三、安装了某些软件后右键才卡 一种是直接把该软件删除,或者把软件用兼容模式运行 一般情况下,兼容性运行并不能解决问题,那么就卸载软件或者更新系统后再试。 以上就是水叔解决该问题用到的方法,当然水叔很水 如果你有更好的解决方法可以在评论区留言告诉大家,或者遇到了其他问题也可以在评论区求助。

安卓修改电池容量教程_安卓手机用re管理器修改电池信息增加待机时间

智能机的电池时钟是个大问题,与上下载不完的应用相比,手机续航显得捉襟见肘。小编下面针对刷机后的感觉电池续航变短的朋友给一个小小的增加待机时间的技巧,当然这个技巧虽然能解决一点点问题,但确实是解决不了根本的问题的,毕竟电池的电量摆在那的只有那么大,想有质的提升是不可能的。 小编首先说明一下这个技巧的原理: 安卓系统的电池信息保存在/data/system/batterystats.bin这个文件,刷机时都会格式化DATA分区,也就是说每刷一次机都会清空一次电池信息,刷机完成第一次重启时会重建这个文件。如果刷机时电量不充足,重建的电池信息就可能与电池的实际状态不符,造成待机时间变短的问题。 看到这里也许有人要说了: 在刷机后在充满电,进recovery重置电池信息,再充满电,再重置电池信息,如此反复几次就可以了。 确实上面的这个说法也是可行的,小编以前一直都是这么干的,但是进recovery毕竟是要消耗电量的,哪怕只是一丁点儿。看完小编下面的教程,也许你就会意识到下面的这第2种方法会更好。 回到主题,用re管理器修改电池信息增加待机时间: 1.关机,插上电源充电直到充满。(最好能连续充一夜以保证最大电量。切记在充满电之前手机不要开机。) 2.不拔电源的前提下,开机。 3.进系统之后用RE管理器或其他同类工具删除/data/system/batterystats.bin这个文件。 4.拔下电源,正常使用手机直到其自动关机,此时电池仍然有余电,在等待一至两分钟后再次开机,把剩余电量用完。 5.此时手机已经重新获取了当前电池的电量信息。此时在关机状态下重新充满电即可开始正常使用。

我敢说,没人能超过这份产品经理推荐书单(40本)!

产品经理要博览群书。 博览群书以便接受通识教育,要懂用户、懂设计、懂开发、懂底层架构、懂抓包 SQL。俗称,中关村活字典、互联网百晓生。 最近三年,我在以每年60本的进度看书。可以说互联网领域内外的经典书、畅销书、旧书、新书我基本都看过。再加上前些年的零零散散,总算是看了一些书。 关于读书佐证,我写过2篇半的相关文章,分别是《2019年看过的60本书》《2020年Q1的15本书》和《2020年Q2的15本书》,感兴趣的可以翻翻看看。 我现在则是要写一个书单,一个关于产品经理的推荐书单。我是要抛却自己的看书轨迹,把自己放到行业视角来理一理相关书籍,写一篇负责任的推荐。 开始写公众号之后,总有人让我推荐产品相关书籍。这次,便是答案。 01 推荐的两点说明 推荐要负责任,不能随便推荐。看完无收获罪过不小,浪费时间更是事关重大。因此推荐要有一定的逻辑内涵。 1 推荐的原则 第一个原则,我必须看过。没看过就没有发言权,我看过也就能根据我的主观意愿来推荐。同样,看过也才敢推荐,产品就是要拍板。 第二个原则,我必须看过且有所得。很多书其实是烂书,看了浪费时间。2020年我读书的反思是,以量为目的的看书太过短视功利,要找好书、读好书。同样,有所获才能体会阅读的欢愉。 第三个原则,我必须看过且有所得且有所用。这个是说推荐的书要跟产品经理有一定的关联。但不求直接强相关,大逻辑通用也符合推荐。 以上三点,是这份产品经理书单的推荐原则。 2 推荐的维度 推荐的维度是宽泛的,推荐的范围是没有范围。 文史经哲、百家杂谈,好书都有精华所在。站在底层逻辑,道理相通。产品经理本身也是一个近十年才蓬勃发展的岗位,所以我们看书也不能仅仅局限在互联网领域。 所以,书单的表现形式是一个简单罗列吗?一个点缀了京东简介或豆瓣短评的简单罗列吗?肯定不是,我也办不到。合格的书单至少要站在产品经理的角度,说明跟产品工作的关联。 基于以上的陈述我才敢说,没有人能超过这份产品经理推荐书单(截止目前)。下面开始这份书单。 02 5 本文史经哲 我们的看书生涯是从文学开始。从童年绘本到学校课文,从唐诗宋词到小说散文。经典,历久弥香。 我对自己的考虑是,后面看文学书籍会更多一些。一是确实需要找书看,二是事态演变的文学主线就是产品迭代的外在延展。 1《救猫咪》 这是一本编剧书,救猫咪是对电影编剧的经验分享。 救猫咪是一种场景,一种叙事方式。用救猫咪的故事表现角色细节,让人物更立体。从而顺其自然的引入角色,让观众爱上角色。做产品也是,我们要通过产品设计让用户感受到有用、好用,这就是产品经理的救猫咪。 救猫咪还定义了常见类型片,然后影片根据所属的类型套路,确定故事线,拆分到对应的场景,以情绪为引、冲突为矛,激发角色的原始动力去战胜邪恶,迎来胜利。这其实对应我们工作中用户转化的触发、行动、酬赏、投入的四步技法。 编剧是视听化的语言去创造世界、发挥创意,于细微无声处泄露才气。好编剧肯定是一个好产品经理。产品经理,需要发挥创意。 2《贾想1996-2008》 这是贾科长的电影手记。如果说编剧是一个产品经理,那么导演是不是一个全能的产品经理。 一部电影从想法到最终上映,导演在其中经历了怎样的思考?一场戏的起承转合,缘由何起又在何处收场?为什么一定要拍外人看来毫无意义的特定场景?一个特定的场景,又是导演在何时何地的遇见和创意呢? 这本书我看到了因果,看到了执拗,看到了一个导演的坚守。毕竟有一种电影是叫贾科长。产品经理,需要有才又执拗。 3《我与地坛》 一个逻辑自洽的深度思考是什么样的?史铁生给了答案。我去过现在修缮后的地坛公园,空旷的大园子很平淡,逛了不到半小时就离场投入世间喧嚣。但这里却是一位思考家的精神乐园。 史铁生的文字是他的思考记录和逻辑推演,在一切的肯定否定又肯定否定中,得出一个独到的答案。这不就是我们做产品的方向探索吗?在一切未知的纠结中走向笃定。 《我与地坛》是智者的语言,是自己与自己的对话,是自己与灵魂的神交。这是我期望达到的一种深度思考状态。产品经理,需要深度思考。 4《乡土中国》 费老的社会学书籍,建议常翻常看。 我们的社会为什么是这个样子?差序格局因何存在而又如此深刻的影响了我们的生活?现在的乡村又因何没落?生产力的提升对社会的礼俗和法理的影响又是什么? 对应到我们的产品工作中,我们可以学学书中的如何拆解问题、分析问题,如何找到问题的根本原因、预测其未来的变化。产品经理,需要细致洞察。 5《两晋南北朝十二讲》 这是一本历史书。魏晋南北朝是个特殊的存在,历史书几页翻过,民间无传奇故事,官方史记讳莫如深。小说不描述,电视不演义。越是这样,越是好奇。 南北分治,门阀政治。衣冠南渡,纷争乱世,这十二讲很透彻。400年春秋,从头乱到尾。朝廷由强到弱,靠着大门户苟延残喘。永嘉之乱,河阴之变,侯景之乱,流血的山河,悲苦的大众。 中原王朝在少数民族的演绎中,开始了民族大融合的时代。胡人汉化是历史大趋势,南北统一也是历史大趋势。所以,这跟产品经理有什么关系呢?产品经理,需要渊博有趣。 总的来说,优秀的文学作品,优秀的逻辑推演,优秀的为人处世,优秀的猜想判断。好读书、多读文学书,在文学的感性中寻得理性。产品经理,需要道法自然。 03 5 本结构思维 结构化思考,逻辑化陈述,产品经理的工作需要条理。结构化是我们无头绪时的一盏指引明灯,逻辑化是我们陈述时的锚点修正。 这类书的本质是方法论,是经验的抽象,抽象成了通用普适的真理。我们读此类书,我们悟此类书。 6《决策思维》 这本书特别小巧轻薄,但内容特别的干练厚重。 决策仅仅是开始,更重要的是为随之带来的结果负责。好的决策要以目标为起点,在目标、优先级和可选方案上把控决策内容高质量,这是在目标的前提下开源。 好的决策也要在在信息、人员、客观推理上保证决策过程的高质量,这是在达到结果的前提上收缩。综合两者才成就一个有效决策。好的产品经理,要敢于决策。 7《由内向外看世界》 这其实是一本设计书,但处处体现了思维的方法论。 设计需要解决问题,但问题本就存在旧的解决方案,因此设计的本质是为解决问题找到新的方法。做产品也是如此。 Neodo 的设计思考法是做加减法、重新排列组合、运用心理学等手法,用事物本身特征去体现产品的价值和设计思想,同时关注个体对整体的价值,来保证设计充分解决问题(提升销量、提升品位)。 Neodo 的设计行动术是吸引优秀的人才,保证结果超出客户的期待,用共情与客户一起探索解决,以达成长期合作。产品经理,需要用户共情。 8《思考的技术》 这是大前研一的书,这本书其实可以起个别名《我的思考方法》。 思考来源于对环境的预判,我们得保持对先进生产力的敏感,保持对解决问题的科学论断。也许个体与个体之间的差距,就是深度思考的差距。 大前研一的书都很不错,这里选一本作为代表吧。

wps求伯君 wps手机遥控ppt怎么操作

转载请说明来源于"厦门SEO" 本文地址:http://www.96096.cc/Article/169648.html wps求伯君 wps手机遥控ppt怎么操作 1,我们在电脑上打开was ppt文件,可以看到下图中红色圈起的图标,如图所示: 2,点击下图中黑色箭头指向的倒三角图标,有三个选项,如图所示: 3,选择“手机遥控”后,出现如下提示,如图所示: 4,在手机上打开WPS,然后选择“手机遥控”,如图所示: 5,用手机扫描电脑上的二维码之后手机和电脑就连接上了,手机变成遥控器,如图所示: 关于更多wps求伯君内容,可以收藏本网页。 厦门SEO专注SEO领域的教程,培训等,自己20年优化经验,立足厦门本土!服务厦门本土网络推广从业人员,主要针对厦门网站优化,网站推广,厦门SEO知识分享。

搜索不到投屏设备怎么办_手机投屏找不到电视设备怎么办_手机投屏检测不到设备的处理方法-系统城...

手机无线投屏其实是一项看似很小,但十分有用的功能,在使用的过程中极大的满足了我们的视觉。但近日有的网友再操作时却遇到了手机投屏找不到电视设备的情况,这是怎么回事呢?我们又该如何解决呢?对此今天小编就来为大家分享关于手机投屏检测不到设备的处理方法。 处理方法如下: 1、可先确定自己手机和电视是否连接的是同一个局域网。然后打开电视进入系统设置界面,在一般设置界面互动功能更多的按下确认按钮进入。将会显示更多的互动开放,使电视连接状态,再回到手机查看; 2、检查是否网络中断。可重启电视端乐播投屏和路由器,再重新搜索;如果还是搜索不到,可以使用手机开热点,让电视连接手机热点,再次搜索,如果搜到可确定路由器问题; 3、可以尝试下载第三方的投屏软件,实现设备的投屏; 4、检查设备有没有更新。确保您的所有设备都与“隔空播放”兼容并已更新到最新的软件版本。如果没有,建议升级到最新版本尝试; 以上就是手机投屏检测不到设备的处理方法啦,有遇到同样情况的可以参考上面的方法来解决哦。

如何清空c盘只剩系统_如何清除c盘除系统外所有垃圾

相比大家在使用电脑的时候,遇到最苦恼的问题就是C盘空间不足,这个问题也很普遍,每一个拥有电脑的人都或多或少遇到过。那么,我们该如何清除c盘除系统外所有垃圾呢?小编今天就给大家带来何如清楚c盘垃圾的解决办法。 1.休眠文件清理 休眠文件(hiberfil.sys)是,当你的电脑进入休眠状态时,系统临关闭前会将所有内存内容写入hiberfil.sys文件。当你重新打开电脑时,系统在将hiberfil.sys文件内的所有信息倒回内存,使电话恢复到休眠前状态。但是,电脑重启打开后,系统不会删除hiberfil.sys文件,而hiberfil.sys文件会占用4G左右的空间,白白浪费了磁盘空间。 清理方法:打开左下角菜单栏→运行,输入cmd.exe打开命令提示符,在命令提示符中输入powercfg -h off→回车,然后重启电脑计算机即可。 2.虚拟内存清理 虚拟内存(pagefile.sys)是,当真实电脑内存当不够时,系统会调用虚拟内存来执行各种程序,这样就可以保护系统的稳定性。其大小一般为物理内存的1.5倍,但是也不是固定值,一般都会越来越大。另外,一般情况下,电脑的内存都是够用的,所以我们可以选择关闭虚拟内存。 清除方法:控制面板→系统→高级系统设置→高级→在性能栏中点击设置→高级→在虚拟内存栏中点击更改,打开虚拟内存命令框,选中C盘→无分页文件→设置→确定,然后重启计算机即可。 3.Superfetch功能带来的应用程序缓存清理 清理方法:把 c:\windows\prefetch 文件夹中的文件删除即可。 4.应用程序产生的临时文件的清理 一般保存在windows\temp文件夹中,和用户文件夹的temp文件夹中。 清理方法:把C:\windows\temp 和C:\Users\你的用户\AppData\Local\Temp文件夹中的文件删除即可。 5.IE等浏览器产生的临时文件清理 清理方法:打开控制面板→Internet选项,删除cookie和IE临时文件即可。 6.Windows7系统日志和事件日志清理 系统日志和事件日志一般在windows\system\LogFiles文件夹中,直接删除即可。 清理方法:打开C:\windows\system32\LogFiles,删除文件夹中的文件即可。 7.系统还原点清理 清理系统还原点对C盘空间进行清理,谨慎使用。 清理方法:打开我的电脑→属性→高级系统设置→系统保护→配置→删除。 8.磁盘清理 运用C盘属性中的磁盘清理程序对C盘垃圾进行清理。 清理方法:右键点击C盘→属性→常规→磁盘清理→选择要清理的垃圾文件→确定。 9.重装系统 重装系统是清理C盘的最直接的方法,但同时系统也被重装了,可以接受重装系统的电脑推荐用这个方法,比较简单:使用一键重装系统工具就可以轻松完成。 以上就是如何清除c盘除系统外所有垃圾的步骤方法了,希望对你们有所帮助。另外,如果想深入了解系统资讯及教程,欢迎登录Win7之家查阅!

word论文排版插件_有了这3个Word插件,各种Word难题都能迎刃而解!

原标题:有了这3个Word插件,各种Word难题都能迎刃而解! 作者:华一科技 来源链接:https://dwz.cn/kTLDHqGo 大家都知道PPT有PPT这方面的插件,那么Word呢?Word也有插件吗?其实是有的,Word也有插件。 今天小编也给大家整理了3个神级的Word插件,它们个个都很强大,有了它们,Word中最难搞的排版、页眉横线删除什么的,都能快速得到解决,下面就一起来看看吧! 01 小恐龙公文排版助手,一个专注于公文排版的Word插件。它可以让你在公文排版上如有神助!但是呢,它的功能却又不止这些,它还可以用于其他文章的排版上。 小恐龙公文排版助手支持页面版式的设置、文字格式设置、文章内容的排版,另外它还支持删除空格和空行、删除页眉横线、插入横页、进行文档加密等等,功能非常强大!有了它,Word中一些较为常见的难题都能得到解决。 02MathType公式编辑器 MathType公式编辑器,这一Word插件能帮你解决在Word中插入多种复杂的数学公式或符号的难题。它是一款专业的数学公式编辑器,在Word中应用的范围比较广,可以应用在教学、论文写作、期刊排版、试卷编辑等场景中。 另外,MathType公式编辑器兼容性也很强,它主要兼容了800多种程序和网站,它还支持数学手写识别、自定义函数识别等等。 03Kutools for Word Kutools for Word这一Word插件就强大到不可思议了。它主要两大选项卡,一个是Kutools ,一个则是 Kutools puls,其中Kutools拥有文件快照、重装、重命名(文件)、复制当前文件、删除隐藏文本、删除分页等等功能。 Kutools for Word的兼容也很好,它能同时兼容多种office文件,包括office 2003、office 2007、office 2010、office 2013、office 2016、office2019等等。要说有什么小缺陷的话,那大概就是要花钱了。 OK,以上就是今天的分享了,如果你有更好的Word插件欢迎在下方进行留言分享哦~ 责任编辑:

ps怎么调19号画笔_ps历史记录画笔工具怎么用?历史记录画笔工具组(一)

教程领到手,学习不用愁!领↑↑↑ 还有朋友不知道高手课吗?高手课,精品中的精品课程,一套免费教程解锁一门技能。 Photoshop的“历史记录画笔工具组”是以历史记录操作作为“源”,对画面的局部进行历史还原或艺术化处理。历史记录画笔工具组有两个工具,分别为“历史记录画笔工具”和“历史记录艺术画笔工具”,本教程将和大家一起来学习ps历史记录画笔工具的使用。 ps历史记录画笔工具的作用:利用它可以还原图像某区域的某一步历史操作,使该区域的历史画面和当前画面形成视觉上的强烈相对比且巧妙融合在一起,形成一些我们想要的特殊效果。 ps历史记录画笔工具怎么还原?具体怎么用? 1、用Photoshop打开一张图片,执行“滤镜”→“模糊”→“径向模糊”菜单命令,在“径向模糊”面板中设置相关的参数。如下图所示: 2、“径向模糊”设置完成后点击“确定”按钮,形成以下效果,如图所示: 3、执行“窗口”→“历史记录面板”菜单命令调出历史记录面板。默认状态下历史记录被标记在最初状态上,我们现在标注历史状态到“径向模糊”的前一步,也就是“打开”这一步。如下图所示: 在“打开”这一步的左侧“小方块”区域点击鼠标左键,此时出现了画笔图标按钮,代表已标注成功。 4、在工具栏选中“历史记录画笔”按钮,适当调整画笔大小、硬度等参数,在图像中按住鼠标左键进行涂抹,即可将涂抹的区域还原为标记步骤的效果。如下图所示: 历史记录画笔工具选项栏的参数设置同和画笔工具的选项栏参数设置相同,在这里不在过多赘述,不会的可以点击“蓝色字”进入相关页面进行学习。 这就是ps历史记录画笔工具的使用教程,学会了它的工作原理以后,我们就可以随意将当前图像和历史某一操作步骤的图像在同一个画面进行处理,从而得到想要的特殊效果。

lvds接口屏线安装图解_LVDS屏连屏线识别方法的详细资料介绍

1 LVDS屏线按位数主要分为单6位,双6位,单8位,双8位。我们取英文Single(单)和Doubel(双)的首字母分别命名单6位-S6,双6位-D6,单8位-S8,双8位-D8。 2 LVDS屏线由VCC(电源线,一般为红色),GND(地线,一般为黑色),差分信号(一般为多组蓝白双绞线)三部分组成。如果差分信号蓝白双绞线为4组,即对应单6-S6;如果差分信号蓝白双绞线为5组,即对应单8-S8;如果差分信号蓝白双绞线为8组,即对应双6-D6;如果差分信号蓝白双绞线为10组,即对应双8-D8。有12组的为双10位,欣雨高科LVDS测试仪暂不支持,这里就不展开介绍。 3 了解上面基础后,我们拿出要测试的屏。通过百度搜索屏型号,在屏库里提取相关信息,选取屏线。CLAA220WA这个型号我们提取双路8位,FIX-30,就是FIX-30-D8(双8)线。选取屏线后我们可以进行验证。电源线3根导通或者至少2根导通,因为有些本屏有一根可能是VEDID没有与VCC导通。地线通常全部导通。每组蓝白差分双绞线之间用导通档值为100左右(通常在75-150这个范围)。同时满足三部分的条件基本可以确定屏线正确。 4 给大家介绍几种接口的名字:用的最多的是FIX-30-D8(双8),除了1366*768这个分辨率的电视PC屏,基本都是用这个双8线,譬如17正,19正,19宽,20宽,21.5宽,22宽,23.6宽,24宽,27宽等等。32寸及以上1920*1200以下的屏会在另一章节单独讲解。FIX-30-S8(单8)基本应用15.6,18.5和21.6的电视PC屏,而且都是1366*768的分辨率。FIX-30-S6(单6)多用于笔记本屏的14.0正,14.1正或宽,15.0正或15.4宽,15.6宽,分辨率为1366*768,1280*800,1024*768等。FIX-30-D6多用于笔记本屏15.0正,15.4宽,17.0宽,17.1宽,分辨率多为1440*900,1680*1050,1920*1080,1920*1200,1440*1050,1600*1200等。

lvds接口屏线安装图解_液晶屏上的LVDS,TTL,RSDS三种接口的详解

很多的初学者对于该如何区分液晶屏的接口类型是很头疼的,究竟它是是LVDS的屏,TTL的屏还是RSDS的屏?总是很难搞得清楚。那么我们该如何的快速的识别出液晶屏的接口类型?这个还是需要一些经验的,下面就从屏的屏线接口的样式来对接口的类型来做出分类的介绍,在此帮助大家快速的识别屏的接口类型。以下方法是个人长期积累的认识,不足的地方还请大家谅解。 接口: (1) TTL的屏接口样式详情: D6T(单6位的TTL):31扣针,41扣针。对应的屏的尺寸大多都是笔记本的液晶屏(8寸,10寸,11寸,12寸),还有一些部分的台式机屏15寸为41扣针接口。 S6T(双6位的TTL):30+45针软排线,60扣针,70扣针,80扣针。大多都为台式机的14寸,15寸的液晶屏。 D8T(单8位的TTL):很少见 S8T(双8位的TTL):有,很少见80扣针(14寸,15寸) (2)LVDS的屏接口样式详情: D6L(单6位的LVDS):14插针,20插针,14片插,30片插(屏显基板100欧姆的电阻数量统计为4个)主要应用在笔记本的液晶屏(12寸,13寸,14寸,15寸) D8L(单8位的LVDS):20插针(5个100欧姆)(15寸) S6L(双6位的LVDS):20插针,30插针,30片插(8个100欧姆)(14寸,15寸,17寸) S8L(双8的位LVDS):30插针,30片插(10个100欧姆电阻)(17寸,18寸,19寸,20寸,21寸) (3)RSDS的屏接口样式详情:50排线的,双40排线的,30+50排线的。主要应用在台式机上的(15寸,17寸)液晶屏。 常规的LVDS接口液晶屏的定义 20PIN单6定义: 1:电源2:电源3:地 4:地 5:R0- 6:R0+ 7:地 8:R1- 9:R1+ 10:地 11:R2- 12:R2+ 13:地 14:CLK- 15:CLK+ 16空 17空 18空 19 空 20空 每组信号线之间的电阻为(数字表120欧左右) 20PIN双6定义: 1:电源2:电源3:地 4:地 5:R0- 6:R0+ 7:R1- 8:R1+ 9:R2- 10:R2+ 11:CLK- 12:CLK+ 13:RO1- 14:RO1+ 15:RO2- 16:RO2+ 17:RO3- 18:RO3+ 19:CLK1- 20:CLK1+ 每组信号线之间的电阻为(数字表120欧左右) 20PIN单8的定义: 1:电源2:电源3:地 4:地 5:R0- 6:R0+ 7:地 8:R1- 9:R1+ 10:地 11:R2- 12:R2+ 13:地 14:CLK- 15:CLK+ 16:R3- 17:R3+

python中间件_关于django中间件使用的踩坑经历

背景 这个之前本地写的那个django测试项目说起,那时候写了个练手的项目,目的是为了熟悉总结django2.0和django1.8的区别。不试不知道,一试就发现了许许多多的坑以及bug,把这些坑以及bug解决完了之后,打算写篇文章记录下我遇到的问题以及解决方法和思路。 起因 起因是当我在自强学堂的django课堂上,看到了有一个demo,这个demo具体实现的效果就是当网站在正式环境上运行的时候,为了安全起见,将DEBUG改为False(关闭调试模式),但是导致网站发生错误无法查看错误详情。 所以demo主要的就是写一个通过中间件识别身份的方式,如果是管理员则可以看到网站错误详情,如果是普通访问者或者游客则返回的是简单的错误码。 详细设计 设计思路 中间件识别登录身份,判断是否为管理员,如果是管理员的话,当网站出现错误的时候则会显示错误详情;如果是普通游客的话则单纯显示错误码,不显示详情。 关于中间件 我整理了一下有关django的中间件知识,这里大概聊一下,以后有机会单独的写篇文章总结一下。首先我们要明白什么是中间件: 这里先引用官方文档的一段话: Middleware is a framework of hooks into Django’s request/response processing. It’s a light, low-level “plugin” system for globally altering Django’s input or output. 简而言之,Middleware就是能够修改Django中response/request对象的钩子,我们可以利用Middleware来实现在请求到达view视图函数前的一些操作。 举个最简单的例子:一个管理后台判断用户是否登录,就是判断request对象中的用户,如果对象中的用户是不存在的,则重定向到登录页面。 中间件处理流程 大概了解了一下中间件是什么东西,可以用来做什么,我们大致分析一下中间件的处理流程。 相信上图在很多django教程中看到过,上图都是Django中内置的一些中间件,这些中间件都放在Django中settings.py文件中的MIDDLEWARE_CLASSES。(django 2.0版本后放在MIDDLEWARES上) 然后在http请求阶段,在view调用之前了,django会将MIDDLEWARE_CLASSES中的中间件都执行一遍。而这里面的主要的几个钩子函数: process_request()、process_view()会从上到下挨个执行一遍; process_exception()、process_template_response()、process_response()则会从下到上挨个执行一遍。 具体这几个函数作用,以及django内置中间件分别负责什么作用单独会另外写篇文章总结。 这里的主要使用到process_exception()钩子,这个钩子函数只有当view抛出异常的时候会触发,所以很适合返回网站的错误详情。 具体实现 终于到实操环节了,思路上面提到过了,这里具体代码实现的逻辑: 用户通过登录界面登录到平台,通过内置的auth模块保存用户登录到会话中。 如果网站出现错误信息时,这时异常抛到自己的中间件时,捕获views视图函数抛出的异常,判断request中的user对象是否为超级管理员,如果是的话,则返回一个错误详细响应到前端,不是的话正常返回500错误码。 以下是views.py中关于用户登录模块,具体登录请求会提交到这里: def login(request): if request.method == 'POST': user_name = request.POST['user_name'] user_password = request.POST['user_password'] user = auth.authenticate(username=user_name, password=user_password) if user is not None:

springboot加VUE实现登录注册

一、springBoot 创建springBoot项目 分为三个包,分别为controller,service, dao以及resource目录下的xml文件。 UserController.java package springbootmybatis.controller; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import springbootmybatis.pojo.User; import springbootmybatis.service.UserService; import javax.annotation.Resource; @RestController public class UserController { @Resource UserService userService; @PostMapping("/register/") @CrossOrigin("*") String register(@RequestBody User user) { System.out.println("有人请求注册!"); int res = userService.register(user.getAccount(), user.getPassword()); if(res==1) { return "注册成功"; } else { return "注册失败"; } } @PostMapping("/login/") @CrossOrigin("*") String login(@RequestBody User user) { int res = userService.login(user.getAccount(), user.getPassword()); if(res==1) { return "登录成功"; } else { return "