一、前言 前几天在Python白银交流群【꯭】问了一道Python选择器的问题,如下图所示。...可以对应的修改下,事半功倍,思路是先筛选再匹配,代码如下所示: li.xpath('/li[position() > 1 and position() < 5]') 上面这个代码的意思是跳过第一个li标签...,然后取到第五个li标签为止。
1、我往Redis里写的数据怎么没了? 使用Redis的同学你要明白一点,你为什么用Redis?用redis的作用是什么?用redis的好处是什么?凡事多思考一下为什么,多想想背后的原因。...那既然内存是有限的,比如Redis就只能用10个G,你一直往里面写数据,一直写一直写最后10个G都用的差不多了,你还写会,你想想会发生什么?当然会干掉一些的数据了,然后就保留10个G的数据。...如果你不知道,在实际的使用过程中你就可能会发现这么一个问题:为啥好多数据明明应该过期了,结果发现redis内存占用还是很高?那是因为你不知道Redis是怎么删除那些过期key的。...但是实际上这还是有问题的,如果定期删除漏掉了很多过期key,然后你也没及时去查,也就没走惰性删除,此时会怎么样?如果大量过期key堆积在内存里,导致redis内存块耗尽了,咋整?...6)volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。
删除: 更新: 创建: 查询: 或者看看这篇文章里面有上面的源代码. https://blog.csdn.net/qq_...
大家好,我是一行 之前在处理数据的时候,最开始都是在excel里处理,后来当数据量上了一个级别后就用python导入excel文件接着处理了 很多人会说,excel有自带VBA语言,可以用那个来处理呀...不好意思,VBA不仅处理数据速度慢而且还非常麻烦 但是,现在可以直接在excel里使用python了,非常的nice 1安装 具体方法就是在excel里安装PyXLL插件来使用Python代码 这个运行的...2使用方法 PyXLL最重要的功能就是可以在excel里调用python函数 首先创建一个新的Python模块并编写一个简单的Python函数, 并将这个模块加入python路径里,来给excel使用...from pyxll import xl_func @xl_func def hello(name): return "Hello, %s" % name 这样在excel里输入公示得到结果...=hello("me") 当然,这里只是一个简单的示范,之后无论是画图还是数据模型都可以直接在Python里写好函数,然后在excel里应用 你看,像画图这样的常见处理,完全可以在excel里执行完成了
代码里需要不断变更CSS里样式的值(遍历+大量),并通过JS进行设置。基本上要求应该是和你差不多的。 以上所有方法我基本都试过,用了一个白天加半个晚上,现在是凌晨三点。...="mycolor" @click="func"> 2、首先作用区域范围内设置“CSS变量” /*在header...区域内设置 CSS变量--bccolor */ .header { --bcColor: #ffffff; } /*在子元素中使用该变量*/ .header-info...background-color :var(--bcColor); 3、在JS中通过setProperty()方法修改“--bcColor”的值,从而间接改变对应子元素的(background-color...$refs.mycolor.style.setProperty("--bcColor",'white'); } } ---- PS:至少在我还清醒之前,
每次在Markdown笔记里遇到数学公式,虽然知道LaTeX语法很强大,但就是写个小小的下标或者上标,都要去查_{}或者^{},写完还要前后加$,效率低到离谱。...直到今天,我突然发现——HTML的和标签,在Markdown里竟然可以直接用!今天就来跟家人们分享一下这个超简单的小技巧,让你的公式输入速度快到飞起!...一、痛点场景:我只是想写个H₂O而已举个栗子,如果你在Markdown里用LaTeX写水分子式:展开代码语言:TXTAI代码解释$$H_{2}O$$H2OH_{2}OH2O是不是觉得有点麻烦?...万一公式多了,整个文档的阅读体验在源码模式下简直是噩梦……二、救星登场:和标签1.下标标签标签定义下标文本。...比如你想写水的化学式H₂O,只需:展开代码语言:HTMLAI代码解释H2O渲染效果:H2O2.上标标签标签定义上标文本。
https://www.python.org/downloads/release/python-361/
在没有寄存器的时候,数据和程序都放在内存里,执行过程大致就是: CPU <- 内存(取指令/数据) CPU -> 内存(写回结果) 但问题来了。...所以你可以先这样记: CPU 真正执行的是机器语言 汇编语言只是更方便人去读和写 把汇编语言变成机器语言的过程,叫**汇编(assemble)。...在机器语言这个层面上,程序的大部分操作,本质上都是围绕寄存器完成的。 寄存器也分很多种类型: 程序到底是怎么一条条跑起来的 当然,只有一行程序是干不了什么事的。...比如: 结果是不是 0 结果是不是负数 运算时有没有进位 CPU 在每次运算后,都会自动根据结果去改这些标志位。 然后到了条件跳转这里,CPU 就看标志寄存器里的状态,决定跳还是不跳。...同时也有了两种很关键的指令: 调用指令(CALL):在把函数入口地址设置到程序计数器之前,先把“调用后下一条指令的地址”保存到栈里 返回指令(RET):把保存在栈里的地址取出来,再放回程序计数器 你可以把它理解成
eclipse有的时候会突然消失new菜单里没有JSP file 选项或Dynamic Web Project等其他一些常用的新建选项,解决方法如下 第一步:点击菜单栏 ”windows->Perspective
肯定要判断时间啊,不判断时间怎么知道我要延迟的消息什么时候执行。明白了这点之后,我们再来别的方案。因为在生产环境中是不太可能使用 JDK 原生延迟队列的,它是没有持久化的,重启就会导致数据丢失。...当 austin 项目使用内存队列去解耦处理数据已经有人提出服务器重启的时候该怎么办,我的解决思路就是通过优雅关闭服务器这种手段去尽量避免数据丢失,而延迟队列这种就不能这么干了,我们等不了这么久的。...答案显而易见:Redis 和消息队列 (Kafka/RocketMQ/RabbmitMQ 等)我们先来看 Redis 里提供了一种数据结构叫做 zset,它是可排序的集合并且 Redis 原生就支持持久化...RabbmitMQ 它的延迟队列机制本质上也是通过 TTL(Time To Live 消息存活的时间)所实现的,当队列里的元素触发了过期时,会被送往到 Dead Letter Exchanges(死信队列中...总结这篇文章主要讲述了如果我们要使用延时队列,我们可以有什么方案,他们的设计是怎么样的。
在go里实现单例模式有多种方式: 基于lock 基于init函数 基于sync.Once 本文介绍基于sync.Once的方式来实现单例,熟练掌握这种模式,并理解其底层原理,对大部分人来讲已经完全够用了...类Field conn 类变量conn需要小写字母开头,跨包不可访问,避免在包外被修改。 但是包内还是有可能被修改。...once.Do(func() {}) 每次调用GetDriverSingleton(),都会调用once.Do()方法,但是在once.Do()方法内部,仅会执行一次参数func(){},因此就保证了单例唯一初始化...很遗憾,无法将构造函数改成private,也就是说,在包外部是可以通过new(Driver)来创建新的对象。
在 Go 单元测试这个系列的第二部分 数据库的Mock测试 中我们介绍了用 go-sqlmock 给数据库的 CRUD 操作做Mock 测试的方法,不过里面只是讲解了一下怎么对原生的database/sql...在很多使用ORM工具的场景下,也可以使用go-sqlmock库 Mock数据库操作进行测试,今天这篇内容我就以 GORM 为例,讲解怎么给项目中的 ORM 数据库操作做单元测试。...项目准备 为了场景足够真实,我用 2020 年我更新的 「Go Web 编程入门」项目中的例子给大家演示怎么为使用了 GORM 的 DAO 层逻辑做 Mock 测试。...这个SQL怎么获取呢?其实我们先随便写一个SQL,执行一次测试,在报错信息里就会告知CreateUser操作在写表时 GORM 真正要执行的 SQL 啦。...目前没有办法 Mock 测试 GORM 的UPDATE,除非用 GORM 的 Exec 方法直接执行要更新的SQL,不过那就失去使用ORM的意义了,所以这个先跳过,如果有这方面经验的大佬,可以在留言里指导一下
这几天用zepto.js写了不少事件,突然想到一个问题,那就是原生的js如何给动态生成的标签添加事件?...因为这些标签都是后来通过ajax或者运行其他点击事件生成的,那么如果之前给他们写事件他们这个dom对象是找不到的,jq通过事件委托解决了这个问题,但是原生js这个问题该怎么解决呢?...我在网上查了很多资料,好像只有一种办法,那就是在生成标签并把标签添加到html结构中后再添加对于这个新标签的各种事件,如果有更好的方法,欢迎提出来。 <!...('a').appendChild(myp); alert(document.getElementsByTagName('p')[0]) myp.innerHTML = '我是新建的p标签
一般公司在规模达到一定程度,单体应用无法支撑业务发展时,会选择微服务架构,这时就需要一个好用的RPC框架。...类似Dubbo的竞品如 Spring Cloud 在2014年开源,微博的 Motan 在2017年开源,跨语言的 gRPC 在2015年开源,Thrift 2007 年开源。...我本人数学本科毕业,开始在小厂做PHP开发,后来去了杭州一家独角兽公司呆了5年,从PHP转到了Java,也从业务开发转向了后端基础架构,目前在某出行巨头公司做中间件开发工作,技能树又点上了Go。...更多见Dubbo杂谈合集 写这些博客的初衷也是记录一些排查问题的过程,像下面这些,一个个都是血泪史: 《太极限了,JDK的这个BUG都能被我踩到》 《案例分享 | dubbo 2.7.12 bug导致线上故障...目前我也在整理一些学习资料,关注公众号回复关键字「资料」送你一些我觉得还不错的pdf电子书。
element-ui进行了二次封装,做了一些自己的组件库,其中很多实现都是render函数配合template模板实现的,还有就是表单这块是一块比较复杂的业务逻辑,里面用到了jsx语法,我也抽时间研究了jsx在vue...中怎么使用,所以记录下自己写的demo,后面好进行查漏补缺。...$scopedSlots.data(this.detail)} ); }, }; 复制代码 demo.js # demo.js export default...this */} 点击 {/* 子组件中如果声明了插槽,在jsx...:value的形式,那么你就必须要写h变量,vue中指的就是createElement,或者你可以不写h变量,但是必须声明一个变量const h = this.
要让文字显示在 的最底部,你可以使用 CSS 中的定位或弹性布局来实现。...margin-top: auto; /* 将元素推到底部 */ } 这段文字会显示在容器底部...padding: 10px; /* 添加内边距 */ } 这段文字会显示在容器底部...align-self: end; /* 垂直方向底部对齐 */ } 这段文字会显示在容器底部.../* 垂直底部对齐 */ border: 1px solid #ccc; padding: 10px; } 这段文字会显示在容器底部
在公司里工作到了现在,感觉学不到什么新东西了。有二种可能,一是公司业务你都掌握了,确实没什么搞头了;二是你在公司里负责的都是些初级的开发任务。...不要觉得手头的东西都已经很简单了,随便搞搞就行了,反正再怎么搞也显不出来你能耐。不要有这种想法,因为互联网的边际效应递减,任何简单的东西当它的数量级另达到千万的时候,都会成为一个工程难题。...那么,就拿静态页面来讲,怎么把它的dom节点和层级搞的比较有效率?这就是个大问题。...从我个人的角度,现在回过头来看,在公司里你的工作成果,要站在公司产品的层面上来衡量,这也是为什么会有人说“做前端开发的都要有产品意识”的意思。 怎么把简单的东西做出高质量?...你做的这个东西,在公司的产品里,或是给用户使用的时候,会不会达到最好的效果?如果达不到,怎么样才能达到?---这个问题,基本上所有的公司都永远不会有最终解。
接上一篇《听君一席话,如听一席话,解释解释“惰性求值”~》,有掘友问:“我懂惰性求值的意思了,但是在 JS 中如何实现 thunk 的呢?”...JS 不像 Haskell,其自身从语言设计层面不支持惰性求值,但是可以通过语法去 模拟实现 这一特性; 想一想,我们可以用什么来 JS 语法来模拟这一“延迟计算”的特性?...没思路的话,看前篇这一句: 在《Haskell趣学指南》中,thunk 被翻译成 保证; 在《Haskell 函数式编程入门》,thunk 被解释为: thunk 意为形实替换程序(有时候也称为延迟计算...实际上 Lazy.js 也正是借助 Generator 实现“惰性”的!...以实现 take 方法为例: 在 Haskell 中,take 函数可以从头连续地取得一个列表的几个元素; Prelude> take 3 [1,2,3,4,5] [1,2,3] JS 模拟实现 take
我们在建站时有些链接是固定的,比如客服咨询链接,一般是第三方url,如果直接加上去不太专业,那么就想着用站内的页面做跳转,跳转用js比较多,那么JS页面跳转代码怎么写呢?...ytkah在网上搜索了一下,大概有以下几种方式来写js页面跳转: 1、在html的body里加 <script language="javascript" type="text/javascript...类似 window.navigate("http://www.cnblogs.com/ytkah"); 4、在原来的标签直接跳转...,而不是在浏览器新标签中打开 self.location='http://www.cnblogs.com/ytkah'; </script
关于事件总线实际上还有很多隐藏的功能,今天为各位介绍怎么在弹框里调事件总线,如果有兴趣可以阅读下文。 怎么在弹框里调事件总线? 事件总线有时候会出现一些弹窗,我们可以在弹窗中调事件总线。...通过弹窗调事件总线,首先需要做的就是将弹框调用出来,在弹窗中直接对时间总线进行操作。操作完毕以后再将弹窗关闭即可。 事件总线是什么?...上文为各位介绍了怎么在弹框里调事件总线,大家可以作为操作。以上内容相对来说还是比较抽象,需要各位在实践中不断摸索,这样才能将事件总线运用好。