技术文章

数据的存储(二)(浮点型)(零基础学习C语言)

杀马特。学长 韩版系。学妹 提交于 2021-02-17 22:22:15
1e10的意思是1*10的10次方 在float.h头文件中可以查看浮点型的精度和取值范围 在limit.h头文件可以查看整形的精度和取值范围 整形在内存中的存储方式 与 浮点型在内存中的储存方式有区别 例: 猜测 实际上 先将十进制的浮点数,化为相应的二进制补码,再将二进制写成科学计数法的表达形式,计算机将S M E分别存储,待使用时应用即可 (-1的几次方(表示符号)-1^0=0(二进制补码中表示正数),-1^1=-1(二进制补码中表示负数) M的范围在1-2之间 2的E次方) 例: 计算机将S M E分别存储,待使用时应用即可 计算机中S M E的存储形式 对有效数字M存储的规定,存储的是小数点后的精度(1没存) 对指数数字E存储的规定: 因为E规定为无符号整数,但是E可能有负数 所以如果是8位的E(float),(无论E为正负)将E加上127(十进制的127),作为E存储在电脑中 所以如果是11位的E(double),(无论E为正负)将E加上1023(十进制的1023),作为E存储在电脑中 注意:M是后面补0 E的取出 减去127即可得到真实值(float) 减去1023即可得到真实值(double) 这是一种特殊情况 意味着这个数非常小 这是一种特殊情况 意味着这个数非常大 所以上面例题的正确分析: 浮点数的形式放进去 整形的形式取出来 来源: 51CTO 作者: 拾风

webpack 4 快速搭建

99封情书 提交于 2021-02-17 22:22:05
安装 npm install --save-dev webpack@4.30.0 webpack-cli@3.3.2 更新 package.json 脚本 "scripts": { "build": "webpack --config webpack.config.js" } 更新目录结构 webpack-demo |- package.json + |- webpack.config.js + |- index.html + |- /src + |- index.js 更新 webpack.config.js const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') } }; 设定 HtmlWebpackPlugin npm install --save-dev html-webpack-plugin@3.2.0 # webpack.config.js const HtmlWebpackPlugin = require('html-webpack-plugin'); // ... plugins: [ new HtmlWebpackPlugin({

i春秋暑期训练营丨渗透测试工程师开课啦

僤鯓⒐⒋嵵緔 提交于 2021-02-17 22:22:02
每个人的夏天 都有专属的解锁方式 或来一次难忘的旅行 或躺在家里吹着空调吃西瓜 又或者是和小伙伴参加暑期训练营 i春秋暑期渗透测试工程师 报名通道已全部开启 为了保证课程质量,采取小班教学,每班仅限30人,名额有限,报满即止! 快速报名通道:https://www.ichunqiu.com/train/course/13?from=weixin 开班时间 北京开班时间:7月15日 成都(眉山)开班时间:7月22日 大家可自由进行选择,如果暑假时间有冲突又想学习渗透测试课程的同学可选择9月广州的班次,具体开班时间可联系:谢老师 18513200565(电话、微信同步) 面向人群 在校学生、IT从业者、毕业生、找工作人群、对Web安全感兴趣人群、面临转行人员。 报名条件 计算机基础及相关计算机专业 学习时间 线下就业培训4个月,周一至周五早9-晚17点授课,每天不少于6学时。 课程目标 学完后,你将掌握漏洞原理,熟悉Web漏洞查找、利用、修复加固,掌握内网渗透实战技术;具备独立完成项目实战的能力。 课程介绍 渗透测试就业班培训课程由i春秋教研组结合众多安全企业需求制定的网络攻防课程。培养方式从理论基础+线上实验环境+CTF比赛+企业虚拟靶场环境,全方位立体化教学来打造全新的职业培训体验。 课程环境 四个月的脱产学习,你将学会渗透测试、漏洞挖掘、漏洞利用、漏洞修复、代码审计、安全脚本编写

sqlmap技巧系列-输出点在响应头的SQL注入利用

