-
在Docker上搭建WebDAV文件共享服务
近期由于一些不可抗力因素导致AirDrop被禁用了,平时对文档或者是一些安装包的共享还是有比较多的需求,在此记录一下使用Docker快速搭建WebDAV环境的过程。直接在命令行输入下面的命令即可快速完成安装:docker run -d -v /Users/zengjing/docker/webdav:/var/webdav -e USERNAME=test -e PASSWORD=test -p 8888:80 morrisjobke/webdav安装完成后通过浏览器:http://ip:...…
-
在Docker上搭建在线表格服务
工作中总少不了需要填写表格的情况,特别是对于一些需要收集信息(比如住址和号码)的表格,最近发现了一个很好用的工具ethercalc, 可以很方便的搭建出多人协作的在线表格服务,而且用法和Excel一致。下面记录一下如何快速搭建的过程:(1) 安装redisdocker run --name redis -d -v /Users/zengjing/docker/redis:/data redis:latest redis-server --appendonly yes(2) 安装etherc...…
-
Docker安装MySQL数据库
近期经常需要安装MySQL数据库,在此记录一下:1、初始化创建文件夹mkdir -p ~/docker/mysql/conf/mkdir -p ~/docker/mysql/data2、在conf目录下创建配置文件my.cnf[mysqld]character-set-server=utf8[client]default-character-set=utf8[mysql]default-character-set=utf83、安装docker run -d -p 3306:3306 \ ...…
-
Flutter开发初探
Flutter是由谷歌创建的一个框架,用于构建“现代移动应用”。目前它还处于beta阶段,不过它的文档和相关工具十分齐全,有些移动应用已经在使用Flutter。开发环境搭建由于在国内访问Flutter有时可能会受到限制,可以通过如下的配置使用国内的镜像(可以在一定程度上加快下载的速度):export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-...…
-
iOS中使用cryptopp进行加解密
Crypto++是一个免费开源的加解密库,支持一些非常丰富的加解密算法(如AES/RSA等)。如果要考虑到实现一套跨平台多端加解密效果一致可以考虑使用该库,当然使用各自平台提供的api也能实现。目前只提供了源码的方式,如果要集成到iOS的项目里面需要先编译成静态库,下面就5.6.2这个版本进行介绍:1.编译静态库(1) 下载源码git clone https://github.com/weidai11/cryptopp.gitgit checkout CRYPTOPP_5_6_2(2) 准...…
-
iOS中Masonry源码分析
Masonry是一个轻量级的iOS布局框架,使用一套更加方便的语法来对AutoLayout进行包装。它拥有自己的描述语法(DSL), 采用更优雅的链式语法封装了AutoLayout,简介明了并具备高可读性。同时支持iOS和macOS。AutoLayout需求:在父视图上面创建一个绿色的视图,要求距父视图的边距都是10,使用代码方式实现方式如下:(1) 创建视图控件创建一个UIView视图,并把它添加到父视图上面:UIView *view1 = [[UIView alloc] init];v...…
-
iOS中WebViewJavaScriptBridge源码分析
WebViewJavascriptBridge是一个WebView中JavaScript和Native进行交互的框架,使用这个框架能够实现JavaScript和Objective-C之间进行消息的互通。另外这个框架设计的也是非常的简介,只有如下几个文件:(1) WebViewJavascriptBridge_JS该文件中只有一个方法NSString * WebViewJavascriptBridge_js(void);, 该方法主要是提供拼接创建一个JavaScript的脚步代码,在旧版中...…
-
如何将macOS应用程序打包为dmg文件
之前改写过网上开源的一个JSON转Model的Mac APP,当时是直接使用的是将.app格式的文件直接拖到应用里面进行安装的,最近刚好有空就了解了一下dmg文件是怎么打包的,记录下整个的过程方便以后查找。操作步骤1.准备相关文件 (1) 打包生成的.app文件 (2) 一张背景图 (3) Applications文件夹的替身文件(可以到其他的dmg里面去拷贝一个)2.创建空白镜像文件(1) 打开磁盘工具,选择文件 -> 新建映像 -> 空白映像:(2) 在弹出框中填写相...…
-
Python使用pyexecjs执行JS代码
近期在采集一个网站的时候遇到一部分的页面是使用JS代码来填充数据的,代码如下:<tr> <td width="150px" class="success">案件级别:</td> <td colspan="1"> <script> var s = getDictLabel([{"id":"4191c4842b3842749dd467655f90b1fa","isNewRecord":f...…
-
使用Selenium获取验证码并识别
最近项目组提了个需求要求我这边帮他们实现一个网站的数据采集并对接到指定的数据库表里面,记录下使用的在线API识别验证码的过程:由于验证码在每次加载页面的时候都会刷新,也就是说每次打开登录界面都是不同的验证码,所以需要将打开的登录界面截图然后从里面扣取验证码对应的内容再提交到服务器进行识别。1、对登录界面进行截图url = ''driver = webdriver.PhantomJS()driver.get(url)driver.set_window_size(1200, 800) #此处一...…