-
iOS开发中使用Mantle构建模型层
在iOS的开发中为了快速的实现产品的迭代和新功能的开发,常常会弱化Model的功能,NSDictionary作为承载业务的数据类型出现在各种地方(SQLite,Model Object,API Service…),直接使用objectForKey的方式进行数据的读取,参数和值的正确性完全没有经过编译器检查,字符串很容易写错,极容易导致在运行阶段出现低级bug.1、Property名称转换由于API使用的开发语言与iOS所使用的Objective-C是截然不同的,所以可能将一些保留关键字作为...…
-
使用StatSVN对SVN日志进行可视化分析
StatSVN是一个开源的SVN统计工具(Java语言编写,最近一次更新是2010-01-01),能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表(StatSVN生成的报表是一组包括表格与图表的静态HTML文档)。比如: 代码行数的时间线; 针对每个开发者的代码行数; 开发者的活跃程度; 开发者最近所提交的; 文件数量; 平均文件大小; 最大文件; 哪个文件是修改最多次数的; 目录大小; 带有文件数量和代码行数的Repository tr...…
-
使用Python合并图片生成PDF文件
最近做了一个小功能,将一个页面上面的所有图片下载下来生成一个PDF文件。发现了一个非常好用的库reportlab, pyPdf。只需要几行代码就能实现功能,如果没有安装可以通过pip安装:pip install reportlab -i https://pypi.douban.com/simplepip install pyPdf -i https://pypi.douban.com/simple注: -i表示使用豆瓣的镜像服务操作过程下面记录下我的处理的过程:(1)如果只是简单的需要将图...…
-
在Docker上运行Scrapy
之前使用Scrapy写过一个空气质量的采集程序,最近要切换到另外一台服务器上面去,折腾了几个小时的安装环境还是没跑起来。几次之后就放弃了,刚好那台服务器上面安装了Docker的环境,运行了一个Nexus的服务几个月来一直都很稳定,那为啥不可以把Scrapy也放在上面运行呢?操作过程下面记录下我的处理的过程:(1)创建dockfile在scrapy.cfg文件所在的目录下面创建dockfile,里面的内容如下:FROM ubuntuMAINTAINER hhtczengjing@gmail....…
-
CentOS安装Hadoop
系统环境下载软件: (1)JDK (2)Hadoop (3)MySQL (4)Hive (5)HBase (6)Zookeeper1、服务器配置(1)修改主机名将192.168.13.1、192.168.13.2 和 192.168.13.3 这三台机器分别命名为hadoop-master、hadoop-slave1 和 hadoop-slave2。1) 修改/etc/sysconfig/network文件修改HOSTNAME=localhost.localdomain为HOS...…
-
使用Kettle导入Excel数据
ETL(Extraction, Transformation, and Loading),在日常的工作中我们经常会遇到各种数据的处理,转换,迁移。比如将Excel的数据导入到数据库,将SQLServer里面的数据转换后存到Oracle,将数据库的数据提取到文本等。最开始都是使用写代码然后进行处理,多了几次之后就觉得麻烦了。后来了解到Kettle这个工具,首先无需安装直接就能使用,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转...…
-
使用Dockerfile构建Docker镜像
Docker中有个非常重要的概念叫做——镜像(Image)。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。...…
-
Maven私有库Nexus的安装和使用
在进行Java开发的时候,通常会使用Maven进行第三方库的管理,类似于iOS中的Cocoapods。我们在使用Cocoapods的时候都感受过更新索引库Specs的痛苦,使用Maven的时候依赖库也是从中央库(Central Repository)下载,速度可想而知会很慢。另外如果我们内部开发了一些基础的工具库,又不太方便托管到Central Repository的时候怎么办呢?参考Cocoapods我们可以搭建内部的私有库来解决这些问题。Nexus 是Maven仓库管理器,如果你使用M...…
-
CentOS安装Docker
之前写过一篇关于在Mac上面使用并安装Docker的文章《Mac上Docker的安装和使用初探》,介绍了在Macos上面安装Docker的步骤。近期由于需要在一台CentOS 6.5的服务器上面部署一些服务,考虑到使用Docker来做这些事情,记录一下处理的步骤。检查内核版本uname -r如果输出的信息为2.6.32-431.el6.centos.plus.x86_64,表示当前的内核版本是2.6.32。docker需要的内核版本是3.10,所以需要升级Linux的内核,升级的步骤如下:...…
-
iOS中使用Tesseract提取身份证号码
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。通俗来说就是通过对图像进行处理提取裁剪出来有字符的区域然后对字符进行识别翻译成文字。上面的图片是来自于Baidu的在线OCR识别。本文是基于tesseract-ocr(Tesseract是一个开源的OCR引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持包括中文在...…