为您找到搜索结果:1234个
关于电平触发和边沿触发的不同
记得以前上大学时,老师讲到下降沿触发时,怎么也分不清下降沿触发与低电平触发有什么区别,乍看,它们似乎是一样的,比如键盘扫描程序扫描键盘是否按下:某事件设为低电平触发【采用周期时间扫描方式查询触发条件是否成立】,初始化时为高电平即事件未触发,当电平突然改变为低电平,之后扫描程序执行到了这里扫描,则发现变为低电平故执行触发;某事件设为下降沿触发【采用周期时间扫描方式查询触发条件是否成立】,初始化时为高电平即事件未触发,当电平突然改变为低电平,之后扫描程序执行到了这里扫描,则发现变为低电平故执行触发; 看上面结果是不是一样的! 但是,大家千万别忘了一个重要的东西,那就是时间是一直在走的,不会永远定格在某一刻,特别是单片机、计算机,它们只要没给它们指令让他们停止,那么它们就一直在运行,同样键盘扫描程序也一直在周期性地扫描键盘!当下一个扫描周期到了时,你就会发现它们两种触发方式所导致的结果完全是不一样的。 同样拿键盘扫描做实例,比如一个简单的键盘扫描程序设计,它实现一个键盘对应一个指示灯,当键盘按下一次时(假设按键按下...
关于记录博客的一点感想
工作三年,实际从事编码工作已经将近4年半的时间,由于之前一直做的是驱动开发,更多的是工作经验积累,除啦一下linux和shell的技巧,然后是一些驱动的概念,实际工作中更多的是调试,发现并不需要blog来记录,所以虽然blog很早注册,却也一直并没有怎么用。现在换啦一家新公司,需要学习很多新技能,另外老的东西发现也经常遗忘,以前总觉得,并不用记录,用的时候查一下,自然就记录下来,但是不得不承认很多时候过去会的东西,重新捡起来也话费一些不少的时间。 虽然编程并不是什么大神,但是记录是一个严谨的工作态度和习惯,我决定对于一些很小的,但是每一天工作中学到的,进步的,出错的进行记录,来作为我的编程生活日记。记录每一个变化和进步。 积跬步,为至千里...
linux关于bashrc与profile的区别(转)
bashrc与profile的区别要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是loginshell和non-loginshell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式loginshell。系统中存在许多bashrc和profile文件,下面逐一介绍:/etc/pro此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bashsh...
关于中断的顶半部和底半部
关于中断的顶半部和底半部我们要把中断处理中需要做的工作区分开来:中断处理程序中,只处理那些有严格时间限制的工作,比如复位硬件,对中断进行应答等。而那些可以拖到后面做的,或者说有可能睡眠的处理,都应当放到下半部去处理这样做的目的很显然,就是让中断处理程序尽可能的简洁明快在适当的时机,下半部会开中断执行“顶半部”:是实际响应中断的例程(request_irq注册的那个例程)。“底半部”:是被顶半部调度,并在稍后更安全的时间内执行的函数为什么要划分呢?因为中断存在一个悖论:Linux大部分动作都是有中断来做,一个中断触发拉要做很多的事情,但是因为中断的优先级高,占用cpu,我们需要中断的占用事件应该更断,可是又有很多事情要去做,这就有拉顶半部和底半部。...
阿里风控大脑关于大数据应用的探索与实践
以下内容根据演讲视频以及PPT整理而成。本次分享主要围绕以下三个方面:一、阿里风控大脑整体介绍二、近线引擎三、离线引擎1.阿里风控大脑是什么?阿里的风控主要分为两大块。一块是金融领域,主要业务是支付宝,另一块是非金融领域,如新零售、高德、大文娱等,我们负责的主要是非金融领域。阿里风控大脑的含义较为丰富,可以有不同的解读,但基本上代表了几个方向。首先,阿里风控大脑是“大中台小前台”战略,由于阿里风控管的风险业务很多,领域非常杂,所以允许不同的领域、不同的风控场景可以有自己独特的交互,有自己的console,但是用到的底层引擎必须是中心化的,由风控引擎做统一计算和处理。第二,阿里风控大脑代表高智能,后续会有深度学习和无监督学习模型大量上线,防控策略及防控方式都会更加智能化。如下图所示,右侧是目前阿里风控覆盖的主要业务和防控的风控场景,如黑客攻击、消费者保护、商家保护等。左侧是阿里风控2019年双11的部分数据,保护了约388亿消费者的操作行为,同时挡住了约22亿次恶意攻击。2.典型防控链路用户通过阿里的APP或网站访问阿里的业务会产生大量操作。这些操作进来之后大概会经过如下图所示的七层防控...
关于MyEclipse对Struts2配置文件较检异常 Invalid result location value/parameter
有时候Struts.xml配置没有错误,完全可以顺利运行,而MyEclipse9以上版本却经常出现一大坨错误标识,错误信息是Invalid result location value/parameter搜索了一下,结果大多都是转载的某个“技巧”,就是直接右键Struts.xml然后选择MyEclipse下的“removed all validater 什么什么的” 就是在这个Struts.xml文件上去掉所有较检结果的标识,比如所有的红叉叉啊警告啊什么的。但是这样做有些不大好吧,假如是其它错误呢? 比如不符合Struts dtd约束的语法错误呢,这些也不会报错了吧。 所以这不是一个好方法。其实想一下就能找到解决方法,MyEclipse肯定在普通验证xml方法之外加了Struts的特殊检验规则罢了,找到它,取消掉就ok了嘛。。。在这里:去掉build较检,保留手动较检,这样当实在是需要MyEclipse提供的Struts2较检的时候手动较检一下就搞定了...
关于ActionContext.getContext()的用法
为了避免与ServletAPI耦合在一起,方便Action类做单元测试,Struts2对HttpServletRequest、HttpSession和ServletContext进行了封装,构造了三个Map对象来替代这三种对象,在Action中,直接使用HttpServletRequest、HttpSession和ServletContext对应的Map对象来保存和读取数据。(一)通过ActionContext来获取request、session和application对象的LoginAction1 [java] viewplain copy ActionContext context = ActionContext.getContext(); Map request = (Map)context.get("request"); Map session = context.getSession();&n...
关于redis key命名规范的设计
一、实现目标简洁,高效,可维护1、Rediskey命名风格【推荐】Rediskey命名需具有可读性以及可管理性,不该使用含义不清的key以及特别长的key名;【强制】以英文字母开头,命名中只能出现小写字母、数字、英文点号(.)和英文半角冒号(:);【强制】不要包含特殊字符,如下划线、空格、换行、单双引号以及其他转义字符;2、命名规范【强制】命名规范:业务模块名:业务逻辑含义:其他:value类型1)业务模块名:具体的功能模块2)逻辑含义段:【强制】不同业务逻辑含义使用英文半角冒号(:)分割,【强制】同一业务逻辑含义段的单词之间使用英文半角点号(.)分割,用来表示一个完整的语义3)value类型:【强制】Rediskey命名以key所代表的value类型结尾,以提高可读性;示例:user:basic.info:{userid}:string3、value设计【强制】:拒绝bigkey(防止网卡流量、慢查询)。String类型控制在10KB以内,Hash、List、Set、ZSet元素个数不要超过5000。1、【强制】使用Redis进行缓存时,必须进行申请。申请之前,需要拿出使用的合理方案...
分享 KubeCon 2019 (上海)关于 Serverless 及 Knative 相关演讲会议
有幸参加了KubeCon2019上海大会,并参加了Knative及Serverless相关的几场分享会,收获满满。这里简单介绍一下各个演讲主题的主要内容。详细的演讲主题文档可以在KubeCon官方获取:https://kccncosschn19chi.sched.com/2019-06-25/overview加速:无服务器平台中的冷启动优化时间:上午11:00~11:35该主题主要从4个方面介绍了ServerlessCloudFunction中如何优化函数服务的冷启动问题。轻量级VM:基于QEMU构建更轻量级VM,预置VPC路由信息,基于VM模板生产VM/容器实例。代码缓存:两级缓存Function代码。1.节点缓存;2.Zone(机房)缓存实例预热:1.通过算法预先扩容实例;2.提前加载函数依赖VPC网络加载:通过在代码创建时(而不是代码运行时),创建网络代理,提前申请ENI,缩短函数运行时网络绑定耗时。利用Knative发展深度学习平台时间:上午11:45~12:20该主题主要介绍了如何利用Knative重构了深度学习平台。利用Tektoncd-pipeline(接下来会替换Kna...
【SQL】关于无法附加文件的错误
【SQL】关于无法附加文件的错误1.错误信息如下: 2.估计是权限问题右击属性,把权限开一下 3.然后就附加成功了~~ ————————————————————————————————————————以下是网上其他解决办法:http://blog.sina.com.cn/s/blog_610c1cad0100q4nv.html无法打开物理文件"E:worksdatabaseorthwndorthwnd.mdf"。操作系统错误5:"5(拒绝访问。)"。(MicrosoftSQLServer,错误:5120) 我的系统(WindowsServer2003)重装了之后,想把以前的数据库附加上去,但是附加不了,错误提示如下:尝试打开或创建物理文件'E:数据库db.mdf'时,CREATEFILE遇到操作系统错误5(拒绝访问。) 我的解决方法: 在所有程序-SQLServer2005-配置工具-"SQLServerConfigurationManager",点击"SQLServer2005服务",右边会显示出用户,右击你的用户...
关于Git和Github你不知道的十件事
Git和GitHub都是非常强大的工具。即使你已经使用他们很长时间,你也很有可能不知道每个细节。我整理了Git和GitHub可能提高日常效率的10个常用技巧。GitHub快捷键:t和w 在你的源码浏览页面,按t可以快速进入模糊文件名搜索模式:在你仓库主页,按w可以快速进行分支过滤:在任意GitHub页面中,按?展示当前页面可用的快捷键:忽略空格:?w=1 在任意的diffURL添加?w=1用来整理缩进:按范围过滤提交记录: master@{time}..master 你可以创建一个对比页面通过使用URL github.com/user/repo/compare/{range}。范围(range)可以是两个SHA例如sha1…sha2或者两个分支名称例如master…my-branch。范围同时也非常智能的支持使用时间作为关注点。你可以通过master@{1.day.ago}…master过滤从昨天开始的提交。例如:链接,https://github.com/rails/rails/compare/master@{1.day.ago}…m...
关于Idea中右边的maven projects窗口找不到了如何调出来
关于Idea中右边的maven projects窗口找不到了如何调出来?具体的idea版本我不太清楚,我用的是2016版,其他版本应该也是一样的。首先idea自带了maven控件,不像Eclipse还需要下载控件,如果你以前有maven在右边,出于某种原因,消失找不到了,你可以试试我写的方法。 方法1.你点击一下你idea界面最左下角的那个小框,maven应该从里面找到方法2.点击菜单栏View->Tool Windows->Mavenprojects 方法3.点击菜单栏Help->FindAction(Ctrl+Shift+A),输入Mavenprojects 这里我不说Ctrl+Shift+A的快捷键,是因为有很多东西有快捷键,有可能会出现快捷键冲突。...
关于Airtest的使用探索
一、Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。 另外,Airtest也基于poco这个U控件搜索框架,这个框架也是网易自家的跨平台U测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作。二、关于自动化测试 概念:自动化测试,就是把繁杂的人工测试用例利用自动化测试工具编写成代码,让机器代替人工自动跑用例的过程。实际上就是把以人为驱动的测试行为转化为机器执行的一种过程。 意义:节省人力、物力、时间、硬件资源等,提升测试效率,特别对于繁琐重复的测试用例,可以使测试人员更专注于新的测试模块的建立和开发,从而提高测试覆盖率。三、市面上常见的UI自动...