Archive for 算法-编程

先看docker/cmd/docker/docker.go 主要就三行 dockerCli := command.NewDockerCli(stdin, stdout, stderr) cmd := newDockerCommand(dockerCli) if err := cmd.Execute(); err != nil { NewDockerCli( 在docker/cli/command/cli.go里返回一个DockerCli实例 type DockerCli struct { configFile *configfile.ConfigFile in *InStream out *OutStream err io.Writer keyFile string client client.APIClient hasExperimental bool defaultVersion string

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

selenium安装 去官网下载一个jar包,然后运行:java -jar selenium-server-standalone-2.53.1.jar 然后写代码就行了,会打开一个浏览器窗口。看看有办法静默打开不,好像phantomjs模式可以,这个还要安装。 &nbsp; &nbsp; <pre lang="python"># coding: utf-8 # from selenium import selenium from selenium.webdriver.common.by import By from selenium import webdriver from selenium.webdriver.phantomjs.webdriver import WebDriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC b

Continue

之前没有这个错“Type Error: Network request failed”,然后之后有了,很纳闷。 通过查找发现是ios9之后请求必须走https不然系统就给你禁掉了。解决办法 &nbsp; Info.plist文件里修改 &lt;key&gt;NSAppTransportSecurity&lt;/key&gt; &lt;dict&gt; &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt; &lt;true/&gt; &lt;key&gt;NSExceptionDomains&lt;/key&gt; &lt;dict&gt; &lt;key&gt;localhost&lt;/key&gt; &lt;dict&gt; &lt;key&gt;NSTemporaryExceptionAllowsInsecureHTTPLoads&lt;/key&gt; &lt;true/&gt; &lt;/dict&gt; &lt;/dict&gt; &lt;/dict&gt; 这个官方网站也有提,“R

Continue