Posts

char,const char,string,memset等用法
前言:之前用到一些C++的库时,会涉及到一些数据类型的转换问题,由于一些不常用导致不是很熟悉,经过此次教训后,想要记录下来,下次翻找就会方便点。 char*,const char*和string 三者转换 const char* 转 string。直接赋值即可,string有较大的包容性,不像const char*这么严格: Read more

JAX-RS相关的RESTful
Java EE 6 引入了对 JSR-311 的支持。JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可以使用一套固定的接口来开发 REST 应用,避免了依赖于第三方框架。同时,JAX-RS 使用 POJO 编程模型和基于标注的配置,并集成了 JAXB,从而可以有效缩短 REST 应用的开发周期。 Read more

Jersey 的RESTful API
REST 是英文 Representational State Transfer 的缩写,有中文翻译为“表述性状态传输”。REST 这个术语是由 Roy Fielding 在他的博士论文 《 Architectural Styles and the Design of Network-based Software Architectures 》中提出的。REST 并非标准,而是一种开发 Web 应用的架构风格,可以将其理解为一种设计模式。REST 基于 HTTP,URI,以及 XML 这些现有的广泛流行的协议和标准,伴随着 REST,HTTP 协议得到了更加正确的使用。相较于基于 SOAP 和 WSDL 的 Web 服务,REST 模式提供了更为简洁的实现方案。目前,越来越多的 Web 服务开始采用 REST 风格设计和实现,真实世界中比较著名的 REST 服务包括:Google AJAX 搜索 API、Amazon Simple Storage Service (Amazon S3)等。 Read more

自动化push代码到GitHub工具
前言:因为每次写完代码,要push到GitHub上时都要进行繁琐的几个操作,无外乎git add .,git pull,git commit,git push,等这些重复工作,但是作为一个拥有者懒惰这一优点的伟大的程序员,是坚决不能忍受这个问题的。 Python开发一个自动push脚本 首先拿我的个人博客来作为需求来开发,我的博客是基于Hugo框架的,所以只要简单的几个操作就可以了,环境条件是git-bash或者CMD命令都可以,所以我得调用windows的命令行工具 Read more

C++连接SQLite3,进行增删改查
前言:这两天在公司要开发一些自动化工具,其中涉及到SQLite的访问,SQLite的文件是后缀名为.db的文件,一开始我还不了解这个数据库,直接把这些文件导入到MySQL里进行操作;后来同事提醒我这是SQLite,如果转为MySQL的话在生产环境中可能没配有MySQL的环境就回有点麻烦,我赶紧把它改了过来,不然就白费力气啦。 SQLite3 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件(. Read more

用TinyXML2解析XML
前言:上一篇有讲到用Python的一个库ElementTree解析XML文件,方便是方便,一开始也是贪图其方便所以采用这个方案的,但是写完之后出现一个问题,原XML文件的节点属性里嵌有一个VB脚本,VB脚本语法是由严格缩进规约的,解析完后发现VB脚本格式全乱,导致VB失效,这样这个XML文件就相当于坏了,因为只能另寻他法,但是发现这个Python很难解决节点属性格式的问题,因此只能考虑二进制读写文件。最后采用了TinyXML2这个C++的库。 TinyXML2 这个C++库是比较成熟的解析XML文件的库,他的实现是可以二进制读写文件的,所以极为满足我的需求 这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。 在GitHub上clone这个库到本地仓库上来,地址为:https://github.com/leethomason/tinyxml2.git Read more

ElementTree解析XML文件
前言:Python对于解析数据有着很完善的各种库和社区,比如处理JSON、CSV、HTML、XML、Excel等等格式的数据,今天用ElementTree修改了XML,故记录一下。 先放样例XML <props> <prop class="CODEditProperties" id="50"/> <prop class="CODEditProperties" id="40" ccontain="1"/> <prop class="CODFillProperties" id="500" clr="0"> <matchanimatestyle/> <matchanimateflash/> </prop> </props> <children> <child class="CODRectComponent" pts="0,0;86,0;86,229;0,229;" type="Rectangle" name="Rectangle751" id="182308005" rect="0,0,87,76"> <xform m00="1. Read more

Webhooks自动部署网站
前言:自动部署的工具有很多,Webhooks只是其中一个,它是一个API的概念,就是一种web的回调(callback)或者说用户定义的HTTP回调接口,是向APP或其他web应用提供实时信息的一种方式。简而言之,就是我从本地仓库push到GitHub上面,Webhooks就会给我的网站服务器发送信息,让服务器自动pull变动到站点根目录下,网站就自动更新了。 优点 每次更新网站的东西,都要经过几个重复又繁琐的步骤:本地编辑->本地push到GitHub->ssh连接站点服务器->服务器git pull远程仓库的变动,看着没什么,但是每次都这样重复甚至过程中还要输入账号密码就有点难受,用Webhooks自动部署就省略了后面的pull,懒人是绝对忍受不了这样的重复无聊的动作的,所以无论如何我都要搞定这个自动部署。 学习新知识 Read more