草庐IT

important_note

全部标签

awk 处理 Git 提交信息生成 Release Note

发布软件时通常都会写ReleaseNote,但每次从头手打也有点累,可以考虑从Git的提交历史中自动生成。Git提交信息一般是三段式结构,段落之间使用空行隔开://空行//空行subject和body自不必多说,trailers中一般是一条条键--值对构成的信息,键和值由冒号:分隔。比如Git的Commiter:就可以视为一条trailer,Gerrit代码审查通过后,也会在Git提交消息中添加Reviewed-by:和Tested-by:之类的trailer。现假设提交信息中的trailers包含Type和Issue字段,分别表示类别(NewFeature,BugFix之类)和BUG编号(G

awk 处理 Git 提交信息生成 Release Note

发布软件时通常都会写ReleaseNote,但每次从头手打也有点累,可以考虑从Git的提交历史中自动生成。Git提交信息一般是三段式结构,段落之间使用空行隔开://空行//空行subject和body自不必多说,trailers中一般是一条条键--值对构成的信息,键和值由冒号:分隔。比如Git的Commiter:就可以视为一条trailer,Gerrit代码审查通过后,也会在Git提交消息中添加Reviewed-by:和Tested-by:之类的trailer。现假设提交信息中的trailers包含Type和Issue字段,分别表示类别(NewFeature,BugFix之类)和BUG编号(G

2016 ZCTF note3:一种新解法

2016ZCTFnote3:一种新解法最近在学习unlink做到了这道题,网上有两种做法:一种是利用edit功能读入id时整数溢出使索引为-1,一种是设置块大小为0使得写入时利用整数溢出漏洞可以将数据溢出到下一个块中。我采取了另一种思路:程序在分配id=7块时虽然提示块已满,但没有采取措施,依然分配了一个块,并将块地址放在了存放块0size的位置,使得可以往块0写入足够多的数据溢出到下一个块中。我先分析我的解法,然后再简单叙述一下另外两种解法的原理。程序分析一般步骤查看程序保护措施。该程序有4个功能:NewnoteShownote(假的,只打印一个字符串)EditnoteDeletenoteN

2016 ZCTF note3:一种新解法

2016ZCTFnote3:一种新解法最近在学习unlink做到了这道题,网上有两种做法:一种是利用edit功能读入id时整数溢出使索引为-1,一种是设置块大小为0使得写入时利用整数溢出漏洞可以将数据溢出到下一个块中。我采取了另一种思路:程序在分配id=7块时虽然提示块已满,但没有采取措施,依然分配了一个块,并将块地址放在了存放块0size的位置,使得可以往块0写入足够多的数据溢出到下一个块中。我先分析我的解法,然后再简单叙述一下另外两种解法的原理。程序分析一般步骤查看程序保护措施。该程序有4个功能:NewnoteShownote(假的,只打印一个字符串)EditnoteDeletenoteN

require 与 import

common.js模块化规范  app.js文件://require在代码执行阶段才会调用引入文件,编译(预解析)时不会执行,所以下面会报错//console.log(dep);ReferenceError:depisnotdefinedconstdep=require('./dep');//require加载的是一个对象(即module.exports属性,不是exports),const定义的变量不会预解析console.log(dep);//{count:1}  dep.js文件:varcount=0;count=1;exports.count=count;//默认exports和mod

require 与 import

common.js模块化规范  app.js文件://require在代码执行阶段才会调用引入文件,编译(预解析)时不会执行,所以下面会报错//console.log(dep);ReferenceError:depisnotdefinedconstdep=require('./dep');//require加载的是一个对象(即module.exports属性,不是exports),const定义的变量不会预解析console.log(dep);//{count:1}  dep.js文件:varcount=0;count=1;exports.count=count;//默认exports和mod

Rollup failed to resolve import "element-plus/es/components"

vite打包异常,错误信息如下:[vite]:Rollupfailedtoresolveimport"element-plus/es/components"from"node_modules/element-plus/es/index.js".Thisismostlikelyunintendedbecauseitcanbreakyourapplicationatruntime.Ifyoudowanttoexternalizethismoduleexplicitlyadditto`build.rollupOptions.external`errorduringbuild:Error:[vite]

Rollup failed to resolve import "element-plus/es/components"

vite打包异常,错误信息如下:[vite]:Rollupfailedtoresolveimport"element-plus/es/components"from"node_modules/element-plus/es/index.js".Thisismostlikelyunintendedbecauseitcanbreakyourapplicationatruntime.Ifyoudowanttoexternalizethismoduleexplicitlyadditto`build.rollupOptions.external`errorduringbuild:Error:[vite]

Python引入模块报错:Import "openai" could not be resolvedPylancereportMissingImports

复制Openai的代码进行测试的时候,发生:Import"openai"couldnotberesolvedPylancereportMissingImports  以为是安装问题,检查安装,发现没有这个模块: 直接进行安装:pipinstallopenai;报错:Nomatchingdistributionfoundforpandas>=1.2.3(fromopenai)Youareusingpipversion10.0.1,howeverversion23.0isavailable.Youshouldconsiderupgradingviathe'python-mpipinstall--u

Python引入模块报错:Import "openai" could not be resolvedPylancereportMissingImports

复制Openai的代码进行测试的时候,发生:Import"openai"couldnotberesolvedPylancereportMissingImports  以为是安装问题,检查安装,发现没有这个模块: 直接进行安装:pipinstallopenai;报错:Nomatchingdistributionfoundforpandas>=1.2.3(fromopenai)Youareusingpipversion10.0.1,howeverversion23.0isavailable.Youshouldconsiderupgradingviathe'python-mpipinstall--u