calc

js 类数组arguments详解

混江龙づ霸主 提交于 2020-01-25 18:10:53
arguments并不是一个真正的数组,而是一个“类似数组(array-like)”的对象; 就像下面的这段输出,就是典型的类数组对象: [12, 23, callee: ƒ, Symbol(Symbol.iterator): ƒ] 一、类数组 VS 数组 相同点: 都可用下标访问每个元素 都有length属性 不同点: 数组对象的类型是Array,类数组对象的类型是Object; 类数组对象不能直接调用数组API; 数组遍历可以用for in和for循环,类数组只能用for循环遍历; function calc(){ console.log(arguments); // ["sky", "moon", callee: ƒ, Symbol(Symbol.iterator): ƒ] console.log(arguments[0]); // sky console.log(arguments.length); // 2 // arguments.pop(); // 报错,arguments.pop is not a function } calc('sky', 'moon'); 类数组对象转为数组对象方法: Array . prototype . slice . call ( arguments ); function calc(){ var newArr = Array

嘶吼CTF easy calc

喜欢而已 提交于 2020-01-24 18:38:08
进入之后可以看到我们需要输入一个计算式来得到答案,burpsuite进行抓包之后发现页面来自于calc.php 我们直接访问calc.php页面 发现源代码泄露 可以看到当我们没有输入num值的时候就会显示源代码,否则对输入的num进行eval命令执行,在命令执行之前有黑名单过滤。 我们需要绕过黑名单进行命令执行。 虽然是这样,但是ls不在黑名单执行里面,所以我们先ls一下 返回了403界面。 这里很可能是因为有waf设备保护着输入的参数,这里我们利用php的特性,使用php字符串解析绕过WAF。 因为防护设备检测的是num,而php需要将所有参数转换为有效的变量名,所以在解析查询字符串时,php会做两件事情: 1,删除初始空格 2,将某些字符转换成下划线(包括空格) 所以我们将传入的变量改为%20num,即空格num,故WAF不会对其进行检测,而php在处理的时候又会将其还原成num。 这样成功绕过了服务器端的WAF,紧接着我们要绕过黑名单来读取flag 使用scandir函数进行读取,查看当前目录下需要使用/符号,我们使用chr函数来绕过。 所以查看当前目录下的payload为: ?%20num=print_r(scandir(chr(47))) 可知flag在flagg文件下,于是我们使用file_get_contents()函数进行读取 payload为 ?%20num

Python编写API接口

旧巷老猫 提交于 2020-01-23 01:23:01
本文转载自: https://www.cnblogs.com/dreamer-fish/p/5512294.html 作者:dreamer-fish 转载请注明该声明。 要求通过http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb进行访问,参数a="aa",b="bb",c="00" 1.编写url:浏览器会自动将?后面识别为参数。 urlpatterns = [ url(r ' ^calc/$ ' , aptest.calc, name= ' calc ' ), ] 2.编写view: def calc(request): a = request.GET[ ' a ' ] b = request.GET[ ' b ' ] c = request.GET[ ' c ' ] print a,b,c m = a+b+ c return HttpResponse(str(m)) 浏览器返回json类型结果: import json def calc(request): a = request.GET[ ' a ' ] b = request.GET[ ' b ' ] c = request.GET[ ' c ' ] print a,b,c m = a+b+ c n = b+ a rets = { " m " :m, ' n ' :n}

决策单调性

独自空忆成欢 提交于 2020-01-22 23:11:27
决策单调性:状态转移的最优决策点单调递增 可以用二分栈或者分治来实现 二分栈中存有三元组 \((l,r,pos)\) , \(l\) 代表决策的作用起点, \(r\) 代表决策的作用终点, \(pos\) 是决策点的位置 若当前状态 \(i\) 已经不在栈头决策点的范围内,就弹出栈头 若位置为 \(i\) 的决策优于栈尾的决策,才进行下一步操作,来更新决策 若新决策点的作用范围覆盖了旧决策点,就弹出栈尾 若栈空了,就直接加入新决策点,说明其当前是最优的,否则就通过在旧决策点的范围内二分,来确定旧决策点的终点和新决策的的起点 时间复杂度 \(O(n\ log\ n)\) 诗人小G : \(f_i=\min\limits_{j=0}^{i-1}\ f_j+|s_i-s_j-L-1|^P\) \(code:\) ld calc(int i,int j) { return f[j]+qp((ld)abs(s[i]-s[j]-l-1),p); } int find(node t,int x) { int l=t.l,r=t.r,pos=t.pos; while(l<=r) { int mid=(l+r)>>1; if(calc(mid,x)<=calc(mid,pos)) r=mid-1; else l=mid+1; } return l; } ...... q[h=t=1]=(node)

python -函数

梦想与她 提交于 2020-01-22 11:14:11
函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义 1 def sayhi():#函数名 2 print("Hello, I'm nobody!") 3 4 sayhi() #调用函数 可以带参数 1 #下面这段代码 2 a,b = 5,8 3 c = a**b 4 print(c) 5 6 #改成用函数写 7 def calc(x,y): 8 res = x**y 9 return res #返回函数执行结果 10 11 c = calc(a,b) #结果赋值给c变量 12 print(c) 函数参数与局部变量 形参 变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量 实参 可以是常量、变量、表达式、函数等,无论实参是何种类型的量

使用rem+vw实现简单的移动端适配

心不动则不痛 提交于 2020-01-20 15:42:28
首先设置meta属性,如下代码: < meta name = "viewport" content = "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" > 使用如下代码就能实现移动端的适配: html { font - size : - webkit - calc ( 13.33333333 vw ) ; font - size : calc ( 13.33333333 vw ) ; } 100vw相当于浏览器的window.innerWidth,是浏览器的内部宽度,注意, 滚动条宽度也计算在内 !那么1vw就是表示1%的屏幕宽度。 其中的 13.33333333vw 是怎么来的呢?就是你的设计稿是750px,那么设计稿的1px就是0.133333333vw,那么100px就是13.33333333vw。也即是html的font-size设置为100px相当于1rem(设计稿为750px)。那么我们就可以很轻松的换算设计稿中的单位为rem了,比如一个元素宽度为150px,转换为rem就是1.5rem。其他尺寸设计稿的计算方式依次类推。 参考网易新闻移动端的写法: /** * view-port list: 320x480 320x568 320x570 360x592 360x598

[翻译]使用VH和VW实现真正的流体排版

狂风中的少年 提交于 2020-01-15 15:45:08
前言 不像响应式布局,通过media query,设置几个变化点来适配,流体排版通过调整大小,适配所有设备宽度。这个方法可以使我们开发的网页,在几乎所有屏幕尺寸上都可以使用。但出于一些原因,它的使用率还远远没有响应式技术高。 在印刷的历史上,排版是根深蒂固的。关于“流体”的概念,在传统思想里并不存在。这是因为,在印刷上,尺寸大小都是有固定的,不用考虑在页面上使用。我认为流体排版技术可以和网页很好的匹配。这是在不同媒介上的一种解决方法。 并不意味着我们要推翻之前的所有关于排版的认识,只需要去学习如何用不同方式,去运用掌握新的技术。只要注意细节,就可以制作出适配所有屏幕尺寸的完美的页面。 流体排版上手 视口(viewport)单位 ,使流体排版在页面上应用变为可能。视口单位是根据浏览器的视口尺寸的百分比来定义的。 举个例子,1视口宽度(vw)等于视口宽度的1%,它不同于百分比的地方是,它的宽度是依赖于视口的宽度的,而百分比是元素的祖先元素来决定的。 视口单位,不同于其它单位,它不依赖于基础字体的大小。这种差别很重要,使它变得有意义而且独特。 可以使用的4种视口单位 : vw :视口宽度(viewport width) vh :视口高度(viewport height) vmin :视口宽度或高度,选择小的那个 vmax :视口宽度或高度,选择大的那个 使用流体排版最简单的方法

用python打开windows计算器程序

淺唱寂寞╮ 提交于 2020-01-13 05:31:57
第一种方法: >>> import os >>> os.system("calc.exe") 1 2 os.system() 在调用完shell脚本后,返回一个16位的二进制 数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码,即脚本中“exit 1”的代码执行后,os.system函数返回值的高位数则是1,如果低位数是0的情况下,则函数的返回值是0×100,换算为10进制得到256。 第二种方法: >>> import os >>> os.popen("calc.exe") 1 2 这种调用方式是通过管道的方式来实现,函数返回一个file-like的对象,里面的内容是脚本输出的内容(可简单理解为echo输出的内容)。 第三种方法: >>> import os >>> os.startfile("calc.exe") 1 2 os.startfile (path [, operation]) 这样执行的动作与在Windows Explorer中双击文件相同。在应用程序运行之后, 函数就会返回。此外不能等待完成或者从应用程序获得退出代码。path的值是相对于当前目录而言。operation是一个可选的字符串, 用于指定打开path时执行的动作。它的默认值是 ‘open’, 但也可以将它置为’print’、‘edit’、‘explore’或’find’

Thornthwaite evapotranspiration on a raster dataset . Error formula not vectorised

浪子不回头ぞ 提交于 2020-01-06 06:00:08
问题 I am trying to calculate evapotranspiration (ET) for running SPEI on a raster dataset by using the Thornthwaite ET formula included in the SPEI package this is my code library(SPEI) library(raster) library(zoo) tm = array(1:(3*4*12*64),c(3,4,12*64)) tm = brick(tm) dates=seq(as.Date("1950-01-01"), as.Date("2013-12-31"), by="month") tm<- setZ(tm,dates) names(tm) <- as.yearmon(getZ(tm)) thornthwaite ET th <- function(Tave, lat) { SPEI::thornthwaite(Tave, lat) } lat <- setValues(a, coordinates(tm

Width: calc() on img is not relative to parent container

我与影子孤独终老i 提交于 2020-01-05 08:24:28
问题 I'm currently working on a layout where I have to use negative margins on the images. The images are inside <div class="entry-content"> , which has a padding. To make the images within entry-content go outside the paddings, I use negative margins. To stretch the image outside the <div class="entry-content"> I used width:calc(100%+margin) . This doesn't work as expected though - the 100% seems to be the image's width rather than the width of entry-content . I want the image's width to be