-
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) #此处一...…
-
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...…