编程笔记

  • Webpack5正式发布,有哪些新特性

    webpack作为最使用最广泛的前端打包工具,已经成为前端工程化基础设施的一部分。而Webpack上一个大版本更新已经是18年的时候了,两年时间过去了让我们看看Webpack5都带来了哪些新特性,对我们的应用又有哪些帮助。 概览 下面这张图是 Webpack 官方 Changelog 里面截图出来的,可以看到​主要有这些方面的提高:

  • Python Sqlalchemy如何实现select for update

    sqlalchemy 对于行级锁有两种实现方式,with_lockmodeself, mode: 和 with_for_updateself, read=False, nowait=False, of=None,前者在sqlalchemy 0.9.0 被废弃,用后者代替。所以我们使用with_for_update ! 看下函数的定义: @_generative

  • Laravel 关联模型-关联新增和关联更新的方法

    网上找了 Laravel 相关的关联新增和关联更新文档,写的都不是很满意。(基本都在抄文档)下面整理下自己代码中的关联操作方法 按照 Laravel 文档中的说明设置关联模型 a rel="external nofollow" target="_blank" href="https:learnku.comdocslaravel5.6eloquent-relationship

  • 分析HashMap 的 JDK 源码

    缘由:今天好友拿着下面的代码,问我为什么 Map.Entry 这个接口没有实现 getKey 和 getValue 方法,却可以使用,由此,开启了一番查阅 JDK 源码的旅途…. Map map = new HashMap; map.put1, "张三"; map.put2, "李四"; map.p

  • MyBatis还是JPA?终于有答案了

    对于一个和数据库打交道的程序员来说,很快会面临着一个艰难的选择。到底是选择MyBatis还是JPA呢? 很多人说,技术选择,都要根据需求来,这个没错。但是,除了需求,还有很重要的一个环节,那就是队友的水平。如果你选择了一些比较高级的技术,那么就是在给整个团队埋坑。 JPA的抽象层次更高,代码写起来也更简洁,但是它一点都不简单。虽然经过了多次的培训,我呆过的几个团队,

  • 使用python把xmind转换成excel测试用例的实现代码

    前言 因为写好了测试xmind脑图后,然后再编写测试用例,实在是太麻烦了,所以我写了一点测试用例后,就网上百度了下,怎么直接把xmind脑图转换成excel测试用例,纯个人学习笔记 本文参考: https:www.nhooo.comarticle197246.htm https:www.nhooo.comarti

  • JavaScript中使用concat()方法拼接字符串的教程

    这种方法将两个或多个字符串,并返回一个新的单字符串。 语法 string.concatstring2, string3[, ..., stringN]; 下面是参数的详细信息: string2...stringN : 这些是要连接字符串

  • javascript使用 concat 方法对数组进行合并的方法

    在介绍前,抛出一个问题:如何将多个数组合并为一个数组? 以下的分享会分为如下小节: 1.concat方法的基础介绍 2.从实例中感受concat方法 1.concat方法的基础介绍   concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数

  • 深入理解javascript中concat方法

    最近在恶补js知识的时候,总是会因为js强大的语法而感到震撼。因为以前对前端方面的疏忽,导致了一些理解的错误。因此痛改前非,下定决心,不管做什么事情,都要有专研的精神。 在介绍前,抛出一个问题:如何将多个数组合并为一个数组? 以下的分享会分为如下小节: 1.concat方法的基础介绍 p

  • Nginx本地目录映射实现代码实例

    有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http:ipimage2016042910abc.jpg访问到系统目录image_data2016042910abc.jpg需要在nginx.conf中对应的server {}下添加location规则,配置如下:

  • JavaScript中concat复制数组方法浅析

    我们在需要进行数组复制的时候可能会想到以下的方法 代码 var arr1 = [1,2,3,4,5]; var arr2 = []; arr2 = arr1; console.logarr1; console.logarr2; 执行结果如下: [1, 2, 3, 4, 5] [1, 2, 3,

  • 使用Python将xmind脑图转成excel用例的实现代码(一)

    最近接到一个领导需求,将xmind脑图直接转成可以导入的excel用例,并且转换成gui可执行的exe文件,方便他人使用。 因为对Python比较熟悉,所以就想使用Python3来实现这个功能,先理一下思路,首先要将xmind转换成Python可用的数据格式,正好找到了一个xmindparser库可以做这个事情,然后就好办了,用xlwt库写成xls文件,再用Python自带的gui库 tkinter来写

  • 浅析我对JS延迟异步脚本的思考

    关于对延迟脚本的思考 async和defer属性的脚本,相信大家都听说过,但是他的真正执行细节是什么样子的?很少有文章认真研究它,可能不太有人注重细节,但其实真正有技术含量的工作和项目,对于性能要求极高,那么细节就很重要了.需要不断的实验自我尝试 最近几个月,我一直在研究一些技术,例如linux,操作系统,算法等,预计要持续学习到今年年底。红宝书第四版

  • Linux系统防CC攻击自动拉黑IP增强版(Shell脚本)

    前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护。 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时

  • 详解C++11 线程休眠函数

    C++ 11之前并未提供专门的休眠函数。c语言的sleep、usleep其实都是系统提供的函数,不同的系统函数的功能还有些差异。 在Windows系统中,sleep的参数是毫秒。 sleep2*1000; sleep for 2 seconds 在类Unix系统中,sleep函数的单位是秒。 sleep2;

  • 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)

    上一篇我们写了怎么将xmind转换成想要的excel格式,这篇再讲一下用Python自带的tkinter库设计一个简单的gui界面,让我们的xmind路径,用例版本执行等都通过这个gui界面来输入,生成我们需要的excel文件。 Python要生成gui,库还是比较多的比如wxpython,这个我看了下,感觉比较难懂,毕竟只是设计一个比较简单的gui界面,所以就使用了tkinter库,感觉这个还是比较方

  • bat/cmd批处理连接SqlServer数据库查询脚本

    难得今天晚上9点前赶回家,而且最近草稿箱也压了不少“湿货”,就挑一篇发出来好了!不过在发文章之前先吐槽一下那个从昨天攻击张戈博客到现在还在继续的无聊蛋疼之人! 本来就算开启了云加速全缓存也是扛不住的,因为静态中混着动态请求,比如浏览计数。还好灵机一动,对这些动态做了点小手脚,现在基本毫无压力了!粗略分析一下这个攻击博客的小人,无外乎是2种人: ①、最近张戈博客流量大涨,估计遭人妒忌或者

  • java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例。 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存储在redis中,其中的实现原理还是保持不变。 一)token编码工具类 package co

  • SpringBoot启动过程的实现

    SpringBoot启动过程分析,首先打开SpringBoot的启用入口Main类: @SpringBootApplication public class ApplicationMain{ public static void mainString[] args { SpringApplication.runApplicationMain.class, args; }

  • MySQL之Field‘***’doesn’t have a default value错误解决办法

    今天,中国博客联盟有博友反馈,zgboke.com无法提交博客,当时我正好准备去假日广场聚会,就匆匆忙忙的提交试了下,发现提交博客的时候确实报如下错误: 提示web_pic不能为空值。很纳闷,之前都可以成功提交的,为什么突然不行了?看了下网上的案例,说是

  • MySQL数据库优化推荐的编译安装参数小结

    MySQL编译参数多而复杂,让新手感到很头大,如果是正式生成环境安装MySQL,没有充足的时间去研究每一个参数代表的意义,个人建议使用余洪春前辈整理的编译参数,便捷高效! MySQL的线上安装建议采取编译安装的方法,这样性能上有较大提升,,源码包的编译参数会默认以Debgu模式生成二进制代码,而Debug模式给MySQL带来的性能损失是比较大的,所以当我们编译准备安装的产品代码时,一定不要忘记使用“—w

  • SpringBoot项目的logback日志配置(包括打印mybatis的sql语句)

    关于logback日志的详解见这位仁兄的博客:Spring Boot-日志配置超详细 我在这就开门见山直接介绍我们项目日志的配置使用吧!~ 1、基本介绍 默认情况下,Spring Boot项目就会用Logback来记录日志,并用INFO级别输出到控制台

  • Linux系统下MongoDB的简单安装与基本操作

    Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库NoSql,其灵活的数据存储方式,备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想OO思想,在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。 一、下载mong

  • Idea如何导入一个SpringBoot项目的方法(图文教程)

    最近公司要求开发工具要用Idea,作为一个eclipse的老员工,记录一下Idea中遇到的坑 刚开始用Idea从Git上导入一个项目时,遇到了很多坑,网上有很多方法,我不多做介绍。只说明一下我使用的方法。 1.本地新建一个文件夹,从git上导入项目到本地文件夹。(git的相关使用请自行百度,这里只讲Idea的使用方法) p style="text-align: cente

  • C#使用自定义算法对数组进行反转操作的方法

    本文实例讲述了C#使用自定义算法对数组进行反转操作的方法。分享给大家供大家参考。具体如下: C#的Array对象自带反转功能,但是下面的代码完全通过自定义的算法来实现数组反转 public static void ReverseArrayTthis T[] inputArray { T temp = defaultT;

  • C#使用linq计算执行元素在列表中出现次数的方法

    本文实例讲述了C#使用linq计算执行元素在列表中出现次数的方法。分享给大家供大家参考。具体如下: 这是使用linq计算元素在列表中出现的次数,调用方法非常简单,和sql语句很像 Count the number of times an item appears in this list public static int CountTimesT

  • JavaScript使用indexOf获得子字符串在字符串中位置的方法

    本文实例讲述了JavaScript使用indexOf获得子字符串在字符串中位置的方法。分享给大家供大家参考。具体如下: !DOCTYPE html html body p id="demo" Click the button to locate where in the string a specifed value oc

  • JavaScript搜索字符串并将搜索结果返回到字符串的方法

    本文实例讲述了JavaScript搜索字符串并将搜索结果返回到字符串的方法。分享给大家供大家参考。具体如下: javascript操作字符串带有一个match方法用于搜索字符串,如果找到指定的字符串则返回搜索字符串,如果未找到则返回null,match方法区分大小写 !DOCTYPE html html body s

  • 显示Java中的最大内存量

    为了显示Java中最大的内存量,我们使用该maxMemory方法。它是java.lang.Runtime类的方法。它返回Java虚拟机将尝试使用的最大内存量。 声明-java.lang.Runtime.maxMemory方法声明如下- publiclongmaxMemory

  • JavaScript将一个数组插入到另一个数组的方法

    本文实例讲述了JavaScript将一个数组插入到另一个数组的方法。分享给大家供大家参考。具体分析如下: 这段JS代码可以通过Array.prototype.push.apply方法将一个数组插入到另外一个数组,下面的代码将数组b插入到a var a = [4,5,6]; var b = [7,8,9]; Array.prototype.push.applya, b;

  • JavaScript数组前面插入元素的方法

    本文实例讲述了JavaScript数组前面插入元素的方法。分享给大家供大家参考。具体如下: JS数组带有一个unshift方法可以再数组前面添加若干个元素,下面是详细的代码演示 !DOCTYPE html html body p id="demo"Click the button to add

  • idea中导入别人的springboot项目的方法(图文)

    Springboot导入Idea中项目代码千万不要放在中文路径下,否则会出现一系列问题。 导入项目步骤: img s

  • JavaScript输出当前时间Unix时间戳的方法

    本文实例讲述了JavaScript输出当前时间Unix时间戳的方法。分享给大家供大家参考。具体如下: 下面的代码通过Date对象的getTime放回unix时间戳,即从1970年1月1日到当前时间的秒数 !DOCTYPE html html body p id="demo" Click the butt

  • eclipse、myeclipse中删除所有注释正则表达式

    Ctrl+F: \*{1,2}[\s\S]*?\* 选择正则表达式,替换全部即可。

  • JavaScript实现select添加option

    JavaScript为select添加option !DOCTYPE html html head meta charset="utf-8" title测试文件title script window.onload = function{ 创建select控件

  • JavaScript定时器和优化的取消定时器方法

    通常用的方法: 启动定时器: window.setIntervalMethod,Time Method是定时调用的js方法 Time是间隔时间,单位是毫秒 取消定时器: clearIntervalMethod; 

  • 图片识别工具Tesseract初探

    一、框架介绍 Tesseract 是一款图片识别工具,可以抓取图片中的文字,可以支持多种语言默认是英语),需要下载开源文件可以在github上下载,如果知识应用不想太多深究直接在google code里边搜索下载即可。 二、Tesseract内容 p style="text-align: c

  • Springboot之修改启动端口的两种方式(小结)

    Springboot启动的时候,端口的设定默认是8080,这肯定是不行的,我们需要自己定义端口,Springboot提供了两种方式,第一种,我们可以通过application.yml配置文件配置,第二种,可以通过代码里面指定,在开发中,建议使用修改application.yml的方式来修改端口。 代码地址 #通过yml配置文件的方式指定端口地址

  • Javascript中的作用域和上下文深入理解

    概述 Javascript中的作用域和上下文的实现是Javascript语言独有的特性,从某种程度上来说,Javascript语言是十分灵活的。Javascript中的函数可以采用各种各样的上下文,作用域也可以被封装和保存。正是由于这些特性,Javascript中也提供了很多很有用的设计模式。然而,作用域和上下文也是Javascript程序员在开发中经常迷惑的地方。b