-
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) #此处一...…
-
CentOS如何挂载远程盘
前段时间公司要迁移gitlab服务器,由于服务器剩余的空间不太多了,无法直接执行备份,考虑到Linux下面可以挂载其他机器的目录来直接使用,记录下整个操作的过程:安装环境(1) 检查nfs是否安装rpm -qa | grep nfs如果没有安装:yum install nfs-utils -y(2) 检查rpcbind是否安装rpm -qa | grep rpcbind如果没有安装:yum install rpcbind -y服务端配置vi /etc/exports/home/data ...…
-
使用Python批量将Word文档转换为PDF
最近一直在整理数据,刚好有一批Word文档需要批量另存为PDF格式的文档,使用win32com操作Word,写了个Python的脚本用于批量进行转换。1、环境准备(1) 安装pip install pywin32(2) 初始化由于我的机器上面安装的是Office 2010, 安装完成pywin32之后,进入到Python安装路径\Lib\site-packages\win32com\client的目录下面执行如下代码:python makepy.py -d "Microsoft Word ...…
-
如何创建一个私有的Gem库
近期看了下Cocoapods的一部分代码,结合之前做的iOS项目脚手架工具,突发奇想能不能做一个内部的工具库呢(类似于Cocoapods)。首先要解决的问题就是怎么样发布自己写的工具库,有没有类似于RubyGems这样的托管平台呢?查了一番资料找到了一个开源的项目- geminabox, 可以搭建一个托管的平台。搭建Gem私服前提条件是需要有Docker的环境,如果没有的话可以参考:CentOS安装Docker。(1) 创建并运行容器docker run -d -v /home/docke...…
-
使用NW.js开发桌面应用程序
前段时间要写一个桌面的应用,做一个简单的输入框供用户输入验证码的小功能,程序最开始是用Python写的,那么GUI一开始就考虑使用wxPython,虽然实现了功能但是总觉得太过于麻烦。之前了解过关于Node.js开发桌面应用的技术,目前使用的比较多的都是nw.js 和 electron,由于下载electron的时候出现了一些问题所以就选择了nw.js来学习。NW.js(之前叫做node-webkit)能够通过DOM直接调用Node.js模块,实现通过Web技术来编写应用程序。环境搭建 ...…
-
使用Anaconda管理Python环境
Python好用但是在使用过程中发现还是有很多问题的,其中一个就是版本管理(Python2和Python3的切换)。相比于Ruby的版本管理有rvm,可以使用rvm use 2.4.0这样的命令来快速切换Ruby的版本。出于历史原因目前还是有很多Python的程序是运行在Python2.7,经常需要在Python3的环境下面执行一些实例切换起来非常麻烦,刚好最近了解到Anaconda,Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux、Mac、Windows系...…
-
使用Verdaccio搭建npm仓库
Verdaccio是一个轻量级的私有NPM的Registry(从Sinopiafork过来的,sinopia最后一次更新是在几年前了)。最开始是打算使用cnpmjs这个来搭建私有的npm仓库但是搭建完成之后存在一些问题,所以使用了Sinopia,本文记录下来搭建的过程。直接安装npm install verdaccio -g安装完成之后直接执行命令即可完成启动:verdaccio对于服务器上面部署可以使用pm2更多关于PM2的用法的可以参考:https://wohugb.gitbooks....…