作者:matrix
发布时间:2018-09-20
分类:零零星星
mongodb
和mongo
扩展不同
与mongo扩展不同,此扩展是在»libmongoc和»libbson库之上开发的。它为核心驱动程序功能提供了最小的API:命令,查询,写入,连接管理和BSON序列化。
http://php.net/manual/zh/set.mongodb.php
安装扩展
> sudo pecl install mongodb
显示success
完成安装
Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.5.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini
配置so文件
一般安装成功会自动配置ini文件,但是还需要自行查看确保正常。
确保so文件配置成功 需要查看/usr/local/php/etc/php.ini
文件末尾是否存在extension=mongodb.so
> sudo echo 'extension=mongodb.so' >> 'php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"'
最后pphinfo()输出查看扩展是否存在
参考:
https://github.com/mongodb/mongo-php-driver
作者:matrix
发布时间:2018-09-12
分类:零零星星
前些时间使用看到Alfred的ocr识别插件workflows插件真心不错,超实用的工具 完全胜任图片文字提取的工作。
mac自带的截图快捷工具我常常使用,但是能够截图之后马上对图片进行内容识别 这倒是很稀奇 至少我是这样。
一般专门的ocr软件我很少用 若要临时应急的话就会很麻烦 因为我需要去查找提供ocr识别服务的三方网站服务 然后进行图片上传 之后再复制内容到剪贴板。像这种情况下有个顺手的小工具是多爽 😆 😆 虽然插件也是使用开源库tesseract-ocr
,但是整合到随手调用这就很少有人做了。
安装tesseract开源库
brew install tesseract #使用brew工具
tesseract --version #查看版本号
配置语言包
tesseract --list-langs #查看当前只是的语言
默认自带英文eng
,简体中文为chi_sim
https://github.com/tesseract-ocr/tessdata
下载chi_sim_vert.traineddata
,chi_sim.traineddata
两文件放至/usr/local/Cellar/tesseract/3.05.02/share/tessdata
。其中3.05.02
为你安装的tesseract版本号
安装workflows
下载OCR
此alfredworkflow被我简单添加了下触发关键字 cn
中文,en
英文
使用
ocr #默认所有中英文语言
ocr cn #指定识别中文
ocr en #指定识别英文
回车截图之后会出现消息通知(响应时间据字符长度而不定)
若内容为空 最好debug查看workflows报错信息
后续问题
自定义修改插件的时候发现有些时候输入的内容无法被Alfred读取 会被自动截断 无任何反应
这里是因为编码转换的问题导致的 确保输入内容以及输出内容的编码 过滤掉特殊字符
php处理:
function force_utf8_safe($str) {
$res = mb_convert_encoding($str, "UTF-8", "UTF-8" ); // replace invalid characters with ?
$res = preg_replace('/\p{Cc}+/u', '?', $res); // replace control characters with ?
return $res;
}
说明:
字符过滤来自于 https://github.com/willfarrell/alfred-encode-decode-workflow
还可以参考它的输入字符处理方式 使用normalise
脚本再处理传入
参考:https://www.alfredforum.com/topic/10141-workflow-arguments-are-always-decomposed/
我的AlfredWorkflows:https://github.com/Hootrix/AlfredWorkflows
参考:
https://www.zhihu.com/question/20656680
https://tonydeng.github.io/2016/07/28/on-the-use-of-tesseract-picture-text-recognition/
PEACE~
作者:matrix
发布时间:2018-09-07
分类:零零星星
Alfred是mac上强大的快速启动工具 可以自定义php/shell/ruby/python脚本执行任意操作。比如快速搜索关键字打开网页 查询字符转码 ip。。。这些都是可以自己定义操作的,只是需要一些脚本语言编写的知识。
windows 上有类型的Wox https://github.com/Wox-launcher/Wox
下载Alfred
官网: https://www.Alfredapp.com/
工作流workflows自定义脚本的功能在Alfred中是收费的功能,还好 有可用的版本
nmac.to cracked:https://userscloud.com/o3ibe2w7071h/nmac.to_alf37931b.zip
添加/配置workflows
点击Workflows
切换到工作流选项
窗口左下角 「 help + -」,点击 +
->Blank Workflow
开始新建工作流程
填写名称name
,描述Description
,Bundle id
为自己标记的包名id 要确保唯一性。
右边黑色背景窗口中右键 inputs
->Script Filter
添加自定义执行的脚本
配置执行脚本以及触发的关键字
keyword
为触发的关键字 比如alfred启动框框中输入baidu空格query
,baidu
就是触发脚本的自定义关键字,空格后面的query即为查询的参数下面的
Language`即为脚本语言 这里用的系统自带的权限脚本。
#!/bin/bash
ip=$(ifconfig en0 | grep 'inet .*' | sed 's/^.*inet//g' | sed 's/ netmask.*//g')
cat << EOF
{"items": [
{
"title": "${ip}",
"subtitle": "局域网en0 ip",
"arg": "${ip}"
}
]}
EOF
说明:
使用系统bash 查询ifconfig
命令en0网卡的IP信息 管道命令符|
继续处理sed
截取输出结果。
最后使用cat
输出json数据用于Alfred读取并显示到结果列表
items具体参数释义参考下方alfredapp.com链接。
这里arg
是用于复制粘贴/通知等操作的Alfred变量赋值,否则会没反应。如果只是显示查看 可以只设置title
,subtitle
效果就已经比较好了。
点击save
保存
调试
窗口右边有蜘蛛「🕷️」图标 下方的Log
下拉框 选择 all information
便于查看调试信息
启动
option
+space
启动 输入触发关键字
下载
上面只是操作记录 这里可以直接下载:local ip.alfredworkflow
解压缩 直接打开alfredworkflow文件import导入
参考:
https://www.alfredapp.com/help/workflows/inputs/script-filter/json/
https://www.jianshu.com/p/7e1ea4f296c8
https://sspai.com/post/44624
https://www.jianshu.com/p/e9f3352c785f