自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王洪伟的专栏

个人博客,仅作个人心得和记录

  • 博客(27)
  • 资源 (22)
  • 收藏
  • 关注

原创 Rust 1.7.0 匹配器 match 的简单介绍和使用

使用过正则表达式的人应该都知道 matcher ,通过 matcher 匹配器运算正则表达式,完成一系列的匹配规则。在Rust 中 没有 switch 语句,matcher 就是 switch 的一个变形,但比其他语言中的 switch 更强大!一、简单举例说明简单的 matcher 和 if 语句非常类似,如果是简单的条件判断可以用if语句:let n = 5;if n < 0 { pri

2016-03-28 21:21:06 18089 2

原创 Rust 1.7.0 macro宏的复用 #[macro_use]的用法

Rust 1.7.0 中的宏使用范围包括三种情况: 第一种情况是宏定义在当前文件中,这个文件可能是 crate 默认的 module,也可能是任意的 module 模块。 第二种情况是宏定义在当前 crate ,但是不是在当前文件中,而是其他 module 模块中。 第三种情况是宏定义在其他的 crate 中,或者其他的 crate 子模块中。使用#[macro_use] 可以使被注解的mod

2016-03-26 22:05:00 18817 1

原创 Rust 1.7.0的macro宏-语法分析和使用举例

macro 宏的概念在很多语言中都有。通常情况下,宏的机制是在预编译阶段对已经定义的宏进行替换或者 expanded 展开 ,即:把宏按照名称替换成宏的内容。Rust 中的宏,与众不同!Rust中的宏,也是在预编译阶段进行处理。宏不仅仅是替换内容和展开,还可以像功能函数一样,接收参数、调用其他的宏。一、简单的宏宏的名称和功能函数名称很像,只不过在函数名称后面有一个叹号!一个简单的宏定义和调用:mac

2016-03-24 19:40:43 8240

原创 Rust 提供的 lint 检查项说明

Rust 程序在编译的时候,提供各种类型的检查。 除了系统默认的一些检查,使用者还可以根据自身的需要,修改检查项的默认状态,定制自己的编译检查规则。 比如, #![deny(missing_docs)] 强制要求当前文档必须有针对 crate 的注释。一、lint 检查项列表 标识名称 默认状态 含义说明 box-pointers allow use of owned (B

2016-03-24 08:35:48 6775

原创 Rust 1.7.0 之 #![deny(missing_docs)]

现在我使用的Rust 环境是 V 1.7.0 ,因为在 Rust 的官方网站运行页面上的例子,有些地方执行后的结果和预期的不一样。 可能在 Rust 学习过程中,会遇到 Rust 语言不完善的地方。这里根据实际的语句进行语法和语义的学习。之前提到过 Rust 的注释,包括四种 :(详细内容见 http://blog.csdn.net/teamlet/article/details/50855777

2016-03-23 23:20:33 4862

原创 Rust Attribute的十三个分类包含的注释

Rust 的 Attribute 注释到目前为止(当前版本 rustc 1.7.0 (a5d1e7a59 2016-02-29)一共包括十三个种类。一、只用于 crate 的 attributecrate_name - specify the crate’s crate name.crate_type - see linkage.feature - see compiler features.

2016-03-20 12:21:56 6228

原创 Rust 中用于编译的注释 Attribute

使用Java的人都知道,Java有个 annotation 注释。 Rust 也有注释,名称和C#的注释一样,叫做 attribute。Rust 的attribute 与 Java annotation以及 C# 的attribute注释一样,是在编译阶段用于为编译提供更多描述信息,以便在编译的时候可以根据这些描述做出一些动态的选择和设置。一、Rust 的 attribute 种类Rust 包括两

2016-03-19 18:01:54 8142

原创 Rust 使用外部功能函数的几种方式

Rust 提供了代码封装的机制。可以通过crate (等同于Java中的package)创建相对独立的module模块,模块中封装了可以重复使用的功能函数。当创建了自己的 lib 库或者要使用第三方的库的时候(这些库就是一些事先写好的crate)需要将这些库中的module 模块引用到当前的环境中。Rust提供了以下几种引用方式:一、使用 extern crate在使用这些Module的文件中,通过

2016-03-18 15:12:12 18484

原创 Rust 中包访问策略和module开发策略

一、创建新项目$cargo new my_library 当前路径下包含 Cargo.toml 和 src 目录; src 目录下包含一个 lib.rs 文件。二、不使用module的情况1、修改lib代码$vi src/lib.rs修改代码如下:pub fn public_function() { println!(" my library's `public_function()` c

2016-03-17 21:54:34 8837 2

原创 Rust 中项目构建管理工具 Cargo简介

cargo是Rust内置的项目管理工具。用于Rust 项目的创建、编译、运行,同时对项目的依赖进行管理,自动判断使用的第三方依赖库,进行下载和版本升级。一、查看 cargo 版本安装Rust之后,可以使用cargo --version查看cargo的版本信息。$ cargo --versioncargo 0.8.0-nightly (28a0cbb 2016-01-17)二、创建新项目1、使用

2016-03-17 18:32:49 6223

原创 Rust 功能函数的关系、包和模块简介

Rust 功能函数的关系、包和模块简介一、功能函数之间的关系前面看到,一个文件中可以定义多个 function 功能函数,这些功能函数可以被相互使用。程序的入口是main()。在一个文件中,各个功能函数的定义和使用不受功能函数定义的顺序约束。也就是说,不需要像 C 语言一样,在使用一个函数而还没有定义函数之前要有一个声明语句;而像 java 一样,只要声明的功能函数在一个文件内,可以忽略功能函数在文

2016-03-17 13:52:43 5931

原创 Rust 的条件语句、表达式与语句和功能函数的返回值

Rust 的条件语句、表达式与语句和功能函数的返回值一、标准语句1、if 基本语句let x = 5;if x == 5 { println!("x is five!");}if 后面 x ==5 是一个表达式 expression 。2、if … else语句let x = 5;if x == 5 { println!("x is five!");} else { pr

2016-03-16 22:01:08 4831

原创 Rust的数据类型和功能函数的返回值

Rust的数据类型包括以下几个分类一、布尔类型Rust 用bool 表示布尔类型,值为  true 或者  false,用于if 等条件判断语句。 let x = true;let y: bool = false; 二、字符类型char 是一个单字符Unicode 标量值。通常使用‘  ’ 包围起来,在Rust中,char 占4个字节,而一些其他语言只占一个字节。 三、数值类型数

2016-03-15 16:57:24 8089

原创 Rust 的功能函数

一、功能函数Rust 可以包括一个或者多个功能函数。Rust 必须包含一个  main 功能函数,main 功能函数是 Rust 语言执行的入口。二、基本函数的定义功能函数的声明使用 fn , fn 后面跟随功能函数的名称,名称后面带 () 括号 。括号后面用 { } 大括号作为功能函数的函数体。没有输入参数和返回值的 main功能函数定义如下: fn main() {} 没有输入和返回值的

2016-03-14 20:31:28 3961

原创 Rust 中的变量和赋值

一、基本赋值语句先看一段代码 fn main() { let x = 5;} 这是个赋值语句。赋值语句由 let 开始。二、变量类型Rust 默认的类型是 32位 有符号整形所以,上面语句等同于 fn main() { let x: i32 = 5;} x后面跟:冒号,冒号后面的 i ( signed integer)表示有符号整形,32表示是32位的整形。除了i32

2016-03-13 22:37:38 4814

原创 Rust 中的宏

前面说过println! 是一个宏,宏和功能函数很像,只不过在函数名称后面有一个叹号!来写个宏看看:$mkdir macro_test$cd macro_test$vi main.rs macro_rules! say_hello{ ()=>( println!("Hello"); )}fn main(){ say_hello!()} macro_rul

2016-03-13 21:36:54 5407

原创 为AppDelegate分层的面向服务架构的 SOAComponentAppDelegate

名称解释一下:1、SOA是面向服务的架构,所有的第三方功能都被分别封装成服务。2、Component 表示这个类是用于引用的,不能用于继承。是对上一篇《category 分离 AppDelegate代码》的改进。一、首先创建服务类,服务类是对第三方服务的封装。第三方服务包括推送、支付、统计等1、服务举例 BaiduPushService 头文件新创建的服务类需要添加  UIApplicationD

2016-03-12 13:08:14 4248 8

原创 使用category 为 AppDelegate 的代码分层

category是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法。AppDelegate 是iOS app启动的入口,经常需要添加各类的第三方应用,比如:定位服务、统计服务、消息推送服务

2016-03-12 08:43:00 7985 3

原创 Rust 格式输出

格式输出由一系列定义在 std::fmt 中的宏提供。包括:format! : 输出格式化的字符串。print!  : 输出格式化的字符串到控制台(终端)println!: 增加一个换行,输出格式化的字符串到控制台(终端) println!("Guess the number!"); 输出:Guess the number! println!("{} days", 31); 输出:31 d

2016-03-11 15:24:23 3603

原创 Rust的注释

Rust  包括两类,共四种形式的注释。第一类是常规注释,这类注释在编译的时候被忽略掉第一种是行注释,使用双斜线   // // 这是一行注释,一直到行尾第二种是 块注释,使用 /*    *//* 这是    一个    块注释*/第二类是文档注释,用于通过工具生成HTML API文档第一种是行注释,用三个斜线   ////// 这是一个用于生成文档的行注释第二种是块注释,用  //! 两个斜线

2016-03-11 14:27:25 4085

原创 Rust hello world 语法讲解

Rust的hello world代码如下:fn main() { println!("Hello, world!");}1、fn main()fn main(){   }  这句是在 rust 中定义一个功能函数,main 和C语言、java语言里面的main一样,是执行 rust 程序的入口。这里定义的 main 没有输入参数,也没有返回值。功能函数的函数体使用大括号 { } 2、pr

2016-03-10 18:24:56 2711

原创 Rust 的安装和使用举例

一、环境二、安装$curl -sSf https://static.rust-lang.org/rustup.sh | sh Welcome to Rust.This script will download the Rust compiler and its package manager, Cargo, andinstall them to /usr/local. You may in

2016-03-09 22:34:54 7062

原创 Launchctl - mac下的运行管理器

前面的文章提到了 launchctl,我就根据这个线索整理一下。launchctl 是 launchd的控制台(也就是人机交互的终端)用于装载进程、卸载进程并控制launchd。launchctl 也就是launchd的封面,这么说是为了避免让人感到意外,说launchctl怎么跑到launchd上了。launchd时mac os最核心的系统组件之一。Mac OS 系统启动最先做的事就是运行lau

2016-03-06 11:55:38 6028

原创 brew - 可以简单的获取数千种开源工具和函数库的包管理器

一、简介brew是一个使用ruby语言、由非营利组织开发的包管理工具。Homebrew程序提供的brew,严格来讲不是一个OS X的原生命令,但任何一个OS X的专业用户都不会错过它。“OS X缺少的包管理器”这个评价是恰如其分的。如果你曾经在Linux上使用过apt-get,你就会发现Homebrew基本上是一样的。使用brew可以简单的获取数千种开源工具和函数库。例如:brew install

2016-03-06 11:12:08 2136

原创 编译samba遇到need autoconf 2.53 or later to build samba from GIT

在使用Objective-C wrapper for sambaclient的时候,rake 出现编译错误。操作步骤:1、下载2、解压kxsmb3、进入kxsmb目录4、执行 rake错误提示包括 : need autoconf 2.53 or later to build samba from GIT ...解决方法:curl -OL http://ftpmirror.gnu.org/autoc

2016-03-06 09:56:15 2499

转载 Mac 10.10 yosemite 安装samba替代系统samba组件

一、工具 brew1、brew 介绍brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便brew类似ubuntu系统下的apt-get的功能。brew 的官方网站: http://brew.sh/  2、安装brew打开终端,执行下面语句:ruby -e "$(curl -fsSL https://raw.gith

2016-03-05 23:16:38 6192 1

原创 Android 系统提供的主题

android.R.style 列举了系统提供的样式主题。在 xml 文件中,作为属性值使用时,需要将主题名称中的 "_"(短横)改为 .(点)。 Theme The default theme for apps on API level 10 and lower. Theme_Black Variant on Theme that ensures the background

2016-03-02 17:29:07 4303

hosts.deny

不知道为什么不能 0资源分。这是防止到hosts.deny的内容,防止SSH暴力登陆。

2017-11-14

flowable 6.1.2 rest war

flowable 6.1.2 rest war

2017-07-28

RxJava 1.3.0 jar

RxJava 1.3.0 jar,用于搭建最小的RxJava运行环境。运行JDK要求Java 8 以上。

2017-06-30

lame-ios-build.sh

用于编译lame-3.99.5的脚本。 通过此脚本将 lame-3.99.5.tar.gz 编译成armv7 armv7s i386 x86_64 arm64的类库。 将这个脚本放到解压后的 lame-3.99.5目录下,然后更改两个参数: 第一个是 SOURCE:因为这个执行脚本在lame-3.99.5目录下,所以 SOURCE="" 第二个是 SCRATCH # SCRATCH是下载lame源码包,解压后的目录,必须是绝对路径 SCRATCH="/Users/xxx/Downloads/lame-3.99.5" 设置脚本执行权限: chmod 777 lame-build.sh sudo -s ./lame-ios-build.sh 执行完毕后, fat-lame里面是所有平台指令库的合集 thin-lame是各个平台分别的指令库

2016-12-13

lame-3.99.5.tar.gz 最新版

lame-3.99.5.tar.gz是用来在iOS系统进行mp3转码的工具。 这是截止到2016年12月的最新版。 原地址为: http://sourceforge.net/projects/lame/files/lame/3.99/

2016-12-13

jedis-2.7.2.jar工具

jedis,源代码https://github.com/xetorthio/jedis/releases/tag/jedis-2.7.2

2015-07-19

jedis 2.7.2 jar

jedis 2.7.2,java 1.6.0 64环境下编译。 源代码在这里 https://github.com/xetorthio/jedis/releases/tag/jedis-2.7.2

2015-07-19

Apache Commons Pool 2.4.1

Apache Commons Pool 2.4.1,编译 jedis 2.7.2 时候使用。

2015-07-19

lrzsz-0.12.20

Linux远程文件上传和下载工具,可以直接安装在linux操作系统下,方便的通过shell方便的上传和下载文件。

2013-11-22

restlet实现最简单的restful webservice

使用restlet实现了最简单的restful webservice,可以直接部署运行。可以作为restful webservice开发的基础环境。

2013-04-14

XPP3解析XML举例

MyXmlPullApp.java 一个使用XPP3解析XML的例子。 An example of an application that uses XMLPULL V1 API.

2012-06-28

com.db4o-7.7.67 jar包

restlet 2.2 中缺少的jar之一,在例子中使用了这个jar

2012-05-18

jdom jar包

rome 1.0 对用使用的jdom jar包 是restlet 2.2 中缺少的jar之一。

2012-05-18

rome 1.0 jar

目前这应该是最新的版本,常用的还有 rome-0.9 也是restlet 2.2 中缺少的jar

2012-05-18

rome 0.9 jar包

restlet 2.2 j2se 以及 jee都 缺少这个Jar

2012-05-18

JCS 实践

JCS是一个用java编写的分布式缓存系统。它被设计用来加速应用程序,通过提供一个手段来管理多种变化种类的缓存数据。像其它缓存系统一样,JCS对高读(high read)、低放(low put)的应用程序非常有用。<br>JCS超越了简单地在内存中缓存对象的功能。它提供了许多附加的功能: <br>● 内存管理 <br>● 磁盘溢位(和碎片整理) <br>● 线程池控制 <br>● 元素分组 <br>● 最少的依赖 <br>● 快速嵌套的直接了当的删除 <br>● 数据超期(空闲时间和最大文件) <br>● 可扩展的框架 <br>● 完全可配置的运行时参数 <br>● 局部数据分割和配置 <br>● 纤细粒度的元素配置选项 <br>● 远程同步 <br>● 远程存储恢复 <br>● 非阻塞 "zombie" (balking facade(等待外观)) 模式 <br>● 横向的元素分发经由HTTP、TCP或者 UDP <br>● 其它缓存的UDP发现 <br>● 元素事件处理 <br>● 远程服务器链锁(或者说集群)和容错

2008-04-10

JCS简介

JCS是一个用java编写的分布式缓存系统。它被设计用来加速应用程序,通过提供一个手段来管理多种变化种类的缓存数据。像其它缓存系统一样,JCS对高读(high read)、低放(low put)的应用程序非常有用。<br>JCS超越了简单地在内存中缓存对象的功能。它提供了许多附加的功能: <br>● 内存管理 <br>● 磁盘溢位(和碎片整理) <br>● 线程池控制 <br>● 元素分组 <br>● 最少的依赖 <br>● 快速嵌套的直接了当的删除 <br>● 数据超期(空闲时间和最大文件) <br>● 可扩展的框架 <br>● 完全可配置的运行时参数 <br>● 局部数据分割和配置 <br>● 纤细粒度的元素配置选项 <br>● 远程同步 <br>● 远程存储恢复 <br>● 非阻塞 "zombie" (balking facade(等待外观)) 模式 <br>● 横向的元素分发经由HTTP、TCP或者 UDP <br>● 其它缓存的UDP发现 <br>● 元素事件处理 <br>● 远程服务器链锁(或者说集群)和容错

2008-04-10

REST_CN

架构风格与基于网络的软件架构设计

2008-04-07

CMMI DEV V1.2 繁体中文 PDF

CMMI DEV V1.2 繁体中文 PDF

2008-04-04

CMMI DEV V1.2 英文 PDF格式

CMMI DEV V1.2 英文 PDF格式

2008-04-04

CMMI V1.1 简体中文 chm格式

CMMI V1.1 简体中文 chm格式

2008-04-04

servlet 2.5规范

servlet 2.5规范

2008-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除