我需要检查一个表单输入值是一个正整数(不只是一个整数),我注意到另一个代码片段使用下面的代码:
$i = $user_input_value;
if (!is_numeric($i) || $i < 1 || $i != round($i)) {
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
我想知道使用上面的三个检查是否有任何好处,而不仅仅是这样做:
$i = $user_input_value;
if (!is_int($i) && $i < 1) {
return TRUE;
}
Run Code Online (Sandbox Code Playgroud) 我有一个如下数组:
Array ( [0] => Array ( 'name' => "Friday" 'weight' => 6 ) [1] => Array ( 'name' => "Monday" 'weight' => 2 ) )
我想获取该数组中的最后一个值('weight'),并使用它来对主数组元素进行排序.所以,在这个数组中,我想对它进行排序,以便'Monday'元素出现在'Friday'元素之前.
我正在使用Ansible安装PHP的Pear包,如下所示:
- name: Add Phergie PEAR channel.
command: pear channel-discover pear.phergie.org
ignore_errors: yes
- name: Install Phergie and related plugins.
command: pear install pear.phergie.org/{{ item }}
with_items:
- Phergie
- Phergie_Plugin_AltNick
ignore_errors: yes
Run Code Online (Sandbox Code Playgroud)
这ignore_errors
是必需的,因为当运行之前已成功运行/完成的命令时,pear总是报告错误(例如:
TASK: [Add Phergie PEAR channel.] *********************************************
failed: [10.31.9.210] => {"changed": true, "cmd": ["pear", "channel-discover", "pear.phergie.org"], "delta": "0:00:01.089340", "end": "2013-12-27 10:16:25.640083", "item": "", "rc": 1, "start": "2013-12-27 10:16:24.550743"}
stdout: Channel "pear.phergie.org" is already initialized
...ignoring
TASK: [Install Phergie and related plugins.] **********************************
failed: [10.31.9.210] => …
Run Code Online (Sandbox Code Playgroud) 在Safari/Chrome中打印下面的页面时,内容(页面上的所有内容,基本上)都会被压缩到页面的左侧,大约是页面宽度的60%.
但是,在FireFox和IE 7中,打印页面将内容显示为全宽(并且看起来非常好,imo).我将所有布局元素的大小调整为100%宽度(使用!important以确保它们正在应用),并且Safari/Chrome仍然无法打印出整个宽度.
这是我正在引用的页面:http: //archstl.org/commoffice/press-release/2010/local-catholic-principal-honored-fi
这里是Webkit(第一个)与Gecko(第二个)之间差异的图像: Webkit的打印渲染http://img.skitch.com/20100518-cgr6t6edwyr3x7p55f5eewqy6r.jpg Gecko的打印渲染http://img.skitch.com/ 20100518-bxgxnyd3uecu5cp2ba2whnp3uy.jpg
我最近一直在实现一些基于PHP/IMAP的电子邮件处理功能,并且除了消息体解码(在某些情况下)之外,大多数工作都很好.
我认为,到目前为止,我已经记下了RFC 2822("互联网邮件格式"文档指南),通过电子邮件处理代码阅读了六个开源CMS,并阅读了一些bajillion论坛帖子,博客帖子,等处理PHP中的电子邮件.
我也分叉并完全重写了PHP的一个类,Imap,并且该类处理电子邮件相当好 - 我有一些有用的方法来检测自动回复(对于不在办公室,旧地址等),解码base64和8bit消息等
然而,有一件事我根本无法可靠地工作(或者,有时候,根本就是)当一条消息进入时Content-Transfer-Encoding: 7bit
.
似乎不同的电子邮件客户端/服务解释7BIT
为不同的东西.我已经得到了一些电子邮件,据说是7BIT
属于实际 Base64编码.我得到了一些实际上是引用可打印编码的.还有一些不以任何方式编码.有些是HTML,但未标明为HTML,它们也被列为7BIT
......
以下是使用7Bit编码接收的消息实体的一些示例(剪辑):
1:
A random message=20
Sent from my iPhone
Run Code Online (Sandbox Code Playgroud)
2:
PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwi
IHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9m
Run Code Online (Sandbox Code Playgroud)
3:
tangerine apricot pepper.=0A=C2=A0=0ALet me know if you have any availabili=
ty over the next month or so. =0A=C2=A0=0AThank you,=0ANames Withheld=0A908=
-319-5916=0A=C2=A0=0A=C2=A0=0A=C2=A0=0A=0A=0A______________________________=
__=0AFrom: Names Witheld =0ATo: Names Withheld=
Run Code Online (Sandbox Code Playgroud)
这些都与"7位"编码发送(好,至少根据PHP/imap_*
),但他们需要更多的解码显然是之前,我可以一起将它们作为明文.有没有办法可靠地将所有带有7Bit编码的消息转换为纯文本?
我有一个NSArray充满了NSDictionary对象,每个NSDictionary里面都有一个唯一的ID.我想根据ID查找特定字典,并在我自己的字典中获取该字典的所有信息.
myArray包含:
[index 0] myDictionary object
name = apple,
weight = 1 pound,
number = 294,
[index 1] myDictionary object
name = pear,
weight = .5 pound,
number = 149,
[index 3] myDictionary object (etc...)
Run Code Online (Sandbox Code Playgroud)
我想得到第二个字典对象的名称和重量(我不知道对象的索引...如果只有两个字母,我可以从中制作一个字典[myArray objectAtIndex:1]
)
所以,比方说我知道数字149.我怎样才能将myArray中的第二个myDictionary对象变成一个新的NSDictionary?
是否可以删除给定pinColor的给定MKMapView上的所有注释?我正在尝试清除我地图上所有用户输入的注释(引脚),然后为我的应用程序的一部分显示新的注释,但我不知道我有多精细地选择性地删除注释...
我想删除所有带有MKPinAnnotationColorGreen(绿色)引脚的注释,但我也可以简单地删除用户输入的所有引脚,如果有办法我可以跟踪它们.
我知道我可以做到:
[myMapView removeAnnotations:myMapView.annotations];
Run Code Online (Sandbox Code Playgroud)
...然后重新绘制我想要的所有注释,但这似乎是浪费资源.
有什么建议?
我正在构建一个具有一些相当神秘的TLS和缓存要求的应用程序,并且我使用的堆栈看起来像:
HTTPS HTTP
Nginx (443) Varnish (80)
| |
Varnish (80) Nginx (8080)
\ /
AWS ALB (80)
|
ECS Pool (Docker) - Apache/80
Run Code Online (Sandbox Code Playgroud)
(我让Nginx在Varnish和ALB之间监听8080,因为Varnish不像Nginx那样轻松处理多个/更改IP地址的DNS查找).
问题是HTTPS请求路径:基本上,Nginx的设置X-Forwarded-Proto: https
,然后我有我的光油VCL配置通过对ALB安全传递这一点.但是ALB似乎剥离了标头并将其替换为自己的(变为X-Forwarded-Proto: http
),然后ECS服务器上的后端应用程序看到http并将其所有链接/资源路径写为http,导致Safari中出现不安全的混合内容警告, Chrome等
因此,我能够使此设置工作的唯一方法是绕过Varnish,在ALB上安装仅后端TLS证书,并设置请求路由,如:
HTTPS HTTP
Nginx (443) Varnish (80)
| |
AWS ALB (443) AWS ALB (80)
\ /
\ /
ECS Pool (Docker) - Apache/80
Run Code Online (Sandbox Code Playgroud)
我主要是用这个好了... ...但它是一个耻辱,我不能用光油缓存的静态资源HTTPS请求.我想,解决这个问题的唯一方法就是用Varnish和自定义vmod或其他工具(Lambda等)完全替换ALB,以解释不断变化的ECS Docker容器实例池......
有没有办法命令AWS ALB/ELB通过标头或对标头的任何控制?我在文档或控制台中找不到任何内容,而其他大多数人似乎都在ALB上终止HTTPS.如果我刚一个证书,或几个,或者可以使用SNI,我肯定会做到这一点......但我有几百个证书为数百个域,而不能:(
我一直$RANDOM
用来生成1-15之间的随机数,以便在两个系统之间产生一点抖动.例如:
sleep $(( RANDOM %= 15 ))
Run Code Online (Sandbox Code Playgroud)
如果我echo $(( RANDOM %= 15 ))
每隔几分钟运行一次,那么随机数似乎相当随机.但是,如果我每隔一分钟通过cron开始运行一个带有此调用的脚本,或者甚至只是每隔几秒钟回显一次随机数,随机性就会消失在我的Mac上,我最终会得到11和6之类的非随机值,依次交替,或8,4和2.不是很随机.
在我的一个Linux服务器(CentOS 6.5 x64)上,我添加了以下bash脚本,在第一次循环之后,只是13
一遍又一遍地输出:
#!/bin/bash
for ((n = 0; n < 100; n++))
do
echo $(( RANDOM %= 15 ))
done
Run Code Online (Sandbox Code Playgroud)
我的问题:
$RANDOM
不适合加密,但为什么一般会产生随机数这么糟糕?从 Kubernetes 集群中的主节点,我可以运行kubectl get nodes
并查看集群上任何单个节点的状态,因为kubectl
可以找到用于身份验证的集群证书。在我的本地工作站上,假设我的身份验证配置正确,我也可以这样做。
从加入到 Kubernetes master的节点,有没有什么方法可以配置身份验证以便kubectl
工作,我可以识别节点是处于Ready
还是Not Ready
状态?
我正在尝试构建一些驻留在节点本身上的监控工具,我想避免设置服务帐户等只是为了检查节点状态,以防万一我可以通过某种方式识别它kubelet、日志、节点上某处的文件、命令等...
大多数人似乎建议通过编辑/usr/share/tomcat6/bin/catalina.sh文件为Tomcat6设置Java/Tomcat堆内存大小,并添加如下内容:
# Set specific memory requirements for Tomcat6 (for server with ~512MB RAM).
CATALINA_OPTS="$CATALINA_OPTS -server -Xms128m -Xmx256m"
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建一个Ansible playbook来在Ubuntu上配置基于Tomcat的服务器,而且我似乎不喜欢整个自定义catalina.sh文件是理想的 - 是否有一些其他配置文件或本地设置文件/ Tomcat和/或Java用来获取Xms
和Xmx
值的系统?
或者......大多数人都使用自定义的catalina.sh文件,而我只是在一个小山丘上建造一座山?
php ×4
iphone ×2
amazon-elb ×1
annotations ×1
ansible ×1
arrays ×1
bash ×1
css ×1
decode ×1
email ×1
gecko ×1
heap ×1
idempotent ×1
imap ×1
ios ×1
java ×1
kubectl ×1
kubernetes ×1
mkmapview ×1
monitoring ×1
nginx ×1
nsarray ×1
nsdictionary ×1
objective-c ×1
pear ×1
printing ×1
random ×1
sorting ×1
ssl ×1
tomcat ×1
usort ×1
validation ×1
varnish ×1
webkit ×1