眉间皱痕 提交于 2021-02-17 22:21:56
1. 场景 我们发现了一个SQL注入点,注入回显的地方是响应头的某个Header值,这时候如果我们想通过sqlmap进行漏洞利用,就需要一些技巧性的使用方式,因为sqlmap默认响应匹配是不包含响应头的。 1.1 注入点 注入成功 注入失败,可以看到注入失败时不会带上Location的响应头。 2. 技巧 既然要通过sqlmap进行注入点的利用,那我们就需要了解sqlmap的关于注入点检测的选项。 可以为我们所用的是 --string 选项,我们通过 --string "Location" ,即可让sqlmap检测出输出点在响应头的注入点。 2.1 sqlmap直接检测 可以看到,直接检测的情况下,sqlmap无法识别其它注入类型"Union"、"bool"。 2.2 使用技巧进行检测 python3 sqlmap.py --random-agent -u https://xxx/yyy_click.php\?seq=3 --string "Location:" --banner 通过 --string 这一个技巧,我们就可以更好的利用输出点在响应头的SQL注入漏洞,而不是只能使用时间盲注。 3. 原理 如果想了解sqlmap的检测原理或者更多的小技巧,可以在关注公众号"信安日记"。 来源: 51CTO 作者: qq414207614 链接: https://blog.51cto

jvm gc知识

烈酒焚心 提交于 2021-02-17 22:21:41
GC基础知识 1、什么是垃圾 没有任何引用指向的一个对象或者多个对象(循环引用) 2、如何定位垃圾 引用计数 根可达算法 3、常见的垃圾回收算法 标记清除(mark sweep) - 位置不连续 产生碎片 效率偏低(两遍扫描) 拷贝算法 (copying) - 没有碎片,浪费空间 标记压缩(mark compact) - 没有碎片,效率偏低(两遍扫描,指针需要调整) 4、JVM 内存分配模型 部分垃圾回收器使用的模型 除Epsilon ZGC Shenandoah之外的GC都是使用逻辑分代模型 G1是逻辑分代,物理不分代 除此之外不仅逻辑分代,而且物理分代 新生代 + 老年代 + 永久代(1.7)Perm Generation/ 元数据区(1.8) Metaspace 永久代 元数据 - Class 久代必须指定大小限制 ,元数据可以设置,也可以不设置,无上限(受限于物理内存) 字符串常量 1.7 - 永久代,1.8 - 堆 MethodArea逻辑概念 - 永久代、元数据 新生代 = Eden + 2个suvivor区 YGC回收之后,大多数的对象会被回收,活着的进入s0 再次YGC,活着的对象eden + s0 -> s1 再次YGC,eden + s1 -> s0 年龄足够 -> 老年代 (15 CMS 6) s区装不下 -> 老年代 老年代 顽固分子 老年代满了FGC

PSi-Population Stability Index (PSI)模型分稳定性评估指标

我怕爱的太早我们不能终老 提交于 2021-02-17 22:21:30
由于模型是以特定时期的样本所开发的,此模型是否适用于开发样本之外的族群,必须经过稳定性测试才能得知。稳定度指标(population stability index ,PSI)可衡量测试样本及模型开发样本评分的的分布差异,为最常见的模型稳定度评估指针。其实PSI表示的就是按分数分档后,针对不同样本,或者不同时间的样本,population分布是否有变化,就是看各个分数区间内人数占总人数的占比是否有显著变化。公式如下: PSI实际应用范例: 1)样本外测试   针对不同的样本测试一下模型稳定度,比如训练集与测试集,也能看出模型的训练情况,我理解是看出模型的方差情况。 2)时间外测试   测试基准日与建模基准日相隔越远,测试样本的风险特征和建模样本的差异可能就越大,因此PSI值通常较高。至此也可以看出模型建的时间太长了,是不是需要重新用新样本建模了。 PSI揭秘拿破仑和希特勒为何 俄罗斯失败 PSI揭秘2008年美国华尔街金融危机 独裁者与信用危机 拿破仑和希特勒试图 俄罗斯和2007 - 08年的金融危机有何相似之处? 拿破仑试图在1812年 俄罗斯,希特勒于1941年重复了拿破仑的不端行为 - 两次 都以独裁者军队的严重失败而告终。拿破仑和希特勒的军队远远优于俄罗斯人。正是这场战斗的条件导致了这些失败。俄罗斯的冬天经常对这些军队的命运负责。实际上

