写在前面
作者电脑 CPU 为 4 核,因此使用 4 个线程测试是合理的
本文使用的 cpython 版本为 3.6.4
本文使用的 pypy 版本为 5.9.0-beta0,兼容 Python 3.5 语法
本文使用的 jython 版本为 2.7.0,兼容 Python 2.7 语法
若无特殊说明,作语言解时,python 指 Python 语言;作解释器解时,python 指 cpython
more
本文使用的测速函数代码如下:
```python
from future import print_function
import sys
PY2 = sys.version_info[0] == 2
因为 Jython
继续阅读 »
大家看看这段代码能否准确的说出输出语句是什么?
```
package main
import "fmt"
var a int
func funca() {
a, b := 12, 3
fmt.Println("a is ", a, " b is ", b)
}
func funcb() {
fmt.Println("a is ", a)
}
func main() {
funca()
funcb()
继续阅读 »
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 is 和 == 的区别
```python
import os
str1 = os.name
str2 = "os"
print str1
os
print str2
os
继续阅读 »
MISC
Welcome
使用stegsolve打开,在Analyse->Stereogram Solver 处改变偏移即可。
Crypto
streamgame1
streamgame1.py
```python
from flag import flag
assert flag.startswith("flag{")
assert flag.endswith("}")
assert len(flag)==25
def lfsr(R,mask):
output = (R << 1) & 0xffffff
i=(R&mask)&0xffffff
lastbit=0
while i!=
继续阅读 »
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 获取文件绝对路径
```python
!/usr/bin/python
coding=utf-8
import os
absolute_path = os.path.realpath(file)
print absolute_path
```
继续阅读 »
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
1 通过具名元组实现常量
```python
!/usr/bin/python
coding=utf-8
from collections import namedtuple
继续阅读 »
如何自己写一个 gradle 插件
看谷歌的插件:com.android.application 和 com.android.databinding:
gradle
apply plugin: 'com.android.application'
apply plugin: 'com.android.databinding'
他们都是一个 groovy 项目,那么接下来让我们来看看如何自己手动写一个插件:
创建一个普通的 groovy 工程(java 工程也没有关系),创建 src/main/groovy 目录,编写下面的代码:
```java
package com.example.wecar.plugin
import
继续阅读 »
主页
源码
更新内容
新特性
增加头文件依赖自动检测和增量编译,提高编译速度
在终端中进行颜色高亮提示
添加调试器支持,xmake run -d program ...
改进
增强运行shell的系列接口
更新luajit到v2.0.4版本
改进makefile生成插件,移除对xmake的依赖,并且支持windows/linux/macosx等大部分pc平台
优化多任务编译速度,在windows下编译提升较为明显
Bugs修复
修复安装目录错误问题
修复import根目录错误问题
修复在多版本vs同时存在的情况下,检测vs环境失败问题
继续阅读 »
|Set | Java | Python | Go |
|:--------|:-----------------------|:----------|:----------|
|type | Set, HashSet, etc | set | N/A |
|package | import Set | primitive | N/A |
|mutable | Y | Y | N/A |
继续阅读 »
一次悲惨的PY注入式漏洞
在前一篇里讲过的使用cpp和python互相调用方法的结构。 这两天就有一个相关漏洞被人利用了, 异常悲惨。
我们的场景服务对每一个GameWorld都有一个PyTermWorld, 是用来接受数据服务发送过来的连接信息的, 比如可以通过协议连接socket到PyTermWorld, 发送LevelUp, 发送 AddExp等, 也有其他命令是通知PyTermWorld调用相关Python函数的, 比如send_cmd(cmd='import notify;notify.test(xxx,yyyy)') 这样的命令, 这里面的cmd会带上具体的脚本模块以及具体的python方法名称,
继续阅读 »