golang微服务框架go-zero系列-3:扩展go-zero,使之
扩展go-zero,使之支持html模板解析自动化go-zero本身支持html模板解析,我们只需要添加url对应模板解hanlder,实现逻辑就可以了但是winlion太懒了,我甚至想不写任何一个和模板相关的handler如果有新的模板,直接把模板到某个特定目录就好,不要动任何go代码在开发环境下没有缓存,修改了模板文件无需重启需求在这里,开撸吧创建项目生成go.mod文件以如下指令创建项目mk
迫于无奈我使用了多线程
迫于无奈我使用了多线程前言项目上很多代码都是在原有代码的基础上做修改,以尽快满足需求,最近在修改公司代码的时候,我在调试一个JSP页面,给页面加了一个日期,然后这个日期会赋值给另一个表的字段,是一个很简单的需求,但是另一个表的那条数据是延迟产生的,至于是怎么延迟的,我还没能一步步调试出来,只知道确实是延迟,但是是在哪一段代码延迟的,我是真的找不到了,因为单步调试JS然后跟踪断点,肯定是没错的,但就
LeetCode 69. x 的平方根 | Python
221.最大正方形题目来源:https://leetcode-cn.com/problems/maximal-square题目在一个由0和1组成的二维矩阵内,找到只包含1的最大正方形,并返回其面积。示例:输入:10100101111111110010输出:4解题思路思路:动态规划本篇幅使用动态规划的原理来解决该问题。我们用dp(i,j)表示以(i,j)为右下角,且只包含1的正方形的边长最大值。如果
一起从零开始手写一个动态视频截图工具吧
我们可能经常看到这样的一个功能,在视频播放的过程中,动态的将视频中的某一帧截下来。 或者一些更常见的比如视频首帧截图。那这样的一个功能,具体是怎样实现的?一起来做做吧。 整体的方案大致是这样:首先需要准备几个子功能模块。首先,得有视频,能播视频,并且可以做到实时的监听视频的进度,其次就是截图了。核心功能有了,除此之外呢?既然是动态的,所以最好还要有一个动态的dom结构插入方便展示结果,还得
用Python分析淘宝2000款避孕套,得出这些有趣的结论
今天,我们来看看淘宝系列的第四篇我们在上一篇的时候已经将淘宝数据爬取下来了,但是并没有做数据分析。所以今天这篇文章就是教大家如何去分析数据,得出一些有用的结论!Python语言相比其他语言的优势在哪里?猪哥认为是数据分析和人工智能这两大块,而且这两个方向需求会慢慢增大,所以那些想学习Python却不知道要朝着哪个目标学习的同学可以考虑往这两个方向发展!一、分析目标数据分析之前我们需要清楚的知道自己
容器类源码解析系列(四)--- SparseArray分析(最新版)
容器类源码解析系列(四)—SparseArray分析rainyang.me引言容器类源码解析系列已经更新到了第四篇,前三篇已经分别对ArrayList、LinkedList、HashMap进行源码分析。容器类源码解析系列(一)——ArrayList源码分析(最新版)容器类源码解析系列(二)——LinkedList集合源码分析(最新版)容器类源码解析系列(三)——HashMap源码分析(最新版)Sp
line-height设置垂直居中,但是在Android的浏览器上总会
line-height设置垂直居中,但是在Android的浏览器上总会偏上一点的解决办法这个问题通过css是无法解决的,即使解决了也是一种通过微调来实现的hack方法,因为文字在content-area内部渲染的时候已经偏移了,而css的居中方案都是控制的整个content-area的居中。导致这个问题的本质原因可能是Android在排版计算的时候参考了primyfont字体的相关属性(
gitbook 入门教程之前置知识
markdown基本知识markdown是一种简化的html语法,相比于txt无格式文本更强大.你可以用专门的软件去编辑markdown文件,就像需要使用软件编辑txt文件一样,当然也可以什么软件也不用,甚至直接在记事本或命令行书写,只不过这样的缺点就是无法实时预览输出效果,安全依赖个人经验和想象力了.markdown文件后缀名是.md,安装了相应插件的浏览器或专门软件能够看到输出效果.标题语法格
Pandas对NaN的操作
importnumpyasnpimportpandasaspdfrompandasimportSeries,DataFramen=np.nantype(n)#结果:m=1m+n#结果为:nans1=Series([1,2,np.nan,3,4],index=['A','B','C','D','E'])s1还有判断Series中元素是否为nan的函数s1.isnull()s1.notnull()df
electron-vue 开发环境搭建(Windows环境)
1.安装 Node.js,一切都基于这个。安装完成后,终端输入 node-v 验证。 2.建立自己的项目目录,然后进入目录。安装vue-cli,终端输入 npminstall-gvue-cli 进行安装,如果嫌速度慢,可以安装cnpm(淘宝镜像),然后输入 cnpminstall-gvue-cli 安装。下图展示了两种镜像的安装。 如果出现安装失败信息,很可能是缺少构建工具,按照如下操作:安装W
headfirst设计模式(8)—适配器模式与外观模式
前言这一章主要讲2个模式,一个是,适配器模式(负责将一个类的接口适配成用户所期待的),另外一个是外观模式(为子系统提供一个共同的对外接口),看完的第一反应是,为什么要把它们两放在同一章,难道它们有什么不可告人的秘密?难道是因为他们俩都很简单吗?不会不会,毕竟是大名鼎鼎的headfirst,怎么可能这么草率,这我是万万不相信的!细想了一下,我和工作的点点滴滴,我发现,一般到项目的后期,好像都比较容易
kubelet 创建 pod 的流程
上篇文章介绍了kubelet的启动流程,本篇文章主要介绍kubelet创建pod的流程。kubernetes版本:v1.12kubelet工作原理kubelet的工作核心就是在围绕着不同的生产者生产出来的不同的有关pod的消息来调用相应的消费者(不同的子模块)完成不同的行为(创建和删除pod等),即图中的控制循环(SyncLoop),通过不同的事件驱动这个控制循环运行。本文仅分析新建pod的流程,
防盗链与springboot代理模式(图片文件转发)
在搭建自己的博客网站的时候,很有可能要引入一些外部图片,毕竟多数人最开始不是在自己的平台上写博客。 因某种需要,搬运自己以前写的博客到自己的网站时,在图片这一步可能会出现问题,无法显示。其中往往就是防盗链在起作用了防盗链定义百度百科给的解释是此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来
一位跨平台开发者的自白
AndreiaGaita在OSCON开源大会上发表了一个题为跨平台开发者的自白的演讲。她长期从事于开源工作,并且为Mono工程(LCTT译注:一个致力于开创.NET在Linux上使用的开源工程)做着贡献,主要以C#/C++开发。Andreia任职于GitHub,她的工作是专注构建VisualStudio的GitHub扩展管理器。我在她发表演讲前就迫不及待的想要问她一些关于跨平台开发的事,问问她作为
Js BigDecimal实现精确加减乘除运算的方法
加法函数,用来得到精确的加法结果functionaccAdd(arg1,arg2){varr1,r2,m,c;try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}c=Math.abs(r1-r2);m=Math.
jsp中表单重置
在jquery中重置表单主要是将jquery转化成DOM对象,在使用reset()方法即可,所以有以下两种方案:一:使用get(0)$("#myform").get(0).reset();二:使用[0]$("#myform")[0].reset();以上两种方法其实使用原理一致的;但是这里有一点必须注意:有时候在使用上述两种方法时,浏览器报TypeError:$("...").get(...).r
命令模式
典型应用是GUI中的绘图程序,用命令模式实现“撤销”操作.命令接收者:执行实际任务。命令者:封装所有命令者的信息。发起者:空着一个或者多个命令的顺序和执行。客户端:创建具体的命令实例public class DrawInvoker { //绘制列表 private List drawList = Collections.synchronizedList(new ArrayList())
jquer 获取json数据,并且用 highcharts 实现展现
json数据格式如下:{ "value": [ 23, 4,24,95,27,35,93,63,75,17,13,93,54,71,61,14,13, 14, 29 ] }需要highcharts的dark-blue.js文件html文件格式如下: $(document).ready(function() {
C++雾中风景5:Explicit's better tha
关于Explicit还是Implicit一直是编程语言中能让程序员们干起架的争议。那些聪明的老鸟总是觉得Implicit的规则让他们能够一目十行,减少样板代码的羁绊。而很多时候,Implicit的很多规则会让新手或者是合作开发的搭档痛苦不堪。文章的标题也写明了笔者的态度,显式的在代码之中指明自己的意图,会让程序更加明晰。所以也借今天这篇文章,我们来聊聊Explicit关键字。1.隐式类类型转换好吧
C++雾中风景8:Lambda表达式
上一篇C++的博客是LongLongago了,前文讲到在看Lambda表达式的内容。笔者首次接触Lambda表达式应该是学习Python语言的时候,当时也不太明白这种表达方式的精髓,后续接触了Scala与Java8的链式调用与Lambda结合的方式,深陷无法自拔。所以借上一篇闭包的内容。我们来完整的梳理一下C++之中的Lambda表达式。1.什么是Lambda表达式?Lambda表达式是函数式编程