这个本用了有半年了,mac pro最低配置的,感觉最紧的就是硬盘了。然后再是内存,开几个程序内存基本就满了。别的都挺好。 本来一直没升级,想清理空间的时候网上搜到一个图,后来发现是新版sierra里才有的硬盘分析工具。于是升级了系统版本。 新系统有个siri的功能,连看没看直接没启用,,因为我从来没用过GarageBand,感觉以后也不会用上,就也卸载了 Macintosh HD/Applications/GarageBand.app (1.16GB) Macintosh HD/Library/Application Support/GarageBand (995MB) Macintosh HD/Library/Application Support/Logic (880MB) Macintosh HD/Library/Audio/Apple Loops (up to 10GB)*xx 删掉这几个目录就可以了。使用工具邮件也清理了一下,瞬间释放好多硬盘空间。 等周末再把 不看的pdf移动到nas上 ,空间就足够搞别的了。应用程

Continue

直接从makefile入手找到hack/make.sh,具体怎么编译的不看,只找入口. 看make.sh要编译的东西主要应该就看俩就行了,一个是clien,一个是daemon。 binary-client binary-daemon dynbinary test-unit test-integration-cli test-docker-py cross tgz 其他一些测试用的,不管,还有一些不知道。以后再说。 然后往下翻发现都在hack/make/目录里边对应的文件。 俩文件样子差不多,binary-client 二进制名为docker ,binary-daemon为dockerd。源码目录分别对应 docker/cmd/docker,docker/cmd/dockerd 搞定,后边再接着看。

Continue

一直在调试ios的react-native的程序,好久没在Android下编译过,今天搞了一下。编译通过了,程序启动报了个错误“Unfortunately, app has stopped” adb logcat 能看到log。github有解决方式 编辑android/app/src/main/AndroidManifest.xml文件 application标签里加个属性android:name=".MainApplication" 然后就好了

Continue

这俩软件直接brew install安装的。 opam需要配置 opam init 初始化opam目录,~/.opam .bash_profile里添加. ~/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true 设置一些环境变量。 vim ~/.ocamlinit 添加 let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_found -> () ;; 这些配置提示,在执行opam init 的时候会显示。 opam switch可以查看已经安装的版本编译器,并可以切换 $ opam switch 4.01.0 $ eval `opam config env` 安装utop opam install core utop 然后会装特么的一堆包。 再次配置.ocamlinit 就是初始导入,以后启动解析器的时候就不用导入了

Continue

安装管网提示一步步安装的。还有个mono的东西,没用。 brew update brew install openssl 第二部下载安装包,点击安装。安装完目录添加到path。 创建一个hello world例子工程 <pre lang="shell"> mkdir hwapp cd hwapp dotnet new --lang f#</pre> 运行例子 dotnet restore dotnet run 就输出f#版的hello world了

Continue

那些开源的都不太靠谱,同事推荐这个druid解析sql。试了一下确实给力。 打包方法: git clone https://github.com/alibaba/druid.git mvn install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true 会安装到.m2目录,copy一个项目用 target/druid-1.0.27-SNAPSHOT-sources.jar 示例代码: <pre lang="java">import java.util.*; import com.alibaba.druid.stat.TableStat; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaSta

Continue

上一篇使用antlr解析的,发现不行,官方提供的语法文件bug太多,多到不能用的程度,还是得用专门的开源库。这次选jsqlparser了。 从github下载一个源码,mvn package 打一个jar包。将jsqlparser-0.9.6.jar拷贝到工作目录。 &nbsp; <pre lang="java">import java.util.*; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.util.TablesNamesFinder; public class ParserTest { public static void main(String[] args){ System.out.println("Hello World!"); String sql = "select NVL( (SELE

Continue

做个项目要解析mysql sql语句,使用开源的库发现问题很多,不太适合。推荐的几个项目都是项目里边集成的,语言也不符合,太麻烦。只能自己搞了,选择antlr的原因是官方提供mysql解析的语法,做起来比较简单。 &nbsp; 安装: curl -O http://www.antlr.org/download/antlr-4.5.3-complete.jar 然后写一个shell脚本antlr,用来执行命令 #!/bin/bash java -cp .:./antlr-4.5.3-complete.jar:$CLASSPATH org.antlr.v4.Tool $* 从https://github.com/antlr/grammars-v4.git clone一些已经写好的sql语法文件。 &nbsp; 生成Python版的解析代码。 ./antlr  -Dlanguage=Python2  MySQLLexer.g4 ./antlr  -Dlanguage=Python2 -visitor  MySQLParser.g4 第二

Continue

freenas也支持nfs共享,配置完后,在ubuntu上不知道怎么挂载,得安装软件支持。 sudo mount -t nfs 192.168.0.88:/mnt/MyNAS /tmp/aaa 会不成功 mount: wrong fs type, bad option, bad superblock on 192.168.0.88:/mnt/MyNAS, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) 看了一下sbin目录确实没有nfs支持的文件。网上查,找到个showmount命令,执行发现没这个命令sudo apt-get install nfs-common安装。 安装完那个文件也有了。 showmount -e 192.168.0.88 Export list f

Continue

之前搜索过,以前在mac上搞过gdk还是啥的对x11阴影很大,这次想着只管搞一下,开虚拟机太费劲了。 mikecoder.cn/?post=116 安装这篇文章搞定了,备份一下。 brew install sdl ./configure --enable-ne2000 --enable-all-optimizations --enable-cpu-level=6 --enable-x86-64 --enable-vmx=2 --enable-pci --enable-usb --enable-usb-ohci --enable-e1000 --enable-debugger --enable-disasm --disable-debugger-gui

Continue