Fall-back from the nopython compilation path to the object mode compilation

出现此提示的原因是用@jit标注的函数内存在非数值运算语句。

比如下例中,time()函数和print()函数都不能出现在foo()函数中。正确写法为:

1
2
3
4
5
6
7
8
9
10
11
12
13
import numba as nb
import time
 
@nb.jit
def foo(x, y):
	s = 0
	for i in range(x, y):
		s += i
	return s
 
tt = time.time()
print(foo(1, 100000000))
print('Time used: {} secs'.format(time.time() - tt))

本地的Documentation for Android SDK浏览还是太慢?

在Android Studio中,通过SDK Manager将Documentation for Android SDK下载到本地后,在Android SDK目录下找到docs\index.html,在浏览器中打开,发现加载还是好慢,原因是本地网页又去访问互联网了。

想到的办法就是阻止浏览器访问外网,可参照

成为上帝玩转Chrome之指定阻止访问的网站

在此Chrome插件中加入以下阻止前缀字符串

1
http://www.google.com/jsapi

就可在Chrome中极速查看安卓SDK文档了。

成为上帝玩转Chrome之指定阻止访问的网站

在本地建一个目录,比如路径为d:\BlockSitePlugin

在此目录中写入以下四个文件:

manifest.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
	"manifest_version":2,
	"name":"ChromeRequestBlocking",
	"version":"1.2.4",
	"author":"shengulong, euhat.com",
	"description":"Block url request.",
	"background":{"scripts":["background.js"]},
	"browser_action":{
		"default_popup":"popup.html",
		"default_title":"Block url request"
	},
	"permissions":[
		"storage",
		"unlimitedStorage",
		"webRequest",
		"webRequestBlocking",
		"<all_urls>"
	]
}
</all_urls>

Read more

美化输出xml或json

xml

1
2
3
from xml.dom.minidom import *
with open('d:/xml.txt', 'r') as f:
    print(parseString(f.read()).toprettyxml())

json

1
python -m json.tool d:\json.txt

下载文件

1
2
3
4
import requests
resp = requests.get('http://file.url', headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'})
with open("aa.dat", "wb") as f:
    f.write(resp.content)

android cmake命令行

ninja这个工具是google的cmake特有的一个工具,不能用CMake官网下载安装的cmake编译安卓程序。

1
2
3
4
5
6
7
8
9
10
set SDK_PATH=E:\euhat\android-sdk
set path=%SDK_PATH%\cmake\3.10.2.4988404\bin;%path%
 
cd app
mkdir manBuild
cd manBuild
 
cmake -DANDROID_ABI=armeabi-v7a -DANDROID_STL=c++_shared -DBUILD_SHARED_LIBS=ON -DCMAKE_C_FLAGS="-s" -DANDROID_PLATFORM=android-27 -DCMAKE_BUILD_TYPE=Debug -DANDROID_NDK=%SDK_PATH%\ndk-bundle -DCMAKE_TOOLCHAIN_FILE=%SDK_PATH%\ndk-bundle\build\cmake\android.toolchain.cmake -DCMAKE_GENERATOR=Ninja ..
 
ninja

refer to: https://bbs.csdn.net/topics/392257691?list=lz

在同一图里画两个隐函数图

1
2
3
4
5
6
from sympy import *
x, y = symbols('x y')
p1 = plot_implicit(Eq(x**2 + y**2, 1), show = False, line_color = 'red')
p2 = plot_implicit(Eq(x + y, 1), show = False)
p1.extend(p2)
p1.show()

视频在微信手机端看不了

比如用ffmpeg在电脑端录的mp4视频,拖到微信电脑端是可以看的,但打开微信手机端就不动了,只能看到第一帧。

解决办法是先将mp4格式转为mpg格式,再将mpg格式转为mp4格式,最后得到的mp4就可在微信手机端播放了:

1
2
ffmpeg.exe -i old.mp4 temp.mpg
ffmpeg.exe -i temp.mpg new.mp4

附ffmpeg在windows下录屏方法:

1
ffmpeg -f gdigrab -framerate 30 -offset_x 655 -offset_y 517 -video_size 511x374 -i desktop capture.mpg

ffmpeg在ubuntu下录屏方法:

1
ffmpeg -framerate 25 -f x11grab -s 800x600 -i :0.0+100,200 capture.mp4

转码为mp4的方法:

1
2
3
ffmpeg.exe -ss 5 -sseof 5 -i %1 -vf scale=-2:600 -y output.mp4
 
rem ffmpeg.exe -ss 5 -sseof 5 -i %1 -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" output.mp4

refer to:
https://github.com/GyanD/codexffmpeg/releases/tag/2021-12-02-git-4a6aece703
https://www.xzcblog.com/post-173.html