PSi-Population Stability Index (PSI)模型分稳定性评估指标

感情迁移 提交于 2021-02-17 22:21:09
由于模型是以特定时期的样本所开发的,此模型是否适用于开发样本之外的族群,必须经过稳定性测试才能得知。稳定度指标(population stability index ,PSI)可衡量测试样本及模型开发样本评分的的分布差异,为最常见的模型稳定度评估指针。其实PSI表示的就是按分数分档后,针对不同样本,或者不同时间的样本,population分布是否有变化,就是看各个分数区间内人数占总人数的占比是否有显著变化。公式如下: PSI实际应用范例: 1)样本外测试   针对不同的样本测试一下模型稳定度,比如训练集与测试集,也能看出模型的训练情况,我理解是看出模型的方差情况。 2)时间外测试   测试基准日与建模基准日相隔越远,测试样本的风险特征和建模样本的差异可能就越大,因此PSI值通常较高。至此也可以看出模型建的时间太长了,是不是需要重新用新样本建模了。 PSI揭秘拿破仑和希特勒为何 俄罗斯失败 PSI揭秘2008年美国华尔街金融危机 独裁者与信用危机 拿破仑和希特勒试图 俄罗斯和2007 - 08年的金融危机有何相似之处? 拿破仑试图在1812年 俄罗斯,希特勒于1941年重复了拿破仑的不端行为 - 两次 都以独裁者军队的严重失败而告终。拿破仑和希特勒的军队远远优于俄罗斯人。正是这场战斗的条件导致了这些失败。俄罗斯的冬天经常对这些军队的命运负责。实际上

K8S pod创建、标签、资源限制、调度

邮差的信 提交于 2021-02-17 22:19:51
pod介绍 pod定义与分类 Pod(豆荚) 是Kubernetes集群管理与调度的最小单元 2.一个Pod可以封装一个容器或多个容器(主容器或sidecar边车容器) 一个pod内的多个容器之间共享部分命名空间,例如:Net Namespace,UTS Namespace,IPC Namespace及存储资源、 用户pod默认会被调度运行在node节点之上(不运行在master节点上, 但也有例外情况) pod内的IP不是固定的,集群外不能直接访问pod 可参考: https://kubernetes.io/zh/docs/concepts/workloads/pods/ pod可分为: 1.无控制器管理的自主式pod 没有副本控制器控制,删除自主式pod后不会重新创建 2.控制器管理的pod 控制器可以控制pod的副本数,扩容与裁剪,版本更新与回滚等 查看pod方法 pod是一种资源,可以通过kubectl get pod来查看 kubectl get pod # pod或pods都可以, 不指定namespace,默认是名为default的namespace kubectl get pod -n kube-system pod的YAML资源清单格式 先看一个yaml格式的pod定义文件解释 # yaml格式的pod定义文件完整内容: apiVersion: v1 #必选

玩转算法面试-- Leetcode真题分门别类讲解

若如初见. 提交于 2021-02-17 22:19:28
download: 玩转算法面试-- Leetcode真题分门别类讲解 相信这是一门非常及时的课程,送给面试在即的你,学完这门课程,对于面试中遇到的大多数算法问题,你都会迎刃而解,但课程绝不止于面试,同样适合即将参加各类算法竞赛的同学,重要的是提升你的算法思维,这将是贯穿你编程生涯的核心内功! 适合人群及技术储备要求 适合具备基本编程思想,了解C++基本语法,最好你已经学习过另一门实战课程《算法与数据结构》,或者对基础数据结构已经有了解,在此基础上,想提升算法设计能力的同学,那这门课程非常适合你 import random 2 if name ==" main ": #四位數字字母考證码的生成 3 checkcode="" #保管考證码的變量 4 for i in range(4): 5 index=random.randrange(0,4) #生成一個0~3中的數 6 if index!=i and index +1 !=i: 7 checkcode +=chr(random.randint(97,122)) # 生成a~z中的一個小寫字母 8 elif index +1==i: 9 checkcode +=chr(random.randint(65,90) ) # 生成A~Z中的一個大寫字母 10 else: 11 checkcode +=str(random.randint